PageSourceSearch

https://campus.swarma.org/static/CourseStudy-5vVKYHMn.js

js swarma.org collected 2026-10-03 19:31:21 UTC 996,243 bytes, 298 lines download raw bytes

1import{p as sa,o as Fc,a8 as Nc,P as Bo,n as yn,l as tI,m as iI,aM as nI,_ as ta,r as rI,aN as sI,j as fh,ae as av,q as ot,aO as aI,N as Qi,v as ov,t as Je,a as jo,c as re,g as qo,aP as oI,f as lI,aQ as uI,aR as cI,b as Dg,aH as hI,aS as fI,a4 as dI,u as gI,ab as pI,$ as mI,a0 as vI,Z as yI,aj as Nr,y as Br,z as Ae,E as ze,A as fe,I as Si,J as Dr,ap as Ni,C as ve,F as Ht,au as TI,aT as yo,K as vl,L as lv,aU as on,al as Pr,aJ as vs,aV as uv,R as aa,S as yl,D as kt,O as de,G as Oe,H as _a,af as cv,aB as EI,e as jt,aW as _I,a7 as hv,aK as Is,an as dh,ai as fv,aX as dv,ao as gv,aY as pv,aZ as or,a_ as gh,M as ph,a$ as SI,Q as xI,aI as bI,b0 as II,aw as AI,as as CI,b1 as LI,ax as RI}from"./index-DHeeJMhQ.js";import{u as Og,p as Mg,j as kr,a as kI,C as wI,g as PI,P as DI,b as OI,c as MI,e as FI,d as NI,f as BI,h as UI,i as $I}from"./PackagePaymentModal-mPAla3Fs.js";import{s as Fg}from"./course-DdT_mfui.js";import{_ as GI,a as HI}from"./user-DjnzTN6_.js";import{u as VI,f as KI,a as WI,c as YI,C as zI,b as jI,U as qI}from"./CoursePaymentModal-G_q7XiYm.js";import{R as mv}from"./index-CnYKELnr.js";import{S as XI,a as QI,b as ZI}from"./CourseCover-Bz39pnDZ.js";import"./CourseCard-fcLtibw4.js";import"./browser-CwICeKMo.js";const JI=()=>({prefixCls:String,activeKey:Nc([Array,Number,String]),defaultActiveKey:Nc([Array,Number,String]),accordion:yn(),destroyInactivePanel:yn(),bordered:yn(),expandIcon:sa(),openAnimation:Bo.object,expandIconPosition:Fc(),collapsible:Fc(),ghost:yn(),onChange:sa(),"onUpdate:activeKey":sa()}),vv=()=>({openAnimation:Bo.object,prefixCls:String,header:Bo.any,headerClass:String,showArrow:yn(),isActive:yn(),destroyInactivePanel:yn(),disabled:yn(),accordion:yn(),forceRender:yn(),expandIcon:sa(),extra:Bo.any,panelKey:Nc(),collapsible:Fc(),role:String,onItemClick:sa()}),eA=a=>{const{componentCls:e,collapseContentBg:t,padding:n,collapseContentPaddingHorizontal:i,collapseHeaderBg:r,collapseHeaderPadding:s,collapsePanelBorderRadius:o,lineWidth:l,lineType:u,colorBorder:h,colorText:d,colorTextHeading:g,colorTextDisabled:m,fontSize:v,lineHeight:T,marginSM:y,paddingSM:_,motionDurationSlow:x,fontSizeIcon:b}=a,R=`${l}px ${u} ${h}`;return{[e]:ta(ta({},rI(a)),{backgroundColor:r,border:R,borderBottom:0,borderRadius:`${o}px`,"&-rtl":{direction:"rtl"},[`& > ${e}-item`]:{borderBottom:R,"&:last-child":{[`
2            &,
3            & > ${e}-header`]:{borderRadius:`0 0 ${o}px ${o}px`}},[`> ${e}-header`]:{position:"relative",display:"flex",flexWrap:"nowrap",alignItems:"flex-start",padding:s,color:g,lineHeight:T,cursor:"pointer",transition:`all ${x}, visibility 0s`,[`> ${e}-header-text`]:{flex:"auto"},"&:focus":{outline:"none"},[`${e}-expand-icon`]:{height:v*T,display:"flex",alignItems:"center",paddingInlineEnd:y},[`${e}-arrow`]:ta(ta({},sI()),{fontSize:b,svg:{transition:`transform ${x}`}}),[`${e}-header-text`]:{marginInlineEnd:"auto"}},[`${e}-header-collapsible-only`]:{cursor:"default",[`${e}-header-text`]:{flex:"none",cursor:"pointer"},[`${e}-expand-icon`]:{cursor:"pointer"}},[`${e}-icon-collapsible-only`]:{cursor:"default",[`${e}-expand-icon`]:{cursor:"pointer"}},[`&${e}-no-arrow`]:{[`> ${e}-header`]:{paddingInlineStart:_}}},[`${e}-content`]:{color:d,backgroundColor:t,borderTop:R,[`& > ${e}-content-box`]:{padding:`${n}px ${i}px`},"&-hidden":{display:"none"}},[`${e}-item:last-child`]:{[`> ${e}-content`]:{borderRadius:`0 0 ${o}px ${o}px`}},[`& ${e}-item-disabled > ${e}-header`]:{"\n          &,\n          & > .arrow\n        ":{color:m,cursor:"not-allowed"}},[`&${e}-icon-position-end`]:{[`& > ${e}-item`]:{[`> ${e}-header`]:{[`${e}-expand-icon`]:{order:1,paddingInlineEnd:0,paddingInlineStart:y}}}}})}},tA=a=>{const{componentCls:e}=a,t=`> ${e}-item > ${e}-header ${e}-arrow svg`;return{[`${e}-rtl`]:{[t]:{transform:"rotate(180deg)"}}}},iA=a=>{const{componentCls:e,collapseHeaderBg:t,paddingXXS:n,colorBorder:i}=a;return{[`${e}-borderless`]:{backgroundColor:t,border:0,[`> ${e}-item`]:{borderBottom:`1px solid ${i}`},[`
4        > ${e}-item:last-child,
5        > ${e}-item:last-child ${e}-header
6      `]:{borderRadius:0},[`> ${e}-item:last-child`]:{borderBottom:0},[`> ${e}-item > ${e}-content`]:{backgroundColor:"transparent",borderTop:0},[`> ${e}-item > ${e}-content > ${e}-content-box`]:{paddingTop:n}}}},nA=a=>{const{componentCls:e,paddingSM:t}=a;return{[`${e}-ghost`]:{backgroundColor:"transparent",border:0,[`> ${e}-item`]:{borderBottom:0,[`> ${e}-content`]:{backgroundColor:"transparent",border:0,[`> ${e}-content-box`]:{paddingBlock:t}}}}}},rA=tI("Collapse",a=>{const e=iI(a,{collapseContentBg:a.colorBgContainer,collapseHeaderBg:a.colorFillAlter,collapseHeaderPadding:`${a.paddingSM}px ${a.padding}px`,collapsePanelBorderRadius:a.borderRadiusLG,collapseContentPaddingHorizontal:16});return[eA(e),iA(e),nA(e),tA(e),nI(e)]});function Ng(a){let e=a;if(!Array.isArray(e)){const t=typeof e;e=t==="number"||t==="string"?[e]:[]}return e.map(t=>String(t))}const oa=fh({compatConfig:{MODE:3},name:"ACollapse",inheritAttrs:!1,props:av(JI(),{accordion:!1,destroyInactivePanel:!1,bordered:!0,expandIconPosition:"start"}),slots:Object,setup(a,e){let{attrs:t,slots:n,emit:i}=e;const r=ot(Ng(aI([a.activeKey,a.defaultActiveKey])));Qi(()=>a.activeKey,()=>{r.value=Ng(a.activeKey)},{deep:!0});const{prefixCls:s,direction:o,rootPrefixCls:l}=ov("collapse",a),[u,h]=rA(s),d=Je(()=>{const{expandIconPosition:_}=a;return _!==void 0?_:o.value==="rtl"?"end":"start"}),g=_=>{const{expandIcon:x=n.expandIcon}=a,b=x?x(_):re(hI,{rotate:_.isActive?90:void 0},null);return re("div",{class:[`${s.value}-expand-icon`,h.value],onClick:()=>["header","icon"].includes(a.collapsible)&&v(_.panelKey)},[fI(Array.isArray(x)?b[0]:b)?Dg(b,{class:`${s.value}-arrow`},!1):b])},m=_=>{a.activeKey===void 0&&(r.value=_);const x=a.accordion?_[0]:_;i("update:activeKey",x),i("change",x)},v=_=>{let x=r.value;if(a.accordion)x=x[0]===_?[]:[_];else{x=[...x];const b=x.indexOf(_);b>-1?x.splice(b,1):x.push(_)}m(x)},T=(_,x)=>{var b,R,A;if(uI(_))return;const F=r.value,{accordion:w,destroyInactivePanel:M,collapsible:O,openAnimation:P}=a,K=P||cI(`${l.value}-motion-collapse`),ee=String((b=_.key)!==null&&b!==void 0?b:x),{header:le=(A=(R=_.children)===null||R===void 0?void 0:R.header)===null||A===void 0?void 0:A.call(R),headerClass:ae,collapsible:q,disabled:B}=_.props||{};let H=!1;w?H=F[0]===ee:H=F.indexOf(ee)>-1;let Y=q??O;
6(B||B==="")&&(Y="disabled");const Q={key:ee,panelKey:ee,header:le,headerClass:ae,isActive:H,prefixCls:s.value,destroyInactivePanel:M,openAnimation:K,accordion:w,onItemClick:Y==="disabled"?null:v,expandIcon:g,collapsible:Y};return Dg(_,Q)},y=()=>{var _;return lI((_=n.default)===null||_===void 0?void 0:_.call(n)).map(T)};return()=>{const{accordion:_,bordered:x,ghost:b}=a,R=jo(s.value,{[`${s.value}-borderless`]:!x,[`${s.value}-icon-position-${d.value}`]:!0,[`${s.value}-rtl`]:o.value==="rtl",[`${s.value}-ghost`]:!!b,[t.class]:!!t.class},h.value);return u(re("div",qo(qo({class:R},oI(t)),{},{style:t.style,role:_?"tablist":null}),[y()]))}}}),sA=fh({compatConfig:{MODE:3},name:"PanelContent",props:vv(),setup(a,e){let{slots:t}=e;const n=dI(!1);return gI(()=>{(a.isActive||a.forceRender)&&(n.value=!0)}),()=>{var i;if(!n.value)return null;const{prefixCls:r,isActive:s,role:o}=a;return re("div",{class:jo(`${r}-content`,{[`${r}-content-active`]:s,[`${r}-content-inactive`]:!s}),role:o},[re("div",{class:`${r}-content-box`},[(i=t.default)===null||i===void 0?void 0:i.call(t)])])}}}),Xo=fh({compatConfig:{MODE:3},name:"ACollapsePanel",inheritAttrs:!1,props:av(vv(),{showArrow:!0,isActive:!1,onItemClick(){},headerClass:"",forceRender:!1}),slots:Object,setup(a,e){let{slots:t,emit:n,attrs:i}=e;pI(a.disabled===void 0,"Collapse.Panel",'`disabled` is deprecated. Please use `collapsible="disabled"` instead.');const{prefixCls:r}=ov("collapse",a),s=()=>{n("itemClick",a.panelKey)},o=l=>{(l.key==="Enter"||l.keyCode===13||l.which===13)&&s()};return()=>{var l,u;const{header:h=(l=t.header)===null||l===void 0?void 0:l.call(t),headerClass:d,isActive:g,showArrow:m,destroyInactivePanel:v,accordion:T,forceRender:y,openAnimation:_,expandIcon:x=t.expandIcon,extra:b=(u=t.extra)===null||u===void 0?void 0:u.call(t),collapsible:R}=a,A=R==="disabled",F=r.value,w=jo(`${F}-header`,{[d]:d,[`${F}-header-collapsible-only`]:R==="header",[`${F}-icon-collapsible-only`]:R==="icon"}),M=jo({[`${F}-item`]:!0,[`${F}-item-active`]:g,[`${F}-item-disabled`]:A,[`${F}-no-arrow`]:!m,[`${i.class}`]:!!i.class});let O=re("i",{class:"arrow"},null);m&&typeof x=="function"&&(O=x(a));const P=mI(re(sA,{prefixCls:F,isActive:g,forceRender:y,role:T?"tabpanel":null},{default:t.default}),[[vI,g]]),K=ta({appear:!1,css:!1},_);return re("div",qo(qo({},i),{},{class:M}),[re("div",{class:w,onClick:()=>!["header","icon"].includes(R)&&s(),role:T?"tab":"button",tabindex:A?-1:0,"aria-expanded":g,onKeypress:o},[m&&O,re("span",{onClick:()=>R==="header"&&s(),class:`${F}-header-text`},[h]),b&&re("div",{class:`${F}-extra`},[b])]),re(yI,K,{default:()=>[!v||g?P:null]})])}}});oa.Panel=Xo;oa.install=function(a){return a.component(oa.name,oa),a.component(Xo.name,Xo),a};var aA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"};function Bg(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){oA(a,i,t[i])})}return a}function oA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var mh=function(e,t){var n=Bg({},e,t.attrs);return re(Nr,Bg({},n,{icon:aA}),null)};mh.displayName="ArrowLeftOutlined";mh.inheritAttrs=!1;var lA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z"}}]},name:"arrow-down",theme:"outlined"};function Ug(a){for(var e=1;e<arguments.length;
6e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){uA(a,i,t[i])})}return a}function uA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var vh=function(e,t){var n=Ug({},e,t.attrs);return re(Nr,Ug({},n,{icon:lA}),null)};vh.displayName="ArrowDownOutlined";vh.inheritAttrs=!1;var cA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},name:"arrow-up",theme:"outlined"};function $g(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){hA(a,i,t[i])})}return a}function hA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var yh=function(e,t){var n=$g({},e,t.attrs);return re(Nr,$g({},n,{icon:cA}),null)};yh.displayName="ArrowUpOutlined";yh.inheritAttrs=!1;var fA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z"}}]},name:"menu-fold",theme:"outlined"};function Gg(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){dA(a,i,t[i])})}return a}function dA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var Th=function(e,t){var n=Gg({},e,t.attrs);return re(Nr,Gg({},n,{icon:fA}),null)};Th.displayName="MenuFoldOutlined";Th.inheritAttrs=!1;var gA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z"}}]},name:"menu-unfold",theme:"outlined"};function Hg(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){pA(a,i,t[i])})}return a}function pA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var Eh=function(e,t){var n=Hg({},e,t.attrs);return re(Nr,Hg({},n,{icon:gA}),null)};Eh.displayName="MenuUnfoldOutlined";Eh.inheritAttrs=!1;var mA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43
6c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},name:"reload",theme:"outlined"};function Vg(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){vA(a,i,t[i])})}return a}function vA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var _h=function(e,t){var n=Vg({},e,t.attrs);return re(Nr,Vg({},n,{icon:mA}),null)};_h.displayName="ReloadOutlined";_h.inheritAttrs=!1;var yA={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"}}]},name:"undo",theme:"outlined"};function Kg(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))),n.forEach(function(i){TA(a,i,t[i])})}return a}function TA(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var Tl=function(e,t){var n=Kg({},e,t.attrs);return re(Nr,Kg({},n,{icon:yA}),null)};Tl.displayName="UndoOutlined";Tl.inheritAttrs=!1;function EA(a,e,t){const{rawCourseData:n,courseData:i,loading:r,error:s,loadCourse:o,participationApproach:l,hasSeries:u,participationImageUrl:h,mastersData:d,documentData:g,parentPathData:m,interpretationPapersData:v,relatedPapersData:T,learnPathsData:y,recommendationsData:_,catalogData:x,coursePurchaseData:b,paymentData:R,redirectInstruction:A}=Og(a),F=Je(()=>{var He;return((He=i.value)==null?void 0:He.type)===2}),w=Je(()=>{var Pt;const He=n.value;if(!He)return null;if(F.value&&((Pt=He.child_courses)==null?void 0:Pt.length)>0){if(e.value){if(He.child_courses.some(We=>We.id===e.value))return e.value;console.warn(`Lesson ${e.value} not found, falling back to auto-select`)}const _t=Fg(He.child_courses,He.last_study);return(_t==null?void 0:_t.lessonId)||He.child_courses[0].id}return a.value}),M=Je(()=>w.value&&w.value!==a.value),{rawCourseData:O,courseData:P,loading:K,error:ee,participationApproach:le,hasSeries:ae,participationImageUrl:q,mastersData:B,documentData:H,parentPathData:Y,interpretationPapersData:Q,relatedPapersData:ce,learnPathsData:ne,recommendationsData:ue}=Og(Je(()=>M.value?w.value:null)),me=Je(()=>{var Pt;const He=M.value?O.value:n.value;if(!He)return w.value;if(((Pt=He.child_courses)==null?void 0:Pt.length)>0){const _t=t.value?t.value:!F.value&&e.value&&e.value!==a.value?e.value:null;if(_t){if(He.child_courses.some(Ie=>Ie.id===_t))return _t;console.warn(`Section ${_t} not found, falling back to auto-select`)}const be=Fg(He.child_courses,He.last_study);return(be==null?void 0:be.microCourseId)||(be==null?void 0:be.lessonId)||He.child_courses[0].id}return w.value}),Te=Je(()=>me.value===a.value?0:a.value),_e=Je(()=>{var He,Pt;return((He=n.value)==null?void 0:He.is_access)||M.value&&((Pt=O.value)==null?void 0:Pt.is_access)}),Re=Je(()=>{if(F.value)return x.value;const He=M.value?O.value:n.value;return He!=null&&He.child_courses?{courses:He.child_courses}:{courses:[]}}),Qe=(He,Pt)=>Je(()=>M.value?Pt.value:He.value),Ge=Je(()=>r.value||M.value&&K.value),pt=Je(()=>s.value||M.value&&ee.value),Xt=()=>{o()};return{courseInfo:Je(()=>{var be,We;const He=i.value,Pt=M.value?P.value:i.value,_t=[(be=n.value)==null?void 0:be.session,(We=O.value)==null?void 0:We.session].find(Ie=>(Ie==null?void 0:Ie.start_date)&&(Ie==null?void 0:Ie.start_time)&&(Ie==null?void 0:Ie.end_time));return{id:a.value,mainCourse:He,lessonCourse:Pt,isGroupCourse:F.value,participationApproach:l.value||le.value,hasSeries:!!(u.value||ae.value),participationImageUrl:q.value||h.value,startDateTime:_t?Mg(_t.start_date,_t.start_time):null,endD
6ateTime:_t?Mg(_t.start_date,_t.end_time):null}}),playCourseId:Je(()=>me.value),playParentCourseId:Je(()=>Te.value),studyConfig:Je(()=>({catalog:Re.value,permission:_e.value,purchase:b.value,payment:R.value})),mastersData:Qe(d,B),documentData:Qe(g,H),parentPathData:Qe(m,Y),interpretationPapersData:Qe(v,Q),relatedPapersData:Qe(T,ce),learnPathsData:Qe(y,ne),recommendationsData:Qe(_,ue),loading:Ge,error:pt,loadCourses:Xt,redirectInstruction:A}}const _A=["onClick"],SA={class:"chapter-title"},xA={key:0,class:"chapter-status"},bA={key:0,class:"lesson-list"},IA=["onClick"],AA={class:"lesson-title"},CA={key:0,class:"lesson-status"},LA={__name:"CourseStudyCatalogPanel",props:{chapters:{type:Array,default:()=>[]},visible:{type:Boolean,default:!0},currentLessonId:{type:[Number,String],default:null}},emits:["select-course","close"],setup(a,{emit:e}){const t=a,n=e,i=Je(()=>t.chapters&&t.chapters.length>0),r=u=>!t.currentLessonId||!u?!1:Number(t.currentLessonId)===Number(u),s=u=>r(u.id)?!0:u.child_courses&&u.child_courses.length>0?u.child_courses.some(h=>r(h.id)):!1,o=(u,h=null)=>{n("select-course",{courseId:u.id,parentCourseId:(h==null?void 0:h.id)||null})},l=u=>{if(!u)return"0分0秒";const h=Math.floor(u/60),d=u%60;return h>0?`${h}小时${d}分钟`:`${d}分钟`};return(u,h)=>i.value?(fe(),Ae("div",{key:0,class:Ni(["chapter-catalog",{visible:a.visible}])},[(fe(!0),Ae(Si,null,Dr(a.chapters,(d,g)=>(fe(),Ae("div",{key:d.id,class:Ni(["chapter-item",{active:s(d)}])},[ve("div",{class:Ni(["chapter-header",{"current-playing":r(d.id)}]),onClick:m=>o(d)},[ve("span",SA,"第"+Ht(g+1)+"章 "+Ht(d.title)+" ("+Ht(l(d.duration))+")",1),r(d.id)?(fe(),Ae("span",xA,"正在播放")):ze("",!0)],10,_A),d.child_courses&&d.child_courses.length>0?(fe(),Ae("ul",bA,[(fe(!0),Ae(Si,null,Dr(d.child_courses,(m,v)=>(fe(),Ae("li",{key:m.id,class:Ni(["lesson-item",{active:r(m.id),"current-playing":r(m.id)}]),onClick:TI(T=>o(m,d),["stop"])},[ve("span",AA,"第"+Ht(v+1)+"节 "+Ht(m.title)+" ("+Ht(l(m.duration))+")",1),r(m.id)?(fe(),Ae("span",CA,"正在播放")):ze("",!0)],10,IA))),128))])):ze("",!0)],2))),128))],2)):ze("",!0)}},RA=Br(LA,[["__scopeId","data-v-c2894a22"]]);function yv(a){if(!a||isNaN(a))return"00:00:00";const e=Math.floor(a/3600),t=Math.floor(a%3600/60),n=Math.floor(a%60);return[e,t,n].map(i=>i.toString().padStart(2,"0")).join(":")}var ia={exports:{}};/**
7 * @license
8 * Lodash <https://lodash.com/>
9 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
10 * Released under MIT license <https://lodash.com/license>
11 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13 */var kA=ia.exports,Wg;function wA(){return Wg||(Wg=1,function(a,e){(function(){var t,n="4.17.21",i=200,r="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",o="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",u=500,h="__lodash_placeholder__",d=1,g=2,m=4,v=1,T=2,y=1,_=2,x=4,b=8,R=16,A=32,F=64,w=128,M=256,O=512,P=30,K="...",ee=800,le=16,ae=1,q=2,B=3,H=1/0,Y=9007199254740991,Q=17976931348623157e292,ce=NaN,ne=4294967295,ue=ne-1,me=ne>>>1,Te=[["ary",w],["bind",y],["bindKey",_],["curry",b],["curryRight",R],["flip",O],["partial",A],["partialRight",F],["rearg",M]],_e="[object Arguments]",Re="[object Array]",Qe="[object AsyncFunction]",Ge="[object Boolean]",pt="[object Date]",Xt="[object DOMException]",He="[object Error]",Pt="[object Function]",_t="[object GeneratorFunction]",be="[object Map]",We="[object Number]",Ie="[object Null]",nt="[object Object]",Dt="[object Promise]",Ut="[object Proxy]",Tt="[object RegExp]",ht="[object Set]",Kt="[object String]",J="[object Symbol]",oe="[object Undefined]",Ue="[object WeakMap]",ke="[object WeakSet]",ft="[object ArrayBuffer]",Ct="[object DataView]",bi="[object Float32Array]",Kn="[object Float64Array]",Gi="[object Int8Array]",ks="[object Int16Array]",ws="[object Int32Array]",Hr="[object Uint8Array]",Ps="[object Uint8ClampedArray]",Ds="[object Uint16Array]",Os="[object Uint32Array]",kl=/\b__p \+= '';/g,wl=/\b(__p \+=) '' \+/g,Pl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ms=/&(?:amp|lt|gt|quot|#39);/g,Fs=/[&<>"']/g,ui=RegExp(Ms.source),Dl=RegExp(Fs.source),qe=/<%-([\s\S]+?)%>/g,Ns=/<%([\s\S]+?)%>/g,Qt=/<%=([\s\S]+?)%>/g,Aa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ca=/^\w*$/,La=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Vr=/[\\^$.*+?()[\]{}|]/g,Py=RegExp(Vr.source),Ol=/^\s+/,Dy=/\s/,Oy=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,My=/\{\n\/\* \[wrapped with (.+)\] \*/,Fy=/,? & /,Ny=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,By=/[()=,{}\[\]\/\s]/,Uy=/\\(\\)?/g,$y=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,of=/\w*$/,Gy=/^[-+]0x[0-9a-f]+$/i,Hy=/^0b[01]+$/i,Vy=/^\[object .+?Constructor\]$/,Ky=/^0o[0-7]+$/i,Wy=/^(?:0|[1-9]\d*)$/,Yy=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u01
vendor: 4,132 bytes, line 13
137f]/g,Ra=/($^)/,zy=/['\n\r\u2028\u2029\\]/g,ka="\\ud800-\\udfff",jy="\\u0300-\\u036f",qy="\\ufe20-\\ufe2f",Xy="\\u20d0-\\u20ff",lf=jy+qy+Xy,uf="\\u2700-\\u27bf",cf="a-z\\xdf-\\xf6\\xf8-\\xff",Qy="\\xac\\xb1\\xd7\\xf7",Zy="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Jy="\\u2000-\\u206f",eT=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",hf="A-Z\\xc0-\\xd6\\xd8-\\xde",ff="\\ufe0e\\ufe0f",df=Qy+Zy+Jy+eT,Ml="['’]",tT="["+ka+"]",gf="["+df+"]",wa="["+lf+"]",pf="\\d+",iT="["+uf+"]",mf="["+cf+"]",vf="[^"+ka+df+pf+uf+cf+hf+"]",Fl="\\ud83c[\\udffb-\\udfff]",nT="(?:"+wa+"|"+Fl+")",yf="[^"+ka+"]",Nl="(?:\\ud83c[\\udde6-\\uddff]){2}",Bl="[\\ud800-\\udbff][\\udc00-\\udfff]",Kr="["+hf+"]",Tf="\\u200d",Ef="(?:"+mf+"|"+vf+")",rT="(?:"+Kr+"|"+vf+")",_f="(?:"+Ml+"(?:d|ll|m|re|s|t|ve))?",Sf="(?:"+Ml+"(?:D|LL|M|RE|S|T|VE))?",xf=nT+"?",bf="["+ff+"]?",sT="(?:"+Tf+"(?:"+[yf,Nl,Bl].join("|")+")"+bf+xf+")*",aT="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",oT="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",If=bf+xf+sT,lT="(?:"+[iT,Nl,Bl].join("|")+")"+If,uT="(?:"+[yf+wa+"?",wa,Nl,Bl,tT].join("|")+")",cT=RegExp(Ml,"g"),hT=RegExp(wa,"g"),Ul=RegExp(Fl+"(?="+Fl+")|"+uT+If,"g"),fT=RegExp([Kr+"?"+mf+"+"+_f+"(?="+[gf,Kr,"$"].join("|")+")",rT+"+"+Sf+"(?="+[gf,Kr+Ef,"$"].join("|")+")",Kr+"?"+Ef+"+"+_f,Kr+"+"+Sf,oT,aT,pf,lT].join("|"),"g"),dT=RegExp("["+Tf+ka+lf+ff+"]"),gT=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,pT=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],mT=-1,Lt={};Lt[bi]=Lt[Kn]=Lt[Gi]=Lt[ks]=Lt[ws]=Lt[Hr]=Lt[Ps]=Lt[Ds]=Lt[Os]=!0,Lt[_e]=Lt[Re]=Lt[ft]=Lt[Ge]=Lt[Ct]=Lt[pt]=Lt[He]=Lt[Pt]=Lt[be]=Lt[We]=Lt[nt]=Lt[Tt]=Lt[ht]=Lt[Kt]=Lt[Ue]=!1;var At={};At[_e]=At[Re]=At[ft]=At[Ct]=At[Ge]=At[pt]=At[bi]=At[Kn]=At[Gi]=At[ks]=At[ws]=At[be]=At[We]=At[nt]=At[Tt]=At[ht]=At[Kt]=At[J]=At[Hr]=At[Ps]=At[Ds]=At[Os]=!0,At[He]=At[Pt]=At[Ue]=!1;var vT={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},yT={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},TT={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},ET={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},_T=parseFloat,ST=parseInt,Af=typeof yo=="object"&&yo&&yo.Object===Object&&yo,xT=typeof self=="object"&&self&&self.Object===Object&&self,ei=Af||xT||Function("return this")(),$l=e&&!e.nodeType&&e,vr=$l&&!0&&a&&!a.nodeType&&a,Cf=vr&&vr.exports===$l,Gl=Cf&&Af.process,Hi=function(){try{var U=vr&&vr.require&&vr.require("util").t
vendor: 9,850 bytes, line 13
13ypes;return U||Gl&&Gl.binding&&Gl.binding("util")}catch{}}(),Lf=Hi&&Hi.isArrayBuffer,Rf=Hi&&Hi.isDate,kf=Hi&&Hi.isMap,wf=Hi&&Hi.isRegExp,Pf=Hi&&Hi.isSet,Df=Hi&&Hi.isTypedArray;function Ii(U,X,z){switch(z.length){case 0:return U.call(X);case 1:return U.call(X,z[0]);case 2:return U.call(X,z[0],z[1]);case 3:return U.call(X,z[0],z[1],z[2])}return U.apply(X,z)}function bT(U,X,z,Ee){for(var Ke=-1,ct=U==null?0:U.length;++Ke<ct;){var Wt=U[Ke];X(Ee,Wt,z(Wt),U)}return Ee}function Vi(U,X){for(var z=-1,Ee=U==null?0:U.length;++z<Ee&&X(U[z],z,U)!==!1;);return U}function IT(U,X){for(var z=U==null?0:U.length;z--&&X(U[z],z,U)!==!1;);return U}function Of(U,X){for(var z=-1,Ee=U==null?0:U.length;++z<Ee;)if(!X(U[z],z,U))return!1;return!0}function Wn(U,X){for(var z=-1,Ee=U==null?0:U.length,Ke=0,ct=[];++z<Ee;){var Wt=U[z];X(Wt,z,U)&&(ct[Ke++]=Wt)}return ct}function Pa(U,X){var z=U==null?0:U.length;return!!z&&Wr(U,X,0)>-1}function Hl(U,X,z){for(var Ee=-1,Ke=U==null?0:U.length;++Ee<Ke;)if(z(X,U[Ee]))return!0;return!1}function Rt(U,X){for(var z=-1,Ee=U==null?0:U.length,Ke=Array(Ee);++z<Ee;)Ke[z]=X(U[z],z,U);return Ke}function Yn(U,X){for(var z=-1,Ee=X.length,Ke=U.length;++z<Ee;)U[Ke+z]=X[z];return U}function Vl(U,X,z,Ee){var Ke=-1,ct=U==null?0:U.length;for(Ee&&ct&&(z=U[++Ke]);++Ke<ct;)z=X(z,U[Ke],Ke,U);return z}function AT(U,X,z,Ee){var Ke=U==null?0:U.length;for(Ee&&Ke&&(z=U[--Ke]);Ke--;)z=X(z,U[Ke],Ke,U);return z}function Kl(U,X){for(var z=-1,Ee=U==null?0:U.length;++z<Ee;)if(X(U[z],z,U))return!0;return!1}var CT=Wl("length");function LT(U){return U.split("")}function RT(U){return U.match(Ny)||[]}function Mf(U,X,z){var Ee;return z(U,function(Ke,ct,Wt){if(X(Ke,ct,Wt))return Ee=ct,!1}),Ee}function Da(U,X,z,Ee){for(var Ke=U.length,ct=z+(Ee?1:-1);Ee?ct--:++ct<Ke;)if(X(U[ct],ct,U))return ct;return-1}function Wr(U,X,z){return X===X?GT(U,X,z):Da(U,Ff,z)}function kT(U,X,z,Ee){for(var Ke=z-1,ct=U.length;++Ke<ct;)if(Ee(U[Ke],X))return Ke;return-1}function Ff(U){return U!==U}function Nf(U,X){var z=U==null?0:U.length;return z?zl(U,X)/z:ce}function Wl(U){return function(X){return X==null?t:X[U]}}function Yl(U){return function(X){return U==null?t:U[X]}}function Bf(U,X,z,Ee,Ke){return Ke(U,function(ct,Wt,St){z=Ee?(Ee=!1,ct):X(z,ct,Wt,St)}),z}function wT(U,X){var z=U.length;for(U.sort(X);z--;)U[z]=U[z].value;return U}function zl(U,X){for(var z,Ee=-1,Ke=U.length;++Ee<Ke;){var ct=X(U[Ee]);ct!==t&&(z=z===t?ct:z+ct)}return z}function jl(U,X){for(var z=-1,Ee=Array(U);++z<U;)Ee[z]=X(z);return Ee}function PT(U,X){return Rt(X,function(z){return[z,U[z]]})}function Uf(U){return U&&U.slice(0,Vf(U)+1).replace(Ol,"")}function Ai(U){return function(X){return U(X)}}function ql(U,X){return Rt(X,function(z){return U[z]})}function Bs(U,X){return U.has(X)}function $f(U,X){for(var z=-1,Ee=U.length;++z<Ee&&Wr(X,U[z],0)>-1;);return z}function Gf(U,X){for(var z=U.length;z--&&Wr(X,U[z],0)>-1;);return z}function DT(U,X){for(var z=U.length,Ee=0;z--;)U[z]===X&&++Ee;return Ee}var OT=Yl(vT),MT=Yl(yT);function FT(U){return"\\"+ET[U]}function NT(U,X){return U==null?t:U[X]}function Yr(U){return dT.test(U)}function BT(U){return gT.test(U)}function UT(U){for(var X,z=[];!(X=U.next()).done;)z.push(X.value);return z}function Xl(U){var X=-1,z=Array(U.size);return U.forEach(function(Ee,Ke){z[++X]=[Ke,Ee]}),z}function Hf(U,X){return function(z){return U(X(z))}}function zn(U,X){for(var z=-1,Ee=U.length,Ke=0,ct=[];++z<Ee;){var Wt=U[z];(Wt===X||Wt===h)&&(U[z]=h,ct[Ke++]=z)}return ct}function Oa(U){var X=-1,z=Array(U.size);return U.forEach(function(Ee){z[++X]=Ee}),z}function $T(U){var X=-1,z=Array(U.size);return U.forEach(function(Ee){z[++X]=[Ee,Ee]}),z}function GT(U,X,z){for(var Ee=z-1,Ke=U.length;++Ee<Ke;)if(U[Ee]===X)return Ee;return-1}function HT(U,X,z){for(var Ee=z+1;Ee--;)if(U[Ee]===X)return Ee;return Ee}function zr(U){return Yr(U)?KT(U):CT(U)}function en(U){return Yr(U)?WT(U):LT(U)}function Vf(U){for(var X=U.length;X--&&Dy.test(U.charAt(X)););return X}var VT=Yl(TT);function KT(U){for(var X=Ul.lastIndex=0;Ul.test(U);)++X;return X}function WT(U){return U.match(Ul)||[]}function YT(U){return U.match(fT)||[]}var zT=function U(X){X=X==null?ei:jr.defaults(ei.Object(),X,jr.pick(ei,pT));var z=X.Array,Ee=X.Date,Ke=X.Error,ct=X.Function,Wt=X.Math,St=X.Object,Ql=X.RegExp,jT=X.String,Ki=X.TypeError,Ma=z.prototype,qT=ct.prototype,qr=St.prototype,Fa=X["__core-js_shared__"],Na=qT.toString,mt=qr.hasOwnProperty,XT=0,Kf=function(){var c=/[^.]+$/.exec(Fa&&Fa.keys&&Fa.keys.IE_PROTO||"");return c?"Symbol(src)_1."+c:""}(),Ba=qr.toString,QT=Na.call(St),ZT=ei._,JT=Ql("^"+Na.call(mt).replace(Vr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ua=Cf?X.Buffer:t,jn=X.Symbol,$a=X.Uint8Array,Wf=Ua?Ua.allocUnsafe:t,Ga=Hf(St.getPrototypeOf,St),Yf=St.create,zf=qr.propertyIsEnumerable,Ha=Ma.splice,jf=jn?jn.isConcatSpreadable:t,Us=jn?jn.iterator:t,yr=jn?jn.toStringTag:t,Va=function(){try{var c=xr(St,"defineProperty");return c({},"",{}),c}catch{}}(),eE=X.clearTimeout!==ei.clearTimeout&&X.clearTimeout,tE=Ee&&Ee.now!==ei.Date.now&&Ee.now,iE=X.setTimeout!==ei.setTimeout&&X.setTimeout,Ka=Wt.ceil,Wa=Wt.floor,Zl=St.getOwnPropertySymbols,nE=Ua?Ua.isBuffer:t,qf=X.isFinite,rE=Ma.join,sE=Hf(St.keys,St),Yt=Wt.max,ai=Wt.min,aE=Ee.now,oE=X.parseInt,Xf=Wt.random,lE=Ma.reverse,Jl=xr(X,"DataView"),$s=xr(X,"Map"),eu=xr(X,"Promise"),Xr=xr(X,"Set"),Gs=xr(X,"WeakMap"),Hs=xr(St,"create"),Ya=Gs&&new Gs,Qr={},uE=br(Jl),cE=br($s),hE=br(eu),fE=br(Xr),dE=br(Gs),za=jn?jn.prototype:t,Vs=za?za.valueOf:t,Qf=za?za.toString:t;function L(c){if(Nt(c)&&!Ye(c)&&!(c instanceof st)){if(c instanceof Wi)return c;if(mt.call(c,"__wrapped__"))return Zd(c)}return new Wi(c)}var Zr=function(){function c(){}return function(f){if(!Ot(f))return{};if(Yf)return Yf(f);c.prototype=f;var p=new c;return c.prototype=t,p}}();function ja(){}function Wi(c,f){this.__wrapped__=c,this.__actions__=[],this.__chain__=!!f,this.__index__=0,this.__values__=t}L.templateSettings={escape:qe,evaluate:Ns,interpolate:Qt,variable:"",imports:{_:L}},L.prototype=ja.prototype,L.prototype.constructor=L,Wi.prototype=Zr(ja.prototype),Wi.prototype.constructor=Wi;function st(c){this.__wrapped__=c,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ne,this.__views__=[]}function gE(){var c=new st(this.__wrapped__);return c.__actions__=mi(this.__actions__),c.__dir__=this.__dir__,c.__filtered__=this.__filtered__,c.__iteratees__=mi(this.__iteratees__),c.__takeCount__=this.__takeCount__,c.__views__=mi(this.__views__),c}function pE(){if(this.__filtered__){var c=new st(this);c.__dir__=-1,c.__filtered__=!0}else c=this.clone(),c.__dir__*=-1;return c}function mE(){var c=this.__wrapped__.value(),f=this.__dir__,p=Ye(c),E=f<0,I=p?c.length:0,k=L_(0,I,this.__views__),D=k.start,N=k.end,$=N-D,te=E?N:D-1,ie=this.__iteratees__,se=ie.length,ge=0,xe=ai($,this.__takeCount__);if(!p||!E&&I==$&&xe==$)return _d(c,this.__actions__);var Pe=[];e:for(;$--&&ge<xe;){te+=f;for(var Xe=-1,De=c[te];++Xe<se;){var rt=ie[Xe],at=rt.iteratee,Ri=rt.type,fi=at(De);if(Ri==q)De=fi;else if(!fi){if(Ri==ae)continue e;break e}}Pe[ge++]=De}return Pe}st.prototype=Zr(ja.prototype),st.prototype.constructor=st;function Tr(c){var f=-1,p=c==null?0:c.length;for(this.clear();++f<p;){var E=c[f];this.set(E[0],E[1])}}function vE(){this.__data__=Hs?Hs(null):{},this.size=0}function yE(c){var f=this.has(c)&&delete this.__data__[c];return this.size-=f?1:0,f}function TE(c){var f=this.__data__;if(Hs){var p=f[c];return p===l?t:p}return mt.call(f,c)?f[c]:t}function EE(c){var f=this.__data__;return Hs?f[c]!==t:mt.call(f,c)}function _E(c,f){var p=this.__data__;return this.size+=this.has(c)?0:1,p[c]=Hs&&f===t?l:f,this}Tr.prototype.clear=vE,Tr.prototype.delete=yE,Tr.prototype.get=TE,Tr.prototype.has=EE,Tr.prototype.set=_E;function An(c){var f=-1,p=c==null?0:c.length;for(this.clear();++f<p;){var E=c[f];this.set(E[0],E[1])}}function SE(){this.__data__=[],this.size=0}function xE(c){var f=this.__data__,p=qa(f,c);if(p<0)return!1;var E=f.length-1;return p==E?f.pop():Ha.call(f,p,1),--this.size,!0}function bE(c){var f=this.__data__,p=qa(f,c);return p<0?t:f[p][1]}function IE(c){return qa(this.__data__,c)>-1}function AE(c,f){var p=this.__data__,E=qa(p,c);return E<0?(++this.size,p.push([c,f])):p[E][1]=f,this}An.prototype.clear=SE,An.prototype.delete=xE,An.prototype.get=bE,An.prototype.has=IE,An.prototype.set=AE;function Cn(c){var f=-1,p=c==null?0:c.length;for(this.clear();++f<p;){var E=c[f];this.set(E[0],E[1])}}function CE(){this.size=0,this.__data__={hash:new Tr,map:new($s||An),string:new Tr}}function LE(c){var f=oo(this,c).delete(c);return this.size-=f?1:0,f}function RE(c){return oo(this,c).get(c)}function kE(c){return oo(this,c).has(c)}function wE(c,f){var p=oo(this,c),E=p.size;return p.set(c,f),this.size+=p.size==E?0:1,this}Cn.prototype.clear=CE,Cn.prototype.delete=LE,Cn.prototype.get=RE,Cn.prototype.has=kE,Cn.prototype.set=wE;function Er(c){var f=-1,p=c==null?0:c.length;for(this.__data__=new Cn;++f<p;)this.add(c[f])}function PE(c){return this.__data__.set(c,l),this}function DE(c){return this.__data__.has(c)}Er.prototype.add=Er.prototype.push=PE,Er.prototype.has=DE;function tn(c){var f=this.__data__=new An(c);this.size=f.size}function OE(){this.__data__=new An,this.size=0}function ME(c){var f=this.__data__,p=f.delete(c);return this.size=f.size,p}function FE(c){return this.__data__.get(c)}function NE(c){return this.__data__.has(c)}function BE(c,f){var p=this.__data__;if(p instanceof An){var E=p.__data__;if(!$s||E.length<i-1)return E.push([c,f]),this.size=++p.size,this;p=this.__data__=new Cn(E)}return p.set(c,f),this.size=p.size,this}tn.prototype.clear=OE,tn.prototype.delete=ME,tn.prototype.get=FE,tn.prototype.has=NE,tn.prototype.set=BE;function Zf(c,f){var p=Ye(c),E=!p&&Ir(c),I=!p&&!E&&Jn(c),k=!p&&!E&&!I&&is(c),D=p||E||I||k,N=D?jl(c.length,jT):[],$=N.length;
vendor: 4,553 bytes, line 13
13for(var te in c)(f||mt.call(c,te))&&!(D&&(te=="length"||I&&(te=="offset"||te=="parent")||k&&(te=="buffer"||te=="byteLength"||te=="byteOffset")||wn(te,$)))&&N.push(te);return N}function Jf(c){var f=c.length;return f?c[hu(0,f-1)]:t}function UE(c,f){return lo(mi(c),_r(f,0,c.length))}function $E(c){return lo(mi(c))}function tu(c,f,p){(p!==t&&!nn(c[f],p)||p===t&&!(f in c))&&Ln(c,f,p)}function Ks(c,f,p){var E=c[f];(!(mt.call(c,f)&&nn(E,p))||p===t&&!(f in c))&&Ln(c,f,p)}function qa(c,f){for(var p=c.length;p--;)if(nn(c[p][0],f))return p;return-1}function GE(c,f,p,E){return qn(c,function(I,k,D){f(E,I,p(I),D)}),E}function ed(c,f){return c&&cn(f,Zt(f),c)}function HE(c,f){return c&&cn(f,yi(f),c)}function Ln(c,f,p){f=="__proto__"&&Va?Va(c,f,{configurable:!0,enumerable:!0,value:p,writable:!0}):c[f]=p}function iu(c,f){for(var p=-1,E=f.length,I=z(E),k=c==null;++p<E;)I[p]=k?t:Fu(c,f[p]);return I}function _r(c,f,p){return c===c&&(p!==t&&(c=c<=p?c:p),f!==t&&(c=c>=f?c:f)),c}function Yi(c,f,p,E,I,k){var D,N=f&d,$=f&g,te=f&m;if(p&&(D=I?p(c,E,I,k):p(c)),D!==t)return D;if(!Ot(c))return c;var ie=Ye(c);if(ie){if(D=k_(c),!N)return mi(c,D)}else{var se=oi(c),ge=se==Pt||se==_t;if(Jn(c))return bd(c,N);if(se==nt||se==_e||ge&&!I){if(D=$||ge?{}:Vd(c),!N)return $?T_(c,HE(D,c)):y_(c,ed(D,c))}else{if(!At[se])return I?c:{};D=w_(c,se,N)}}k||(k=new tn);var xe=k.get(c);if(xe)return xe;k.set(c,D),yg(c)?c.forEach(function(De){D.add(Yi(De,f,p,De,c,k))}):mg(c)&&c.forEach(function(De,rt){D.set(rt,Yi(De,f,p,rt,c,k))});var Pe=te?$?Su:_u:$?yi:Zt,Xe=ie?t:Pe(c);return Vi(Xe||c,function(De,rt){Xe&&(rt=De,De=c[rt]),Ks(D,rt,Yi(De,f,p,rt,c,k))}),D}function VE(c){var f=Zt(c);return function(p){return td(p,c,f)}}function td(c,f,p){var E=p.length;if(c==null)return!E;for(c=St(c);E--;){var I=p[E],k=f[I],D=c[I];if(D===t&&!(I in c)||!k(D))return!1}return!0}function id(c,f,p){if(typeof c!="function")throw new Ki(s);return Qs(function(){c.apply(t,p)},f)}function Ws(c,f,p,E){var I=-1,k=Pa,D=!0,N=c.length,$=[],te=f.length;if(!N)return $;p&&(f=Rt(f,Ai(p))),E?(k=Hl,D=!1):f.length>=i&&(k=Bs,D=!1,f=new Er(f));e:for(;++I<N;){var ie=c[I],se=p==null?ie:p(ie);if(ie=E||ie!==0?ie:0,D&&se===se){for(var ge=te;ge--;)if(f[ge]===se)continue e;$.push(ie)}else k(f,se,E)||$.push(ie)}return $}var qn=Rd(un),nd=Rd(ru,!0);function KE(c,f){var p=!0;return qn(c,function(E,I,k){return p=!!f(E,I,k),p}),p}function Xa(c,f,p){for(var E=-1,I=c.length;++E<I;){var k=c[E],D=f(k);if(D!=null&&(N===t?D===D&&!Li(D):p(D,N)))var N=D,$=k}return $}function WE(c,f,p,E){var I=c.length;for(p=je(p),p<0&&(p=-p>I?0:I+p),E=E===t||E>I?I:je(E),E<0&&(E+=I),E=p>E?0:Eg(E);p<E;)c[p++]=f;return c}function rd(c,f){var p=[];return qn(c,function(E,I,k){f(E,I,k)&&p.push(E)}),p}function ti(c,f,p,E,I){var k=-1,D=c.length;for(p||(p=D_),I||(I=[]);++k<D;){var N=c[k];f>0&&p(N)?f>1?ti(N,f-1,p,E,I):Yn(I,N):E||(I[I.length]=N)}return I}var nu=kd(),sd=kd(!0);function un(c,f){return c&&nu(c,f,Zt)}function ru(c,f){return c&&sd(c,f,Zt)}function Qa(c,f){return Wn(f,function(p){return Pn(c[p])})}function Sr(c,f){f=Qn(f,c);for(var p=0,E=f.length;c!=null&&p<E;)c=c[hn(f[p++])];return p&&p==E?c:t}function ad(c,f,p){var E=f(c);return Ye(c)?E:Yn(E,p(c))}function ci(c){return c==null?c===t?oe:Ie:yr&&yr in St(c)?C_(c):$_(c)}function su(c,f){return c>f}function YE(c,f){return c!=null&&mt.call(c,f)}function zE(c,f){return c!=null&&f in St(c)}function jE(c,f,p){return c>=ai(f,p)&&c<Yt(f,p)}function au(c,f,p){for(var E=p?Hl:Pa,I=c[0].length,k=c.length,D=k,N=z(k),$=1/0,te=[];D--;){var ie=c[D];D&&f&&(ie=Rt(ie,Ai(f))),$=ai(ie.length,$),N[D]=!p&&(f||I>=120&&ie.length>=120)?new Er(D&&ie):t}ie=c[0];var se=-1,ge=N[0];e:for(;++se<I&&te.length<$;){var xe=ie[se],Pe=f?f(xe):xe;if(xe=p||xe!==0?xe:0,!(ge?Bs(ge,Pe):E(te,Pe,p))){for(D=k;--D;){var Xe=N[D];if(!(Xe?Bs(Xe,Pe):E(c[D],Pe,p)))continue e}ge&&ge.push(Pe),te.push(xe)}}return te}function qE(c,f,p,E){return un(c,function(I,k,D){f(E,p(I),k,D)}),E}function Ys(c,f,p){f=Qn(f,c),c=zd(c,f);var E=c==null?c:c[hn(ji(f))];return E==null?t:Ii(E,c,p)}function od(c){return Nt(c)&&ci(c)==_e}function XE(c){return Nt(c)&&ci(c)==ft}function QE(c){return Nt(c)&&ci(c)==pt}function zs(c,f,p,E,I){return c===f?!0:c==null||f==null||!Nt(c)&&!Nt(f)?c!==c&&f!==f:ZE(c,f,p,E,zs,I)}function ZE(c,f,p,E,I,k){var D=Ye(c),N=Ye(f),$=D?Re:oi(c),te=N?Re:oi(f);$=$==_e?nt:$,te=te==_e?nt:te;var ie=$==nt,se=te==nt,ge=$==te;if(ge&&Jn(c)){if(!Jn(f))return!1;D=!0,ie=!1}if(ge&&!ie)return k||(k=new tn),D||is(c)?$d(c,f,p,E,I,k):I_(c,f,$,p,E,I,k);if(!(p&v)){var xe=ie&&mt.call(c,"__wrapped__"),Pe=se&&mt.call(f,"__wrapped__");
vendor: 5,484 bytes, line 13
13if(xe||Pe){var Xe=xe?c.value():c,De=Pe?f.value():f;return k||(k=new tn),I(Xe,De,p,E,k)}}return ge?(k||(k=new tn),A_(c,f,p,E,I,k)):!1}function JE(c){return Nt(c)&&oi(c)==be}function ou(c,f,p,E){var I=p.length,k=I,D=!E;if(c==null)return!k;for(c=St(c);I--;){var N=p[I];if(D&&N[2]?N[1]!==c[N[0]]:!(N[0]in c))return!1}for(;++I<k;){N=p[I];var $=N[0],te=c[$],ie=N[1];if(D&&N[2]){if(te===t&&!($ in c))return!1}else{var se=new tn;if(E)var ge=E(te,ie,$,c,f,se);if(!(ge===t?zs(ie,te,v|T,E,se):ge))return!1}}return!0}function ld(c){if(!Ot(c)||M_(c))return!1;var f=Pn(c)?JT:Vy;return f.test(br(c))}function e_(c){return Nt(c)&&ci(c)==Tt}function t_(c){return Nt(c)&&oi(c)==ht}function i_(c){return Nt(c)&&po(c.length)&&!!Lt[ci(c)]}function ud(c){return typeof c=="function"?c:c==null?Ti:typeof c=="object"?Ye(c)?fd(c[0],c[1]):hd(c):wg(c)}function lu(c){if(!Xs(c))return sE(c);var f=[];for(var p in St(c))mt.call(c,p)&&p!="constructor"&&f.push(p);return f}function n_(c){if(!Ot(c))return U_(c);var f=Xs(c),p=[];for(var E in c)E=="constructor"&&(f||!mt.call(c,E))||p.push(E);return p}function uu(c,f){return c<f}function cd(c,f){var p=-1,E=vi(c)?z(c.length):[];return qn(c,function(I,k,D){E[++p]=f(I,k,D)}),E}function hd(c){var f=bu(c);return f.length==1&&f[0][2]?Wd(f[0][0],f[0][1]):function(p){return p===c||ou(p,c,f)}}function fd(c,f){return Au(c)&&Kd(f)?Wd(hn(c),f):function(p){var E=Fu(p,c);return E===t&&E===f?Nu(p,c):zs(f,E,v|T)}}function Za(c,f,p,E,I){c!==f&&nu(f,function(k,D){if(I||(I=new tn),Ot(k))r_(c,f,D,p,Za,E,I);else{var N=E?E(Lu(c,D),k,D+"",c,f,I):t;N===t&&(N=k),tu(c,D,N)}},yi)}function r_(c,f,p,E,I,k,D){var N=Lu(c,p),$=Lu(f,p),te=D.get($);if(te){tu(c,p,te);return}var ie=k?k(N,$,p+"",c,f,D):t,se=ie===t;if(se){var ge=Ye($),xe=!ge&&Jn($),Pe=!ge&&!xe&&is($);ie=$,ge||xe||Pe?Ye(N)?ie=N:$t(N)?ie=mi(N):xe?(se=!1,ie=bd($,!0)):Pe?(se=!1,ie=Id($,!0)):ie=[]:Zs($)||Ir($)?(ie=N,Ir(N)?ie=_g(N):(!Ot(N)||Pn(N))&&(ie=Vd($))):se=!1}se&&(D.set($,ie),I(ie,$,E,k,D),D.delete($)),tu(c,p,ie)}function dd(c,f){var p=c.length;if(p)return f+=f<0?p:0,wn(f,p)?c[f]:t}function gd(c,f,p){f.length?f=Rt(f,function(k){return Ye(k)?function(D){return Sr(D,k.length===1?k[0]:k)}:k}):f=[Ti];var E=-1;f=Rt(f,Ai(we()));var I=cd(c,function(k,D,N){var $=Rt(f,function(te){return te(k)});return{criteria:$,index:++E,value:k}});return wT(I,function(k,D){return v_(k,D,p)})}function s_(c,f){return pd(c,f,function(p,E){return Nu(c,E)})}function pd(c,f,p){for(var E=-1,I=f.length,k={};++E<I;){var D=f[E],N=Sr(c,D);p(N,D)&&js(k,Qn(D,c),N)}return k}function a_(c){return function(f){return Sr(f,c)}}function cu(c,f,p,E){var I=E?kT:Wr,k=-1,D=f.length,N=c;for(c===f&&(f=mi(f)),p&&(N=Rt(c,Ai(p)));++k<D;)for(var $=0,te=f[k],ie=p?p(te):te;($=I(N,ie,$,E))>-1;)N!==c&&Ha.call(N,$,1),Ha.call(c,$,1);return c}function md(c,f){for(var p=c?f.length:0,E=p-1;p--;){var I=f[p];if(p==E||I!==k){var k=I;wn(I)?Ha.call(c,I,1):gu(c,I)}}return c}function hu(c,f){return c+Wa(Xf()*(f-c+1))}function o_(c,f,p,E){for(var I=-1,k=Yt(Ka((f-c)/(p||1)),0),D=z(k);k--;)D[E?k:++I]=c,c+=p;return D}function fu(c,f){var p="";if(!c||f<1||f>Y)return p;do f%2&&(p+=c),f=Wa(f/2),f&&(c+=c);while(f);return p}function Ze(c,f){return Ru(Yd(c,f,Ti),c+"")}function l_(c){return Jf(ns(c))}function u_(c,f){var p=ns(c);return lo(p,_r(f,0,p.length))}function js(c,f,p,E){if(!Ot(c))return c;f=Qn(f,c);for(var I=-1,k=f.length,D=k-1,N=c;N!=null&&++I<k;){var $=hn(f[I]),te=p;if($==="__proto__"||$==="constructor"||$==="prototype")return c;if(I!=D){var ie=N[$];te=E?E(ie,$,N):t,te===t&&(te=Ot(ie)?ie:wn(f[I+1])?[]:{})}Ks(N,$,te),N=N[$]}return c}var vd=Ya?function(c,f){return Ya.set(c,f),c}:Ti,c_=Va?function(c,f){return Va(c,"toString",{configurable:!0,enumerable:!1,value:Uu(f),writable:!0})}:Ti;function h_(c){return lo(ns(c))}function zi(c,f,p){var E=-1,I=c.length;f<0&&(f=-f>I?0:I+f),p=p>I?I:p,p<0&&(p+=I),I=f>p?0:p-f>>>0,f>>>=0;for(var k=z(I);++E<I;)k[E]=c[E+f];return k}function f_(c,f){var p;return qn(c,function(E,I,k){return p=f(E,I,k),!p}),!!p}function Ja(c,f,p){var E=0,I=c==null?E:c.length;if(typeof f=="number"&&f===f&&I<=me){for(;E<I;){var k=E+I>>>1,D=c[k];D!==null&&!Li(D)&&(p?D<=f:D<f)?E=k+1:I=k}return I}return du(c,f,Ti,p)}function du(c,f,p,E){var I=0,k=c==null?0:c.length;if(k===0)return 0;f=p(f);for(var D=f!==f,N=f===null,$=Li(f),te=f===t;I<k;){var ie=Wa((I+k)/2),se=p(c[ie]),ge=se!==t,xe=se===null,Pe=se===se,Xe=Li(se);if(D)var De=E||Pe;else te?De=Pe&&(E||ge):N?De=Pe&&ge&&(E||!xe):$?De=Pe&&ge&&!xe&&(E||!Xe):xe||Xe?De=!1:De=E?se<=f:se<f;De?I=ie+1:k=ie}return ai(k,ue)}function yd(c,f){for(var p=-1,E=c.length,I=0,k=[];++p<E;){var D=c[p],N=f?f(D):D;if(!p||!nn(N,$)){var $=N;k[I++]=D===0?0:D}}return k}function Td(c){return typeof c=="number"?c:Li(c)?ce:+c}function Ci(c){if(typeof c=="string")return c;if(Ye(c))return Rt(c,Ci)+"";if(Li(c))return Qf?Qf.call(c):"";var f=c+"";return f=="0"&&1/c==-H?"-0":f}function Xn(c,f,p){var E=-1,I=Pa,k=c.length,D=!0,N=[],$=N;if(p)D=!1,I=Hl;else if(k>=i){var te=f?null:x_(c);if(te)return Oa(te);D=!1,I=Bs,$=new Er}else $=f?[]:N;e:for(;++E<k;){var ie=c[E],se=f?f(ie):ie;if(ie=p||ie!==0?ie:0,D&&se===se){for(var ge=$.length;ge--;)if($[ge]===se)continue e;f&&$.push(se),N.push(ie)}else I($,se,p)||($!==N&&$.push(se),N.push(ie))}return N}function gu(c,f){return f=Qn(f,c),c=zd(c,f),c==null||delete c[hn(ji(f))]}function Ed(c,f,p,E){return js(c,f,p(Sr(c,f)),E)}function eo(c,f,p,E){for(var I=c.length,k=E?I:-1;(E?k--:++k<I)&&f(c[k],k,c););return p?zi(c,E?0:k,E?k+1:I):zi(c,E?k+1:0,E?I:k)}function _d(c,f){var p=c;
vendor: 7,340 bytes, line 13
13return p instanceof st&&(p=p.value()),Vl(f,function(E,I){return I.func.apply(I.thisArg,Yn([E],I.args))},p)}function pu(c,f,p){var E=c.length;if(E<2)return E?Xn(c[0]):[];for(var I=-1,k=z(E);++I<E;)for(var D=c[I],N=-1;++N<E;)N!=I&&(k[I]=Ws(k[I]||D,c[N],f,p));return Xn(ti(k,1),f,p)}function Sd(c,f,p){for(var E=-1,I=c.length,k=f.length,D={};++E<I;){var N=E<k?f[E]:t;p(D,c[E],N)}return D}function mu(c){return $t(c)?c:[]}function vu(c){return typeof c=="function"?c:Ti}function Qn(c,f){return Ye(c)?c:Au(c,f)?[c]:Qd(dt(c))}var d_=Ze;function Zn(c,f,p){var E=c.length;return p=p===t?E:p,!f&&p>=E?c:zi(c,f,p)}var xd=eE||function(c){return ei.clearTimeout(c)};function bd(c,f){if(f)return c.slice();var p=c.length,E=Wf?Wf(p):new c.constructor(p);return c.copy(E),E}function yu(c){var f=new c.constructor(c.byteLength);return new $a(f).set(new $a(c)),f}function g_(c,f){var p=f?yu(c.buffer):c.buffer;return new c.constructor(p,c.byteOffset,c.byteLength)}function p_(c){var f=new c.constructor(c.source,of.exec(c));return f.lastIndex=c.lastIndex,f}function m_(c){return Vs?St(Vs.call(c)):{}}function Id(c,f){var p=f?yu(c.buffer):c.buffer;return new c.constructor(p,c.byteOffset,c.length)}function Ad(c,f){if(c!==f){var p=c!==t,E=c===null,I=c===c,k=Li(c),D=f!==t,N=f===null,$=f===f,te=Li(f);if(!N&&!te&&!k&&c>f||k&&D&&$&&!N&&!te||E&&D&&$||!p&&$||!I)return 1;if(!E&&!k&&!te&&c<f||te&&p&&I&&!E&&!k||N&&p&&I||!D&&I||!$)return-1}return 0}function v_(c,f,p){for(var E=-1,I=c.criteria,k=f.criteria,D=I.length,N=p.length;++E<D;){var $=Ad(I[E],k[E]);if($){if(E>=N)return $;var te=p[E];return $*(te=="desc"?-1:1)}}return c.index-f.index}function Cd(c,f,p,E){for(var I=-1,k=c.length,D=p.length,N=-1,$=f.length,te=Yt(k-D,0),ie=z($+te),se=!E;++N<$;)ie[N]=f[N];for(;++I<D;)(se||I<k)&&(ie[p[I]]=c[I]);for(;te--;)ie[N++]=c[I++];return ie}function Ld(c,f,p,E){for(var I=-1,k=c.length,D=-1,N=p.length,$=-1,te=f.length,ie=Yt(k-N,0),se=z(ie+te),ge=!E;++I<ie;)se[I]=c[I];for(var xe=I;++$<te;)se[xe+$]=f[$];for(;++D<N;)(ge||I<k)&&(se[xe+p[D]]=c[I++]);return se}function mi(c,f){var p=-1,E=c.length;for(f||(f=z(E));++p<E;)f[p]=c[p];return f}function cn(c,f,p,E){var I=!p;p||(p={});for(var k=-1,D=f.length;++k<D;){var N=f[k],$=E?E(p[N],c[N],N,p,c):t;$===t&&($=c[N]),I?Ln(p,N,$):Ks(p,N,$)}return p}function y_(c,f){return cn(c,Iu(c),f)}function T_(c,f){return cn(c,Gd(c),f)}function to(c,f){return function(p,E){var I=Ye(p)?bT:GE,k=f?f():{};return I(p,c,we(E,2),k)}}function Jr(c){return Ze(function(f,p){var E=-1,I=p.length,k=I>1?p[I-1]:t,D=I>2?p[2]:t;for(k=c.length>3&&typeof k=="function"?(I--,k):t,D&&hi(p[0],p[1],D)&&(k=I<3?t:k,I=1),f=St(f);++E<I;){var N=p[E];N&&c(f,N,E,k)}return f})}function Rd(c,f){return function(p,E){if(p==null)return p;if(!vi(p))return c(p,E);for(var I=p.length,k=f?I:-1,D=St(p);(f?k--:++k<I)&&E(D[k],k,D)!==!1;);return p}}function kd(c){return function(f,p,E){for(var I=-1,k=St(f),D=E(f),N=D.length;N--;){var $=D[c?N:++I];if(p(k[$],$,k)===!1)break}return f}}function E_(c,f,p){var E=f&y,I=qs(c);function k(){var D=this&&this!==ei&&this instanceof k?I:c;return D.apply(E?p:this,arguments)}return k}function wd(c){return function(f){f=dt(f);var p=Yr(f)?en(f):t,E=p?p[0]:f.charAt(0),I=p?Zn(p,1).join(""):f.slice(1);return E[c]()+I}}function es(c){return function(f){return Vl(Rg(Lg(f).replace(cT,"")),c,"")}}function qs(c){return function(){var f=arguments;switch(f.length){case 0:return new c;case 1:return new c(f[0]);case 2:return new c(f[0],f[1]);case 3:return new c(f[0],f[1],f[2]);case 4:return new c(f[0],f[1],f[2],f[3]);case 5:return new c(f[0],f[1],f[2],f[3],f[4]);case 6:return new c(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return new c(f[0],f[1],f[2],f[3],f[4],f[5],f[6])}var p=Zr(c.prototype),E=c.apply(p,f);return Ot(E)?E:p}}function __(c,f,p){var E=qs(c);function I(){for(var k=arguments.length,D=z(k),N=k,$=ts(I);N--;)D[N]=arguments[N];var te=k<3&&D[0]!==$&&D[k-1]!==$?[]:zn(D,$);if(k-=te.length,k<p)return Fd(c,f,io,I.placeholder,t,D,te,t,t,p-k);var ie=this&&this!==ei&&this instanceof I?E:c;return Ii(ie,this,D)}return I}function Pd(c){return function(f,p,E){var I=St(f);if(!vi(f)){var k=we(p,3);f=Zt(f),p=function(N){return k(I[N],N,I)}}var D=c(f,p,E);return D>-1?I[k?f[D]:D]:t}}function Dd(c){return kn(function(f){var p=f.length,E=p,I=Wi.prototype.thru;for(c&&f.reverse();E--;){var k=f[E];if(typeof k!="function")throw new Ki(s);if(I&&!D&&ao(k)=="wrapper")var D=new Wi([],!0)}for(E=D?E:p;++E<p;){k=f[E];var N=ao(k),$=N=="wrapper"?xu(k):t;$&&Cu($[0])&&$[1]==(w|b|A|M)&&!$[4].length&&$[9]==1?D=D[ao($[0])].apply(D,$[3]):D=k.length==1&&Cu(k)?D[N]():D.thru(k)}return function(){var te=arguments,ie=te[0];if(D&&te.length==1&&Ye(ie))return D.plant(ie).value();for(var se=0,ge=p?f[se].apply(this,te):ie;++se<p;)ge=f[se].call(this,ge);return ge}})}function io(c,f,p,E,I,k,D,N,$,te){var ie=f&w,se=f&y,ge=f&_,xe=f&(b|R),Pe=f&O,Xe=ge?t:qs(c);function De(){for(var rt=arguments.length,at=z(rt),Ri=rt;Ri--;)at[Ri]=arguments[Ri];if(xe)var fi=ts(De),ki=DT(at,fi);if(E&&(at=Cd(at,E,I,xe)),k&&(at=Ld(at,k,D,xe)),rt-=ki,xe&&rt<te){var Gt=zn(at,fi);return Fd(c,f,io,De.placeholder,p,at,Gt,N,$,te-rt)}var rn=se?p:this,On=ge?rn[c]:c;return rt=at.length,N?at=G_(at,N):Pe&&rt>1&&at.reverse(),ie&&$<rt&&(at.length=$),this&&this!==ei&&this instanceof De&&(On=Xe||qs(On)),On.apply(rn,at)}return De}function Od(c,f){return function(p,E){return qE(p,c,f(E),{})}}function no(c,f){return function(p,E){var I;if(p===t&&E===t)return f;if(p!==t&&(I=p),E!==t){if(I===t)return E;typeof p=="string"||typeof E=="string"?(p=Ci(p),E=Ci(E)):(p=Td(p),E=Td(E)),I=c(p,E)}return I}}function Tu(c){return kn(function(f){return f=Rt(f,Ai(we())),Ze(function(p){var E=this;return c(f,function(I){return Ii(I,E,p)})})})}function ro(c,f){f=f===t?" ":Ci(f);var p=f.length;if(p<2)return p?fu(f,c):f;var E=fu(f,Ka(c/zr(f)));return Yr(f)?Zn(en(E),0,c).join(""):E.slice(0,c)}function S_(c,f,p,E){var I=f&y,k=qs(c);function D(){for(var N=-1,$=arguments.length,te=-1,ie=E.length,se=z(ie+$),ge=this&&this!==ei&&this instanceof D?k:c;++te<ie;)se[te]=E[te];for(;$--;)se[te++]=arguments[++N];return Ii(ge,I?p:this,se)}return D}function Md(c){return function(f,p,E){return E&&typeof E!="number"&&hi(f,p,E)&&(p=E=t),f=Dn(f),p===t?(p=f,f=0):p=Dn(p),E=E===t?f<p?1:-1:Dn(E),o_(f,p,E,c)}}function so(c){return function(f,p){return typeof f=="string"&&typeof p=="string"||(f=qi(f),p=qi(p)),c(f,p)}}function Fd(c,f,p,E,I,k,D,N,$,te){var ie=f&b,se=ie?D:t,ge=ie?t:D,xe=ie?k:t,Pe=ie?t:k;f|=ie?A:F,f&=~(ie?F:A),f&x||(f&=-4);var Xe=[c,f,I,xe,se,Pe,ge,N,$,te],De=p.apply(t,Xe);return Cu(c)&&jd(De,Xe),De.placeholder=E,qd(De,c,f)}function Eu(c){var f=Wt[c];return function(p,E){if(p=qi(p),E=E==null?0:ai(je(E),292),E&&qf(p)){var I=(dt(p)+"e").split("e"),k=f(I[0]+"e"+(+I[1]+E));return I=(dt(k)+"e").split("e"),+(I[0]+"e"+(+I[1]-E))}return f(p)}}var x_=Xr&&1/Oa(new Xr([,-0]))[1]==H?function(c){return new Xr(c)}:Hu;function Nd(c){return function(f){var p=oi(f);return p==be?Xl(f):p==ht?$T(f):PT(f,c(f))}}function Rn(c,f,p,E,I,k,D,N){var $=f&_;if(!$&&typeof c!="function")throw new Ki(s);var te=E?E.length:0;if(te||(f&=-97,E=I=t),D=D===t?D:Yt(je(D),0),N=N===t?N:je(N),te-=I?I.length:0,f&F){var ie=E,se=I;E=I=t}var ge=$?t:xu(c),xe=[c,f,p,E,I,ie,se,k,D,N];if(ge&&B_(xe,ge),c=xe[0],f=xe[1],p=xe[2],E=xe[3],I=xe[4],N=xe[9]=xe[9]===t?$?0:c.length:Yt(xe[9]-te,0),!N&&f&(b|R)&&(f&=-25),!f||f==y)var Pe=E_(c,f,p);
vendor: 11,227 bytes, lines 13-15
13else f==b||f==R?Pe=__(c,f,N):(f==A||f==(y|A))&&!I.length?Pe=S_(c,f,p,E):Pe=io.apply(t,xe);var Xe=ge?vd:jd;return qd(Xe(Pe,xe),c,f)}function Bd(c,f,p,E){return c===t||nn(c,qr[p])&&!mt.call(E,p)?f:c}function Ud(c,f,p,E,I,k){return Ot(c)&&Ot(f)&&(k.set(f,c),Za(c,f,t,Ud,k),k.delete(f)),c}function b_(c){return Zs(c)?t:c}function $d(c,f,p,E,I,k){var D=p&v,N=c.length,$=f.length;if(N!=$&&!(D&&$>N))return!1;var te=k.get(c),ie=k.get(f);if(te&&ie)return te==f&&ie==c;var se=-1,ge=!0,xe=p&T?new Er:t;for(k.set(c,f),k.set(f,c);++se<N;){var Pe=c[se],Xe=f[se];if(E)var De=D?E(Xe,Pe,se,f,c,k):E(Pe,Xe,se,c,f,k);if(De!==t){if(De)continue;ge=!1;break}if(xe){if(!Kl(f,function(rt,at){if(!Bs(xe,at)&&(Pe===rt||I(Pe,rt,p,E,k)))return xe.push(at)})){ge=!1;break}}else if(!(Pe===Xe||I(Pe,Xe,p,E,k))){ge=!1;break}}return k.delete(c),k.delete(f),ge}function I_(c,f,p,E,I,k,D){switch(p){case Ct:if(c.byteLength!=f.byteLength||c.byteOffset!=f.byteOffset)return!1;c=c.buffer,f=f.buffer;case ft:return!(c.byteLength!=f.byteLength||!k(new $a(c),new $a(f)));case Ge:case pt:case We:return nn(+c,+f);case He:return c.name==f.name&&c.message==f.message;case Tt:case Kt:return c==f+"";case be:var N=Xl;case ht:var $=E&v;if(N||(N=Oa),c.size!=f.size&&!$)return!1;var te=D.get(c);if(te)return te==f;E|=T,D.set(c,f);var ie=$d(N(c),N(f),E,I,k,D);return D.delete(c),ie;case J:if(Vs)return Vs.call(c)==Vs.call(f)}return!1}function A_(c,f,p,E,I,k){var D=p&v,N=_u(c),$=N.length,te=_u(f),ie=te.length;if($!=ie&&!D)return!1;for(var se=$;se--;){var ge=N[se];if(!(D?ge in f:mt.call(f,ge)))return!1}var xe=k.get(c),Pe=k.get(f);if(xe&&Pe)return xe==f&&Pe==c;var Xe=!0;k.set(c,f),k.set(f,c);for(var De=D;++se<$;){ge=N[se];var rt=c[ge],at=f[ge];if(E)var Ri=D?E(at,rt,ge,f,c,k):E(rt,at,ge,c,f,k);if(!(Ri===t?rt===at||I(rt,at,p,E,k):Ri)){Xe=!1;break}De||(De=ge=="constructor")}if(Xe&&!De){var fi=c.constructor,ki=f.constructor;fi!=ki&&"constructor"in c&&"constructor"in f&&!(typeof fi=="function"&&fi instanceof fi&&typeof ki=="function"&&ki instanceof ki)&&(Xe=!1)}return k.delete(c),k.delete(f),Xe}function kn(c){return Ru(Yd(c,t,tg),c+"")}function _u(c){return ad(c,Zt,Iu)}function Su(c){return ad(c,yi,Gd)}var xu=Ya?function(c){return Ya.get(c)}:Hu;function ao(c){for(var f=c.name+"",p=Qr[f],E=mt.call(Qr,f)?p.length:0;E--;){var I=p[E],k=I.func;if(k==null||k==c)return I.name}return f}function ts(c){var f=mt.call(L,"placeholder")?L:c;return f.placeholder}function we(){var c=L.iteratee||$u;return c=c===$u?ud:c,arguments.length?c(arguments[0],arguments[1]):c}function oo(c,f){var p=c.__data__;return O_(f)?p[typeof f=="string"?"string":"hash"]:p.map}function bu(c){for(var f=Zt(c),p=f.length;p--;){var E=f[p],I=c[E];f[p]=[E,I,Kd(I)]}return f}function xr(c,f){var p=NT(c,f);return ld(p)?p:t}function C_(c){var f=mt.call(c,yr),p=c[yr];try{c[yr]=t;var E=!0}catch{}var I=Ba.call(c);return E&&(f?c[yr]=p:delete c[yr]),I}var Iu=Zl?function(c){return c==null?[]:(c=St(c),Wn(Zl(c),function(f){return zf.call(c,f)}))}:Vu,Gd=Zl?function(c){for(var f=[];c;)Yn(f,Iu(c)),c=Ga(c);return f}:Vu,oi=ci;(Jl&&oi(new Jl(new ArrayBuffer(1)))!=Ct||$s&&oi(new $s)!=be||eu&&oi(eu.resolve())!=Dt||Xr&&oi(new Xr)!=ht||Gs&&oi(new Gs)!=Ue)&&(oi=function(c){var f=ci(c),p=f==nt?c.constructor:t,E=p?br(p):"";if(E)switch(E){case uE:return Ct;case cE:return be;case hE:return Dt;case fE:return ht;case dE:return Ue}return f});function L_(c,f,p){for(var E=-1,I=p.length;++E<I;){var k=p[E],D=k.size;switch(k.type){case"drop":c+=D;break;case"dropRight":f-=D;break;case"take":f=ai(f,c+D);break;case"takeRight":c=Yt(c,f-D);break}}return{start:c,end:f}}function R_(c){var f=c.match(My);return f?f[1].split(Fy):[]}function Hd(c,f,p){f=Qn(f,c);for(var E=-1,I=f.length,k=!1;++E<I;){var D=hn(f[E]);if(!(k=c!=null&&p(c,D)))break;c=c[D]}return k||++E!=I?k:(I=c==null?0:c.length,!!I&&po(I)&&wn(D,I)&&(Ye(c)||Ir(c)))}function k_(c){var f=c.length,p=new c.constructor(f);return f&&typeof c[0]=="string"&&mt.call(c,"index")&&(p.index=c.index,p.input=c.input),p}function Vd(c){return typeof c.constructor=="function"&&!Xs(c)?Zr(Ga(c)):{}}function w_(c,f,p){var E=c.constructor;switch(f){case ft:return yu(c);case Ge:case pt:return new E(+c);case Ct:return g_(c,p);case bi:case Kn:case Gi:case ks:case ws:case Hr:case Ps:case Ds:case Os:return Id(c,p);case be:return new E;case We:case Kt:return new E(c);case Tt:return p_(c);case ht:return new E;case J:return m_(c)}}function P_(c,f){var p=f.length;if(!p)return c;var E=p-1;return f[E]=(p>1?"& ":"")+f[E],f=f.join(p>2?", ":" "),c.replace(Oy,`{
14/* [wrapped with `+f+`] */
15`)}function D_(c){return Ye(c)||Ir(c)||!!(jf&&c&&c[jf])}function wn(c,f){var p=typeof c;return f=f??Y,!!f&&(p=="number"||p!="symbol"&&Wy.test(c))&&c>-1&&c%1==0&&c<f}function hi(c,f,p){if(!Ot(p))return!1;var E=typeof f;return(E=="number"?vi(p)&&wn(f,p.length):E=="string"&&f in p)?nn(p[f],c):!1}function Au(c,f){if(Ye(c))return!1;var p=typeof c;return p=="number"||p=="symbol"||p=="boolean"||c==null||Li(c)?!0:Ca.test(c)||!Aa.test(c)||f!=null&&c in St(f)}function O_(c){var f=typeof c;return f=="string"||f=="number"||f=="symbol"||f=="boolean"?c!=="__proto__":c===null}function Cu(c){var f=ao(c),p=L[f];if(typeof p!="function"||!(f in st.prototype))return!1;if(c===p)return!0;var E=xu(p);return!!E&&c===E[0]}function M_(c){return!!Kf&&Kf in c}var F_=Fa?Pn:Ku;function Xs(c){var f=c&&c.constructor,p=typeof f=="function"&&f.prototype||qr;return c===p}function Kd(c){return c===c&&!Ot(c)}function Wd(c,f){return function(p){return p==null?!1:p[c]===f&&(f!==t||c in St(p))}}function N_(c){var f=fo(c,function(E){return p.size===u&&p.clear(),E}),p=f.cache;return f}function B_(c,f){var p=c[1],E=f[1],I=p|E,k=I<(y|_|w),D=E==w&&p==b||E==w&&p==M&&c[7].length<=f[8]||E==(w|M)&&f[7].length<=f[8]&&p==b;if(!(k||D))return c;E&y&&(c[2]=f[2],I|=p&y?0:x);var N=f[3];if(N){var $=c[3];c[3]=$?Cd($,N,f[4]):N,c[4]=$?zn(c[3],h):f[4]}return N=f[5],N&&($=c[5],c[5]=$?Ld($,N,f[6]):N,c[6]=$?zn(c[5],h):f[6]),N=f[7],N&&(c[7]=N),E&w&&(c[8]=c[8]==null?f[8]:ai(c[8],f[8])),c[9]==null&&(c[9]=f[9]),c[0]=f[0],c[1]=I,c}function U_(c){var f=[];if(c!=null)for(var p in St(c))f.push(p);return f}function $_(c){return Ba.call(c)}function Yd(c,f,p){return f=Yt(f===t?c.length-1:f,0),function(){for(var E=arguments,I=-1,k=Yt(E.length-f,0),D=z(k);++I<k;)D[I]=E[f+I];I=-1;for(var N=z(f+1);++I<f;)N[I]=E[I];return N[f]=p(D),Ii(c,this,N)}}function zd(c,f){return f.length<2?c:Sr(c,zi(f,0,-1))}function G_(c,f){for(var p=c.length,E=ai(f.length,p),I=mi(c);E--;){var k=f[E];c[E]=wn(k,p)?I[k]:t}return c}function Lu(c,f){if(!(f==="constructor"&&typeof c[f]=="function")&&f!="__proto__")return c[f]}var jd=Xd(vd),Qs=iE||function(c,f){return ei.setTimeout(c,f)},Ru=Xd(c_);function qd(c,f,p){var E=f+"";return Ru(c,P_(E,H_(R_(E),p)))}function Xd(c){var f=0,p=0;return function(){var E=aE(),I=le-(E-p);if(p=E,I>0){if(++f>=ee)return arguments[0]}else f=0;return c.apply(t,arguments)}}function lo(c,f){var p=-1,E=c.length,I=E-1;for(f=f===t?E:f;++p<f;){var k=hu(p,I),D=c[k];c[k]=c[p],c[p]=D}return c.length=f,c}var Qd=N_(function(c){var f=[];return c.charCodeAt(0)===46&&f.push(""),c.replace(La,function(p,E,I,k){f.push(I?k.replace(Uy,"$1"):E||p)}),f});function hn(c){if(typeof c=="string"||Li(c))return c;var f=c+"";return f=="0"&&1/c==-H?"-0":f}function br(c){if(c!=null){try{return Na.call(c)}catch{}try{return c+""}catch{}}return""}function H_(c,f){return Vi(Te,function(p){var E="_."+p[0];f&p[1]&&!Pa(c,E)&&c.push(E)}),c.sort()}function Zd(c){if(c instanceof st)return c.clone();var f=new Wi(c.__wrapped__,c.__chain__);return f.__actions__=mi(c.__actions__),f.__index__=c.__index__,f.__values__=c.__values__,f}function V_(c,f,p){(p?hi(c,f,p):f===t)?f=1:f=Yt(je(f),0);var E=c==null?0:c.length;if(!E||f<1)return[];for(var I=0,k=0,D=z(Ka(E/f));I<E;)D[k++]=zi(c,I,I+=f);return D}function K_(c){for(var f=-1,p=c==null?0:c.length,E=0,I=[];++f<p;){var k=c[f];k&&(I[E++]=k)}return I}function W_(){var c=arguments.length;if(!c)return[];for(var f=z(c-1),p=arguments[0],E=c;E--;)f[E-1]=arguments[E];return Yn(Ye(p)?mi(p):[p],ti(f,1))}var Y_=Ze(function(c,f){return $t(c)?Ws(c,ti(f,1,$t,!0)):[]}),z_=Ze(function(c,f){var p=ji(f);return $t(p)&&(p=t),$t(c)?Ws(c,ti(f,1,$t,!0),we(p,2)):[]}),j_=Ze(function(c,f){var p=ji(f);return $t(p)&&(p=t),$t(c)?Ws(c,ti(f,1,$t,!0),t,p):[]});function q_(c,f,p){var E=c==null?0:c.length;return E?(f=p||f===t?1:je(f),zi(c,f<0?0:f,E)):[]}function X_(c,f,p){var E=c==null?0:c.length;return E?(f=p||f===t?1:je(f),f=E-f,zi(c,0,f<0?0:f)):[]}function Q_(c,f){return c&&c.length?eo(c,we(f,3),!0,!0):[]}function Z_(c,f){return c&&c.length?eo(c,we(f,3),!0):[]}function J_(c,f,p,E){var I=c==null?0:c.length;return I?(p&&typeof p!="number"&&hi(c,f,p)&&(p=0,E=I),WE(c,f,p,E)):[]}function Jd(c,f,p){var E=c==null?0:c.length;if(!E)return-1;var I=p==null?0:je(p);return I<0&&(I=Yt(E+I,0)),Da(c,we(f,3),I)}function eg(c,f,p){var E=c==null?0:c.length;if(!E)return-1;var I=E-1;return p!==t&&(I=je(p),I=p<0?Yt(E+I,0):ai(I,E-1)),Da(c,we(f,3),I,!0)}function tg(c){var f=c==null?0:c.length;return f?ti(c,1):[]}function eS(c){var f=c==null?0:c.length;return f?ti(c,H):[]}function tS(c,f){var p=c==null?0:c.length;return p?(f=f===t?1:je(f),ti(c,f)):[]}function iS(c){for(var f=-1,p=c==null?0:c.length,E={};++f<p;){var I=c[f];E[I[0]]=I[1]}return E}function ig(c){return c&&c.length?c[0]:t}function nS(c,f,p){var E=c==null?0:c.length;if(!E)return-1;var I=p==null?0:je(p);return I<0&&(I=Yt(E+I,0)),Wr(c,f,I)}function rS(c){var f=c==null?0:c.length;return f?zi(c,0,-1):[]}var sS=Ze(function(c){var f=Rt(c,mu);return f.length&&f[0]===c[0]?au(f):[]}),aS=Ze(function(c){var f=ji(c),p=Rt(c,mu);return f===ji(p)?f=t:p.pop(),p.length&&p[0]===c[0]?au(p,we(f,2)):[]}),oS=Ze(function(c){var f=ji(c),p=Rt(c,mu);return f=typeof f=="function"?f:t,f&&p.pop(),p.length&&p[0]===c[0]?au(p,t,f):[]});function lS(c,f){return c==null?"":rE.call(c,f)}function ji(c){var f=c==null?0:c.length;return f?c[f-1]:t}function uS(c,f,p){var E=c==null?0:c.length;if(!E)return-1;var I=E;return p!==t&&(I=je(p),I=I<0?Yt(E+I,0):ai(I,E-1)),f===f?HT(c,f,I):Da(c,Ff,I,!0)}function cS(c,f){return c&&c.length?dd(c,je(f)):t}var hS=Ze(ng);function ng(c,f){return c&&c.length&&f&&f.length?cu(c,f):c}function fS(c,f,p){return c&&c.length&&f&&f.length?cu(c,f,we(p,2)):c}function dS(c,f,p){return c&&c.length&&f&&f.length?cu(c,f,t,p):c}var gS=kn(function(c,f){var p=c==null?0:c.length,E=iu(c,f);return md(c,Rt(f,function(I){return wn(I,p)?+I:I}).sort(Ad)),E});function pS(c,f){var p=[];if(!(c&&c.length))return p;var E=-1,I=[],k=c.length;for(f=we(f,3);++E<k;){var D=c[E];f(D,E,c)&&(p.push(D),I.push(E))}return md(c,I),p}function ku(c){return c==null?c:lE.call(c)}function mS(c,f,p){var E=c==null?0:c.length;return E?(p&&typeof p!="number"&&hi(c,f,p)?(f=0,p=E):(f=f==null?0:je(f),p=p===t?E:je(p)),zi(c,f,p)):[]}function vS(c,f){return Ja(c,f)}function yS(c,f,p){return du(c,f,we(p,2))}function TS(c,f){var p=c==null?0:c.length;if(p){var E=Ja(c,f);if(E<p&&nn(c[E],f))return E}return-1}function ES(c,f){return Ja(c,f,!0)}function _S(c,f,p){return du(c,f,we(p,2),!0)}function SS(c,f){var p=c==null?0:c.length;if(p){var E=Ja(c,f,!0)-1;if(nn(c[E],f))return E}return-1}function xS(c){return c&&c.length?yd(c):[]}function bS(c,f){return c&&c.length?yd(c,we(f,2)):[]}function IS(c){var f=c==null?0:c.length;
vendor: 9,256 bytes, line 15
15return f?zi(c,1,f):[]}function AS(c,f,p){return c&&c.length?(f=p||f===t?1:je(f),zi(c,0,f<0?0:f)):[]}function CS(c,f,p){var E=c==null?0:c.length;return E?(f=p||f===t?1:je(f),f=E-f,zi(c,f<0?0:f,E)):[]}function LS(c,f){return c&&c.length?eo(c,we(f,3),!1,!0):[]}function RS(c,f){return c&&c.length?eo(c,we(f,3)):[]}var kS=Ze(function(c){return Xn(ti(c,1,$t,!0))}),wS=Ze(function(c){var f=ji(c);return $t(f)&&(f=t),Xn(ti(c,1,$t,!0),we(f,2))}),PS=Ze(function(c){var f=ji(c);return f=typeof f=="function"?f:t,Xn(ti(c,1,$t,!0),t,f)});function DS(c){return c&&c.length?Xn(c):[]}function OS(c,f){return c&&c.length?Xn(c,we(f,2)):[]}function MS(c,f){return f=typeof f=="function"?f:t,c&&c.length?Xn(c,t,f):[]}function wu(c){if(!(c&&c.length))return[];var f=0;return c=Wn(c,function(p){if($t(p))return f=Yt(p.length,f),!0}),jl(f,function(p){return Rt(c,Wl(p))})}function rg(c,f){if(!(c&&c.length))return[];var p=wu(c);return f==null?p:Rt(p,function(E){return Ii(f,t,E)})}var FS=Ze(function(c,f){return $t(c)?Ws(c,f):[]}),NS=Ze(function(c){return pu(Wn(c,$t))}),BS=Ze(function(c){var f=ji(c);return $t(f)&&(f=t),pu(Wn(c,$t),we(f,2))}),US=Ze(function(c){var f=ji(c);return f=typeof f=="function"?f:t,pu(Wn(c,$t),t,f)}),$S=Ze(wu);function GS(c,f){return Sd(c||[],f||[],Ks)}function HS(c,f){return Sd(c||[],f||[],js)}var VS=Ze(function(c){var f=c.length,p=f>1?c[f-1]:t;return p=typeof p=="function"?(c.pop(),p):t,rg(c,p)});function sg(c){var f=L(c);return f.__chain__=!0,f}function KS(c,f){return f(c),c}function uo(c,f){return f(c)}var WS=kn(function(c){var f=c.length,p=f?c[0]:0,E=this.__wrapped__,I=function(k){return iu(k,c)};return f>1||this.__actions__.length||!(E instanceof st)||!wn(p)?this.thru(I):(E=E.slice(p,+p+(f?1:0)),E.__actions__.push({func:uo,args:[I],thisArg:t}),new Wi(E,this.__chain__).thru(function(k){return f&&!k.length&&k.push(t),k}))});function YS(){return sg(this)}function zS(){return new Wi(this.value(),this.__chain__)}function jS(){this.__values__===t&&(this.__values__=Tg(this.value()));var c=this.__index__>=this.__values__.length,f=c?t:this.__values__[this.__index__++];return{done:c,value:f}}function qS(){return this}function XS(c){for(var f,p=this;p instanceof ja;){var E=Zd(p);E.__index__=0,E.__values__=t,f?I.__wrapped__=E:f=E;var I=E;p=p.__wrapped__}return I.__wrapped__=c,f}function QS(){var c=this.__wrapped__;if(c instanceof st){var f=c;return this.__actions__.length&&(f=new st(this)),f=f.reverse(),f.__actions__.push({func:uo,args:[ku],thisArg:t}),new Wi(f,this.__chain__)}return this.thru(ku)}function ZS(){return _d(this.__wrapped__,this.__actions__)}var JS=to(function(c,f,p){mt.call(c,p)?++c[p]:Ln(c,p,1)});function ex(c,f,p){var E=Ye(c)?Of:KE;return p&&hi(c,f,p)&&(f=t),E(c,we(f,3))}function tx(c,f){var p=Ye(c)?Wn:rd;return p(c,we(f,3))}var ix=Pd(Jd),nx=Pd(eg);function rx(c,f){return ti(co(c,f),1)}function sx(c,f){return ti(co(c,f),H)}function ax(c,f,p){return p=p===t?1:je(p),ti(co(c,f),p)}function ag(c,f){var p=Ye(c)?Vi:qn;return p(c,we(f,3))}function og(c,f){var p=Ye(c)?IT:nd;return p(c,we(f,3))}var ox=to(function(c,f,p){mt.call(c,p)?c[p].push(f):Ln(c,p,[f])});function lx(c,f,p,E){c=vi(c)?c:ns(c),p=p&&!E?je(p):0;var I=c.length;return p<0&&(p=Yt(I+p,0)),mo(c)?p<=I&&c.indexOf(f,p)>-1:!!I&&Wr(c,f,p)>-1}var ux=Ze(function(c,f,p){var E=-1,I=typeof f=="function",k=vi(c)?z(c.length):[];return qn(c,function(D){k[++E]=I?Ii(f,D,p):Ys(D,f,p)}),k}),cx=to(function(c,f,p){Ln(c,p,f)});function co(c,f){var p=Ye(c)?Rt:cd;return p(c,we(f,3))}function hx(c,f,p,E){return c==null?[]:(Ye(f)||(f=f==null?[]:[f]),p=E?t:p,Ye(p)||(p=p==null?[]:[p]),gd(c,f,p))}var fx=to(function(c,f,p){c[p?0:1].push(f)},function(){return[[],[]]});function dx(c,f,p){var E=Ye(c)?Vl:Bf,I=arguments.length<3;return E(c,we(f,4),p,I,qn)}function gx(c,f,p){var E=Ye(c)?AT:Bf,I=arguments.length<3;return E(c,we(f,4),p,I,nd)}function px(c,f){var p=Ye(c)?Wn:rd;return p(c,go(we(f,3)))}function mx(c){var f=Ye(c)?Jf:l_;return f(c)}function vx(c,f,p){(p?hi(c,f,p):f===t)?f=1:f=je(f);var E=Ye(c)?UE:u_;return E(c,f)}function yx(c){var f=Ye(c)?$E:h_;return f(c)}function Tx(c){if(c==null)return 0;if(vi(c))return mo(c)?zr(c):c.length;var f=oi(c);return f==be||f==ht?c.size:lu(c).length}function Ex(c,f,p){var E=Ye(c)?Kl:f_;return p&&hi(c,f,p)&&(f=t),E(c,we(f,3))}var _x=Ze(function(c,f){if(c==null)return[];var p=f.length;return p>1&&hi(c,f[0],f[1])?f=[]:p>2&&hi(f[0],f[1],f[2])&&(f=[f[0]]),gd(c,ti(f,1),[])}),ho=tE||function(){return ei.Date.now()};function Sx(c,f){if(typeof f!="function")throw new Ki(s);return c=je(c),function(){if(--c<1)return f.apply(this,arguments)}}function lg(c,f,p){return f=p?t:f,f=c&&f==null?c.length:f,Rn(c,w,t,t,t,t,f)}function ug(c,f){var p;if(typeof f!="function")throw new Ki(s);return c=je(c),function(){return--c>0&&(p=f.apply(this,arguments)),c<=1&&(f=t),p}}var Pu=Ze(function(c,f,p){var E=y;if(p.length){var I=zn(p,ts(Pu));E|=A}return Rn(c,E,f,p,I)}),cg=Ze(function(c,f,p){var E=y|_;if(p.length){var I=zn(p,ts(cg));E|=A}return Rn(f,E,c,p,I)});function hg(c,f,p){f=p?t:f;var E=Rn(c,b,t,t,t,t,t,f);return E.placeholder=hg.placeholder,E}function fg(c,f,p){f=p?t:f;var E=Rn(c,R,t,t,t,t,t,f);return E.placeholder=fg.placeholder,E}function dg(c,f,p){var E,I,k,D,N,$,te=0,ie=!1,se=!1,ge=!0;if(typeof c!="function")throw new Ki(s);f=qi(f)||0,Ot(p)&&(ie=!!p.leading,se="maxWait"in p,k=se?Yt(qi(p.maxWait)||0,f):k,ge="trailing"in p?!!p.trailing:ge);function xe(Gt){var rn=E,On=I;return E=I=t,te=Gt,D=c.apply(On,rn),D}function Pe(Gt){return te=Gt,N=Qs(rt,f),ie?xe(Gt):D}function Xe(Gt){var rn=Gt-$,On=Gt-te,Pg=f-rn;return se?ai(Pg,k-On):Pg}function De(Gt){var rn=Gt-$,On=Gt-te;return $===t||rn>=f||rn<0||se&&On>=k}function rt(){var Gt=ho();if(De(Gt))return at(Gt);N=Qs(rt,Xe(Gt))}function at(Gt){return N=t,ge&&E?xe(Gt):(E=I=t,D)}function Ri(){N!==t&&xd(N),te=0,E=$=I=N=t}function fi(){return N===t?D:at(ho())}function ki(){var Gt=ho(),rn=De(Gt);if(E=arguments,I=this,$=Gt,rn){if(N===t)return Pe($);if(se)return xd(N),N=Qs(rt,f),xe($)}return N===t&&(N=Qs(rt,f)),D}return ki.cancel=Ri,ki.flush=fi,ki}var xx=Ze(function(c,f){return id(c,1,f)}),bx=Ze(function(c,f,p){return id(c,qi(f)||0,p)});function Ix(c){return Rn(c,O)}function fo(c,f){if(typeof c!="function"||f!=null&&typeof f!="function")throw new Ki(s);var p=function(){var E=arguments,I=f?f.apply(this,E):E[0],k=p.cache;if(k.has(I))return k.get(I);var D=c.apply(this,E);return p.cache=k.set(I,D)||k,D};return p.cache=new(fo.Cache||Cn),p}fo.Cache=Cn;function go(c){if(typeof c!="function")throw new Ki(s);return function(){var f=arguments;switch(f.length){case 0:return!c.call(this);case 1:return!c.call(this,f[0]);case 2:return!c.call(this,f[0],f[1]);case 3:return!c.call(this,f[0],f[1],f[2])}return!c.apply(this,f)}}function Ax(c){return ug(2,c)}var Cx=d_(function(c,f){f=f.length==1&&Ye(f[0])?Rt(f[0],Ai(we())):Rt(ti(f,1),Ai(we()));var p=f.length;return Ze(function(E){for(var I=-1,k=ai(E.length,p);++I<k;)E[I]=f[I].call(this,E[I]);return Ii(c,this,E)})}),Du=Ze(function(c,f){var p=zn(f,ts(Du));return Rn(c,A,t,f,p)}),gg=Ze(function(c,f){var p=zn(f,ts(gg));return Rn(c,F,t,f,p)}),Lx=kn(function(c,f){return Rn(c,M,t,t,t,f)});function Rx(c,f){if(typeof c!="function")throw new Ki(s);return f=f===t?f:je(f),Ze(c,f)}function kx(c,f){if(typeof c!="function")throw new Ki(s);return f=f==null?0:Yt(je(f),0),Ze(function(p){var E=p[f],I=Zn(p,0,f);return E&&Yn(I,E),Ii(c,this,I)})}function wx(c,f,p){var E=!0,I=!0;if(typeof c!="function")throw new Ki(s);return Ot(p)&&(E="leading"in p?!!p.leading:E,I="trailing"in p?!!p.trailing:I),dg(c,f,{leading:E,maxWait:f,trailing:I})}function Px(c){return lg(c,1)}function Dx(c,f){return Du(vu(f),c)}function Ox(){if(!arguments.length)return[];var c=arguments[0];return Ye(c)?c:[c]}function Mx(c){return Yi(c,m)}function Fx(c,f){return f=typeof f=="function"?f:t,Yi(c,m,f)}function Nx(c){return Yi(c,d|m)}function Bx(c,f){return f=typeof f=="function"?f:t,Yi(c,d|m,f)}function Ux(c,f){return f==null||td(c,f,Zt(f))}function nn(c,f){return c===f||c!==c&&f!==f}var $x=so(su),Gx=so(function(c,f){return c>=f}),Ir=od(function(){return arguments}())?od:function(c){return Nt(c)&&mt.call(c,"callee")&&!zf.call(c,"callee")},Ye=z.isArray,Hx=Lf?Ai(Lf):XE;function vi(c){return c!=null&&po(c.length)&&!Pn(c)}function $t(c){return Nt(c)&&vi(c)}function Vx(c){return c===!0||c===!1||Nt(c)&&ci(c)==Ge}var Jn=nE||Ku,Kx=Rf?Ai(Rf):QE;function Wx(c){return Nt(c)&&c.nodeType===1&&!Zs(c)}function Yx(c){if(c==null)return!0;if(vi(c)&&(Ye(c)||typeof c=="string"||typeof c.splice=="function"||Jn(c)||is(c)||Ir(c)))return!c.length;var f=oi(c);if(f==be||f==ht)return!c.size;if(Xs(c))return!lu(c).length;for(var p in c)if(mt.call(c,p))return!1;return!0}function zx(c,f){return zs(c,f)}function jx(c,f,p){p=typeof p=="function"?p:t;var E=p?p(c,f):t;return E===t?zs(c,f,t,p):!!E}function Ou(c){if(!Nt(c))return!1;var f=ci(c);return f==He||f==Xt||typeof c.message=="string"&&typeof c.name=="string"&&!Zs(c)}function qx(c){return typeof c=="number"&&qf(c)}function Pn(c){if(!Ot(c))return!1;var f=ci(c);return f==Pt||f==_t||f==Qe||f==Ut}function pg(c){return typeof c=="number"&&c==je(c)}function po(c){return typeof c=="number"&&c>-1&&c%1==0&&c<=Y}function Ot(c){var f=typeof c;return c!=null&&(f=="object"||f=="function")}function Nt(c){return c!=null&&typeof c=="object"}
vendor: 6,673 bytes, line 15
15var mg=kf?Ai(kf):JE;function Xx(c,f){return c===f||ou(c,f,bu(f))}function Qx(c,f,p){return p=typeof p=="function"?p:t,ou(c,f,bu(f),p)}function Zx(c){return vg(c)&&c!=+c}function Jx(c){if(F_(c))throw new Ke(r);return ld(c)}function eb(c){return c===null}function tb(c){return c==null}function vg(c){return typeof c=="number"||Nt(c)&&ci(c)==We}function Zs(c){if(!Nt(c)||ci(c)!=nt)return!1;var f=Ga(c);if(f===null)return!0;var p=mt.call(f,"constructor")&&f.constructor;return typeof p=="function"&&p instanceof p&&Na.call(p)==QT}var Mu=wf?Ai(wf):e_;function ib(c){return pg(c)&&c>=-Y&&c<=Y}var yg=Pf?Ai(Pf):t_;function mo(c){return typeof c=="string"||!Ye(c)&&Nt(c)&&ci(c)==Kt}function Li(c){return typeof c=="symbol"||Nt(c)&&ci(c)==J}var is=Df?Ai(Df):i_;function nb(c){return c===t}function rb(c){return Nt(c)&&oi(c)==Ue}function sb(c){return Nt(c)&&ci(c)==ke}var ab=so(uu),ob=so(function(c,f){return c<=f});function Tg(c){if(!c)return[];if(vi(c))return mo(c)?en(c):mi(c);if(Us&&c[Us])return UT(c[Us]());var f=oi(c),p=f==be?Xl:f==ht?Oa:ns;return p(c)}function Dn(c){if(!c)return c===0?c:0;if(c=qi(c),c===H||c===-H){var f=c<0?-1:1;return f*Q}return c===c?c:0}function je(c){var f=Dn(c),p=f%1;return f===f?p?f-p:f:0}function Eg(c){return c?_r(je(c),0,ne):0}function qi(c){if(typeof c=="number")return c;if(Li(c))return ce;if(Ot(c)){var f=typeof c.valueOf=="function"?c.valueOf():c;c=Ot(f)?f+"":f}if(typeof c!="string")return c===0?c:+c;c=Uf(c);var p=Hy.test(c);return p||Ky.test(c)?ST(c.slice(2),p?2:8):Gy.test(c)?ce:+c}function _g(c){return cn(c,yi(c))}function lb(c){return c?_r(je(c),-Y,Y):c===0?c:0}function dt(c){return c==null?"":Ci(c)}var ub=Jr(function(c,f){if(Xs(f)||vi(f)){cn(f,Zt(f),c);return}for(var p in f)mt.call(f,p)&&Ks(c,p,f[p])}),Sg=Jr(function(c,f){cn(f,yi(f),c)}),vo=Jr(function(c,f,p,E){cn(f,yi(f),c,E)}),cb=Jr(function(c,f,p,E){cn(f,Zt(f),c,E)}),hb=kn(iu);function fb(c,f){var p=Zr(c);return f==null?p:ed(p,f)}var db=Ze(function(c,f){c=St(c);var p=-1,E=f.length,I=E>2?f[2]:t;for(I&&hi(f[0],f[1],I)&&(E=1);++p<E;)for(var k=f[p],D=yi(k),N=-1,$=D.length;++N<$;){var te=D[N],ie=c[te];(ie===t||nn(ie,qr[te])&&!mt.call(c,te))&&(c[te]=k[te])}return c}),gb=Ze(function(c){return c.push(t,Ud),Ii(xg,t,c)});function pb(c,f){return Mf(c,we(f,3),un)}function mb(c,f){return Mf(c,we(f,3),ru)}function vb(c,f){return c==null?c:nu(c,we(f,3),yi)}function yb(c,f){return c==null?c:sd(c,we(f,3),yi)}function Tb(c,f){return c&&un(c,we(f,3))}function Eb(c,f){return c&&ru(c,we(f,3))}function _b(c){return c==null?[]:Qa(c,Zt(c))}function Sb(c){return c==null?[]:Qa(c,yi(c))}function Fu(c,f,p){var E=c==null?t:Sr(c,f);return E===t?p:E}function xb(c,f){return c!=null&&Hd(c,f,YE)}function Nu(c,f){return c!=null&&Hd(c,f,zE)}var bb=Od(function(c,f,p){f!=null&&typeof f.toString!="function"&&(f=Ba.call(f)),c[f]=p},Uu(Ti)),Ib=Od(function(c,f,p){f!=null&&typeof f.toString!="function"&&(f=Ba.call(f)),mt.call(c,f)?c[f].push(p):c[f]=[p]},we),Ab=Ze(Ys);function Zt(c){return vi(c)?Zf(c):lu(c)}function yi(c){return vi(c)?Zf(c,!0):n_(c)}function Cb(c,f){var p={};return f=we(f,3),un(c,function(E,I,k){Ln(p,f(E,I,k),E)}),p}function Lb(c,f){var p={};return f=we(f,3),un(c,function(E,I,k){Ln(p,I,f(E,I,k))}),p}var Rb=Jr(function(c,f,p){Za(c,f,p)}),xg=Jr(function(c,f,p,E){Za(c,f,p,E)}),kb=kn(function(c,f){var p={};if(c==null)return p;var E=!1;f=Rt(f,function(k){return k=Qn(k,c),E||(E=k.length>1),k}),cn(c,Su(c),p),E&&(p=Yi(p,d|g|m,b_));for(var I=f.length;I--;)gu(p,f[I]);return p});function wb(c,f){return bg(c,go(we(f)))}var Pb=kn(function(c,f){return c==null?{}:s_(c,f)});function bg(c,f){if(c==null)return{};var p=Rt(Su(c),function(E){return[E]});return f=we(f),pd(c,p,function(E,I){return f(E,I[0])})}function Db(c,f,p){f=Qn(f,c);var E=-1,I=f.length;for(I||(I=1,c=t);++E<I;){var k=c==null?t:c[hn(f[E])];k===t&&(E=I,k=p),c=Pn(k)?k.call(c):k}return c}function Ob(c,f,p){return c==null?c:js(c,f,p)}function Mb(c,f,p,E){return E=typeof E=="function"?E:t,c==null?c:js(c,f,p,E)}var Ig=Nd(Zt),Ag=Nd(yi);function Fb(c,f,p){var E=Ye(c),I=E||Jn(c)||is(c);if(f=we(f,4),p==null){var k=c&&c.constructor;I?p=E?new k:[]:Ot(c)?p=Pn(k)?Zr(Ga(c)):{}:p={}}return(I?Vi:un)(c,function(D,N,$){return f(p,D,N,$)}),p}function Nb(c,f){return c==null?!0:gu(c,f)}function Bb(c,f,p){return c==null?c:Ed(c,f,vu(p))}function Ub(c,f,p,E){return E=typeof E=="function"?E:t,c==null?c:Ed(c,f,vu(p),E)}function ns(c){return c==null?[]:ql(c,Zt(c))}function $b(c){return c==null?[]:ql(c,yi(c))}function Gb(c,f,p){return p===t&&(p=f,f=t),p!==t&&(p=qi(p),p=p===p?p:0),f!==t&&(f=qi(f),f=f===f?f:0),_r(qi(c),f,p)}function Hb(c,f,p){return f=Dn(f),p===t?(p=f,f=0):p=Dn(p),c=qi(c),jE(c,f,p)}function Vb(c,f,p){if(p&&typeof p!="boolean"&&hi(c,f,p)&&(f=p=t),p===t&&(typeof f=="boolean"?(p=f,f=t):typeof c=="boolean"&&(p=c,c=t)),c===t&&f===t?(c=0,f=1):(c=Dn(c),f===t?(f=c,c=0):f=Dn(f)),c>f){var E=c;c=f,f=E}if(p||c%1||f%1){var I=Xf();return ai(c+I*(f-c+_T("1e-"+((I+"").length-1))),f)}return hu(c,f)}var Kb=es(function(c,f,p){return f=f.toLowerCase(),c+(p?Cg(f):f)});function Cg(c){return Bu(dt(c).toLowerCase())}function Lg(c){return c=dt(c),c&&c.replace(Yy,OT).replace(hT,"")}function Wb(c,f,p){c=dt(c),f=Ci(f);var E=c.length;p=p===t?E:_r(je(p),0,E);var I=p;return p-=f.length,p>=0&&c.slice(p,I)==f}function Yb(c){return c=dt(c),c&&Dl.test(c)?c.replace(Fs,MT):c}function zb(c){return c=dt(c),c&&Py.test(c)?c.replace(Vr,"\\$&"):c}var jb=es(function(c,f,p){return c+(p?"-":"")+f.toLowerCase()}),qb=es(function(c,f,p){return c+(p?" ":"")+f.toLowerCase()}),Xb=wd("toLowerCase");function Qb(c,f,p){c=dt(c),f=je(f);var E=f?zr(c):0;if(!f||E>=f)return c;var I=(f-E)/2;return ro(Wa(I),p)+c+ro(Ka(I),p)}function Zb(c,f,p){c=dt(c),f=je(f);var E=f?zr(c):0;return f&&E<f?c+ro(f-E,p):c}function Jb(c,f,p){c=dt(c),f=je(f);var E=f?zr(c):0;return f&&E<f?ro(f-E,p)+c:c}function e1(c,f,p){return p||f==null?f=0:f&&(f=+f),oE(dt(c).replace(Ol,""),f||0)}function t1(c,f,p){return(p?hi(c,f,p):f===t)?f=1:f=je(f),fu(dt(c),f)}function i1(){var c=arguments,f=dt(c[0]);return c.length<3?f:f.replace(c[1],c[2])}var n1=es(function(c,f,p){return c+(p?"_":"")+f.toLowerCase()});function r1(c,f,p){return p&&typeof p!="number"&&hi(c,f,p)&&(f=p=t),p=p===t?ne:p>>>0,p?(c=dt(c),c&&(typeof f=="string"||f!=null&&!Mu(f))&&(f=Ci(f),!f&&Yr(c))?Zn(en(c),0,p):c.split(f,p)):[]}var s1=es(function(c,f,p){return c+(p?" ":"")+Bu(f)});function a1(c,f,p){return c=dt(c),p=p==null?0:_r(je(p),0,c.length),f=Ci(f),c.slice(p,p+f.length)==f}function o1(c,f,p){var E=L.templateSettings;p&&hi(c,f,p)&&(f=t),c=dt(c),f=vo({},f,E,Bd);var I=vo({},f.imports,E.imports,Bd),k=Zt(I),D=ql(I,k),N,$,te=0,ie=f.interpolate||Ra,se="__p += '",ge=Ql((f.escape||Ra).source+"|"+ie.source+"|"+(ie
vendor: 8,970 bytes, lines 15-32
15===Qt?$y:Ra).source+"|"+(f.evaluate||Ra).source+"|$","g"),xe="//# sourceURL="+(mt.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++mT+"]")+`
16`;c.replace(ge,function(De,rt,at,Ri,fi,ki){return at||(at=Ri),se+=c.slice(te,ki).replace(zy,FT),rt&&(N=!0,se+=`' +
17__e(`+rt+`) +
18'`),fi&&($=!0,se+=`';
19`+fi+`;
20__p += '`),at&&(se+=`' +
21((__t = (`+at+`)) == null ? '' : __t) +
22'`),te=ki+De.length,De}),se+=`';
23`;var Pe=mt.call(f,"variable")&&f.variable;if(!Pe)se=`with (obj) {
24`+se+`
25}
26`;else if(By.test(Pe))throw new Ke(o);se=($?se.replace(kl,""):se).replace(wl,"$1").replace(Pl,"$1;"),se="function("+(Pe||"obj")+`) {
27`+(Pe?"":`obj || (obj = {});
28`)+"var __t, __p = ''"+(N?", __e = _.escape":"")+($?`, __j = Array.prototype.join;
29function print() { __p += __j.call(arguments, '') }
30`:`;
31`)+se+`return __p
32}`;var Xe=kg(function(){return ct(k,xe+"return "+se).apply(t,D)});if(Xe.source=se,Ou(Xe))throw Xe;return Xe}function l1(c){return dt(c).toLowerCase()}function u1(c){return dt(c).toUpperCase()}function c1(c,f,p){if(c=dt(c),c&&(p||f===t))return Uf(c);if(!c||!(f=Ci(f)))return c;var E=en(c),I=en(f),k=$f(E,I),D=Gf(E,I)+1;return Zn(E,k,D).join("")}function h1(c,f,p){if(c=dt(c),c&&(p||f===t))return c.slice(0,Vf(c)+1);if(!c||!(f=Ci(f)))return c;var E=en(c),I=Gf(E,en(f))+1;return Zn(E,0,I).join("")}function f1(c,f,p){if(c=dt(c),c&&(p||f===t))return c.replace(Ol,"");if(!c||!(f=Ci(f)))return c;var E=en(c),I=$f(E,en(f));return Zn(E,I).join("")}function d1(c,f){var p=P,E=K;if(Ot(f)){var I="separator"in f?f.separator:I;p="length"in f?je(f.length):p,E="omission"in f?Ci(f.omission):E}c=dt(c);var k=c.length;if(Yr(c)){var D=en(c);k=D.length}if(p>=k)return c;var N=p-zr(E);if(N<1)return E;var $=D?Zn(D,0,N).join(""):c.slice(0,N);if(I===t)return $+E;if(D&&(N+=$.length-N),Mu(I)){if(c.slice(N).search(I)){var te,ie=$;for(I.global||(I=Ql(I.source,dt(of.exec(I))+"g")),I.lastIndex=0;te=I.exec(ie);)var se=te.index;$=$.slice(0,se===t?N:se)}}else if(c.indexOf(Ci(I),N)!=N){var ge=$.lastIndexOf(I);ge>-1&&($=$.slice(0,ge))}return $+E}function g1(c){return c=dt(c),c&&ui.test(c)?c.replace(Ms,VT):c}var p1=es(function(c,f,p){return c+(p?" ":"")+f.toUpperCase()}),Bu=wd("toUpperCase");function Rg(c,f,p){return c=dt(c),f=p?t:f,f===t?BT(c)?YT(c):RT(c):c.match(f)||[]}var kg=Ze(function(c,f){try{return Ii(c,t,f)}catch(p){return Ou(p)?p:new Ke(p)}}),m1=kn(function(c,f){return Vi(f,function(p){p=hn(p),Ln(c,p,Pu(c[p],c))}),c});function v1(c){var f=c==null?0:c.length,p=we();return c=f?Rt(c,function(E){if(typeof E[1]!="function")throw new Ki(s);return[p(E[0]),E[1]]}):[],Ze(function(E){for(var I=-1;++I<f;){var k=c[I];if(Ii(k[0],this,E))return Ii(k[1],this,E)}})}function y1(c){return VE(Yi(c,d))}function Uu(c){return function(){return c}}function T1(c,f){return c==null||c!==c?f:c}var E1=Dd(),_1=Dd(!0);function Ti(c){return c}function $u(c){return ud(typeof c=="function"?c:Yi(c,d))}function S1(c){return hd(Yi(c,d))}function x1(c,f){return fd(c,Yi(f,d))}var b1=Ze(function(c,f){return function(p){return Ys(p,c,f)}}),I1=Ze(function(c,f){return function(p){return Ys(c,p,f)}});function Gu(c,f,p){var E=Zt(f),I=Qa(f,E);p==null&&!(Ot(f)&&(I.length||!E.length))&&(p=f,f=c,c=this,I=Qa(f,Zt(f)));var k=!(Ot(p)&&"chain"in p)||!!p.chain,D=Pn(c);return Vi(I,function(N){var $=f[N];c[N]=$,D&&(c.prototype[N]=function(){var te=this.__chain__;if(k||te){var ie=c(this.__wrapped__),se=ie.__actions__=mi(this.__actions__);return se.push({func:$,args:arguments,thisArg:c}),ie.__chain__=te,ie}return $.apply(c,Yn([this.value()],arguments))})}),c}function A1(){return ei._===this&&(ei._=ZT),this}function Hu(){}function C1(c){return c=je(c),Ze(function(f){return dd(f,c)})}var L1=Tu(Rt),R1=Tu(Of),k1=Tu(Kl);function wg(c){return Au(c)?Wl(hn(c)):a_(c)}function w1(c){return function(f){return c==null?t:Sr(c,f)}}var P1=Md(),D1=Md(!0);function Vu(){return[]}function Ku(){return!1}function O1(){return{}}function M1(){return""}function F1(){return!0}function N1(c,f){if(c=je(c),c<1||c>Y)return[];var p=ne,E=ai(c,ne);f=we(f),c-=ne;for(var I=jl(E,f);++p<c;)f(p);return I}function B1(c){return Ye(c)?Rt(c,hn):Li(c)?[c]:mi(Qd(dt(c)))}function U1(c){var f=++XT;return dt(c)+f}var $1=no(function(c,f){return c+f},0),G1=Eu("ceil"),H1=no(function(c,f){return c/f},1),V1=Eu("floor");function K1(c){return c&&c.length?Xa(c,Ti,su):t}function W1(c,f){return c&&c.length?Xa(c,we(f,2),su):t}function Y1(c){return Nf(c,Ti)}function z1(c,f){return Nf(c,we(f,2))}function j1(c){return c&&c.length?Xa(c,Ti,uu):t}function q1(c,f){return c&&c.length?Xa(c,we(f,2),uu):t}var X1=no(function(c,f){return c*f},1),Q1=Eu("round"),Z1=no(function(c,f){return c-f},0);function J1(c){return c&&c.length?zl(c,Ti):0}function eI(c,f){return c&&c.length?zl(c,we(f,2)):0}return L.after=Sx,L.ary=lg,L.assign=ub,L.assignIn=Sg,L.assignInWith=vo,L.assignWith=cb,L.at=hb,L.before=ug,L.bind=Pu,L.bindAll=m1,L.bindKey=cg,L.castArray=Ox,L.chain=sg,L.chunk=V_,L.compact=K_,L.concat=W_,L.cond=v1,L.conforms=y1,L.constant=Uu,L.countBy=JS,L.create=fb,L.curry=hg,L.curryRight=fg,L.debounce=dg,L.defaults=db,L.defaultsDeep=gb,L.defer=xx,L.delay=bx,L.difference=Y_,L.differenceBy=z_,L.differenceWith=j_,L.drop=q_,L.dropRight=X_,L.dropRightWhile=Q_,L.dropWhile=Z_,L.fill=J_,L.filter=tx,L.flatMap=rx,L.flatMapDeep=sx,L.flatMapDepth=ax,L.flatten=tg,L.flattenDeep=eS,L.flattenDepth=tS,L.flip=Ix,L.flow=E1,L.flowRight=_1,L.fromPairs=iS,L.functions=_b,L.functionsIn=Sb,L.groupBy=ox,L.initial=rS,L.intersection=sS,L.intersectionBy=aS,L.intersectionWith=oS,L.invert=bb,L.invertBy=Ib,L.invokeMap=ux,L.iteratee=$u,L.keyBy=cx,L.keys=Zt,L.keysIn=yi,L.map=co,L.mapKeys=Cb,L.mapValues=Lb,L.matches=S1,L.matchesProperty=x1,L.memoize=fo,L.merge=Rb,L.mergeWith=xg,L.method=b1,L.methodOf=I1,L.mixin=Gu,L.negate=go,L.nthArg=C1,L.omit=kb,L.omitBy=wb,L.once=Ax,L.orderBy=hx,L.over=L1,L.overArgs=Cx,L.overEvery=R1,L.overSome=k1,L.partial=Du,L.partialRight=gg,L.partition=fx,L.pick=Pb,L.pickBy=bg,L.property=wg,L.propertyOf=w1,L.pull=hS,L.pullAll=ng,L.pullAllBy=fS,L.pullAllWith=dS,L.pullAt=gS,L.range=P1,L.rangeRight=D1,L.rearg=Lx,L.reject=px,L.remove=pS,L.rest=Rx,L.reverse=ku,L.sampleSize=vx,L.set=Ob,L.setWith=Mb,L.shuffle=yx,L.slice=mS,L.sortBy=_x,L.sortedUniq=xS,L.sortedUniqBy=bS,L.split=r1,L.spread=kx,L.tail=IS,L.take=AS,L.takeRight=CS,L.takeRightWhile=LS,L.takeWhile=RS,L.tap=KS,L.throttle=wx,L.thru=uo,L.toArray=Tg,L.toPairs=Ig,L.toPairsIn=Ag,L.toPath=B1,L.toPlainObject=_g,L.transform=Fb,L.unary=Px,L.union=kS,L.unionBy=wS,L.unionWith=PS,L.uniq=DS,L.uniqBy=OS,L.uniqWith=MS,L.unset=Nb,L.unzip=wu,L.unzipWith=rg,L.update=Bb,L.updateWith=Ub,L.values=ns,L.valuesIn=$b,L.without=FS,L.words=Rg,L.wrap=Dx,L.xor=NS,L.xorBy=BS,L.xorWith=US,L.zip=$S,L.zipObject=GS,L.zipObjectDeep=HS,L.zipWith=VS,L.entries=Ig,L.entriesIn=Ag,L.extend=Sg,L.extendWith=vo,Gu(L,L),L.add=$1,L.attempt=kg,L.camelCase=Kb,L.capitalize=Cg,L.ceil=G1,L.clamp=Gb,L.clone=Mx,L.cloneDeep=Nx,L.cloneDeepWith=Bx,L.cloneWith=Fx,L.conformsTo=Ux,L.deburr=Lg,L.defaultTo=T1,L.divide=H1,L.endsWith=Wb,L.eq=nn,L.escape=Yb,L.escapeRegExp=zb,L.every=ex,L.find=ix,L.findIndex=Jd,L.findKey=pb,L.findLast=nx,L.findLastIndex=eg,L.findLastKey=mb,L.floor=V1,L.forEach=ag,L.forEachRight=og,L.forIn=vb,L.forInRight=yb,L.forOwn=Tb,L.forOwnRight=Eb,L.get=Fu,L.gt=$x,L.gte=Gx,L.has=xb,L.hasIn=Nu,L.head=ig,L.identity=Ti,L.includes=lx,L.indexOf=nS,L.inRange=Hb,L.invoke=Ab,L.isArguments=Ir,L.isArray=Ye,L.isArrayBuffer=Hx,L.isArrayLike=vi,L.isArrayLikeObject=$t,L.isBoolean=Vx,L.isBuffer=Jn,L.isDate=Kx,L.isElement=Wx,L.isEmpty=Yx,L.isEqual=zx,L.isEqualWith=jx,L.isError=Ou,L.isFinite=qx,L.isFunction=Pn,L.isInteger=pg,L.isLength=po,L.isMap=mg,L.isMatch=Xx,L.isMatchWith=Qx,L.isNaN=Zx,L.isNative=Jx,L.isNil=tb,L.isNull=eb,L.isNumber=vg,L.isObject=Ot,L.isObjectLike=Nt,L.isPlainObject=Zs,L.isRegExp=Mu,L.isSafeInteger=ib,L.isSet=yg,L.isString=mo,L.isSymbol=Li,L.isTypedArray=is,L.isUndefined=nb,L.isWeakMap=rb,L.isWeakSet=sb,L.join=lS,L.kebabCase=jb,L.last=ji,L.lastIndexOf=uS,L.lowerCase=qb,L.lowerFirst=Xb,L.lt=ab,L.lte=ob,L.max=K1,L.maxBy=W1,L.mean=Y1,L.meanBy=z1,L.min=j1,L.minBy=q1,L.stubArray=Vu,L.stubFalse=Ku,L.stubObject=O1,L.stubString=M1,L.stubTrue=F1,L.multiply=X1,L.nth=cS,L.noConflict=A1,L.noop=Hu,L.now=ho,L.pad=Qb,L.padEnd=Zb,L.padStart=Jb,L.parseInt=e1,L.random=Vb,L.reduce=dx,L.reduceRight=gx,L.repeat=t1,L.replace=i1,L.result=Db,L.round=Q1,L.runInContext=U,L.sample=mx,L.size=Tx,L.snakeCase=n1,L.some=Ex,L.sortedIndex=vS,L.sortedIndexBy=yS,L.sortedIndexOf=TS,L.sortedLastIndex=ES,L.sortedLastIndexBy=_S,L.sortedLastIndexOf=SS,L.startCase=s1,L.startsWith=a1,L.subtract=Z1,L.sum=J1,L.sumBy=eI,L.template=o1,L.times=N1,L.toFinite=Dn,L.toInteger=je,L.toLength=Eg,L.toLower=l1,L.toNumber=qi,L.toSafeInteger=lb,L.toString=dt,L.toUpper=u1,L.trim=c1,L.trimEnd=h1,L.trimStart=f1,L.truncate=d1,L.unescape=g1,L.uniqueId=U1,L.upperCase=p1,L.upperFirst=Bu,L.each=ag,L.eachRight=og,L.first=ig,Gu(L,function(){var c={};return un(L,function(f,p){mt.call(L.prototype,p)||(c[p]=f)}),c}(),{chain:!1}
32),L.VERSION=n,Vi(["bind","bindKey","curry","curryRight","partial","partialRight"],function(c){L[c].placeholder=L}),Vi(["drop","take"],function(c,f){st.prototype[c]=function(p){p=p===t?1:Yt(je(p),0);var E=this.__filtered__&&!f?new st(this):this.clone();return E.__filtered__?E.__takeCount__=ai(p,E.__takeCount__):E.__views__.push({size:ai(p,ne),type:c+(E.__dir__<0?"Right":"")}),E},st.prototype[c+"Right"]=function(p){return this.reverse()[c](p).reverse()}}),Vi(["filter","map","takeWhile"],function(c,f){var p=f+1,E=p==ae||p==B;st.prototype[c]=function(I){var k=this.clone();return k.__iteratees__.push({iteratee:we(I,3),type:p}),k.__filtered__=k.__filtered__||E,k}}),Vi(["head","last"],function(c,f){var p="take"+(f?"Right":"");st.prototype[c]=function(){return this[p](1).value()[0]}}),Vi(["initial","tail"],function(c,f){var p="drop"+(f?"":"Right");st.prototype[c]=function(){return this.__filtered__?new st(this):this[p](1)}}),st.prototype.compact=function(){return this.filter(Ti)},st.prototype.find=function(c){return this.filter(c).head()},st.prototype.findLast=function(c){return this.reverse().find(c)},st.prototype.invokeMap=Ze(function(c,f){return typeof c=="function"?new st(this):this.map(function(p){return Ys(p,c,f)})}),st.prototype.reject=function(c){return this.filter(go(we(c)))},st.prototype.slice=function(c,f){c=je(c);var p=this;return p.__filtered__&&(c>0||f<0)?new st(p):(c<0?p=p.takeRight(-c):c&&(p=p.drop(c)),f!==t&&(f=je(f),p=f<0?p.dropRight(-f):p.take(f-c)),p)},st.prototype.takeRightWhile=function(c){return this.reverse().takeWhile(c).reverse()},st.prototype.toArray=function(){return this.take(ne)},un(st.prototype,function(c,f){var p=/^(?:filter|find|map|reject)|While$/.test(f),E=/^(?:head|last)$/.test(f),I=L[E?"take"+(f=="last"?"Right":""):f],k=E||/^find/.test(f);I&&(L.prototype[f]=function(){var D=this.__wrapped__,N=E?[1]:arguments,$=D instanceof st,te=N[0],ie=$||Ye(D),se=function(rt){var at=I.apply(L,Yn([rt],N));return E&&ge?at[0]:at};ie&&p&&typeof te=="function"&&te.length!=1&&($=ie=!1);var ge=this.__chain__,xe=!!this.__actions__.length,Pe=k&&!ge,Xe=$&&!xe;if(!k&&ie){D=Xe?D:new st(this);var De=c.apply(D,N);return De.__actions__.push({func:uo,args:[se],thisArg:t}),new Wi(De,ge)}return Pe&&Xe?c.apply(this,N):(De=this.thru(se),Pe?E?De.value()[0]:De.value():De)})}),Vi(["pop","push","shift","sort","splice","unshift"],function(c){var f=Ma[c],p=/^(?:push|sort|unshift)$/.test(c)?"tap":"thru",E=/^(?:pop|shift)$/.test(c);L.prototype[c]=function(){var I=arguments;if(E&&!this.__chain__){var k=this.value();return f.apply(Ye(k)?k:[],I)}return this[p](function(D){return f.apply(Ye(D)?D:[],I)})}}),un(st.prototype,function(c,f){var p=L[f];if(p){var E=p.name+"";mt.call(Qr,E)||(Qr[E]=[]),Qr[E].push({name:f,func:p})}}),Qr[io(t,_).name]=[{name:"wrapper",func:t}],st.prototype.clone=gE,st.prototype.reverse=pE,st.prototype.value=mE,L.prototype.at=WS,L.prototype.chain=YS,L.prototype.commit=zS,L.prototype.next=jS,L.prototype.plant=XS,L.prototype.reverse=QS,L.prototype.toJSON=L.prototype.valueOf=L.prototype.value=ZS,L.prototype.first=L.prototype.head,Us&&(L.prototype[Us]=qS),L},jr=zT();vr?((vr.exports=jr)._=jr,$l._=jr):ei._=jr}).call(kA)}(ia,ia.exports)),ia.exports}var PA=wA();const Yg=a=>{const e=a.trim(),t=e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&");return new RegExp(/^[a-zA-Z\s.,!?;:'"-]+$/.test(e)?`(?<![a-zA-Z])${t}(?![a-zA-Z])`:t,"g")},DA=(a,e)=>{const t=document.createElement("span");return t.className="u-course-subtitle-term-advice",t.setAttribute("data-id",a.id),t.setAttribute("data-subtitle-index",e),t.textContent=a.form,t.outerHTML},OA=a=>{const e=document.createElement("span");return e.className="u-course-subtitle-tag",e.setAttribute("data-idseq",a.id_seq),e.setAttribute("data-type",a.type),e.textContent=a.form,e.outerHTML},zg=a=>{var e,t,n,i;if(!a)return"";if((e=a.term_advices)!=null&&e.length||(t=a.tags)!=null&&t.length){const r=(n=a.term_advices)!=null&&n.length?a.term_advices.sort((l,u)=>u.form.length-l.form.length).map((l,u)=>({regex:Yg(l.form),placeholder:`#&#&${u}#&#&`,placeholderRegex:new RegExp(`#&#&${u}#&#&`,"g"),replacement:DA(l,a.index)})):[],s=(i=a.tags)!=null&&i.length?a.tags.sort((l,u)=>u.form.length-l.form.length).map((l,u)=>({regex:Yg(l.form),placeholder:`#%#%${u}#%#%`,placeholderRegex:new RegExp(`#%#%${u}#%#%`,"g"),replacement:OA(l)}
32)):[];let o=r.reduce((l,u)=>l.replace(u.regex,u.placeholder),a.text||"");return o=s.reduce((l,u)=>l.replace(u.regex,u.placeholder),o),o=r.reduce((l,u)=>l.replace(u.placeholderRegex,u.replacement),o),s.reduce((l,u)=>l.replace(u.placeholderRegex,u.replacement),o)}return a.text||""},Sh=Symbol("subtitleCtx"),MA=({currentTargetId:a,outlines:e,hasSubtitles:t,playInfoLoaded:n,currentTime:i,onEditRankingChange:r})=>{const s=vl(),o=ot([]),l=ot(new Map),u=ot(null),h=ot(0),d=ot(0),g=ot(null),m=Je(()=>g.value!==null),v=()=>{d.value+=1},T=(B=[],H)=>{if(!r)return;const Y=Array.isArray(B)?B:[],Q=Number(H),ce=Number.isFinite(Q)?Q:Array.isArray(o.value)?o.value.length:0;r({counts:Y,total:ce})},y=(B=[])=>{o.value=[],l.value=new Map,h.value=0,u.value&&(u.value.isCurrent=!1),u.value=null,T([],0),Array.isArray(B)&&B.forEach(H=>{H.subtitles=[]}),v()},_=B=>{var H;(H=B==null?void 0:B.updated_subtitles)!=null&&H.length&&(B.updated_subtitles.forEach(Y=>{const Q=l.value.get(Y.index);Q&&(Q.text=Q.editValue=Y.text,Q.html=zg(Y),Q.created_at=Y.created_at,Q.updated_at=Y.updated_at,Q.tags=Y.tags,Q.term_advices=Y.term_advices??Q.term_advices??[],Q.searchHighlight=!1,h.value=Math.max(Y.updated_at,h.value))}),T(B.user_counts,o.value.length),v())},x=B=>{var Q;if(!((Q=o.value)!=null&&Q.length)){u.value&&(u.value.isCurrent=!1),u.value=null;return}if(B<o.value[0].startTime){u.value&&(u.value.isCurrent=!1),u.value=null;return}let H;const Y=o.value.length-1;if(B<o.value[Y].startTime?(o.value.some((ce,ne)=>(H=ne,B<ce.startTime)),H=H-1):H=Y,!isNaN(H)){const ce=o.value[H];ce&&(!u.value||u.value.index!==ce.index)&&(u.value&&(u.value.isCurrent=!1),ce.isCurrent=!0,u.value=ce)}};let b=null;const{loading:R,execute:A,abort:F}=lv(async(B,H={})=>await kr.getSubtitle(B,H)),w=async(B,H)=>{var Y;if(!B||!s.isLoggedIn){y(H);return}if(!(R.value&&b===B)){b&&b!==B&&F(),b=B,y(H);try{const Q=Array.isArray(H)?H.map((me,Te)=>({index:Te,time:me.time})):[],ce=me=>{let Te=0;return Q.some(Re=>(Te=Re.index,Re.time>me))?Te-1:Te},ne=await A(B),ue=ne.data.subtitles.length-2;T(ne.data.user_counts,((Y=ne.data.subtitles)==null?void 0:Y.length)??0),o.value=ne.data.subtitles.map((me,Te)=>{var Ge,pt;const _e={index:me.index,startTime:me.start_time,endTime:me.end_time,text:me.text,html:zg(me),created_at:me.created_at,updated_at:me.updated_at,displayTime:yv(me.start_time),isCurrent:!1,outlineIndex:0,tags:(Ge=me.tags)!=null&&Ge.length?me.tags:[],editValue:me.text,nextIndex:Te>ue?-1:ne.data.subtitles[Te+1].index,submitting:!1,searchHighlight:!1,term_advices:(pt=me.term_advices)!=null&&pt.length?me.term_advices:[],isComposing:!1};h.value=Math.max(me.updated_at,h.value);const Re=ce(_e.startTime),Qe=ce(_e.endTime);return Re!==-1&&(H!=null&&H[Re])&&(_e.outlineIndex=Re,H[Re].subtitles.push(_e)),Qe!==-1&&Re!==Qe&&(H!=null&&H[Qe])&&(_e.outlineIndex=Qe,H[Qe].subtitles.push(_e)),_e}),l.value=new Map,o.value.forEach(me=>l.value.set(me.index,me)),v(),x((i==null?void 0:i.value)??0)}catch(Q){if(Q.name==="AbortError")return;console.error("加载字幕失败:",Q),y(H)}finally{b===B&&(b=null)}}},M=()=>{R.value&&(F(),b=null)},O=async B=>{if(!B||B.submitting)return!1;if(B.text===B.editValue)return!0;B.submitting=!0;try{const H=await kr.updateSubtitle(a.value,{index:B.index,text:B.editValue,origin_time:B.updated_at,subtitle_updated_at:h.value});if(B.submitting=!1,H.status===1)return on.success({message:"字幕已修改",description:H.point?`奖励积分 ${H.point}∫`:void 0,duration:1}),_(H),!0;if(H.status===0)return on.success({message:"修改结果与现有字幕相同"}),_(H),!0;if(H.status===-1)return new Promise(Y=>{vs.confirm({title:"字幕修改冲突",content:re("div",null,[re("div",null,"当前字幕已被他人修改,是否要覆盖?"),re("div",{style:"margin: 8px 0"},"您的修改:"+B.editValue),re("div",{style:"margin: 8px 0"},"他人修改:"+H.subtitle.text)]),okText:"覆盖",cancelText:"取消",onOk:()=>{O(B).then(Y)},onCancel:()=>{_(H),Y(!1)}})})}catch(H){return B.submitting=!1,console.error(H),!1}},P=B=>{B&&(g.value=B.index)},K=()=>{g.value=null},ee=async()=>{const B="loading-update-subtitle-tags";
32Pr.loading({content:"正在更新字幕术语标签",duration:0,key:B});try{await kr.updateSubtitleTags(a.value),Pr.loading({content:"正在更新字幕",duration:0,key:B}),await w(a.value,e.value),Pr.success({content:"字幕已更新",duration:3,key:B})}catch(H){console.error("更新字幕标签失败:",H),Pr.error({content:"更新字幕失败",duration:3,key:B})}},le=async({form:B,time:H,subtitle:Y})=>{const Q=await kr.createTermAdvice(a.value,{form:B,time:H,subtitle_updated_at:h.value});return Q.message==="添加成功"?(on.success({message:"术语建议添加成功"}),Y!=null&&Y.term_advices&&Y.term_advices.push(Q.term_advice),Array.isArray(Q.updated_subtitles)||(Q.updated_subtitles=[]),Q.updated_subtitles.some(ce=>ce.index===Y.index)||Q.updated_subtitles.push(Y),_(Q)):(on.info({message:"术语已存在",description:"正在更新字幕术语标签"}),_(Q),await ee()),Q},ae=async({adviceId:B,subtitle:H})=>{var Q;const Y=await kr.deleteTermAdvice(B,h.value);if(on.success({message:"术语建议删除成功"}),(Q=H==null?void 0:H.term_advices)!=null&&Q.length){const ce=H.term_advices;ce.some((ne,ue)=>ne.id===B?(ce.splice(ue,1),!0):!1)}return Array.isArray(Y.updated_subtitles)||(Y.updated_subtitles=[]),Y.updated_subtitles.some(ce=>ce.index===H.index)||Y.updated_subtitles.push(H),_(Y),Y},q=async B=>{const H=await kr.batchUpdateSubtitle(a.value,{...B,subtitle_updated_at:h.value});return _(H),H};return Qi([()=>a.value,()=>t.value,()=>e.value,()=>n.value],([B,H,Y,Q])=>{B&&H&&Y.length>0&&Q?w(B,Y):y(Y)},{immediate:!0}),Qi(()=>i.value,B=>{B!=null&&x(B)},{immediate:!0}),{subtitles:o,subtitlesMap:l,currentSubtitle:u,subtitleUpdatedAt:h,subtitlesVersion:d,edittingSubtitleIndex:g,isEditing:m,isLoading:R,applySubtitleUpdates:_,submitSubtitle:O,startEditSubtitle:P,exitEditSubtitle:K,updateSubtitleTags:ee,submitTermAdvice:le,deleteTermAdvice:ae,batchUpdateSubtitles:q,cancelSubtitleRequest:M}},FA={class:"course-outline-panel"},NA={class:"player-panel-head"},BA={key:0,class:"outline-controls"},UA={key:0,class:"m-subtitle-search"},$A={style:{flex:"none"}},GA={style:{flex:"1"}},HA={style:{display:"flex","align-items":"center"}},VA={class:"u-operation-item",style:{"padding-left":"8px"}},KA={key:0,style:{display:"flex","align-items":"center","margin-top":"8px"}},WA={style:{margin:"4px 0"}},YA=["onClick"],zA=["src"],jA={class:"course-ppt-time-keyword-resource"},qA={key:0,class:"keyword-resource"},XA={key:1,class:"keyword-resource"},QA=["onDblclick","onClick"],ZA={class:"u-course-subtitle-time"},JA=["innerHTML","data-subtitle-index"],eC={__name:"CourseStudyOutlinePanel",props:{visible:{type:Boolean,default:!0},outlines:{type:Array,default:()=>[]},ppts:{type:Array,default:()=>[]},hasSubtitles:{type:Boolean,default:!1},currentTime:{type:Number,default:0}},emits:["seek-to","player-pause","player-play"],setup(a,{emit:e}){const t=a,n=e,i=vl(),r=ot(null),s=ot("outline-0"),o=ot("截图"),l=ot(null),u=uv(Sh,null),h=(u==null?void 0:u.subtitles)??ot([]),d=(u==null?void 0:u.subtitlesMap)??ot(new Map),g=(u==null?void 0:u.currentSubtitle)??ot(null),m=(u==null?void 0:u.subtitlesVersion)??ot(0),v=(u==null?void 0:u.edittingSubtitleIndex)??ot(null),T=(u==null?void 0:u.submitSubtitle)??(async()=>!1),y=(u==null?void 0:u.updateSubtitleTags)??(async()=>{}),_=(u==null?void 0:u.submitTermAdvice)??(async()=>{}),x=(u==null?void 0:u.deleteTermAdvice)??(async()=>{}),b=(u==null?void 0:u.batchUpdateSubtitles)??(async()=>({})),R=J=>d.value.get(J),A=aa({visible:!1,keyword:"",isCaseSensitive:!1,results:[],current:0,replaceVisible:!1,replaceText:"",submittingReplaceOne:!1,submittingReplaceAll:!1}),F=(J=!0)=>{n("player-pause"),A.results=[],h.value.forEach(oe=>{const Ue=A.isCaseSensitive?oe.text:oe.text.toLowerCase(),ke=A.isCaseSensitive?A.keyword:A.keyword.toLowerCase();ke&&Ue.indexOf(ke)!==-1?(oe.searchHighlight=!0,A.results.push(oe.index),g.value&&g.value.index>oe.index&&(A.current=A.results.length-1)):oe.searchHighlight&&(oe.searchHighlight=!1)}),A.results.length>0?(g.value&&A.current<A.results.length-1&&g.value.index>A.results[0]?A.current++:A.current=0,J&&Tt(R(A.results[A.current]),!0)):A.current=0},w=PA.debounce((J=!0)=>{F(J)},300),M=async()=>{n("player-pause"),await ae()&&(A.isCaseSensitive=!A.isCaseSensitive,F())},O=async()=>{n("player-pause"),await ae()&&(A.current=A.current<=0?A.results.length-1:A.current-1,Tt(R(A.results[A.current]),!0))},P=async()=>{n("player-pause"),await ae()&&(A.current=A.current>=A.results.length-1?0:A.current+1,Tt(R(A.results[A.current]),!0))},K=()=>{n("player-pause"),A.visible=!0},ee=()=>{A.visible=!1,A.keyword="",h.value.forEach(J=>{const oe=R(J.index);oe&&(oe.searchHighlight=!1)}),A.results=[],A.current=0,A.replaceVisible=!1,A.replaceText="",A.visible||n("player-play")},le=async J=>{v.value||(Qe(!1),n("player-pause"),u!=null&&u.startEditSubtitle?u.startEditSubtitle(J):v.value=J.index)},ae=async()=>
32{if(v.value){const J=R(v.value);if(J.text!==J.editValue)await new Promise(oe=>{vs.confirm({title:"是否提交",content:re("div",null,[re("div",null,"存在未提交的字幕修改"),re("div",{style:"margin: 8px 0"},"您的修改:"+J.editValue),re("div",{class:"u-tip"},"提示:修改后按Enter键可以直接提交修改内容")]),okText:"提交",cancelText:"放弃",onOk:()=>{T(J).then(Ue=>{Ue&&B(),oe(Ue)})},onCancel:()=>{B(),oe(!0)}})});else return B(),!0}else return!0},q=async J=>{(!v.value||v.value===J.index||await ae())&&n("seek-to",J.startTime)},B=()=>{u!=null&&u.exitEditSubtitle?u.exitEditSubtitle():v.value=null,A.visible||n("player-play")},H=async J=>{await T(J)&&B()},Y=async(J,oe)=>{if(!(J.isComposing||J.keyCode===229)){if(J.key==="Enter")J.preventDefault(),H(oe);else if(J.key==="Tab"&&(J.preventDefault(),await T(oe)))if(oe.nextIndex!==-1){v.value=oe.nextIndex;const Ue=R(oe.nextIndex);n("seek-to",Ue.startTime)}else B()}},Q=J=>{if(J.isComposing)return;const oe=J.editValue.replace(/[\r\n]+/g," ");oe!==J.editValue&&(J.editValue=oe)},ce=async J=>{on.info({message:"快捷键修改字幕",description:re("div",null,[re("div",null,"回车:提交修改;"),re("div",null,"Tab:提交修改并跳转到下一条字幕;"),re("div",null,"Esc:退出修改")])}),H(J)},ne=J=>{J.key==="Escape"&&v.value&&B()};window.addEventListener("keyup",ne);const ue=async()=>{if(A.results.length>0){const J=R(A.results[A.current]);if(v.value&&v.value!==J.index&&!await ae())return!1;v.value=J.index,Tt(J,!0);const oe=A.isCaseSensitive?A.keyword:A.keyword.toLowerCase(),ke=(A.isCaseSensitive?J.editValue:J.editValue.toLowerCase()).indexOf(oe),ft=ke+oe.length;await or();const Ct=J.el.querySelector("textarea");if(Ct.selectionStart===ke&&Ct.selectionEnd===ft){Ct.focus(),J.editValue=J.editValue.slice(0,ke)+A.replaceText+J.editValue.slice(ft),await or(),Ct.setSelectionRange(ke,ke+A.replaceText.length);try{if(A.submittingReplaceOne=!0,!await T(J))return A.submittingReplaceOne=!1,!1;A.submittingReplaceOne=!1,A.results.length>0?(A.current>=A.results.length-1&&(A.current=0),ue()):v.value=null}catch(bi){A.submittingReplaceOne=!1,console.error(bi)}}else Ct.focus(),await or(),Ct.setSelectionRange(ke,ft)}},me=async()=>{if(!await ae())return!1;const J=[];A.results.forEach(oe=>{const Ue=R(oe),ke=Ue.text.replace(new RegExp(A.keyword,A.isCaseSensitive?"g":"gi"),A.replaceText);ke!==Ue.text&&J.push({index:Ue.index,text:ke,origin_time:Ue.updated_at})}),vs.confirm({title:"批量替换",content:`是否要批量替换 ${J.length} 处「${A.keyword}」>「${A.replaceText}」?`,okText:"替换",cancelText:"取消",onOk:()=>{A.submittingReplaceAll=!0,b({update_subtitles:J}).then(oe=>{A.submittingReplaceAll=!1,vs.confirm({title:"批量修改结果",content:`成功修改 ${oe.update_amount} 处字幕,${oe.question_subtitles.length>0?`${oe.question_subtitles.length} 处字幕未修改,`:""}奖励积分 ${oe.point}∫`})}).catch(oe=>{A.submittingReplaceAll=!1,console.error(oe),on.error({message:"批量替换失败"})})}})},Te=aa({visible:!1,selectText:"",left:0,top:0,selection:null,subtitle:null,submitting:!1}),_e=()=>{setTimeout(()=>{const J=window.getSelection(),oe=J.toString().trim();if(J.rangeCount>0&&oe.length>0){const Ue=J.getRangeAt(0),ke=Ue.commonAncestorContainer.nodeType===Node.TEXT_NODE?Ue.commonAncestorContainer.parentNode:Ue.commonAncestorContainer;if(ke.className==="course-subtitle"){n("player-pause");const ft=Ue.getBoundingClientRect(),Ct=r.value.$el.getBoundingClientRect();Te.left=ft.left-Ct.left,Te.left+145>Ct.width&&(Te.left=Math.max(0,Ct.width-145)),Te.top=ft.bottom-Ct.to
32p+r.value.$el.scrollTop,Te.visible=!0,Te.selectText=oe,Te.subtitle=R(parseInt(ke.dataset.subtitleIndex)),Te.time=Te.subtitle.startTime}}},0)},Re=()=>{Te.submitting=!0,_({form:Te.selectText,time:Te.time,subtitle:Te.subtitle}).then(J=>{(J==null?void 0:J.message)==="添加成功"?Qe():Qe(!1)}).catch(J=>{console.error(J),on.error({message:"提交失败"})}).finally(()=>{Te.submitting=!1})},Qe=(J=!0)=>{Te.visible=!1,Te.selectText="",window.getSelection().removeAllRanges(),J&&n("player-play")},Ge=aa({visible:!1,left:0,top:0,adviceId:null,subtitle:null}),pt=ot(null),Xt=J=>{var oe;if(J.target.className==="u-course-subtitle-term-advice"){const Ue=J.target,ke=r.value.$el.getBoundingClientRect(),ft=Ue.getBoundingClientRect();Ge.left=ft.left-ke.left,Ge.top=ft.bottom-ke.top+r.value.$el.scrollTop,Ge.visible=!0,Ge.adviceId=parseInt(Ue.dataset.id),Ge.subtitle=R(parseInt(Ue.dataset.subtitleIndex))}else Ge.visible&&!((oe=pt.value)!=null&&oe.contains(J.target))&&(Ge.visible=!1)},He=J=>{var oe,Ue;J.target.className==="u-course-subtitle-term-advice"&&((oe=pt.value)!=null&&oe.contains(J.relatedTarget)||((Ue=J.relatedTarget)==null?void 0:Ue.className)!=="u-course-subtitle-term-advice"&&(Ge.visible=!1))},Pt=()=>{vs.confirm({title:"确认删除",content:"确定要删除这条术语建议吗?",okText:"确定",cancelText:"取消",onOk:()=>x({adviceId:Ge.adviceId,subtitle:Ge.subtitle}).then(J=>(Ge.visible=!1,J)).catch(J=>(on.error({message:"删除失败"}),Promise.reject(J)))})};Qi([()=>t.ppts,()=>h.value,()=>t.hasSubtitles],([J,oe,Ue])=>{J.length>0?o.value!=="字幕"&&(o.value="截图"):(oe.length>0||Ue)&&(o.value="字幕")},{immediate:!0}),Qi(()=>m.value,()=>{A.visible&&F(!1)}),yl(()=>{u!=null&&u.cancelSubtitleRequest&&u.cancelSubtitleRequest()});const _t=J=>{const oe=J.target.value;o.value=oe},be=J=>{if(J){const oe=t.outlines[parseInt(J.slice(8))];or(()=>{setTimeout(()=>{r.value.$el.scrollTo(0,oe.el.offsetTop-46)},350)})}},We=J=>{n("seek-to",J)};let Ie=!1;const nt=()=>{Ie=!0},Dt=()=>{Ie=!1},Ut=(J=!1)=>{l.value&&(s.value=`outline-${l.value.outlineIndex}`,l.value.isCurrent=!0,r.value&&or(()=>{setTimeout(()=>{(J||!Ie)&&r.value.$el.scrollTo(0,l.value.el.offsetTop)},300)}))},Tt=(J,oe=!1)=>{s.value=`outline-${J.outlineIndex}`,r.value&&or(()=>{setTimeout(()=>{const Ue=J.el.offsetTop-114;(oe||!Ie)&&r.value.$el.scrollTo(0,Ue>0?Ue:0)},300)})},ht=(J=!1)=>{g.value&&Tt(g.value,J)};Qi(o,J=>{J==="截图"?Ut(!0):ht(!0)});const Kt=()=>{var Ue;if((Ue=t.ppts)!=null&&Ue.length&&t.currentTime<t.ppts[0].time){l.value&&(l.value.isCurrent=!1),l.value=null;return}let J;const oe=t.ppts.length-1;if(t.currentTime<t.ppts[oe].time?(t.ppts.some((ke,ft)=>(J=ft,t.currentTime<ke.time)),J=J-1):J=oe,!isNaN(J)){const ke=t.ppts[J];ke&&(!l.value||l.value.page!==ke.page)&&(l.value&&(l.value.isCurrent=!1),l.value=ke,o.value==="截图"&&Ut())}};return Qi(()=>t.currentTime,J=>{J!=null&&t.ppts.length>0&&Kt()},{immediate:!0}),Qi(()=>{var J;return(J=g.value)==null?void 0:J.index},()=>{o.value==="字幕"&&ht()}),(J,oe)=>{var Ms,Fs;const Ue=_h,ke=_a,ft=cv,Ct=EI,bi=GI,Kn=HI,Gi=_I,ks=yh,ws=vh,Hr=hv,Ps=fv,Ds=Tl,Os=pv,kl=dv,wl=Xo,Pl=oa;return fe(),Ae("div",{class:Ni(["course-outline-container",{collapsed:!a.visible}]),onMouseover:nt,onMouseout:Dt},[ve("div",FA,[ve("div",NA,[oe[7]||(oe[7]=ve("span",{class:"panel-title"},"课程大纲",-1)),a.ppts.length>0&&de(h).length>0?(fe(),Ae("div",BA,[o.value==="字幕"?(fe(),Ae(Si,{key:0},[(Ms=de(i).user)!=null&&Ms.is_admin?(fe(),kt(ft,{key:0,title:"更新字幕术语标签"},{default:Oe(()=>[re(ke,{type:"text",size:"small",onClick:de(y)},{default:Oe(()=>[re(Ue)]),_:1},8,["onClick"])]),_:1})):ze("",!0),re(ft,{title:"查找替换"},{default:Oe(()=>[re(ke,{type:"text",onClick:K},{default:Oe(()=>[re(Ct)]),_:1})]),_:1})],64)):ze("",!0),re(Kn,{value:o.value,"onUpdate:value":oe[0]||(oe[0]=ui=>o.value=ui),"button-style":"solid",size:"small",onChange:_t},{default:Oe(()=>[a.ppts.length>0?(fe(),kt(bi,{key:0,value:"截图"},{default:Oe(()=>oe[5]||(oe[5]=[jt("截图")])),_:1,__:[5]})):ze("",!0),de(h).length>0?(fe(),kt(bi,{key:1,value:"字幕"},{default:Oe(()=>oe[6]||(oe[6]=[jt("字幕")])),_:1,__:[6]})):ze("",!0)]),_:1},8,["value"])])):ze("",!0)]),o.value==="字幕"&&A.visible?(fe(),Ae("div",UA,[ve("div",$A,[re(ke,{type:"text",size:"small",style:{flex:"none"},onClick:oe[1]||(oe[1]=ui=>A.replaceVisible=!0)},{default:Oe(()=>oe[8]||(oe[8]=[jt(" 替换 ")])),_:1,__:[8]})]),ve("div",GA,[ve("div",HA,[re(Gi,{value:A.keyword,"onUpdate:value":oe[2]||(oe[2]=ui=>A.keyword=ui),size:"small",placeholder:"查找",style:{flex:"1"},onChange:de(w),onPressEnter:de(w)},null,8,["value","onChange","onPressEnter"]),re(ft,{title:"区分大小写"},{default:Oe(()=>[re(ke,{type:A.isCaseSensitive?"primary":"text",size:"small",onClick:M,class:"u-operation-item",style:{"margin-left":"4px"}},{default:Oe(()=>oe[9]||(oe[9]=[jt("Aa")])),_:1,__:[9]},8,["type"])]),_:1}),ve("span",VA,Ht(A.results.length?`${A.current+1} / ${A.results.length}`:"无"),1),re(ke,{type:"text",size:"small",disabled:!A.results.length,onClick:O,class:"u-operation-item"},{default:Oe(()=>[re(ks)]),_:1},8,["disabled"]),re(ke,{type:"text",size:"small",disabled:!A.results.length,onClick:P,class:"u-operation-item"},{default:Oe(()=>[re(ws)]),_:1},8,["disabled"]),re(ke,{type:"text",size:"small",onClick:ee,class:"u-operation-item"},{default:Oe(()=>[re(Hr)]),_:1})]),A.replaceVisible?(fe(),Ae("div",KA,[re(Gi,{value:A.replaceText,"onUpdate:value":oe[3]||(oe[3]=ui=>A.replaceText=ui),size:"small",placeholder:"替换",style:{flex:"1"},onPressEnter:ue},null,8,["value"]),re(ke,{type:"text",size:"small",disabled:!A.results.length,onClick:ue,loading:A.submittingReplaceOne,class:"u-operation-item"},{default:Oe(()=>oe[10]||(oe[10]=[jt("依次替换")])),_:1,__:[10]},8,["disabled","loading"]),(Fs=de(i).user)!=null&&Fs.is_admin?(fe(),kt(ft,{key:0,title:"管理员:两字以上"},{default:Oe(()=>[re(ke,{type:"text",size:"small",disabled:!A.results.length||A.keyword.length<2,loading:A.submittingReplaceAll,onClick:me,class:"u-operation-item"},{default:Oe(()=>oe[11]||(oe[11]=[jt("批量替换")])),_:1,__:[11]},8,["disabled","loading"])]),_:1})):ze("",!0)])):ze("",!0)])])):ze("",!0),a.outlines.length>0?(fe(),kt(Pl,{key:1,"active-key":s.value,"onUpdate:activeKey":oe[4]||(oe[4]=ui=>s.value=ui),accordion:"",ghost:"",class:"player-panel-body",ref_key:"outlinePanelCollapseEl",ref:r,style:{position:"relative","border-left":"0",height:"calc(100% - 56px)"},onChange:be},{default:Oe(()=>[Te.visible?(fe(),Ae("div",{key:0,class:"m-subtitle-term-advice-modal",style:Is({left:Te.left+"px",to
32p:Te.top+"px"})},[oe[14]||(oe[14]=ve("div",null,"提交术语建议:",-1)),ve("div",WA,Ht(Te.selectText),1),re(ke,{type:"primary",size:"small",loading:Te.submitting,onClick:Re},{default:Oe(()=>oe[12]||(oe[12]=[jt("提交")])),_:1,__:[12]},8,["loading"]),oe[15]||(oe[15]=jt("  ")),re(ke,{size:"small",onClick:Qe},{default:Oe(()=>oe[13]||(oe[13]=[jt("取消")])),_:1,__:[13]})],4)):ze("",!0),Ge.visible?(fe(),Ae("div",{key:1,class:"m-subtitle-term-advice-tooltip",ref_key:"subtitleTermAdviceTooltipEl",ref:pt,style:Is({left:Ge.left+"px",top:Ge.top+"px"})},[re(ke,{size:"small",onClick:Pt},{default:Oe(()=>oe[16]||(oe[16]=[jt("删除")])),_:1,__:[16]})],4)):ze("",!0),(fe(!0),Ae(Si,null,Dr(a.outlines,(ui,Dl)=>(fe(),kt(wl,{key:`outline-${Dl}`,header:ui.name},{default:Oe(()=>[ve("div",{class:"course-ppts",ref_for:!0,ref:qe=>ui.el=qe,onMouseover:Xt,onMouseout:He},[o.value==="截图"?(fe(!0),Ae(Si,{key:0},Dr(ui.ppts,(qe,Ns)=>{var Qt,Aa,Ca,La;return fe(),Ae("div",{key:Ns,class:Ni(["course-ppt",{"f-current":qe.isCurrent}]),onClick:Vr=>We(qe.time),ref_for:!0,ref:Vr=>qe.el=Vr},[ve("img",{src:de(dh)(qe.image),class:"course-ppt-image"},null,8,zA),ve("div",jA,[jt(Ht(de(yv)(qe.time))+" ",1),(Qt=qe.video_tags)!=null&&Qt.length||(Aa=qe.keyword_advices)!=null&&Aa.length?(fe(),Ae("span",qA,"术语")):ze("",!0),(Ca=qe.papers)!=null&&Ca.length||(La=qe.paper_advices)!=null&&La.length?(fe(),Ae("span",XA,"资源")):ze("",!0)])],10,YA)}),128)):o.value==="字幕"?(fe(!0),Ae(Si,{key:1},Dr(ui.subtitles,(qe,Ns)=>(fe(),Ae("div",{key:Ns,class:Ni(["course-subtitle-container",{"f-current":qe.isCurrent,"f-search-highlight":qe.searchHighlight}]),onDblclick:Qt=>le(qe),onClick:Qt=>q(qe),onMouseup:_e,ref_for:!0,ref:Qt=>qe.el=Qt},[ve("span",ZA,Ht(qe.displayTime),1),de(v)!==qe.index?(fe(),Ae("span",{key:0,class:"course-subtitle",innerHTML:qe.html,rel:"subtitleEl","data-subtitle-index":qe.index},null,8,JA)):(fe(),Ae(Si,{key:1},[re(ft,{title:"回车:提交修改;Tab:提交修改并跳转到下一条字幕"},{default:Oe(()=>[re(ke,{type:"text",tabindex:"-1",disabled:qe.editValue===qe.text,onClick:Qt=>ce(qe)},{icon:Oe(()=>[re(Ps)]),_:2},1032,["disabled","onClick"])]),_:2},1024),re(ft,{title:"Esc:退出修改"},{default:Oe(()=>[re(ke,{type:"text",tabindex:"-1",onClick:B},{icon:Oe(()=>[re(Hr)]),_:1})]),_:1}),qe.editValue!==qe.text?(fe(),kt(ke,{key:0,type:"text",tabindex:"-1",onClick:Qt=>
32qe.editValue=qe.text},{icon:Oe(()=>[re(Ds)]),_:2},1032,["onClick"])):ze("",!0),re(kl,{value:qe.editValue,"onUpdate:value":Qt=>qe.editValue=Qt,class:Ni(["u-subtitle-input",{"f-diff":qe.editValue!==qe.text}]),disabled:qe.submitting,"auto-size":{minRows:1,maxRows:6},onInput:Qt=>Q(qe),onKeydown:Qt=>Y(Qt,qe),onCompositionstart:Qt=>qe.isComposing=!0,onCompositionend:Qt=>qe.isComposing=!1},gv({_:2},[qe.submitting?{name:"suffix",fn:Oe(()=>[re(Os)]),key:"0"}:void 0]),1032,["value","onUpdate:value","class","disabled","onInput","onKeydown","onCompositionstart","onCompositionend"])],64))],42,QA))),128)):ze("",!0)],544)]),_:2},1032,["header"]))),128))]),_:1},8,["active-key"])):ze("",!0)])],34)}}},tC=Br(eC,[["__scopeId","data-v-9dbefe8a"]]),iC={style:{margin:"4px 0"}},nC={key:2,class:"player-subtitle-text is-empty"},rC=["data-subtitle-index","innerHTML"],sC={key:1,class:"player-subtitle-edit"},aC={class:"subtitle-edit-actions"},oC={__name:"CourseStudySubtitleBar",props:{isPlaying:{type:Boolean,default:!1}},emits:["player-pause","player-play"],setup(a,{emit:e}){const t=a,n=e,i=uv(Sh,null),r=(i==null?void 0:i.currentSubtitle)??ot(null),s=(i==null?void 0:i.edittingSubtitleIndex)??ot(null),o=(i==null?void 0:i.submitSubtitle)??(async()=>!1),l=(i==null?void 0:i.submitTermAdvice)??(async()=>{}),u=(i==null?void 0:i.deleteTermAdvice)??(async()=>{}),h=ot(null),d=Je(()=>r.value&&s.value===r.value.index);Qi(()=>{var q,B;return((q=r.value)==null?void 0:q.html)||((B=r.value)==null?void 0:B.text)},async()=>{var B,H;if(d.value)return;await or();const q=(B=h.value)==null?void 0:B.querySelector(".player-subtitle-text.course-subtitle");q&&((H=window.MathJax)!=null&&H.typesetPromise)&&window.MathJax.typesetPromise([q])});const g=()=>h.value?!!h.value.closest(".xgplayer-fullscreen-parent"):!1,m=ot(!1);let v=null;const T=()=>{!r.value||d.value||(m.value=!1,v&&(clearTimeout(v),v=null),M(!1),n("player-pause"),i!=null&&i.startEditSubtitle?i.startEditSubtitle(r.value):s.value=r.value.index)},y=()=>{i!=null&&i.exitEditSubtitle?i.exitEditSubtitle():s.value=null,A.visible||n("player-play")},_=async()=>{r.value&&await o(r.value)&&y()},x=async q=>{q.isComposing||q.keyCode===229||(q.key==="Enter"?(q.preventDefault(),_()):q.key==="Escape"&&(q.preventDefault(),y()))},b=()=>{if(!r.value||r.value.isComposing)return;const q=r.value.editValue.replace(/[\r\n]+/g," ");q!==r.value.editValue&&(r.value.editValue=q)},R=q=>{d.value||q.button===0&&(q.detail>1||(m.value=t.isPlaying,t.isPlaying&&n("player-pause")))},A=aa({visible:!1,selectText:"",left:0,top:0,subtitle:null,submitting:!1,time:0,placement:"bottom"}),F=()=>{d.value||setTimeout(()=>{const q=window.getSelection(),B=q.toString().trim();if(q.rangeCount>0&&B.length>0){const H=q.getRangeAt(0);if((H.commonAncestorContainer.nodeType===Node.TEXT_NODE?H.commonAncestorContainer.parentNode:H.commonAncestorContainer).className==="player-subtitle-text course-subtitle"){n("player-pause");const Q=H.getBoundingClientRect();if(!h.value)return;const ce=h.value.getBoundingClientRect();A.left=Q.left-ce.left,A.left+145>ce.width&&(A.left=Math.max(0,ce.width-145));const ne=g();A.placement=ne?"top":"bottom",A.top=ne?Q.top-ce.top-8:Q.bottom-ce.top,A.visible=!0,A.selectText=B,A.subtitle=r.value,A.time=r.value.startTime}m.value=!1}if(!B&&m.value){v&&clearTimeout(v),v=setTimeout(()=>{m.value&&n("player-play"),m.value=!1,v=null},200);return}m.value=!1},0)},w=()=>{A.subtitle&&(A.submitting=!0,l({form:A.selectText,time:A.time,subtitle:A.subtitle}).then(q=>{(q==null?void 0:q.message)==="添加成功"?M():M(!1)}).catch(q=>{console.error(q),on.error({message:"提交失败"})}).finally(()=>{A.submitting=!1}))},M=(q=!0)=>{A.visible=!1,A.selectText="",window.getSelection().removeAllRanges(),q&&n("player-play")},O=aa({visible:!1,left:0,top:0,adviceId:null,subtitle:null,placement:"bottom"}),P=ot(null),K=q=>{var B;if(q.target.className==="u-course-subtitle-term-advice"){const H=q.target;if(!h.value)return;const Y=h.value.getBoundingClientRect(),Q=H.getBoundingClientRect(),ce=g();O.placement=ce?"top":"bottom",O.left=Q.left-Y.left,O.top=ce?Q.top-Y.top-8:Q.bottom-Y.top,O.visible=!0,O.adviceId=parseInt(H.dataset.id),O.subtitle=r.value}else O.visible&&!((B=P.value)!=null&&B.contains(q.target))&&(O.visible=!1)},ee=q=>{var B,H;q.target.className==="u-course-subtitle-term-advice"&&((B=P.value)!=null&&B.contains(q.relatedTarget)||((H=q.relatedTarget)==null?void 0:H.className)!=="u-course-subtitle-term-advice"&&(O.visible=!1))},le=()=>{!O.adviceId||!O.subtitle||vs.confirm({title:"确认删除",content:"确定要删除这条术语建议吗?",okText:"确定",cancelText:"取消",onOk:()=>u({adviceId:O.adviceId,subtitle:O.subtitle}).then(q=>(O.visible=!1,q)).catch(q=>(on.error({message:"删除失败"}),Promise.reject(q)))})},ae=q=>{q.key==="Escape"&&d.value&&y()};return window.addEventListener("keyup",ae),yl(()=>{window.removeEventListener("keyup",ae),v&&(clearTimeout(v),v=null)}),(q,B)=>{const H=_a,Y=cv,Q=dv;return fe(),Ae("div",{class:"player-subtitle-bar",ref_key:"subtitleBarEl",ref:h,onMouseover:K,onMouseout:ee},[A.visible?(fe(),Ae("div",{key:0,class:Ni(["m-subtitle-term-advice-modal",{"is-top":A.placement==="top"}
32]),style:Is({left:A.left+"px",top:A.top+"px"})},[B[6]||(B[6]=ve("div",null,"提交术语建议:",-1)),ve("div",iC,Ht(A.selectText),1),re(H,{type:"primary",size:"small",loading:A.submitting,onClick:w},{default:Oe(()=>B[4]||(B[4]=[jt("提交")])),_:1,__:[4]},8,["loading"]),B[7]||(B[7]=jt("  ")),re(H,{size:"small",onClick:M},{default:Oe(()=>B[5]||(B[5]=[jt("取消")])),_:1,__:[5]})],6)):ze("",!0),O.visible?(fe(),Ae("div",{key:1,class:Ni(["m-subtitle-term-advice-tooltip",{"is-top":O.placement==="top"}]),ref_key:"subtitleTermAdviceTooltipEl",ref:P,style:Is({left:O.left+"px",top:O.top+"px"})},[re(H,{size:"small",onClick:le},{default:Oe(()=>B[8]||(B[8]=[jt("删除")])),_:1,__:[8]})],6)):ze("",!0),de(r)?(fe(),Ae(Si,{key:3},[d.value?(fe(),Ae("div",sC,[ve("div",aC,[re(Y,{title:"回车:提交修改"},{default:Oe(()=>[re(H,{type:"text",tabindex:"-1",disabled:de(r).editValue===de(r).text,onClick:_},{icon:Oe(()=>[re(de(fv))]),_:1},8,["disabled"])]),_:1}),re(Y,{title:"Esc:退出修改"},{default:Oe(()=>[re(H,{type:"text",tabindex:"-1",onClick:y},{icon:Oe(()=>[re(de(hv))]),_:1})]),_:1}),de(r).editValue!==de(r).text?(fe(),kt(H,{key:0,type:"text",tabindex:"-1",onClick:B[0]||(B[0]=ce=>de(r).editValue=de(r).text)},{icon:Oe(()=>[re(de(Tl))]),_:1})):ze("",!0)]),re(Q,{value:de(r).editValue,"onUpdate:value":B[1]||(B[1]=ce=>de(r).editValue=ce),class:Ni(["u-subtitle-input",{"f-diff":de(r).editValue!==de(r).text}]),disabled:de(r).submitting,"auto-size":{minRows:1,maxRows:4},onInput:b,onKeydown:x,onCompositionstart:B[2]||(B[2]=ce=>de(r).isComposing=!0),onCompositionend:B[3]||(B[3]=ce=>de(r).isComposing=!1)},gv({_:2},[de(r).submitting?{name:"suffix",fn:Oe(()=>[re(de(pv))]),key:"0"}:void 0]),1032,["value","class","disabled"])])):(fe(),Ae("div",{key:0,class:"player-subtitle-text course-subtitle","data-subtitle-index":de(r).index,innerHTML:de(r).html||de(r).text,onMousedown:R,onDblclick:T,onMouseup:F},null,40,rC))],64)):(fe(),Ae("div",nC,"暂无字幕"))],544)}}},lC=Br(oC,[["__scopeId","data-v-cd1fb20a"]]);function jg(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,n)}return t}function wt(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jg(Object(t),!0).forEach(function(n){j(a,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):jg(Object(t)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))})}return a}function pi(a){"@babel/helpers - typeof";return pi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pi(a)}function Ce(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function qg(a,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(a,Tv(n.key),n)}}function Le(a,e,t){return e&&qg(a.prototype,e),t&&qg(a,t),Object.defineProperty(a,"prototype",{writable:!1}),a}function j(a,e,t){return e=Tv(e),e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Fe(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&Bc(a,e)}function Me(a){return Me=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Me(a)}function Bc(a,e){return Bc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Bc(a,e)}function uC(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function W(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function xh(a,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return W(a)}function Ne(a){var e=uC();return function(){var n=Me(a),i;if(e){var r=Me(this).constructor;i=Reflect.construct(n,arguments,r)}else i=n.apply(this,arguments);return xh(this,i)}}function cC(a,e){for(;!Object.prototype.hasOwnProperty.call(a,e)&&(a=Me(a),a!==null););return a}function $e(){return typeof Reflect<"u"&&Reflect.get?$e=Reflect.get.bind():$e=function(e,t,n){var i=cC(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},$e.apply(this,arguments)}function ln(a){return hC(a)||fC(a)||dC(a)||gC()}
vendor: 4,312 bytes, lines 32-33
32function hC(a){if(Array.isArray(a))return Uc(a)}function fC(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function dC(a,e){if(a){if(typeof a=="string")return Uc(a,e);var t=Object.prototype.toString.call(a).slice(8,-1);if(t==="Object"&&a.constructor&&(t=a.constructor.name),t==="Map"||t==="Set")return Array.from(a);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Uc(a,e)}}function Uc(a,e){(e==null||e>a.length)&&(e=a.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=a[t];return n}function gC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
33In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function pC(a,e){if(typeof a!="object"||a===null)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var n=t.call(a,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function Tv(a){var e=pC(a,"string");return typeof e=="symbol"?e:String(e)}var Wu={exports:{}},Xg;function mC(){return Xg||(Xg=1,function(a){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(l,u,h){this.fn=l,this.context=u,this.once=h||!1}function r(l,u,h,d,g){if(typeof h!="function")throw new TypeError("The listener must be a function");var m=new i(h,d||l,g),v=t?t+u:u;return l._events[v]?l._events[v].fn?l._events[v]=[l._events[v],m]:l._events[v].push(m):(l._events[v]=m,l._eventsCount++),l}function s(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function o(){this._events=new n,this._eventsCount=0}o.prototype.eventNames=function(){var u=[],h,d;if(this._eventsCount===0)return u;for(d in h=this._events)e.call(h,d)&&u.push(t?d.slice(1):d);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(h)):u},o.prototype.listeners=function(u){var h=t?t+u:u,d=this._events[h];if(!d)return[];if(d.fn)return[d.fn];for(var g=0,m=d.length,v=new Array(m);g<m;g++)v[g]=d[g].fn;return v},o.prototype.listenerCount=function(u){var h=t?t+u:u,d=this._events[h];return d?d.fn?1:d.length:0},o.prototype.emit=function(u,h,d,g,m,v){var T=t?t+u:u;if(!this._events[T])return!1;var y=this._events[T],_=arguments.length,x,b;if(y.fn){switch(y.once&&this.removeListener(u,y.fn,void 0,!0),_){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,h),!0;case 3:return y.fn.call(y.context,h,d),!0;case 4:return y.fn.call(y.context,h,d,g),!0;case 5:return y.fn.call(y.context,h,d,g,m),!0;case 6:return y.fn.call(y.context,h,d,g,m,v),!0}for(b=1,x=new Array(_-1);b<_;b++)x[b-1]=arguments[b];y.fn.apply(y.context,x)}else{var R=y.length,A;for(b=0;b<R;b++)switch(y[b].once&&this.removeListener(u,y[b].fn,void 0,!0),_){case 1:y[b].fn.call(y[b].context);break;case 2:y[b].fn.call(y[b].context,h);break;case 3:y[b].fn.call(y[b].context,h,d);break;case 4:y[b].fn.call(y[b].context,h,d,g);break;default:if(!x)for(A=1,x=new Array(_-1);A<_;A++)x[A-1]=arguments[A];y[b].fn.apply(y[b].context,x)}}return!0},o.prototype.on=function(u,h,d){return r(this,u,h,d,!1)},o.prototype.once=function(u,h,d){return r(this,u,h,d,!0)},o.prototype.removeListener=function(u,h,d,g){var m=t?t+u:u;if(!this._events[m])return this;if(!h)return s(this,m),this;var v=this._events[m];if(v.fn)v.fn===h&&(!g||v.once)&&(!d||v.context===d)&&s(this,m);else{for(var T=0,y=[],_=v.length;T<_;T++)(v[T].fn!==h||g&&!v[T].once||d&&v[T].context!==d)&&y.push(v[T]);y.length?this._events[m]=y.length===1?y[0]:y:s(this,m)}return this},o.prototype.removeAllListeners=function(u){var h;return u?(h=t?t+u:u,this._events[h]&&s(this,h)):(this._events=new n,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,a.exports=o}(Wu)),Wu.exports}var Ev=mC();const El=gh(Ev);var vC=typeof window<"u"&&window.location&&window.location.href.indexOf("xgplayerdebugger=1")>-1,Yu={info:"color: #525252; background-color: #90ee90;",error:"color: #525252; background-color: red;",warn:"color: #525252; background-color: yellow; "},zu="%c[xgplayer]",lt={config:{debug:vC?3:0},logInfo:function(e){for(var t,n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];this.config.debug>
33=3&&(t=console).log.apply(t,[zu,Yu.info,e].concat(i))},logWarn:function(e){for(var t,n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];this.config.debug>=1&&(t=console).warn.apply(t,[zu,Yu.warn,e].concat(i))},logError:function(e){var t;if(!(this.config.debug<1)){for(var n=this.config.debug>=2?"trace":"error",i=arguments.length,r=new Array(i>1?i-1:0),s=1;s<i;s++)r[s-1]=arguments[s];(t=console)[n].apply(t,[zu,Yu.error,e].concat(r))}}};function yC(a){a.logInfo=lt.logInfo.bind(a),a.logWarn=lt.logWarn.bind(a),a.logError=lt.logError.bind(a)}var TC=function(){function a(e){Ce(this,a),this.bufferedList=e}return Le(a,[{key:"start",value:function(t){return this.bufferedList[t].start}},{key:"end",value:function(t){return this.bufferedList[t].end}},{key:"length",get:function(){return this.bufferedList.length}}]),a}(),C={};C.createDom=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"div",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",i=document.createElement(a);return i.className=n,i.innerHTML=e,Object.keys(t).forEach(function(r){var s=r,o=t[r];a==="video"||a==="audio"||a==="live-video"?o&&i.setAttribute(s,o):i.setAttribute(s,o)}),i};C.createDomFromHtml=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";try{var n=document.createElement("div");n.innerHTML=a;var i=n.children;return n=null,i.length>0?(i=i[0],t&&C.addClass(i,t),e&&Object.keys(e).forEach(function(r){i.setAttribute(r,e[r])}),i):null}catch(r){return lt.logError("util.createDomFromHtml",r),null}};C.hasClass=function(a,e){if(!a||!e)return!1;try{return Array.prototype.some.call(a.classList,function(n){return n===e})}catch{var t=a.className&&pi(a.className)==="object"?a.getAttribute("class"):a.className;return t&&!!t.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))}};C.addClass=function(a,e){if(!(!a||!e))try{e.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach(function(t){t&&a.classList.add(t)})}catch{C.hasClass(a,e)||(a.className&&pi(a.className)==="object"?a.setAttribute("class",a.getAttribute("class")+" "+e):a.className+=" "+e)}};C.removeClass=function(a,e){if(!(!a||!e))try{e.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach(function(t){t&&a.classList.remove(t)})}catch{C.hasClass(a,e)&&e.split(/\s+/g).forEach(function(n){var i=new RegExp("(\\s|^)"+n+"(\\s|$)");a.className&&pi(a.className)==="object"?a.setAttribute("class",a.getAttribute("class").replace(i," ")):a.className=a.className.replace(i," ")})}};C.toggleClass=function(a,e){a&&e.split(/\s+/g).forEach(function(t){C.hasClass(a,t)?C.removeClass(a,t):C.addClass(a,t)})};C.classNames=function(){for(var a=arguments,e=[],t=function(r){C.typeOf(a[r])==="String"?e.push(a[r]):C.typeOf(a[r])==="Object"&&Object.keys(a[r]).map(function(s){a[r][s]&&e.push(s)})},n=0;n<arguments.length;n++)t(n);return e.join(" ")};C.findDom=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document,e=arguments.length>1?arguments[1]:void 0,t;try{t=a.querySelector(e)}catch(n){lt.logError("util.findDom",n),e.indexOf("#")===0&&(t=a.getElementById(e.slice(1)))}return t};C.getCss=function(a,e){return a.currentStyle?a.currentStyle[e]:document.defaultView.getComputedStyle(a,!1)[e]};C.padStart=function(a,e,t){for(var n=String(t),i=e>>0,r=Math.ceil(i/n.length),s=[],o=String(a);r--;)s.push(n);return s.join("").substring(0,i-o.length)+o};C.format=function(a){if(window.isNaN(a))return"";a=Math.round(a);var e=C.padStart(Math.floor(a/3600),2,0),t=C.padStart(Math.floor((a-e*3600)/60),2,0),n=C.padStart(Math.floor(a-e*3600-t*60),2,0);return(e==="00"?[t,n]:[e,t,n]).join(":")};C.event=function(a){if(a.touches){var e=a.touches[0]||a.changedTouches[0];a.clientX=e.clientX||0,a.clientY=e.clientY||0,a.offsetX=e.pageX-e.target.offsetLeft,a.offsetY=e.pageY-e.target.offsetTop}a._target=a.target||a.srcElement};C.typeOf=function(a){return Object.prototype.toString.call(a).match(/([^\s.*]+)(?=]$)/g)[0]};C.deepCopy=function(a,e){if(C.typeOf(e)==="Object"&&C.typeOf(a)==="Object")return Object.keys(e).forEach(function(t){C.typeOf(e[t])==="Object"&&!(e[t]instanceof Node)?a[t]===void 0||a[t]===void 0?a[t]=e[t]:C.deepCopy(a[t],e[t]):C.typeOf(e[t])==="Array"?a[t]=C.typeOf(a[t])==="Array"?a[t].concat(e[t]):e[t]:a[t]=e[t]}),a};C.deepMerge=function(a,e){return Object.keys(e).map(function(t){if(C.typeOf(e[t])==="Array"&&C.typeOf(a[t])==="Array"){if(C.typeOf(a[t])==="Array"){var n;(n=a[t]).push.apply(n,ln(e[t]))}}else C.typeOf(a[t])===C.typeOf(e[t])&&a[t]!==null&&C.typeOf(a[t])==="Object"&&!(e[t]instanceof window.Node)?C.deepMerge(a[t],e[t]):e[t]!==null&&(a[t]=e[t])}),a};C.getBgImage=function(a){var e=(a.currentStyle||window.getComputedStyle(a,null)).backgroundImage;if(!e||e==="none")return"";var t=document.createElement("a");return t.href=e.replace(/url\("|"\)/g,""),t.href};
33C.copyDom=function(a){if(a&&a.nodeType===1){var e=document.createElement(a.tagName);return Array.prototype.forEach.call(a.attributes,function(t){e.setAttribute(t.name,t.value)}),a.innerHTML&&(e.innerHTML=a.innerHTML),e}else return""};C.setInterval=function(a,e,t,n){a._interval[e]||(a._interval[e]=window.setInterval(t.bind(a),n))};C.clearInterval=function(a,e){clearInterval(a._interval[e]),a._interval[e]=null};C.setTimeout=function(a,e,t){a._timers||(a._timers=[]);var n=setTimeout(function(){e(),C.clearTimeout(a,n)},t);return a._timers.push(n),n};C.clearTimeout=function(a,e){var t=a._timers;if(C.typeOf(t)==="Array"){for(var n=0;n<t.length;n++)if(t[n]===e){t.splice(n,1),clearTimeout(e);break}}else clearTimeout(e)};C.clearAllTimers=function(a){var e=a._timers;C.typeOf(e)==="Array"&&(e.map(function(t){clearTimeout(t)}),a._timerIds=[])};C.createImgBtn=function(a,e,t,n){var i=C.createDom("xg-".concat(a),"",{},"xgplayer-".concat(a,"-img"));if(i.style.backgroundImage='url("'.concat(e,'")'),t&&n){var r,s,o;["px","rem","em","pt","dp","vw","vh","vm","%"].every(function(l){return t.indexOf(l)>-1&&n.indexOf(l)>-1?(r=parseFloat(t.slice(0,t.indexOf(l)).trim()),s=parseFloat(n.slice(0,n.indexOf(l)).trim()),o=l,!1):!0}),i.style.width="".concat(r).concat(o),i.style.height="".concat(s).concat(o),i.style.backgroundSize="".concat(r).concat(o," ").concat(s).concat(o),a==="start"?i.style.margin="-".concat(s/2).concat(o," auto auto -").concat(r/2).concat(o):i.style.margin="auto 5px auto 5px"}return i};C.Hex2RGBA=function(a,e){var t=[];if(/^\#[0-9A-F]{3}$/i.test(a)){var n="#";a.replace(/[0-9A-F]/ig,function(i){n+=i+i}),a=n}return/^#[0-9A-F]{6}$/i.test(a)?(a.replace(/[0-9A-F]{2}/ig,function(i){t.push(parseInt(i,16))}),"rgba(".concat(t.join(","),", ").concat(e,")")):"rgba(255, 255, 255, 0.1)"};C.getFullScreenEl=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement};C.checkIsFunction=function(a){return a&&typeof a=="function"};C.checkIsObject=function(a){return a!==null&&pi(a)==="object"};C.hide=function(a){a.style.display="none"};C.show=function(a,e){a.style.display=e||"block"};C.isUndefined=function(a){if(typeof a>"u"||a===null)return!0};C.isNotNull=function(a){return a!=null};C.setStyleFromCsstext=function(a,e){if(e)if(C.typeOf(e)==="String"){var t=e.replace(/\s+/g,"").split(";");t.map(function(n){if(n){var i=n.split(":");i.length>1&&(a.style[i[0]]=i[1])}})}else Object.keys(e).map(function(n){a.style[n]=e[n]})};function EC(a,e){for(var t=0,n=e.length;t<n;t++)if(a.indexOf(e[t])>-1)return!0;return!1}C.filterStyleFromText=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["width","height","top","left","bottom","right","position","z-index","padding","margin","transform"],t=a.style.cssText;if(!t)return{};var n=t.replace(/\s+/g,"").split(";"),i={},r={};return n.map(function(s){if(s){var o=s.split(":");o.length>1&&(EC(o[0],e)?i[o[0]]=o[1]:r[o[0]]=o[1])}}),a.setAttribute("style",""),Object.keys(r).map(function(s){a.style[s]=r[s]}),i};C.getStyleFromCsstext=function(a){var e=a.style.cssText;if(!e)return{};var t=e.replace(/\s+/g,"").split(";"),n={};return t.map(function(i){if(i){var r=i.split(":");r.length>1&&(n[r[0]]=r[1])}}),n};C.preloadImg=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){};if(a){var n=new window.Image;n.onload=function(i){n=null,e&&e(i)},n.onerror=function(i){n=null,t&&t(i)},n.src=a}};C.stopPropagation=function(a){a&&a.stopPropagation()};C.scrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0};C.scrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};C.checkTouchSupport=function(){return"ontouchstart"in window};C.getBuffered2=function(a){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:.5,t=[],n=0;n<a.length;n++)t.push({start:a.start(n)<.5?0:a.start(n),end:a.end(n)});t.sort(function(l,u){var h=l.start-u.start;return h||u.end-l.end});var i=[];if(e)for(var r=0;r<t.length;r++){var s=i.length;if(s){var o=i[s-1].end;t[r].start-o<e?t[r].end>o&&(i[s-1].end=t[r].end):i.push(t[r])}else i.push(t[r])}else i=t;return new TC(i)};C.getEventPos=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return a.touches&&a.touches.length>0&&(a=a.touches[0]),{x:a.x/e,y:a.y/e,clientX:a.clientX/e,clientY:a.clientY/e,offsetX:a.offsetX/e,offsetY:a.offsetY/e,pageX:a.pageX/e,pageY:a.pageY/e}};C.requestAnimationFrame=function(a){var e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(e)return e(a)};
33C.getHostFromUrl=function(a){if(C.typeOf(a)!=="String")return"";var e=a.split("/"),t="";return e.length>3&&e[2]&&(t=e[2]),t};C.cancelAnimationFrame=function(a){var e=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame;e&&e(a)};C.isMSE=function(a){return a.media&&(a=a.media),!a||!(a instanceof HTMLMediaElement)?!1:/^blob/.test(a.currentSrc)||/^blob/.test(a.src)};C.isBlob=function(a){return typeof a=="string"&&/^blob/.test(a)};C.generateSessionId=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,e=new Date().getTime();try{a=parseInt(a)}catch{a=0}e+=a,window.performance&&typeof window.performance.now=="function"&&(e+=parseInt(window.performance.now()));var t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var i=(e+Math.random()*16)%16|0;return e=Math.floor(e/16),(n==="x"?i:i&3|8).toString(16)});return t};C.createEvent=function(a){var e;return typeof window.Event=="function"?e=new Event(a):(e=document.createEvent("Event"),e.initEvent(a,!0,!0)),e};C.adjustTimeByDuration=function(a,e,t){return!e||!a?a:a>e||t&&a<e?e:a};C.createPositionBar=function(a,e){var t=C.createDom("xg-bar","",{"data-index":-1},a);return e.appendChild(t),t};C.getTransformStyle=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{x:0,y:0,scale:1,rotate:0},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t={scale:"".concat(a.scale||1),translate:"".concat(a.x||0,"%, ").concat(a.y||0,"%"),rotate:"".concat(a.rotate||0,"deg")},n=Object.keys(t);return n.forEach(function(i){var r=new RegExp("".concat(i,"\\([^\\(]+\\)"),"g"),s="".concat(i,"(").concat(t[i],")");r.test(e)?(r.lastIndex=-1,e=e.replace(r,s)):e+="".concat(s," ")}),e};C.convertDeg=function(a){return Math.abs(a)<=1?a*360:a%360};C.getIndexByTime=function(a,e){var t=e.length,n=-1;if(t<1)return n;if(a<=e[0].end||t<2)n=0;else if(a>e[t-1].end)n=t-1;else for(var i=1;i<t;i++)if(a>e[i-1].end&&a<=e[i].end){n=i;break}return n};C.getOffsetCurrentTime=function(a,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-1,n=-1;if(t>=0&&t<e.length?n=t:n=C.getIndexByTime(a,e),n<0)return-1;var i=e.length,r=e[n],s=r.start,o=r.end,l=r.cTime,u=r.offset;return a<s?l:a>=s&&a<=o?a-u:a>o&&n>=i-1?o:-1};C.getCurrentTimeByOffset=function(a,e){var t=-1;if(!e||e.length<0)return a;for(var n=0;n<e.length;n++)if(a<=e[n].duration){t=n;break}if(t!==-1){var i=e[t].start;return t-1<0?i+a:i+(a-e[t-1].duration)}return a};function _v(a){var e=pi(a);return a!==null&&(e==="object"||e==="function")}function _C(a,e,t){var n,i,r,s,o,l,u=0,h=!1,d=!1,g=!0,m=!e&&e!==0&&typeof window.requestAnimationFrame=="function";if(typeof a!="function")throw new TypeError("Expected a function");e=+e||0,_v(t)&&(h=!!t.leading,d="maxWait"in t,r=d?Math.max(+t.maxWait||0,e):r,g="trailing"in t?!!t.trailing:g);function v(P){var K=n,ee=i;return n=i=void 0,u=P,s=a.apply(ee,K),s}function T(P,K){return m?(window.cancelAnimationFrame(o),window.requestAnimationFrame(P)):setTimeout(P,K)}function y(P){if(m)return window.cancelAnimationFrame(P);clearTimeout(P)}function _(P){return u=P,o=T(R,e),h?v(P):s}function x(P){var K=P-l,ee=P-u,le=e-K;return d?Math.min(le,r-ee):le}function b(P){var K=P-l,ee=P-u;return l===void 0||K>=e||K<0||d&&ee>=r}function R(){var P=Date.now();if(b(P))return A(P);o=T(R,x(P))}function A(P){return o=void 0,g&&n?v(P):(n=i=void 0,s)}function F(){o!==void 0&&y(o),u=0,n=l=i=o=void 0}function w(){return o===void 0?s:A(Date.now())}function M(){return o!==void 0}function O(){for(var P=Date.now(),K=b(P),ee=arguments.length,le=new Array(ee),ae=0;ae<ee;ae++)le[ae]=arguments[ae];if(n=le,i=this,l=P,K){if(o===void 0)return _(l);
33if(d)return o=T(R,e),v(l)}return o===void 0&&(o=T(R,e)),s}return O.cancel=F,O.flush=w,O.pending=M,O}function SC(a,e,t){var n=!0,i=!0;if(typeof a!="function")throw new TypeError("Expected a function");return _v(t)&&(n="leading"in t?!!t.leading:n,i="trailing"in t?!!t.trailing:i),_C(a,e,{leading:n,trailing:i,maxWait:e})}function xC(){var a=(document.documentElement.getAttribute("lang")||navigator.language||"zh-cn").toLocaleLowerCase();return a==="zh-cn"&&(a="zh"),a}function bC(a,e,t){if(a){var n=a.getAttribute(t);return!!(n&&n===e&&(a.tagName==="VIDEO"||a.tagName==="AUDIO"))}}var Qg={android:/(Android)\s([\d.]+)/,ios:/(Version)\/([\d.]+)/},IC=["avc1.42E01E, mp4a.40.2","avc1.58A01E, mp4a.40.2","avc1.4D401E, mp4a.40.2","avc1.64001E, mp4a.40.2","avc1.42E01E","mp4v.20.8","mp4v.20.8, mp4a.40.2","mp4v.20.240, mp4a.40.2"],it={get device(){var a=it.os;return a.isPc?"pc":"mobile"},get browser(){if(typeof navigator>"u")return"";var a=navigator.userAgent.toLowerCase(),e={ie:/rv:([\d.]+)\) like gecko/,firefox:/firefox\/([\d.]+)/,chrome:/chrome\/([\d.]+)/,opera:/opera.([\d.]+)/,safari:/version\/([\d.]+).*safari/};return[].concat(Object.keys(e).filter(function(t){return e[t].test(a)}))[0]},get os(){if(typeof navigator>"u")return{};var a=navigator.userAgent,e=/(?:Windows Phone)/.test(a),t=/(?:SymbianOS)/.test(a)||e,n=/(?:Tizen)/ig.test(a),i=/(?:Web0S)/ig.test(a),r=/(?:Android)/.test(a),s=/(?:Firefox)/.test(a),o=/(?:iPad|PlayBook)/.test(a)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,l=o||r&&!/(?:Mobile)/.test(a)||s&&/(?:Tablet)/.test(a),u=/(?:iPhone)/.test(a)&&!l,h=!u&&!r&&!t&&!l;return{isTablet:l,isPhone:u,isIpad:o,isIos:u||o,isAndroid:r,isPc:h,isSymbian:t,isWindowsPhone:e,isFireFox:s,isTizen:n,isWebOS:i}},get osVersion(){if(typeof navigator>"u")return 0;var a=navigator.userAgent,e="";/(?:iPhone)|(?:iPad|PlayBook)/.test(a)?e=Qg.ios:e=Qg.android;var t=e?e.exec(a):[];if(t&&t.length>=3){var n=t[2].split(".");return n.length>0?parseInt(n[0]):0}return 0},get isWeixin(){if(typeof navigator>"u")return!1;var a=/(micromessenger)\/([\d.]+)/,e=a.exec(navigator.userAgent.toLocaleLowerCase());return!!e},isSupportMP4:function(){var e={isSupport:!1,mime:""};if(typeof document>"u")return e;if(this.supportResult)return this.supportResult;var t=document.createElement("video");return typeof t.canPlayType=="function"&&IC.map(function(n){t.canPlayType('video/mp4; codecs="'.concat(n,'"'))==="probably"&&(e.isSupport=!0,e.mime+="||".concat(n))}),this.supportResult=e,t=null,e},isMSESupport:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"';if(typeof MediaSource>"u"||!MediaSource)return!1;try{return MediaSource.isTypeSupported(e)}catch(t){return this._logger.error(e,t),!1}},isHevcSupported:function(){return typeof MediaSource>"u"||!MediaSource.isTypeSupported?!1:MediaSource.isTypeSupported('video/mp4;codecs="hev1.1.6.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.2.4.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.3.E.L120.90"')||MediaSource.isTypeSupported('video/mp4;codecs="hev1.4.10.L120.90"')},probeConfigSupported:function(e){var t={supported:!1,smooth:!1,powerEfficient:!1};if(!e||typeof navigator>"u")return Promise.resolve(t);if(navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo)return navigator.mediaCapabilities.decodingInfo(e);var n=e.video||{},i=e.audio||{};try{var r=MediaSource.isTypeSupported(n.contentType),s=MediaSource.isTypeSupported(i.contentType);return Promise.resolve({supported:r&&s,smooth:!1,powerEfficient:!1})}catch{return Promise.resolve(t)}}},$c="3.0.23",Zg={1:"media",2:"media",3:"media",4:"media",5:"media",6:"media"},Jg={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},Qo=Le(function a(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};Ce(this,a);var n=e&&e.i18n?e.i18n.ERROR_TYPES:null;if(e.media){var i=t.mediaError?t.mediaError:e.media.error||{},r=e.duration,s=e.currentTime,o=e.ended,l=e.src,u=e.currentSrc,h=e.media,d=h.readyState,g=h.networkState,m=t.errorCode||i.code;Jg[m]&&(m=Jg[m]);var v={playerVersion:$c,currentTime:s,duration:r,ended:o,readyState:d,networkState:g,src:l||u,errorType:t.errorType,errorCode:m,message:t.errorMessage||i.message,mediaError:i,originError:t.originError?t.originError.
33stack:"",host:C.getHostFromUrl(l||u)};return t.ext&&Object.keys(t.ext).map(function(x){v[x]=t.ext[x]}),v}else if(arguments.length>1){for(var T={playerVersion:$c,domain:document.domain},y=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],_=0;_<arguments.length;_++)T[y[_]]=arguments[_];return T.ex=n?(n[arguments[0]]||{}).msg:"",T}}),$i="play",bh="playing",Ur="ended",Rs="pause",Sa="error",_l="seeking",Gn="seeked",Bi="timeupdate",xa="waiting",$n="canplay",AC="canplaythrough",Vn="durationchange",Sv="volumechange",Hn="loadeddata",CC="loadedmetadata",xv="ratechange",bv="progress",Ih="loadstart",$r="emptied",LC="stalled",RC="suspend",kC="abort",wC="bufferedChange",Sl="focus",Ah="blur",Ch="ready",Iv="urlNull",Or="autoplay_started",Lh="autoplay_was_prevented",xl="complete",Zo="replay",Rh="destroy",bl="urlchange",Gc="download_speed_change",Av="leaveplayer",Cv="enterplayer",Lv="loading",Un="fullscreen_change",Jo="cssFullscreen_change",el="mini_state_change",kh="definition_change",PC="before_definition_change",Hc="after_definition_change",DC="SEI_PARSED",OC="retry",fr="video_resize",Vc="pip_change",Rv="rotate",kv="screenShot",tl="playnext",wv="shortcut",Pv="xglog",il="user_action",Il="reset",Dv="source_error",Ov="source_success",MC="switch_subtitle",Mv=["play","playing","ended","pause","error","seeking","seeked","timeupdate","waiting","canplay","canplaythrough","durationchange","volumechange","loadeddata","loadedmetadata","ratechange","progress","loadstart","emptied","stalled","suspend","abort","lowdecode"],Fv={STATS_INFO:"stats_info",STATS_DOWNLOAD:"stats_download",STATS_RESET:"stats_reset"},Nv="fps_stuck";const FC=Object.freeze(Object.defineProperty({__proto__:null,ABORT:kC,AFTER_DEFINITION_CHANGE:Hc,AUTOPLAY_PREVENTED:Lh,AUTOPLAY_STARTED:Or,BEFORE_DEFINITION_CHANGE:PC,BUFFER_CHANGE:wC,CANPLAY:$n,CANPLAY_THROUGH:AC,COMPLETE:xl,CSS_FULLSCREEN_CHANGE:Jo,DEFINITION_CHANGE:kh,DESTROY:Rh,DOWNLOAD_SPEED_CHANGE:Gc,DURATION_CHANGE:Vn,EMPTIED:$r,ENDED:Ur,ENTER_PLAYER:Cv,ERROR:Sa,FPS_STUCK:Nv,FULLSCREEN_CHANGE:Un,LEAVE_PLAYER:Av,LOADED_DATA:Hn,LOADED_METADATA:CC,LOADING:Lv,LOAD_START:Ih,MINI_STATE_CHANGE:el,PAUSE:Rs,PIP_CHANGE:Vc,PLAY:$i,PLAYER_BLUR:Ah,PLAYER_FOCUS:Sl,PLAYING:bh,PLAYNEXT:tl,PROGRESS:bv,RATE_CHANGE:xv,READY:Ch,REPLAY:Zo,RESET:Il,RETRY:OC,ROTATE:Rv,SCREEN_SHOT:kv,SEEKED:Gn,SEEKING:_l,SEI_PARSED:DC,SHORTCUT:wv,SOURCE_ERROR:Dv,SOURCE_SUCCESS:Ov,STALLED:LC,STATS_EVENTS:Fv,SUSPEND:RC,SWITCH_SUBTITLE:MC,TIME_UPDATE:Bi,URL_CHANGE:bl,URL_NULL:Iv,USER_ACTION:il,VIDEO_EVENTS:Mv,VIDEO_RESIZE:fr,VOLUME_CHANGE:Sv,WAITING:xa,XGLOG:Pv},Symbol.toStringTag,{value:"Module"}));function ju(a,e){!this||!this.emit||(a==="error"?this.errorHandler(a,e.error):this.emit(a,e))}function NC(a,e){return function(t,n){var i={player:e,eventName:a,originalEvent:t,detail:t.detail||{},timeStamp:t.timeStamp,currentTime:e.currentTime,duration:e.duration,paused:e.paused,ended:e.ended,isInternalOp:!!e._internalOp[t.type],muted:e.muted,volume:e.volume,host:C.getHostFromUrl(e.currentSrc),vtype:e.vtype};if(e.removeInnerOP(t.type),a==="timeupdate"&&(e._currentTime=e.media&&e.media.currentTime),a==="ratechange"){var r=e.media?e.media.playbackRate:0;if(r&&e._rate===r)return;e._rate=e.media&&e.media.playbackRate}if(a==="durationchange"&&(e._duration=e.media.duration),a==="volumechange"&&(i.isMutedChange=e._lastMuted!==e.muted,e._lastMuted=e.muted),a==="error"&&(i.error=n||e.video.error),e.mediaEventMiddleware[a]){var s=ju.bind(e,a,i);try{e.mediaEventMiddleware[a].call(e,i,s)}catch(o){throw ju.call(e,a,i),o}}else ju.call(e,a,i)}}var BC=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;Ce(this,t),i=e.call(this,n),i._hasStart=!1,i._currentTime=0,i._duration=0,i._internalOp={},i._lastMuted=!1,i.vtype="MP4",i._rate=-1,i.mediaConfig=Object.assign({},{controls:!1,autoplay:n.autoplay,playsinline:n.playsinline,"x5-playsinline":n.playsinline,"webkit-playsinline":n.playsinline,"x5-video-player-fullscreen":n["x5-video-player-fullscreen"]||n.x5VideoPlayerFullscreen,"x5-video-orientation":n["x5-video-orientation"]||n.x5VideoOrientation,airplay:n.airplay,"webkit-airplay":n.airplay,tabindex:n.tabindex|0,mediaType:n.mediaType||"video","data-index":-1},n.videoConfig,n.videoAttributes);var r=n["x5-video-player-type"]||n.x5VideoPlayerType;return it.isWeixin&&it.os.isAndroid&&r&&(i.mediaConfig["x5-video-player-type"]=r,delete i.mediaConfig.playsinline,delete i.mediaConfig["webkit-playsinline"],delete i.mediaConfig["x5-playsinline"]),n.loop&&(i.mediaConfig.loop="loop"),n.autoplayMuted&&!Object.prototype.hasOwnProperty.call(i.mediaConfig,"muted")&&(i.mediaConfig.muted=!0),i.media=n.mediaEl instanceof HTMLMediaElement?n.mediaEl:typeof n.mediaEl=="function"?n.mediaEl(i.mediaConfig):C.createDom(i.mediaConfig.mediaType,"",i.mediaConfig,""),n.defaultPlaybackRate&&(i.media.defaultPlaybackRate=i.media.playbackRate=n.defaultPlaybackRate),C.typeOf(n.volume)==="Number"&&(i.volume=n.volume),n.autoplayMuted&&(i.media.muted=!0,i._lastMuted=!0),n.autoplay&&(i.media.autoplay=!0),n.playsinline&&(i.media.playsinline=!0),i._interval={},i.mediaEventMiddleware={},i.attachVideoEvents(),i}return Le(t,[{key:"setEventsMiddleware",value:function(i){var r=this;Object.keys(i).map(function(s){r.mediaEventMiddleware[s]=i[s]})}},{key:"removeEventsMiddleware",value:function(i){var r=this;Object.keys(i).map(function(s){delete r.mediaEventMiddleware[s]})}},{key:"attachVideoEvents",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers||(this._evHandlers=Mv.map(function(s){var o="on".concat(s.charAt(0).toUpperCase()).concat(s.slice(1));return typeof i[o]=="function"&&i.on(s,i[o]),j({},s,NC(s,i))}
33)),this._evHandlers.forEach(function(s){var o=Object.keys(s)[0];r.addEventListener(o,s[o],!1)})}},{key:"detachVideoEvents",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.media;this._evHandlers.forEach(function(s){var o=Object.keys(s)[0];r.removeEventListener(o,s[o],!1)}),this._evHandlers.forEach(function(s){var o=Object.keys(s)[0],l="on".concat(o.charAt(0).toUpperCase()).concat(o.slice(1));typeof i[l]=="function"&&i.off(o,i[l])}),this._evHandlers=null}},{key:"_attachSourceEvents",value:function(i,r){var s=this;i.removeAttribute("src"),i.load(),r.forEach(function(d,g){s.media.appendChild(C.createDom("source","",{src:"".concat(d.src),type:"".concat(d.type||""),"data-index":g+1}))});var o=i.children;if(o){this._videoSourceCount=o.length,this._videoSourceIndex=o.length,this._vLoadeddata=function(d){s.emit(Ov,{src:d.target.currentSrc,host:C.getHostFromUrl(d.target.currentSrc)})};for(var l=null,u=0;u<this._evHandlers.length;u++)if(Object.keys(this._evHandlers[u])[0]==="error"){l=this._evHandlers[u];break}!this._sourceError&&(this._sourceError=function(d){var g=parseInt(d.target.getAttribute("data-index"),10);if(s._videoSourceIndex--,s._videoSourceIndex===0||g>=s._videoSourceCount){var m={code:4,message:"sources_load_error"};l?l.error(d,m):s.errorHandler("error",m)}var v=Zg[4];s.emit(Dv,new Qo(s,{errorType:v,errorCode:4,errorMessage:"sources_load_error",mediaError:{code:4,message:"sources_load_error"},src:d.target.src}))});for(var h=0;h<o.length;h++)o[h].addEventListener("error",this._sourceError);i.addEventListener("loadeddata",this._vLoadeddata)}}},{key:"_detachSourceEvents",value:function(i){var r=i.children;if(!(!r||r.length===0||!this._sourceError)){for(var s=0;s<r.length;s++)r[s].removeEventListener("error",this._sourceError);for(;r.length>0;)i.removeChild(r[0]);this._vLoadeddata&&i.removeEventListener("loadeddata",this._vLoadeddata)}}},{key:"errorHandler",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(this.media&&(this.media.error||r)){var s=this.media.error||r,o=s.code?Zg[s.code]:"other",l=s.message;this.media.currentSrc||this.media.srcObject||(l="empty_src",s={code:6,message:l}),this.emit(i,new Qo(this,{errorType:o,errorCode:s.code,errorMessage:s.message||"",mediaError:s}))}}},{key:"destroy",value:function(){this.media&&(this.media.pause&&(this.media.pause(),this.media.muted=!0),this.media.removeAttribute("src"),this.media.load()),this._currentTime=0,this._duration=0,this.mediaConfig=null;for(var i in this._interval)Object.prototype.hasOwnProperty.call(this._interval,i)&&(clearInterval(this._interval[i]),this._interval[i]=null);this.detachVideoEvents(),this.media=null,this.mediaEventMiddleware={},this.removeAllListeners()}},{key:"video",get:function(){return this.media},set:function(i){this.media=i}},{key:"play",value:function(){var i=this.media?this.media.play():null;return i}},{key:"pause",value:function(){this.media&&this.media.pause()}},{key:"load",value:function(){this.media&&this.media.load()}},{key:"canPlayType",value:function(i){return this.media?this.media.canPlayType(i):!1}},{key:"getBufferedRange",value:function(i){var r=[0,0];if(!this.media)return r;i||(i=this.media.buffered);var s=this.media.currentTime;if(i)for(var o=0,l=i.length;o<l&&(r[0]=i.start(o),r[1]=i.end(o),!(r[0]<=s&&s<=r[1]));o++);return r[0]-s<=0&&s-r[1]<=0?r:[0,0]}},{key:"autoplay",get:function(){return this.media?this.media.autoplay:!1},set:function(i){this.media&&(this.media.autoplay=i)}},{key:"buffered",get:function(){return this.media?this.media.buffered:null}},{key:"buffered2",get:function(){return this.media&&this.media.buffered?C.getBuffered2(this.media.buffered):null}},{key:"bufferedPoint",get:function(){var i={start:0,end:0};if(!this.media)return i;var r=this.media.buffered;if(!r||r.length===0)return i;for(var s=0;s<r.length;s++)if((r.start(s)<=this.currentTime||r.start(s)<.1)&&r.end(s)>=this.currentTime)return{start:r.start(s),end:r.end(s)};return i}},{key:"crossOrigin",get:function(){return this.media?this.media.crossOrigin:""},set:function(i){this.media&&(this.media.crossOrigin=i)}},{key:"currentSrc",get:function(){return this.media?this.media.currentSrc:""},set:function(i){this.media&&(this.media.currentSrc=i)}},{key:"currentTime",get:function(){return this.media?this.media.currentTime!==void 0?this.media.currentTime:this._currentTime:0}
33,set:function(i){this.media&&(this.media.currentTime=i)}},{key:"defaultMuted",get:function(){return this.media?this.media.defaultMuted:!1},set:function(i){this.media&&(this.media.defaultMuted=i)}},{key:"duration",get:function(){return this._duration}},{key:"ended",get:function(){return this.media?this.media.ended:!1}},{key:"error",get:function(){return this.media.error}},{key:"errorNote",get:function(){var i=this.media.error;if(!i)return"";var r=["MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED"];return r[this.media.error.code-1]}},{key:"loop",get:function(){return this.media?this.media.loop:!1},set:function(i){this.media&&(this.media.loop=i)}},{key:"muted",get:function(){return this.media?this.media.muted:!1},set:function(i){!this.media||this.media.muted===i||(this._lastMuted=this.media.muted,this.media.muted=i)}},{key:"networkState",get:function(){return this.media.networkState}},{key:"paused",get:function(){return this.media?this.media.paused:!0}},{key:"playbackRate",get:function(){return this.media?this.media.playbackRate:0},set:function(i){!this.media||i===1/0||(this.media.defaultPlaybackRate=i,this.media.playbackRate=i)}},{key:"played",get:function(){return this.media?this.media.played:null}},{key:"preload",get:function(){return this.media?this.media.preload:!1},set:function(i){this.media&&(this.media.preload=i)}},{key:"readyState",get:function(){return this.media.readyState}},{key:"seekable",get:function(){return this.media?this.media.seekable:!1}},{key:"seeking",get:function(){return this.media?this.media.seeking:!1}},{key:"src",get:function(){return this.media?this.media.src:""},set:function(i){if(this.media){if(this.emit(bl,i),this.emit(xa),this._currentTime=0,this._duration=0,C.isMSE(this.media)){this.onWaiting();return}this._detachSourceEvents(this.media),C.typeOf(i)==="Array"?this._attachSourceEvents(this.media,i):i?this.media.src=i:this.media.removeAttribute("src"),this.load()}}},{key:"volume",get:function(){return this.media?this.media.volume:0},set:function(i){i===1/0||!this.media||(this.media.volume=i)}},{key:"aspectRatio",get:function(){return this.media?this.media.videoWidth/this.media.videoHeight:0}},{key:"addInnerOP",value:function(i){this._internalOp[i]=!0}},{key:"removeInnerOP",value:function(i){delete this._internalOp[i]}},{key:"emit",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=$e(Me(t.prototype),"emit",this)).call.apply(s,[this,i,r].concat(l))}},{key:"on",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=$e(Me(t.prototype),"on",this)).call.apply(s,[this,i,r].concat(l))}},{key:"once",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=$e(Me(t.prototype),"once",this)).call.apply(s,[this,i,r].concat(l))}},{key:"off",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=$e(Me(t.prototype),"off",this)).call.apply(s,[this,i,r].concat(l))}},{key:"offAll",value:function(){$e(Me(t.prototype),"removeAllListeners",this).call(this)}}]),t}(El),UC=function(){function a(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{name:"xgplayer",version:1,db:null,ojstore:{name:"xg-m4a",keypath:"vid"}};Ce(this,a),this.indexedDB=window.indexedDB||window.webkitindexedDB,this.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange,this.myDB=e}return Le(a,[{key:"openDB",value:function(t){var n=this,i=this,r=this.myDB.version||1,s=i.indexedDB.open(i.myDB.name,r);s.onerror=function(o){},s.onsuccess=function(o){n.myDB.db=o.target.result,t.call(i)},s.onupgradeneeded=function(o){var l=o.target.result;o.target.transaction,l.objectStoreNames.contains(i.myDB.ojstore.name)||l.createObjectStore(i.myDB.ojstore.name,{keyPath:i.myDB.ojstore.keypath})}}},{key:"deletedb",value:function(){var t=this;t.indexedDB.deleteDatabase(this.myDB.name)}},{key:"closeDB",value:function(){this.myDB.db.close()}},{key:"addData",value:function(t,n){for(var i=this.myDB.db.transaction(t,"readwrite").objectStore(t),r,s=0;s<n.length;s++)r=i.add(n[s]),r.onerror=function(){},r.onsuccess=function(){}}},{key:"putData",value:function(t,n){for(var i=this.myDB.db.transaction(t,"readwrite").objectStore(t),r,s=0;s<n.length;s++)r=i.put(n[s]),r.onerror=function(){},r.onsuccess=function(){}}},{key:"getDataByKey",value:function(t,n,i){var r=this,s=this.myDB.db.transaction(t,"readwrite").objectStore(t),o=s.get(n);o.onerror=function(){i.call(r,null)},o.onsuccess=function(l){var u=l.target.result;i.call(r,u)}}},{key:"deleteData",value:function(t,n){var i=this.myDB.db.transaction(t,"readwrite").objectStore(t);i.delete(n)}},{key:"clearData",value:function(t){var n=this.myDB.db.transaction(t,"readwrite").objectStore(t);n.clear()}}]),a}(),ep=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],tp=["requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen"],ip=["exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen"],sr="data-xgplayerid";function To(a,e,t){for(var n=arguments.length,i=new Array(n>3?n-3:0),r=3;r<n;r++)i[r-3]=arguments[r];var s=e.call.apply(e,[a].concat(i));!t||typeof t!="function"||(s&&s.then?s.then(function(){for(var o=arguments.length,l=new Array(o),u=0;u<o;u++)l[u]=arguments[u];t.call.apply(t,[a].concat(l))}):t.call.apply(t,[a].concat(i)))}function nl(a,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{pre:null,next:null};return this.__hooks||(this.__hooks={}),!this.__hooks[a]&&(this.__hooks[a]=null),(function(){var n=arguments,i=this;if(t.pre)try{var r;(r=t.pre).call.apply(r,[this].concat(Array.prototype.slice.call(arguments)))}catch(o){throw o.message="[pluginName: ".concat(this.pluginName,":").concat(a,":pre error] >> ").concat(o.message),o}if(this.__hooks&&this.__hooks[a])try{var s=En.apply(void 0,[this,a,e].concat(Array.prototype.slice.call(arguments)));s?s.then?s.then(function(o){o!==!1&&To.apply(void 0,[i,e,t.next].concat(ln(n)))}).catch(function(o){throw o}):To.apply(void 0,[this,e,t.next].concat(Array.prototype.slice.call(arguments))):s===void 0&&To.apply(void 0,[this,e,t.next].concat(Array.prototype.slice.call(arguments)))}catch(o){throw o.message="[pluginName: ".concat(this.pluginName,":").concat(a,"] >> ").concat(o.message),o}else To.apply(void 0,[this,e,t.next].concat(Array.prototype.slice.call(arguments)))}).bind(this)}function Bv(a,e){var t=this.__hooks;if(!t||!Array.isArray(t[a]))return-1;for(var n=t[a],i=0;i<n.length;i++)if(n[i]===e)return i;return-1}function rl(a,e){var t=this.__hooks;if(t)return t.hasOwnProperty(a)?(Array.isArray(t[a])||(t[a]=[]),Bv.call(this,a,e)===-1&&t[a].push(e),!0):(console.warn("has no supported hook which name [".concat(a,"]")),!1)}function sl(a,e){var t=this.__hooks;if(t)if(Array.isArray(t[a])){var n=t[a],i=Bv.call(this,a,e);i!==-1&&n.splice(i,1)}
33else t[a]&&(t[a]=null)}function np(a){if(!(!this.plugins||!this.plugins[a.toLowerCase()])){for(var e=this.plugins[a.toLowerCase()],t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return e.useHooks&&e.useHooks.apply(e,n)}}function rp(a){if(!(!this.plugins||!this.plugins[a.toLowerCase()])){var e=this.plugins[a.toLowerCase()];if(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return e.removeHooks&&e.removeHooks.apply(e,n)}}}function Uv(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];a.__hooks={},e&&e.map(function(t){a.__hooks[t]=null}),Object.defineProperty(a,"hooks",{get:function(){return a.__hooks&&Object.keys(a.__hooks).map(function(n){if(a.__hooks[n])return n})}})}function $v(a){a.__hooks=null}function En(a,e,t){for(var n=arguments.length,i=new Array(n>3?n-3:0),r=3;r<n;r++)i[r-3]=arguments[r];if(a.__hooks&&Array.isArray(a.__hooks[e])){var s=a.__hooks[e],o=-1,l=function u(h,d,g){for(var m=arguments.length,v=new Array(m>3?m-3:0),T=3;T<m;T++)v[T-3]=arguments[T];if(o++,s.length===0||o===s.length)return g.call.apply(g,[h,h].concat(v));var y=s[o],_=y.call.apply(y,[h,h].concat(v));if(_&&_.then)return _.then(function(x){return x===!1?null:u.apply(void 0,[h,d,g].concat(v))}).catch(function(x){console.warn("[runHooks]".concat(d," reject"),x.message)});if(_!==!1)return u.apply(void 0,[h,d,g].concat(v));if(_===!1)return!1};return l.apply(void 0,[a,e,t].concat(i))}else return t.call.apply(t,[a,a].concat(i))}function qu(a,e){lt.logError("[".concat(a,"] event or callback cant be undefined or null when call ").concat(e))}var dr=function(){function a(e){Ce(this,a),C.checkIsFunction(this.beforeCreate)&&this.beforeCreate(e),Uv(this),this.__args=e,this.__events={},this.__onceEvents={},this.config=e.config||{},this.player=null,this.playerConfig={},this.pluginName="",this.__init(e)}return Le(a,[{key:"beforeCreate",value:function(t){}},{key:"afterCreate",value:function(){}},{key:"beforePlayerInit",value:function(){}},{key:"onPluginsReady",value:function(){}},{key:"afterPlayerInit",value:function(){}},{key:"destroy",value:function(){}},{key:"__init",value:function(t){this.player=t.player,this.playerConfig=t.player&&t.player.config,this.pluginName=t.pluginName?t.pluginName.toLowerCase():this.constructor.pluginName.toLowerCase(),this.logger=t.player&&t.player.logger}},{key:"updateLang",value:function(t){t||(t=this.lang)}},{key:"lang",get:function(){return this.player.lang}},{key:"i18n",get:function(){return this.player.i18n}},{key:"i18nKeys",get:function(){return this.player.i18nKeys}},{key:"domEventType",get:function(){var t=C.checkTouchSupport()?"touch":"mouse";return this.playerConfig&&(this.playerConfig.domEventType==="touch"||this.playerConfig.domEventType==="mouse")&&(t=this.playerConfig.domEventType),t}},{key:"on",value:function(t,n){var i=this;if(!t||!n||!this.player){qu(this.pluginName,"plugin.on(event, callback)");return}typeof t=="string"?(this.__events[t]=n,this.player.on(t,n)):Array.isArray(t)&&t.forEach(function(r){i.__events[r]=n,i.player.on(r,n)})}},{key:"once",value:function(t,n){var i=this;if(!t||!n||!this.player){qu(this.pluginName,"plugin.once(event, callback)");return}typeof t=="string"?(this.__onceEvents[t]=n,this.player.once(t,n)):Array.isArray(t)&&t.forEach(function(r){i.__onceEvents[r]=n,i.player.once(t,n)})}},{key:"off",value:function(t,n){var i=this;if(!t||!n||!this.player){qu(this.pluginName,"plugin.off(event, callback)");return}typeof t=="string"?(delete this.__events[t],this.player.off(t,n)):Array.isArray(t)&&t.forEach(function(r){delete i.__events[t],i.player.off(r,n)})}},{key:"offAll",value:function(){var t=this;["__events","__onceEvents"].forEach(function(n){Object.keys(t[n]).forEach(function(i){t[n][i]&&t.off(i,t[n][i]),i&&delete t[n][i]})}),this.__events={},this.__onceEvents={}}},{key:"emit",value:function(t){var n;if(this.player){for(var i=arguments.length,r=new Array(i>1?i-1:0),s=1;s<i;s++)r[s-1]=arguments[s];(n=this.player).emit.apply(n,[t].concat(r))}}},{key:"emitUserAction",value:function(t,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.player){var r=wt(wt({},i),{},{pluginName:this.pluginName});this.player.emitUserAction(t,n,r)}}},{key:"hook",value:function(t,n){return nl.call.apply(nl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(t,n){for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return rl.call.apply(rl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removeHooks",value:function(t,n){for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return sl.call.apply(sl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"registerPlugin",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";if(this.player)return i&&(n.pluginName=i),this.player.registerPlugin({plugin:t,options:n})}},{key:"getPlugin",value:function(t){return this.player?this.player.getPlugin(t):null}},{key:"__destroy",value:function(){var t=this,n=this.player,i=this.pluginName;this.offAll(),C.clearAllTimers(this),C.checkIsFunction(this.destroy)&&this.destroy(),["player","playerConfig","pluginName","logger","__args","__hooks"].map(function(r){t[r]=null}),n.unRegisterPlugin(i),$v(this)}}],[{key:"defineGetterOrSetter",value:function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&Object.defineProperty(t,i,n[i])}},{key:"defineMethod",value:function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&typeof n[i]=="function"&&Object.defineProperty(t,i,{configurable:!0,value:n[i]})}},{key:"defaultConfig",get:function(){return{}}},{key:"pluginName",get:function(){return"pluginName"}}]),a}(),Xu,sp;function $C(){if(sp)return Xu;sp=1;var a=9;if(typeof Element<"u"&&!Element.prototype.matches){var e=Element.prototype;e.matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}function t(n,i){for(;n&&n.nodeType!==a;){if(typeof n.matches=="function"&&n.matches(i))return n;n=n.parentNode}}return Xu=t,Xu}var Qu,ap;function GC(){if(ap)return Qu;ap=1;var a=$C();function e(i,r,s,o,l){var u=n.apply(this,arguments);return i.addEventListener(s,u,l),{destroy:function(){i.removeEventListener(s,u,l)}}}function t(i,r,s,o,l){return typeof i.addEventListener=="function"?e.apply(null,arguments):typeof s=="function"?e.bind(null,document).apply(null,arguments):(typeof i=="string"&&(i=document.querySelectorAll(i)),Array.prototype.map.call(i,function(u){return e(u,r,s,o,l)}))}function n(i,r,s,o){return function(l){l.delegateTarget=a(l.target,r),l.delegateTarget&&o.call(i,l)}}return Qu=t,Qu}var HC=GC();const op=gh(HC);var VC={CONTROLS:"controls",ROOT:"root"},bt={ROOT:"root",ROOT_LEFT:"rootLeft",ROOT_RIGHT:"rootRight",ROOT_TOP:"rootTop",CONTROLS_LEFT:"controlsLeft",CONTROLS_RIGTH:"controlsRight",CONTROLS_RIGHT:"controlsRight",CONTROLS_CENTER:"controlsCenter",CONTROLS:"controls"},lp={ICON_DISABLE:"xg-icon-disable"};
33function Zu(a){return a?a.indexOf&&/^(?:http|data:|\/)/.test(a):!1}function KC(a,e){return pi(a)==="object"&&a.class&&typeof a.class=="string"?"".concat(e," ").concat(a.class):e}function WC(a,e){return pi(a)==="object"&&a.attr&&pi(a.attr)==="object"&&Object.keys(a.attr).map(function(t){e[t]=a.attr[t]}),e}function up(a,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",r=null;if(a instanceof window.Element)return C.addClass(a,t),Object.keys(n).map(function(s){a.setAttribute(s,n[s])}),a;if(Zu(a)||Zu(a.url))return n.src=Zu(a)?a:a.url||"",r=C.createDom(a.tag||"img","",n,"xg-img ".concat(t)),r;if(typeof a=="function")try{return r=a(),r instanceof window.Element?(C.addClass(r,t),Object.keys(n).map(function(s){r.setAttribute(s,n[s])}),r):(lt.logWarn("warn>>icons.".concat(e," in config of plugin named [").concat(i,"] is a function mast return an Element Object")),null)}catch(s){return lt.logError("Plugin named [".concat(i,"]:createIcon"),s),null}return typeof a=="string"?C.createDomFromHtml(a,n,t):(lt.logWarn("warn>>icons.".concat(e," in config of plugin named [").concat(i,"] is invalid")),null)}function YC(a,e){var t=e.config.icons||e.playerConfig.icons;Object.keys(a).map(function(n){var i=a[n],r=i&&i.class?i.class:"",s=i&&i.attr?i.attr:{},o=null;t&&t[n]&&(r=KC(t[n],r),s=WC(t[n],s),o=up(t[n],n,r,s,e.pluginName)),!o&&i&&(o=up(i.icon?i.icon:i,s,r,{},e.pluginName)),e.icons[n]=o})}function zC(a,e){Object.keys(a).map(function(t){Object.defineProperty(e.langText,t,{get:function(){var i=e.lang,r=e.i18n;return r[t]?r[t]:a[t]&&a[t][i]||""}})})}var gt=function(a){Fe(t,a);var e=Ne(t);function t(){var n,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Ce(this,t),n=e.call(this,i),n.__delegates=[],n}return Le(t,[{key:"__init",value:function(i){if($e(Me(t.prototype),"__init",this).call(this,i),!!i.root){var r=i.root,s=null;this.icons={},this.root=null,this.parent=null,this.extraEls=[];var o=this.registerIcons()||{};YC(o,this),this.langText={};var l=this.registerLanguageTexts()||{};zC(l,this);var u="";try{u=this.render()}catch(g){throw lt.logError("Plugin:".concat(this.pluginName,":render"),g),new Error("Plugin:".concat(this.pluginName,":render:").concat(g.message))}if(u)s=t.insert(u,r,i.index),s.setAttribute("data-index",i.index);else if(i.tag)s=C.createDom(i.tag,"",i.attr,i.name),s.setAttribute("data-index",i.index),r.appendChild(s);else return;this.root=s,this.parent=r;var h=this.config.attr||{},d=this.config.style||{};this.setAttr(h),this.setStyle(d),this.config.index&&this.root.setAttribute("data-index",this.config.index),this.__registerChildren()}}},{key:"__registerChildren",value:function(){var i=this;if(this.root){this._children=[];var r=this.children();r&&pi(r)==="object"&&Object.keys(r).length>0&&Object.keys(r).map(function(s){var o=s,l=r[o],u={root:i.root},h,d;typeof l=="function"?(h=i.config[o]||{},d=l):pi(l)==="object"&&typeof l.plugin=="function"&&(h=l.options?C.deepCopy(i.config[o]||{},l.options):i.config[o]||{},d=l.plugin),u.config=h,h.index!==void 0&&(u.index=h.index),h.root&&(u.root=h.root),i.registerPlugin(d,u,o)})}}},{key:"updateLang",value:function(i){i||(i=this.lang);function r(u,h){for(var d=0;d<u.children.length;d++)u.children[d].children.length>0?r(u.children[d],h):h(u.children[d])}var s=this.root,o=this.i18n,l=this.langText;s&&r(s,function(u){var h=u.getAttribute&&u.getAttribute("lang-key");if(h){var d=o[h.toUpperCase()]||l[h];d&&(u.innerHTML=typeof d=="function"?d(i):d)}})}},{key:"lang",get:function(){return this.player.lang}},{key:"changeLangTextKey",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=this.i18n||{},o=this.langText;i.setAttribute&&i.setAttribute("lang-key",r);var l=s[r]||o[r]||"";l&&(i.innerHTML=l)}},{key:"plugins",value:function(){return this._children}},{key:"disable",value:function(){this.config.disable=!0,C.addClass(this.find(".xgplayer-icon"),lp.ICON_DISABLE)}},{key:"enable",value:function(){this.config.disable=!1,C.removeClass(this.find(".xgplayer-icon"),lp.ICON_DISABLE)}},{key:"children",value:function(){return{}}},{key:"registerPlugin",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";r.root=r.root||this.root;var o=$e(Me(t.prototype),"registerPlugin",this).call(this,i,r,s);return this._children.push(o),o}},{key:"registerIcons",value:function(){return{}}},{key:"registerLanguageTexts",value:function(){return{}}},{key:"find",value:function(i){if(this.root)return this.root.querySelector(i)}},{key:"bind",value:function(i,r,s){var o=this;if(arguments.length<3&&typeof r=="function")Array.isArray(i)?i.forEac
33h(function(u){o.bindEL(u,r)}):this.bindEL(i,r);else{var l=t.delegate.call(this,this.root,i,r,s);this.__delegates=this.__delegates.concat(l)}}},{key:"unbind",value:function(i,r){var s=this;if(arguments.length<3&&typeof r=="function")Array.isArray(i)?i.forEach(function(u){s.unbindEL(u,r)}):this.unbindEL(i,r);else for(var o="".concat(i,"_").concat(r),l=0;l<this.__delegates.length;l++)if(this.__delegates[l].key===o){this.__delegates[l].destroy(),this.__delegates.splice(l,1);break}}},{key:"setStyle",value:function(i,r){var s=this;if(this.root){if(C.typeOf(i)==="String")return this.root.style[i]=r;C.typeOf(i)==="Object"&&Object.keys(i).map(function(o){s.root.style[o]=i[o]})}}},{key:"setAttr",value:function(i,r){var s=this;if(this.root){if(C.typeOf(i)==="String")return this.root.setAttribute(i,r);C.typeOf(i)==="Object"&&Object.keys(i).map(function(o){s.root.setAttribute(o,i[o])})}}},{key:"setHtml",value:function(i,r){this.root&&(this.root.innerHTML=i,typeof r=="function"&&r())}},{key:"bindEL",value:function(i,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.root&&"on".concat(i)in this.root&&typeof r=="function"&&this.root.addEventListener(i,r,s)}},{key:"unbindEL",value:function(i,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.root&&"on".concat(i)in this.root&&typeof r=="function"&&this.root.removeEventListener(i,r,s)}},{key:"show",value:function(i){if(this.root){this.root.style.display=i!==void 0?i:"block";var r=window.getComputedStyle(this.root,null),s=r.getPropertyValue("display");if(s==="none")return this.root.style.display="block"}}},{key:"hide",value:function(){this.root&&(this.root.style.display="none")}},{key:"appendChild",value:function(i,r){if(!this.root)return null;if(arguments.length<2&&arguments[0]instanceof window.Element)return this.root.appendChild(arguments[0]);if(!r||!(r instanceof window.Element))return null;try{return typeof i=="string"?this.find(i).appendChild(r):i.appendChild(r)}catch(s){return lt.logError("Plugin:appendChild",s),null}}},{key:"render",value:function(){return""}},{key:"destroy",value:function(){}},{key:"__destroy",value:function(){var i=this,r=this.player;this.__delegates.map(function(s){s.destroy()}),this.__delegates=[],this._children instanceof Array&&(this._children.map(function(s){r.unRegisterPlugin(s.pluginName)}),this._children=null),this.root&&(this.root.hasOwnProperty("remove")?this.root.remove():this.root.parentNode&&this.root.parentNode.removeChild(this.root)),$e(Me(t.prototype),"__destroy",this).call(this),this.icons={},["root","parent"].map(function(s){i[s]=null}),this.extraEls=[]}}],[{key:"insert",value:function(i,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=r.children.length,l=Number(s),u=i instanceof window.Node;if(o){for(var h=0,d=null,g="";h<o;h++){d=r.children[h];var m=Number(d.getAttribute("data-index"));if(m>=l){g="beforebegin";break}else m<l&&(g="afterend")}return u?g==="afterend"?r.appendChild(i):r.insertBefore(i,d):d.insertAdjacentHTML(g,i),g==="afterend"?r.children[r.children.length-1]:r.children[h]}else return u?r.appendChild(i):r.insertAdjacentHTML("beforeend",i),r.children[r.children.length-1]}},{key:"defaultConfig",get:function(){return{}}},{key:"delegate",value:function(i,r,s,o){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,u=[];if(i instanceof window.Node&&typeof o=="function")if(Array.isArray(s))s.forEach(function(d){var g=op(i,r,d,o,l);g.key="".concat(r,"_").concat(d),u.push(g)});else{var h=op(i,r,s,o,l);h.key="".concat(r,"_").concat(s),u.push(h)}return u}},{key:"ROOT_TYPES",get:function(){return VC}},{key:"POSITIONS",get:function(){return bt}}]),t}(dr),jC=function(){function a(){var e=this;if(Ce(this,a),j(this,"__trigger",function(t){var n=new Date().getTime();e.timeStamp=n;for(var i=0;i<t.length;i++)e.__runHandler(t[i].target)}),this.__handlers=[],this.timeStamp=0,this.observer=null,!!window.ResizeObserver)try{this.observer=new window.ResizeObserver(SC(this.__trigger,100,{trailing:!0})),this.timeStamp=new Date().getTime()}catch(t){console.error(t)}}return Le(a,[{key:"addObserver",value:function(t,n){if(this.observer){this.observer.observe(t);for(var i=t.getAttribute(sr),r=this.__handlers,s=-1,o=0;o<r.length;o++)r[o]&&t===r[o].target&&(s=o);s>-1?this.__handlers[s].handler=n:this.__handlers.push({target:t,handler:n,playerId:i})}}},{key:"unObserver",value:function(t){var n=-1;this.__handlers.map(function(r,s){t===r.target&&(n=s)});try{var i;(i=this.observer)===null||i===void 0||i.unobserve(t)}catch{}n>-1&&this.__handlers.splice(n,1)}},{key:"destroyObserver",value:function(){var t;(t=this.observer)===null||t===void 0||t.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(t){for(var n=this.__handlers,i=0;i<n.length;i++)if(n[i]&&t===n[i].target){try{n[i].handler(t)}catch(r){console.error(r)}return!0}return!1}}]),a}(),na=null;function qC(a,e){return na||(na=new jC),na.addObserver(a,e),na}function XC(a,e){var t;(t=na)===null||t===void 0||t.unObserver(a,e)}var li={pluginGroup:{},init:function(e){var t=e._pluginInfoId;t||(t=new Date().getTime(),e._pluginInfoId=t),!e.config.closeResizeObserver&&qC(e.root,function(){e.resize()}),this.pluginGroup[t]={_originalOptions:e.config||{},_plugins:{}}},formatPluginInfo:function(e,t){var n=null,i=null;return e.plugin&&typeof e.plugin=="function"?(n=e.plugin,i=e.options):(n=e,i={}),t&&(i.config=t||{}),{PLUFGIN:n,options:i}},checkPluginIfExits:function(e,t){for(var n=0;n<t.length;n++)if(e.toLowerCase()===t[n].pluginName.toLowerCase())return!0;return!1},getRootByConfig:function(e,t){for(var n=Object.keys(t),i=null,r=0;r<n.length;r++)if(e.toLowerCase()===n[r].toLowerCase()){i=t[n[r]];break}return C.typeOf(i)==="Object"?{root:i.root,position:i.position}:{}},lazyRegister:function(e,t){var n=this,i=t.timeout||1500;return Promise.race([t.loader().then(function(r){var s;r&&r.__esModule?s=r.default:s=r,n.register(e,s,r.options)}),new Promise(function(r,s){setTimeout(function(){s(new Error("timeout"))},i)})])},register:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!(!e||!t||typeof t!="function"||t.prototype===void 0)){var i=e._pluginInfoId;if(!(!i||!this.pluginGroup[i])){this.pluginGroup[i]._plugins||(this.pluginGroup[i]._plugins={});var r=this.pluginGroup[i]._plugins,s=this.pluginGroup[i]._originalOptions;n.player=e;var o=n.pluginName||t.pluginName;if(!o)throw new Error("The property pluginName is necessary");if(t.isSupported&&!t.isSupported(e.config.mediaType,e.config.codecType)){console.warn("not supported plugin [".concat(o,"]"));return}n.config||(n.config={});for(var l=Object.keys(s),u=0;u<l.length;u++)if(o.toLowerCase()===l[u].toLowerCase()){var h=s[l[u]];
33C.typeOf(h)==="Object"?n.config=Object.assign({},n.config,s[l[u]]):C.typeOf(h)==="Boolean"&&(n.config.disable=!h);break}t.defaultConfig&&Object.keys(t.defaultConfig).forEach(function(g){typeof n.config[g]>"u"&&(n.config[g]=t.defaultConfig[g])}),n.root?typeof n.root=="string"&&(n.root=e[n.root]):n.root=e.root,n.index=n.config.index||0;try{r[o.toLowerCase()]&&(this.unRegister(i,o.toLowerCase()),console.warn("the is one plugin with same pluginName [".concat(o,"] exist, destroy the old instance")));var d=new t(n);return r[o.toLowerCase()]=d,r[o.toLowerCase()].func=t,d&&typeof d.afterCreate=="function"&&d.afterCreate(),d}catch(g){throw console.error(g),g}}}},unRegister:function(e,t){e._pluginInfoId&&(e=e._pluginInfoId),t=t.toLowerCase();try{var n=this.pluginGroup[e]._plugins[t];n&&(n.pluginName&&n.__destroy(),delete this.pluginGroup[e]._plugins[t])}catch(i){console.error("[unRegister:".concat(t,"] cgid:[").concat(e,"] error"),i)}},deletePlugin:function(e,t){var n=e._pluginInfoId;n&&this.pluginGroup[n]&&this.pluginGroup[n]._plugins&&delete this.pluginGroup[n]._plugins[t]},getPlugins:function(e){var t=e._pluginInfoId;return t&&this.pluginGroup[t]?this.pluginGroup[t]._plugins:{}},findPlugin:function(e,t){var n=e._pluginInfoId;if(!n||!this.pluginGroup[n])return null;var i=t.toLowerCase();return this.pluginGroup[n]._plugins[i]},beforeInit:function(e){var t=this;function n(i){return!i||!i.then?new Promise(function(r){r()}):i}return new Promise(function(i){if(t.pluginGroup){var r;return e._loadingPlugins&&e._loadingPlugins.length?r=Promise.all(e._loadingPlugins):r=Promise.resolve(),r.then(function(){var s=e._pluginInfoId;if(!t.pluginGroup[s]){i();return}var o=t.pluginGroup[s]._plugins,l=[];Object.keys(o).forEach(function(u){if(o[u]&&o[u].beforePlayerInit)try{var h=o[u].beforePlayerInit();l.push(n(h))}catch(d){throw l.push(n(null)),d}}),Promise.all([].concat(l)).then(function(){i()}).catch(function(u){console.error(u),i()})})}})},afterInit:function(e){var t=e._pluginInfoId;if(!(!t||!this.pluginGroup[t])){var n=this.pluginGroup[t]._plugins;Object.keys(n).forEach(function(i){n[i]&&n[i].afterPlayerInit&&n[i].afterPlayerInit()})}},setLang:function(e,t){var n=t._pluginInfoId;if(!(!n||!this.pluginGroup[n])){var i=this.pluginGroup[n]._plugins;
33Object.keys(i).forEach(function(r){if(i[r].updateLang)i[r].updateLang(e);else try{i[r].lang=e}catch{console.warn("".concat(r," setLang"))}})}},reRender:function(e){var t=this,n=e._pluginInfoId;if(!(!n||!this.pluginGroup[n])){var i=[],r=this.pluginGroup[n]._plugins;Object.keys(r).forEach(function(s){s!=="controls"&&r[s]&&(i.push({plugin:r[s].func,options:r[s].__args}),t.unRegister(n,s))}),i.forEach(function(s){t.register(e,s.plugin,s.options)})}},onPluginsReady:function(e){var t=e._pluginInfoId;if(!(!t||!this.pluginGroup[t])){var n=this.pluginGroup[t]._plugins||{};Object.keys(n).forEach(function(i){n[i].onPluginsReady&&typeof n[i].onPluginsReady=="function"&&n[i].onPluginsReady()})}},destroy:function(e){var t=e._pluginInfoId;if(this.pluginGroup[t]){XC(e.root);for(var n=this.pluginGroup[t]._plugins,i=0,r=Object.keys(n);i<r.length;i++){var s=r[i];this.unRegister(t,s)}delete this.pluginGroup[t],delete e._pluginInfoId}}},he={DEFAULT:"xgplayer",DEFAULT_SKIN:"xgplayer-skin-default",ENTER:"xgplayer-is-enter",PAUSED:"xgplayer-pause",PLAYING:"xgplayer-playing",ENDED:"xgplayer-ended",CANPLAY:"xgplayer-canplay",LOADING:"xgplayer-isloading",ERROR:"xgplayer-is-error",REPLAY:"xgplayer-replay",NO_START:"xgplayer-nostart",ACTIVE:"xgplayer-active",INACTIVE:"xgplayer-inactive",FULLSCREEN:"xgplayer-is-fullscreen",CSS_FULLSCREEN:"xgplayer-is-cssfullscreen",ROTATE_FULLSCREEN:"xgplayer-rotate-fullscreen",PARENT_ROTATE_FULLSCREEN:"xgplayer-rotate-parent",PARENT_FULLSCREEN:"xgplayer-fullscreen-parent",INNER_FULLSCREEN:"xgplayer-fullscreen-inner",NO_CONTROLS:"no-controls",FLEX_CONTROLS:"flex-controls",CONTROLS_FOLLOW:"controls-follow",CONTROLS_AUTOHIDE:"controls-autohide",TOP_BAR_AUTOHIDE:"top-bar-autohide",NOT_ALLOW_AUTOPLAY:"not-allow-autoplay",SEEKING:"seeking",PC:"xgplayer-pc",MOBILE:"xgplayer-mobile",MINI:"xgplayer-mini"};function cp(){return{id:"",el:null,url:"",domEventType:"default",nullUrlStart:!1,width:600,height:337.5,fluid:!1,fitVideoSize:"fixed",videoFillMode:"auto",volume:.6,autoplay:!1,autoplayMuted:!1,loop:!1,isLive:!1,zoom:1,videoInit:!0,poster:"",isMobileSimulateMode:!1,defaultPlaybackRate:1,execBeforePluginsCall:null,allowSeekAfterEnded:!0,enableContextmenu:!0,closeVideoClick:!1,closeVideoDblclick:!1,closePlayerBlur:!1,closeDelayBlur:!1,leavePlayerTime:3e3,closePlayVideoFocus:!1,closePauseVideoFocus:!1,closeFocusVideoFocus:!0,closeControlsBlur:!0,topBarAutoHide:!0,videoAttributes:{},startTime:0,seekedStatus:"play",miniprogress:!1,disableSwipeHandler:function(){},enableSwipeHandler:function(){},preProcessUrl:null,ignores:[],whitelist:[],inactive:3e3,lang:xC(),controls:!0,marginControls:!1,fullscreenTarget:null,screenShot:!1,rotate:!1,pip:!1,download:!1,mini:!1,cssFullscreen:!0,keyShortcut:!0,presets:[],plugins:[],playbackRate:1,definition:{list:[]},playsinline:!0,customDuration:0,timeOffset:0,icons:{},i18n:[],tabindex:0,thumbnail:null,videoConfig:{},isHideTips:!1,minWaitDelay:200,commonStyle:{progressColor:"",playedColor:"",cachedColor:"",sliderBtnStyle:{},volumeColor:""}}}var QC=function(e,t){var n,i,r;t.preset&&t.options?r=new t.preset(t.options,e.config):r=new t({},e.config);var s=r,o=s.plugins,l=o===void 0?[]:o,u=s.ignores,h=u===void 0?[]:u,d=s.icons,g=d===void 0?{}:d,m=s.i18n,v=m===void 0?[]:m;e.config.plugins||(e.config.plugins=[]),e.config.ignores||(e.config.ignores=[]),(n=e.config.plugins).push.apply(n,ln(l)),(i=e.config.ignores).push.apply(i,ln(h)),Object.keys(g).map(function(y){e.config.icons[y]||(e.config.icons[y]=g[y])});var T=e.config.i18n||[];v.push.apply(v,ln(T)),e.config.i18n=v},ZC=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onMouseEnter",function(o){var l=W(n),u=l.player,h=l.playerConfig;h.closeControlsBlur&&u.focus({autoHide:!1})}),j(W(n),"onMouseLeave",function(o){var l=W(n),u=l.player;u.focus()}),n}return Le(t,[{key:"beforeCreate",value:function(i){!i.config.mode&&it.device==="mobile"&&(i.config.mode="flex"),i.player.config.marginControls&&(i.config.autoHide=!1)}},{key:"afterCreate",value:function(){var i=this,r=this.config,s=r.disable,o=r.height,l=r.mode;if(!s){l==="flex"&&this.player.addClass(he.FLEX_CONTROLS);var u={height:"".concat(o,"px")};Object.keys(u).map(function(d){i.root.style[d]=u[d]}),this.left=this.find("xg-left-grid"),this.center=this.find("xg-center-grid"),this.right=this.find("xg-right-grid"),this.innerRoot=this.find("xg-inner-control
33s"),this.on(el,function(d){d?C.addClass(i.root,"mini-controls"):C.removeClass(i.root,"mini-controls")});var h=this.playerConfig.isMobileSimulateMode;it.device!=="mobile"&&h!=="mobile"&&(this.bind("mouseenter",this.onMouseEnter),this.bind("mouseleave",this.onMouseLeave))}}},{key:"focus",value:function(){this.player.focus({autoHide:!1})}},{key:"focusAwhile",value:function(){this.player.focus({autoHide:!0})}},{key:"blur",value:function(){this.player.blur({ignorePaused:!0})}},{key:"recoverAutoHide",value:function(){this.config.autoHide&&C.addClass(this.root,he.CONTROLS_AUTOHIDE)}},{key:"pauseAutoHide",value:function(){C.removeClass(this.root,he.CONTROLS_AUTOHIDE)}},{key:"show",value:function(i){this.root.style.display="",this.player.focus()}},{key:"hide",value:function(){this.root.style.display="none"}},{key:"mode",get:function(){return this.config.mode}},{key:"registerPlugin",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;if(this.root){var o=i.defaultConfig||{};if(!r.root){var l=r.position?r.position:r.config&&r.config.position?r.config.position:o.position;switch(l){case bt.CONTROLS_LEFT:r.root=this.left;break;case bt.CONTROLS_RIGHT:r.root=this.right;break;case bt.CONTROLS_CENTER:r.root=this.center;break;case bt.CONTROLS:r.root=this.root;break;default:r.root=this.left}return $e(Me(t.prototype),"registerPlugin",this).call(this,i,r,s)}}}},{key:"destroy",value:function(){it.device!=="mobile"&&(this.unbind("mouseenter",this.onMouseEnter),this.unbind("mouseleave",this.onMouseLeave)),this.left=null,this.center=null,this.right=null,this.innerRoot=null}},{key:"render",value:function(){var i=this.config,r=i.mode,s=i.autoHide,o=i.initShow,l=i.disable;if(!l){var u=C.classNames({"xgplayer-controls":!0},{"flex-controls":r==="flex"},{"bottom-controls":r==="bottom"},j({},he.CONTROLS_AUTOHIDE,s),{"xgplayer-controls-initshow":o||!s});return'<xg-controls class="'.concat(u,`" unselectable="on">
34    <xg-inner-controls class="xg-inner-controls xg-pos">
35      <xg-left-grid class="xg-left-grid">
36      </xg-left-grid>
37      <xg-center-grid class="xg-center-grid"></xg-center-grid>
38      <xg-right-grid class="xg-right-grid">
39      </xg-right-grid>
40    </xg-inner-controls>
41    </xg-controls>`)}}}],[{key:"pluginName",get:function(){return"controls"}},{key:"defaultConfig",get:function(){return{disable:!1,autoHide:!0,mode:"",initShow:!1}}}]),t}(gt),JC={LANG:"en",TEXT:{ERROR_TYPES:{network:{code:1,msg:"video download error"},mse:{code:2,msg:"stream append error"},parse:{code:3,msg:"parsing error"},format:{code:4,msg:"wrong format"},decoder:{code:5,msg:"decoding error"},runtime:{code:6,msg:"grammatical errors"},timeout:{code:7,msg:"play timeout"},other:{code:8,msg:"other errors"}},HAVE_NOTHING:"There is no information on whether audio/video is ready",HAVE_METADATA:"Audio/video metadata is ready ",HAVE_CURRENT_DATA:"Data about the current play location is available, but there is not enough data to play the next frame/millisecond",HAVE_FUTURE_DATA:"Current and at least one frame of data is available",HAVE_ENOUGH_DATA:"The available data is sufficient to start playing",NETWORK_EMPTY:"Audio/video has not been initialized",NETWORK_IDLE:"Audio/video is active and has been selected for resources, but no network is used",NETWORK_LOADING:"The browser is downloading the data",NETWORK_NO_SOURCE:"No audio/video source was found",MEDIA_ERR_ABORTED:"The fetch process is aborted by the user",MEDIA_ERR_NETWORK:"An error occurred while downloading",MEDIA_ERR_DECODE:"An error occurred while decoding",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video is not supported",REPLAY:"Replay",ERROR:"Network is offline",PLAY_TIPS:"Play",PAUSE_TIPS:"Pause",PLAYNEXT_TIPS:"Play next",DOWNLOAD_TIPS:"Download",ROTATE_TIPS:"Rotate",RELOAD_TIPS:"Reload",FULLSCREEN_TIPS:"Fullscreen",EXITFULLSCREEN_TIPS:"Exit fullscreen",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Exit cssfullscreen",TEXTTRACK:"Caption",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LIVE",OFF:"Off",OPEN:"Open",MINI_DRAG:"Click and hold to drag",MINISCREEN:"Miniscreen",REFRESH_TIPS:"Please Try",REFRESH:"Refresh",FORWARD:"forward",LIVE_TIP:"Live"}},Oi={lang:{},langKeys:[],textKeys:[]};function fa(a,e){return Object.keys(e).forEach(function(t){var n=C.typeOf(e[t]),i=C.typeOf(a[t]);if(n==="Array"){var r;i!=="Array"&&(a[t]=[]),(r=a[t]).push.apply(r,ln(e[t]))}else n==="Object"?(i!=="Object"&&(a[t]={}),fa(a[t],e[t])):a[t]=e[t]}),a}function Gv(){Object.keys(Oi.lang.en).map(function(a){Oi.textKeys[a]=a})}function eL(a,e){var t=[];if(e||(e=Oi),!!e.lang){C.typeOf(a)!=="Array"?t=Object.keys(a).map(function(r){var s=r==="zh"?"zh-cn":r;return{LANG:s,TEXT:a[r]}}):t=a;var n=e,i=n.lang;t.map(function(r){r.LANG==="zh"&&(r.LANG="zh-cn"),i[r.LANG]?fa(i[r.LANG]||{},r.TEXT||{}):wh(r,e)}),Gv()}}function wh(a,e){var t=a.LANG;if(e||(e=Oi),!!e.lang){var n=a.TEXT||{};t==="zh"&&(t="zh-cn"),e.lang[t]?fa(e.lang[t],n):(e.langKeys.push(t),e.lang[t]=n),Gv()}}function tL(a){var e,t={lang:{},langKeys:[],textKeys:{},pId:a};return fa(t.lang,Oi.lang),(e=t.langKeys).push.apply(e,ln(Oi.langKeys)),fa(t.textKeys,O
41i.textKeys),t}wh(JC);var ys={get textKeys(){return Oi.textKeys},get langKeys(){return Oi.langKeys},get lang(){var a={};return Oi.langKeys.map(function(e){a[e]=Oi.lang[e]}),Oi.lang["zh-cn"]&&(a.zh=Oi.lang["zh-cn"]||{}),a},extend:eL,use:wh,init:tL},ut={INITIAL:1,READY:2,ATTACHING:3,ATTACHED:4,NOTALLOW:5,RUNNING:6,ENDED:7},hp=["ERROR","INITIAL","READY","ATTACHING","ATTACHED","NOTALLOW","RUNNING","ENDED","DESTROYED"],_i={},Ju=null,Hv=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"add",value:function(i){i&&(_i[i.playerId]=i,Object.keys(_i).length===1&&this.setActive(i.playerId,!0))}},{key:"remove",value:function(i){i&&(i.isUserActive,delete _i[i.playerId])}},{key:"_iterate",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(var s in _i)if(Object.prototype.hasOwnProperty.call(_i,s)){var o=_i[s];if(r){if(i(o))break}else i(o)}}},{key:"forEach",value:function(i){this._iterate(i)}},{key:"find",value:function(i){var r=null;return this._iterate(function(s){var o=i(s);return o&&(r=s),o},!0),r}},{key:"findAll",value:function(i){var r=[];return this._iterate(function(s){i(s)&&r.push(s)}),r}},{key:"setActive",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(_i[i])return r?this.forEach(function(s){i===s.playerId?(s.isUserActive=!0,s.isInstNext=!1):s.isUserActive=!1}):_i[i].isUserActive=r,i}},{key:"getActiveId",value:function(){for(var i=Object.keys(_i),r=0;r<i.length;r++){var s=_i[i[r]];if(s&&s.isUserActive)return i[r]}return null}},{key:"setNext",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(_i[i])return r?this.forEach(function(s){i===s.playerId?(s.isUserActive=!1,s.isInstNext=!0):s.isInstNext=!1}):_i[i].isInstNext=r,i}}],[{key:"getInstance",value:function(){return Ju||(Ju=new t),Ju}}]),t}(Ev.EventEmitter);function iL(a){for(var e=Object.keys(_i),t=0;t<e.length;t++){var n=_i[e[t]];if(n.root===a)return n}return null}var nL=["play","pause","replay","retry"],fp=0,dp=0,er=null,Al=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;Ce(this,t);var r=C.deepMerge(cp(),n);i=e.call(this,r),j(W(i),"canPlayFunc",function(){if(i.config){var v=i.config,T=v.autoplay,y=v.defaultPlaybackRate;lt.logInfo("player","canPlayFunc, startTime",i.__startTime),i._seekToStartTime(),i.playbackRate=y,(T||i._useAutoplay)&&i.mediaPlay(),i.off($n,i.canPlayFunc),i.removeClass(he.ENTER)}}),j(W(i),"onFullscreenChange",function(v,T){var y=function(){C.setTimeout(W(i),function(){i.resize()},100)},_=C.getFullScreenEl();i._fullActionFrom?i._fullActionFrom="":i.emit(il,{eventType:"system",action:"switch_fullscreen",pluginName:"player",currentTime:i.currentTime,duration:i.duration,props:[{prop:"fullscreen",from:!0,to:!1}]});var x=bC(_,i.playerId,sr);if(T||_&&(_===i._fullscreenEl||x))y(),!i.config.closeFocusVideoFocus&&i.media.focus(),i.fullscreen=!0,i.changeFullStyle(i.root,_,he.FULLSCREEN),i.emit(Un,!0,i._fullScreenOffset),i.cssfullscreen&&i.exitCssFullscreen();else if(i.fullscreen){y();var b=W(i),R=b._fullScreenOffset,A=b.config;if(A.needFullscreenScroll?(window.scrollTo(R.left,R.top),C.setTimeout(W(i),function(){i.fullscreen=!1,i._fullScreenOffset=null},100)):(!i.config.closeFocusVideoFocus&&i.media.focus(),i.fullscreen=!1,i._fullScreenOffset=null),i.cssfullscreen)i.removeClass(he.FULLSCREEN);else{var F=i._fullscreenEl;!F&&(i.root.contains(v.target)||v.target===i.root)&&(F=v.target),i.recoverFullStyle(i.root,F,he.FULLSCREEN)}i._fullscreenEl=null,i.emit(Un,!1)}}),j(W(i),"_onWebkitbeginfullscreen",function(v){i._fullscreenEl=i.media,i.onFullscreenChange(v,!0)}),j(W(i),"_onWebkitendfullscreen",function(v){i.onFullscreenChange(v,!1)}),Uv(W(i),nL),i.config=r,i._pluginInfoId=C.generateSessionId(),yC(W(i));var s=i.constructor.defaultPreset;if(i.config.presets.length){var o=i.config.presets.indexOf("default");o>=0&&s&&(i.config.presets[o]=s)}else s&&i.config.presets.push(s);i.userTimer=null,i.waitTimer=null,i.handleSource=!0,i._state=ut.INITIAL,i.isAd=!1,i.isError=!1,i._hasStart=!1,i.isSeeking=!1,i.isCanplay=!1,i._useAutoplay=!1,i.__startTime=-1,i.rotateDeg=0,i.isActive=!1,i.fullscreen=!1,i.cssfullscreen=!1,i.isRotateFullscreen=!1,i._fullscreenEl=null,i.timeSegments=[],i._cssfullscreenEl=null,i.curDefinition=null,i._orgCss="",i._fullScreenOffset=null,i._videoHeight=0,i._videoWidth=0,i.videoPos={pi:1,scale:0,rotate:-1,x:0,y:0,h:-1,w:-1,vy:0,vx:0},i.sizeInfo={width:0,height:0,left:0,top:0},i._accPlayed={t:0,acc:0,loopAcc:0},i._offsetInfo={currentTime:-1,duration:0},i.innerContainer=null,i.controls=null,i.topBar=null,i.root=null,i.__i18n=ys.init(i._pluginInfoId),it.os.isAndroid&&it.osVersion>
410&&it.osVersion<6&&(i.config.autoplay=!1),i.database=new UC,i.isUserActive=!1,i._onceSeekCanplay=null,i._isPauseBeforeSeek=0,i.innerStates={isActiveLocked:!1},i.instManager=er;var l=i._initDOM();if(!l)return console.error(new Error("can't find the dom which id is ".concat(i.config.id," or this.config.el does not exist"))),xh(i);var u=i.config,h=u.definition,d=h===void 0?{}:h,g=u.url;if(!g&&d.list&&d.list.length>0){var m=d.list.find(function(v){return v.definition&&v.definition===d.defaultDefinition});m||(d.defaultDefinition=d.list[0].definition,m=d.list[0]),i.config.url=m.url,i.curDefinition=m}return i._bindEvents(),i._registerPresets(),i._registerPlugins(),li.onPluginsReady(W(i)),i.getInitDefinition(),i.setState(ut.READY),C.setTimeout(W(i),function(){i.emit(Ch)},0),i.onReady&&i.onReady(),(i.config.videoInit||i.config.autoplay)&&(!i.hasStart||i.state<ut.ATTACHED)&&i.start(),i}return Le(t,[{key:"_initDOM",value:function(){var i,r=this;if(this.root=this.config.id?document.getElementById(this.config.id):null,!this.root){var s=this.config.el;if(s&&s.nodeType===1)this.root=s;else return this.emit(Sa,new Qo("use",this.config.vid,{line:32,handle:"Constructor",msg:"container id can't be empty"})),console.error("this.confg.id or this.config.el can't be empty"),!1}var o=iL(this.root);if(o&&(lt.logWarn("The is an Player instance already exists in this.root, destroy it and reinitialize"),o.destroy()),this.root.setAttribute(sr,this.playerId),this.media.setAttribute(sr,this.playerId),(i=er)===null||i===void 0||i.add(this),li.init(this),this._initBaseDoms(),this.config.controls){var l=this.config.controls.root||null,u=li.register(this,ZC,{root:l});this.controls=u}var h=this.config.isMobileSimulateMode==="mobile"?"mobile":it.device;if(this.addClass("".concat(he.DEFAULT," ").concat(he.INACTIVE," xgplayer-").concat(h," ").concat(this.config.controls?"":he.NO_CONTROLS)),this.config.autoplay?this.addClass(he.ENTER):this.addClass(he.NO_START),this.config.fluid){var d=this.config,g=d.width,m=d.height;(typeof g!="number"||typeof m!="number")&&(g=600,m=337.5);var v={width:"100%",height:"0","max-width":"100%","padding-top":"".concat(m*100/g,"%")};Object.keys(v).forEach(function(R){r.root.style[R]=v[R]})}else["width","height"].forEach(function(R){r.config[R]&&(typeof r.config[R]!="number"?r.root.style[R]=r.config[R]:r.root.style[R]="".concat(r.config[R],"px"))});var T=this.root.getBoundingClientRect(),y=T.width,_=T.height,x=T.left,b=T.top;return this.sizeInfo.width=y,this.sizeInfo.height=_,this.sizeInfo.left=x,this.sizeInfo.top=b,!0}},{key:"_initBaseDoms",value:function(){this.topBar=null,this.leftBar=null,this.rightBar=null,this.config.marginControls&&(this.innerContainer=C.createDom("xg-video-container","",{"data-index":-1},"xg-video-container"),this.root.appendChild(this.innerContainer))}},{key:"_bindEvents",value:function(){var i=this;["focus","blur"].forEach(function(r){i.on(r,i["on"+r.charAt(0).toUpperCase()+r.slice(1)])}),ep.forEach(function(r){document&&document.addEventListener(r,i.onFullscreenChange)}),it.os.isIos&&(this.media.addEventListener("webkitbeginfullscreen",this._onWebkitbeginfullscreen),this.media.addEventListener("webkitendfullscreen",this._onWebkitendfullscreen)),this.once(Hn,this.resize),this.playFunc=function(){i.config.closeFocusVideoFocus||i.media.focus()},this.once($i,this.playFunc)}},{key:"_unbindEvents",value:function(){var i=this;this.root.removeEventListener("mousemove",this.mousemoveFunc),ep.forEach(function(r){document.removeEventListener(r,i.onFullscreenChange)}),this.playFunc&&this.off($i,this.playFunc),this.off($n,this.canPlayFunc),this.media.removeEventListener("webkitbeginfullscreen",this._onWebkitbeginfullscreen),this.media.removeEventListener("webkitendfullscreen",this._onWebkitendfullscreen)}},{key:"_clearUserTimer",value:function(){this.userTimer&&(C.clearTimeout(this,this.userTimer),this.userTimer=null)}},{key:"_startInit",value:function(i){var r=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.media&&!((!i||i===""||C.typeOf(i)==="Array"&&i.length===0)&&(i="",this.emit(Iv),lt.logWarn("config.url is null, please get url and run player._startInit(url)"),this.config.nullUrlStart))){C.isNotNull(s.playSessionId)&&(this._playSessionId=s.playSessionId),this.handleSource&&(this._detachSourceEvents(this.media),C.typeOf(i)==="Array"&&i.length>0?this._attachSourceEvents(this.media,i):!this.media.src||this.media.src!==i?this.media.src=i:i||this.media.removeAttribute("src")),C.typeOf(this.config.volume)==="Number"&&(this.volume=this.config.volume);var o=this.innerContainer?this.innerContainer:this.root;this.media instanceof window.Element&&!o.contains(this.media)&&o.insertBefore(this.media,o.firstChild);var l=this.media.readyState;
41lt.logInfo("_startInit readyState",l),this.config.autoplay&&(!C.isMSE(this.media)&&this.load(),(it.os.isIpad||it.os.isPhone)&&this.mediaPlay());var u=this.config.startTime;this.__startTime=u>0?u:-1,this.config.startTime=0,l>=2&&this.duration>0?this.canPlayFunc():this.on($n,this.canPlayFunc),(!this.hasStart||this.state<ut.ATTACHED)&&li.afterInit(this),this.hasStart=!0,this.setState(ut.ATTACHED),C.setTimeout(this,function(){r.emit(xl)},0)}}},{key:"_registerPlugins",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this._loadingPlugins=[];var s=this.config.ignores||[],o=this.config.plugins||[],l=this.config.i18n||[];r&&ys.extend(l,this.__i18n);var u=s.join("||").toLowerCase().split("||"),h=this.plugins;o.forEach(function(d){try{var g=d.plugin?d.plugin.pluginName:d.pluginName;if(g&&u.indexOf(g.toLowerCase())>-1)return null;if(!r&&h[g.toLowerCase()])return;if(d.lazy&&d.loader){var m=li.lazyRegister(i,d);d.forceBeforeInit&&(m.then(function(){i._loadingPlugins.splice(i._loadingPlugins.indexOf(m),1)}).catch(function(v){lt.logError("_registerPlugins:loadingPlugin",v),i._loadingPlugins.splice(i._loadingPlugins.indexOf(m),1)}),i._loadingPlugins.push(m));return}return i.registerPlugin(d)}catch(v){lt.logError("_registerPlugins:",v)}})}},{key:"_registerPresets",value:function(){var i=this;this.config.presets.forEach(function(r){QC(i,r)})}},{key:"_getRootByPosition",value:function(i){var r=null;switch(i){case bt.ROOT_RIGHT:this.rightBar||(this.rightBar=C.createPositionBar("xg-right-bar",this.root)),r=this.rightBar;break;case bt.ROOT_LEFT:this.leftBar||(this.leftBar=C.createPositionBar("xg-left-bar",this.root)),r=this.leftBar;break;case bt.ROOT_TOP:this.topBar||(this.topBar=C.createPositionBar("xg-top-bar",this.root),this.config.topBarAutoHide&&C.addClass(this.topBar,he.TOP_BAR_AUTOHIDE)),r=this.topBar;break;default:r=this.innerContainer||this.root;break}return r}},{key:"registerPlugin",value:function(i,r){var s=li.formatPluginInfo(i,r),o=s.PLUFGIN,l=s.options,u=this.config.plugins,h=li.checkPluginIfExits(o.pluginName,u);!h&&u.push(o);var d=li.getRootByConfig(o.pluginName,this.config);d.root&&(l.root=d.root),d.position&&(l.position=d.position);var g=l.position?l.position:l.config&&l.config.position||o.defaultConfig&&o.defaultConfig.position;if(!l.root&&typeof g=="string"&&g.indexOf("controls")>-1){var m;return(m=this.controls)===null||m===void 0?void 0:m.registerPlugin(o,l,o.pluginName)}return l.root||(l.root=this._getRootByPosition(g)),li.register(this,o,l)}},{key:"deregister",value:function(i){typeof i=="string"?li.unRegister(this,i):i instanceof dr&&li.unRegister(this,i.pluginName)}},{key:"unRegisterPlugin",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.deregister(i),r&&this.removePluginFromConfig(i)}},{key:"removePluginFromConfig",value:function(i){var r;if(typeof i=="string"?r=i:i instanceof dr&&(r=i.pluginName),!!r)for(var s=this.config.plugins.length-1;s>-1;s--){var o=this.config.plugins[s];if(o.pluginName.toLowerCase()===r.toLowerCase()){this.config.plugins.splice(s,1);break}}}},{key:"plugins",get:function(){return li.getPlugins(this)}},{key:"getPlugin",value:function(i){var r=li.findPlugin(this,i);return r&&r.pluginName?r:null}},{key:"addClass",value:function(i){this.root&&(C.hasClass(this.root,i)||C.addClass(this.root,i))}},{key:"removeClass",value:function(i){this.root&&C.removeClass(this.root,i)}},{key:"hasClass",value:function(i){if(this.root)return C.hasClass(this.root,i)}},{key:"setAttribute",value:function(i,r){this.root&&this.root.setAttribute(i,r)}},{key:"removeAttribute",value:function(i,r){this.root&&this.root.removeAttribute(i,r)}},{key:"start",value:function(i){var r=this;if(!(this.state>ut.ATTACHING)){var s=this._playSessionId;return C.isNotNull(s)&&(this._playSessionId=void 0),!i&&!this.config.url&&this.getInitDefinition(),this.hasStart=!0,this.setState(ut.ATTACHING),this._registerPlugins(!1),li.beforeInit(this).then(function(){if(r.config){i||(i=r.url||r.config.url);var o=r.preProcessUrl(i),l=r._startInit(o.url,{playSessionId:s});return l}}).catch(function(o){throw o.fileName="player",o.lineNumber="236",lt.logError("start:beforeInit:",o),o})}}},{key:"switchURL",value:function(i,r){var s=this,o=i;C.typeOf(i)==="Object"&&(o=i.url),o=this.preProcessUrl(o).url;var l=this.currentTime;this.__startTime=l;var u=this.paused&&!this.isError;return this.src=o,new Promise(function(h,d){var g=function(T){s.off("timeupdate",m),s.off("canplay",m),d(T)},m=function(){s._seekToStartTime(),u&&s.pause(),s.off("error",g),h(!0)};
41if(s.once("error",g),!o){s.errorHandler("error",{code:6,message:"empty_src"});return}it.os.isAndroid?s.once("timeupdate",m):s.once("canplay",m),s.play()})}},{key:"videoPlay",value:function(){this.mediaPlay()}},{key:"mediaPlay",value:function(){var i=this;if(!this.hasStart&&this.state<ut.ATTACHED){this.removeClass(he.NO_START),this.addClass(he.ENTER),this.start(),this._useAutoplay=!0;return}this.state<ut.RUNNING&&(this.removeClass(he.NO_START),!this.isCanplay&&this.addClass(he.ENTER));var r=$e(Me(t.prototype),"play",this).call(this);return r!==void 0&&r&&r.then?r.then(function(){i.removeClass(he.NOT_ALLOW_AUTOPLAY),i.addClass(he.PLAYING),i.state<ut.RUNNING&&(lt.logInfo(">>>>playPromise.then"),i.setState(ut.RUNNING),i.emit(Or))}).catch(function(s){if(lt.logWarn(">>>>playPromise.catch",s.name),i.media&&i.media.error){i.onError(),i.removeClass(he.ENTER);return}s.name==="NotAllowedError"&&(i._errorTimer=C.setTimeout(i,function(){i._errorTimer=null,i.emit(Lh),i.addClass(he.NOT_ALLOW_AUTOPLAY),i.removeClass(he.ENTER),i.pause(),i.setState(ut.NOTALLOW)},0))}):(lt.logWarn("video.play not return promise"),this.state<ut.RUNNING&&(this.setState(ut.RUNNING),this.removeClass(he.NOT_ALLOW_AUTOPLAY),this.removeClass(he.NO_START),this.removeClass(he.ENTER),this.addClass(he.PLAYING),this.emit(Or))),r}},{key:"mediaPause",value:function(){$e(Me(t.prototype),"pause",this).call(this)}},{key:"videoPause",value:function(){$e(Me(t.prototype),"pause",this).call(this)}},{key:"play",value:function(){var i=this;return this.removeClass(he.PAUSED),En(this,"play",function(){return i.mediaPlay()})}},{key:"pause",value:function(){var i=this;En(this,"pause",function(){$e(Me(t.prototype),"pause",i).call(i)})}},{key:"seek",value:function(i,r){var s=this;if(!(!this.media||Number.isNaN(Number(i))||!this.hasStart)){var o=this.config,l=o.isSeekedPlay,u=o.seekedStatus,h=r||(l?"play":u);i=i<0?0:i>this.duration?parseInt(this.duration,10):i,!this._isPauseBeforeSeek&&(this._isPauseBeforeSeek=this.paused?2:1),this._onceSeekCanplay&&this.off(Gn,this._onceSeekCanplay),this._onceSeekCanplay=function(){switch(s.removeClass(he.ENTER),s.isSeeking=!1,h){case"play":s.play();break;case"pause":s.pause();break;default:s._isPauseBeforeSeek>1||s.paused?s.pause():s.play()}s._isPauseBeforeSeek=0,s._onceSeekCanplay=null},this.once(Gn,this._onceSeekCanplay),this.state<ut.RUNNING?(this.removeClass(he.NO_START),this.currentTime=i,this.play()):this.currentTime=i}}},{key:"getInitDefinition",value:function(){var i=this,r=this.config,s=r.definition,o=r.url;!o&&s&&s.list&&s.list.length>0&&s.defaultDefinition&&s.list.map(function(l){l.definition===s.defaultDefinition&&(i.config.url=l.url,i.curDefinition=l)})}},{key:"changeDefinition",value:function(i,r){var s=this,o=this.config.definition;if(Array.isArray(o==null?void 0:o.list)&&o.list.forEach(function(u){(i==null?void 0:i.definition)===u.definition&&(s.curDefinition=u)}),i!=null&&i.bitrate&&typeof i.bitrate!="number"&&(i.bitrate=parseInt(i.bitrate,10)||0),this.emit(kh,{from:r,to:i}),!this.hasStart){this.config.url=i.url;return}var l=this.switchURL(i.url,wt({seamless:o.seamless!==!1&&typeof MediaSource<"u"&&typeof MediaSource.isTypeSupported=="function"},i));l&&l.then?l.then(function(){s.emit(Hc,{from:r,to:i})}):this.emit(Hc,{from:r,to:i})}},{key:"reload",value:function(){this.load(),this.reloadFunc=function(){this.play()},this.once(Hn,this.reloadFunc)}},{key:"resetState",value:function(){var i=this,r=he.NOT_ALLOW_AUTOPLAY,s=he.PLAYING,o=he.NO_START,l=he.PAUSED,u=he.REPLAY,h=he.ENTER,d=he.ENDED,g=he.ERROR,m=he.LOADING,v=[r,s,o,l,u,h,d,g,m];this.hasStart=!1,this.isError=!1,this._useAutoplay=!1,this.mediaPause(),this._accPlayed.acc=0,this._accPlayed.t=0,this._accPlayed.loopAcc=0,v.forEach(function(T){i.removeClass(T)}),this.addClass(he.NO_START),this.emit(Il)}},{key:"reset",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],s=arguments.length>1?arguments[1]:void 0;this.resetState();var o=this.plugins;if(o&&(r.map(function(u){i.deregister(u)}),s)){var l=cp();Object.keys(this.config).forEach(function(u){i.config[u]!=="undefined"&&(u==="plugins"||u==="presets"||u==="el"||u==="id")&&(i.config[u]=l[u])})}}},{key:"destroy",value:function(){var i,r=this,s=this.innerContainer,o=this.root,l=this.media;if(!(!o||!l)){if(this.hasStart=!1,this._useAutoplay=!1,o.removeAttribute(sr),l.removeAttribute(sr),this.updateAcc("destroy"),this._unbindEvents(),this._detachSourceEvents(this.media),C.clearAllTimers(this),this.emit
41(Rh),(i=er)===null||i===void 0||i.remove(this),li.destroy(this),$v(this),$e(Me(t.prototype),"destroy",this).call(this),this.fullscreen&&this._fullscreenEl===this.root&&this.exitFullscreen(),s)for(var u=s.children,h=0;h<u.length;h++)s.removeChild(u[h]);!s&&l instanceof window.Node&&o.contains(l)&&!this.config.remainMediaAfterDestroy&&o.removeChild(l),["topBar","leftBar","rightBar","innerContainer"].map(function(g){r[g]&&o.removeChild(r[g]),r[g]=null});var d=o.className.split(" ");d.length>0?o.className=d.filter(function(g){return g.indexOf("xgplayer")<0}).join(" "):o.className="",this.removeAttribute("data-xgfill"),["isSeeking","isCanplay","isActive","cssfullscreen","fullscreen"].forEach(function(g){r[g]=!1})}}},{key:"replay",value:function(){var i=this;this.removeClass(he.ENDED),this.currentTime=0,this.isSeeking=!1,En(this,"replay",function(){i.once(Gn,function(){var r=i.mediaPlay();r&&r.catch&&r.catch(function(s){console.log(s)})}),i.emit(Zo),i.onPlay()})}},{key:"retry",value:function(){var i=this;this.removeClass(he.ERROR),this.addClass(he.LOADING),En(this,"retry",function(){var r=i.currentTime,s=i.config.url,o=C.isMSE(i.media)?{url:s}:i.preProcessUrl(s);i.src=o.url,!i.config.isLive&&(i.currentTime=r),i.once($n,function(){i.mediaPlay()})})}},{key:"changeFullStyle",value:function(i,r,s,o){i&&(o||(o=he.PARENT_FULLSCREEN),this._orgCss||(this._orgCss=C.filterStyleFromText(i)),C.addClass(i,s),r&&r!==i&&!this._orgPCss&&(this._orgPCss=C.filterStyleFromText(r),C.addClass(r,o),r.setAttribute(sr,this.playerId)))}},{key:"recoverFullStyle",value:function(i,r,s,o){o||(o=he.PARENT_FULLSCREEN),this._orgCss&&(C.setStyleFromCsstext(i,this._orgCss),this._orgCss=""),C.removeClass(i,s),r&&r!==i&&this._orgPCss&&(C.setStyleFromCsstext(r,this._orgPCss),this._orgPCss="",C.removeClass(r,o),r.removeAttribute(sr))}},{key:"getFullscreen",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget,r=this.root,s=this.media;(i==="video"||i==="media")&&(i=this[i]),i||(i=r),this._fullScreenOffset={top:C.scrollTop(),left:C.scrollLeft()},this._fullscreenEl=i,this._fullActionFrom="get";var o=C.getFullScreenEl();if(o===this._fullscreenEl)return this.onFullscreenChange(),Promise.resolve();try{for(var l=0;l<tp.length;l++){var u=tp[l];if(i[u]){var h=u==="webkitRequestFullscreen"?i.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT):i[u]();return h&&h.then?h:Promise.resolve()}}return s.fullscreenEnabled||s.webkitSupportsFullscreen?(s.webkitEnterFullscreen(),Promise.resolve()):Promise.reject(new Error("call getFullscreen fail"))}catch{return Promise.reject(new Error("call getFullscreen fail"))}}},{key:"exitFullscreen",value:function(i){if(this.isRotateFullscreen&&this.exitRotateFullscreen(),!(!this._fullscreenEl&&!C.getFullScreenEl())){this.root;var r=this.media;this._fullActionFrom="exit";try{for(var s=0;s<ip.length;s++){var o=ip[s];if(document[o]){var l=document[o]();return l&&l.then?l:Promise.resolve()}}return r&&r.webkitSupportsFullscreen?(r.webkitExitFullScreen(),Promise.resolve()):Promise.reject(new Error("call exitFullscreen fail"))}catch{return Promise.reject(new Error("call exitFullscreen fail"))}}}},{key:"getCssFullscreen",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget;this.isRotateFullscreen?this.exitRotateFullscreen():this.fullscreen&&this.exitFullscreen();var r=i?"".concat(he.INNER_FULLSCREEN," ").concat(he.CSS_FULLSCREEN):he.CSS_FULLSCREEN;this.changeFullStyle(this.root,i,r);var s=this.config.fullscreen,o=s===void 0?{}:s,l=o.useCssFullscreen===!0||typeof o.useCssFullscreen=="function"&&o.useCssFullscreen();l&&(this.fullscreen=!0,this.emit(Un,!0)),this._cssfullscreenEl=i,this.cssfullscreen=!0,this.emit(Jo,!0)}},{key:"exitCssFullscreen",value:function(){var i=this._cssfullscreenEl?"".concat(he.INNER_FULLSCREEN," ").concat(he.CSS_FULLSCREEN):he.CSS_FULLSCREEN;if(!this.fullscreen)this.recoverFullStyle(this.root,this._cssfullscreenEl,i);else{var r=this.config.fullscreen,s=r===void 0?{}:r,o=s.useCssFullscreen===!0||typeof s.useCssFullscreen=="function"&&s.useCssFullscreen();o?(this.recoverFullStyle(this.root,this._cssfullscreenEl,i),this.fullscreen=!1,this.emit
41(Un,!1)):this.removeClass(i)}this._cssfullscreenEl=null,this.cssfullscreen=!1,this.emit(Jo,!1)}},{key:"getRotateFullscreen",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.fullscreenTarget;this.cssfullscreen&&this.exitCssFullscreen(i);var r=i?"".concat(he.INNER_FULLSCREEN," ").concat(he.ROTATE_FULLSCREEN):he.ROTATE_FULLSCREEN;this._fullscreenEl=i||this.root,this.changeFullStyle(this.root,i,r,he.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!0,this.fullscreen=!0,this.setRotateDeg(90),this._rootStyle=this.root.getAttribute("style");var s=Math.abs(window.orientation)===90||Math.abs(screen.orientation.angle)===90;this.root.style.width=s?"".concat(window.innerWidth,"px"):"".concat(window.innerHeight,"px"),this.emit(Un,!0)}},{key:"exitRotateFullscreen",value:function(i){var r=this._fullscreenEl!==this.root?"".concat(he.INNER_FULLSCREEN," ").concat(he.ROTATE_FULLSCREEN):he.ROTATE_FULLSCREEN;this.recoverFullStyle(this.root,this._fullscreenEl,r,he.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!1,this.fullscreen=!1,this.setRotateDeg(0),this.emit(Un,!1),this._rootStyle&&(this.root.style.style=this._rootStyle,this._rootStyle=!1)}},{key:"setRotateDeg",value:function(i){window.orientation===90||window.orientation===-90?this.rotateDeg=0:this.rotateDeg=i}},{key:"focus",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{autoHide:!this.config.closeDelayBlur,delay:this.config.inactive};if(this.isActive){this.onFocus(i);return}this.emit(Sl,wt({paused:this.paused,ended:this.ended},i))}},{key:"blur",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{ignorePaused:!1};if(!this.isActive){this.onBlur(i);return}this._clearUserTimer(),this.emit(Ah,wt({paused:this.paused,ended:this.ended},i))}},{key:"onFocus",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{autoHide:!0,delay:3e3},s=this.innerStates;if(this.isActive=!0,this.removeClass(he.INACTIVE),this._clearUserTimer(),r.isLock!==void 0&&(s.isActiveLocked=r.isLock),r.autoHide===!1||r.isLock===!0||s.isActiveLocked){this._clearUserTimer();return}var o=r&&r.delay?r.delay:this.config.inactive;this.userTimer=C.setTimeout(this,function(){i.userTimer=null,i.blur()},o)}},{key:"onBlur",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=i.ignorePaused,s=r===void 0?!1:r;if(!this.innerStates.isActiveLocked){var o=this.config.closePauseVideoFocus;this.isActive=!1,(s||o||!this.paused&&!this.ended)&&this.addClass(he.INACTIVE)}}},{key:"onEmptied",value:function(){this.updateAcc("emptied")}},{key:"onCanplay",value:function(){this.removeClass(he.ENTER),this.removeClass(he.ERROR),this.removeClass(he.LOADING),this.isCanplay=!0,this.waitTimer&&C.clearTimeout(this,this.waitTimer)}},{key:"onLoadeddata",value:function(){var i=this;this.isError=!1,this.isSeeking=!1,this.__startTime>0&&(this.duration>0?this._seekToStartTime():this.once(Vn,function(){i._seekToStartTime()}))}},{key:"onLoadstart",value:function(){this.removeClass(he.ERROR),this.isCanplay=!1}},{key:"onPlay",value:function(){this.state===ut.ENDED&&this.setState(ut.RUNNING),this.removeClass(he.PAUSED),this.ended&&this.removeClass(he.ENDED),!this.config.closePlayVideoFocus&&this.focus()}},{key:"onPause",value:function(){this.addClass(he.PAUSED),this.updateAcc("pause"),this.config.closePauseVideoFocus||(this._clearUserTimer(),this.focus())}},{key:"onEnded",value:function(){this.updateAcc("ended"),this.addClass(he.ENDED),this.setState(ut.ENDED)}},{key:"onError",value:function(){this.isError=!0,this.updateAcc("error"),this.removeClass(he.NOT_ALLOW_AUTOPLAY),this.removeClass(he.NO_START),this.removeClass(he.ENTER),this.removeClass(he.LOADING),this.addClass(he.ERROR)}},{key:"onSeeking",value:function(){this.isSeeking||this.updateAcc("seeking"),this.isSeeking=!0,this.addClass(he.SEEKING)}},{key:"onSeeked",value:function(){this.isSeeking=!1,this.waitTimer&&C.clearTimeout(this,this.waitTimer),this.removeClass(he.LOADING),this.removeClass(he.SEEKING)}},{key:"onWaiting",value:function(){var i=this;this.waitTimer&&C.clearTimeout(this,this.waitTimer),this.updateAcc("waiting"),this.waitTimer=C.setTimeout(this,function(){i.addClass(he.LOADING),i.emit(Lv),C.clearTimeout(i,i.waitTimer),i.waitTimer=null},this.config.minWaitDelay)}},{key:"onPlaying",value:function(){var i=this;this.isError=!1;var r=he.NO_START,s=he.PAUSED,o=he.ENDED,l=he.ERROR,u=he.REPLAY,h=he.LOADING,d=[r,s,o,l,u,h];d.forEach(function(g){i.removeClass(g)}),!this._accPlayed.t&&!this.paused&&!this.ended&&(this._accPlayed.t=new Date().getTime())}},{key:"onTimeupdate",value:function(){!this._videoHeight&&this.media.videoHeight&&this.resize(),(this.waitTimer||this.hasClass(he.LOADING))&&this.media.readyState>2&&(this.removeClass(he.LOADING),C.clearTimeout(this,this.waitTimer),this.waitTimer=null),!this.paused&&this.state===ut.NOTALLOW&&this.duration&&(this.setState(ut.RUNNING),this.emit
41(Or)),!this._accPlayed.t&&!this.paused&&!this.ended&&(this._accPlayed.t=new Date().getTime())}},{key:"onVolumechange",value:function(){C.typeOf(this.config.volume)==="Number"&&(this.config.volume=this.volume)}},{key:"onRatechange",value:function(){this.config.defaultPlaybackRate=this.playbackRate}},{key:"emitUserAction",value:function(i,r,s){if(!(!this.media||!r||!i)){var o=C.typeOf(i)==="String"?i:i.type||"";s.props&&C.typeOf(s.props)!=="Array"&&(s.props=[s.props]),this.emit(il,wt({eventType:o,action:r,currentTime:this.currentTime,duration:this.duration,ended:this.ended,event:i},s))}}},{key:"updateAcc",value:function(i){if(this._accPlayed.t){var r=new Date().getTime()-this._accPlayed.t;this._accPlayed.acc+=r,this._accPlayed.t=0,(i==="ended"||this.ended)&&(this._accPlayed.loopAcc=this._accPlayed.acc)}}},{key:"checkBuffer",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{startDiff:0,endDiff:0},s=r||{},o=s.startDiff,l=o===void 0?0:o,u=s.endDiff,h=u===void 0?0:u,d=this.media.buffered;if(!d||d.length===0||!this.duration)return!0;for(var g=i||this.media.currentTime||.2,m=d.length,v=0;v<m;v++)if(d.start(v)+l<=g&&d.end(v)-h>g)return!0;return!1}},{key:"resizePosition",value:function(){var i=this,r=this.videoPos,s=r.vy,o=r.vx,l=r.h,u=r.w,h=this.videoPos.rotate;if(!(h<0&&l<0&&u<0)){var d=this.videoPos._pi;if(!d&&this.media.videoHeight&&(d=this.media.videoWidth/this.media.videoHeight*100),!!d){this.videoPos.pi=d,h=h<0?0:h;var g={rotate:h},m=0,v=0,T=1,y=Math.abs(h/90),_=this.root,x=this.innerContainer,b=_.offsetWidth,R=x?x.offsetHeight:_.offsetHeight,A={},F=R,w=b;if(y%2===0)T=l>0?100/l:u>0?100/u:1,g.scale=T,m=s>0?(100-l)/2-s:0,g.y=y===2?0-m:m,v=o>0?(100-u)/2-o:0,g.x=y===2?0-v:v,A.width="".concat(w,"px"),A.height="".concat(F,"px"),A.maxWidth="",A.maxHeight="";else if(y%2===1){w=R,F=b;var M=R-b;v=-M/2/w*100,g.x=y===3?v+s/2:v-s/2,m=M/2/F*100,g.y=y===3?m+o/2:m-o/2,g.scale=T,A.width="".concat(w,"px"),A.maxWidth="".concat(w,"px"),A.height="".concat(F,"px"),A.maxHeight="".concat(F,"px")}var O=C.getTransformStyle(g,this.media.style.transform||this.media.style.webkitTransform);A.transform=O,A.webkitTransform=O,Object.keys(A).map(function(P){i.media.style[P]=A[P]})}}}},{key:"position",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{h:0,y:0,x:0,w:0};if(!(!this.media||!i||!i.h)){var r=this.videoPos;r.h=i.h*100||0,r.w=i.w*100||0,r.vx=i.x*100||0,r.vy=i.y*100||0,this.resizePosition()}}},{key:"setConfig",value:function(i){var r=this;i&&Object.keys(i).map(function(s){if(s!=="plugins"){r.config[s]=i[s];var o=r.plugins[s.toLowerCase()];o&&C.typeOf(o.setConfig)==="Function"&&o.setConfig(i[s])}})}},{key:"playNext",value:function(i){var r=this;this.resetState(),this.setConfig(i),this._currentTime=0,this._duration=0,En(this,"playnext",function(){r.start(),r.emit(tl,i)})}},{key:"resize",value:function(){var i=this;if(!(!this.media||!this.root)){var r=this.root.getBoundingClientRect();this.sizeInfo.width=r.width,this.sizeInfo.height=r.height,this.sizeInfo.left=r.left,this.sizeInfo.top=r.top;var s=this.media,o=s.videoWidth,l=s.videoHeight,u=this.config,h=u.fitVideoSize,d=u.videoFillMode;if((d==="fill"||d==="cover"||d==="contain")&&this.setAttribute("data-xgfill",d),!(!l||!o)){this._videoHeight=l,this._videoWidth=o;var g=this.controls&&this.innerContainer?this.controls.root.getBoundingClientRect().height:0,m=r.width,v=r.height-g,T=parseInt(o/l*1e3,10),y=parseInt(m/v*1e3,10),_=m,x=v,b={};h==="auto"&&y>T||h==="fixWidth"?(x=m/T*1e3,this.config.fluid?b.paddingTop="".concat(x*100/_,"%"):b.height="".concat(x+g,"px")):(h==="auto"&&y<T||h==="fixHeight")&&(_=T*v/1e3,b.width="".concat(_,"px")),!this.fullscreen&&!this.cssfullscreen&&Object.keys(b).forEach(function(A){i.root.style[A]=b[A]}),(d==="fillHeight"&&y<T||d==="fillWidth"&&y>T)&&this.setAttribute("data-xgfill","cover");var R={videoScale:T,vWidth:_,vHeight:x,cWidth:_,cHeight:x+g};this.resizePosition(),this.emit(fr,R)}}}},{key:"updateObjectPosition",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(this.media.updateObjectPosition){this.media.updateObjectPosition(i,r);return}this.media.style.objectPosition="".concat(i*100,"% ").concat(r*100,"%")}},{key:"setState",value:function(i){lt.logInfo("setState","state from:".concat(hp[this.state]," to:").concat(hp[i])),this._state=i}},{key:"preProcessUrl",value:function(i,r){var s=this.config,o=s.preProcessUrl,l=s.preProcessUrlOptions,u=Object.assign({},l,r);return!C.isBlob(i)&&typeof o=="function"?o(i,u):{url:i}}},{key:"_seekToStartTime",value:function(){this.__startTime>0&&this.duration>0&&(this.currentTime=this.__startTime>this.duration?this.duration:this.__startTime,this.__startTime=-1)}},{key:"state",get:function(){return this._state}},{key:"isFullscreen",get:function(){return this.fullscreen}},{key:"isCssfullScreen",get:function(){return this.cssfullscreen}},{key:"hasStart",get:function(){return this._hasStart},set:function(i){typeof i=="boolean"&&(this._hasStart=i,i===!1&&this.setState(ut.READY),this.emit
41("hasstart"))}},{key:"isPlaying",get:function(){return this._state===ut.RUNNING||this._state===ut.ENDED},set:function(i){i?this.setState(ut.RUNNING):this._state>=ut.RUNNING&&this.setState(ut.ATTACHED)}},{key:"definitionList",get:function(){return!this.config||!this.config.definition?[]:this.config.definition.list||[]},set:function(i){var r=this,s=this.config.definition,o=null,l=null;s.list=i,this.emit("resourceReady",i),i.forEach(function(u){var h;((h=r.curDefinition)===null||h===void 0?void 0:h.definition)===u.definition&&(o=u),s.defaultDefinition===u.definition&&(l=u)}),!l&&i.length>0&&(l=i[0]),o?this.changeDefinition(o):l&&this.changeDefinition(l)}},{key:"videoFrameInfo",get:function(){var i={total:0,dropped:0,corrupted:0,droppedRate:0,droppedDuration:0};if(!this.media||!this.media.getVideoPlaybackQuality)return i;var r=this.media.getVideoPlaybackQuality();return i.dropped=r.droppedVideoFrames||0,i.total=r.totalVideoFrames||0,i.corrupted=r.corruptedVideoFrames||0,i.total>0&&(i.droppedRate=i.dropped/i.total*100,i.droppedDuration=parseInt(this.cumulateTime/i.total*i.dropped,0)),i}},{key:"lang",get:function(){return this.config.lang},set:function(i){var r=ys.langKeys.filter(function(s){return s===i});if(r.length===0&&i!=="zh"){console.error("Sorry, set lang fail, because the language [".concat(i,"] is not supported now, list of all supported languages is [").concat(ys.langKeys.join(),"] "));return}this.config.lang=i,li.setLang(i,this)}},{key:"i18n",get:function(){var i=this.config.lang;return i==="zh"&&(i="zh-cn"),this.__i18n.lang[i]||this.__i18n.lang.en}},{key:"i18nKeys",get:function(){return this.__i18n.textKeys||{}}},{key:"version",get:function(){return $c}},{key:"playerId",get:function(){return this._pluginInfoId}},{key:"url",get:function(){return this.__url||this.config.url},set:function(i){this.__url=i}},{key:"poster",get:function(){return this.plugins.poster?this.plugins.poster.config.poster:this.config.poster},set:function(i){this.plugins.poster&&this.plugins.poster.update(i)}},{key:"readyState",get:function(){return $e(Me(t.prototype),"readyState",this)}},{key:"error",get:function(){var i=$e(Me(t.prototype),"error",this);return this.i18n[i]||i}},{key:"networkState",get:function(){return $e(Me(t.prototype),"networkState",this)}},{key:"fullscreenChanging",get:function(){return this._fullScreenOffset!==null}},{key:"cumulateTime",get:function(){var i=this._accPlayed,r=i.acc,s=i.t;return s?new Date().getTime()-s+r:r}},{key:"zoom",get:function(){return this.config.zoom},set:function(i){this.config.zoom=i}},{key:"videoRotateDeg",get:function(){return this.videoPos.rotate},set:function(i){i=C.convertDeg(i),!(i%90!==0||i===this.videoPos.rotate)&&(this.videoPos.rotate=i,this.resizePosition())}},{key:"avgSpeed",get:function(){return dp},set:function(i){dp=i}},{key:"realTimeSpeed",get:function(){return fp},set:function(i){fp=i}},{key:"offsetCurrentTime",get:function(){return this._offsetInfo.currentTime||0},set:function(i){this._offsetInfo.currentTime=i}},{key:"offsetDuration",get:function(){return this._offsetInfo.duration||0},set:function(i){this._offsetInfo.duration=i||0}},{key:"hook",value:function(i,r){return nl.call.apply(nl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(i,r){return rl.call.apply(rl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removeHooks",value:function(i,r){return sl.call.apply(sl,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"usePluginHooks",value:function(i,r,s){for(var o=arguments.length,l=new Array(o>3?o-3:0),u=3;u<o;u++)l[u-3]=arguments[u];return np.call.apply(np,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removePluginHooks",value:function(i,r,s){for(var o=arguments.length,l=new Array(o>3?o-3:0),u=3;u<o;u++)l[u-3]=arguments[u];return rp.call.apply(rp,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"setUserActive",value:function(i,r){var s;typeof r=="boolean"&&r!==this.muted&&(this.addInnerOP("volumechange"),C.typeOf(r)===Boolean&&(this.muted=r)),(s=er)===null||s===void 0||s.setActive(this.playerId,i)}}],[{key:"debugger",get:function(){return lt.config.debug},set:function(i){lt.config.debug=i}},{key:"instManager",get:function(){return er},set:function(i){er=i}},{key:"getCurrentUserActivePlayerId",value:function(){var i;return(i=er)===null||i===void 0?void 0:i.getActiveId()}},{key:"setCurrentUserActive",value:function(i,r){var s;(s=er)===null||s===void 0||s.setActive(i,r)}},{key:"isHevcSupported",value:function(){return it.isHevcSupported()}},{key:"probeConfigSupported",value:function(i){return it.probeConfigSupported(i)}},{key:"install",value:function(i,r){t.plugins||(t.plugins={}),t.plugins[i]||(t.plugins[i]=r)}},{key:"use",value:function(i,r){t.plugins||(t.plugins={}),t.plugins[i]=r}}]),t}(BC);j(Al,"defaultPreset",null);j(Al,"XgVideoProxy",null);Al.instManager=Hv.getInstance();function mr(a,e,t){try{return' <div class="xg-tips '.concat(t?"hide":" ",'" lang-key="').concat(a.i18nKeys[e],`">
42    `).concat(a.i18n[e],`
43    </div>`)}catch{return'<div class="xg-tips hide"></div>'}}var Gr=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_onMouseenter",function(o){n.emit("icon_mouseenter",{pluginName:n.pluginName})}),j(W(n),"_onMouseLeave",function(o){n.emit("icon_mouseleave",{pluginName:n.pluginName})}),n}return Le(t,[{key:"afterCreate",value:function(){this.bind("mouseenter",this._onMouseenter),this.bind("mouseleave",this._onMouseLeave),this.config.disable&&this.disable()}},{key:"destroy",value:function(){this.unbind("mouseenter",this._onMouseenter),this.unbind("mouseleave",this._onMouseLeave)}}]),t}(gt);function rL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="31" height="40" viewBox="0 -5 31 40">
44  <path fill="#fff" transform="scale(1.3, 1.3)" class='path_full' d="M9,10v1a.9.9,0,0,1-1,1,.9.9,0,0,1-1-1V9A.9.9,0,0,1,8,8h2a.9.9,0,0,1,1,1,.9.9,0,0,1-1,1Zm6,4V13a1,1,0,0,1,2,0v2a.9.9,0,0,1-1,1H14a1,1,0,0,1,0-2Zm3-7H6V17H18Zm2,0V17a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V7A2,2,0,0,1,6,5H18A2,2,0,0,1,20,7Z"></path>
45</svg>
46`,"image/svg+xml").firstChild}function sL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="31" height="40" viewBox="0 -5 31 40">
47  <path fill="#fff" transform="scale(1.3, 1.3)" d="M9,10V9a.9.9,0,0,1,1-1,.9.9,0,0,1,1,1v2a.9.9,0,0,1-1,1H8a.9.9,0,0,1-1-1,.9.9,0,0,1,1-1Zm6,4v1a1,1,0,0,1-2,0V13a.9.9,0,0,1,1-1h2a1,1,0,0,1,0,2Zm3-7H6V17H18Zm2,0V17a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V7A2,2,0,0,1,6,5H18A2,2,0,0,1,20,7Z"></path>
48</svg>
49`,"image/svg+xml").firstChild}var Kc=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"beforeCreate",value:function(i){typeof i.player.config.cssFullscreen=="boolean"&&(i.config.disable=!i.player.config.cssFullscreen)}},{key:"afterCreate",value:function(){var i=this;$e(Me(t.prototype),"afterCreate",this).call(this),!this.config.disable&&(this.config.target&&(this.playerConfig.fullscreenTarget=this.config.target),this.initIcons(),this.on(Jo,function(r){i.animate(r)}),this.btnClick=this.btnClick.bind(this),this.handleCssFullscreen=this.hook("cssFullscreen_change",this.btnClick,{pre:function(s){s.preventDefault(),s.stopPropagation()}}),this.bind(["click","touchend"],this.handleCssFullscreen))}},{key:"initIcons",value:function(){var i=this.icons,r=this.find(".xgplayer-icon");r.appendChild(i.cssFullscreen),r.appendChild(i.exitCssFullscreen)}},{key:"btnClick",value:function(i){i.preventDefault(),i.stopPropagation();var r=this.player.isCssfullScreen;this.emitUserAction(i,"switch_cssfullscreen",{cssfullscreen:r}
49),r?this.player.exitCssFullscreen():this.player.getCssFullscreen()}},{key:"animate",value:function(i){this.root&&(i?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.switchTips(i))}},{key:"switchTips",value:function(i){var r=this.i18nKeys,s=this.find(".xg-tips");s&&this.changeLangTextKey(s,i?r.EXITCSSFULLSCREEN_TIPS:r.CSSFULLSCREEN_TIPS)}},{key:"registerIcons",value:function(){return{cssFullscreen:{icon:rL,class:"xg-get-cssfull"},exitCssFullscreen:{icon:sL,class:"xg-exit-cssfull"}}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.btnClick)}},{key:"render",value:function(){if(!this.config.disable)return`<xg-icon class='xgplayer-cssfullscreen'>
50    <div class="xgplayer-icon">
51    </div>
52    `.concat(mr(this,"CSSFULLSCREEN_TIPS",this.playerConfig.isHideTips),`
53    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"cssFullscreen"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:1,disable:!1,target:null}}}]),t}(Gr);function aL(){return new DOMParser().parseFromString(`<svg width="32px" height="40px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
54    <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
55        <path d="M11.2374369,14 L17.6187184,7.61871843 C17.9604272,7.27700968 17.9604272,6.72299032 17.6187184,6.38128157 C17.2770097,6.03957281 16.7229903,6.03957281 16.3812816,6.38128157 L9.38128157,13.3812816 C9.03957281,13.7229903 9.03957281,14.2770097 9.38128157,14.6187184 L16.3812816,21.6187184 C16.7229903,21.9604272 17.2770097,21.9604272 17.6187184,21.6187184 C17.9604272,21.2770097 17.9604272,20.7229903 17.6187184,20.3812816 L11.2374369,14 L11.2374369,14 Z" fill="#FFFFFF"></path>
56    </g>
57</svg>`,"image/svg+xml").firstChild}var oL=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"afterCreate",value:function(){var i=this;this.initIcons(),this.onClick=function(r){r.preventDefault(),r.stopPropagation(),i.config.onClick(r)},this.bind(["click","touchend"],this.onClick)}},{key:"registerIcons",value:function(){return{screenBack:{icon:aL,class:"xg-fullscreen-back"}}}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(this.root,i.screenBack)}},{key:"show",value:function(){C.addClass(this.root,"show")}},{key:"hide",value:function(){C.removeClass(this.root,"show")}},{key:"render",value:function(){return`<xg-icon class="xgplayer-back">
58    </xg-icon>`}}],[{key:"pluginName",get:function(){return"topbackicon"}},{key:"defaultConfig",get:function(){return{position:bt.ROOT_TOP,index:0}}}]),t}(gt);function lL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="2 -4 28 40">
59  <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z"></path>
60</svg>
61`,"image/svg+xml").firstChild}function uL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="2 -4 28 40">
62  <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z"></path>
63</svg>
64`,"image/svg+xml").firstChild}var Vv=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_onOrientationChange",function(o){n.player.fullscreen&&n.config.rotateFullscreen&&(window.orientation===90||window.orientation===-90?n.player.setRotateDeg(0):n.player.setRotateDeg(90))}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this;$e(Me(t.prototype),"afterCreate",this).call(this);var r=this.config,s=this.playerConfig;if(!r.disable){r.target&&(this.playerConfig.fullscreenTarget=this.config.target);var o=C.getFullScreenEl();s.fullscreenTarget===o&&this.player.getFullscreen().catch(function(l){}),this.initIcons(),this.handleFullscreen=this.hook("fullscreenChange",this.toggleFullScreen,{pre:function(u){var h=i.player.fullscreen;i.emitUserAction(u,"switch_fullscreen",{prop:"fullscreen",from:h,to:!h})}}),this.bind(".xgplayer-fullscreen",["touchend","click"],this.handleFullscreen),this.on(Un,function(l){var u=i.find(".xg-tips");u&&i.changeLangTextKey(u,l?i.i18nKeys.EXITFULLSCREEN_TIPS:i.i18nKeys.FULLSCREEN_TIPS),i.animate(l)}),this.config.needBackIcon&&(this.topBackIcon=this.player.registerPlugin({plugin:oL,options:{config:{onClick:function(u){i.handleFullscreen(u)}}}})),it.device==="mobile"&&window.addEventListener("orientationchange",this._onOrientationChange)}}},{key:"registerIcons",value:function(){return{fullscreen:{icon:lL,class:"xg-get-fullscreen"},exitFullscreen:{icon:uL,class:"xg-exit-fullscreen"}}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(".xgplayer-icon",it.device==="mobile"?"touchend":"click",this.handleFullscreen),it.device==="mobile"&&window.removeEventListener("orientationchange",this._onOrientationChange)}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(".xgplayer-icon",i.fullscreen),this.appendChild(".xgplayer-icon",i.exitFullscreen)}},{key:"toggleFullScreen",value:function(i){i instanceof Event&&(i.preventDefault(),i.stopPropagation());var r=this.player,s=this.config,o=s.useCssFullscreen===!0||typeof s.useCssFullscreen=="function"&&s.useCssFullscreen();o?(r.fullscreen?r.exitCssFullscreen():r.getCssFullscreen(),this.animate(r.fullscreen)):s.rotateFullscreen?(r.fullscreen?r.exitRotateFullscreen():r.getRotateFullscreen(),this.animate(r.fullscreen)):s.switchCallback&&typeof s.switchCallback=="function"?s.switchCallback(r.fullscreen):r.fullscreen?(r.exitFullscreen(),s.useScreenOrientation&&this.unlockScreen()):(r.getFullscreen().catch(function(l){}),s.useScreenOrientation&&r.aspectRatio>1&&this.lockScreen(s.lockOrientationType))}},{key:"animate",value:function(i){i?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.topBackIcon&&(i?(this.topBackIcon.show(),this.hide()):(this.topBackIcon.hide(),this.show()))}},{key:"render",value:function(){if(!this.config.disable){var i="FULLSCREEN_TIPS";return`<xg-icon class="xgplayer-fullscreen">
65    <div class="xgplayer-icon">
66    </div>
67    `.concat(mr(this,i,this.playerConfig.isHideTips),`
68    </xg-icon>`)}}},{key:"lockScreen",value:function(i){try{screen.orientation.lock(i).catch(function(r){})}catch{}}}
68,{key:"unlockScreen",value:function(){try{screen.orientation.unlock().catch(function(i){})}catch{}}}],[{key:"pluginName",get:function(){return"fullscreen"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:0,useCssFullscreen:!1,rotateFullscreen:!1,useScreenOrientation:!1,lockOrientationType:"landscape",switchCallback:null,target:null,disable:!1,needBackIcon:!1}}}]),t}(Gr);function Ph(){return new DOMParser().parseFromString(`<svg class="play" xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="3 -4 28 40">
69  <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z"></path>
70</svg>
71`,"image/svg+xml").firstChild}function Dh(){return new DOMParser().parseFromString(`<svg class="pause" xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="3 -4 28 40">
72  <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z"></path>
73</svg>
74`,"image/svg+xml").firstChild}var Kv=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"btnClick",function(o){o.preventDefault(),o.stopPropagation();var l=W(n),u=l.player;return n.emitUserAction(o,"switch_play_pause",{prop:"paused",from:u.paused,to:!u.paused}),u.ended?u.replay():u.paused?(u.play(),n.animate(!1)):(u.pause(),n.animate(!0)),!1}),n}return Le(t,[{key:"afterCreate",value:function(){$e(Me(t.prototype),"afterCreate",this).call(this);var i=this.config;i.disable||(this.initIcons(),this.bind(["touchend","click"],this.btnClick),this.listenEvents(),this.animate(!0))}},{key:"listenEvents",value:function(){var i=this,r=this.player;this.on([$i,Rs,Sa,$r],function(){i.animate(r.paused)})}},{key:"registerIcons",value:function(){return{play:{icon:Ph,class:"xg-icon-play"},pause:{icon:Dh,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(".xgplayer-icon",i.play),this.appendChild(".xgplayer-icon",i.pause)}},{key:"animate",value:function(i){if(this.player){var r=this.i18nKeys,s=this.find(".xg-tips");i?(this.setAttr("data-state","pause"),s&&this.changeLangTextKey(s,r.PLAY_TIPS)):(this.setAttr("data-state","play"),s&&this.changeLangTextKey(s,r.PAUSE_TIPS))}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(["touchend","click"],this.btnClick)}},{key:"render",value:function(){if(!this.config.disable)return`<xg-icon class="xgplayer-play">
75    <div class="xgplayer-icon">
76    </div>
77    `.concat(mr(this,"PLAY_TIPS",this.playerConfig.isHideTips),`
78    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"play"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_LEFT,index:0,disable:!1}}}]),t}(Gr),cL=[{tag:"xg-cache",className:"xgplayer-progress-cache",styleKey:"cachedColor"},{tag:"xg-played",className:"xgplayer-progress-played",styleKey:"playedColor"}],hL=function(){function a(e){Ce(this,a),this.fragments=e.fragments||[],this.fragments.length===0&&this.fragments.push({percent:1}),this._callBack=e.actionCallback,this.fragConfig={fragFocusClass:e.fragFocusClass||"inner-focus-point",fragAutoFocus:!!e.fragAutoFocus,fragClass:e.fragClass||""},this.style=e.style||{playedColor:"",cachedColor:"",progressColor:""},this.duration=0,this.cachedIndex=0,this.playedIndex=0,this.focusIndex=-1}return Le(a,[{key:"updateDuration",value:function(t){var n=this;this.duration=t;var i=0,r=this.fragments;this.fragments=r.map(function(s){return s.start=parseInt(i,10),s.end=parseInt(i+s.percent*n.duration,10),s.duration=parseInt(s.percent*n.duration,10),i+=s.percent*n.duration,s})}},{key:"updateProgress",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"played",n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{newIndex:0,curIndex:0,millisecond:0},i=this.progressList,r=this.fragments;if(!(i.length<1)){var s=n.newIndex,o=n.curIndex,l=n.millisecond;s!==o&&i.map(function(d,g){g<s?d[t].style.width="100%":g>s&&(d[t].style.width=0)});var u=r[s],h=l===0?0:(l-u.start)/u.duration;i[s][t].style.width=h<0?0:"".concat(h*100,"%")}}},{key:"updateFocus",value:function(t){if(!(!this.fragConfig.fragAutoFocus||this.fragments.length<2)){if(!t){if(this.focusIndex>
78-1){this.unHightLight(this.focusIndex);var n={index:-1,preIndex:this.focusIndex,fragment:null};this._callBack&&this._callBack(n),this.focusIndex=-1}return}var i=this.findIndex(t.currentTime*1e3,this.focusIndex);if(i>=0&&i!==this.focusIndex){this.focusIndex>-1&&this.unHightLight(this.focusIndex),this.setHightLight(i);var r={index:i,preIndex:this.focusIndex,fragment:this.fragments[this.focusIndex]};this.focusIndex=i,this._callBack&&this._callBack(r)}}}},{key:"update",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{cached:0,played:0},n=arguments.length>1?arguments[1]:void 0;if(!this.duration||parseInt(n*1e3,10)!==this.duration){if(!n&&n!==0)return;this.updateDuration(parseInt(n*1e3,10))}var i=this.playedIndex,r=this.cachedIndex;if(C.typeOf(t.played)!=="Undefined"){var s=this.findIndex(t.played*1e3,i);if(s<0)return;this.updateProgress("played",{newIndex:s,curIndex:i,millisecond:parseInt(t.played*1e3,10)}),this.playedIndex=s}if(C.typeOf(t.cached)!=="Undefined"){var o=this.findIndex(t.cached*1e3,r);if(o<0)return;this.updateProgress("cached",{newIndex:o,curIndex:r,millisecond:parseInt(t.cached*1e3,10)}),this.cachedIndex=o}}},{key:"findIndex",value:function(t,n){var i=this.fragments;if(!i||i.length===0)return-1;if(i.length===1)return 0;if(n>-1&&n<i.length&&t>i[n].start&&t<i[n].end)return n;if(t>i[i.length-1].start)return i.length-1;for(var r=0;r<i.length;r++)if(t>i[r].start&&t<=i[r].end){n=r;break}return n}},{key:"findHightLight",value:function(){for(var t=this.root.children,n=0;n<t.length;n++)if(C.hasClass(t[n],this.fragConfig.fragFocusClass))return{dom:t[n],pos:t[n].getBoundingClientRect()}}},{key:"findFragment",value:function(t){var n=this.root.children;return t<0||t>=n.length?null:{dom:n[t],pos:n[t].getBoundingClientRect()}}},{key:"unHightLight",value:function(){for(var t=this.root.children,n=0;n<t.length;n++)C.removeClass(t[n],this.fragConfig.fragFocusClass)}},{key:"setHightLight",value:function(t){var n=this.root.children;if(t<n.length)return C.addClass(n[t],this.fragConfig.fragFocusClass),{dom:n[t],pos:n[t].getBoundingClientRect()}}},{key:"destroy",value:function(){this.progressList=null,this.fragments=null,this.root.innerHTML=""}},{key:"reset",value:function(t){var n=this;if(Object.keys(this.fragConfig).forEach(function(r){t[r]!==void 0&&(n.fragConfig[r]=t[r])}),t.fragments){if(this.fragments=t.fragments.length===0?[{percent:1}]:t.fragments,this.updateDuration(this.duration),this.playedIndex=0,this.cachedIndex=0,this.root)for(var i=this.root.children;i.length>0;)this.root.removeChild(i[0]);this.render()}}},{key:"render",value:function(){var t=this,n=this.style.progressColor;if(this.root||(this.root=C.createDom("xg-inners","",{},"progress-list")),this.fragments){var i=this.fragConfig,r=i.fragClass,s=i.fragFocusClass;this.progressList=this.fragments.map(function(o){var l=C.createDom("xg-inner","",{style:n?"background:".concat(n,"; flex: ").concat(o.percent):"flex: ".concat(o.percent)},"".concat(o.isFocus?s:""," xgplayer-progress-inner ").concat(r));return t.root.appendChild(l),cL.forEach(function(u){l.appendChild(C.createDom(u.tag,"",{style:u.styleKey?"background: ".concat(t.style[u.styleKey],"; width:0;"):"width:0;"},u.className))}),{cached:l.children[0],played:l.children[1]}})}return this.root}}]),a}(),gp={POINT:"inner-focus-point",HIGHLIGHT:"inner-focus-highlight"},Wv=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"onMoveOnly",function(r,s){var o=W(i),l=o.pos,u=o.config,h=o.player,d=s;if(r){C.event(r);var g=C.getEventPos(r,h.zoom),m=h.rotateDeg===90?g.clientY:g.clientX;if(l.moving&&Math.abs(l.x-m)<u.miniMoveStep)return;l.moving=!0,l.x=m,d=i.computeTime(r,m)}i.triggerCallbacks("dragmove",d,r),i._updateInnerFocus(d)}),j(W(i),"onBodyClick",function(r){i.pos.isLocked&&(i.pos.isLocked=!1,r.preventDefault(),r.stopPropagation())}),j(W(i),"_mouseDownHandler",function(r,s){i._state.time=s.currentTime,i.updateWidth(s.currentTime,s.seekTime,s.percent,0),i._updateInnerFocus(s)}),j(W(i),"_mouseUpHandler",function(r,s){var o=W(i),l=o.pos;l.moving&&i.updateWidth(s.currentTime,s.seekTime,s.percent,2)}),j(W(i),"_mouseMoveHandler",function(r,s){var o=W(i),l=o._state,u=o.pos,h=o.config,d=o.player;l.time<s.currentTime?s.forward=!0:s.forward=!1,l.time=s.currentTime,u.isDown&&!u.moving&&(u.moving=!0,h.isPauseMoving&&d.pause(),i.triggerCallbacks("dragstart",s,r),i.emitUserAction("drag","dragstart",s)),i.updateWidth(s.currentTime,s.seekTime,s.percent,1),i.triggerCallbacks("dragmove",s,r),i._updateInnerFocus(s)}),j(W(i),"onMouseDown",function(r){var s=W(i),o=s._state,l=s.player,u=s.pos,h=s.config,d=s.playerConfig,g=C.getEventPos(r,l.zoom),m=l.rotateDeg===90?g.clientY:g.clientX;if(!(l.isMini||h.closeMoveSeek||!d.allowSeekAfterEnded&&l.ended)){if(!l.duration&&!l.isPlaying){l.play();return}r.stopPropagation(),i.focus(),C.checkIsFunction(d.disableSwipeHandler)&&d.disableSwipeHandler(),C.checkIsFunction(h.onMoveStart)&&h.onMoveStart(),C.event(r),u.x=m,u.isDown=!0,u.moving=!1,o.prePlayTime=l.currentTime,l.focus({autoHide:!1}),i.isProgressMoving=!0,C.addClass(i.progressBtn,"active");var v=i.computeTime(r,m);v.prePlayTime=o.prePlayTime,i._mouseDownHandlerHook(r,v);var T=r.type;return T==="touchstart"?(i.root.addEventListener("touchmove",i.onMouseMove),i.root.addEventListener("touchend",i.onMouseUp),i.root.addEventListener("touchcancel",i.onMouseUp)):(i.unbind("mousemove",i.onMoveOnly),document.addEventListener("mousemove",i.onMouseMove,!1),document.addEventListener("mouseup",i.onMouseUp,!1)),!0}}),j(W(i),"onMouseUp",function(r){var s=W(i),o=s.player,l=s.config,u=s.pos,h=s.playerConfig,d=s._state;if(u){r.stopPropagation(),r.preventDefault(),C.checkIsFunction(h.enableSwipeHandler)&&h.enableSwipeHandler(),C.checkIsFunction(l.onMoveEnd)&&l.onMoveEnd(),C.event(r),C.removeClass(i.progressBtn,"active");var g=i.computeTime(r,u.x);g.prePlayTime=d.prePlayTime,u.moving?(i.triggerCallbacks("dragend",g,r),i.emitUserAction("drag","dragend",g)):(i.triggerCallbacks("click",g,r),i.emitUserAction("click","click",g)),i._mouseUpHandlerHook(r,g),u.moving=!1,u.isDown=!1,u.x=0,u.y=0,u.isLocked=!0,d.prePlayTime=0,d.time=0;var m=r.type;m==="touchend"||m==="touchcancel"?(i.root.removeEventListener("touchmove",i.onMouseMove),i.root.removeEventListener("touchend",i.onMouseUp),i.root.removeEventListener("touchcancel",i.onMouseUp),i.blur()):(document.removeEventListener("mousemove",i.onMouseMove,!1),document.removeEventListener("mouseup",i.onMouseUp,!1),u.isEnter?h.isMobileSimulateMode!=="mobile"&&i.bind("mousemove",i.onMoveOnly):i.onMouseLeave(r)),C.setTimeout(W(i),function(){i.resetSeekState()},1),o.focus()}}),j(W(i),"onMouseMove",function(r){var s=W(i),o=s._state,l=s.pos,u=s.player,h=s.config;C.checkTouchSupport()&&r.preventDefault(),C.event(r);var d=C.getEventPos(r,u.zoom),g=u.rotateDeg===90?d.clientY:d.clientX,m=Math.abs(l.x-g);if(!(l.moving&&m<h.miniMoveStep||!l.moving&&m<h.miniStartStep)){l.x=g;var v=i.computeTime(r,g);v.prePlayTime=o.prePlayTime,i._mouseMoveHandlerHook(r,v)}}),j(W(i),"onMouseOut",function(r){i.triggerCallbacks("mouseout",null,r)}),j(W(i),"onMouseOver",function(r){i.triggerCallbacks("mouseover",null,r)}),j(W(i),"onMouseEnter",function(r){var s=W(i),o=s.player,l=s.pos;if(!(l.isDown||l.isEnter||o.isMini||!o.config.allowSeekAfterEnded&&o.ended)){l.isEnter=!0,i.bind("mousemove",i.onMoveOnly),i.bind("mouseleave",i.onMouseLeave),C.event(r);var u=C.getEventPos(r,o.zoom),h=o.rotateDeg===90?u.clientY:u.clientX,d=i.computeTime(r,h);i.triggerCallbacks("mouseenter",d,r),i.focus()}}),j(W(i),"onMouseLeave",function(r){i.triggerCallbacks("mouseleave",null,r),i.unlock(),i._updateInnerFocus(null)}),j(W(i),"onVideoResize",function(){var r=i.pos,s=r.x,o=r.isDown,l=r.isEnter;if(l&&!o){var u=i.computeTime(null,s);i.onMoveOnly(null,u)}}),i.useable=!1,i.isProgressMoving=!1,i.__dragCallBacks=[],i._state={now:-1,direc:0,time:0,prePlayTime:-1},i._disableBlur=!1,typeof i.config.isDragingSeek=="boolean"&&(console.warn("[XGPLAYER] 'isDragingSeek' is deprecated, please use 'isDraggingSeek' instead"),i.config.isDraggingSeek=i.config.isDragingSeek),i}return Le(t,[{key:"offsetDuration",get:function(){return this.playerConfig.customDuration||this.player.offsetDuration||this.player.duration}},{key:"duration",get:function(){return this.playerConfig.customDuration||this.player.duration}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"currentTime",get:function(){var i=this.player,r=i.offsetCurrentTime,s=i.currentTime;return r>=0?r:s+this.timeOffset}},{key:"changeState",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.useable=i}},{key:"show",value:function(i){this.root&&(this.root.style.display="flex")}},{key:"_initInner",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};(!r||r.length===0)&&(r=[{percent:1}]);var o=wt(wt({fragments:r},s),{},{actionCallback:function(u){i.emitUserAction("fragment_focus","fragment_focus",u)}});this.innerList?this.innerList.reset(o):(this.innerList=new hL(o),this.outer.insertBefore(this.innerList.render(),this.outer.children[0]),["findHightLight","unHightLight","setHightLight","findFragment"].map(function(l){i[l]=i.innerList[l].bind(i.innerList)}))}},{key:"_updateInnerFocus",value:function(i){this.innerList&&this.innerList.updateFocus(i)}},{key:"afterCreate",value:function(){if(!(this.config.disable||this.playerConfig.isLive)){this.pos={x:0,y:0,moving:!1,isDown:!1,isEnter:!1,isLocked:!1},this.outer=this.find("xg-outer");var i=this.config,r=i.fragFocusClass,s=i.fragAutoFocus,o=i.fragClass;this._initInner(this.config.fragments,{fragFocusClass:r,fragAutoFocus:s,fragClass:o,style:this.playerConfig.commonStyle||{}}),it.device==="mobile"&&(this.config.isDraggingSeek=!1,this.isMobile=!0),this.progressBtn=this.find(".xgplayer-progress-btn"),this.listenEvents(),this.bindDomEvents(),this.initCustomStyle()}}},{key:"listenEvents",value:function(){var i=this;this.on(Vn,function(){i.onMouseLeave()}),this.on(Bi,function(){i.onTimeupdate()}),this.on(Gn,function(){i.onTimeupdate(),i.onCacheUpdate()}),this.on(bv,function(){i.onCacheUpdate()}),this.on(Ur,function(){i.onCacheUpdate(!0),i.onTimeupdate(!0),i._state.now=0}),this.on($r,function(){i.onReset()}),this.on(fr,function(){i.onVideoResize()})}},{key:"setConfig",value:function(i){var r=this,s=null;
78Object.keys(i).forEach(function(o){r.config[o]=i[o],o==="fragments"&&(s=i[o])}),s&&this._initInner(s,i)}},{key:"initCustomStyle",value:function(){var i=this.playerConfig||{},r=i.commonStyle,s=r.sliderBtnStyle,o=this.progressBtn;s&&(typeof s=="string"?o.style.boxShadow=s:pi(s)==="object"&&Object.keys(s).map(function(l){o.style[l]=s[l]}))}},{key:"triggerCallbacks",value:function(i,r,s){this.__dragCallBacks.length>0&&this.__dragCallBacks.map(function(o){if(o&&o.handler&&o.type===i)try{o.handler(r,s)}catch(l){console.error("[XGPLAYER][triggerCallbacks] ".concat(o," error"),l)}})}},{key:"addCallBack",value:function(i,r){r&&typeof r=="function"&&this.__dragCallBacks.push({type:i,handler:r})}},{key:"removeCallBack",value:function(i,r){var s=this.__dragCallBacks,o=-1;s.map(function(l,u){l&&l.type===i&&l.handler===r&&(o=u)}),o>-1&&s.splice(o,1)}},{key:"unlock",value:function(){var i=this.player,r=this.pos;if(r.isEnter=!1,r.isLocked=!1,!i.isMini){if(this.unbind("mousemove",this.onMoveOnly),r.isDown){this.unbind("mouseleave",this.onMouseLeave);return}this.blur()}}},{key:"bindDomEvents",value:function(){var i=this.player.config;this._mouseDownHandlerHook=this.hook("dragstart",this._mouseDownHandler),this._mouseUpHandlerHook=this.hook("dragend",this._mouseUpHandler),this._mouseMoveHandlerHook=this.hook("drag",this._mouseMoveHandler),(this.domEventType==="touch"||this.domEventType==="compatible")&&this.root.addEventListener("touchstart",this.onMouseDown),(this.domEventType==="mouse"||this.domEventType==="compatible")&&(this.bind("mousedown",this.onMouseDown),i.isMobileSimulateMode!=="mobile"&&this.bind("mouseenter",this.onMouseEnter),this.bind("mouseover",this.onMouseOver),this.bind("mouseout",this.onMouseOut),this.player.root.addEventListener("click",this.onBodyClick,!0))}},{key:"focus",value:function(){this.player.controls.pauseAutoHide(),C.addClass(this.root,"active")}},{key:"blur",value:function(){this._disableBlur||(this.player.controls.recoverAutoHide(),C.removeClass(this.root,"active"))}},{key:"disableBlur",value:function(){this._disableBlur=!0}},{key:"enableBlur",value:function(){this._disableBlur=!1}},{key:"updateWidth",value:function(i,r,s,o){var l=this.config,u=this.player;if(!(l.isCloseClickSeek&&o===0)){var h=r=r>=u.duration?u.duration-l.endedDiff:Number(r).toFixed(1);this.updatePercent(s),this.updateTime(i),!(o===1&&(!l.isDraggingSeek||u.config.mediaType==="audio"))&&(this._state.now=h,this._state.direc=h>u.currentTime?0:1,u.seek(h))}}},{key:"computeTime",value:function(i,r){var s=this.player,o=this.root.getBoundingClientRect(),l=o.width,u=o.height,h=o.top,d=o.left,g,m,v=r;s.rotateDeg===90?(g=u,m=h):(g=l,m=d);var T=v-m;T=T>g?g:T<0?0:T;var y=T/g;y=y<0?0:y>1?1:y,Number.isNaN(y)&&(y=this.player.currentTime/this.offsetDuration);var _=parseInt(y*this.offsetDuration*1e3,10)/1e3,x=C.getCurrentTimeByOffset(_,s.timeSegments);return{percent:y,currentTime:_,seekTime:x,offset:T,width:g,left:m,e:i}}},{key:"updateTime",value:function(i){var r=this.player,s=this.duration;i>s?i=s:i<0&&(i=0);var o=r.plugins.time;o&&o.updateTime(i)}},{key:"resetSeekState",value:function(){this.isProgressMoving=!1;var i=this.player.plugins.time;i&&i.resetActive()}},{key:"updatePercent",value:function(i,r){if(this.isProgressMoving=!0,!this.config.disable){i=i>1?1:i<0?0:i,this.progressBtn.style.left="".concat(i*100,"%"),this.innerList.update({played:i*this.offsetDuration},this.offsetDuration);var s=this.player.plugins.miniprogress;s&&s.update({played:i*this.offsetDuration},this.offsetDuration)}}},{key:"onTimeupdate",value:function(i){var r=this.player,s=this._state,o=this.offsetDuration;if(!(r.isSeeking&&r.media.seeking||this.isProgressMoving||!r.hasStart)){if(s.now>-1){var l=parseInt(s.now*1e3,10)-parseInt(r.currentTime*1e3,10);if(s.direc===0&&l>300||s.direc===1&&l>-300){s.now=-1;return}else s.now=-1}var u=this.currentTime;u=C.adjustTimeByDuration(u,o,i),this.innerList.update({played:u},o),this.progressBtn.style.left="".concat(u/o*100,"%")}}},{key:"onCacheUpdate",value:function(i){var r=this.player,s=this.duration;if(r){var o=r.bufferedPoint.end;o=C.adjustTimeByDuration(o,s,i),this.innerList.update({cached:o},s)}}},{key:"onReset",value:function(){this.innerList.update({played:0,cached:0},0),this.progressBtn.style.left="0%"}},{key:"destroy",value:function(){var i=this.player;this.thumbnailPlugin=null,this.innerList.destroy(),this.innerList=null;var r=this.domEventType;(r==="touch"||r==="compatible")&&(this.root.removeEventListener("touchstart",this.onMouseDown),this.root.removeEventListener("touchmove",this.onMouseMove),this.root.removeEventListener("touchend",this.onMouseUp),this.root.removeEventListener("touchcancel",this.onMouseUp)),(r==="mouse"||r==="compatible")&&(this.unbind("mousedown",this.onMouseDown),this.unbind("mouseenter",this.onMouseEnter),this.unbind("mousemove",this.onMoveOnly),this.unbind("mouseleave",this.onMouseLeave),document.removeEventListener("mousemove",this.onMouseMove,!1),document.removeEventListener("mouseup",this.onMouseUp,!1),i.root.removeEventListener("click",this.onBodyClick,!0))}},{key:"render",value:function(){if(!(this.config.disable||this.playerConfig.isLive)){var i=this.player.controls?this.player.controls.config.mode:"",r=i==="bottom"?"xgplayer-progress-bottom":"";return`
79    <xg-progress class="xgplayer-progress `.concat(r,`">
80      <xg-outer class="xgplayer-progress-outer">
81        <xg-progress-btn class="xgplayer-progress-btn"></xg-progress-btn>
82      </xg-outer>
83    </xg-progress>
84    `)}}}],[{key:"pluginName",get:function(){return"progress"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_CENTER,index:0,disable:!1,isDraggingSeek:!0,closeMoveSeek:!1,isPauseMoving:!1,isCloseClickSeek:!1,fragments:[{percent:1}],fragFocusClass:gp.POINT,fragClass:"",fragAutoFocus:!1,miniMoveStep:5,miniStartStep:2,onMoveStart:function(){},onMoveEnd:function(){},endedDiff:.2}}},{key:"FRAGMENT_FOCUS_CLASS",get:function(){return gp}}]),t}(gt),Yv=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),i.isActiving=!1,i}return Le(t,[{key:"duration",get:function(){var i=this.player,r=i.offsetDuration,s=i.duration;return this.playerConfig.customDuration||r||s}},{key:"currentTime",get:function(){var i=this.player,r=i.offsetCurrentTime,s=i.currentTime;return r>=0?r:s}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"afterCreate",value:function(){var i=this.player.controls.config.mode;this.mode=i==="flex"?"flex":"normal",!this.config.disable&&(this.mode==="flex"&&(this.createCenterTime(),this.root.style.display="none"),this.durationDom=this.find(".time-duration"),this.timeDom=this.find(".time-current"),this.listenEvents())}},{key:"listenEvents",value:function(){var i=this;this.on([Vn,Gn,Bi],function(r){r.eventName==="durationchange"&&(i.isActiving=!1),i.onTimeUpdate()}),this.on(Ur,function(){i.onTimeUpdate(!0)}),this.on($r,function(){i.onReset()})}},{key:"show",value:function(i){if(this.mode==="flex"){this.centerCurDom&&(this.centerCurDom.style.display="block"),this.centerDurDom&&(this.centerDurDom.style.display="block");return}this.root.style.display="block"}},{key:"hide",value:function(){if(this.mode==="flex"){this.centerCurDom&&(this.centerCurDom.style.display="none"),this.centerDurDom&&(this.centerDurDom.style.display="none");return}this.root.style.display="none"}},{key:"onTimeUpdate",value:function(i){var r=this.player,s=this.config,o=this.duration;if(!(s.disable||this.isActiving||!r.hasStart)){var l=this.currentTime+this.timeOffset;l=C.adjustTimeByDuration(l,o,i),this.mode==="flex"?(this.centerCurDom.innerHTML=this.minWidthTime(C.format(l)),o!==1/0&&o>
840&&(this.centerDurDom.innerHTML=C.format(o))):(this.timeDom.innerHTML=this.minWidthTime(C.format(l)),o!==1/0&&o>0&&(this.durationDom.innerHTML=C.format(o)))}}},{key:"onReset",value:function(){this.mode==="flex"?(this.centerCurDom.innerHTML=this.minWidthTime(C.format(0)),this.centerDurDom.innerHTML=C.format(0)):(this.timeDom.innerHTML=this.minWidthTime(C.format(0)),this.durationDom.innerHTML=C.format(0))}},{key:"createCenterTime",value:function(){var i=this.player;if(!(!i.controls||!i.controls.center)){var r=i.controls.center;this.centerCurDom=C.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-left"),this.centerDurDom=C.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-right"),r.children.length>0?r.insertBefore(this.centerCurDom,r.children[0]):r.appendChild(this.centerCurDom),r.appendChild(this.centerDurDom),this.extraEls=[this.centerCurDom,this.centerDurDom]}}},{key:"afterPlayerInit",value:function(){var i=this.config;if(this.duration===1/0||this.playerConfig.isLive?(C.hide(this.durationDom),C.hide(this.timeDom),C.hide(this.find(".time-separator")),C.show(this.find(".time-live-tag"))):C.hide(this.find(".time-live-tag")),i.hide){this.hide();return}this.show()}},{key:"changeLiveState",value:function(i){i?(C.hide(this.durationDom),C.hide(this.timeDom),C.hide(this.find(".time-separator")),C.show(this.find(".time-live-tag"))):(C.hide(this.find(".time-live-tag")),C.show(this.find(".time-separator")),C.show(this.durationDom),C.show(this.timeDom))}},{key:"updateTime",value:function(i){if(this.isActiving=!0,!(!i&&i!==0||i>this.duration)){if(this.mode==="flex"){this.centerCurDom.innerHTML=this.minWidthTime(C.format(i));return}this.timeDom.innerHTML=this.minWidthTime(C.format(i))}}},{key:"minWidthTime",value:function(i){return i.split(":").map(function(r){return'<span class="time-min-width">'.concat(r,"</span>")}).join(":")}},{key:"resetActive",value:function(){var i=this,r=this.player,s=function(){i.isActiving=!1};this.off(Gn,s),r.isSeeking&&r.media.seeking?this.once(Gn,s):this.isActiving=!1}},{key:"destroy",value:function(){var i=this.player.controls.center;this.centerCurDom&&i.removeChild(this.centerCurDom),this.centerCurDom=null,this.centerDurDom&&i.removeChild(this.centerDurDom),this.centerDurDom=null}},{key:"render",value:function(){if(!this.config.disable)return`<xg-icon class="xgplayer-time">
85    <span class="time-current">00:00</span>
86    <span class="time-separator">/</span>
87    <span class="time-duration">00:00</span>
88    <span class="time-live-tag">`.concat(this.i18n.LIVE_TIP,`</span>
89    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"time"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_LEFT,index:2,disable:!1}}}]),t}(gt);function fL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">
90  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>
91  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z"></path>
92</svg>
93`,"image/svg+xml").firstChild}function dL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">
94  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>
95  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.61
957 181.227l-0.021 0.021z"></path>
96</svg>
97`,"image/svg+xml").firstChild}function gL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">
98  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>
99  <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z"></path>
100</svg>
101`,"image/svg+xml").firstChild}var zv=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onBarMousedown",function(o){var l=W(n),u=l.player,h=n.find(".xgplayer-bar");C.event(o);var d=h.getBoundingClientRect(),g=C.getEventPos(o,u.zoom),m=d.height-(g.clientY-d.top);if(g.h=m,g.barH=d.height,n.pos=g,!(m<-2))return n.updateVolumePos(m,o),document.addEventListener("mouseup",n.onBarMouseUp),n._d.isStart=!0,!1}),j(W(n),"onBarMouseMove",function(o){var l=W(n),u=l._d;if(u.isStart){var h=W(n),d=h.pos,g=h.player;o.preventDefault(),o.stopPropagation(),C.event(o);var m=C.getEventPos(o,g.zoom);u.isMoving=!0;var v=d.h-m.clientY+d.clientY;v>d.barH||n.updateVolumePos(v,o)}}),j(W(n),"onBarMouseUp",function(o){C.event(o),document.removeEventListener("mouseup",n.onBarMouseUp);var l=W(n),u=l._d;u.isStart=!1,u.isMoving=!1}),j(W(n),"onMouseenter",function(o){n._d.isActive=!0,n.focus(),n.emit("icon_mouseenter",{pluginName:n.pluginName})}),j(W(n),"onMouseleave",function(o){n._d.isActive=!1,n.unFocus(100,!1,o),n.emit("icon_mouseleave",{pluginName:n.pluginName})}),j(W(n),"onVolumeChange",function(o){if(n.player){var l=n.player,u=l.muted,h=l.volume;n._d.isMoving||(n.find(".xgplayer-drag").style.height=u||h===0?"4px":"".concat(h*100,"%"),n.config.showValueLabel&&n.updateVolumeValue()),n.animate(u,h)}}),n}return Le(t,[{key:"registerIcons",value:function(){return{volumeSmall:{icon:dL,class:"xg-volume-small"},volumeLarge:{icon:fL,class:"xg-volume"},volumeMuted:{icon:gL,class:"xg-volume-mute"}}}},{key:"afterCreate",value:function(){var i=this;if(this._timerId=null,this._d={isStart:!1,isMoving:!1,isActive:!1},!this.config.disable){this.initIcons();var r=this.playerConfig,s=r.commonStyle,o=r.volume;s.volumeColor&&(this.find(".xgplayer-drag").style.backgroundColor=s.volumeColor),this.changeMutedHandler=this.hook("mutedChange",function(l){i.changeMuted(l)},{pre:function(u){u.preventDefault(),u.stopPropagation()}}),this._onMouseenterHandler=this.hook("mouseenter",this.onMouseenter),this._onMouseleaveHandler=this.hook("mouseleave",this.onMouseleave),it.device!=="mobile"&&this.playerConfig.isMobileSimulateMode!=="mobile"&&(this.bind("mouseenter",this._onMouseenterHandler),this.bind(["blur","mouseleave"],this._onMouseleaveHandler),this.bind(".xgplayer-slider","mousedown",this.onBarMousedown),this.bind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.bind(".xgplayer-slider","mouseup",this.onBarMouseUp)),this.bind(".xgplayer-icon",["touchend","click"],this.changeMutedHandler),this.on(Sv,this.onVolumeChange),this.once(Hn,this.onVolumeChange),C.typeOf(o)!=="Number"&&(this.player.volume=this.config.default),this.onVolumeChange()}}},{key:"updateVolumePos",value:function(i,r){var s=this.player,o=this.find(".xgplayer-drag"),l=this.find(".xgplayer-bar");if(!(!l||!o)){var u=parseInt(i/l.getBoundingClientRect().height*1e3,10);o.style.height="".concat(i,"px");var h=Math.max(Math.min(u/1e3,1),0),d={volume:{from:s.volume,to:h}};s.muted&&(d.muted={from:!0,to:!1}),this.emitUserAction(r,"change_volume",{muted:s.muted,volume:s.volume,props:d}),s.volume=Math.max(Math.min(u/1e3,1),0),s.muted&&(s.muted=!1),this.config.showValueLabel&&this.updateVolumeValue()}}},{key:"updateVolumeValue",value:function(){var i=this.player,r=i.volume,s=i.muted,o=this.find(".xgplayer-value-label"),l=Math.max(Math.min(r,1),0);o.innerText=s?0:Math.round(l*100)}},{key:"focus",value:function(){var i=this.player;i.focus({autoHide:!1}),this._timerId&&(C.clearTimeout(this,this._timerId),this._timerId=null),C.addClass(this.root,"slide-show")}},{key:"unFocus",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,o=arguments.length>2?arguments[2]:void 0,l=this._d,u=this.player;l.isActive||(this._timerId&&(C.clearTimeout(this,this._timerId),this._timerId=null),this._timerId=C.setTimeout(this,function(){l.isActive||(s?u.blur():u.focus(),C.removeClass(i.root,"slide-show"),l.isStart&&i.onBarMouseUp(o)),i._timerId=null},r))}},{key:"changeMuted",value:function(i){i&&i.stopPropagation();var r=this.player,s=this._d;s.isStart&&this.onBarMouseUp(i),this.emitUserAction(i,"change_muted",{muted:r.muted,volume:r.volume,props:{muted:{from:r.muted,to:!r.muted}}}),r.volume>0&&(r.muted=!r.muted),r.volume<.01&&(r.volume=this.config.miniVolume)}},{key:"animate",value:function(i,r){i||r===0?this.setAttr("data-state","mute"):r<.5&&this.icons.volumeSmall?this.setAttr("data-state","small"):this.setAttr("data-state","normal")}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(".xgplayer-icon",i.volumeSmall),this.appendChild(".xgplayer-icon",i.volumeLarge),this.appendChild(".xgplayer-icon",i.volumeMuted)}},{key:"destroy",value:function(){this._timerId&&(C.clearTimeout(this,this._timerId),this._timerId=null),this.unbind("mouseenter",this.onMouseenter),this.unbind(["blur","mouseleave"],this.onMouseleave),this.unbind(".xgplayer-slider","mousedown",this.onBarMousedown),this.unbind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.unbind(".xgplayer-slider","mouseup",this.onBarMouseUp),document.removeEventListener("mouseup",this.onBarMouseUp),this.unbind(".xgplayer-icon",it.device==="mobile"?"touchend":"click",this.changeMutedHandler)}},{key:"render",value:function(){if(!this.config.disable){var i=this.config.default||this.player.volume,r=this.config.showValueLabel;return`
102    <xg-icon class="xgplayer-volume" data-state="normal">
103      <div class="xgplayer-icon">
104      </div>
105      <xg-slider class="xgplayer-slider">
106        `.concat(r?'<div class="xgplayer-value-label">'.concat(i*100,"</div>"):"",`
107        <div class="xgplayer-bar">
108          <xg-drag class="xgplayer-drag" style="height: `).concat(i*100,`%"></xg-drag>
109        </div>
110      </xg-slider>
111    </xg-icon>`)}}}],[{key:"pluginName",get:function(){return"volume"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:1,disable:!1,showValueLabel:!1,default:.6,miniVolume:.2}}}]),t}(gt);function di(){return new Date().getTime()}var tr={LOAD_START:"loadstart",LOADED_DATA:"loadeddata",FIRST_FRAME:"firstFrame",WAIT_START:"waitingStart",WAIT_END:"waitingEnd",SEEK_START:"seekStart",SEEK_END:"seekEnd"},pL=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_onTimeupdate",function(){n._state.isTimeUpdate=!0,n._state.autoplayStart&&(lt.logInfo("[xgLogger]".concat(n.player.playerId," _onTimeupdate")),n._sendFF("onTimeupdate"))}),j(W(n),"_onAutoplayStart",function(){lt.logInfo("[xgLogger]".concat(n.player.playerId," _onAutoplayStart")),n._state.autoplayStart=!0,n.vt&&n._sendFF("onAutoplayStart")}),j(W(n),"_onReset",function(){n._state={autoplayStart:!1,isFFLoading:!1,isTimeUpdate:!1,isFFSend:!1,isLs:!1},n.vt=0,n.pt=0,n.fvt=0,n.newPointTime=di(),n.loadedCostTime=0,n.startCostTime=0,n._isSeeking=!1,n.seekingStart=0,n.waitingStart=0,n.fixedWaitingStart=0,n._isWaiting=!1,n._waitTimer&&C.clearTimeout(W(n),n._waitTimer),n._waittTimer&&C.clearTimeout(W(n),n._waittTimer),n._waitTimer=null,n._waittTimer=null,n._waitType=0}),j(W(n),"_onSeeking",function(){n.seekingStart||(n.suspendWaitingStatus("seek"),n.seekingStart=di(),n.emitLog(tr.SEEK_START,{start:di()}))}),j(W(n),"_onSeeked",function(){n.suspendSeekingStatus("seeked")}),j(W(n),"_onWaitingLoadStart",function(){n._isWaiting||n.vt||(n._isWaiting=!0,n.waitingStart=di(),n.fixedWaitingStart=di(),n._waitType=1,n.emitLog(tr.WAIT_START,{fixedStart:n.fixedWaitingStart,start:n.waitingStart,type:1,endType:"loadstart"}))}),j(W(n),"_onWaiting",function(){n._isWaiting||!n.vt||(n._isWaiting=!0,n.vt?n.seekingStart?n._waitType=2:n._waitType=0:n._waitType=1,n.fixedWaitingStart=di(),n._waitTimer=C.setTimeout(W(n),function(){n._isWaiting&&(n.waitingStart=di(),C.clearTimeout(W(n),n._waitTimer),n._waitTimer=null,n._startWaitTimeout(),n.emitLog(tr.WAIT_START,{fixedStart:n.fixedWaitingStart,start:n.waitingStart,type:n._waitType,endType:n._waitType===2?"seek":"playing"}))},200))}),j(W(n),"_onError",function(){n.suspendSeekingStatus("error"),n.suspendWaitingStatus("error")}),j(W(n),"_onPlaying",function(){n._isWaiting&&n.suspendWaitingStatus("playing")}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this;this._onReset(),this._waitType="firstFrame",this._initOnceEvents(),this.newPointTime=di(),this.loadedCostTime=0,this.startCostTime=0,this.on(Ih,function(){var r=i._state,s=r.auto
111playStart,o=r.isFFSend;i.startCostTime=di()-i.newPointTime,lt.logInfo("[xgLogger]".concat(i.player.playerId," LOAD_START"),"autoplayStart:".concat(s," isFFSend:").concat(o," startCostTime:").concat(i.startCostTime," newPointTime").concat(i.newPointTime)),!o&&(!r.isLs&&i.emitLog(tr.LOAD_START,{}),r.isLs=!0,r.isTimeUpdate=!1,r.isFFLoading=!0,i.pt=di(),i.vt=0,i.fvt=0,i._initOnceEvents(),i._onWaitingLoadStart())}),this.on(Hn,function(){i.vt=di(),i.fvt=i.vt-i.pt,i.loadedCostTime=i.vt-i.newPointTime;var r=i._state,s=r.isTimeUpdate,o=r.isFFSend,l=r.autoplayStart;lt.logInfo("[xgLogger]".concat(i.player.playerId," LOADED_DATA"),"fvt:".concat(i.fvt," isTimeUpdate:").concat(i._state.isTimeUpdate," loadedCostTime:").concat(i.loadedCostTime)),(s||l)&&i._sendFF("loadedData"),o||i.emitLog(tr.LOADED_DATA,{}),i.suspendWaitingStatus("loadeddata")}),this.on(_l,this._onSeeking),this.on(Gn,this._onSeeked),this.on(Rh,function(){i.endState("destroy")}),this.on(bl,function(){i.endState("urlChange"),lt.logInfo("[xgLogger]".concat(i.player.playerId," URL_CHANGE")),i._state.isFFSend&&i._onReset()}),this.on([bh,$n],this._onPlaying),this.on(xa,this._onWaiting),this.on(Sa,this._onError),this.on(Il,function(){lt.logInfo("[xgLogger]".concat(i.player.playerId," RESET")),i.endState("reset"),i._initOnceEvents(),i._onReset()})}},{key:"_initOnceEvents",value:function(){this.off(Or,this._onAutoplayStart),this.off(Bi,this._onTimeupdate),this.once(Or,this._onAutoplayStart),this.once(Bi,this._onTimeupdate)}},{key:"_sendFF",value:function(i){this.s=di();var r=this._state,s=r.isFFLoading,o=r.isFFSend;lt.logInfo("[xgLogger]".concat(this.player.playerId," _sendFF"),"".concat(i," fvt:").concat(this.fvt," isFFLoading:").concat(s," !isFFSend:").concat(!o)),this.vt>0&&s&&!o&&(lt.logInfo("[xgLogger]".concat(this.player.playerId," emitLog_firstFrame"),i),this._state.isFFLoading=!1,this._state.isFFSend=!0,this.emitLog(tr.FIRST_FRAME,{fvt:this.fvt,costTime:this.fvt,vt:this.vt,startCostTime:this.startCostTime,loadedCostTime:this.loadedCostTime}))}},{key:"_startWaitTimeout",value:function(){var i=this;this._waittTimer&&C.clearTimeout(this,this._waittTimer),this._waittTimer=C.setTimeout(this,function(){i.suspendWaitingStatus("timeout"),C.clearTimeout(i,i._waittTimer),i._waittTimer=null},this.config.waitTimeout)}},{key:"endState",value:function(i){this.suspendWaitingStatus(i),this.suspendSeekingStatus(i)}},{key:"suspendSeekingStatus",value:function(i){if(this.seekingStart){var r=di(),s=r-this.seekingStart;this.seekingStart=0,this.emitLog(tr.SEEK_END,{end:r,costTime:s,endType:i})}}},{key:"suspendWaitingStatus",value:function(i){if(this._waitTimer&&(C.clearTimeout(this,this._waitTimer),this._waitTimer=null),this._waittTimer&&(C.clearTimeout(this,this._waittTimer),this._waittTimer=null),this._isWaiting=!1,!!this.waitingStart){var r=di(),s=r-this.waitingStart,o=r-this.fixedWaitingStart,l=this.config.waitTimeout;this._isWaiting=!1,this.waitingStart=0,this.fixedWaitingStart=0,this.emitLog(tr.WAIT_END,{fixedCostTime:o>l?l:o,costTime:s>l?l:s,type:i==="loadeddata"?1:this._waitType,endType:this._waitType===2?"seek":i})}}},{key:"emitLog",value:function(i,r){var s=this.player;this.emit(Pv,wt({t:di(),host:C.getHostFromUrl(s.currentSrc),vtype:s.vtype,eventType:i,currentTime:this.player.currentTime,readyState:s.video.readyState,networkState:s.video.networkState},r))}}],[{key:"pluginName",get:function(){return"xgLogger"}},{key:"defaultConfig",get:function(){return{waitTimeout:1e4}}}]),t}(gt);function mL(){return new DOMParser().parseFromString(`<svg class="xgplayer-replay-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78 78" width="78" height="78">
112  <path fill="#fff" transform="translate(20, 20)" d="M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C2
1126.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z"></path>
113</svg>
114`,"image/svg+xml").firstChild}var vL=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"registerIcons",value:function(){return{replay:mL}}},{key:"afterCreate",value:function(){var i=this;gt.insert(this.icons.replay,this.root,0),this.__handleReplay=this.hook("replayClick",function(){i.player.replay()},{pre:function(s){s.preventDefault(),s.stopPropagation()}}),this.bind(".xgplayer-replay",["click","touchend"],this.__handleReplay),this.on(Ur,function(){if(i.playerConfig.loop||C.addClass(i.player.root,"replay"),!i.config.disable){i.show();var r=i.root.querySelector("path");if(r){var s=window.getComputedStyle(r).getPropertyValue("transform");if(typeof s=="string"&&s.indexOf("none")>-1)return null;r.setAttribute("transform",s)}}}),this.on($i,function(){i.hide()})}},{key:"handleReplay",value:function(i){i.preventDefault(),i.stopPropagation(),this.player.replay(),C.removeClass(this.player.root,"replay")}},{key:"show",value:function(i){this.config.disable||(this.root.style.display="flex")}},{key:"enable",value:function(){this.config.disable=!1}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){this.unbind(".xgplayer-replay",["click","touchend"],this.__handleReplay)}},{key:"render",value:function(){return`<xg-replay class="xgplayer-replay">
115      <xg-replay-txt class="xgplayer-replay-txt" lang-key="`.concat(this.i18nKeys.REPLAY,'">').concat(this.i18n.REPLAY,`</xg-replay-txt>
116    </xg-replay>`)}}],[{key:"pluginName",get:function(){return"replay"}},{key:"defaultConfig",get:function(){return{disable:!1}}}]),t}(gt),yL=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"isEndedShow",get:function(){return this.config.isEndedShow},set:function(i){this.config.isEndedShow=i}},{key:"hide",value:function(){C.addClass(this.root,"hide")}},{key:"show",value:function(i){C.removeClass(this.root,"hide")}},{key:"beforeCreate",value:function(i){typeof i.player.config.poster=="string"&&(i.config.poster=i.player.config.poster)}},{key:"afterCreate",value:function(){var i=this;this.on(Ur,function(){i.isEndedShow&&C.removeClass(i.root,"hide")}),this.config.hideCanplay?(this.once(Bi,function(){i.onTimeUpdate()}),this.on(bl,function(){C.removeClass(i.root,"hide"),C.addClass(i.root,"xg-showplay"),i.once(Bi,function(){i.onTimeUpdate()})})):this.on($i,function(){C.addClass(i.root,"hide")})}},{key:"setConfig",value:function(i){var r=this;
116Object.keys(i).forEach(function(o){r.config[o]=i[o]});var s=this.config.poster;this.update(s)}},{key:"onTimeUpdate",value:function(){var i=this;this.player.currentTime?C.removeClass(this.root,"xg-showplay"):this.once(Bi,function(){i.onTimeUpdate()})}},{key:"update",value:function(i){i&&(this.config.poster=i,this.root.style.backgroundImage="url(".concat(i,")"))}},{key:"getBgSize",value:function(i){var r="";switch(i){case"cover":r="cover";break;case"contain":r="contain";break;case"fixHeight":r="auto 100%";break;default:r=""}return r?"background-size: ".concat(r,";"):""}},{key:"render",value:function(){var i=this.config,r=i.poster,s=i.hideCanplay,o=i.fillMode,l=i.notHidden,u=this.getBgSize(o),h=r?"background-image:url(".concat(r,");").concat(u):u,d=l?"xg-not-hidden":s?"xg-showplay":"";return'<xg-poster class="xgplayer-poster '.concat(d,'" style="').concat(h,`">
117    </xg-poster>`)}}],[{key:"pluginName",get:function(){return"poster"}},{key:"defaultConfig",get:function(){return{isEndedShow:!0,hideCanplay:!1,notHidden:!1,poster:"",fillMode:"fixWidth"}}}]),t}(gt),vn={};function TL(a,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{start:null,end:null};return vn[a]&&window.clearTimeout(vn[a].id),vn[a]={},t.start&&t.start(),vn[a].id=window.setTimeout(function(){t.end&&t.end(),window.clearTimeout(vn[a].id),delete vn[a]},e),vn[a].id}function pp(a){if(a){window.clearTimeout(a);return}Object.keys(vn).map(function(e){window.clearTimeout(vn[e].id),delete vn[e]})}var EL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"onPlayerReset",function(){i.autoPlayStart=!1;var r=i.config.mode==="auto"?"auto-hide":"hide";i.setAttr("data-state","play"),C.removeClass(i.root,r),i.show()}),j(W(i),"onAutoplayStart",function(){if(!i.autoPlayStart){var r=i.config.mode==="auto"?"auto-hide":"hide";C.addClass(i.root,r),i.autoPlayStart=!0,i.toggleTo("play")}}),i.autoPlayStart=!1,i}return Le(t,[{key:"afterCreate",value:function(){var i=this.playerConfig;this.initIcons(),this.listenEvents(),this.bindClickEvents(),i.autoplay||this.show()}},{key:"listenEvents",value:function(){var i=this,r=this.player,s=this.playerConfig;this.once(Ch,function(){s&&(s.lang&&s.lang==="en"?C.addClass(r.root,"lang-is-en"):s.lang==="jp"&&C.addClass(r.root,"lang-is-jp"))}),this.on(Or,this.onAutoplayStart),this.on(Lh,function(){var o=i.config.mode==="auto"?"auto-hide":"hide";i.setAttr("data-state","play"),C.removeClass(i.root,o),i.show()}),this.on($i,function(){i.toggleTo("play")}),this.on(Rs,function(){i.toggleTo("pause")}),this.on(Il,function(){i.onPlayerReset()})}},{key:"bindClickEvents",value:function(){var i=this;this.clickHandler=this.hook("startClick",this.switchPausePlay,{pre:function(s){s.cancelable&&s.preventDefault(),s.stopPropagation();var o=i.player.paused;i.emitUserAction(s,"switch_play_pause",{props:"paused",from:o,to:!o})}}),this.bind(["click","touchend"],this.clickHandler)}},{key:"registerIcons",value:function(){return{startPlay:{icon:Ph,class:"xg-icon-play"},startPause:{icon:Dh,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild("xg-start-inner",i.startPlay),this.appendChild("xg-start-inner",i.startPause)}},{key:"hide",value:function(){C.addClass(this.root,"hide")}},{key:"show",value:function(i){C.removeClass(this.root,"hide")}},{key:"focusHide",value:function(){C.addClass(this.root,"focus-hide")}},{key:"recover",value:function(){C.removeClass(this.root,"focus-hide")}},{key:"switchStatus",value:function(i){i?this.setAttr("data-state",this.player.paused?"pause":"play"):this.setAttr("data-state",this.player.paused?"play":"pause")}},{key:"animate",value:function(i){var r=this;this._animateId=TL("pauseplay",400,{start:function(){C.addClass(r.root,"interact"),r.show(),r.switchStatus(!0)},end:function(){C.removeClass(r.root,"interact"),!i&&r.hide(),r._animateId=null}})}},{key:"endAnimate",value:function(){C.removeClass(this.root,"interact"),pp(this._animateId),this._animateId=null}},{key:"switchPausePlay",value:function(i){var r=this.player;if(i.cancelable&&i.preventDefault(),i.stopPropagation(),!(r.state<ut.READY)){var s=this.player.paused;!s&&r.state===ut.RUNNING?r.pause():r.play()}}},{key:"onPlayPause",value:function(i){this.toggleTo(i)}},{key:"toggleTo",value:function(i){var r=this.config,s=this.player;if(!(!s||s.state<ut.RUNNING||!this.autoPlayStart)){if(r.mode==="show"){this.switchStatus(),this.show();return}if(r.mode==="auto"){this.switchStatus();return}if(r.isShowPause&&s.paused&&!s.ended||r.isShowEnd&&s.ended){this.switchStatus(),this.show(),this.endAnimate();return}if(r.disableAnimate){this.switchStatus(),this.hide();return}if(i==="play")this.autoPlayStart?this.animate():this.hide();else{if(!this.autoPlayStart||s.ended)return;this.animate()}}}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.clickHandler),pp(this._animateId)}}
117,{key:"render",value:function(){var i=this.playerConfig.autoplay?this.config.mode==="auto"?"auto-hide":"hide":"";return`
118    <xg-start class="xgplayer-start `.concat(i,`">
119    <xg-start-inner></xg-start-inner>
120    </xg-start>`)}}],[{key:"pluginName",get:function(){return"start"}},{key:"defaultConfig",get:function(){return{isShowPause:!1,isShowEnd:!1,disableAnimate:!1,mode:"hide"}}}]),t}(gt),_L=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"render",value:function(){var i=this.config.innerHtml,r=C.createDom("xg-enter","",{},"xgplayer-enter");if(i&&i instanceof window.HTMLElement)r.appendChild(i);else if(i&&typeof i=="string")r.innerHTML=i;else{for(var s="",o=1;o<=12;o++)s+='<div class="xgplayer-enter-bar'.concat(o,'"></div>');r.innerHTML='<div class="xgplayer-enter-spinner">'.concat(s,"</div>")}return r}}],[{key:"pluginName",get:function(){return"enter"}},{key:"defaultConfig",get:function(){return{innerHtml:"",logo:""}}}]),t}(gt),mp=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"afterCreate",value:function(){this.getMini=this.getMini.bind(this),this.exitMini=this.exitMini.bind(this),this.bind("click",this.getMini)}},{key:"getMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"exitMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.getMini)}},{key:"render",value:function(){var i="MINISCREEN";return`
121      <xg-icon class="xgplayer-miniicon">
122      <div class="xgplayer-icon btn-text"><span class="icon-text" lang-key="`.concat(this.i18nKeys[i],'">').concat(this.i18n[i],`</span></div>
123      </xg-icon>`)}}],[{key:"pluginName",get:function(){return"miniscreenIcon"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:10}}}]),t}(gt);function vp(a){var e=parseFloat(a),t=a.indexOf("%")===-1&&!Number.isNaN(e);return t&&e}var Oh=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],jv=Oh.length;function SL(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<jv;e++){var t=Oh[e];a[t]=0}return a}function xL(a){var e=window.getComputedStyle(a);return e}function yp(a){if(typeof a=="string"&&(a=document.querySelector(a)),!(!a||pi(a)!=="object"||!a.nodeType)){var e=xL(a);if(e.display==="none")return SL();var t={};t.width=a.offsetWidth,t.height=a.offsetHeight;for(var n=t.isBorderBox=e.boxSizing==="border-box",i=0;i<jv;i++){var r=Oh[i],s=e[r],o=parseFloat(s);t[r]=Number.isNaN(o)?0:o}var l=t.paddingLeft+t.paddingRight,u=t.paddingTop+t.paddingBottom,h=t.marginLeft+t.marginRight,d=t.marginTop+t.marginBottom,g=t.borderLeftWidth+t.borderRightWidth,m=t.borderTopWidth+t.borderBottomWidth,v=n,T=vp(e.width);T!==!1&&(t.width=T+(v?0:l+g));var y=vp(e.height);return y!==!1&&(t.height=y+(v?0:u+m)),t.innerWidth=t.width-(l+g),t.innerHeight=t.height-(u+m),t.outerWidth=t.width+h,t.outerHeight=t.height+d,t}}function ec(a,e){for(var t=0;t<a.length;t++){var n=a[t];if(n.identifier===e)return n}}var tc={START:"dragStart",MOVE:"dragMove",ENDED:"dragEnded"},Tp={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"]},bL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Ce(this,t),i=e.call(this),i.isEnabled=!0,i.isDragging=!1,i.isDown=!1,i.position={},i.downPoint={},i.dragPoint={x:0,y:0},i.startPos={x:0,y:0},i._root=n instanceof Element?n:document.querySelector(n),i._handlerDom=r.handle instanceof Element?r.handle:document.querySelector(r.handle),!i._root||!i._handlerDom?xh(i):(i._bindStartEvent(),i)}return Le(t,[{key:"_bindStartEvent",value:function(){var i=this;"ontouchstart"in window?this._startKey="touchstart":this._startKey="mousedown",this["on".concat(this._startKey)]=this["on".concat(this._startKey)].bind(this),this._handlerDom.addEventListener(this._startKey,this["on".concat(this._startKey)]),Tp[this._startKey].map(function(r){i["on".concat(r)]=i["on".concat(r)].bind(i)})}},{key:"_unbindStartEvent",value:function(){this._handlerDom.removeEventListener(this._startKey,this["on".concat(this._startKey)])}},{key:"_bindPostStartEvents",value:function(i){var r=this;if(i){var s=Tp[this._startKey];s.map(function(o){window.addEventListener(o,r["on".concat(o)])}),this._boundPointerEvents=s}}},{key:"_unbindPostStartEvents",value:function(){var i=this;this._boundPointerEvents&&(this._boundPointerEvents.map(function(r){window.removeEventListener(r,i["on".concat(r)])}),delete this._boundPointerEvents)}},{key:"enable",value:function(){this.isEnabled=!0}},{key:"disable",value:function(){this.isEnabled=!1,this.isDragging&&this.onUp()}},{key:"onDocUp",value:function(i){this.onUp()}},{key:"animate",value:function(){var i=this;this.isDragging&&(this.positionDrag(),window.requestAnimationFrame(function(){i.animate()}))}},{key:"positionDrag",value:function(){var i="translate3d(".concat(this.dragPoint.x,"px, ").concat(this.dragPoint.y,"px, 0)");this._root.style.transform=i,this._root.style.webKitTransform=i}},{key:"setLeftTop",value:function(){this._root.style.left=this.position.x+"px",this._root.style.top=this.position.y+"px"}},{key:"onmousedown",value:function(i){this.dragStart(i,i)}},{key:"onmousemove",value:function(i){this.dragMove(i,i)}},{key:"onmouseup",value:function(i){this.dragEnd(i,i)}},{key:"ontouchstart",value:function(i){var r=i.changedTouches[0];this.dragStart(i,r),this.touchIdentifier=r.pointerId!==void 0?r.pointerId:r.identifier,i.preventDefault()}},{key:"ontouchmove",value:function(i){var r=ec(i.changedTouches,this.touchIdentifier);r&&this.dragMove(i,r)}},{key:"ontouchend",value:function(i){var r=ec(i.changedTouches,this.touchIdentifier);r&&this.dragEnd(i,r),i.preventDefault()}},{key:"ontouchcancel",value:function(i){var r=ec(i.changedTouches,this.touchIdentifier);r&&this.dragCancel(i,r)}},{key:"dragStart",value:function(i,r){if(!(!this._root||this.isDown||!this.isEnabled)){this.downPoint=r,this.dragPoint.x=0,this.dragPoint.y=0,this._getPosition();var s=yp(this._root);this.startPos.x=this.position.x,this.startPos.y=this.position.y,this.startPos.maxY=window.innerHeight-s.height,this.startPos.maxX=window.innerWidth-s.width,this.setLeftTop(),this.isDown=!0,this._bindPostStartEvents(i)}}},{key:"dragRealStart",value:function(i,r){this.isDragging=!0,this.animate(),this.emit
123(tc.START,this.startPos)}},{key:"dragEnd",value:function(i,r){this._root&&(this._unbindPostStartEvents(),this.isDragging&&(this._root.style.transform="",this.setLeftTop(),this.emit(tc.ENDED)),this.presetInfo())}},{key:"_dragPointerMove",value:function(i,r){var s={x:r.pageX-this.downPoint.pageX,y:r.pageY-this.downPoint.pageY};return!this.isDragging&&this.hasDragStarted(s)&&this.dragRealStart(i,r),s}},{key:"dragMove",value:function(i,r){if(i=i||window.event,!!this.isDown){var s=this.startPos,o=s.x,l=s.y,u=this._dragPointerMove(i,r),h=u.x,d=u.y;h=this.checkContain("x",h,o),d=this.checkContain("y",d,l),this.position.x=o+h,this.position.y=l+d,this.dragPoint.x=h,this.dragPoint.y=d,this.emit(tc.MOVE,this.position)}}},{key:"dragCancel",value:function(i,r){this.dragEnd(i,r)}},{key:"presetInfo",value:function(){this.isDragging=!1,this.startPos={x:0,y:0},this.dragPoint={x:0,y:0},this.isDown=!1}},{key:"destroy",value:function(){this._unbindStartEvent(),this._unbindPostStartEvents(),this.isDragging&&this.dragEnd(),this.removeAllListeners(),this._handlerDom=null}},{key:"hasDragStarted",value:function(i){return Math.abs(i.x)>3||Math.abs(i.y)>3}},{key:"checkContain",value:function(i,r,s){return r+s<0?0-s:i==="x"&&r+s>this.startPos.maxX?this.startPos.maxX-s:i==="y"&&r+s>this.startPos.maxY?this.startPos.maxY-s:r}},{key:"_getPosition",value:function(){var i=window.getComputedStyle(this._root),r=this._getPositionCoord(i.left,"width"),s=this._getPositionCoord(i.top,"height");this.position.x=Number.isNaN(r)?0:r,this.position.y=Number.isNaN(s)?0:s,this._addTransformPosition(i)}},{key:"_addTransformPosition",value:function(i){var r=i.transform;if(r.indexOf("matrix")===0){var s=r.split(","),o=r.indexOf("matrix3d")===0?12:4,l=parseInt(s[o],10),u=parseInt(s[o+1],10);this.position.x+=l,this.position.y+=u}}},{key:"_getPositionCoord",value:function(i,r){if(i.indexOf("%")!==-1){var s=yp(this._root.parentNode);return s?parseFloat(i)/100*s[r]:0}return parseInt(i,10)}}]),t}(El),IL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;Ce(this,t),i=e.call(this,n),j(W(i),"onCancelClick",function(o){i.exitMini(),i.isClose=!0}),j(W(i),"onCenterClick",function(o){var l=W(i),u=l.player;u.paused?u.play():u.pause()}),j(W(i),"onScroll",function(o){if(!(!window.scrollY&&window.scrollY!==0||Math.abs(window.scrollY-i.pos.scrollY)<50)){var l=parseInt(C.getCss(i.player.root,"height"));l+=i.config.scrollTop,i.pos.scrollY=window.scrollY,window.scrollY>l+5?!i.isMini&&!i.isClose&&i.getMini():window.scrollY<=l&&(i.isMini&&i.exitMini(),i.isClose=!1)}}),i.isMini=!1,i.isClose=!1;var r=W(i),s=r.config;return i.pos={left:s.left<0?window.innerWidth-s.width-20:s.left,top:s.top<0?window.innerHeight-s.height-20:s.top,height:i.config.height,width:i.config.width,scrollY:window.scrollY||0},i.lastStyle=null,i}return Le(t,[{key:"beforeCreate",value:function(i){typeof i.player.config.mini=="boolean"&&(i.config.isShowIcon=i.player.config.mini)}},{key:"afterCreate",value:function(){var i=this;this.initIcons(),this.on(Rs,function(){i.setAttr("data-state","pause")}),this.on($i,function(){i.setAttr("data-state","play")})}},{key:"onPluginsReady",value:function(){var i=this,r=this.player,s=this.config;if(!s.disable){if(this.config.isShowIcon){var o={config:{onClick:function(){i.getMini()}}};r.controls.registerPlugin(mp,o,mp.pluginName)}var l=C.checkTouchSupport()?"touchend":"click";this.bind(".mini-cancel-btn",l,this.onCancelClick),this.bind(".play-icon",l,this.onCenterClick),this.config.disableDrag||(this._draggabilly=new bL(this.player.root,{handle:this.root})),this.config.isScrollSwitch&&window.addEventListener("scroll",this.onScroll)}}},{key:"registerIcons",value:function(){return{play:{icon:Ph,class:"xg-icon-play"},pause:{icon:Dh,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(".play-icon",i.play),this.appendChild(".play-icon",i.pause)}},{key:"getMini",value:function(){var i=this;if(!this.isMini){var r=this.player,s=this.playerConfig,o=this.config.target||this.player.root;this.lastStyle={},C.addClass(r.root,"xgplayer-mini"),["width","height","top","left"].map(function(l){i.lastStyle[l]=o.style[l],o.style[l]="".concat(i.pos[l],"px")}
123),s.fluid&&(o.style["padding-top"]=""),this.emit(el,!0),r.isMini=this.isMini=!0}}},{key:"exitMini",value:function(){var i=this;if(!this.isMini)return!1;var r=this.player,s=this.playerConfig,o=this.config.target||this.player.root;C.removeClass(r.root,"xgplayer-mini"),this.lastStyle&&Object.keys(this.lastStyle).map(function(l){o.style[l]=i.lastStyle[l]}),this.lastStyle=null,s.fluid&&(r.root.style.width="100%",r.root.style.height="0",r.root.style["padding-top"]="".concat(s.height*100/s.width,"%")),this.emit(el,!1),this.isMini=r.isMini=!1}},{key:"updatePos",value:function(i){this.pos=Object.assign(this.pos,i),this.isMini&&(this.player.root.style.left="".concat(this.pos.left,"px"),this.player.root.style.top="".concat(this.pos.top,"px"),this.player.root.style.width="".concat(this.pos.width,"px"),this.player.root.style.height="".concat(this.pos.height,"px"))}},{key:"destroy",value:function(){window.removeEventListener("scroll",this.onScroll);var i=C.checkTouchSupport()?"touchend":"click";this.unbind(".mini-cancel-btn",i,this.onCancelClick),this.unbind(".play-icon",i,this.onCenterClick),this._draggabilly&&this._draggabilly.destroy(),this._draggabilly=null,this.exitMini()}},{key:"render",value:function(){if(!this.config.disable)return`
124      <xg-mini-layer class="xg-mini-layer">
125      <xg-mini-header class="xgplayer-mini-header">
126      `.concat(mr(this,"MINI_DRAG",this.playerConfig.isHideTips),`
127      </xg-mini-header>
128      <div class="mini-cancel-btn">
129        <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">
130          <path fill="#fff" fill-rule="evenodd" d="M3.99 3.49a1 1 0 0 1 1.414 0L10 8.085l4.596-4.595a1 1 0 1 1 1.414 1.414L11.414 9.5l4.596 4.596a1 1 0 0 1 .084 1.32l-.084.094a1 1 0 0 1-1.414 0L10 10.914 5.404 15.51a1 1 0 0 1-1.414-1.414L8.585 9.5 3.99 4.904a1 1 0 0 1-.084-1.32z"></path>
131        </svg>
132      </div>
133      <div class="play-icon">
134      </div>
135      </xg-mini-layer>`)}}],[{key:"pluginName",get:function(){return"miniscreen"}},{key:"defaultConfig",get:function(){return{index:10,disable:!1,width:320,height:180,left:-1,top:-1,isShowIcon:!1,isScrollSwitch:!1,scrollTop:0,disableDrag:!1}}}]),t}(gt),Eo={mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove"},ic=["videoClick","videoDbClick"],nc=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onMouseMove",function(o){var l=W(n),u=l.player,h=l.playerConfig;
135u.isActive||(u.focus({autoHide:!h.closeDelayBlur}),!h.closeFocusVideoFocus&&u.media.focus())}),j(W(n),"onMouseEnter",function(o){var l=W(n),u=l.playerConfig,h=l.player;!u.closeFocusVideoFocus&&h.media.focus(),u.closeDelayBlur?h.focus({autoHide:!1}):h.focus(),n.emit(Cv)}),j(W(n),"onMouseLeave",function(o){var l=n.playerConfig,u=l.closePlayerBlur,h=l.leavePlayerTime,d=l.closeDelayBlur;!u&&!d&&(h?n.player.focus({autoHide:!0,delay:h}):n.player.blur({ignorePaused:!0})),n.emit(Av)}),j(W(n),"onVideoClick",function(o){var l=W(n),u=l.player,h=l.playerConfig;o.target&&h.closeVideoClick||(o.target===u.root||o.target===u.media||o.target===u.innerContainer||o.target===u.media.__canvas)&&(o.preventDefault(),h.closeVideoStopPropagation||o.stopPropagation(),n._clickCount++,n.clickTimer&&(clearTimeout(n.clickTimer),n.clickTimer=null),n.clickTimer=setTimeout(function(){n._clickCount&&(n._clickCount--,En(W(n),ic[0],function(d,g){n.switchPlayPause(g.e)},{e:o,paused:u.paused}),clearTimeout(n.clickTimer),n.clickTimer=null)},300))}),j(W(n),"onVideoDblClick",function(o){var l=W(n),u=l.player,h=l.playerConfig;if(!(h.closeVideoDblclick||!o.target||o.target!==u.media&&o.target!==u.media.__canvas)){if(!h.closeVideoClick&&n._clickCount<2){n._clickCount=0;return}n._clickCount=0,n.clickTimer&&(clearTimeout(n.clickTimer),n.clickTimer=null),o.preventDefault(),o.stopPropagation(),En(W(n),ic[1],function(d,g){n.emitUserAction(g.e,"switch_fullscreen",{props:"fullscreen",from:u.fullscreen,to:!u.fullscreen}),u.fullscreen?u.exitFullscreen():u.getFullscreen()},{e:o,fullscreen:u.fullscreen})}}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this;this._clickCount=0,ic.map(function(s){i.__hooks[s]=null});var r=this.playerConfig.isMobileSimulateMode;r==="mobile"||it.device==="mobile"&&!it.os.isIpad||this.initEvents()}},{key:"initEvents",value:function(){var i=this,r=this.player,s=r.media,o=r.root,l=this.playerConfig.enableContextmenu;o&&o.addEventListener("click",this.onVideoClick,!1),o&&o.addEventListener("dblclick",this.onVideoDblClick,!1),Object.keys(Eo).map(function(u){o.addEventListener(u,i[Eo[u]],!1)}),!l&&s&&s.addEventListener("contextmenu",this.onContextmenu,!1)}},{key:"switchPlayPause",value:function(i){var r=this.player;this.emitUserAction(i,"switch_play_pause",{props:"paused",from:r.paused,to:!r.paused}),r.ended?r.duration!==1/0&&r.duration>0&&r.replay():r.paused?r.play():r.pause()}},{key:"onContextmenu",value:function(i){i=i||window.event,i.preventDefault&&i.preventDefault(),i.stopPropagation?i.stopPropagation():(i.returnValue=!1,i.cancelBubble=!0)}},{key:"destroy",value:function(){var i=this,r=this.player,s=r.video,o=r.root;this.clickTimer&&clearTimeout(this.clickTimer),o.removeEventListener("click",this.onVideoClick,!1),o.removeEventListener("dblclick",this.onVideoDblClick,!1),s.removeEventListener("contextmenu",this.onContextmenu,!1),Object.keys(Eo).map(function(l){o.removeEventListener(l,i[Eo[l]],!1)})}}],[{key:"pluginName",get:function(){return"pc"}},{key:"defaultConfig",get:function(){return{}}}]),t}(dr),ir={PRESS:"press",PRESS_END:"pressend",DOUBlE_CLICK:"doubleclick",CLICK:"click",TOUCH_MOVE:"touchmove",TOUCH_START:"touchstart",TOUCH_END:"touchend"},AL={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},CL={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"};function Ep(a){return a&&a.length>0?a[a.length-1]:null}function LL(){return{pressDelay:600,dbClickDelay:200,disablePress:!1,disableDbClick:!1,miniStep:2,needPreventDefault:!0}}var RL=function(){function a(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{eventType:"touch"};Ce(this,a),j(this,"onTouchStart",function(i){var r=t._pos,s=t.root,o=Ep(i.touches);r.x=o?parseInt(o.pageX,10):i.pageX,r.y=o?parseInt(o.pageX,10):i.pageX,r.start=!0,t.__setPress(i),s.addEventListener(t.events.end,t.onTouchEnd),s.addEventListener(t.events.cancel,t.onTouchCancel),s.addEventListener(t.events.move,t.onTouchMove),t.trigger(ir.TOUCH_START,i)}),j(this,"onTouchCancel",function(i){t.onTouchEnd(i)}),j(this,"onTouchEnd",function(i){var r=t._pos,s=t.root;t.__clearPress(),s.removeEventListener(t.events.cancel,t.onTouchCancel),s.removeEventListener(t.events.end,t.onTouchEnd),s.removeEventListener(t.events.move,t.onTouchMove),i.moving=r.moving,i.press=r.press,r.press&&t.trigger(ir.PRESS_END,i),t.trigger(ir.TOUCH_END,i),!r.press&&!r.moving&&t.__setDb(i),r.press=!1,r.start=!1,r.moving=!1}),j(this,"onTouchMove",function(i){var r=t._pos,s=t.config,o=Ep(i.touches),l=o?parseInt(o.pageX,10):i.pageX,u=o?parseInt(o.pageY,10):i.pageX,h=l-r.x,d=u-r.y;Math.abs(d)<s.miniStep&&Math.abs(h)<s.miniStep||(t.__clearPress(),r.press&&t.trigger(ir.PRESS_END,i),r.press=!1,r.moving=!0,t.trigger(ir.TOUCH_MOVE,i))}),this._pos={moving:!1,start:!1,x:0,y:0},this.config=LL(),Object.keys(n).map(function(i){t.config[i]=n[i]}),this.root=e,this.events=n.eventType==="mouse"?CL:AL,this.pressIntrvalId=null,this.dbIntrvalId=null,this.__handlers={},this._initEvent()}return Le(a,[{key:"_initEvent",value:function(){this.root.addEventListener(this.events.start,this.onTouchStart)}},{key:"__setPress",value:function(t){var n=this,i=this.config;this.pressIntrvalId&&this.__clearPress(),this.pressIntrvalId=setTimeout(function(){n.trigger(ir.PRESS,t),n._pos.press=!0,n.__clearPress()},i.pressDelay)}},{key:"__clearPress",value:function(){window.clearTimeout(this.pressIntrvalId),this.pressIntrvalId=null}},{key:"__setDb",value:function(t){var n=this,i=this.config;if(this.dbIntrvalId){this.__clearDb(),this.trigger(ir.DOUBlE_CLICK,t);return}this.dbIntrvalId=setTimeout(function(){n.__clearDb(),!n._pos.start&&!n._pos.press&&!n._pos.moving&&n.trigger(ir.CLICK,t)},i.dbClickDelay)}},{key:"__clearDb",value:function(){clearTimeout(this.dbIntrvalId),this.dbIntrvalId=null}},{key:"on",value:function(t,n){this.__handlers[t]||(this.__handlers[t]=[]),this.__handlers[t].push(n)}},{key:"off",value:function(t,n){if(this.__handlers[t]){for(var i=this.__handlers[t],r=-1,s=0;s<i.length;s++)if(i[s]===n){r=s;break}r>=0&&this.__handlers[t].splice(r,1)}}},{key:"trigger",value:function(t,n){this.__handlers[t]&&this.__handlers[t].map(function(i){try{i(n)}catch(r){console.error("trigger>>:".concat(t),r)}})}},{key:"destroy",value:function(){var t=this,n={touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"};
135Object.keys(n).forEach(function(i){t.root.removeEventListener(i,t[n[i]])})}}]),a}();function kL(){return new DOMParser().parseFromString(`<svg width="20" height="9" viewBox="0 0 8 9" fill="none" xmlns="http://www.w3.org/2000/svg"
136  xmlns:xlink="http://www.w3.org/1999/xlink">
137  <path opacity="0.54"
138    d="M7.5 3.63397C8.16667 4.01887 8.16667 4.98113 7.5 5.36603L1.5 8.83013C0.833334 9.21503 0 8.7339 0 7.9641L0 1.0359C0 0.266098 0.833333 -0.215027 1.5 0.169873L7.5 3.63397Z"
139    fill="white" />
140  <path transform="translate(5 0)" d="M7.5 3.63397C8.16667 4.01887 8.16667 4.98113 7.5 5.36603L1.5 8.83013C0.833334 9.21503 0 8.7339 0 7.9641L0 1.0359C0 0.266098 0.833333 -0.215027 1.5 0.169873L7.5 3.63397Z" fill="white"/>
141</svg>`,"image/svg+xml").firstChild}var rs={AUTO:"auto",SEEKING:"seeking",PLAYBACK:"playbackrate"},rc=["videoClick","videoDbClick"],wL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"onTouchStart",function(r){var s=W(i),o=s.player,l=s.config,u=s.pos,h=s.playerConfig,d=i.getTouche(r);if(d&&!l.disableGesture&&i.duration>0&&!o.ended){u.isStart=!0,i.timer&&clearTimeout(i.timer),C.checkIsFunction(h.disableSwipeHandler)&&h.disableSwipeHandler(),i.find(".xg-dur").innerHTML=C.format(i.duration);var g=i.root.getBoundingClientRect();o.rotateDeg===90?(u.top=g.left,u.left=g.top,u.width=g.height,u.height=g.width):(u.top=g.top,u.left=g.left,u.width=g.width,u.height=g.height);var m=parseInt(d.pageX-u.left,10),v=parseInt(d.pageY-u.top,10);u.x=o.rotateDeg===90?v:m,u.y=o.rotateDeg===90?m:v,u.scopeL=l.scopeL*u.width,u.scopeR=(1-l.scopeR)*u.width,u.scopeM1=u.width*(1-l.scopeM)/2,u.scopeM2=u.width-u.scopeM1}}),j(W(i),"onTouchMove",function(r){var s=i.getTouche(r),o=W(i),l=o.pos,u=o.config,h=o.player;if(!(!s||u.disableGesture||!i.duration||!l.isStart)){var d=u.miniMoveStep,g=u.hideControlsActive,m=parseInt(s.pageX-l.left,10),v=parseInt(s.pageY-l.top,10),T=h.rotateDeg===90?v:m,y=h.rotateDeg===90?m:v;if(Math.abs(T-l.x)>d||Math.abs(y-l.y)>d){var _=T-l.x,x=y-l.y,b=l.scope;if(b===-1&&(b=i.checkScope(T,y,_,x,l),b===0&&(g?h.blur():h.focus({autoHide:!1}),!l.time&&(l.time=parseInt(h.currentTime*1e3,10)+i.timeOffset*1e3)),l.scope=b),b===-1||b>0&&!u.gestureY||b===0&&!u.gestureX)return;i.executeMove(_,x,b,l.width,l.height),l.x=T,l.y=y}}}),j(W(i),"onTouchEnd",function(r){var s=W(i),o=s.player,l=s.pos,u=s.playerConfig;if(setTimeout(function(){o.getPlugin("progress")&&o.getPlugin("progress").resetSeekState()},10),!!l.isStart){l.scope>-1&&r.cancelable&&r.preventDefault();var h=i.config,d=h.disableGesture,g=h.gestureX;!d&&g?i.endLastMove(l.scope):l.time=0,l.scope=-1,i.resetPos(),C.checkIsFunction(u.enableSwipeHandler)&&u.enableSwipeHandler(),i.changeAction(rs.AUTO)}}),j(W(i),"onRootTouchMove",function(r){i.config.disableGesture||!i.config.gestureX||i.checkIsRootTarget(r)&&(r.stopPropagation(),i.pos.isStart?i.onTouchMove(r):i.onTouchStart(r))}),j(W(i),"onRootTouchEnd",function(r){i.pos.scope>-1&&i.onTouchEnd(r)}),i.pos={isStart:!1,x:0,y:0,time:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1},i.timer=null,i}return Le(t,[{key:"duration",get:function(){return this.playerConfig.customDuration||this.player.duration}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"registerIcons",value:function(){return{seekTipIcon:{icon:kL,class:"xg-seek-pre"}}}},{key:"afterCreate",value:function(){var i=this;rc.map(function(g){i.__hooks[g]=null});var r=this.playerConfig,s=this.config,o=this.player;r.closeVideoDblclick===!0&&(s.closedbClick=!0),this.resetPos(),C.isUndefined(r.disableGesture)||(s.disableGesture=!!r.disableGesture),this.appendChild(".xg-seek-icon",this.icons.seekTipIcon),this.xgMask=C.createDom("xg-mask","",{},"xgmask"),o.root.appendChild(this.xgMask),this.initCustomStyle(),this.registerThumbnail();var l=this.domEventType==="mouse"?"mouse":"touch";this.touch=new RL(this.root,{eventType:l,needPreventDefault:!this.config.disableGesture}),this.root.addEventListener("contextmenu",function(g){g.preventDefault()}),o.root.addEventListener("touchmove",this.onRootTouchMove,!0),o.root.addEventListener("touchend",this.onRootTouchEnd,!0),o.root.addEventListener("touchcancel",this.onRootTouchEnd,!0);var u=this.player.controls;u&&u.center&&(u.center.addEventListener("touchmove",this.onRootTouchMove,!0),u.center.addEventListener("touchend",this.onRootTouchEnd,!0),u.center.addEventListener("touchcancel",this.onRootTouchEnd,!0)),this.on(Vn,function(){var g=i.player,m=i.config;g.duration>0&&g.duration*1e3<m.moveDuration&&(m.moveDuration=g.duration*1e3)}),this.on([$n,Ur],function(){var g=i.pos,m=g.time,v=g.isStart;!v&&m>0&&(i.pos.time=0)});var h={touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",press:"onPress",pressend:"onPressEnd",click:"onClick",doubleclick:"onDbClick"};if(Object.keys(h).map(function(g){i.touch.on(g,function(m){i[h[g]](m)})}),!s.disableActive){var d=o.plugins.progress;d&&(d.addCallBack("dragmove",function(g){i.activeSeekNote(g.currentTime,g.forward)}),["dragend","click"].forEach(function(g){d.addCallBack(g,function(){i.changeAction(rs.AUTO)})}))}}},{key:"registerThumbnail",value:function(){var i=this.player,r=i.plugins.thumbnail;if(r&&r.usable){this.thumbnail=r.createThumbnail(null,"mobile-thumbnail");var s=this.find(".time-preview");s.insertBefore(this.thumbnail,s.children[0])}}},{key:"initCustomStyle",value:function(){var i=this.playerConfig||{},r=i.commonStyle,s=r.playedColor,o=r.progressColor,l=r.timePreviewStyle,u=r.curTimeColor,h=r.durationColor;if(s&&(this.find(".xg-curbar").style.backgroundColor=s),o&&(this.find(".xg-bar").style.backgroundColor=o),l){var d=this.find(".time-preview");Object.keys(l).forEach(function(v){d.style[v]=l[v]})}var g=u||s,m=h;g&&(this.find(".xg-cur").style.color=g),m&&(this.find(".xg-dur").style.color=m),this.config.disableTimeProgress&&C.addClass(this.find(".xg-timebar"),"hide")}},{key:"resetPos",value:function(){var i=this;this.pos?(this.pos.isStart=!1,this.pos.scope=-1,["x","y","width","height","scopeL","scopeR","scopeM1","scopeM2"].map(function(r){i.pos[r]=0})):this.pos={isStart:!1,x:0,y:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1,time:0}}},{key:"changeAction",value:function(i){var r=this.player,s=this.root;s.setAttribute("data-xg-action",i);var o=r.plugins.start;o&&o.recover()}},{key:"getTouche",value:function(i){var r=this.player.rotateDeg,s=i.touches&&i.touches.length>0?i.touches[i.touches.length-1]:i;return r===0?{pageX:s.pageX,pageY:s.pageY}:{pageX:s.pageX,pageY:s.pageY}}},{key:"checkScope",value:function(i,r,s,o,l){var u=l.width,h=-1;if(i<0||i>u)return h;var d=Math.abs(o===0?s:s/o);return Math.abs(s)>0&&d>=1.73&&i>
141l.scopeM1&&i<l.scopeM2?h=0:(Math.abs(s)===0||d<=.57)&&(h=i<l.scopeL?1:i>l.scopeR?2:3),h}},{key:"executeMove",value:function(i,r,s,o,l){switch(s){case 0:this.updateTime(i/o*this.config.scopeM);break;case 1:this.updateBrightness(r/l);break;case 2:it.os.isIos||this.updateVolume(r/l);break}}},{key:"endLastMove",value:function(i){var r=this,s=this.pos,o=this.player,l=this.config,u=(s.time-this.timeOffset)/1e3;switch(i){case 0:o.seek(Number(u).toFixed(1)),l.hideControlsEnd?o.blur():o.focus(),this.timer=setTimeout(function(){r.pos.time=0},500);break}this.changeAction(rs.AUTO)}},{key:"checkIsRootTarget",value:function(i){var r=this.player.plugins||{};return r.progress&&r.progress.root.contains(i.target)?!1:r.start&&r.start.root.contains(i.target)||r.controls&&r.controls.root.contains(i.target)}},{key:"sendUseAction",value:function(i){var r=this.player.paused;this.emitUserAction(i,"switch_play_pause",{prop:"paused",from:r,to:!r})}},{key:"clickHandler",value:function(i){var r=this.player,s=this.config,o=this.playerConfig;if(r.state<ut.RUNNING){o.closeVideoClick||(this.sendUseAction(C.createEvent("click")),r.play());return}!s.closedbClick||o.closeVideoClick?r.isActive?r.blur():r.focus():o.closeVideoClick||((r.isActive||s.focusVideoClick)&&(this.sendUseAction(C.createEvent("click")),this.switchPlayPause()),r.focus())}},{key:"dbClickHandler",value:function(i){var r=this.config,s=this.player;!r.closedbClick&&s.state>=ut.RUNNING&&(this.sendUseAction(C.createEvent("dblclick")),this.switchPlayPause())}},{key:"onClick",value:function(i){var r=this,s=this.player;En(this,rc[0],function(o,l){r.clickHandler(l.e)},{e:i,paused:s.paused})}},{key:"onDbClick",value:function(i){var r=this,s=this.player;En(this,rc[1],function(o,l){r.dbClickHandler(l.e)},{e:i,paused:s.paused})}},{key:"onPress",value:function(i){var r=this.pos,s=this.config,o=this.player;s.disablePress||(r.rate=this.player.playbackRate,this.emitUserAction("press","change_rate",{prop:"playbackRate",from:o.playbackRate,to:s.pressRate}),o.playbackRate=s.pressRate,this.changeAction(rs.PLAYBACK))}},{key:"onPressEnd",value:function(i){var r=this.pos,s=this.config,o=this.player;s.disablePress||(this.emitUserAction("pressend","change_rate",{prop:"playbackRate",from:o.playbackRate,to:r.rate}),o.playbackRate=r.rate,r.rate=1,this.changeAction(rs.AUTO))}},{key:"updateTime",value:function(i){var r=this.player,s=this.config,o=this.player.duration;i=Number(i.toFixed(4));var l=parseInt(i*s.moveDuration,10)+this.timeOffset;l+=this.pos.time,l=l<0?0:l>o*1e3?o*1e3-200:l,r.getPlugin("time")&&r.getPlugin("time").updateTime(l/1e3),r.getPlugin("progress")&&r.getPlugin("progress").updatePercent(l/1e3/this.duration,!0),this.activeSeekNote(l/1e3,i>0),s.isTouchingSeek&&r.seek(Number((l-this.timeOffset)/1e3).toFixed(1)),this.pos.time=l}},{key:"updateVolume",value:function(i){this.player.rotateDeg&&(i=-i);var r=this.player,s=this.pos;if(i=parseInt(i*100,10),s.volume+=i,!(Math.abs(s.volume)<10)){var o=parseInt(r.volume*10,10)-parseInt(s.volume/10,10);o=o>10?10:o<1?0:o,r.volume=o/10,s.volume=0}}},{key:"updateBrightness",value:function(i){var r=this.pos,s=this.config,o=this.xgMask;if(s.darkness){this.player.rotateDeg&&(i=-i);var l=r.light+.8*i;l=l>s.maxDarkness?s.maxDarkness:l<0?0:l,o&&(o.style.backgroundColor="rgba(0,0,0,".concat(l,")")),r.light=l}}},{key:"activeSeekNote",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,s=this.player,o=this.config,l=!(this.duration!==1/0&&this.duration>0);if(!(!i||typeof i!="number"||l||o.disableActive)){i<0?i=0:i>s.duration&&(i=s.duration-.2),this.changeAction(rs.SEEKING);var u=s.plugins.start;u&&u.focusHide(),this.find(".xg-dur").innerHTML=C.format(this.duration),this.find(".xg-cur").innerHTML=C.format(i),this.find(".xg-curbar").style.width="".concat(i/this.duration*100,"%"),r?C.removeClass(this.find(".xg-seek-show"),"xg-back"):C.addClass(this.find(".xg-seek-show"),"xg-back"),this.updateThumbnails(i)}}},{key:"updateThumbnails",value:function(i){var r=this.player,s=r.plugins.thumbnail;s&&s.usable&&this.thumbnail&&s.update(this.thumbnail,i,160,90)}},{key:"switchPlayPause",value:function(){var i=this.player;if(i.state<ut.ATTACHED)return!1;i.ended||(i.paused?i.play():i.pause())}},{key:"disableGesture",value:function(){this.config.disableGesture=!0}},{key:"enableGesture",value:function(){this.config.disableGesture=!1}},{key:"destroy",value:function(){var i=this.player;this.timer&&clearTimeout(this.timer),this.thumbnail=null,i.root.removeChild(this.xgMask),this.xgMask=null,this.touch&&this.touch.destroy(),this.touch=null,i.root.removeEventListener("touchmove",this.onRootTouchMove,!0),i.root.removeEventListener("touchend",this.onRootTouchEnd,!0),i.root.removeEventListener("touchcancel",this.onRootTouchEnd,!0);var r=this.player.controls;r&&r.center&&(r.center.removeEventListener("touchmove",this.onRootTouchMove,!0),r.center.removeEventListener("touchend",this.onRootTouchEnd,!0),r.center.removeEventListener("touchcancel",this.onRootTouchEnd,!0))}},{key:"render",value:function(){var i=this.config.gradient!=="normal"?"gradient ".concat(this.config.gradient):"gradient";return`
142     <xg-trigger class="trigger">
143     <div class="`.concat(i,`"></div>
144        <div class="time-preview">
145            <div class="xg-seek-show `).concat(this.config.disableSeekIcon?" hide-seek-icon":"",`">
146              <i class="xg-seek-icon"></i>
147              <span class="xg-cur">00:00</span>
148              <span class="xg-separator">/</span>
149              <span class="xg-dur">00:00</span>
150            </div>
151              <div class="xg-bar xg-timebar">
152                <div class="xg-curbar"></div>
153              </div>
154        </div>
155        <div class="xg-playbackrate xg-top-note">
156            <span><i>`).concat(this.config.pressRate,"X</i>").concat(this.i18n.FORWARD,`</span>
157        </div>
158     </xg-trigger>
159    `)}}],[{key:"pluginName",get:function(){return"mobile"}},{key:"defaultConfig",get:function(){return{index:0,disableGesture:!1,gestureX:!0,gestureY:!0,gradient:"normal",isTouchingSeek:!1,miniMoveStep:5,miniYPer:5,scopeL:.25,scopeR:.25,scopeM:.9,pressRate:2,darkness:!0,maxDarkness:.8,disableActive:!1,disableTimeProgress:!1,hideControlsActive:!1,hideControlsEnd:!1,moveDuration:60*6*1e3,closedbClick:!1,disablePress:!0,disableSeekIcon:!1,focusVideoClick:!1}}}]),t}(gt);function PL(a){a.preventDefault(),a.returnValue=!1}function _p(a){var e=a.tagName;return!!(e==="INPUT"||e==="TEXTAREA"||a.isContentEditable)}var Sp=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onBodyKeyDown",function(o){if(n.player){var l=o||window.event,u=l.keyCode,h=W(n),d=h._keyState,g=h.player,m=n.config,v=m.disable,T=m.disableBodyTrigger,y=m.isIgnoreUserActive;if(v||T||!(g.isUserActive||y)||_p(l.target)||!n.checkIsVisible()||l.metaKey||l.altKey||l.ctrlKey){d.isBodyKeyDown=!1;return}!o.repeat&&!d.isKeyDown&&((l.target===document.body||n.config.isGlobalTrigger&&!_p(l.target))&&n.checkCode(u,!0)&&(d.isBodyKeyDown=!0),document.addEventListener("keyup",n.onBodyKeyUp)),d.isBodyKeyDown&&n.handleKeyDown(l)}}),j(W(n),"onBodyKeyUp",function(o){n.player&&(document.removeEventListener("keyup",n.onBodyKeyUp),n.handleKeyUp(o))}),j(W(n),"onKeydown",function(o){if(n.player){var l=o||window.event,u=W(n),h=u._keyState;if(!l.repeat){if(n.config.disable||n.config.disableRootTrigger||l.metaKey||l.altKey||l.ctrlKey)return;l&&(l.keyCode===37||n.checkCode(l.keyCode))&&(l.target===n.player.root||l.target===n.player.video||l.target===n.player.controls.el)&&(h.isKeyDown=!0),n.player.root.addEventListener("keyup",n.onKeyup)}h.isKeyDown&&n.handleKeyDown(l)}}),j(W(n),"onKeyup",function(o){n.player&&(n.player.root.removeEventListener("keyup",n.onKeyup),n.handleKeyUp(o))}),n}return Le(t,[{key:"mergekeyCodeMap",value:function(){var i=this,r=this.config.keyCodeMap;r&&Object.keys(r).map(function(s){i.keyCodeMap[s]?["keyCode","action","disable","pressAction","disablePress","isBodyTarget"].map(function(o){r[s][o]&&(i.keyCodeMap[s][o]=r[s][o])}):i.keyCodeMap[s]=r[s]})}},{key:"afterCreate",value:function(){this.config.disable=!this.playerConfig.keyShortcut;var i=typeof this.config.seekStep=="function"?this.config.seekStep(this.player):this.config.seekStep;!i||typeof i!="number"||(this.seekStep=i),this.keyCodeMap={space:{keyCode:32,action:"playPause",disable:!1,disablePress:!1,noBodyTarget:!1},up:{keyCode:38,action:"upVolume",disable:!1,disablePress:!1,noBodyTarget:!0},down:{keyCode:40,action:"downVolume",disable:!1,disablePress:!1,noBodyTarget:!0}
159,left:{keyCode:37,action:"seekBack",disablePress:!1,disable:!1},right:{keyCode:39,action:"seek",pressAction:"changePlaybackRate",disablePress:!1,disable:!1},esc:{keyCode:27,action:"exitFullscreen",disablePress:!0,disable:!1}},this.mergekeyCodeMap(),this._keyState={isKeyDown:!1,isBodyKeyDown:!1,isPress:!1,tt:0,playbackRate:0},this.player.root.addEventListener("keydown",this.onKeydown),document.addEventListener("keydown",this.onBodyKeyDown)}},{key:"setConfig",value:function(i){var r=this;Object.keys(i).forEach(function(s){r.config[s]=i[s]})}},{key:"checkIsVisible",value:function(){if(!this.config.checkVisible)return!0;var i=this.player.root.getBoundingClientRect(),r=i.height,s=i.top,o=i.bottom,l=window.innerHeight;return!(s<0&&s<0-r*.9||o>0&&o-l>r*.9)}},{key:"checkCode",value:function(i,r){var s=this,o=!1;return Object.keys(this.keyCodeMap).map(function(l){s.keyCodeMap[l]&&i===s.keyCodeMap[l].keyCode&&!s.keyCodeMap[l].disable&&(o=!r||r&&!s.keyCodeMap[l].noBodyTarget)}),o}},{key:"downVolume",value:function(i){var r=this.player;if(!(r.volume<=0)){var s=parseFloat((r.volume-.1).toFixed(1)),o={volume:{from:r.volume,to:s}};this.emitUserAction(i,"change_volume",{props:o}),s>=0?r.volume=s:r.volume=0}}},{key:"upVolume",value:function(i){var r=this.player;if(!(r.volume>=1)){var s=parseFloat((r.volume+.1).toFixed(1)),o={volume:{from:r.volume,to:s}};this.emitUserAction(i,"change_volume",{props:o}),s<=1?r.volume=s:r.volume=1}}},{key:"seek",value:function(i){var r=this.player,s=r.currentTime,o=r.offsetCurrentTime,l=r.duration,u=r.offsetDuration,h=r.timeSegments,d=o>-1?o:s,g=u||l,m=i.repeat&&this.seekStep>=4?parseInt(this.seekStep/2,10):this.seekStep;d+m<=g?d=d+m:d=g;var v=C.getCurrentTimeByOffset(d,h),T={currentTime:{from:s,to:v}};this.emitUserAction(i,"seek",{props:T}),this.player.currentTime=v}},{key:"seekBack",value:function(i){var r=this.player,s=r.currentTime,o=r.offsetCurrentTime,l=r.timeSegments,u=i.repeat?parseInt(this.seekStep/2,10):this.seekStep,h=o>-1?o:s,d=h-u;d<0&&(d=0),d=C.getCurrentTimeByOffset(d,l);var g={currentTime:{from:s,to:d}};this.emitUserAction(i,"seek",{props:g}),this.player.currentTime=d}},{key:"changePlaybackRate",value:function(i){var r=this._keyState,s=this.config,o=this.player;r.playbackRate===0&&(r.playbackRate=o.playbackRate,o.playbackRate=s.playbackRate)}},{key:"playPause",value:function(i){var r=this.player;r&&(this.emitUserAction(i,"switch_play_pause"),r.paused?r.play():r.pause())}},{key:"exitFullscreen",value:function(i){var r=this.player,s=r.fullscreen,o=r.cssfullscreen;s&&(this.emitUserAction("keyup","switch_fullscreen",{prop:"fullscreen",from:s,to:!s}),r.exitFullscreen()),o&&(this.emitUserAction("keyup","switch_css_fullscreen",{prop:"cssfullscreen",from:o,to:!o}),r.exitCssFullscreen())}},{key:"handleKeyDown",value:function(i){var r=this._keyState;if(i.repeat){r.isPress=!0;var s=Date.now();if(s-r.tt<200)return;r.tt=s}this.handleKeyCode(i.keyCode,i,r.isPress)}},{key:"handleKeyUp",value:function(i){var r=this._keyState;r.playbackRate>0&&(this.player.playbackRate=r.playbackRate,r.playbackRate=0),r.isKeyDown=!1,r.isPress=!1,r.tt=0}},{key:"handleKeyCode",value:function(i,r,s){for(var o=Object.keys(this.keyCodeMap),l=0;l<o.length;l++){var u=this.keyCodeMap[o[l]],h=u.action,d=u.keyCode,g=u.disable,m=u.pressAction,v=u.disablePress;if(d===i){if(!g&&!(s&&v)){var T=s&&m||h;typeof T=="function"?h(r,this.player,s):typeof T=="string"&&typeof this[T]=="function"&&this[T](r,this.player,s),this.emit(wv,wt({key:o[l],target:r.target,isPress:s},this.keyCodeMap[o[l]]))}PL(r),r.stopPropagation();break}}}},{key:"destroy",value:function(){this.player.root.removeEventListener("keydown",this.onKeydown),document.removeEventListener("keydown",this.onBodyKeyDown),this.player.root.removeEventListener("keyup",this.onKeyup),document.removeEventListener("keyup",this.onBodyKeyUp)}},{key:"disable",value:function(){this.config.disable=!0}},{key:"enable",value:function(){this.config.disable=!1}}],[{key:"pluginName",get:function(){return"keyboard"}},{key:"defaultConfig",get:function(){return{seekStep:10,checkVisible:!1,disableBodyTrigger:!1,disableRootTrigger:!1,isGlobalTrigger:!0,keyCodeMap:{},disable:!1,playbackRate:2,isIgnoreUserActive:!0}}}]),t}(dr);function DL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewB
159ox="-5 -5 110 110">
160  <path d="M100,50A50,50,0,1,1,50,0" stroke-width="5" stroke="#ddd" stroke-dasharray="236" fill="none"></path>
161</svg>
162`,"image/svg+xml").firstChild}var OL=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"registerIcons",value:function(){return{loadingIcon:DL}}},{key:"afterCreate",value:function(){this.appendChild("xg-loading-inner",this.icons.loadingIcon)}},{key:"render",value:function(){return`
163    <xg-loading class="xgplayer-loading">
164      <xg-loading-inner></xg-loading-inner>
165    </xg-loading>`}}],[{key:"pluginName",get:function(){return"loading"}},{key:"defaultConfig",get:function(){return{position:bt.ROOT}}}]),t}(gt),ML=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_onDurationChange",function(){n.updateSegments();var o=n.player,l=o.currentTime,u=o.timeSegments;if(n._checkIfEnabled(u)){var h=C.getIndexByTime(l,u),d=C.getOffsetCurrentTime(l,u,h);n.player.offsetCurrentTime=d,n.changeIndex(h,u)}}),j(W(n),"_onLoadedData",function(){var o=n.player.timeSegments;if(n._checkIfEnabled(o)){var l=C.getOffsetCurrentTime(0,o);n.player.offsetCurrentTime=l,n.changeIndex(0,o),n.curPos.start>0&&(n.player.currentTime=n.curPos.start)}}),j(W(n),"_onTimeupdate",function(){var o=n.player,l=o.currentTime,u=o.timeSegments;if(n._checkIfEnabled(u)){var h=u.length;n.lastCurrentTime=l;var d=C.getIndexByTime(l,u);d!==n.curIndex&&n.changeIndex(d,u);var g=C.getOffsetCurrentTime(l,u,d);if(n.player.offsetCurrentTime=g,!!n.curPos){var m=n.curPos,v=m.start,T=m.end;l<v?n.player.currentTime=v:l>T&&d>=h-1&&n.player.pause()}}}),j(W(n),"_onSeeking",function(){var o=n.player,l=o.currentTime,u=o.timeSegments;if(n._checkIfEnabled(u))if(l<u[0].start)n.player.currentTime=u[0].start;else if(l>u[u.length-1].end)n.player.currentTime=u[u.length-1].end;else{var h=C.getIndexByTime(l,u);if(h>=0){var d=n.getSeekTime(l,n.lastCurrentTime,h,u);d>=0&&(n.player.currentTime=d)}}}),j(W(n),"_onPlay",function(){var o=n.player,l=o.currentTime,u=o.timeSegments;n._checkIfEnabled(u)&&l>=u[u.length-1].end&&(n.player.currentTime=u[0].start)}),n}return Le(t,[{key:"afterCreate",value:function(){this.curIndex=-1,this.curPos=null,this.lastCurrentTime=0,this.updateSegments(),this.on(Vn,this._onDurationChange),this.on(Hn,this._onLoadedData),this.on(Bi,this._onTimeupdate),this.on(_l,this._onSeeking),this.on($i,this._onPlay)}},{key:"setConfig",value:function(i){var r=this;if(i){var s=Object.keys(i);s.length<1||(s.forEach(function(o){r.config[o]=i[o]}),this.updateSegments())}}},{key:"updateSegments",value:function(){var i=this.config,r=i.disable,s=i.segments,o=this.player;if(r||!s||s.length===0)o.timeSegments=[],o.offsetDuration=0,o.offsetCurrentTime=-1;else{var l=this.formatTimeSegments(s,o.duration);o.timeSegments=l,o.offsetDuration=l.length>0?l[l.length-1].duration:0}}},{key:"formatTimeSegments",value:function(i,r){var s=[];return i?(i.sort(function(o,l){return o.start-l.start}),i.forEach(function(o,l){var u={};if(u.start=o.start<0?0:o.start,u.end=r>0&&o.end>r?r:o.end,!(r>0&&u.start>r)){s.push(u);var h=u.end-u.start;if(l===0)u.offset=o.start,u.cTime=0,u.segDuration=h,u.duration=h;else{var d=s[l-1];u.offset=d.offset+(u.start-d.end),u.cTime=d.duration+d.cTime,u.segDuration=h,u.duration=d.duration+h}}}),s):[]}},{key:"getSeekTime",value:function(i,r,s,o){var l=-1,u=o[s],h=u.start,d=u.end;if(i>=h&&i<=d)return l;var g=i-r;if(g<0&&i<h){var m=r>h?r-h:0;return l=s-1>=0?o[s-1].end+g+m:0,l}return-1}},{key:"_checkIfEnabled",value:function(i){return!(!i||i.length<1)}},{key:"changeIndex",value:function(i,r){this.curIndex=i,i>=0&&r.length>0?this.curPos=r[i]:this.curPos=null}}],[{key:"pluginName",get:function(){return"TimeSegmentsControls"}},{key:"defaultConfig",get:function(){return{disable:!0,segments:[]}}}]),t}(dr);function FL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="-4 -6 40 40" fill="none">
166  <g>
167    <path transform="scale(1.5 1.5)" d="M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z" fill="white"/>
168    <path transform="scale(1.5 1.5)" fill-rule="evenodd" clip-rule="evenodd" d="M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 
1680.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z" fill="white"/>
169  </g>
170  <defs>
171    <clipPath>
172      <rect width="40" height="40" fill="white"/>
173    </clipPath>
174  </defs>
175</svg>
176`,"image/svg+xml").firstChild}var NL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),i.rotateDeg=i.config.rotateDeg||0,i}return Le(t,[{key:"afterCreate",value:function(){var i=this;if(!this.config.disable){$e(Me(t.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.rotate),this.onBtnClick=this.onBtnClick.bind(this),this.bind(".xgplayer-icon",["click","touchend"],this.onBtnClick),this.on(fr,function(){i.rotateDeg&&i.config.innerRotate&&C.setTimeout(i,function(){i.updateRotateDeg(i.rotateDeg,i.config.innerRotate)},100)});var r=this.player.root;this.rootWidth=r.style.width||r.offsetWidth||r.clientWidth,this.rootHeight=r.style.height||r.offsetHeight||r.clientHeight,this.rotateDeg&&this.updateRotateDeg(this.rotateDeg,this.config.innerRotate)}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(".xgplayer-icon",["click","touchend"],this.onBtnClick)}},{key:"onBtnClick",value:function(i){i.preventDefault(),i.stopPropagation(),this.emitUserAction(i,"rotate"),this.rotate(this.config.clockwise,this.config.innerRotate,1)}},{key:"updateRotateDeg",value:function(i,r){if(i||(i=0),r){this.player.videoRotateDeg=i;return}var s=this.player,o=this.rootWidth,l=this.rootHeight,u=s.root,h=s.innerContainer,d=s.media,g=u.offsetWidth,m=h&&r?h.offsetHeight:u.offsetHeight,v=o,T=l,y=0,_=0;(i===.75||i===.25)&&(v="".concat(m,"px"),T="".concat(g,"px"),y=-(m-g)/2,_=-(g-m)/2);var x="translate(".concat(y,"px,").concat(_,"px) rotate(").concat(i,"turn)"),b={transformOrigin:"center center",transform:x,webKitTransform:x,height:T,width:v},R=r?d:u,A=r?s.getPlugin("poster"):null;Object.keys(b).map(function(F){R.style[F]=b[F],A&&A.root&&(A.root.style[F]=b[F])})}},{key:"rotate",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=this.player;this.rotateDeg||(this.rotateDeg=0);var l=i?1:-1;this.rotateDeg=(this.rotateDeg+1+l*.25*s)%1,this.updateRotateDeg(this.rotateDeg,r),o.emit(Rv,this.rotateDeg*360)}},{key:"registerIcons",value:function(){return{rotate:FL}}},{key:"render",value:function(){if(!this.config.disable)return`
177    <xg-icon class="xgplayer-rotate">
178      <div class="xgplayer-icon">
179      </div>
180      `.concat(mr(this,"ROTATE_TIPS",this.playerConfig.isHideTips),`
181    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"rotate"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:6,innerRotate:!0,clockwise:!1,rotateDeg:0,disable:!1}}}]),t}(Gr);function BL(){return new DOMParser().parseFromString(`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
182  <path fill-rule="evenodd" clip-rule="evenodd"
183    d="M16.5 4.3H3.5C3.38954 4.3 3.3 4.38954 3.3 4.5V15.5C3.3 15.6105 3.38954 15.7 3.5 15.7H8.50005L8.50006 17.5H3.5C2.39543 17.5 1.5 16.6046 1.5 15.5V4.5C1.5 3.39543 2.39543 2.5 3.5 2.5H16.5C17.6046 2.5 18.5 3.39543 18.5 4.5V8.5H16.7V4.5C16.7 4.38954 16.6105 4.3 16.5 4.3ZM12 11.5C11.4477 11.5 11 11.9477 11 12.5L11 16.5C11 17.0523 11.4478 17.5 12 17.5H17.5C18.0523 17.5 18.5 17.0523 18.5 16.5L18.5 12.5C18.5 11.9477 18.0523 11.5 17.5 11.5H12Z"
184    fill="white" />
185</svg>`,"image/svg+xml").firstChild}function UL(){return new DOMParser().parseFromString(`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
186  <path fill-rule="evenodd" clip-rule="evenodd"
187    d="M16.5 4.3H3.5C3.38954 4.3 3.3 4.38954 3.3 4.5V15.5C3.3 15.6105 3.38954 15.7 3.5 15.7H8.50005L8.50006 17.5H3.5C2.39543 17.5 1.5 16.6046 1.5 15.5V4.5C1.5 3.39543 2.39543 2.5 3.5 2.5H16.5C17.6046 2.5 18.5 3.39543 18.5 4.5V8.5H16.7V4.5C16.7 4.38954 16.6105 4.3 16.5 4.3ZM12 11.5C11.4477 11.5 11 11.9477 11 12.5L11 16.5C11 17.0523 11.4478 17.5 12 17.5H17.5C18.0523 17.5 18.5 17.0523 18.5 16.5L18.5 12.5C18.5 11.9477 18.0523 11.5 17.5 11.5H12Z"
188    fill="white" />
189  <path fill-rule="evenodd" clip-rule="evenodd"
190    d="M9.4998 7.7C9.77595 7.7 9.9998 7.47614 9.9998 7.2V6.5C9.9998 6.22386 9.77595 6 9.4998 6H5.5402L5.52754 6.00016H5.5C5.22386 6.00016 5 6.22401 5 6.50016V10.4598C5 10.7359 5.22386 10.9598 5.5 10.9598H6.2C6.47614 10.9598 6.7 10.7359 6.7 10.4598V8.83005L8.76983 10.9386C8.96327 11.1357 9.27984 11.1386 9.47691 10.9451L9.97645 10.4548C10.1735 10.2613 10.1764 9.94476 9.983 9.7477L7.97289 7.7H9.4998Z"
191    fill="white" />
192</svg>`,"image/svg+xml").firstChild}var ss={PIP:"picture-in-picture",INLINE:"inline",FULLSCREEN:"fullscreen"},$L=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"switchPIP",function(o){if
192(!n.isPIPAvailable())return!1;o.stopPropagation&&o.stopPropagation(),n.isPip?(n.exitPIP(),n.emitUserAction(o,"change_pip",{props:"pip",from:!0,to:!1}),n.setAttr("data-state","normal")):n.player.media.readyState===4&&(n.requestPIP(),n.emitUserAction(o,"change_pip",{props:"pip",from:!1,to:!0}),n.setAttr("data-state","pip"))}),n}return Le(t,[{key:"beforeCreate",value:function(i){typeof i.player.config.pip=="boolean"&&(i.config.showIcon=i.player.config.pip)}},{key:"afterCreate",value:function(){var i=this;this.isPIPAvailable()&&($e(Me(t.prototype),"afterCreate",this).call(this),this.pMode=ss.INLINE,this.initPipEvents(),this.config.showIcon&&this.initIcons(),this.once(xl,function(){i.config.showIcon&&(C.removeClass(i.find(".xgplayer-icon"),"xg-icon-disable"),i.bind("click",i.switchPIP))}))}},{key:"registerIcons",value:function(){return{pipIcon:{icon:BL,class:"xg-get-pip"},pipIconExit:{icon:UL,class:"xg-exit-pip"}}}},{key:"initIcons",value:function(){var i=this.icons;this.appendChild(".xgplayer-icon",i.pipIcon),this.appendChild(".xgplayer-icon",i.pipIconExit)}},{key:"initPipEvents",value:function(){var i=this,r=this.player;this.leavePIPCallback=function(){var s=r.paused;C.setTimeout(i,function(){!s&&r.mediaPlay()},0),!s&&r.mediaPlay(),i.setAttr("data-state","normal"),i.pipWindow=null,r.emit(Vc,!1)},this.enterPIPCallback=function(s){r.emit(Vc,!0),s!=null&&s.pictureInPictureWindow&&(i.pipWindow=s.pictureInPictureWindow),i.setAttr("data-state","pip")},this.onWebkitpresentationmodechanged=function(s){var o=r.media.webkitPresentationMode;i.pMode===ss.FULLSCREEN&&o!==ss.FULLSCREEN&&r.onFullscreenChange(null,!1),i.pMode=o,o===ss.PIP?i.enterPIPCallback(s):o===ss.INLINE&&i.leavePIPCallback(s)},r.media&&(r.media.addEventListener("enterpictureinpicture",this.enterPIPCallback),r.media.addEventListener("leavepictureinpicture",this.leavePIPCallback),t.checkWebkitSetPresentationMode(r.media)&&r.media.addEventListener("webkitpresentationmodechanged",this.onWebkitpresentationmodechanged))}},{key:"copyStyleIntoPiPWindow",value:function(i){var r=ln(document.styleSheets).map(function(o){try{return ln(o.cssRules).map(function(u){return u.cssText}).join("")}catch{var l=document.createElement("link");l.rel="stylesheet",l.type=o.type,l.media=o.media,l.href=o.href,i.document.head.appendChild(l)}return""}).filter(Boolean).join(`
193`),s=document.createElement("style");s.textContent=r,i.document.head.appendChild(s)}},{key:"requestPIP",value:function(){var i=this,r=this.player,s=this.playerConfig,o=this.config;if(!(!this.isPIPAvailable()||this.isPip))try{var l=s.poster;if(l&&(r.media.poster=C.typeOf(l)==="String"?l:l.poster),o.preferDocument&&this.isDocPIPAvailable()){var u={};if(o.width&&o.height)u.width=o.width,u.height=o.height;else{var h=r.root.getBoundingClientRect();u.width=h.width,u.height=h.height}documentPictureInPicture.requestWindow(u).then(function(d){var g=o.docPiPNode,m=o.docPiPStyle;i.enterPIPCallback();var v=g||r.root,T=v.parentElement,y=v.previousSibling,_=v.nextSibling;i.copyStyleIntoPiPWindow(d);var x=document.createElement("style");if(x.append("body{padding:0; margin:0;}"),m){var b="";typeof m=="string"?b=m:typeof m=="function"&&(b=m.call(o)),b&&x.append(b)}else v===r.root&&x.append(`
194              .xgplayer{width: 100%!important; height: 100%!important;}
195            `);d.document.head.append(x),d.document.body.append(v),d.addEventListener("pagehide",function(R){T&&(_?T.insertBefore(v,_):y?T.insertBefore(v,y.nextSibling):T.appendChild(v)),i.leavePIPCallback()},{once:!0})})}else t.checkWebkitSetPresentationMode(r.media)?r.media.webkitSetPresentationMode("picture-in-picture"):r.media.requestPictureInPicture();return!0}catch(d){return console.error("requestPiP",d),!1}}},{key:"exitPIP",value:function(){var i=this.player;try{if(this.isPIPAvailable()&&this.isPip){var r;this.isDocPIPAvailable()&&(r=documentPictureInPicture)!==null&&r!==void 0&&r.window?documentPictureInPicture.window.close():t.checkWebkitSetPresentationMode(i.media)?i.media.webkitSetPresentationMode("inline"):document.exitPictureInPicture()}return!0}catch(s){return console.error("exitPIP",s),!1}}},{key:"isPip",get:function(){var i,r=this.player;return!!(this.isDocPIPAvailable()&&(i=documentPictureInPicture)!==null&&i!==void 0&&i.window)||document.pictureInPictureElement&&document.pictureInPictureElement===r.media||r.media.webkitPresentationMode===ss.PIP}},{key:"isPIPAvailable",value:function(){var i=this.player.media,r=C.typeOf(document.pictureInPictureEnabled)==="Boolean"?document.pictureInPictureEnabled:!1;return r&&(C.typeOf(i.disablePictureInPicture)==="Boolean"&&!i.disablePictureInPicture||i.webkitSupportsPresentationMode&&C.typeOf(i.webkitSetPresentationMode)==="Function")||this.isDocPIPAvailable()}},{key:"isDocPIPAvailable",value:function(){return"documentPictureInPicture"in window&&/^(https|file)/.test(location.protocol)}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this);var i=this.player;i.media.removeEventListener("enterpictureinpicture",this.enterPIPCallback),i.media.removeEventListener("leavepictureinpicture",this.leavePIPCallback),t.checkWebkitSetPresentationMode(i.media)&&i.media.removeEventListener("webkitpresentationmodechanged",this.onWebkitpresentationmodechanged),this.exitPIP(),this.unbind("click",this.btnClick)}},{key:"render",value:function(){if(!(!this.config.showIcon||!this.isPIPAvailable()))return`<xg-icon class="xgplayer-pip">
196      <div class="xgplayer-icon xg-icon-disable">
197      </div>
198      `.concat(mr(this,"PIP",this.playerConfig.isHideTips),`
199    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"pip"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:6,showIcon:!1,preferDocument:!1,width:void 0,height:void 0,docPiPNode:void 0,docPiPStyle:void 0}}},{key:"checkWebkitSetPresentationMode",value:function(i){return typeof i.webkitSetPresentationMode=="function"}}]),t}(Gr);function GL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="40" viewBox="10 0 24 40">
200  <path transform="scale(0.038 0.028)" d="M800 380v768h-128v-352l-320 320v-704l320 320v-352z"></path>
201</svg>
202`,"image/svg+xml").firstChild}var HL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"playNext",function(r){var s=W(i),o=s.player;r.preventDefault(),r.stopPropagation(),i.idx+1<i.config.urlList.length?(i.idx++,i.nextHandler(i.config.urlList[i.idx],i.idx),o.emit(tl,i.idx+1)):(i.nextHandler(),o.emit(tl))}),i.idx=-1,i}return Le(t,[{key:"afterCreate",value:function(){!this.config.urlList||this.config.urlList.length===0||(this.appendChild(".xgplayer-icon",this.icons.playNext),this.initEvents())}},{key:"registerIcons",value:function(){return{playNext:GL}}},{key:"initEvents",value:function(){this.nextHandler=this.hook("nextClick",this.changeSrc);var i=it.device==="mobile"?"touchend":"click";this.bind(i,this.playNext),this.show()}},{key:"changeSrc",value:function(i){var r=this.player;i&&(r.pause(),r.currentTime=0,r.switchURL?r.switchURL(i):r.src=i,r.config.url=i,r.play())}},{key:"destroy",value:function(){this.unbind(["touchend","click"],this.playNext)}},{key:"render",value:function(){if(!(!this.config.urlList||this.config.urlList.length===0))return`
203     <xg-icon class="xgplayer-playnext">
204      <div class="xgplayer-icon">
205      </div>
206      `.concat(mr(this,"PLAYNEXT_TIPS",this.playerConfig.isHideTips),`
207     </xg-icon>
208    `)}}],[{key:"pluginName",get:function(){return"playNext"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_LEFT,index:1,url:null,urlList:[]}}}]),t}(gt),Uo={exports:{}},VL=Uo.exports,xp;function KL(){return xp||(xp=1,function(a,e){(function(t,n){a.exports=n()})(VL,function(){return function t(n,i,r){var s=window,o="application/octet-stream",l=r||o,u=n,h=!i&&!r&&u,d=document.createElement("a"),g=function(w){return String(w)},m=s.Blob||s.MozBlob||s.WebKitBlob||g,v=i||"download",T,y;if(m=m.call?m.bind(s):Blob,String(this)==="true"&&(u=[u,l],l=u[0],u=u[1]),h&&h.length<2048&&(v=h.split("/").pop().split("?")[0],d.href=h,d.href.indexOf(h)!==-1)){var _=new XMLHttpRequest;return _.open("GET",h,!0),_.responseType="blob",_.onload=function(w){t(w.target.response,v,o)},setTimeout(function(){_.send()},0),_}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(u))if(u.length>1024*1024*1.999&&m!==g)u=A(u),l=u.type||o;else return navigator.msSaveBlob?navigator.msSaveBlob(A(u),v):F(u);else if(/([\x80-\xff])/.test(u)){var x=0,b=new Uint8Array(u.length),R=b.length;for(x;x<R;++x)b[x]=u.charCodeAt(x);
208u=new m([b],{type:l})}T=u instanceof m?u:new m([u],{type:l});function A(w){var M=w.split(/[:;,]/),O=M[1],P=M[2]=="base64"?atob:decodeURIComponent,K=P(M.pop()),ee=K.length,le=0,ae=new Uint8Array(ee);for(le;le<ee;++le)ae[le]=K.charCodeAt(le);return new m([ae],{type:O})}function F(w,M){if("download"in d)return d.href=w,d.setAttribute("download",v),d.className="download-js-link",d.innerHTML="downloading...",d.style.display="none",document.body.appendChild(d),setTimeout(function(){d.click(),document.body.removeChild(d),M===!0&&setTimeout(function(){s.URL.revokeObjectURL(d.href)},250)},66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(w)&&(w="data:"+w.replace(/^data:([\w\/\-\+]+)/,o)),window.open(w)||confirm(`Displaying New Document
209
210Use Save As... to download, then click back to return to this page.`)&&(location.href=w),!0;var O=document.createElement("iframe");document.body.appendChild(O),!M&&/^data:/.test(w)&&(w="data:"+w.replace(/^data:([\w\/\-\+]+)/,o)),O.src=w,setTimeout(function(){document.body.removeChild(O)},333)}if(navigator.msSaveBlob)return navigator.msSaveBlob(T,v);if(s.URL)F(s.URL.createObjectURL(T),!0);else{if(typeof T=="string"||T.constructor===g)try{return F("data:"+l+";base64,"+s.btoa(T))}catch{return F("data:"+l+","+encodeURIComponent(T))}y=new FileReader,y.onload=function(w){F(this.result)},y.readAsDataURL(T)}return!0}})}(Uo)),Uo.exports}var WL=KL();const YL=gh(WL);function zL(){return new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24">
211  <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
212    <g transform="translate(-488.000000, -340.000000)" fill="#FFFFFF">
213      <g id="Group-2">
214        <g id="volme_big-copy" transform="translate(488.000000, 340.000000)">
215          <rect id="Rectangle-18" x="11" y="4" width="2" height="12" rx="1"></rect>
216          <rect id="Rectangle-2" x="3" y="18" width="18" height="2" rx="1"></rect>
217          <rect id="Rectangle-2" transform="translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) " x="1.5" y="16.5" width="5" height="2" rx="1"></rect><rect id="Rectangle-2-Copy-3" transform="translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) " x="17.5" y="16.5" width="5" height="2" rx="1"></rect>
218          <path d="M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z" id="Combined-Shape" transform="translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) "></path>
219        </g>
220      </g>
221    </g>
222  </g>
223</svg>
224`,"image/svg+xml").firstChild}var jL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"download",function(r){if(!i.isLock){i.emitUserAction(r,"download");var s=i.playerConfig.url,o="";C.typeOf(s)==="String"?o=s:C.typeOf(s)==="Array"&&s.length>0&&(o=s[0].src);var l=i.getAbsoluteURL(o);YL(l),i.isLock=!0,i.timer=window.setTimeout(function(){i.isLock=!1,window.clearTimeout(i.timer),i.timer=null},300)}}),i.timer=null,i.isLock=!1,i}return Le(t,[{key:"afterCreate",value:function(){$e(Me(t.prototype),"afterCreate",this).call(this),!this.config.disable&&(this.appendChild(".xgplayer-icon",this.icons.download),this._handler=this.hook("click",this.download,{pre:function(r){r.preventDefault(),r.stopPropagation()}}),this.bind(["click","touchend"],this._handler))}},{key:"registerIcons",value:function(){return{download:zL}}},{key:"getAbsoluteURL",value:function(i){if(!i.match(/^https?:\/\//)){var r=document.createElement("div");r.innerHTML='<a href="'.concat(i,'">x</a>'),i=r.firstChild.href}return i}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.download),window.clearTimeout(this.timer),this.timer=null}},{key:"render",value:function(){if(!this.config.disable)return`<xg-icon class="xgplayer-download">
225   <div class="xgplayer-icon">
226   </div>
227   `.concat(mr(this,"DOWNLOAD_TIPS",this.playerConfig.isHideTips),`
228    </xg-icon>`)}}],[{key:"pluginName",get:function(){return"download"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:3,disable:!0}}}]),t}(Gr),qL=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"beforeCreate",value:function(i){typeof i.player.config.screenShot=="boolean"&&(i.config.disable=!i.player.config.screenShot)}},{key:"afterCreate",value:function(){$e(Me(t.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.screenshotIcon);var i=this.config;this.initSize=function(r){i.fitVideo&&(i.width=r.vWidth,i.height=r.vHeight)},this.once(fr,this.initSize)}},{key:"onPluginsReady",value:function(){this.show(),this.onClickBtn=this.onClickBtn.bind(this),this.bind(["click","touchend"],this.onClickBtn)}},{key:"saveScreenShot",value:function(i,r){var s=document.createElement("a");s.href=i,s.download=r;var o;try{typeof MouseEvent<"u"?o=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window}):(o=document.createEvent("MouseEvents"),o.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,
228!1,!1,0,null))}catch(l){console.error("MouseEvent unsupported",l)}o&&s.dispatchEvent(o)}},{key:"createCanvas",value:function(i,r){var s=document.createElement("canvas"),o=s.getContext("2d");this.canvasCtx=o,this.canvas=s,s.width=i||this.config.width,s.height=r||this.config.height,o.imageSmoothingEnabled=!0,o.imageSmoothingEnabled&&(o.imageSmoothingQuality="high")}},{key:"onClickBtn",value:function(i){var r=this;i.preventDefault(),i.stopPropagation(),this.emitUserAction(i,"shot");var s=this.config;this.shot(s.width,s.height).then(function(o){r.emit(kv,o),s.saveImg&&r.saveScreenShot(o,s.name+s.format)})}},{key:"shot",value:function(i,r){var s=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{quality:.92,type:"image/png"},l=this.config,u=this.player,h=o.quality||l.quality,d=o.type||l.type;return new Promise(function(g,m){var v=null,T;if(u.media.canvas)v=u.media.canvas;else{s.canvas?(s.canvas.width=i||l.width,s.canvas.height=r||l.height):s.createCanvas(i,r),v=s.canvas,T=s.canvasCtx;var y=u.media.videoWidth/u.media.videoHeight,_=v.width/v.height,x=0,b=0,R=u.media.videoWidth,A=u.media.videoHeight,F,w,M,O;y>_?(M=v.width,O=v.width/y,F=0,w=Math.round((v.height-O)/2)):y===_?(M=v.width,O=v.height,F=0,w=0):y<_&&(M=v.height*y,O=v.height,F=Math.round((v.width-M)/2),w=0),T.drawImage(u.media,x,b,R,A,F,w,M,O)}var P=v.toDataURL(d,h).replace(d,"image/octet-stream");P=P.replace(/^data:image\/[^;]+/,"data:application/octet-stream"),g(P)})}},{key:"registerIcons",value:function(){return{screenshotIcon:null}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.onClickBtn),this.off(fr,this.initSize)}},{key:"render",value:function(){if(!this.config.disable){var i=this.icons.screenshotIcon?"xgplayer-icon":"xgplayer-icon btn-text",r="SCREENSHOT";return`
229      <xg-icon class="xgplayer-shot">
230      <div class="`.concat(i,`">
231      `).concat(this.icons.screenshotIcon?"":'<span lang-key="'.concat(this.i18nKeys[r],'">').concat(this.i18n[r],"</span>"),`
232      </div>
233    </xg-icon>`)}}}],[{key:"pluginName",get:function(){return"screenShot"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:5,quality:.92,type:"image/png",format:".png",width:600,height:337,saveImg:!0,fitVideo:!0,disable:!1,name:"screenshot"}}}]),t}(Gr),XL=function(){function a(e){Ce(this,a),this.config=e.config,this.parent=e.root,this.root=C.createDom("ul","",{},"xg-options-list xg-list-slide-scroll ".concat(this.config.className)),e.root.appendChild(this.root);var t=this.config.maxHeight;t&&this.setStyle({maxHeight:t}),this.onItemClick=this.onItemClick.bind(this),this.renderItemList();var n=this.config.domEventType==="touch"?"touchend":"click";this._delegates=gt.delegate.call(this,this.root,"li",n,this.onItemClick)}return Le(a,[{key:"renderItemList",value:function(t){var n=this,i=this.config,r=this.root;t?i.data=t:t=i.data,i.style&&Object.keys(i.style).map(function(s){r.style[s]=i[s]}),t.length>0&&(this.attrKeys=Object.keys(t[0])),this.root.innerHTML="",t.map(function(s,o){var l=s.selected?"option-item selected":"option-item";s["data-index"]=o,n.root.appendChild(C.createDom("li","<span>".concat(s.showText,"</span>"),s,l))})}},{key:"onItemClick",value:function(t){t.delegateTarget||(t.delegateTarget=t.target);var n=t.delegateTarget;if(n&&C.hasClass(n,"selected"))return!1;var i=typeof this.config.onItemClick=="function"?this.config.onItemClick:null,r=this.root.querySelector(".selected");C.addClass(n,"selected"),r&&C.removeClass(r,"selected"),i(t,{from:r?this.getAttrObj(r,this.attrKeys):null,to:this.getAttrObj(n,this.attrKeys)})}},{key:"getAttrObj",value:function(t,n){if(!t||!n)return{};var i={};n.map(function(s){i[s]=t.getAttribute(s)});var r=t.getAttribute("data-index");return r&&(i.index=Number(r)),i}},{key:"show",value:function(){C.removeClass(this.root,"hide"),C.addClass(this.root,"active")}},{key:"hide",value:function(){C.removeClass(this.root,"active"),C.addClass(this.root,"hide")}},{key:"setStyle",value:function(t){var n=this;Object.keys(t).forEach(function(i){n.root.style[i]=t[i]})}},{key:"destroy",value:function(){this._delegates&&(this._delegates.map(function(t){t.destroy&&t.destroy()}),this._delegates=null),this.root.innerHTML=null,this.parent.removeChild(this.root),this.root=null}}]),a}(),gn={SIDE:"side",MIDDLE:"middle",DEFAULT:"default"},as={CLICK:"click",HOVER:"hover"};function QL(a,e){return a===gn.SIDE?e===bt.CONTROLS_LEFT?"xg-side-list xg-left-side":"xg-side-list xg-right-side":""}var Ar=it.device==="mobile",As=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"onEnter",function(r){r.stopPropagation(),i.emit("icon_mouseenter",{pluginName:i.pluginName}),i.switchActiveState(r)}),j(W(i),"switchActiveState",function(r){r.stopPropagation();var s=i.config.toggleMode;s===as.CLICK?i.toggle(!i.isActive):i.toggle(!0)}),j(W(i),"onLeave",function(r){r.stopPropagation(),i.emit("icon_mouseleave",{pluginName:i.pluginName}),i.config.listType!==gn.SIDE&&i.isActive&&i.toggle(!1)}),j(W(i),"onListEnter",function(r){i.enterType=2}),j(W(i),"onListLeave",function(r){i.enterType=0,i.isActive&&i.toggle(!1)}),i.isIcons=!1,i.isActive=!1,i.curValue=null,i.curIndex=0,i}return Le(t,[{key:"updateLang",value:function(i){this.renderItemList(this.config.list,this.curIndex)}},{key:"afterCreate",value:function(){var i=this,r=this.config;this.initIcons(),Ar=Ar||this.domEventType==="touch",Ar&&it.device==="mobile"&&r.listType===gn.DEFAULT&&(r.listType=gn.SIDE),r.hidePortrait&&
233C.addClass(this.root,"portrait"),this.on([fr,Un],function(){i._resizeList()}),this.once($n,function(){r.list&&r.list.length>0&&(i.renderItemList(r.list),i.show())}),Ar&&this.on(Sl,function(){i.isActive&&(i.optionsList&&i.optionsList.hide(),i.isActive=!1)}),Ar?(r.toggleMode=as.CLICK,this.activeEvent="touchend"):this.activeEvent=r.toggleMode===as.CLICK?"click":"mouseenter",r.toggleMode===as.CLICK?this.bind(this.activeEvent,this.switchActiveState):(this.bind(this.activeEvent,this.onEnter),this.bind("mouseleave",this.onLeave)),this.isIcons&&this.bind("click",this.onIconClick)}},{key:"initIcons",value:function(){var i=this,r=this.icons,s=Object.keys(r),o=!1;s.length>0&&(s.forEach(function(l){i.appendChild(".xgplayer-icon",r[l]),!o&&(o=r[l])}),this.isIcons=o),!o&&(this.appendChild(".xgplayer-icon",C.createDom("span","",{},"icon-text")),C.addClass(this.find(".xgplayer-icon"),"btn-text"))}},{key:"show",value:function(i){!this.config.list||this.config.list.length<2||C.addClass(this.root,"show")}},{key:"hide",value:function(){C.removeClass(this.root,"show")}},{key:"getTextByLang",value:function(i,r,s){if(i===void 0)return"";var o=this.config.list;!s&&(s=this.player.lang),r=!r||C.isUndefined(i[r])?"text":r,typeof i=="number"&&(i=o[i]);try{return pi(i[r])==="object"?i[r][s]||i[r].en:i[r]}catch(l){return console.warn(l),""}}},{key:"toggle",value:function(i){if(!(i===this.isActive||this.config.disable)){var r=this.player.controls,s=this.config.listType;i?(s===gn.SIDE?r.blur():r.focus(),this.optionsList&&this.optionsList.show()):(s===gn.SIDE?r.focus():r.focusAwhile(),this.optionsList&&this.optionsList.hide()),this.isActive=i}}},{key:"onItemClick",value:function(i,r){i.stopPropagation();var s=this.config,o=s.listType,l=s.list;this.curIndex=r.to.index,this.curItem=l[this.curIndex],this.changeCurrentText();var u=this.config.isItemClickHide;(u||Ar||o===gn.SIDE)&&this.toggle(!1)}},{key:"onIconClick",value:function(i){}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var i=this.config.list,r=this.curIndex<i.length?this.curIndex:0,s=i[r];s&&(this.find(".icon-text").innerHTML=this.getTextByLang(s,"iconText"))}}},{key:"renderItemList",value:function(i,r){var s=this,o=this.config,l=this.optionsList,u=this.player;if(typeof r=="number"&&(this.curIndex=r,this.curItem=o.list[r]),l){l.renderItemList(i),this.changeCurrentText();return}var h={config:{data:i||[],className:QL(o.listType,o.position),onItemClick:function(T,y){s.onItemClick(T,y)},domEventType:Ar?"touch":"mouse"},root:o.listType===gn.SIDE?u.innerContainer||u.root:this.root};if(this.config.isShowIcon){var d=this.player.root.getBoundingClientRect(),g=d.height,m=o.listType===gn.MIDDLE?g-50:g;m&&o.heightLimit&&(h.config.maxHeight="".concat(m,"px")),this.optionsList=new XL(h),this.changeCurrentText(),this.show()}this._resizeList()}},{key:"_resizeList",value:function(){if(this.config.heightLimit){var i=this.player.root.getBoundingClientRect(),r=i.height,s=this.config.listType===gn.MIDDLE?r-50:r;this.optionsList&&this.optionsList.setStyle({maxHeight:"".concat(s,"px")})}}},{key:"destroy",value:function(){var i=this.config;i.toggleMode===as.CLICK?this.unbind(this.activeEvent,this.switchActiveState):(this.unbind(this.activeEvent,this.onEnter),this.unbind("mouseleave",this.onLeave)),this.isIcons&&this.unbind("click",this.onIconClick),this.optionsList&&(this.optionsList.destroy(),this.optionsList=null)}},{key:"render",value:function(){if(this.config.isShowIcon)return'<xg-icon class="xg-options-icon '.concat(this.config.className||"",`">
234    <div class="xgplayer-icon">
235    </div>
236   </xg-icon>`)}}],[{key:"pluginName",get:function(){return"optionsIcon"}},{key:"defaultConfig",get:function(){return{position:bt.CONTROLS_RIGHT,index:100,list:[],listType:"default",listStyle:{},hidePortrait:!0,isShowIcon:!1,isItemClickHide:!0,toggleMode:as.HOVER,heightLimit:!0}}}]),t}(gt),ZL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),i.curTime=0,i.isPaused=!0,i}return Le(t,[{key:"beforeCreate",value:function(i){var r=i.config.list;Array.isArray(r)&&r.length>0&&(i.config.list=r.map(function(s){return!s.text&&s.name&&(s.text=s.name),s.text||(s.text=s.definition),s}))}},{key:"afterCreate",value:function(){var i=this;$e(Me(t.prototype),"afterCreate",this).call(this),this.on("resourceReady",function(r){i.changeDefinitionList(r)}),this.on(kh,function(r){i.renderItemList(i.config.list,r.to)}),this.player.definitionList.length<2&&this.hide()}},{key:"show",value:function(i){!this.config.list||this.config.list.length<2||C.addClass(this.root,"show")}},{key:"initDefinition",value:function(){var i=this.config,r=i.list,s=i.defaultDefinition;if(r.length>0){var o=null;r.map(function(l){l.definition===s&&(o=l)}),o||(o=r[0]),this.changeDefinition(o)}}},{key:"renderItemList",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.config.list||[],s=arguments.length>1?arguments[1]:void 0,o=s&&s.definition?s.definition:this.config.defaultDefinition;s&&r.forEach(function(h){h.selected=!1});var l=0,u=r.map(function(h,d){var g=wt(wt({},h),{},{showText:i.getTextByLang(h)||h.definition,selected:!1});
236return(h.selected||h.definition&&h.definition==o)&&(g.selected=!0,l=d),g});$e(Me(t.prototype),"renderItemList",this).call(this,u,l)}},{key:"changeDefinitionList",value:function(i){Array.isArray(i)&&(this.config.list=i.map(function(r){return!r.text&&r.name&&(r.text=r.name),r.text||(r.text=r.definition),r}),this.renderItemList(),this.config.list.length<2?this.hide():this.show())}},{key:"changeDefinition",value:function(i,r){this.player.changeDefinition(i,r)}},{key:"onItemClick",value:function(i,r){var s=this.player.definitionList;$e(Me(t.prototype),"onItemClick",this).apply(this,arguments),this.emitUserAction(i,"change_definition",{from:r.from,to:r.to});for(var o=0;o<s.length;o++)r.to&&s[o].definition===r.to.definition&&(r.to.url=s[o].url),r.from&&s[o].definition===r.from.definition&&(r.from.url=s[o].url);this.player.changeDefinition(r.to,r.from)}}],[{key:"pluginName",get:function(){return"definition"}},{key:"defaultConfig",get:function(){return wt(wt({},As.defaultConfig),{},{position:bt.CONTROLS_RIGHT,index:3,list:[],defaultDefinition:"",disable:!1,hidePortrait:!1,className:"xgplayer-definition",isShowIcon:!0})}}]),t}(As),JL=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),i.curRate=1,i}return Le(t,[{key:"beforeCreate",value:function(i){var r=i.player.config.playbackRate,s=r?Array.isArray(r)?r:i.config.list:[];Array.isArray(s)&&(i.config.list=s.map(function(o){return typeof o=="number"?o={rate:o,text:"".concat(o,"x")}:!o.text&&o.rate&&(o.text="".concat(o.rate,"x")),o}))}},{key:"afterCreate",value:function(){var i=this;$e(Me(t.prototype),"afterCreate",this).call(this),this.on(xv,function(){i.curValue!==i.player.playbackRate&&i.renderItemList()}),this.renderItemList()}},{key:"show",value:function(i){!this.config.list||this.config.list.length===0||$e(Me(t.prototype),"show",this).call(this)}},{key:"onItemClick",value:function(i,r){$e(Me(t.prototype),"onItemClick",this).call(this,i,r);var s=i.delegateTarget,o=Number(s.getAttribute("rate"));if(!o||o===this.curValue)return!1;var l={playbackRate:{from:this.player.playbackRate,to:o}};this.emitUserAction(i,"change_rate",{props:l}),this.curValue=o,this.player.playbackRate=o}},{key:"renderItemList",value:function(){var i=this,r=this.player.playbackRate||1;this.curValue=r;var s=-1,o=this.config.list.map(function(l,u){var h={rate:l.rate};return h.rate===r&&(h.selected=!0,s=u),h.showText=i.getTextByLang(l),h});$e(Me(t.prototype),"renderItemList",this).call(this,o,s)}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var i=this.config.list,r=this.curIndex<i.length?this.curIndex:0,s=i[r],o="";!s||this.curIndex<0?o="".concat(this.player.playbackRate,"x"):o=this.getTextByLang(s,"iconText"),this.find(".icon-text").innerHTML=o}}},{key:"destroy",value:function(){$e(Me(t.prototype),"destroy",this).call(this)}}],[{key:"pluginName",get:function(){return"playbackRate"}},{key:"defaultConfig",get:function(){return wt(wt({},As.defaultConfig),{},{position:bt.CONTROLS_RIGHT,index:4,list:[2,1.5,1,.75,.5],className:"xgplayer-playbackrate",isShowIcon:!0,hidePortrait:!1})}}]),t}(As),eR=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"afterCreate",value:function(){var i=this;this.clickHandler=this.hook("errorRetry",this.errorRetry,{pre:function(s){s.preventDefault(),s.stopPropagation()}}),this.onError=this.hook("showError",this.handleError),this.bind(".xgplayer-error-refresh","click",this.clickHandler),this.on(Sa,function(r){i.onError(r)})}},{key:"errorRetry",value:function(i){this.emitUserAction(i,"error_retry",{}),this.player.retry()}},{key:"handleError",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.player,s=i.errorType,o=r.errorNote?this.i18n[r.errorNote]:"";if(!o)switch(s){case"decoder":o=this.i18n.MEDIA_ERR_DECODE;break;case"network":o=this.i18n.MEDIA_ERR_NETWORK;break;default:o=this.i18n.MEDIA_ERR_SRC_NOT_SUPPORTED}this.find(".xgplayer-error-text").innerHTML=o,this.find(".xgplayer-error-tips").innerHTML="".concat(this.i18n.REFRESH_TIPS,'<span class="xgplayer-error-refresh">').concat(this.i18n.REFRESH,"</span>")}},{key:"destroy",value:function(){this.unbind(".xgplayer-error-refresh","click",this.clickHandler)}},{key:"render",value:function(){return`<xg-error class="xgplayer-error">
237      <div class="xgplayer-errornote">
238       <span class="xgplayer-error-text"></span>
239       <span class="xgplayer-error-tips"><em class="xgplayer-error-refresh"></em></span>
240      </div>
241    </xg-error>`}}],[{key:"pluginName",get:function(){return"error"}}]),t}(gt),tR=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"afterCreate",value:function(){var i=this;this.intervalId=0,this.customConfig=null,this.bind(".highlight",["click","touchend"],function(r){(i.config.onClick||i.customOnClick)&&(r.preventDefault(),r.stopPropagation(),i.customOnClick?i.customOnClick(r):i.config.onClick(r))}),this.player.showPrompt=function(){i.showPrompt.apply(i,arguments)},this.player.hidePrompt=function(){i.hide()}}},{key:"setStyle",value:function(i){var r=this;Object.keys(i).map(function(s){r.root.style[s]=i[s]})}},{key:"showPrompt",value:function(i){var r=this,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){};if(i){this.customOnClick=o;var l=this.config.interval;this.intervalId&&(clearTimeout(this.intervalId),this.intervalId=null),C.addClass(this.root,"show"),s.mode==="arrow"&&C.addClass(this.root,"arrow"),typeof i=="string"?this.find(".xgplayer-prompt-detail").innerHTML=i:this.find(".xgplayer-prompt-detail").innerHTML="".concat(i.text||"")+"".concat(i.highlight?'<i class="highlight">'.concat(i.highlight,"</i>"):""),s.style&&this.setStyle(s.style);var u=typeof s.autoHide=="boolean"?s.autoHide:this.config.autoHide;if(u){var h=s.interval||l;this.intervalId=setTimeout(function(){r.hide()},h)}}}},{key:"hide",value:function(){C.removeClass(this.root,"show"),C.removeClass(this.root,"arrow"),this.root.removeAttribute("style"),this.customOnClick=null}},{key:"render",value:function(){return'<xg-prompt class="xgplayer-prompt '.concat(he.CONTROLS_FOLLOW,`">
242    <span class="xgplayer-prompt-detail"></span>
243    </xg-prompt>`)}}],[{key:"pluginName",get:function(){return"prompt"}},{key:"defaultConfig",get:function(){return{interval:3e3,style:{},mode:"arrow",autoHide:!0,detail:{text:"",highlight:""},onClick:function(){}}}}]),t}(gt),bp={time:0,text:"",id:1,duration:1,color:"#fff",style:{},width:6,height:6};function qv(a){Object.keys(bp).map(function(e){a[e]===void 0&&(a[e]=bp[e])})}var Ip={_updateDotDom:function(e,t){if(t){var n=this.calcuPosition(e.time,e.duration),i=e.style||{};i.left="".concat(n.left,"%"),i.width="".concat(n.width,"%"),t.setAttribute("data-text",e.text),t.setAttribute("data-time",e.time),n.isMini?C.addClass(t,"mini"):C.removeClass(t,"mini"),Object.keys(i).map(function(r){t.style[r]=i[r]})}},initDots:function(){var e=this;this._ispots.map(function(t){e.createDot(t,!1)}),this.ispotsInit=!0},createDot:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.player.plugins.progress;if(n&&(t&&(qv(e),this._ispots.push(e)),!(!this.ispotsInit&&t))){var i=this.calcuPosition(e.time,e.duration),r=e.style||{};r.left="".concat(i.left,"%"),r.width="".concat(i.width,"%");var s="xgspot_".concat(e.id," xgplayer-spot");i.isMini&&(s+=" mini");var o=e.template?'<div class="xgplayer-spot-pop">'.concat(e.template,"</div>"):"",l=C.createDom("xg-spot",o,{"data-text":e.text,"data-time":e.time,"data-id":e.id},s);Object.keys(r).map(function(u){l.style[u]=r[u]}),n.outer&&n.outer.appendChild(l),this.positionDot(l,e.id)}},findDot:function(e){if(this.player.plugins.progress){var t=this._ispots.filter(function(n,i){return n.id===e});return t.length>0?t[0]:null}},updateDot:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=this.player.plugins.progress;if(n){var i=this.findDot(e.id);if(i&&Object.keys(e).map(function(s){i[s]=e[s]}),!!this.ispotsInit){var r=n.find('xg-spot[data-id="'.concat(e.id,'"]'));r&&(this._updateDotDom(e,r),t&&this.showDot(e.id))}}},deleteDot:function(e){var t=this._ispots,n=this.player.plugins.progress;if(n){for(var i=[],r=0;r<t.length;r++)t[r].id===e&&i.push(r);for(var s=i.length,o=s-1;o>=0;o--)if(t.splice(i[o],1),this.ispotsInit){var l=n.find('xg-spot[data-id="'.concat(e,'"]'));l&&l.parentElement.removeChild(l)}}},deleteAllDots:function(){var e=this.player.plugins.progress;if(e){if(!this.ispotsInit){this._ispots=[];return}for(var t=e.root.getElementsByTagName("xg-spot"),n=t.length-1;n>=0;n--)e.outer.removeChild(t[n]);this._ispots=[]}},updateAllDots:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=this.player.plugins.progress;if(n){if(!this.ispotsInit){this._ispots=t;return}this._ispots=[];var i=n.root.getElementsByTagName("xg-spot"),r=i.length;if(r>t.length)for(var s=r-1;s>t.length-1;s--)n.outer.removeChild(i[s]);t.forEach(function(o,l){l<r?(i[l].setAttribute("data-id","".concat(o.id)),e._ispots.push(o),e.updateDot(o)):e.createDot(o)})}},positionDots:function(){var e=this,t=this._ispots,n=this.playerSize,i=this.player.sizeInfo,r=this.player.plugins.progress;!r||i.width===n.width||(n.width=i.width,n.left=i.left,t.forEach(function(s){var o=r.find('xg-spot[data-id="'.concat(s.id,'"]'));o&&e.positionDot(o,s.id)}))},positionDot:function(e,t){var n=C.findDom(e,".xgplayer-spot-pop");if(n){var i=this.playerSize,r=e.getBoundingClientRect(),s=n.getBoundingClientRect(),o=r.left-i.left,l=i.width-o-r.width/2;if(o<s.width/2||i.width<s.width){var u=s.width/2-o;n.style.left="".concat(u,"px")}else if(l<s.width/2){var h=l-s.width/2+r.width/2;n.style.left="".concat(h,"px")}else n.style.left="50%"}},updateDuration:function(){var e=this,t=this.player.plugins.progress;if(t){var n=this._ispots;
243n.forEach(function(i){var r=t.find('xg-spot[data-id="'.concat(i.id,'"]'));e._updateDotDom(i,r)})}},getAllDotsDom:function(){var e=this.player.plugins.progress;if(!e)return[];var t=e.root.getElementsByTagName("xg-spot");return t},getDotDom:function(e){var t=this.player.plugins.progress;if(t)return t.find('xg-spot[data-id="'.concat(e,'"]'))}};function iR(a){var e=a.config,t=a.player;Object.keys(Ip).map(function(i){a[i]=Ip[i].bind(a)});var n=t.config.progressDot||e.ispots||[];a._ispots=n.map(function(i){return qv(i),i}),a.ispotsInit=!1,a.playerSize={left:t.sizeInfo.left,width:t.sizeInfo.width},a.on(Vn,function(){a.ispotsInit?a.updateDuration():a.initDots()}),a.on(fr,function(){a.positionDots()})}var os={dragmove:"onProgressMove",dragstart:"onProgressDragStart",dragend:"onProgressDragEnd",click:"onProgressClick",mouseover:"onProgressMouseOver",mouseenter:"onProgressMouseOver"},nR=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),j(W(i),"onMousemove",function(r){if(!i.config.disable){if(C.hasClass(r.target,"xg-spot-content")&&i.config.isHideThumbnailHover){i.player.plugins.progress.onMouseLeave(r);return}(i._state.f||C.hasClass(r.target,"xg-spot-content"))&&(C.event(r),r.stopPropagation())}}),j(W(i),"onMousedown",function(r){i.config.disable||(i._state.f||C.hasClass(r.target,"xg-spot-content"))&&(C.event(r),r.stopPropagation())}),j(W(i),"onMouseup",function(r){if(i.isDrag){var s=i.player.plugins.progress;s&&s.pos&&(s.onMouseUp(r),!s.pos.isEnter&&s.onMouseLeave(r))}}),j(W(i),"onDotMouseLeave",function(r){if(!i.config.disable){i._curDot.removeEventListener("mouseleave",i.onDotMouseLeave),i.blurDot(r.target),i._curDot=null;var s=i.player.plugins.progress;s&&s.enableBlur(),i.show()}}),j(W(i),"onProgressMouseOver",function(r,s){if(!i.config.disable&&C.hasClass(s.target,"xgplayer-spot")&&!i._curDot){i._curDot=s.target,i.focusDot(s.target),i._curDot.children.length>0&&i.hide();var o=i.player.plugins.progress;o&&o.disableBlur(),i._curDot.addEventListener("mouseleave",i.onDotMouseLeave)}}),i._ispots=[],i.videoPreview=null,i.videothumbnail=null,i.thumbnail=null,i.timeStr="",i._state={now:0,f:!1},i}return Le(t,[{key:"beforeCreate",value:function(i){var r=i.player.plugins.progress;r&&(i.root=r.root)}},{key:"afterCreate",value:function(){var i=this;this._curDot=null,this.handlerSpotClick=this.hook("spotClick",function(r,s){s.seekTime&&i.player.seek(s.seekTime)}),this.transformTimeHook=this.hook("transformTime",function(r){i.setTimeContent(C.format(r))}),iR(this),this.on(Vn,function(){i.show()}),this.config.disable&&this.disable(),this.extTextRoot=this.find(".xg-spot-ext-text")}},{key:"setConfig",value:function(i){var r=this;i&&Object.keys(i).map(function(s){r.config[s]=i[s]})}},{key:"onPluginsReady",value:function(){var i=this.player;i.plugins.progress&&(this.previewLine=this.find(".xg-spot-line"),this.timePoint=this.find(".xgplayer-progress-point"),this.timeText=this.find(".xg-spot-time"),this.tipText=this.find(".spot-inner-text"),this._hasThumnail=!1,this.registerThumbnail(),this.bindEvents())}},{key:"bindEvents",value:function(){var i=this,r=this.player.plugins.progress;if(r&&(Object.keys(os).map(function(o){i[os[o]]=i[os[o]].bind(i),r.addCallBack(o,i[os[o]])}),it.device!=="mobile")){this.bind(".xg-spot-info","mousemove",this.onMousemove),this.bind(".xg-spot-info","mousedown",this.onMousedown),this.bind(".xg-spot-info","mouseup",this.onMouseup);var s=this.hook("previewClick",function(){});this.handlerPreviewClick=function(o){o.stopPropagation(),s(parseInt(i._state.now*1e3,10)/1e3,o),r&&r.onMouseUp(o)},this.bind(".xg-spot-content","mouseup",this.handlerPreviewClick)}}},{key:"onProgressMove",value:function(i,r){this.config.disable||!this.player.duration||this.updatePosition(i.offset,i.width,i.currentTime,i.e)}},{key:"onProgressDragStart",value:function(i){this.config.disable||!this.player.duration||(this.isDrag=!0,this.videoPreview&&C.addClass(this.videoPreview,"show"))}},{key:"onProgressDragEnd",value:function(i){this.config.disable||!this.player.duration||(this.isDrag=!1,this.videoPreview&&C.removeClass(this.videoPreview,"show"))}},{key:"onProgressClick",value:function(i,r){this.config.disable||
243C.hasClass(r.target,"xgplayer-spot")&&(r.stopPropagation(),r.preventDefault(),["time","id","text"].map(function(s){i[s]=r.target.getAttribute("data-".concat(s))}),i.time&&(i.time=Number(i.time)),this.handlerSpotClick(r,i))}},{key:"updateLinePos",value:function(i,r){var s=this.root,o=this.previewLine,l=this.player,u=this.config,h=l.controls.mode,d=h==="flex",g=s.getBoundingClientRect().width;if(!(!g&&this._hasThumnail)){g=this._hasThumnail&&g<u.width?u.width:g;var m=i-g/2,v;m<0&&!d?(m=0,v=i-g/2):m>r-g&&!d?(v=m-(r-g),m=r-g):v=0,v!==void 0&&(o.style.transform="translateX(".concat(v.toFixed(2),"px)")),s.style.transform="translateX(".concat(m.toFixed(2),"px) translateZ(0)")}}},{key:"updateTimeText",value:function(i){var r=this.timeText,s=this.timePoint;r.innerHTML=i,!this.thumbnail&&(s.innerHTML=i)}},{key:"updatePosition",value:function(i,r,s,o){var l=this.root,u=this.config,h=this._state;if(l){h.now=s,this.transformTimeHook(s);var d=this.timeStr;o&&o.target&&C.hasClass(o.target,"xgplayer-spot")?(this.showTips(o.target.getAttribute("data-text"),!1,d),this.focusDot(o.target),h.f=!0,u.isFocusDots&&h.f&&(h.now=parseInt(o.target.getAttribute("data-time"),10))):u.defaultText?(h.f=!1,this.showTips(u.defaultText,!0,d)):(h.f=!1,this.hideTips("")),this.updateTimeText(d),this.updateThumbnails(h.now),this.updateLinePos(i,r)}}},{key:"setTimeContent",value:function(i){this.timeStr=i}},{key:"updateThumbnails",value:function(i){var r=this.player,s=this.videoPreview,o=this.config,l=r.plugins.thumbnail;if(l&&l.usable){this.thumbnail&&l.update(this.thumbnail,i,o.width,o.height);var u=s&&s.getBoundingClientRect();this.videothumbnail&&l.update(this.videothumbnail,i,u.width,u.height)}}},{key:"registerThumbnail",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(it.device!=="mobile"){var r=this.player,s=this.config,o=r.getPlugin("thumbnail");if(o&&o.setConfig(i),!o||!o.usable||!s.isShowThumbnail){C.addClass(this.root,"short-line no-thumbnail");return}else C.removeClass(this.root,"short-line no-thumbnail");s.mode==="short"&&C.addClass(this.root,"short-line"),this._hasThumnail=!0;var l=this.find(".xg-spot-thumbnail");this.thumbnail=o.createThumbnail(l,"progress-thumbnail"),s.isShowCoverPreview&&(this.videoPreview=C.createDom("xg-video-preview","",{},"xgvideo-preview"),r.root.appendChild(this.videoPreview),this.videothumbnail=o.createThumbnail(this.videoPreview,"xgvideo-thumbnail")),this.updateThumbnails(0)}}},{key:"calcuPosition",value:function(i,r){var s=this.player.plugins.progress,o=this.player,l=s.root.getBoundingClientRect().width,u=o.duration/l*6;return i+r>o.duration&&(r=o.duration-i),i/o.duration*100,r/o.duration,{left:i/o.duration*100,width:r/o.duration*100,isMini:r<u}}},{key:"showDot",value:function(i){var r=this.findDot(i);if(r){var s=this.root.getBoundingClientRect(),o=s.width,l=r.time/this.player.duration*o;this.updatePosition(l,o,r.time)}}},{key:"focusDot",value:function(i,r){i&&(r||(r=i.getAttribute("data-id")),C.addClass(i,"active"),this._activeDotId=r)}},{key:"blurDot",value:function(i){if(!i){var r=this._activeDotId;i=this.getDotDom(r)}i&&(C.removeClass(i,"active"),this._activeDotId=null)}},{key:"showTips",value:function(i,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";C.addClass(this.root,"no-timepoint"),i&&(C.addClass(this.find(".xg-spot-content"),"show-text"),r&&this.config.mode==="production"?(C.addClass(this.root,"product"),this.tipText.textContent=i):(C.removeClass(this.root,"product"),this.tipText.textContent=this._hasThumnail?i:"".concat(s," ").concat(i)))}},{key:"hideTips",value:function(){C.removeClass(this.root,"no-timepoint"),this.tipText.textContent="",C.removeClass(this.find(".xg-spot-content"),"show-text"),C.removeClass(this.root,"product")}},{key:"hide",value:function(){C.addClass(this.root,"hide")}},{key:"show",value:function(i){C.removeClass(this.root,"hide")}},{key:"enable",value:function(){var i=this.config,r=this.playerConfig;this.config.disable=!1,this.show(),!this.thumbnail&&i.isShowThumbnail&&this.registerThumbnail(r.thumbnail||{})}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){var i=this,r=this.player.plugins.progress;r&&Object.keys(os).map(function(s){r.removeCallBack(s,i[os[s]])}),this.videothumbnail=null,this.thumbnail=null,this.videoPreview&&this.player.root.removeChild(this.videoPreview),this.unbind(".xg-spot-info","mousemove",this.onMousemove),this.unbind(".xg-spot-info","mousedown",this.onMousedown),this.unbind(".xg-spot-info","mouseup",this.onMouseup),this.unbind(".xg-spot-content","mouseup",this.handlerPreviewClick)}},{key:"render",value:function(){return it.device==="mobile"||this.playerConfig.isMobileSimulateMode==="mobile"?"":'<div class="xg-spot-info hide '.concat(this.config.mode==="short"?"short-line":"",`">
244      <div class="xg-spot-content">
245        <div class="xg-spot-thumbnail">
246          <span class="xg-spot-time"></span>
247        </div>
248        <div class="xg-spot-text"><span class="spot-inner-text"></span></div>
249      </div>
250      <div class="xgplayer-progress-point">00:00</div>
251      <div class="xg-spot-ext-text"></div>
252      <div class="xg-spot-line"></div>
253    </div>`)}}],[{key:"pluginName",get:function(){return"progresspreview"}},{key:"defaultConfig",get:function(){return{index:1,miniWidth:6,ispots:[],defaultText:"",isFocusDots:!0,isHideThumbnailHover:!0,isShowThumbnail:!0,isShowCoverPreview:!1,mode:"",disable:!1,width:160,height:90}}}]),t}(gt),rR=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this,n),i.ratio=1,i.interval=null,i._preloadMark={},i}return Le(t,[{key:"afterCreate",value:function(){var i=this;this.usable&&this.initThumbnail(),this.on([Vn],function(){var r=i.config,s=r.pic_num,o=r.interval;i.usable&&(i.interval=o>0?o:Math.round(i.player.duration*1e3/s)/1e3)})}},{key:"setConfig",value:function(i){var r=this;if(i){var s=Object.keys(i);s.length<1||(s.forEach(function(o){r.config[o]=i[o]}),this.usable&&this.initThumbnail())}}},{key:"usable",get:function(){var i=this.config,r=i.urls,s=i.pic_num;return r&&r.length>0&&s>0}},{key:"initThumbnail",value:function(){var i=this.config,r=i.width,s=i.height,o=i.pic_num,l=i.interval;this.ratio=r/s*100,this.interval=l||Math.round(this.player.duration/o),this._preloadMark={}}},{key:"getUrlByIndex",value:function(i){return i>=0&&i<this.config.urls.length?this.config.urls[i]:""}},{key:"preload",value:function(i){var r=this;if(!this._preloadMark[i]){var s=this.config.urls,o=s.length,l=[];i>0&&l.push(i-1),l.push(i),i>0&&i<o-1&&l.push(i+1),l.map(function(u){!r._preloadMark[u]&&u>=0&&u<o&&(r._preloadMark[u]=1,C.preloadImg(s[u],function(){r._preloadMark[u]=2}))})}}},{key:"getPosition",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=this.config,l=o.pic_num,u=o.row,h=o.col,d=o.width,g=o.height;this.interval=Math.round(this.player.duration/l);var m=Math.ceil(i/this.interval);m=m>l?l:m;var v=m<u*h?0:Math.ceil(m/(u*h))-1,T=m-v*(h*u),y=T>0?Math.ceil(T/h)-1:0,_=T>0?T-y*h-1:0,x=0,b=0;if(r&&s){var R=r/s;R<d/g?(b=s,x=b*(d/g)):(x=r,b=x/(d/g))}else s?r||(b=s||g,x=b*(d/g)):(x=r||d,b=x/(d/g));var A=this.getUrlByIndex(v);return{urlIndex:v,rowIndex:y,colIndex:_,url:A,height:b,width:x,style:{backgroundImage:"url(".concat(A,")"),backgroundSize:"".concat(x*h,"px auto"),backgroundPosition:"-".concat(_*x,"px -").concat(y*b,"px"),width:"".concat(x,"px"),height:"".concat(b,"px")}}}},{key:"update",value:function(i,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",u=this.config,h=u.pic_num,d=u.urls;if(!(h<=0||!d||d.length===0)){var g=this.getPosition(r,s,o);this.preload(g.urlIndex),Object.keys(g.style).map(function(m){i.style[m]=g.style[m]}),Object.keys(l).map(function(m){i.style[m]=l[m]})}}},{key:"changeConfig",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.setConfig(i)}},{key:"createThumbnail",value:function(i,r){var s=C.createDom("xg-thumbnail","",{},"thumbnail ".concat(r));return i&&i.appendChild(s),s}}],[{key:"pluginName",get:function(){return"thumbnail"}},{key:"defaultConfig",get:function(){return{isShow:!1,urls:[],pic_num:0,col:0,row:0,height:90,width:160,scale:1,className:"",hidePortrait:!1}}}]),t}(gt);function sc(a){return a?"background:".concat(a,";"):""}var sR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onTimeupdate",function(){var o=n.player.ended,l=W(n),u=l.offsetDuration,h=n.currentTime;h=C.adjustTimeByDuration(h,u,o),n.update({played:h},u)}),n}return Le(t,[{key:"offsetDuration",get:function(){return this.playerConfig.customDuration||this.player.offsetDuration||this.player.duration}},{key:"currentTime",get:function(){var i=this.player,r=i.offsetCurrentTime,s=i.currentTime;return r>=0?r:s}},{key:"afterCreate",value:function(){var i=this;this.root&&(this.on(Bi,this.onTimeupdate),this.on($r,function(){i.reset()}))}},{key:"reset",value:function(){this.update({played:0,cached:0},0)}},{key:"update",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{cached:0,played:0},r=arguments.length>1?arguments[1]:void 0;!r||!this.root||(i.cached&&(this.find("xg-mini-progress-cache").style.width="".concat(i.cached/r*100,"%")),i.played&&(this.find("xg-mini-progress-played").style.width="".concat(i.played/r*100,"%")))}},{key:"render",value:function(){var i=this.playerConfig,r=i.commonStyle,s=i.miniprogress;if(s){var o=this.config,l=o.mode,u=o.height,h={cached:sc(r.cachedColor),played:sc(r.playedColor),progress:sc(r.progressColor),height:u>0&&u!==2?"height: ".concat(u,"px;"):""}
253,d=l==="show"?"xg-mini-progress-show":"";return'<xg-mini-progress class="xg-mini-progress '.concat(d,'" style="').concat(h.progress," ").concat(h.height,`">
254    <xg-mini-progress-cache class="xg-mini-progress-cache" style="`).concat(h.cached,`"></xg-mini-progress-cache>
255    <xg-mini-progress-played class="xg-mini-progress-played" style="`).concat(h.played,`"></xg-mini-progress-played>
256    </xg-mini-progress>`)}}}],[{key:"pluginName",get:function(){return"MiniProgress"}},{key:"defaultConfig",get:function(){return{mode:"auto",height:2}}}]),t}(gt),ls={REAL_TIME:"realtime",FIRST_FRAME:"firstframe",POSTER:"poster"};function aR(){try{return parseInt(window.performance.now(),10)}catch{return new Date().getTime()}}function oR(){try{var a=document.createElement("canvas").getContext;return!!a}catch{return!1}}var _o=null,lR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onLoadedData",function(o){n.player&&(n._frameCount=n.config.startFrameCount,n.stop(),n.renderOnTimeupdate(o),n.off(Bi,n.renderOnTimeupdate),n.on(Bi,n.renderOnTimeupdate))}),j(W(n),"onVisibilitychange",function(o){document.visibilityState==="visible"?n._checkIfCanStart()&&n.start():document.visibilityState==="hidden"&&n.stop()}),j(W(n),"renderOnTimeupdate",function(o){if(n._frameCount>0)n.renderOnce(),n._frameCount--;else{n._isLoaded=!0,n.off(Bi,n.renderOnTimeupdate);var l=n.config.startInterval;!n.player.paused&&n._checkIfCanStart()&&n.start(0,l)}}),j(W(n),"start",function(o,l){var u=n.player.video,h=aR(),d=n.checkVideoIsSupport(u);!d||!n.canvasCtx||(l||(l=n.interval),n.stop(),u.videoWidth&&u.videoHeight&&(n.videoPI=u.videoHeight>0?parseInt(u.videoWidth/u.videoHeight*100,10):0,(n.config.mode===ls.REAL_TIME||h-n.preTime>=l)&&(u&&u.videoWidth&&n.update(d,n.videoPI),n.preTime=h)),n.frameId=n._loopType==="timer"?C.setTimeout(W(n),n.start,l):C.requestAnimationFrame(n.start))}),j(W(n),"stop",function(){n.frameId&&(n._loopType==="timer"?C.clearTimeout(W(n),n.frameId):C.cancelAnimationFrame(n.frameId),n.frameId=null)}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this;this.playerConfig.dynamicBg===!0&&(this.config.disable=!1),t.isSupport||(this.config.disable=!0);var r=this.config,s=r.disable,o=r.mode,l=r.frameRate;s||(this._pos={width:0,height:0,rwidth:0,rheight:0,x:0,y:0,pi:0},this.isStart=!1,this._isLoaded=!1,this.videoPI=0,this.preTime=0,this.interval=parseInt(1e3/l,10),this.canvas=null,this.canvasCtx=null,this._frameCount=0,this._loopType=this.config.mode!==ls.REAL_TIME&&this.interval>=1e3?"timer":"animation",this.once(xl,function(){i.player&&(i.init(),i.renderByPoster(),i.player.paused||i.start())}),o!==ls.POSTER&&(o!==ls.FIRST_FRAME&&(this.on($r,function(){i.stop()}),this.on($i,function(){var u=i.config.startInterval;i._checkIfCanStart()&&i.start(0,u)}),this.on(Rs,function(){i.stop()})),this.on(Hn,this.onLoadedData),this.on(Ih,function(){i._isLoaded=!1,i.stop()}),document.addEventListener("visibilitychange",this.onVisibilitychange)))}},{key:"setConfig",value:function(i){var r=this;
256Object.keys(i).forEach(function(s){s==="root"&&i[s]!==r.config[s]?r.reRender(i[s]):s==="frameRate"?r.interval=parseInt(1e3/i[s],10):s==="disable"&&i[s]&&r.stop(),r.config[s]=i[s]})}},{key:"init",value:function(i){var r=this.player,s=this.config;this.canvasFilter=t.supportCanvasFilter();try{var o=i||s.root;o||(o=s.isInnerRender&&r.innerContainer||r.root),o.insertAdjacentHTML("afterbegin",'<div class="xgplayer-dynamic-bg" data-index="'.concat(s.index,`"><canvas>
257        </canvas><xgmask></xgmask></div>`)),this.root=o.children[0],this.canvas=this.find("canvas"),this.canvasFilter||(this.canvas.style.filter=s.filter,this.canvas.style.webkitFilter=s.filter),this.mask=this.find("xgmask"),s.addMask&&(this.mask.style.background=s.maskBg),this.canvasCtx=this.canvas.getContext("2d")}catch(l){lt.logError("plugin:DynamicBg",l)}}},{key:"reRender",value:function(i){var r=this.config.disable;if(!(!r&&!this.root)){this.stop();var s=this.root?this.root.parentElement:null;if(s!==i&&s.removeChild(this.root),!i){this.root=null;return}this.init(i),this.renderOnce();var o=this.config.startInterval;this._checkIfCanStart()&&this.start(0,o)}}},{key:"checkVideoIsSupport",value:function(i){if(!i)return null;var r=i&&i instanceof window.HTMLVideoElement?i:i.canvas?i.canvas:i.flyVideo?i.flyVideo:null;if(r&&!(it.browser==="safari"&&C.isMSE(r)))return r;var s=r?r.tagName.toLowerCase():"";return s==="canvas"||s==="img"?r:null}},{key:"renderByPoster",value:function(){var i=this.playerConfig.poster;if(i){var r=C.typeOf(i)==="String"?i:C.typeOf(i.poster)==="String"?i.poster:null;this.updateImg(r)}}},{key:"_checkIfCanStart",value:function(){var i=this.config.mode;return this._isLoaded&&!this.player.paused&&i!==ls.FIRST_FRAME&&i!==ls.POSTER}},{key:"renderOnce",value:function(){var i=this.player.video;if(!(!i.videoWidth||!i.videoHeight)){this.videoPI=parseInt(i.videoWidth/i.videoHeight*100,10);var r=this.checkVideoIsSupport(i);r&&this.update(r,this.videoPI)}}},{key:"updateImg",value:function(i){var r=this;if(i){var s=this.canvas.getBoundingClientRect(),o=s.width,l=s.height,u=new window.Image;u.onload=function(){if(!(!r.canvas||r.frameId||r.isStart)){r.canvas.height=l,r.canvas.width=o;var h=parseInt(o/l*100,10);r.update(u,h),u=null}},u.src=i}}},{key:"update",value:function(i,r){if(!(!this.canvas||!this.canvasCtx||!r))try{var s=this._pos,o=this.config,l=this.canvas.getBoundingClientRect(),u=l.width,h=l.height;if(u!==s.width||h!==s.height||s.pi!==r){var d=parseInt(u/h*100,10);s.pi=r,s.width!==u&&(s.width=this.canvas.width=u),s.height!==h&&(s.height=this.canvas.height=h);var g=h,m=u;d<r?m=parseInt(h*r/100,10):d>r&&(g=parseInt(u*100/r,10)),s.rwidth=m*o.multiple,s.rheight=g*o.multiple,s.x=(u-s.rwidth)/2,s.y=(h-s.rheight)/2}this.canvasFilter&&(this.canvasCtx.filter=o.filter),this.canvasCtx.drawImage(i,s.x,s.y,s.rwidth,s.rheight)}catch(v){lt.logError("plugin:DynamicBg",v)}}},{key:"destroy",value:function(){this.stop(),document.removeEventListener("visibilitychange",this.onVisibilitychange),this.canvasCtx=null,this.canvas=null}},{key:"render",value:function(){return""}}],[{key:"pluginName",get:function(){return"dynamicBg"}},{key:"defaultConfig",get:function(){return{isInnerRender:!1,disable:!0,index:-1,mode:"framerate",frameRate:10,filter:"blur(50px)",startFrameCount:2,startInterval:0,addMask:!0,multiple:1.2,maskBg:"rgba(0,0,0,0.7)"}}},{key:"isSupport",get:function(){return typeof _o=="boolean"||(_o=oR()),_o}},{key:"supportCanvasFilter",value:function(){return!(it.browser==="safari"||it.browser==="firefox")}}]),t}(gt),uR={LANG:"zh-cn",TEXT:{ERROR_TYPES:{network:{code:1,msg:"视频下载错误"},mse:{code:2,msg:"流追加错误"},parse:{code:3,msg:"解析错误"},format:{code:4,msg:"格式错误"},decoder:{code:5,msg:"解码错误"},runtime:{code:6,msg:"语法错误"},timeout:{code:7,msg:"播放超时"},other:{code:8,msg:"其他错误"}},HAVE_NOTHING:"没有关于音频/视频是否就绪的信息",HAVE_METADATA:"音频/视频的元数据已就绪",HAVE_CURRENT_DATA:"关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒",HAVE_FUTURE_DATA:"当前及至少下一帧的数据是可用的",HAVE_ENOUGH_DATA:"可用数据足以开始播放",NETWORK_EMPTY:"音频/视频尚未初始化",NETWORK_IDLE:"音频/视频是活动的且已选取资源,但并未使用网络",NETWORK_LOADING:"浏览器正在下载数据",NETWORK_NO_SOURCE:"未找到音频/视频来源",MEDIA_ERR_ABORTED:"取回过程被用户中止",MEDIA_ERR_NETWORK:"网络错误",MEDIA_ERR_DECODE:"è§£ç 
257é”™è¯¯",MEDIA_ERR_SRC_NOT_SUPPORTED:"不支持的音频/视频格式",REPLAY:"重播",ERROR:"网络连接似乎出现了问题",PLAY_TIPS:"播放",PAUSE_TIPS:"暂停",PLAYNEXT_TIPS:"下一集",DOWNLOAD_TIPS:"下载",ROTATE_TIPS:"旋转",RELOAD_TIPS:"重新载入",FULLSCREEN_TIPS:"进入全屏",EXITFULLSCREEN_TIPS:"退出全屏",CSSFULLSCREEN_TIPS:"进入样式全屏",EXITCSSFULLSCREEN_TIPS:"退出样式全屏",TEXTTRACK:"字幕",PIP:"画中画",SCREENSHOT:"截图",LIVE:"正在直播",OFF:"关闭",OPEN:"开启",MINI_DRAG:"点击按住可拖动视频",MINISCREEN:"小屏幕",REFRESH_TIPS:"请试试",REFRESH:"刷新",FORWARD:"快进中",LIVE_TIP:"直播"}},Js="info",ac=Fv,cR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_recordUserActions",function(o){var l=n._getTime(),u=Object.assign({},o,{msg:o.msg||o.action});n._stats[Js].push(wt(wt({type:"userAction"},l),{},{payload:u}))}),j(W(n),"_onReset",function(){n.reset()}),j(W(n),"_recordInfo",function(o){n.info(o)}),j(W(n),"_downloadStats",function(){var o=n.getStats(),l=new Blob([JSON.stringify(o)],{type:"application/json"}),u=window.URL.createObjectURL(l),h=document.createElement("a");h.style.display="none",h.href=u,h.download="player.txt",h.disabled=!1,h.click()}),n}return Le(t,[{key:"_getTime",value:function(){return{timestamp:Date.now(),timeFormat:new Date().toISOString()}}},{key:"afterCreate",value:function(){this.reset(),this.on(il,this._recordUserActions),this.on(ac.STATS_INFO,this._recordInfo),this.on(ac.STATS_DOWNLOAD,this._downloadStats),this.on(ac.STATS_RESET,this._onReset)}},{key:"destroy",value:function(){this.offAll()}},{key:"downloadStats",value:function(){this._downloadStats()}},{key:"info",value:function(i){i.profile?this._infoProfile(i):this._info(i)}},{key:"_info",value:function(i){var r=this._getTime();this._stats[Js].push(wt(wt({},r),{},{payload:i}))}},{key:"_infoProfile",value:function(i){if(i&&i.startMs){var r=Date.now(),s=r-i.startMs,o=wt({cat:"function",dur:s,name:i.name||i.msg,ph:"X",pid:0,tid:0,ts:i.startMs,profile:!0},i);this._info(o)}else console.warn("infoProfile need object data, include startMs")}},{key:"reset",value:function(){var i;this._stats=(i={},j(i,Js,[]),j(i,"media",{}),i)}},{key:"getStats",value:function(){for(var i=this.player,r=i.media,s=[],o=0;o<r.buffered.length;o++)s.push({start:r.buffered.start(o),end:r.buffered.end(o)});var l={currentTime:r.currentTime,readyState:r.readyState,buffered:s,paused:r.paused,ended:r.ended};return this._stats.media=l,{raw:this._stats,timestat:this._getTimeStats(),profile:this._getProfile()}}},{key:"_getTimeStats",value:function(){var i=this._stats[Js],r=i.map(function(s){var o=s.payload.data,l="";try{o instanceof Error?l=o.msg:o!==void 0&&(l=JSON.stringify(o))}catch(u){console.log("err",u)}return"[".concat(s.timeFormat,"] : ").concat(s.payload.msg," ").concat(l," ")});return r}},{key:"_getProfile",value:function(){var i={traceEvents:[]},r=this._stats[Js];return r.forEach(function(s){s.payload.profile&&i.traceEvents.push(s.payload)}),i}}],[{key:"pluginName",get:function(){return"stats"}},{key:"defaultConfig",get:function(){return{}}}]),t}(dr),Xv=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onGapJump",function(){var o=W(n),l=o.player,u=o.config;if(l.media.readyState!==HTMLMediaElement.HAVE_NOTHING){if(l.media.seeking){if(!n.seekingEventReceived)return}else n.seekingEventReceived=!1;if(!(l.media.paused&&l.media.currentTime!==0&&n.hasPlayed)){var h=l.media.buffered,d=u.smallGapLimit||.5,g=u.gapDetectionThreshold||.3,m=l.media.currentTime,v=n._getIndex(h,m,g);if(!(v===null||v===0)){console.log("GapJump  bufferRange ",h.start(v),h.end(v));var T=h.start(v)+.1,y=l.media.duration;if(!(T>y)){var _=T-m,x=_<=d;_<t.BROWSER_GAP_TOLERANCE||x&&(u.useGapJump!==!1&&(l.media.currentTime=n.isSafari?T+.1:T),n.player&&n.player.emit("detectGap"),console.log("gapJump gapIndex",v," isGapSamll:",x," currentTime:",l.media.currentTime," jumpSize:",m-l.media.currentTime),T!==.08&&l&&l.emit("log",{type:"oneevent",end_type:"gap",vid:l.config.vid,ext:{video_postion:Math.floor(T*1e3)}}))}}}}}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this,r=this.config.useGapJump;r!==!1&&(this.hasPlayed=!1,this.seekingEventReceived=!1,this.isSafari=/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),this.on(xa,this.onGapJump),this.on($i,function(){i.hasPlayed=!0}),this.on(_l,function(){i.seekingEventReceived=!0}
257))}},{key:"_getIndex",value:function(i,r,s){if(!i||!i.length||i.length===1&&i.end(0)-i.start(0)<1e-6)return null;for(var o=this._getBuffered(i),l=null,u=0;u<o.length;u++){var h=o[u];if(h.start>r&&(u===0||o[u-1].end-r<=s)){l=u;break}}return l}},{key:"_getBuffered",value:function(i){if(!i)return[];for(var r=[],s=0;s<i.length;s++)r.push({start:i.start(s),end:i.end(s)});return r}}],[{key:"pluginName",get:function(){return"gapJump"}},{key:"defaultConfig",get:function(){return{useGapJump:!1,smallGapLimit:.5,gapDetectionThreshold:.3}}}]),t}(gt);Xv.BROWSER_GAP_TOLERANCE=.001;var hR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"onWaiting",function(){var o=W(n),l=o.config;n.jumpCnt>l.jumpCntMax||n.timer||l.useWaitingTimeoutJump===!1||(n.timer=setTimeout(n.onJump,l.waitingTime*1e3))}),j(W(n),"onJump",function(){var o=W(n),l=o.player,u=o.config;if(clearTimeout(n.timer),n.timer=null,!(n.jumpCnt>u.jumpCntMax||u.useWaitingTimeoutJump===!1)&&!(l.media.paused&&l.media.currentTime!==0&&n.hasPlayed)){n.jumpSize=u.jumpSize*(n.jumpCnt+1),n.jumpCnt===u.jumpSize&&n.jumpSize<6&&(n.jumpSize=6);var h=l.currentTime+n.jumpSize,d=l.media.duration;h>d||(n.jumpCnt++,l.currentTime=h)}}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this,r=this.config,s=r.useWaitingTimeoutJump,o=r.jumpSize;s!==!1&&(this.hasPlayed=!1,this.jumpCnt=0,this.timer=null,this.jumpSize=o,this.on(xa,this.onWaiting),this.on([bh,$n],function(){clearTimeout(i.timer),i.timer=null,i.jumpSize=i.config.jumpSize}),this.on($i,function(){i.hasPlayed=!0}))}}],[{key:"pluginName",get:function(){return"waitingTimeoutJump"}},{key:"defaultConfig",get:function(){return{useWaitingTimeoutJump:!1,waitingTime:15,jumpSize:2,jumpCntMax:4}}}]),t}(gt),us="cdn",So=["cdn"],fR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"getSpeed",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:us;if(!n.speedListCache||!n.speedListCache[o]||n.speedListCache[o].length<=0)return 0;var l=0;return n.speedListCache[o].map(function(u){l+=u}),Math.floor(l/n.speedListCache[o].length)}),j(W(n),"startTimer",function(){C.isMSE(n.player.video)||(n.initSpeedList(),n.cnt=0,n.timer=setTimeout(n.testSpeed,n.config.testTimeStep))}),j(W(n),"initSpeedList",function(){n.speedListCache={},So.forEach(function(o){n.speedListCache[o]=[]})}),j(W(n),"_onRealSpeedChange",function(o){o.speed&&n.appendList(o.speed,o.type||us)}),j(W(n),"testSpeed",function(){if(clearTimeout(n.timer),n.timer=null,!(!n.player||!n.config.openSpeed)){var o=n.config,l=o.url,u=o.loadSize,h=o.testCnt,d=o.testTimeStep,g=l+(l.indexOf("?")<0?"?testst=":"&testst=")+Date.now();if(!(n.cnt>=h)){n.cnt++;try{var m=new Date().getTime(),v=null,T=new XMLHttpRequest;n.xhr=T,T.open("GET",g);var y={},_=Math.floor(Math.random()*10);y.Range="bytes="+_+"-"+(u+_),y&&Object.keys(y).forEach(function(x){T.setRequestHeader(x,y[x])}),T.onreadystatechange=function(){if(T.readyState===4){n.xhr=null,v=new Date().getTime();var x=T.getResponseHeader("Content-Length")/1024*8,b=Math.round(x*1e3/(v-m));n.appendList(b),n.timer=setTimeout(n.testSpeed,d)}},T.send()}catch(x){console.error(x)}}}}),j(W(n),"appendList",function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:us;if(!(!n.speedListCache||!n.speedListCache[l])){var u=n.config.saveSpeedMax;n.speedListCache[l].length>=u&&n.speedListCache[l].shift(),n.speedListCache[l].push(o);var h=W(n),d=h.player;d&&(l===us?d.realTimeSpeed=o:d[n.getSpeedName("realTime",l)]=o),n.updateSpeed(l)}}),j(W(n),"updateSpeed",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:us,l=n.getSpeed(o),u=W(n),h=u.player;if(h)if(o===us)(!h.avgSpeed||l!==h.avgSpeed)&&(h.avgSpeed=l,h.emit(Gc,{speed:l,realTimeSpeed:h.realTimeSpeed}));else{var d=n.getSpeedName("avg",o);(!h[d]||l!==h[d])&&(h[d]=l,h.emit(Gc,{speed:l,realTimeSpeed:h.realTimeSpeed}))}}),n}return Le(t,[{key:"afterCreate",value:function(){var i=this.config,r=i.openSpeed,s=i.addSpeedTypeList;(s==null?void 0:s.length)>0&&So.push.apply(So,ln(s)),this.initSpeedList(),this.on("real_time_speed",this._onRealSpeedChange),this.timer=null,this.cnt=0,this.xhr=null,r&&this.on([Hn,Zo],this.startTimer)}},{key:"getSpeedName",value:function(i,r){return i+"Speed"+r.toUpperCase()}},{key:"openSpeed",get:function(){return this.config.openSpeed},set:function(i){if(this.config.openSpeed=i,!i&&this.timer){clearTimeout(this.timer),this.timer=null;return}if(this.config.openSpeed){if(this.timer)return;this.timer=setTimeout(this.testSpeed,this.config.testTimeStep)}}},{key:"destroy",value:function(){var i=this;this.off("real_time_speed",this._onRealSpeedChange),this.off([Hn,Zo],this.startTimer),So.forEac
257h(function(r){i.speedListCache&&i.speedListCache[r]&&(i.speedListCache[r]=[])}),this.speedListCache&&(this.speedListCache={}),clearTimeout(this.timer),this.timer=null,this.xhr&&this.xhr.readyState!==4&&(this.xhr.cancel&&this.xhr.cancel(),this.xhr=null)}}],[{key:"pluginName",get:function(){return"testspeed"}},{key:"defaultConfig",get:function(){return{openSpeed:!1,testCnt:3,loadSize:200*1024,testTimeStep:3e3,url:"",saveSpeedMax:5,addSpeedTypeList:[]}}}]),t}(gt),dR=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t,[{key:"afterCreate",value:function(){var i=this,r=this.player,s=this.config,o=r.media||r.video;if(this.timer=null,this._lastDecodedFrames=0,this._currentStuckCount=0,this._lastCheckPoint=null,this._payload=[],!s.disabled){var l=o.getVideoPlaybackQuality;l&&(this.on($i,function(){i._startTick()}),this.on(Rs,function(){i._stopTick()}),this.on(Ur,function(){i._stopTick()}),this.on($r,function(){i._stopTick()}))}}},{key:"_startTick",value:function(){var i=this;this._stopTick(),this._timer=setTimeout(function(){i._checkDecodeFPS(),i._startTick()},this.config.tick)}},{key:"_stopTick",value:function(){clearTimeout(this._timer),this._timer=null}},{key:"_checkBuffer",value:function(i,r){for(var s=!1,o=[],l=0;l<r.length;l++){var u=r.start(l),h=r.end(l);if(o.push({start:u,end:h}),u<=i&&i<=h-1){s=!0;break}}return{enoughBuffer:s,buffers:o}}},{key:"_checkStuck",value:function(i,r,s,o){var l=this.player.media||this.player.video,u=document.hidden,h=l.paused,d=l.readyState,g=l.currentTime,m=l.buffered;if(!(u||h||d<4)){var v=this._checkBuffer(g,m),T=v.enoughBuffer,y=v.buffers;T&&(i<=this.config.reportFrame?(this._currentStuckCount++,this._payload.push({currentTime:g,buffers:y,curDecodedFrames:i,totalVideoFrames:r,droppedVideoFrames:s,checkInterval:o}),this._currentStuckCount>
257=this.config.stuckCount&&(this.emit(Nv,this._payload),this._reset())):this._reset())}}},{key:"_reset",value:function(){this._payload=[],this._currentStuckCount=0}},{key:"_checkDecodeFPS",value:function(){var i=this.player.media||this.player.video;if(i){var r=i.getVideoPlaybackQuality(),s=r.totalVideoFrames,o=r.droppedVideoFrames,l=performance.now();if(s&&this._lastCheckPoint){var u=s-this._lastDecodedFrames,h=l-this._lastCheckPoint;this._checkStuck(u,s,o,h)}this._lastDecodedFrames=s,this._lastCheckPoint=l}}},{key:"destroy",value:function(){this._stopTick()}}],[{key:"pluginName",get:function(){return"FpsDetect"}},{key:"defaultConfig",get:function(){return{disabled:!1,tick:1e3,stuckCount:3,reportFrame:0}}}]),t}(gt);ys.use(uR);var gR=Le(function a(e,t){var n,i,r;Ce(this,a);var s=t&&t.isMobileSimulateMode==="mobile",o=t.isLive,l=o?[]:[ML,Wv,sR,nR,Yv],u=[].concat(l,[Kv,Vv,NL,HL,ZL,JL,jL,qL,zv,$L]),h=[vL,yL,EL,OL,_L,eR,tR,rR,IL];this.plugins=[cR,pL].concat(ln(u),h,[Xv,hR]);var d=s?"mobile":it.device;switch(d){case"pc":(n=this.plugins).push.apply(n,[Sp,nc,Kc,fR,dR]);break;case"mobile":(i=this.plugins).push.apply(i,[wL]);break;default:(r=this.plugins).push.apply(r,[Sp,nc,Kc])}(it.os.isIpad||d==="pc")&&this.plugins.push(lR),it.os.isIpad&&this.plugins.push(nc),this.ignores=[],this.i18n=[]}),si=function(a){Fe(t,a);var e=Ne(t);function t(){return Ce(this,t),e.apply(this,arguments)}return Le(t)}(Al);j(si,"defaultPreset",gR);j(si,"Util",C);j(si,"Sniffer",it);j(si,"Errors",Qo);j(si,"Events",FC);j(si,"Plugin",gt);j(si,"BasePlugin",dr);j(si,"I18N",ys);j(si,"STATE_CLASS",he);j(si,"InstManager",Hv);j(si,"PlayIcon",Kv);j(si,"TimeIcon",Yv);j(si,"Progress",Wv);j(si,"FullscreenIcon",Vv);j(si,"CssFullscreenIcon",Kc);j(si,"VolumeIcon",zv);function Ap(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,n)}return t}function Es(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ap(Object(t),!0).forEach(function(n){ar(a,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):Ap(Object(t)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))})}return a}function da(a){"@babel/helpers - typeof";return da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},da(a)}function ba(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function Cp(a,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(a,Zv(n.key),n)}}function Ia(a,e,t){return e&&Cp(a.prototype,e),t&&Cp(a,t),Object.defineProperty(a,"prototype",{writable:!1}),a}function ar(a,e,t){return e=Zv(e),e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function pR(a,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&Wc(a,e)}function _n(a){return _n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_n(a)}function Wc(a,e){return Wc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Wc(a,e)}function mR(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function pn(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function Qv(a,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pn(a)}function vR(a){var e=mR();return function(){var n=_n(a),i;if(e){var r=_n(this).constructor;i=Reflect.construct(n,arguments,r)}else i=n.apply(this,arguments);return Qv(this,i)}}function yR(a,e){for(;!Object.prototype.hasOwnProperty.call(a,e)&&(a=_n(a),a!==null););return a}function cr(){return typeof Reflect<"u"&&Reflect.get?cr=Reflect.get.bind():cr=function(e,t,n){var i=yR(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},cr.apply(this,arguments)}function TR(a,e){if(typeof a!="object"||a===null)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var n=t.call(a,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function Zv(a){var e=TR(a,"string");return typeof e=="symbol"?e:String(e)}var oc=/^WEBVTT/i,ER=/^STYLE+$/,_R=/^\:\:cue/,SR=/^}+$/,Lp=/^\[Script Info\].*/,Rp=[/[0-9]{1,3}:[0-9]{2}:[0-9]{2}\.[0-9]{1,3}-->
257[0-9]{1,3}:[0-9]{2}:[0-9]{2}\.[0-9]{1,3}/,/[0-9]{1,3}:[0-9]{2}\.[0-9]{1,3}-->[0-9]{1,3}:[0-9]{2}\.[0-9]{1,3}/,/[0-9]{1,2}\.[0-9]{1,3}-->[0-9]{1,2}\.[0-9]{1,3}/],lc=50,kp=/^Format:\s/,wp=/^Style:\s/,Pp=/^Dialogue:\s/;function uc(a){var e=a.length;return e===3?((Number(a[0])*60+Number(a[1]))*60*1e3+Number(a[2])*1e3)/1e3:e===2?(Number(a[0])*60*1e3+Number(a[1])*1e3)/1e3:Number(a[0])}function xR(a){return/^(\-|\+)?\d+(\.\d+)?$/.test(a)}function Dp(a,e){return a>=0&&a<e.length?e[a]:""}var Op=function(){function a(){ba(this,a)}return Ia(a,null,[{key:"parseJson",value:function(t){for(var n=[],i=0,r=0;r<t.length;r++){if(i>=lc&&(i=0),i===0){var s={start:t[r].start,list:[t[r]],end:t[r].end};n.push(s)}else n[n.length-1].list.push(t[r]),n[n.length-1].end=t[r].end;i++}return n}},{key:"parse",value:function(t,n){var i=a.checkFormat(t);i||n({format:i});try{var r=[];i==="ass"?r=a.parseASS(t):i==="vtt"&&(r=a.parseVTT(t)),n({format:i,list:r.list,styles:r.styles})}catch(s){console.error(s),n({format:i},s)}}},{key:"parseASSItem",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=t.split(","),r={},s="";try{var o=i.length-n.length;return o>0?s=i.splice(n.length-1,o+1).join(",")+"":s=i[i.length-1]+"",s=s.replace(/\\n+/g,""),s=s,i[n.length-1]=s,n.map(function(l,u){l==="end"||l==="start"?r[l]=uc(i[u].split(":")):l==="text"?r[l]=[i[u]]:l==="layer"?(r[l]=[i[u]],r.textTag=[i[u]]):l==="style"?r[l]=[i[u]]:r[l]=Number(i[u])?Number(i[u]):i[u]}),r}catch(l){return console.error(l),{}}}},{key:"parseASS",value:function(t){for(var n=t.split(`
258`),i=[],r=0,s=0,o=[],l=[],u=null;r<n.length;){if(kp.test(n[r]))l=n[r].replace(kp,"").replace(/\s+/g,"").split(","),l=l.map(function(y){return y.toLocaleLowerCase()});else if(wp.test(n[r]))o.push(n[r].replace(wp,"").replace(/\s+/g,""));else if(Pp.test(n[r])){var h=a.parseASSItem(n[r].replace(Pp,""),l);if(!u||!(h.start===u.start&&h.end===u.end)){u=h;var d=null;s%lc===0?(d={start:u.start,end:u.end,list:[]},d.list.push(u),i.push(d)):(d=i[i.length-1],d.end=u.end,d.list.push(u)),s++}else try{var g=u,m=g.text,v=g.textTag,T=g.style;m.push(h.text[0]),v.push(h.textTag[0]),T.push(h.style[0])}catch(y){console.error(y)}}r++}return{list:i,style:{}}}},{key:"parseVTTStyle",value:function(t,n){var i=t.split(":");if(i.length>1){var r=i[0].trim().split("-"),s="";r.length>1?r.map(function(o,l){s+=l===0?o:o.charAt(0).toUpperCase()+o.slice(1)}):s=r[0],n[s]=i[1].trim().replace(/;$/,"")}return n}},{key:"parseVTT",value:function(t){t=t.replace(oc,"");for(var n=t.split(`
259`),i=[],r=0,s=0,o=null,l=!1,u=!1,h=null,d=null,g=[];r<n.length;){var m=Dp(r,n).trim();if(!m||l&&xR(m))l=!m;else if(_R.test(m)&&ER.test(Dp(r-1,n).trim())){u=!0;var v=/\((.+?)\)/g.exec(m);v?d=v[1]:d="",h=""}else if(u)SR.test(m)?(g.push({key:d,style:h}),h=null,d=null,u=!1):h+=m;else if(m){l=!1;var T=this.checkIsTime(n[r]);if(T){var y=this.parseVttTime(T);if(!o||!(y.start===o.start&&y.end===o.end)){o=y,o.text=[],o.textTag=[];var _=null;s%lc===0?(_={start:o.start,end:o.end,list:[]},_.list.push(o),i.push(_)):(_=i[i.length-1],_.end=o.end,_.list.push(o)),s++}}else if(o){var x=o,b=x.text,R=x.textTag,A=this.parseVttText(n[r]);b.push(A.text),R.push(A.tag)}l=!1}r++}return{list:i,styles:g}}},{key:"checkIsTime",value:function(t){t=t.replace(/\s+/g,"");for(var n=0,i=null;n<Rp.length&&(i=Rp[n].exec(t),!i);)n++;return i?i[0]:null}},{key:"parseVttText",value:function(t){var n=/^(<?.+?>)/g.exec(t),i="",r="default";if(n){r=n[0].replace(/\<|\>|\&/g,"");var s=RegExp("^<".concat(r,">(([\\s\\S])*?)</").concat(r,">$")),o=s.exec(t);o?i=o[1]:(i=t,r="")}else i=t;for(var l=/<(\w+).(\w+)>/g,u=l.exec(i);u&&u.length>2;)i=i.replace(u[0],"<".concat(u[1],' class="').concat(u[2],'">')),u=l.exec(i);return{tag:r,text:i.replace(/\\n+/g,"<br/>")}}},{key:"parseVttTime",value:function(t){var n=t.split("-->"),i,r=0;if(n.length===2){var s=n[0].split(":"),o=n[1].split(":");i=uc(s),r=uc(o)}return{start:i,end:r,time:t}}},{key:"isVTT",value:function(t){return oc.test(t)}},{key:"isASS",value:function(t){return Lp.test(t)}}
259,{key:"checkFormat",value:function(t){return t?oc.test(t)?"vtt":Lp.test(t)?"ass":null:null}}]),a}(),Mp=[{code:0,msg:"SUCCESS"},{code:1,msg:"LOAD_ERROR"},{code:2,msg:"PARSER_ERROR"},{code:3,msg:"FORMAT_NOT_SUPPORTED"},{code:4,msg:"ID_OR_LANGUAGE_NOT_EXIST"},{code:5,msg:"PARAMETERS_ERROR"},{code:6,msg:"ABORT"},{code:7,msg:"UNKNOWN"},{code:8,msg:"DATA_ERROR:subtitle.url is null"},{code:9,msg:"DATA_ERROR:subtitle.url length is 0"}];function Xi(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t={code:Mp[a].code,msg:Mp[a].msg};return Object.keys(e).map(function(n){t[n]=e[n]}),t}var bR=Ia(function a(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.url,n=e.method,i=n===void 0?"GET":n,r=e.type,s=r===void 0?"arraybuffer":r,o=e.timeout,l=o===void 0?1e4:o,u=e.data,h=u===void 0?{}:u,d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ba(this,a),new Promise(function(g,m){var v=new window.XMLHttpRequest,T=i.toUpperCase(),y=[];if(s&&(v.responseType=s),l&&(v.timeout=l),Object.keys(h).forEach(function(_){y.push("k=".concat(h[_]))}),v.onload=function(){v.status===200||v.status===206?g({context:d,res:v}):m(new Error({context:d,res:v,type:"error"}))},v.onerror=function(_){m(new Error({context:d,res:v,type:"error"}))},v.ontimeout=function(_){m(new Error({context:d,res:v,type:"error"}))},v.onabort=function(){m(new Error({context:d,res:v,type:"error"}))},T==="GET")v.open(T,"".concat(t)),v.send();else if(T==="post")v.open(T,t),v.setRequestHeader("Content-type","application/x-www-form-urlencoded"),v.send(y.join("&"));else throw new Error("xhr ".concat(T," is not supported"))})}),Mh=function(){function a(){ba(this,a);var e,t,n=new Promise(function(r,s){e=r,t=s}),i=n;return i.resolve=function(r){e(r),i.state="fulfilled"},i.reject=function(r){t(r),i.state="rejected",i.isBreak=r==="DESTROYED"},i.state="pending",i}return Ia(a,[{key:"resolve",value:function(t){}},{key:"reject",value:function(t){}}]),a}();function Jv(a,e){if(!a)return!1;if(a.classList)return Array.prototype.some.call(a.classList,function(n){return n===e});var t=a.className&&da(a.className)==="object"?a.getAttribute("class"):a.className;return t&&!!t.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))}function xo(a,e){a&&(a.classList?e.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach(function(t){t&&a.classList.add(t)}):Jv(a,e)||(a.className&&da(a.className)==="object"?a.setAttribute("class",a.getAttribute("class")+" "+e):a.className+=" "+e))}function IR(a,e){a&&(a.classList?e.split(/\s+/g).forEach(function(t){a.classList.remove(t)}):Jv(a,e)&&e.split(/\s+/g).forEach(function(t){var n=new RegExp("(\\s|^)"+t+"(\\s|$)");a.className&&da(a.className)==="object"?a.setAttribute("class",a.getAttribute("class").replace(n," ")):a.className=a.className.replace(n," ")}))}function Fp(a,e,t){var n=e.length;if(n<1)return-1;if(t=t<0?0:t>=n?n-1:t,e[t].start<=a&&a<e[t].end)return t;for(var i=e[t].end<=a?t+1:0;i<n;i++){if(e[i].start<=a&&a<e[i].end)return i;if(a>e[i].end&&i+1<n&&a<e[i+1].start)return-1;if(a>e[i].end&&i+1>=n)return-1}return-1}function Np(a,e,t){var n=e.length;if(n<1)return[];t=t<0?0:t>=n?n-1:t;var i=[];if(t<n)for(var r=e[t].end<=a?t:0;r<n&&(e[r].start<=a&&a<e[r].end&&i.push(r),!(a<e[r].start));r++);return i}function AR(a,e,t){if(a.length===0||e<0||e>a.length-1)return[];var n=a[e].list;if(t.length===0)return[];var i=n.splice(t[0],t.length);return e>0&&a.splice(0,e),n.length===0&&a.splice(0,1),i}function Yc(a){return Object.prototype.toString.call(a).match(/([^\s.*]+)(?=]$)/g)[0]}function Bp(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"div",e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",i=document.createElement(a);return i.className=n,i.innerHTML=e,Object.keys(t).forEach(function(r){var s=r,o=t[r];a==="video"||a==="audio"||a==="live-video"?o&&i.setAttribute(s,o):i.setAttribute(s,o)}),i}function CR(){var a=navigator.userAgent,e=/(?:Windows Phone)/.test(a),t=/(?:SymbianOS)/.test(a)||e,n=/(?:Android)/.test(a),i=/(?:Firefox)/.test(a),r=/(?:iPad|PlayBook)/.test(a)||n&&!/(?:Mobile)/.test(a)||i&&/(?:Tablet)/.test(a),s=/(?:iPhone)/.test(a)&&!r;return s||n||t||r}function LR(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",t="";a.map(function(o){t+=" ".concat(e," ").concat(o.key," {").concat(o.style,"}")});var n=document.createElement("style"),i=document.head||document.getElementsByTagName("head")[0];if(n.type="text/css",n.id="ssss",n.styleSheet){var r=function(){try{n.styleSheet.cssText=t}catch{}};n.styleSheet.disabled?setTimeout(r,10):r()}else{var s=document.createTextNode(t);n.appendChild(s)}i.appendChild(n)}function e0(a,e,t){if(t||(t=new Mh),e==="json"){var n=Op.parseJson(a);t.resolve({list:n,format:"json"})}else e==="string"&&Op.parse(a,function(i,r){if(r){var s=Xi(2,r);t.reject(s,{format:i.format})}else if(i.format)t.resolve({styles:i.styles,list:i.list,format:i.format});else{var o=Xi(3);t.reject(o)}});return t}function Up(a,e){return e||(e=new Mh),new bR({url:a.url,type:"text"}).then(function(t){e0(t.res.response,"string").then(function(n){e.resolve(Es(Es({},n),a))}).catch(function(n){e.reject(n)})}).catch(function(t){var n=Xi(1,Es({statusText:t.statusText,status:t.status,type:t.type,message:"http load error",url:a.src},a));e.reject(n)}),e}function Cr(a,e){return!!(a.id&&e.id&&a.id===e.id||a.language&&e.language&&a.language===e.language)}function RR(a){return a===null||a.trim()===""?!1:/^[a-zA-Z]+$/.test(a)}function kR(a){var e=/[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]/;return!!e.test(a)}function wR(a){var e=/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/;return!!e.test(a)}function PR(a){for(var e=a.split(""),t=[],n=!1,i=0;i<e.length;i++){var r=e[i];if(RR(r))if(!n)t.push(r),n=!0;else{var s=t.length-1;t[s]="".concat(t[s]).concat(r)}else if(r.match(/^[ ]*$/)||kR(r)||wR(r)){n=!1;var o=t.length-1;t[o]="".concat(t[o]).concat(r)}else n=!1,t.push(r)}return t}var DR=function(){function a(){var e=this;ba(this,a),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver(function(t){e.__trigger(t)}))}return Ia(a,[{key:"addObserver",value:function(t,n){if(this.observer){this.observer&&this.observer.observe(t);for(var i=this.__handlers,r=-1,s=0;s<i.length;s++)i[s]&&t===i[s].target&&(r=s);r>-1?this.__handlers[r].handler.push(n):this.__handlers.push({target:t,handler:[n]})}}},{key:"unObserver",value:function(t){var n=-1;this.__handlers.map(function(i,r){t===i.target&&(n=r)}),this.observer&&this.observer.unobserve(t),n>-1&&this.__handlers.splice(n,1)}},{key:"destroyObserver",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(t,n){for(var i=this.__handlers,r=0;r<i.length;r++)if(i[r]&&t===i[r].target){i[r].handler&&i[r].handler.forEach(function(s){try{s(t,n)}catch(o){console.error(o)}});break}}},{key:"__trigger",value:function(t){var n=this;t.map(function(i){var r=i.contentRect;n.__runHandler(i.target,r)})}}]),a}(),la=null;function OR(a,e){la||(la=new DR),la.addObserver(a,e)}function MR(a,e){la&&la.unObserver(a,e)}var cc={RESIZE:"resize",CHANGE:"change",OFF:"off"};function $p(a){var e=[];return a&&Yc(a)==="String"?e.push({url:a,index:0,start:-1,end:-1}):Yc(a)==="Array"&&a.forEach(function(t,n){e.push({url:t.url||t.src,index:n,start:t.start||-1,end:t.end||-1})}),e}var Gp=!1,FR=function(a){pR(t,a);var e=vR(t);function t(n){var i;return ba(this,t),i=e.call(this),ar(pn(i),"_onPause",function(){i.stopRender()}),ar(pn(i),"_onPlay",function(){i._curRenderTask.length>0&&i.startRender(-1)}),ar(pn(i),"_onTimeupdate",function(){if(i._isOpen){var r=i.player.video,s=r.videoWidth,o=r.videoHeight;!i._videoMeta.scale&&s&&o&&i._onResize(i.player.root);var l=i._getPlayerCurrentTime();Math.round(Math.abs(l*1e3-i._ctime))<200||(i._ctime=l*1e3,i.currentText&&i.currentText.list&&(i.config.updateMode==="live"?i._liveUpdate(l):i._update(l)))}}),ar(pn(i),"_onResize",function(r){var s=pn(i),o=s._videoMeta,l=s.config;if(l.domRender){if((!r||!(r instanceof window.Element))&&(r=i.player.root),i._iId&&(clearTimeout(i._iId),i._iId=null),!o.scale){if(!i.player.video)return;var u=i.player.video,h=u.videoWidth,d=u.videoHeight;if(h&&d)o.videoWidth=h,o.videoHeight=d,o.scale=parseInt(d/h*100,10);else return}i.__startResize(r)}}),ar(pn(i),"_onCoreEvents",function(r){try{switch(r.eventName){case"core.subtitlesegments":i._onSubtitleSegment(r.list||[]);break;case"core.subtitleplaylist":i._onSubtitlePlaylist(r.list||[]);break;case"core.seipayloadtime":i._onCoreSeiintime(r);break;default:}}catch(s){console.error(s)}}),ar(pn(i),"startRender",function(r){if(r>0&&i._renderIntervalId&&(window.cancelAnimationFrame(i._renderIntervalId),i._renderIntervalId=-1),!!i.textTrack){var s=pn(i),o=s._curRenderTask;i._lastTimeStamp=new Date().getTime();var l=[];o.forEach(function(u,h){var d=u.lastTime,g=u.wordList,m=u.interval,v=u.dom,T=u.ids;if(r<0||i._lastTimeStamp<0||i._lastTimeStamp-d>=m){var y=g.shift();y&&v.appendData(y),u.lastTime=i._lastTimeStamp}g.length<1&&l.push({index:h,ids:T})}),i._log(">>>>_renderByWords emptyArr",l.length,o.length),l.forEach(function(u){o.splice(u.index,1),i._log(">>>_renderByWords remove emptyArr",u.index,o.length)}),o.length>0&&(i._renderIntervalId=window.requestAnimationFrame(i.startRender))}}),ar(pn(i),"destroy",function(){i.detachPlayer(),i.removeAllListeners(),i.player=null,i.textTrack=null,i._curRenderTask=[],i.stopRender()}),Gp=CR(),i.currentText=null,i.currentExtText=null,i.textTrack=[],i._cid=-1,i._gid=-1,i._cids=[],i._iId=null,i._iC=0,i.player=null,i.root=null,i.config={line:"double",bottom:0,mode:"stroke",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:"#fff",domRender:!0,updateMode:"vod",renderMode:"",debugger:!1},i._ctime=0,i._loadingTrack={},Object.keys(i.config).map(function(r){n[r]!==void 0&&n[r]!==null&&(i.config[r]=n[r])}),i._isOpen=i.config.defaultOpen||!1,i._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},!n.subTitles||Yc(n.subTitles)!=="Array"?Qv(i):(n.player&&i.attachPlayer(n.player),i.seiTime=0,i.lastSeiTime=0,i._curTexts=[],i._curRenderTask=[],i._renderIntervalId=-1,i._lastTimeStamp=-1,i.setSubTitles(n.subTitles,i.config.defaultOpen),i)}return Ia(t,[{key:"version",get:function(){return"3.0.23"}},{key:"setSubTitles",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=this._isOpen||s;o&&this.innerRoot&&this.switchOff(),this.currentText=null,this.textTrack=[],r.forEach(function(u){var h={};Object.keys(u).map(function(d){h[d]=u[d]}),h.url=$p(h.url),h.isDefault&&(i.currentText=h),i.textTrack.push(h)}),this._log("setSubTitles",l),l&&this.switch().catch(function(u){i._log("[switch]",u)}),this.currentText&&this._loadTrack(this.currentText).then(function(u){i.addStyles(u)}
259),this.emit("reset",{list:this.textTrack,isOpen:l})}},{key:"updateSubTitle",value:function(i){for(var r=this,s=-1,o=0;o<this.textTrack.length;o++)if(Cr(i,this.textTrack[o])){s=o;break}if(this._log("updateSubTitle",s,i),s>-1){var l=Cr(this.currentText,this.textTrack[s]);if(this._log("updateSubTitle","_isCurrent",l,"this.isOpen",this.isOpen,this.currentText),!l)return;var u=$p(i.url);this.isOpen?(u.forEach(function(h){r.textTrack[s].url.push(h)}),this._log("updateSubTitle _loadTrackUrls",this.textTrack[s]),this._loadTrackUrls(this.currentText,2)):this.textTrack[s].url=u}}},{key:"addStyles",value:function(i){var r=i.styles,s=i.format;r&&s==="vtt"&&(r.map(function(o){o.key||(o.key="xg-text-track-span")}),LR(r,"xg-text-track"))}},{key:"attachPlayer",value:function(i){var r=this;if(this._log("attachPlayer"),!!i){this.player&&this.detachPlayer();var s=this.config,o=s.fontColor,l=s.mode,u=s.fitVideo,h=s.domRender;this.player=i,h&&(this.root=document.createElement("xg-text-track"),this.root.className="xg-text-track",!this._isOpen&&xo(this.root,"text-track-hide"),!u&&xo(this.root,"text-track-no-fitvideo"),l&&xo(this.root,"text-track-".concat(l)),this.innerRoot=document.createElement("xg-text-track-inner"),this.root.appendChild(this.innerRoot),o&&(this.root.style.color=o),this.currentText&&["language","id","label"].map(function(d){r.root.setAttribute("data-".concat(d),r.currentText[d]||"")}),this.player.root.appendChild(this.root),OR(i.root,this._onResize)),this.player.on("destroy",this.destroy),this.player.on("timeupdate",this._onTimeupdate),this.player.on("pause",this._onPause),this.player.on("play",this._onPlay),this.player.on("core_event",this._onCoreEvents),this._isOpen&&this.switch().catch(function(d){r._log("[switch]",d)})}}},{key:"detachPlayer",value:function(){var i=this.player,r=this.config;i&&(i.off("destroy",this.destroy),i.off("timeupdate",this._onTimeupdate),i.off("pause",this._onPause),i.off("play",this._onPlay),i.off("core_event",this._onCoreEvents),r.domRender&&(i.root&&(MR(i.root,this._onResize),i.root.removeChild(this.root)),this.innerRoot=null,this.root=null),this.player=null)}},{key:"switch",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:"",language:""};return this._log("switch",r),this._loadingTrack=r,new Promise(function(s,o){if(!r.id&&!r.language)if(i.currentText){i._loadingTrack={},i._updateCurrent(i.currentText),i.switchOn();var l=Xi(0,{message:"switch default subtitle success"});s(l);return}else{var u=Xi(5,{message:"no default subtitle"});o(u);return}if(i.currentText&&Cr(r,i.currentText))i._loadingTrack={},i._updateCurrent(i.currentText),i.switchOn(),s(Xi(0));else{var h=null;i.__removeByTime(i._curTexts,0);for(var d=0;d<i.textTrack.length;d++)if(Cr(r,i.textTrack[d])){h=i.textTrack[d];break}if(i._log("nextSubtitle",h),h)i._emitPlayerSwitch(i.currentText,h),h.list?(i._loadingTrack={},i._updateCurrent(h),i.switchOn(),s(Xi(0))):(i._log("this._loadTrack",h),i._updateCurrent(h),i._loadTrack(h).then(function(m){if(i.addStyles(m),i._loadingTrack.id===h.id||i._loadingTrack.language===m.language)i._loadingTrack={},i._updateCurrent(m),i.switchOn(),s(Xi(0));else{var v=Xi(6,{message:"check _loadingTrack fail id: ".concat(i._loadingTrack.id,"  nextSubtitle:").concat(m.id)});o(v)}}).catch(function(m){o(m)}));else{var g=Xi(4,new Error("The is no subtitle with id:[{".concat(r.id,"}] or language:[").concat(r.language,"]")));o(g)}}})}},{key:"switchExt",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:"",language:""};return new Promise(function(s,o){if(!r.id&&!r.language)i.currentExtText=null,s(Xi(0));else{for(var l=null,u=0;u<i.textTrack.length;u++)if(Cr(r,i.textTrack[u])){l=i.textTrack[u];break}l&&!Cr(l,i.currentText)&&i._loadTrack(l).then(function(h){i.currentExtText=h,s(Xi(0))})}})}},{key:"switchOn",value:function(){this._log("switchOn"),this._isOpen=!0,this.show(),this.emit(cc.CHANGE,this.currentText)}},{key:"switchOff",value:function(){this._isOpen=!1,this.hide(),this.emit(cc.OFF)}},{key:"isOpen",get:function(){return this._isOpen}},{key:"_log",value:function(){if(this.config.debugger){for(var i,r=arguments.length,s=new Array(r),o=0;o<r;o++)s[o]=arguments[o];
259(i=console).log.apply(i,["[xgSubtitle]"].concat(s))}}},{key:"_loadTrack",value:function(i){var r=this;this._log("_loadTrack",i.language,i);var s=new Mh,o="",l="";if(i.json?(o="json",l=i.json):i.stringContent&&!i.url&&(o="string",l=i.stringContent),l)return e0(l,o).then(function(d){i.format=d.format,i.styles=d.styles,i.list=d.list,s.resolve(i)}).catch(function(d){s.reject(d)}),s;var u=i.url;if(u.length===0)return s.resolve(i),s;var h=u.splice(0,1);return Up(h[0]).then(function(d){i.format=d.format,i.styles=d.styles,i.list||(i.list=[]),r._pushList(i.list,d.list),u.length>1&&r._loadTrackUrls(i,2),s.resolve(i)}).catch(function(d){s.reject(d)}),s}},{key:"_emitPlayerSwitch",value:function(i,r){i&&this.config.updateMode==="live"&&(i.list=[],i.url=[]);var s=Es({lang:r.language},r);this._log("emit subtile_switch ",r,s),this.player&&this.player.emit("switch_subtitle",s)}},{key:"_loadTrackUrls",value:function(i,r,s){var o=this,l=i.url.length,u=l>r?i.url.splice(0,r):i.url.splice(0,l),h=u.length;this._log("_loadTrackUrls",i.language,l,u.length,h),u.forEach(function(d,g){var m=Es(Es({},d),{},{index:g});Up(m).then(function(v){i.format=v.format,i.styles=v.format,i.list||(i.list=[]),o._pushList(i.list,v.list),h--}).catch(function(v){h--}).finally(function(v){h===0&&(s&&s.resolve(i),o._loadTrackUrls(i,2))})})}},{key:"_freshUrl",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{url:""},s=-1;i.url.forEach(function(o,l){o.url===r.url&&(s=l)}),s>-1&&i.url.splice(s,1)}},{key:"_pushList",value:function(i,r){var s=r[0].start,o=r[r.length-1].end;if(i.length===0||s>=i[i.length-1].end)r.forEach(function(h){i.push(h)});else{for(var l=-1,u=0;u<i.length;u++)if(i[u].start>o){l=u;break}l>-1&&r.forEach(function(h,d){i.splice(l+d,0,h)})}return i}},{key:"_updateCurrent",value:function(i){var r=this;this.currentText=i,this.config.domRender&&this.root&&(["language","id","label"].map(function(o){r.root.setAttribute("data-".concat(o),r.currentText[o]||"")}),this.__remove(this._cids)),this._cids=[],this._gid=-1,this._cid=-1,this._curTexts=[];var s=this._getPlayerCurrentTime();s&&(this.config.updateMode==="live"?this._liveUpdate(s):this._update(s))}},{key:"__loadAll",value:function(){var i=this;this.textTrack.forEach(function(r){i._loadTrack(r)})}},{key:"getDelCid",value:function(i,r){for(var s=[],o=0;o<i.length;o++)r.includes(i[o])||s.push(i[o]);return s}},{key:"getNewCid",value:function(i,r){for(var s=[],o=0;o<r.length;o++)i.includes(r[o])||s.push(r[o]);return s}},{key:"_liveUpdate",value:function(i){var r=this;if(!(!this.currentText||!this.currentText.list||!this.currentText.list.length)){var s=[],o=Fp(i,this.currentText.list,this._gid);if(o>-1&&(s=Np(i,this.currentText.list[o].list,this._cid)),this.__removeByTime(this._curTexts,i),this._log("_liveUpdate",i,o,s,this.currentText.list[0].list[0].start,this.currentText.list[0].list[0].end),s.length>0){var l=AR(this.currentText.list,o,s),u=this._curTexts.length,h=u>0?this._curTexts[u-1].index:0;l.forEach(function(d,g){d.index=g+h,r._curTexts.push(d)}),this.__render(l)}
259this.emit("update",this._curTexts)}}},{key:"_update",value:function(i){var r=this;if(!(!this.currentText||!this.currentText.list||!this.currentText.list.length)){var s=Fp(i,this.currentText.list,this._gid),o=[];if(s>-1&&(o=Np(i,this.currentText.list[s].list,this._cid)),o.length<1){this._cids.length>0&&this.config.domRender&&this.__remove(this._cids),this._cids=[];return}if(!(this._cids===o&&s===this._gid)){this._gid=s,this._cid=o[0];var l=this.getDelCid(this._cids,o),u=this.getNewCid(this._cids,o);this._cids=o,this.config.domRender&&this.__remove(l);var h=[];u.map(function(d){var g=r.currentText.list[s].list[d];g.index=d,h.push(g)}),this.currentExtText&&u.map(function(d){var g=r.currentText.list[s].list[d];g.index=d,h.push(g)}),this._log("update",h,i),this.emit("update",h),this.__render(h,i)}}}},{key:"_getPlayerCurrentTime",value:function(){if(!this.player)return 0;var i=this.player.currentTime,r=parseInt(i*1e3+this.seiTime*1e3-this.lastSeiTime*1e3,10)/1e3;return r}},{key:"_onSubtitlePlaylist",value:function(i){this._log("_onSubtitlePlaylist",i);var r=i.map(function(s){return{label:s.name,language:s.lang,id:s.id,isDefault:s.default,url:[],mUrl:s.url}});this.setSubTitles(r)}},{key:"_onSubtitleSegment",value:function(i){if(this._log("_onSubtitleSegment",i.length,i[0].lang,i[0].sn,i[i.length-1].sn,i[0].start,i[i.length-1].end),!(!i||i.length===0)){var r=i[0].lang,s=i.map(function(l){return{id:l.sn,url:l.url,duration:l.duration,start:l.start,end:l.end}}),o={language:r,url:s};Cr(o,this.currentText)&&this.updateSubTitle(o)}}},{key:"_onCoreSeiintime",value:function(i){try{var r=i.time/1e3;this._log("_onCoreSeiintime sei",r,this.seiTime,this.lastSeiTime),this.seiTime=r,this.lastSeiTime=this.player?this.player.currentTime:0}catch{}}},{key:"resize",value:function(i,r){var s=this,o=this.config,l=o.baseSizeX,u=o.baseSizeY,h=o.minMobileSize,d=o.minSize,g=o.fitVideo,m=o.offsetBottom,v=this._videoMeta.scale;this._videoMeta.lwidth=i,this._videoMeta.lheight=r;var T,y=0;r/i*100>=v?(y=parseInt(v*i,10)/100,T=i):(y=r,T=parseInt(r/v*100,10)),this._videoMeta.vWidth=T,this._videoMeta.vHeight=y;var _=0,x=0;v>120?(_=u,x=parseInt(_*y/1080,10)):(_=l,x=parseInt(_*T/1920,10));var b=Gp?h:d;x=x<b?b:x>_?_:x;var R={fontSize:x},A=parseInt((r-y)/2,10),F=parseInt((i-T)/2,10),w=parseInt(y*m,10)/100;this._videoMeta.vBottom=A,this._videoMeta.vLeft=F,this._videoMeta.marginBottom=w,g&&(R.bottom=A+w,R.left=R.right=F),Object.keys(R).map(function(M){s.root.style[M]="".concat(R[M],"px")}),this.emit(cc.RESIZE,{vLeft:F,vBottom:A,marginBottom:w,vWidth:T,vHeight:y,fontSize:x,scale:v})}},{key:"__startResize",value:function(i){var r=this,s=i.getBoundingClientRect(),o=this._videoMeta,l=s.width,u=s.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),l>0&&u>0&&(l!==o.lwidth||u!==o.lheight))this._iC=0,this.resize(l,u);else{if(this._iC>=5){this._iC=0;return}this._iC++,this._iId=setTimeout(function(){r.__startResize(i)},50)}}},{key:"__removeByTime",value:function(i,r){for(var s=[],o=0;o<i.length;o++)(!r||i[o].end<r)&&s.push(o);s.length!==0&&(i.splice(s[0],s.length),this.config.domRender&&this.__remove(s))}},{key:"__remove",value:function(i){var r=this;if(!(!i||i.length<1)){this._log(">>>>_renderByWords__remove",i);for(var s=this.innerRoot.children,o=[],l=0;l<s.length;l++){var u=Number(s[l].getAttribute("data-index"));i.includes(u)&&o.push(s[l])}o.map(function(h){r.innerRoot.removeChild(h)})}}},{key:"__render",value:function(){var i=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this._log("__render",r.length,this.config.domRender);var s=this.config,o=s.renderMode,l=s.domRender;r.length>0&&l&&r.forEach(function(u){var h="text-track-".concat(i.config.line);u.text.forEach(function(d,g){g>0&&(h+=" text-track-deputy");var m={"data-start":u.start,"data-end":u.end,"data-index":u.index},v=Bp("xg-text-track-span","",m,h);if(i.innerRoot.appendChild(v),o==="step"){var T=Bp("xg-text-track-span","",m,"".concat(h," text-track-space"));i.innerRoot.appendChild(T),T.innerHTML=d,setTimeout(function(){i._renderByWords(v,g,u.start,u.end,d)},600)}else v.innerHTML=d})})}},{key:"_renderByWords",value:function(i,r,s,o,l){var u=document.createTextNode("");i.appendChild(u);var h=PR(l),d=this._getPlayerCurrentTime(),g=parseInt((o-d)*1e3,10);if(!(d>=o)){s>=d&&(d=s),g>300&&(g-=50);var m=h.length,v={dom:u,ids:r,wordList:h,interval:g/m,start:d,end:o,duration:g,lastTime:0};this._log(">>>>_renderByWords",g,v);for(var T=this._curRenderTask,y=-1,_=0;_<T.length;_++)if(T[_].ids===r){y=_;break}y>-1&&T.slice(y,1),T.push(v),this.startRender(-1)}}},{key:"stopRender",value:function(){this._renderIntervalId&&window.cancelAnimationFrame(this._renderIntervalId)}},{key:"show",value:function(){this.config.domRender&&IR(this.root,"text-track-hide")}},{key:"hide",value:function(){this.config.domRender&&(xo(this.root,"text-track-hide"),this.innerRoot.innerHTML="")}},{key:"emit",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=cr(_n(t.prototype),"emit",this)).call.apply(s,[this,i,r].concat(l))}},{key:"on",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=cr(_n(t.prototype),"on",this)).call.apply(s,[this,i,r].concat(l))}},{key:"once",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=cr(_n(t.prototype),"once",this)).call.apply(s,[this,i,r].concat(l))}},{key:"off",value:function(i,r){for(var s,o=arguments.length,l=new Array(o>2?o-2:0),u=2;u<o;u++)l[u-2]=arguments[u];(s=cr(_n(t.prototype),"off",this)).call.apply(s,[this,i,r].concat(l))}},{key:"offAll",value:function(){cr(_n(t.prototype),"removeAllListeners",this).call(this)}},{key:"marginBottom",get:function(){var i=this._videoMeta,r=i.bottom,s=i.marginBottom;return this.config.fitVideo?r+s:s}}]),t}(El),NR=function(a){Fe(t,a);var e=Ne(t);function t(n){var i;return Ce(this,t),i=e.call(this),j(W(i),"_onChange",function(r){var s=i._media.textTracks;
259if(!(!s||s.length===0)){for(var o=[],l=[],u=-1,h=0;h<s.length;h++){var d=s[h];d.kind==="subtitles"&&(o.push({id:d.id||d.language,language:d.language,text:d.label,isDefault:d.mode==="showing"}),u===-1&&d.mode==="showing"&&(u=h),l.push(d.language))}l.join("|")!==i._languages?(i._languages=l.join("|"),i.emit("reset",{list:o,isOpen:u>-1})):u===-1?i.emit("off"):i.curIndex!==u&&i.emit("change",o[u]),i.curIndex=u}}),i._media=n,i._list=[],i._languages="",i.curIndex=-1,i._init(),i}return Le(t,[{key:"_init",value:function(){var i=this._media.textTracks;i.addEventListener("change",this._onChange)}},{key:"switch",value:function(i){for(var r=this._media.textTracks,s=0;s<r.length;s++){var o=r[s];o.language===i.language?o.mode="showing":o.mode==="showing"&&(o.mode="disabled")}}},{key:"switchOff",value:function(){for(var i=this._media.textTracks,r=0;r<i.length;r++)i[r].mode="disabled";this.curIndex=-1}},{key:"destroy",value:function(){var i=this._media.textTracks;i.removeEventListener("change",this._onChange),this._media=null,this._list=[],this._languages="",this.curIndex=-1}}]),t}(El),hc={CLOSE:"close",TEXT_CLOSE:"text-close"};function Hp(a){var e=-1;
259return a.forEach(function(t,n){!t.id&&!t.language&&(t.id=n),t.id=String(t.id),!t.url&&(t.url=t.src),!t.text&&(t.text=t.label),!t.language&&(t.language=t.srclang),t.isDefault===void 0&&(t.isDefault=t.default||!1),(t.isDefault||t.default)&&(e<0?e=n:t.isDefault=t.default=!1)}),e}function BR(a,e){var t=C.isNotNull(a.id)&&C.isNotNull(e.id)&&a.id===e.id,n=C.isNotNull(a.language)&&C.isNotNull(e.language)&&a.language===e.language;return t||n}var UR=function(a){Fe(t,a);var e=Ne(t);function t(){var n;Ce(this,t);for(var i=arguments.length,r=new Array(i),s=0;s<i;s++)r[s]=arguments[s];return n=e.call.apply(e,[this].concat(r)),j(W(n),"_onOff",function(){n.switchOffSubtitle()}),j(W(n),"_onChange",function(o){var l=n.getSubTitleIndex(n.config.list,o);l<0||n.updateCurItem(l,o)}),j(W(n),"_onListReset",function(o){n.updateList(o)}),j(W(n),"clickSwitch",function(o,l){var u=l.type===hc.CLOSE||l.type===hc.TEXT_CLOSE;n.subTitles&&(u?n.subTitles.switchOff():n.switchSubTitle({language:l.language,id:l.id}))}),j(W(n),"onIconClick",function(o){n.curItem?n.subTitles.switchOff():n.switchOnSubtitle(o)}),j(W(n),"onPlayerFocus",function(o){!n.subTitles||!n.config.style.follow||n.rePosition()}),j(W(n),"onPlayerBlur",function(o){!n.subTitles||!n.config.style.follow||n.playerConfig.marginControls||n.subTitles.root&&(n.subTitles.root.style.transform="translate(0, 0)")}),n}return Le(t,[{key:"beforeCreate",value:function(i){var r=i.player.config.texttrack||i.player.config.textTrack;C.typeOf(r)==="Array"&&(i.config.list=r)}},{key:"afterCreate",value:function(){var i=this.config,r=i.list,s=i.mode,o=Hp(r);$e(Me(t.prototype),"afterCreate",this).call(this),this.curIndex=-1,this.lastIndex=-1,this.curItem=null,this._nativeTracks=null,this.handlerClickSwitch=this.hook("subtitle_change",this.clickSwitch),s==="native"?this._initNativeSubtitle():this._initExtSubTitle(o)}},{key:"_initNativeSubtitle",value:function(){var i=this.player;i._subTitles||(i._subTitles=new NR(i.media)),this.subTitles=i._subTitles,this.subTitles.on("off",this._onOff),this.subTitles.on("change",this._onChange),this.subTitles.on("reset",this._onListReset)}},{key:"_initExtSubTitle",value:function(i){var r=this.config,s=r.list,o=r.style,l=r.isDefaultOpen,u=r.updateMode,h=r.renderMode;l&&i<0&&s.length>0&&(i=0,s[0].isDefault=!0);var d={subTitles:s,defaultOpen:l,updateMode:u,renderMode:h,debugger:this.config.debugger};Object.keys(o).map(function(v){d[v]=o[v]});var g=!this.playerConfig.marginControls&&this.player.controls.root;g&&(this.on(Sl,this.onPlayerFocus),this.on(Ah,this.onPlayerBlur));var m=this.player;m._subTitles?m._subTitles._isOpen&&(i=this.getSubTitleIndex(this.config.list,m._subTitles.currentText)):(m._subTitles=new FR(d),m._subTitles.attachPlayer(this.player)),this.subTitles=m._subTitles,this.subTitles.on("off",this._onOff),this.subTitles.on("change",this._onChange),this.subTitles.on("reset",this._onListReset),o.follow&&this.subTitles.root&&C.addClass(this.subTitles.root,"follow-control"),this._renderList(s,l,i)}},{key:"_renderList",value:function(i,r,s){!i||i.length===0||(r?(s=s<0?0:s,i[s].isDefault=!0,this.curIndex=s,this.curItem=i[s],this.switchIconState(!0)):this.switchIconState(!1),this.player.isCanplay&&i.length>0&&(this.renderItemList(i),this.show()))}},{key:"registerIcons",value:function(){return{textTrackOpen:{icon:"",class:"xg-texttrak-open"},textTrackClose:{icon:"",class:"xg-texttrak-close"}}}},{key:"show",value:function(i){!this.config.list||this.config.list.length<1||C.addClass(this.root,"show")}},{key:"getSubTitleIndex",value:function(i){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{id:"",language:""},s=-1;return!r||!r.id&&!r.language||i.forEach(function(o,l){BR(o,r)&&(s=l)}),s}},{key:"updateSubtitles",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;i&&(this.updateList({list:i}),this.subTitles&&this.subTitles.setSubTitles(this.config.list,this.curIndex>-1,r))}},{key:"updateList",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(i.list){var r=[];i.list.forEach(function(o){r.push(o)});var s=Hp(r);i.isOpen?(this.curIndex=s,this.curItem=s>-1?r[s]:null):(this.curIndex=-1,this.curItem=null),this.config.list=r,r.length>0?this.show():(this.switchOffSubtitle(),this.hide()),this.renderItemList()}}},{key:"switchSubTitle",value:function(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:"",language:""};this.switchIconState(!0);var r=this.getSubTitleIndex(this.config.list,i);r<0||this.subTitles.switch(i).catch(function(s){})}}
259,{key:"switchOffSubtitle",value:function(i){this.emit("subtitle_change",{off:!0,isListUpdate:!1,list:[]}),this.lastIndex=this.curIndex,this.curIndex=-1,this.curItem=null,this.switchIconState(!1),this.renderItemList()}},{key:"switchOnSubtitle",value:function(){var i=this.config.list,r=this.lastIndex>-1?this.lastIndex:0,s=i[r];this.switchIconState(!0),this.switchSubTitle(s)}},{key:"switchIconState",value:function(i){this.setAttr("data-state",i?"open":"close")}},{key:"onItemClick",value:function(i,r){var s=i.delegateTarget,o=s.getAttribute("language"),l=s.getAttribute("data-id"),u=s.getAttribute("data-type");$e(Me(t.prototype),"onItemClick",this).apply(this,arguments),this.handlerClickSwitch(i,{language:o,id:l,type:u})}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var i=this.config,r=i.list,s=i.closeText,o=this.curIndex;if(o-1<0)this.find(".icon-text").innerHTML=this.getTextByLang(s,"iconText");else if(o-1<r.length){var l=r[o-1];if(!l)return;this.find(".icon-text").innerHTML=this.getTextByLang(l,"iconText")}}}},{key:"updateCurItem",value:function(i,r){this.curIndex=i,this.curItem=this.config.list[i-1],this.renderItemList(),this.emit("subtitle_change",wt({off:!1,isListUpdate:!1,list:[]},r))}},{key:"renderItemList",value:function(){var i=this,r=this.config,s=r.list,o=r.closeText,l=r.needCloseText,u=[],h=this.curIndex,d=this.curIndex;l&&(u.push({showText:this.getTextByLang(o),"data-type":hc.TEXT_CLOSE,selected:this.curIndex===-1}),h++),s.map(function(g,m){var v={language:g.language||g.srclang||"","data-id":g.id||""};v.selected=i.curIndex===m,v.showText=i.getTextByLang(g),u.push(v)}),$e(Me(t.prototype),"renderItemList",this).call(this,u,h),this.curIndex=d,this.curItem=s[d]}},{key:"rePosition",value:function(){var i=this.config.style.fitVideo,r=this.player.controls.root.getBoundingClientRect(),s=0-r.height;if(!i){this.subTitles.root.style.transform="translate(0, ".concat(s,"px)");return}var o=this.player,l=o.video,u=o.root,h=u.getBoundingClientRect(),d=h.height,g=h.width,m=l.videoHeight,v=l.videoWidth,T=parseInt(m/v*100,10),y=T*g/100;y>d&&(y=d);var _=(d-y)/2-s;_<0&&(this.subTitles.root.style.transform="translate(0, ".concat(_,"px)"))}},{key:"destroy",value:function(){this.subTitles&&(this.subTitles.destroy(),this.subTitles=null),$e(Me(t.prototype),"destroy",this).call(this)}}],[{key:"pluginName",get:function(){return"texttrack"}},{key:"defaultConfig",get:function(){return wt(wt({},As.defaultConfig),{},{position:bt.CONTROLS_RIGHT,index:6,list:[],isDefaultOpen:!0,style:{follow:!0,mode:"stroke",followBottom:50,fitVideo:!0,offsetBottom:2,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,line:"double",fontColor:"#fff"},closeText:{text:"不开启",iconText:"字幕"},needCloseText:!0,className:"xgplayer-texttrack",hidePortrait:!1,isShowIcon:!0,renderMode:"normal",mode:"external",debugger:!1})}}]),t}(As);const pe=Number.isFinite||function(a){return typeof a=="number"&&isFinite(a)},$R=Number.isSafeInteger||function(a){return typeof a=="number"&&Math.abs(a)<=GR},GR=Number.MAX_SAFE_INTEGER||9007199254740991;let Se=function(a){return a.NETWORK_ERROR="networkError",a.MEDIA_ERROR="mediaError",a.KEY_SYSTEM_ERROR="keySystemError",a.MUX_ERROR="muxError",a.OTHER_ERROR="otherError",a}({}),V=function(a){return a.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",a.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",a.KEY_SYSTEM_NO_SESSION="keySystemNoSession",a.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",a.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",a.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",a.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",a.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",a.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",a.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",a.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",a.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",a.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",a.MANIFEST_LOAD_ERROR="manifestLoadError",a.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",a.MANIFEST_PARSING_ERROR="manifestParsingError",a.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",a.LEVEL_EMPTY_ERROR="levelEmptyError",a.LEVEL_LOAD_ERROR="levelLoadError",a.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",a.LEVEL_PARSING_ERROR="levelParsingError",a.LEVEL_SWITCH_ERROR="levelSwitchError",a.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",a.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",a.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",a.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",a.FRAG_LOAD_ERROR="fragLoadError",a.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",a.FRAG_DECRYPT_ERROR="fragDecryptError",a.FRAG_PARSING_ERROR="fragParsingError",a.FRAG_GAP="fragGap",a.REMUX_ALLOC_ER
259ROR="remuxAllocError",a.KEY_LOAD_ERROR="keyLoadError",a.KEY_LOAD_TIMEOUT="keyLoadTimeOut",a.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",a.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",a.BUFFER_APPEND_ERROR="bufferAppendError",a.BUFFER_APPENDING_ERROR="bufferAppendingError",a.BUFFER_STALLED_ERROR="bufferStalledError",a.BUFFER_FULL_ERROR="bufferFullError",a.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",a.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",a.ASSET_LIST_LOAD_ERROR="assetListLoadError",a.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",a.ASSET_LIST_PARSING_ERROR="assetListParsingError",a.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",a.INTERNAL_EXCEPTION="internalException",a.INTERNAL_ABORTED="aborted",a.ATTACH_MEDIA_ERROR="attachMediaError",a.UNKNOWN="unknown",a}({}),S=function(a){return a.MEDIA_ATTACHING="hlsMediaAttaching",a.MEDIA_ATTACHED="hlsMediaAttached",a.MEDIA_DETACHING="hlsMediaDetaching",a.MEDIA_DETACHED="hlsMediaDetached",a.MEDIA_ENDED="hlsMediaEnded",a.STALL_RESOLVED="hlsStallResolved",a.BUFFER_RESET="hlsBufferReset",a.BUFFER_CODECS="hlsBufferCodecs",a.BUFFER_CREATED="hlsBufferCreated",a.BUFFER_APPENDING="hlsBufferAppending",a.BUFFER_APPENDED="hlsBufferAppended",a.BUFFER_EOS="hlsBufferEos",a.BUFFERED_TO_END="hlsBufferedToEnd",a.BUFFER_FLUSHING="hlsBufferFlushing",a.BUFFER_FLUSHED="hlsBufferFlushed",a.MANIFEST_LOADING="hlsManifestLoading",a.MANIFEST_LOADED="hlsManifestLoaded",a.MANIFEST_PARSED="hlsManifestParsed",a.LEVEL_SWITCHING="hlsLevelSwitching",a.LEVEL_SWITCHED="hlsLevelSwitched",a.LEVEL_LOADING="hlsLevelLoading",a.LEVEL_LOADED="hlsLevelLoaded",a.LEVEL_UPDATED="hlsLevelUpdated",a.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",a.LEVELS_UPDATED="hlsLevelsUpdated",a.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",a.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",a.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",a.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",a.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",a.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",a.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",a.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",a.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",a.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",a.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",a.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",a.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",a.CUES_PARSED="hlsCuesParsed",a.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",a.INIT_PTS_FOUND="hlsInitPtsFound",a.FRAG_LOADING="hlsFragLoading",a.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",a.FRAG_LOADED="hlsFragLoaded",a.FRAG_DECRYPTED="hlsFragDecrypted",a.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",a.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",a.FRAG_PARSING_METADATA="hlsFragParsingMetadata",a.FRAG_PARSED="hlsFragParsed",a.FRAG_BUFFERED="hlsFragBuffered",a.FRAG_CHANGED="hlsFragChanged",a.FPS_DROP="hlsFpsDrop",a.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",a.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",a.ERROR="hlsError",a.DESTROYING="hlsDestroying",a.KEY_LOADING="hlsKeyLoading",a.KEY_LOADED="hlsKeyLoaded",a.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",a.BACK_BUFFER_REACHED="hlsBackBufferReached",a.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",a.ASSET_LIST_LOADING="hlsAssetListLoading",a.ASSET_LIST_LOADED="hlsAssetListLoaded",a.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",a.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",a.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",a.INTERSTITIAL_STARTED="hlsInterstitialStarted",a.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",a.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",a.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",a.INTERSTITIAL_ENDED="hlsInterstitialEnded",a.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",a.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",a.EVENT_CUE_ENTER="hlsEventCueEnter",a}({});var tt={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},ye={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};class cs{constructor(e,t=0,n=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_=n}sample(e,t){const n=Math.pow(this.alpha_,e);this.estimate_=t*(1-n)+n*this.estimate_,this.totalWeight_+=e}
vendor: 4,140 bytes, line 259
259getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class HR{constructor(e,t,n,i=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_=n,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new cs(e),this.fast_=new cs(t),this.defaultTTFB_=i,this.ttfb_=new cs(e)}update(e,t){const{slow_:n,fast_:i,ttfb_:r}=this;n.halfLife!==e&&(this.slow_=new cs(e,n.getEstimate(),n.getTotalWeight())),i.halfLife!==t&&(this.fast_=new cs(t,i.getEstimate(),i.getTotalWeight())),r.halfLife!==e&&(this.ttfb_=new cs(e,r.getEstimate(),r.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);const n=8*t,i=e/1e3,r=n/i;this.fast_.sample(i,r),this.slow_.sample(i,r)}sampleTTFB(e){const t=e/1e3,n=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(n,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 VR(a,e,t){return(e=WR(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Et(){return Et=Object.assign?Object.assign.bind():function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(a[n]=t[n])}return a},Et.apply(null,arguments)}function Vp(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,n)}return t}function vt(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Vp(Object(t),!0).forEach(function(n){VR(a,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):Vp(Object(t)).forEach(function(n){Object.defineProperty(a,n,Object.getOwnPropertyDescriptor(t,n))})}return a}function KR(a,e){if(typeof a!="object"||!a)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var n=t.call(a,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function WR(a){var e=KR(a,"string");return typeof e=="symbol"?e:e+""}class Ji{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 n=`[${e}]:`;this.trace=lr,this.debug=t.debug.bind(null,n),this.log=t.log.bind(null,n),this.warn=t.warn.bind(null,n),this.info=t.info.bind(null,n),this.error=t.error.bind(null,n)}}const lr=function(){},YR={trace:lr,debug:lr,log:lr,warn:lr,info:lr,error:lr};function zc(){return Et({},YR)}function zR(a,e){const t=self.console[a];return t?t.bind(self.console,`${e?"["+e+"] ":""}[${a}] >`):lr}function Kp(a,e,t){return e[a]?e[a].bind(e):zR(a,t)}const jc=zc();function jR(a,e,t){const n=zc();if(typeof console=="object"&&a===!0||typeof a=="object"){const i=["debug","log","info","warn","error"];i.forEach(r=>{n[r]=Kp(r,a,t)});try{n.log(`Debug logs enabled for "${e}" in hls.js version 1.6.16`)}catch{return zc()}i.forEach(r=>{jc[r]=Kp(r,a)})}else Et(jc,n);return n}const yt=jc;function gr(a=!0){return typeof self>"u"?void 0:(a||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function qR(a){return typeof self<"u"&&a===self.ManagedMediaSource}function t0(a,e){const t=Object.keys(a),n=Object.keys(e),i=t.length,r=n.length;return!i||!r||i===r&&!t.some(s=>n.indexOf(s)===-1)}function Ui(a,e=!1){if(typeof TextDecoder<"u"){const u=new TextDecoder("utf-8").decode(a);if(e){const h=u.indexOf("\0");return h!==-1?u.substring(0,h):u}return u.replace(/\0/g,"")}const t=a.length;let n,i,r,s="",o=0;for(;o<t;){if(n=a[o++],n===0&&e)return s;if(n===0||n===3)continue;switch(n>>
vendor: 28,268 bytes, line 259
2594){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:s+=String.fromCharCode(n);break;case 12:case 13:i=a[o++],s+=String.fromCharCode((n&31)<<6|i&63);break;case 14:i=a[o++],r=a[o++],s+=String.fromCharCode((n&15)<<12|(i&63)<<6|(r&63)<<0);break}}return s}function ni(a){let e="";for(let t=0;t<a.length;t++){let n=a[t].toString(16);n.length<2&&(n="0"+n),e+=n}return e}function i0(a){return Uint8Array.from(a.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function XR(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var fc={exports:{}},Wp;function QR(){return Wp||(Wp=1,function(a,e){(function(t){var n=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,i=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,s=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(l,u,h){if(h=h||{},l=l.trim(),u=u.trim(),!u){if(!h.alwaysNormalize)return l;var d=o.parseURL(l);if(!d)throw new Error("Error trying to parse base URL.");return d.path=o.normalizePath(d.path),o.buildURLFromParts(d)}var g=o.parseURL(u);if(!g)throw new Error("Error trying to parse relative URL.");if(g.scheme)return h.alwaysNormalize?(g.path=o.normalizePath(g.path),o.buildURLFromParts(g)):u;var m=o.parseURL(l);if(!m)throw new Error("Error trying to parse base URL.");if(!m.netLoc&&m.path&&m.path[0]!=="/"){var v=i.exec(m.path);m.netLoc=v[1],m.path=v[2]}m.netLoc&&!m.path&&(m.path="/");var T={scheme:m.scheme,netLoc:g.netLoc,path:null,params:g.params,query:g.query,fragment:g.fragment};if(!g.netLoc&&(T.netLoc=m.netLoc,g.path[0]!=="/"))if(!g.path)T.path=m.path,g.params||(T.params=m.params,g.query||(T.query=m.query));else{var y=m.path,_=y.substring(0,y.lastIndexOf("/")+1)+g.path;T.path=o.normalizePath(_)}return T.path===null&&(T.path=h.alwaysNormalize?o.normalizePath(g.path):g.path),o.buildURLFromParts(T)},parseURL:function(l){var u=n.exec(l);return u?{scheme:u[1]||"",netLoc:u[2]||"",path:u[3]||"",params:u[4]||"",query:u[5]||"",fragment:u[6]||""}:null},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(r,"");l.length!==(l=l.replace(s,"")).length;);return l.split("").reverse().join("")},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment}};a.exports=o})()}(fc)),fc.exports}var Fh=QR();class Nh{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 xt={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class n0{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e=="string"&&(e={url:e}),this.base=e,JR(this,"stats")}setByteRange(e,t){const n=e.split("@",2);let i;n.length===1?i=(t==null?void 0:t.byteRangeEndOffset)||0:i=parseInt(n[1]),this._byteRange=[i,parseInt(n[0])+i]}get baseurl(){return this.base.url}get byteRange(){return this._byteRange===null?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return this._streams===null&&(this._streams={[xt.AUDIO]:null,[xt.VIDEO]:null,[xt.AUDIOVIDEO]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){return this._stats===null&&(this._stats=new Nh),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Fh.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[xt.AUDIO]=null,e[xt.VIDEO]=null,e[xt.AUDIOVIDEO]=null}}function Vt(a){return a.sn!=="initSegment"}class dc extends n0{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){const e=this.stats.total;if(e)return e}if(this.byteRange.length){const e=this.byteRange[0],t=this.byteRange[1];if(pe(e)&&pe(t))return t-e}return null}get bitrate(){return this.byteLength?this.byteLength*8/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;const{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!((e=this._decryptdata)!=null&&e.keyId)){const n=Object.keys(t);if(n.length===1){const i=this._decryptdata=t[n[0]]||null;i&&(this._decryptdata=i.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;const e=pe(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){var t;const n=Object.keys(this.levelkeys),i=n.length;if(i>1||i===1&&(t=this.levelkeys[n[0]])!=null&&t.encrypted)return!0}return!1}get programDateTime(){return this._programDateTime===null&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!pe(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return Vt(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){const t=this.levelkeys;if(t){var n;const i=t[e];i&&!((n=this._decryptdata)!=null&&n.keyId)&&(this._decryptdata=i.getDecryptData(this.sn,t))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,n,i,r,s=!1){const{elementaryStreams:o}=this,l=o[e];if(!l){o[e]={startPTS:t,endPTS:n,startDTS:i,endDTS:r,partial:s};return}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,n),l.startDTS=Math.min(l.startDTS,i),l.endDTS=Math.max(l.endDTS,r)}}class ZR extends n0{constructor(e,t,n,i,r){super(n),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=i;const s=e.enumeratedString("BYTERANGE");s&&this.setByteRange(s,r),r&&(this.fragOffset=r.fragOffset+r.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}function r0(a,e){const t=Object.getPrototypeOf(a);if(t){const n=Object.getOwnPropertyDescriptor(t,e);return n||r0(t,e)}}function JR(a,e){const t=r0(a,e);t&&(t.enumerable=!0,Object.defineProperty(a,e,t))}const Yp=Math.pow(2,32)-1,ek=[].push,s0={video:1,audio:2,id3:3,text:4};function zt(a){return String.fromCharCode.apply(null,a)}function a0(a,e){const t=a[e]<<8|a[e+1];return t<0?65536+t:t}function Be(a,e){const t=o0(a,e);return t<0?4294967296+t:t}function zp(a,e){let t=Be(a,e);return t*=Math.pow(2,32),t+=Be(a,e+4),t}function o0(a,e){return a[e]<<24|a[e+1]<<16|a[e+2]<<8|a[e+3]}function tk(a){const e=a.byteLength;for(let t=0;t<e;){const n=Be(a,t);if(n>8&&a[t+4]===109&&a[t+5]===111&&a[t+6]===111&&a[t+7]===102)return!0;t=n>1?t+n:e}return!1}function et(a,e){const t=[];if(!e.length)return t;const n=a.byteLength;for(let i=0;i<n;){const r=Be(a,i),s=zt(a.subarray(i+4,i+8)),o=r>1?i+r:n;if(s===e[0])if(e.length===1)t.push(a.subarray(i+8,o));else{const l=et(a.subarray(i+8,o),e.slice(1));l.length&&ek.apply(t,l)}i=o}return t}function ik(a){const e=[],t=a[0];let n=8;const i=Be(a,n);n+=4;let r=0,s=0;t===0?(r=Be(a,n),s=Be(a,n+4),n+=8):(r=zp(a,n),s=zp(a,n+8),n+=16),n+=2;let o=a.length+s;const l=a0(a,n);n+=2;for(let u=0;u<l;u++){let h=n;const d=Be(a,h);h+=4;const g=d&2147483647;if((d&2147483648)>>>31===1)return yt.warn("SIDX has hierarchical references (not supported)"),null;const v=Be(a,h);h+=4,e.push({referenceSize:g,subsegmentDuration:v,info:{duration:v/i,start:o,end:o+g-1}}),o+=g,h+=4,n=h}return{earliestPresentationTime:r,timescale:i,version:t,referencesCount:l,references:e}}function l0(a){const e=[],t=et(a,["moov","trak"]);for(let i=0;i<t.length;i++){const r=t[i],s=et(r,["tkhd"])[0];if(s){let o=s[0];const l=Be(s,o===0?12:20),u=et(r,["mdia","mdhd"])[0];if(u){o=u[0];const h=Be(u,o===0?12:20),d=et(r,["mdia","hdlr"])[0];if(d){const g=zt(d.subarray(8,12)),m={soun:xt.AUDIO,vide:xt.VIDEO}[g],v=et(r,["mdia","minf","stbl","stsd"])[0],T=nk(v);m?(e[l]={timescale:h,type:m,stsd:T},e[m]=vt({timescale:h,id:l},T)):e[l]={timescale:h,type:g,stsd:T}}}}}return et(a,["moov","mvex","trex"]).forEach(i=>{const r=Be(i,4),s=e[r];s&&(s.default={duration:Be(i,12),flags:Be(i,20)})}),e}function nk(a){const e=a.subarray(8),t=e.subarray(86),n=zt(e.subarray(4,8));let i=n,r;const s=n==="enca"||n==="encv";if(s){const u=et(e,[n])[0].subarray(n==="enca"?28:78);et(u,["sinf"]).forEach(d=>{const g=et(d,["schm"])[0];if(g){const m=zt(g.subarray(4,8));if(m==="cbcs"||m==="cenc"){const v=et(d,["frma"])[0];v&&(i=zt(v))}}})}const o=i;switch(i){case"avc1":case"avc2":case"avc3":case"avc4":{const l=et(t,["avcC"])[0];l&&l.length>3&&(i+="."+Io(l[1])+Io(l[2])+Io(l[3]),r=bo(o==="avc1"?"dva1":"dvav",t));break}case"mp4a":{const l=et(e,[n])[0],u=et(l.subarray(28),["esds"])[0];if(u&&u.length>7){let h=4;if(u[h++]!==3)break;h=gc(u,h),h+=2;const d=u[h++];if(d&128&&(h+=2),d&64&&(h+=u[h++]),u[h++]!==4)break;h=gc(u,h);const g=u[h++];if(g===64)i+="."+Io(g);else break;if(h+=12,u[h++]!==5)break;h=gc(u,h);const m=u[h++];let v=(m&248)>>3;v===31&&(v+=1+((m&7)<<3)+((u[h]&224)>>5)),i+="."+v}break}case"hvc1":case"hev1":{const l=et(t,["hvcC"])[0];if(l&&l.length>12){const u=l[1],h=["","A","B","C"][u>>6],d=u&31,g=Be(l,2),m=(u&32)>>5?"H":"L",v=l[12],T=l.subarray(6,12);i+="."+h+d,i+="."+rk(g).toString(16).toUpperCase(),i+="."+m+v;let y="";for(let _=T.length;_--;){const x=T[_];(x||y)&&(y="."+x.toString(16).toUpperCase()+y)}i+=y}r=bo(o=="hev1"?"dvhe":"dvh1",t);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{i=bo(i,t)||i;break}case"vp09":{const l=et(t,["vpcC"])[0];if(l&&l.length>6){const u=l[4],h=l[5],d=l[6]>>4&15;i+="."+mn(u)+"."+mn(h)+"."+mn(d)}break}case"av01":{const l=et(t,["av1C"])[0];if(l&&l.length>2){const u=l[1]>>>5,h=l[1]&31,d=l[2]>>>7?"H":"M",g=(l[2]&64)>>6,m=(l[2]&32)>>5,v=u===2&&g?m?12:10:g?10:8,T=(l[2]&16)>>4,y=(l[2]&8)>>3,_=(l[2]&4)>>2,x=l[2]&3;i+="."+u+"."+mn(h)+d+"."+mn(v)+"."+T+"."+y+_+x+"."+mn(1)+"."+mn(1)+"."+mn(1)+"."+0,r=bo("dav1",t)}break}}return{codec:i,encrypted:s,supplemental:r}}function bo(a,e){const t=et(e,["dvvC"]),n=t.length?t[0]:et(e,["dvcC"])[0];if(n){const i=n[2]>>1&127,r=n[2]<<5&32|n[3]>>3&31;return a+"."+mn(i)+"."+mn(r)}}function rk(a){let e=0;for(let t=0;t<32;t++)e|=(a>>t&1)<<31-t;return e>>>0}function gc(a,e){const t=e+5;for(;a[e++]&128&&e<t;);return e}function Io(a){return("0"+a.toString(16).toUpperCase()).slice(-2)}function mn(a){return(a<10?"0":"")+a}function sk(a,e){if(!a||!e)return;const t=e.keyId;t&&e.isCommonEncryption&&u0(a,(n,i)=>{const r=n.subarray(8,24);r.some(s=>s!==0)||(yt.log(`[eme] Patching keyId in 'enc${i?"a":"v"}>sinf>>tenc' box: ${ni(r)} -> ${ni(t)}`),n.set(t,8))})}function ak(a){const e=[];return u0(a,t=>e.push(t.subarray(8,24))),e}function u0(a,e){et(a,["moov","trak"]).forEach(n=>{const i=et(n,["mdia","minf","stbl","stsd"])[0];if(!i)return;const r=i.subarray(8);let s=et(r,["enca"]);const o=s.length>0;o||(s=et(r,["encv"])),s.forEach(l=>{const u=o?l.subarray(28):l.subarray(78);et(u,["sinf"]).forEach(d=>{const g=c0(d);g&&e(g,o)})})})}function c0(a){const e=et(a,["schm"])[0];if(e){const t=zt(e.subarray(4,8));if(t==="cbcs"||t==="cenc"){const n=et(a,["schi","tenc"])[0];if(n)return n}}}function ok(a,e,t){const n={},i=et(a,["moof","traf"]);for(let r=0;r<i.length;r++){const s=i[r],o=et(s,["tfhd"])[0],l=Be(o,4),u=e[l];if(!u)continue;n[l]||(n[l]={start:NaN,duration:0,sampleCount:0,timescale:u.timescale,type:u.type});const h=n[l],d=et(s,["tfdt"])[0];if(d){const b=d[0];let R=Be(d,4);b===1&&(R===Yp?t.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(R*=Yp+1,R+=Be(d,8))),pe(R)&&(!pe(h.start)||R<h.start)&&(h.start=R)}const g=u.default,m=Be(o,0)|(g==null?void 0:g.flags);let v=(g==null?void 0:g.duration)||0;m&8&&(m&2?v=Be(o,12):v=Be(o,8));const T=et(s,["trun"]);let y=h.start||0,_=0,x=v;for(let b=0;b<T.length;b++){const R=T[b],A=Be(R,4),F=h.sampleCount;h.sampleCount+=A;const w=R[3]&1,M=R[3]&4,O=R[2]&1,P=R[2]&2,K=R[2]&4,ee=R[2]&8;let le=8,ae=A;for(w&&(le+=4),M&&A&&(!(R[le+1]&1)&&h.keyFrameIndex===void 0&&(h.keyFrameIndex=F),le+=4,O?(x=Be(R,le),le+=4):x=v,P&&(le+=4),ee&&(le+=4),y+=x,_+=x,ae--);ae--;)O?(x=Be(R,le),le+=4):x=v,P&&(le+=4),K&&(R[le+1]&1||h.keyFrameIndex===void 0&&(h.keyFrameIndex=h.sampleCount-(ae+1),h.keyFrameStart=y),le+=4),ee&&(le+=4),y+=x,_+=x;!_&&v&&(_+=v*A)}h.duration+=_}if(!Object.keys(n).some(r=>n[r].duration)){let r=1/0,s=0;const o=et(a,["sidx"]);for(let l=0;l<o.length;l++){const u=ik(o[l]);if(u!=null&&u.references){r=Math.min(r,u.earliestPresentationTime/u.timescale);const h=u.references.reduce((d,g)=>d+g.info.duration||0,0);s=Math.max(s,h+u.earliestPresentationTime/u.timescale)}}s&&pe(s)&&Object.keys(n).forEach(l=>{n[l].duration||(n[l].duration=s*n[l].timescale-n[l].start)})}return n}function lk(a){const e={valid:null,remainder:null},t=et(a,["moof"]);if(t.length<2)return e.remainder=a,e;const n=t[t.length-1];return e.valid=a.slice(0,n.byteOffset-8),e.remainder=a.slice(n.byteOffset-8),e}function Zi(a,e){const t=new Uint8Array(a.length+e.length);return t.set(a),t.set(e,a.length),t}function jp(a,e){const t=[],n=e.samples,i=e.timescale,r=e.id;let s=!1;return et(n,["moof"]).map(l=>{const u=l.byteOffset-8;et(l,["traf"]).map(d=>{const g=et(d,["tfdt"]).map(m=>{const v=m[0];let T=Be(m,4);return v===1&&(T*=Math.pow(2,32),T+=Be(m,8)),T/i})[0];return g!==void 0&&(a=g),et(d,["tfhd"]).map(m=>{const v=Be(m,4),T=Be(m,0)&16777215,y=(T&1)!==0,_=(T&2)!==0,x=(T&8)!==0;let b=0;const R=(T&16)!==0;let A=0;const F=(T&32)!==0;let w=8;v===r&&(y&&(w+=8),_&&(w+=4),x&&(b=Be(m,w),w+=4),R&&(A=Be(m,w),w+=4),F&&(w+=4),e.type==="video"&&(s=Cl(e.codec)),et(d,["trun"]).map(M=>{const O=M[0],P=Be(M,0)&16777215,K=(P&1)!==0;let ee=0;const le=(P&4)!==0,ae=(P&256)!==0;let q=0;const B=(P&512)!==0;let H=0;const Y=(P&1024)!==0,Q=(P&2048)!==0;let ce=0;const ne=Be(M,4);let ue=8;K&&(ee=Be(M,ue),ue+=4),le&&(ue+=4);let me=ee+u;for(let Te=0;Te<ne;Te++){if(ae?(q=Be(M,ue),ue+=4):q=b,B?(H=Be(M,ue),ue+=4):H=A,Y&&(ue+=4),Q&&(O===0?ce=Be(M,ue):ce=o0(M,ue),ue+=4),e.type===xt.VIDEO){let _e=0;for(;_e<H;){const Re=Be(n,me);if(me+=4,uk(s,n[me])){const Qe=n.subarray(me,me+Re);Bh(Qe,s?2:1,a+ce/i,t)}me+=Re,_e+=Re+4}}a+=q/i}}))})})}),t}function Cl(a){if(!a)return!1;const e=a.substring(0,4);return e==="hvc1"||e==="hev1"||e==="dvh1"||e==="dvhe"}function uk(a,e){if(a){const t=e>>1&63;return t===39||t===40}else return(e&31)===6}function Bh(a,e,t,n){const i=h0(a);let r=0;r+=e;let s=0,o=0,l=0;for(;r<i.length;){s=0;do{if(r>=i.length)break;l=i[r++],s+=l}while(l===255);o=0;do{if(r>=i.length)break;l=i[r++],o+=l}while(l===255);const u=i.length-r;let h=r;if(o<u)r+=o;else if(o>u){yt.error(`Malformed SEI payload. ${o} is too small, only ${u} bytes left to parse.`);break}if(s===4){if(i[h++]===181){const g=a0(i,h);if(h+=2,g===49){const m=Be(i,h);if(h+=4,m===1195456820){const v=i[h++];if(v===3){const T=i[h++],y=31&T,_=64&T,x=_?2+y*3:0,b=new Uint8Array(x);if(_){b[0]=T;for(let R=1;R<x;R++)b[R]=i[h++]}n.push({type:v,payloadType:s,pts:t,bytes:b})}}}}}else if(s===5&&o>16){const d=[];for(let v=0;v<16;v++){const T=i[h++].toString(16);d.push(T.length==1?"0"+T:T),(v===3||v===5||v===7||v===9)&&d.push("-")}const g=o-16,m=new Uint8Array(g);for(let v=0;v<g;v++)m[v]=i[h++];n.push({payloadType:s,pts:t,uuid:d.join(""),userData:Ui(m),userDataBytes:m})}}}function h0(a){const e=a.byteLength,t=[];let n=1;for(;n<e-2;)a[n]===0&&a[n+1]===0&&a[n+2]===3?(t.push(n+2),n+=2):n++;if(t.length===0)return a;const i=e-t.length,r=new Uint8Array(i);let s=0;for(n=0;n<i;s++,n++)s===t[0]&&(s++,t.shift()),r[n]=a[s];return r}function ck(a){const e=a[0];let t="",n="",i=0,r=0,s=0,o=0,l=0,u=0;if(e===0){for(;zt(a.subarray(u,u+1))!=="\0";)t+=zt(a.subarray(u,u+1)),u+=1;for(t+=zt(a.subarray(u,u+1)),u+=1;zt(a.subarray(u,u+1))!=="\0";)n+=zt(a.subarray(u,u+1)),u+=1;n+=zt(a.subarray(u,u+1)),u+=1,i=Be(a,12),r=Be(a,16),o=Be(a,20),l=Be(a,24),u=28}else if(e===1){u+=4,i=Be(a,u),u+=4;const d=Be(a,u);u+=4;const g=Be(a,u);for(u+=4,s=2**32*d+g,$R(s)||(s=Number.MAX_SAFE_INTEGER,yt.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=Be(a,u),u+=4,l=Be(a,u),u+=4;zt(a.subarray(u,u+1))!=="\0";)t+=zt(a.subarray(u,u+1)),u+=1;for(t+=zt(a.subarray(u,u+1)),u+=1;zt(a.subarray(u,u+1))!=="\0";)n+=zt(a.subarray(u,u+1)),u+=1;n+=zt(a.subarray(u,u+1)),u+=1}const h=a.subarray(u,a.byteLength);return{schemeIdUri:t,value:n,timeScale:i,presentationTime:s,presentationTimeDelta:r,eventDuration:o,id:l,payload:h}}function hk(a,...e){const t=e.length;let n=8,i=t;for(;i--;)n+=e[i].byteLength;const r=new Uint8Array(n);for(r[0]=n>>24&255,r[1]=n>>16&255,r[2]=n>>8&255,r[3]=n&255,r.set(a,4),i=0,n=8;i<t;i++)r.set(e[i],n),n+=e[i].byteLength;return r}function fk(a,e,t){if(a.byteLength!==16)throw new RangeError("Invalid system id");let n,i;n=0,i=new Uint8Array;let r;n>0?(r=new Uint8Array(4),e.length>0&&new DataView(r.buffer).setUint32(0,e.length,!1)):r=new Uint8Array;const s=new Uint8Array(4);return t.byteLength>0&&new DataView(s.buffer).setUint32(0,t.byteLength,!1),hk([112,115,115,104],new Uint8Array([n,0,0,0]),a,r,i,s,t)}function dk(a){const e=[];if(a instanceof ArrayBuffer){const t=a.byteLength;let n=0;for(;n+32<t;){const i=new DataView(a,n),r=gk(i);e.push(r),n+=r.size}}return e}function gk(a){const e=a.getUint32(0),t=a.byteOffset,n=a.byteLength;if(n<e)return{offset:t,size:n};if(a.getUint32(4)!==1886614376)return{offset:t,size:e};const r=a.getUint32(8)>>>24;if(r!==0&&r!==1)return{offset:t,size:e};const s=a.buffer,o=ni(new Uint8Array(s,t+12,16));let l=null,u=null,h=0;if(r===0)h=28;else{const g=a.getUint32(28);if(!g||n<32+g*16)return{offset:t,size:e};l=[];for(let m=0;m<g;m++)l.push(new Uint8Array(s,t+32+m*16,16));h=32+g*16}if(!h)return{offset:t,size:e};const d=a.getUint32(h);return e-32<d?{offset:t,size:e}:(u=new Uint8Array(s,t+h+4,d),{version:r,systemId:o,kids:l,data:u,offset:t,size:e})}const f0=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),Cs={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 Uh(a,e){const t=Cs[e];return!!t&&!!t[a.slice(0,4)]}function ga(a,e,t=!0){return!a.split(",").some(n=>!$h(n,e,t))}function $h(a,e,t=!0){var n;const i=gr(t);return(n=i==null?void 0:i.isTypeSupported(pa(a,e)))!=null?n:!1}function pa(a,e){return`${e}/mp4;codecs=${a}`}function qp(a){if(a){const e=a.substring(0,4);return Cs.video[e]}return 2}function al(a){const e=f0();return a.split(",").reduce((t,n)=>{const r=e&&Cl(n)?9:Cs.video[n];return r?(r*2+t)/(t?3:2):(Cs.audio[n]+t)/(t?2:1)},0)}const pc={};function pk(a,e=!0){if(pc[a])return pc[a];const t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[a];for(let i=0;i<t.length;i++){var n;if($h(t[i],"audio",e))return pc[a]=t[i],t[i];if(t[i]==="mp3"&&(n=gr(e))!=null&&n.isTypeSupported("audio/mpeg"))return""}return a}const mk=/flac|opus|mp4a\.40\.34/i;function ol(a,e=!0){return a.replace(mk,t=>pk(t.toLowerCase(),e))}function vk(a,e){const t=[];if(a){const n=a.split(",");for(let i=0;i<n.length;i++)Uh(n[i],"video")||t.push(n[i])}return e&&t.push(e),t.join(",")}function $o(a,e){if(a&&(a.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(a)!==-1)&&(Xp(a,"audio")||Xp(a,"video")))return a;if(e){const t=e.split(",");if(t.length>1){if(a){for(let n=t.length;n--;)if(t[n].substring(0,4)===a.substring(0,4))return t[n]}return t[0]}}return e||a}function Xp(a,e){return Uh(a,e)&&$h(a,e)}function yk(a){const e=a.split(",");for(let t=0;t<e.length;t++){const n=e[t].split(".");n.length>2&&n[0]==="avc1"&&(e[t]=`avc1.${parseInt(n[1]).toString(16)}${("000"+parseInt(n[2]).toString(16)).slice(-4)}`)}return e.join(",")}function Tk(a){if(a.startsWith("av01.")){const e=a.split("."),t=["0","111","01","01","01","0"];for(let n=e.length;n>4&&n<10;n++)e[n]=t[n-4];return e.join(".")}return a}function Qp(a){const e=gr(a)||{isTypeSupported:()=>!1};return{mpeg:e.isTypeSupported("audio/mpeg"),mp3:e.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:e.isTypeSupported('audio/mp4; codecs="ac-3"')}}function qc(a){return a.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}const Ek={supported:!0,powerEfficient:!0,smooth:!0},_k={supported:!1,smooth:!1,powerEfficient:!1},d0={supported:!0,configurations:[],decodingInfoResults:[Ek]};function g0(a,e){return{supported:!1,configurations:e,decodingInfoResults:[_k],error:a}}function Sk(a,e,t,n,i,r){const s=a.videoCodec,o=a.audioCodec?a.audioGroups:null,l=r==null?void 0:r.audioCodec,u=r==null?void 0:r.channels,h=u?parseInt(u):l?1/0:2;let d=null;if(o!=null&&o.length)try{o.length===1&&o[0]?d=e.groups[o[0]].channels:d=o.reduce((g,m)=>{if(m){const v=e.groups[m];if(!v)throw new Error(`Audio track group ${m} not found`);Object.keys(v.channels).forEach(T=>{g[T]=(g[T]||0)+v.channels[T]})}return g},{2:0})}catch{return!0}return s!==void 0&&(s.split(",").some(g=>Cl(g))||a.width>1920&&a.height>1088||a.height>1920&&a.width>1088||a.frameRate>Math.max(n,30)||a.videoRange!=="SDR"&&a.videoRange!==t||a.bitrate>Math.max(i,8e6))||!!d&&pe(h)&&Object.keys(d).some(g=>parseInt(g)>h)}function p0(a,e,t,n={}){const i=a.videoCodec;if(!i&&!a.audioCodec||!t)return Promise.resolve(d0);const r=[],s=xk(a),o=s.length,l=bk(a,e,o>0),u=l.length;for(let h=o||1*u||1;h--;){const d={type:"media-source"};if(o&&(d.video=s[h%o]),u){d.audio=l[h%u];const g=d.audio.bitrate;d.video&&g&&(d.video.bitrate-=g)}r.push(d)}if(i){const h=navigator.userAgent;if(i.split(",").some(d=>Cl(d))&&f0())return Promise.resolve(g0(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${h})`),r))}return Promise.all(r.map(h=>{const d=Ak(h);return n[d]||(n[d]=t.decodingInfo(h))})).then(h=>({supported:!h.some(d=>!d.supported),configurations:r,decodingInfoResults:h})).catch(h=>({supported:!1,configurations:r,decodingInfoResults:[],error:h}))}function xk(a){var e;const t=(e=a.videoCodec)==null?void 0:e.split(","),n=m0(a),i=a.width||640,r=a.height||480,s=a.frameRate||30,o=a.videoRange.toLowerCase();return t?t.map(l=>{const u={contentType:pa(Tk(l),"video"),width:i,height:r,bitrate:n,framerate:s};return o!=="sdr"&&(u.transferFunction=o),u}):[]}function bk(a,e,t){var n;const i=(n=a.audioCodec)==null?void 0:n.split(","),r=m0(a);return i&&a.audioGroups?a.audioGroups.reduce((s,o)=>{var l;const u=o?(l=e.groups[o])==null?void 0:l.tracks:null;return u?u.reduce((h,d)=>{if(d.groupId===o){const g=parseFloat(d.channels||"");i.forEach(m=>{const v={contentType:pa(m,"audio"),bitrate:t?Ik(m,r):r};g&&(v.channels=""+g),h.push(v)})}return h},s):s},[]):[]}function Ik(a,e){if(e<=1)return 1;let t=128e3;return a==="ec-3"?t=768e3:a==="ac-3"&&(t=64e4),Math.min(e/2,t)}function m0(a){return Math.ceil(Math.max(a.bitrate*.9,a.averageBitrate)/1e3)*1e3||1}function Ak(a){let e="";const{audio:t,video:n}=a;if(n){const i=qc(n.contentType);e+=`${i}_r${n.height}x${n.width}f${Math.ceil(n.framerate)}${n.transferFunction||"sd"}_${Math.ceil(n.bitrate/1e5)}`}if(t){const i=qc(t.contentType);e+=`${n?"_":""}${i}_c${t.channels}`}return e}const Xc=["NONE","TYPE-0","TYPE-1",null];function Ck(a){return Xc.indexOf(a)>-1}const ll=["SDR","PQ","HLG"];function Lk(a){return!!a&&ll.indexOf(a)>-1}var Go={No:"",Yes:"YES",v2:"v2"};function Zp(a){const{canSkipUntil:e,canSkipDateRanges:t,age:n}=a,i=n<e/2;return e&&i?t?Go.v2:Go.Yes:Go.No}class Jp{constructor(e,t,n){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=n}addDirectives(e){const t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class ma{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(n=>!!n).map(n=>n.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const n=(t=e.supplemental)==null?void 0:t.videoCodec;n&&n!==e.videoCodec&&(this.codecSet+=`,${n.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 em(this._audioGroups,e)}hasSubtitleGroup(e){return em(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let n=this._audioGroups;n||(n=this._audioGroups=[]),n.indexOf(t)===-1&&n.push(t)}else if(e==="text"){let n=this._subtitleGroups;n||(n=this._subtitleGroups=[]),n.indexOf(t)===-1&&n.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(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}}function em(a,e){return!e||!a?!1:a.indexOf(e)!==-1}function Rk(){if(typeof matchMedia=="function"){const a=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(a.media!==e.media)return a.matches===!0}return!1}function kk(a,e){let t=!1,n=[];if(a&&(t=a!=="SDR",n=[a]),e){n=e.allowedVideoRanges||ll.slice(0);const i=n.join("")!=="SDR"&&!e.videoCodec;t=e.preferHDR!==void 0?e.preferHDR:i&&Rk(),t||(n=["SDR"])}return{preferHDR:t,allowedVideoRanges:n}}const wk=a=>{const e=new WeakSet;return(t,n)=>
vendor: 5,354 bytes, line 259
259{if(a&&(n=a(t,n)),typeof n=="object"&&n!==null){if(e.has(n))return;e.add(n)}return n}},It=(a,e)=>JSON.stringify(a,wk(e));function Pk(a,e,t,n,i){const r=Object.keys(a),s=n==null?void 0:n.channels,o=n==null?void 0:n.audioCodec,l=i==null?void 0:i.videoCodec,u=s&&parseInt(s)===2;let h=!1,d=!1,g=1/0,m=1/0,v=1/0,T=1/0,y=0,_=[];const{preferHDR:x,allowedVideoRanges:b}=kk(e,i);for(let M=r.length;M--;){const O=a[r[M]];h||(h=O.channels[2]>0),g=Math.min(g,O.minHeight),m=Math.min(m,O.minFramerate),v=Math.min(v,O.minBitrate),b.filter(K=>O.videoRanges[K]>0).length>0&&(d=!0)}g=pe(g)?g:0,m=pe(m)?m:0;const R=Math.max(1080,g),A=Math.max(30,m);v=pe(v)?v:t,t=Math.max(v,t),d||(e=void 0);const F=r.length>1;return{codecSet:r.reduce((M,O)=>{const P=a[O];if(O===M)return M;if(_=d?b.filter(K=>P.videoRanges[K]>0):[],F){if(P.minBitrate>t)return fn(O,`min bitrate of ${P.minBitrate} > current estimate of ${t}`),M;if(!P.hasDefaultAudio)return fn(O,"no renditions with default or auto-select sound found"),M;if(o&&O.indexOf(o.substring(0,4))%5!==0)return fn(O,`audio codec preference "${o}" not found`),M;if(s&&!u){if(!P.channels[s])return fn(O,`no renditions with ${s} channel sound found (channels options: ${Object.keys(P.channels)})`),M}else if((!o||u)&&h&&P.channels[2]===0)return fn(O,"no renditions with stereo sound found"),M;if(P.minHeight>R)return fn(O,`min resolution of ${P.minHeight} > maximum of ${R}`),M;if(P.minFramerate>A)return fn(O,`min framerate of ${P.minFramerate} > maximum of ${A}`),M;if(!_.some(K=>P.videoRanges[K]>0))return fn(O,`no variants with VIDEO-RANGE of ${It(_)} found`),M;if(l&&O.indexOf(l.substring(0,4))%5!==0)return fn(O,`video codec preference "${l}" not found`),M;if(P.maxScore<y)return fn(O,`max score of ${P.maxScore} < selected max of ${y}`),M}return M&&(al(O)>=al(M)||P.fragmentError>a[M].fragmentError)?M:(T=P.minIndex,y=P.maxScore,O)},void 0),videoRanges:_,preferHDR:x,minFramerate:m,minBitrate:v,minIndex:T}}function fn(a,e){yt.log(`[abr] start candidates with "${a}" ignored because ${e}`)}function v0(a){return a.reduce((e,t)=>{let n=e.groups[t.groupId];n||(n=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),n.tracks.push(t);const i=t.channels||"2";return n.channels[i]=(n.channels[i]||0)+1,n.hasDefault=n.hasDefault||t.default,n.hasAutoSelect=n.hasAutoSelect||t.autoselect,n.hasDefault&&(e.hasDefaultAudio=!0),n.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function Dk(a,e,t,n){return a.slice(t,n+1).reduce((i,r,s)=>{if(!r.codecSet)return i;const o=r.audioGroups;let l=i[r.codecSet];l||(i[r.codecSet]=l={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:s,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!o,fragmentError:0}),l.minBitrate=Math.min(l.minBitrate,r.bitrate);const u=Math.min(r.height,r.width);return l.minHeight=Math.min(l.minHeight,u),l.minFramerate=Math.min(l.minFramerate,r.frameRate),l.minIndex=Math.min(l.minIndex,s),l.maxScore=Math.max(l.maxScore,r.score),l.fragmentError+=r.fragmentError,l.videoRanges[r.videoRange]=(l.videoRanges[r.videoRange]||0)+1,o&&o.forEach(h=>{if(!h)return;const d=e.groups[h];d&&(l.hasDefaultAudio=l.hasDefaultAudio||e.hasDefaultAudio?d.hasDefault:d.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(d.channels).forEach(g=>{l.channels[g]=(l.channels[g]||0)+d.channels[g]}))}),i},{})}function tm(a){if(!a)return a;const{lang:e,assocLang:t,characteristics:n,channels:i,audioCodec:r}=a;return{lang:e,assocLang:t,characteristics:n,channels:i,audioCodec:r}}function Sn(a,e,t){if("attrs"in a){const n=e.indexOf(a);if(n!==-1)return n}for(let n=0;n<e.length;n++){const i=e[n];if(Mr(a,i,t))return n}return-1}function Mr(a,e,t){const{groupId:n,name:i,lang:r,assocLang:s,default:o}=a,l=a.forced;return(n===void 0||e.groupId===n)&&(i===void 0||e.name===i)&&(r===void 0||Ok(r,e.lang))&&(r===void 0||e.assocLang===s)&&(o===void 0||e.default===o)&&(l===void 0||e.forced===l)&&(!("characteristics"in a)||Mk(a.characteristics||"",e.characteristics))&&(t===void 0||t(a,e))}function Ok(a,e="--"){return a.length===e.length?a===e:a.startsWith(e)||e.startsWith(a)}function Mk(a,e=""){const t=a.split(","),n=e.split(",");return t.length===n.length&&!t.some(i=>n.indexOf(i)===-1)}function wr(a,e){const{audioCodec:t,channels:n}=a;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(n===void 0||n===(e.channels||"2"))}function Fk(a,e,t,n,i){const r=e[n],o=e.reduce((g,m,v)=>{const T=m.uri;return(g[T]||(g[T]=[])).push(v),g},{})[r.uri];o.length>1&&(n=Math.max.apply(Math,o));const l=r.videoRange,u=r.frameRate,h=r.codecSet.substring(0,4),d=im(e,n,g=>{if(g.videoRange!==l||g.frameRate!==u||g.codecSet.substring(0,4)!==h)return!1;const m=g.audioGroups,v=t.filter(T=>!m||m.indexOf(T.groupId)!==-1);return Sn(a,v,i)>-1});return d>-1?d:im(e,n,g=>{const m=g.audioGroups,v=t.filter(T=>!m||m.indexOf(T.groupId)!==-1);return Sn(a,v,i)>-1})}function im(a,e,t){for(let n=e;n>-1;n--)if(t(a[n]))return n;for(let n=e+1;n<a.length;n++)if(t(a[n]))return n;return-1}function ul(a,e){var t;return!!a&&a!==((t=e.loadLevelObj)==null?void 0:t.uri)}class Nk extends Ji{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
vendor: 4,886 bytes, lines 259-269
259decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=t=>{var n;const{fragCurrent:i,partCurrent:r,hls:s}=this,{autoLevelEnabled:o,media:l}=s;if(!i||!l)return;const u=performance.now(),h=r?r.stats:i.stats,d=r?r.duration:i.duration,g=u-h.loading.start,m=s.minAutoLevel,v=i.level,T=this._nextAutoLevel;if(h.aborted||h.loaded&&h.loaded===h.total||v<=m){this.clearTimer(),this._nextAutoLevel=-1;return}if(!o)return;const y=T>-1&&T!==v,_=!!t||y;if(!_&&(l.paused||!l.playbackRate||!l.readyState))return;const x=s.mainForwardBufferInfo;if(!_&&x===null)return;const b=this.bwEstimator.getEstimateTTFB(),R=Math.abs(l.playbackRate);if(g<=Math.max(b,1e3*(d/(R*2))))return;const A=x?x.len/R:0,F=h.loading.first?h.loading.first-h.loading.start:-1,w=h.loaded&&F>-1,M=this.getBwEstimate(),O=s.levels,P=O[v],K=Math.max(h.loaded,Math.round(d*(i.bitrate||P.averageBitrate)/8));let ee=w?g-F:g;ee<1&&w&&(ee=Math.min(g,h.loaded*8/M));const le=w?h.loaded*1e3/ee:0,ae=b/1e3,q=le?(K-h.loaded)/le:K*8/M+ae;if(q<=A)return;const B=le?le*8:M,H=((n=(t==null?void 0:t.details)||this.hls.latestLevelDetails)==null?void 0:n.live)===!0,Y=this.hls.config.abrBandWidthUpFactor;let Q=Number.POSITIVE_INFINITY,ce;for(ce=v-1;ce>m;ce--){const Te=O[ce].maxBitrate,_e=!O[ce].details||H;if(Q=this.getTimeToLoadFrag(ae,B,d*Te,_e),Q<Math.min(A,d+ae))break}if(Q>=q||Q>d*10)return;w?this.bwEstimator.sample(g-Math.min(b,F),h.loaded):this.bwEstimator.sampleTTFB(g);const ne=O[ce].maxBitrate;this.getBwEstimate()*Y>ne&&this.resetEstimator(ne);const ue=this.findBestLevel(ne,m,ce,0,A,1,1);ue>-1&&(ce=ue),this.warn(`Fragment ${i.sn}${r?" part "+r.index:""} of level ${v} is loading too slowly;
260      Fragment duration: ${i.duration.toFixed(3)}
261      Time to underbuffer: ${A.toFixed(3)} s
262      Estimated load time for current fragment: ${q.toFixed(3)} s
263      Estimated load time for down switch fragment: ${Q.toFixed(3)} s
264      TTFB estimate: ${F|0} ms
265      Current BW estimate: ${pe(M)?M|0:"Unknown"} bps
266      New BW estimate: ${this.getBwEstimate()|0} bps
267      Switching to level ${ce} @ ${ne|0} bps`),s.nextLoadLevel=s.nextAutoLevel=ce,this.clearTimer();const me=()=>{if(this.clearTimer(),this.fragCurrent===i&&this.hls.loadLevel===ce&&ce>0){const Te=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${ce>0?"and switching down":""}
268      Fragment duration: ${i.duration.toFixed(3)} s
269      Time to underbuffer: ${Te.toFixed(3)} s`),i.abortRequests(),this.fragCurrent=this.partCurrent=null,ce>m){let _e=this.findBestLevel(this.hls.levels[m].bitrate,m,ce,0,Te,1,1);_e===-1&&(_e=m),this.hls.nextLoadLevel=this.hls.nextAutoLevel=_e,this.resetEstimator(this.hls.levels[_e].bitrate)}}};y||q>Q*2?me():this.timer=self.setInterval(me,Q*1e3),s.trigger(S.FRAG_LOAD_EMERGENCY_ABORTED,{frag:i,part:r,stats:h})},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(){const e=this.hls.config;return new HR(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.FRAG_LOADING,this.onFragLoading,this),e.on(S.FRAG_LOADED,this.onFragLoaded,this),e.on(S.FRAG_BUFFERED,this.onFragBuffered,this),e.on(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(S.LEVEL_LOADED,this.onLevelLoaded,this),e.on(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(S.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.FRAG_LOADING,this.onFragLoading,this),e.off(S.FRAG_LOADED,this.onFragLoaded,this),e.off(S.FRAG_BUFFERED,this.onFragBuffered,this),e.off(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(S.LEVEL_LOADED,this.onLevelLoaded,this),e.off(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(S.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(S.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){const n=t.frag;
vendor: 3,237 bytes, line 269
269if(!this.ignoreFragment(n)){if(!n.bitrateTest){var i;this.fragCurrent=n,this.partCurrent=(i=t.part)!=null?i: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 V.BUFFER_ADD_CODEC_ERROR:case V.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case V.FRAG_LOAD_TIMEOUT:{const n=t.frag,{fragCurrent:i,partCurrent:r}=this;if(n&&i&&n.sn===i.sn&&n.level===i.level){const s=performance.now(),o=r?r.stats:n.stats,l=s-o.loading.start,u=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&u>-1){const d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(d,u),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,n,i){const r=e+n/t,s=i?e+this.lastLevelLoadSec:0;return r+s}onLevelLoaded(e,t){const n=this.hls.config,{loading:i}=t.stats,r=i.end-i.first;pe(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(n.abrEwmaSlowLive,n.abrEwmaFastLive):this.bwEstimator.update(n.abrEwmaSlowVoD,n.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:n}){const i=n?n.stats:t.stats;if(t.type===ye.MAIN&&this.bwEstimator.sampleTTFB(i.loading.first-i.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const r=n?n.duration:t.duration,s=this.hls.levels[t.level],o=(s.loaded?s.loaded.bytes:0)+i.loaded,l=(s.loaded?s.loaded.duration:0)+r;s.loaded={bytes:o,duration:l},s.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){const r={stats:i,frag:t,part:n,id:t.type};this.onFragBuffered(S.FRAG_BUFFERED,r),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){const{frag:n,part:i}=t,r=i!=null&&i.stats.loaded?i.stats:n.stats;if(r.aborted||this.ignoreFragment(n))return;const s=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(s,r.loaded),r.bwEstimate=this.getBwEstimate(),n.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==ye.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:t}=this.hls,n=this.getBwEstimate(),i=this.hls.config.maxStarvationDelay,r=this.findBestLevel(n,t,e,0,i,1,1);if(r>-1)return r;const s=this.hls.firstLevel,o=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 ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,n=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(e!==-1&&(!n||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;const r=n&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){const s=this.hls.levels;if(s.length>Math.max(e,r)&&s[e].loadError<=s[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}
269_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:t,hls:n}=this;if(n.levels.length<=1)return n.loadLevel;const{maxAutoLevel:i,config:r,minAutoLevel:s}=n,o=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),u=this.getStarvationDelay();let h=r.abrBandWidthFactor,d=r.abrBandWidthUpFactor;if(u){const y=this.findBestLevel(l,s,i,u,0,h,d);if(y>=0)return this.rebufferNotice=-1,y}let g=o?Math.min(o,r.maxStarvationDelay):r.maxStarvationDelay;if(!u){const y=this.bitrateTestDelay;y&&(g=(o?Math.min(o,r.maxLoadingDelay):r.maxLoadingDelay)-y,this.info(`bitrate test took ${Math.round(1e3*y)}ms, set first fragment max fetchDuration to ${Math.round(1e3*g)} ms`),h=d=1)}const m=this.findBestLevel(l,s,i,u,g,h,d);if(this.rebufferNotice!==m&&(this.rebufferNotice=m,this.info(`${u?"rebuffering expected":"buffer is empty"}, optimal quality level ${m}`)),m>-1)return m;const v=n.levels[s],T=n.loadLevelObj;return T&&(v==null?void 0:v.bitrate)<T.bitrate?s:n.loadLevel}getStarvationDelay(){const e=this.hls,t=e.media;if(!t)return 1/0;const n=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/n}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,n,i,r,s,o){var l;const u=i+r,h=this.lastLoadedFragLevel,d=h===-1?this.hls.firstLevel:h,{fragCurrent:g,partCurrent:m}=this,{levels:v,allAudioTracks:T,loadLevel:y,config:_}=this.hls;if(v.length===1)return 0;const x=v[d],b=!!((l=this.hls.latestLevelDetails)!=null&&l.live),R=y===-1||h===-1;let A,F="SDR",w=(x==null?void 0:x.frameRate)||0;const{audioPreference:M,videoPreference:O}=_,P=this.audioTracksByGroup||(this.audioTracksByGroup=v0(T));let K=-1;if(R){if(this.firstSelection!==-1)return this.firstSelection;const B=this.codecTiers||(this.codecTiers=Dk(v,P,t,n)),H=Pk(B,F,e,M,O),{codecSet:Y,videoRanges:Q,minFramerate:ce,minBitrate:ne,minIndex:ue,preferHDR:me}=H;K=ue,A=Y,F=me?Q[Q.length-1]:Q[0],w=ce,e=Math.max(e,ne),this.log(`picked start tier ${It(H)}`)}else A=x==null?void 0:x.codecSet,F=x==null?void 0:x.videoRange;const ee=m?m.duration:g?g.duration:0,le=this.bwEstimator.getEstimateTTFB()/1e3,ae=[];for(let B=n;B>=t;B--){var q;const H=v[B],Y=B>d;if(!H)continue;if(_.useMediaCapabilities&&!H.supportedResult&&!H.supportedPromise){const _e=navigator.mediaCapabilities;typeof(_e==null?void 0:_e.decodingInfo)=="function"&&Sk(H,P,F,w,e,M)?(H.supportedPromise=p0(H,P,_e,this.supportedCache),H.supportedPromise.then(Re=>{if(!this.hls)return;H.supportedResult=Re;const Qe=this.hls.levels,Ge=Qe.indexOf(H);Re.error?this.warn(`MediaCapabilities decodingInfo error: "${Re.error}" for level ${Ge} ${It(Re)}`):Re.supported?Re.decodingInfoResults.some(pt=>pt.smooth===!1||pt.powerEfficient===!1)&&this.log(`MediaCapabilities decodingInfo for level ${Ge} not smooth or powerEfficient: ${It(Re)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${Ge} ${It(Re)}`),Ge>-1&&Qe.length>1&&(this.log(`Removing unsupported level ${Ge}`),this.hls.removeLevel(Ge),this.hls.loadLevel===-1&&(this.hls.nextLoadLevel=0)))}).catch(Re=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${Re}`)})):H.supportedResult=d0}if((A&&H.codecSet!==A||F&&H.videoRange!==F||Y&&w>H.frameRate||!Y&&w>0&&w<H.frameRate||(q=H.supportedResult)!=null&&(q=q.decodingInfoResults)!=null&&q.some(_e=>_e.smooth===!1))&&(!R||B!==K)){ae.push(B);continue}const Q=H.details,ce=(m?Q==null?void 0:Q.partTarget:Q==null?void 0:Q.averagetargetduration)||ee;let ne;Y?ne=o*e:ne=s*e;const ue=ee&&i>=ee*2&&r===0?H.averageBitrate:H.maxBitrate,me=this.getTimeToLoadFrag(le,ne,ue*ce,Q===void 0);if(ne>=ue&&(B===h||H.loadError===0&&H.fragmentError===0)&&(me<=le||!pe(me)||b&&!this.bitrateTestDelay||me<u)){const _e=this.forcedAutoLevel;return B!==y&&(_e===-1||_e!==y)&&(ae.length&&this.trace(`Skipped level(s) ${ae.join(",")} of ${n} max with CODECS and VIDEO-RANGE:"${v[ae[0]].codecs}" ${v[ae[0]].videoRange}; not compatible with "${A}" ${F}`),this.info(`switch candidate:${d}->${B} adjustedbw(${Math.round(ne)})-bitrate=${Math.round(ne-ue)} ttfb:${le.toFixed(1)} avgDuration:${ce.toFixed(1)} maxFetchDuration:${u.toFixed(1)} fetchDuration:${me.toFixed(1)}
269 firstSelection:${R} codecSet:${H.codecSet} videoRange:${H.videoRange} hls.loadLevel:${y}`)),R&&(this.firstSelection=B),B}}return-1}set nextAutoLevel(e){const t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){const{maxAutoLevel:t,minAutoLevel:n}=this.hls;return Math.min(Math.max(e,n),t)}}const y0={search:function(a,e){let t=0,n=a.length-1,i=null,r=null;for(;t<=n;){i=(t+n)/2|0,r=a[i];const s=e(r);if(s>0)t=i+1;else if(s<0)n=i-1;else return r}return null}};function Bk(a,e,t){if(e===null||!Array.isArray(a)||!a.length||!pe(e))return null;const n=a[0].programDateTime;if(e<(n||0))return null;const i=a[a.length-1].endProgramDateTime;if(e>=(i||0))return null;for(let r=0;r<a.length;++r){const s=a[r];if($k(e,t,s))return s}return null}function Fr(a,e,t=0,n=0,i=.005){let r=null;if(a){r=e[1+a.sn-e[0].sn]||null;const o=a.endDTS-t;o>0&&o<15e-7&&(t+=15e-7),r&&a.level!==r.level&&r.end<=a.end&&(r=e[2+a.sn-e[0].sn]||null)}else t===0&&e[0].start===0&&(r=e[0]);if(r&&((!a||a.level===r.level)&&nm(t,n,r)===0||Uk(r,a,Math.min(i,n))))return r;const s=y0.search(e,nm.bind(null,t,n));return s&&(s!==a||!r)?s:r}function Uk(a,e,t){if(e&&e.start===0&&e.level<a.level&&(e.endPTS||0)>0){const n=e.tagList.reduce((i,r)=>(r[0]==="INF"&&(i+=parseFloat(r[1])),i),t);return a.start<=n}return!1}function nm(a=0,e=0,t){if(t.start<=a&&t.start+t.duration>a)return 0;const n=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-n<=a?1:t.start-n>a&&t.start?-1:0}function $k(a,e,t){const n=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-n>a}function T0(a,e,t){if(a&&a.startCC<=e&&a.endCC>=e){let n=a.fragments;const{fragmentHint:i}=a;i&&(n=n.concat(i));let r;return y0.search(n,s=>s.cc<e?1:s.cc>e?-1:(r=s,s.end<=t?1:s.start>t?-1:0)),r||null}return null}function cl(a){switch(a.details){case V.FRAG_LOAD_TIMEOUT:case V.KEY_LOAD_TIMEOUT:case V.LEVEL_LOAD_TIMEOUT:case V.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function E0(a){return a.details.startsWith("key")}function _0(a){return E0(a)&&!!a.frag&&!a.frag.decryptdata}function rm(a,e){const t=cl(e);return a.default[`${t?"timeout":"error"}Retry`]}function Gh(a,e){const t=a.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*a.retryDelayMs,a.maxRetryDelayMs)}function sm(a){return vt(vt({},a),{errorRetry:null,timeoutRetry:null})}function hl(a,e,t,n){if(!a)return!1;const i=n==null?void 0:n.code,r=e<a.maxNumRetry&&(Gk(i)||!!t);return a.shouldRetry?a.shouldRetry(a,e,t,n,r):r}function Gk(a){return Qc(a)||!!a&&(a<400||a>499)}function Qc(a){return a===0&&navigator.onLine===!1}var ii={DoNothing:0,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,RetryRequest:5},Pi={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4};class Hk extends Ji{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(S.ERROR,this.onError,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(S.ERROR,this.onError,this),e.off(S.ERROR,this.onErrorOut,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===ye.MAIN?e.level:this.getVariantIndex()}getVariantIndex(){var e;const t=this.hls,n=t.currentLevel;return(e=t.loadLevelObj)!=null&&e.details||n===-1?t.loadLevel:n}variantHasKey(e,t){if(e){var n;if((n=e.details)!=null&&n.hasKey(t))return!0;const i=e.audioGroups;if(i)return this.hls.allAudioTracks.filter(s=>i.indexOf(s.groupId)>=0).some(s=>{var o;return(o=s.details)==null?void 0:o.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var n;if(t.fatal)return;const i=this.hls,r=t.context;switch(t.details){case V.FRAG_LOAD_ERROR:case V.FRAG_LOAD_TIMEOUT:case V.KEY_LOAD_ERROR:case V.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case V.FRAG_PARSING_ERROR:if((n=t.frag)!=null&&n.gap){t.errorAction=_s();return}case V.FRAG_GAP:case V.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ii.SendAlternateToPenaltyBox;return}case V.LEVEL_EMPTY_ERROR:case V.LEVEL_PARSING_ERROR:{var s;const l=t.parent===ye.MAIN?t.level:i.loadLevel;t.details===V.LEVEL_EMPTY_ERROR&&((s=t.context)!=null&&(s=s.levelDetails)!=null&&s.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,l):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,l))}return;case V.LEVEL_LOAD_ERROR:case V.LEVEL_LOAD_TIMEOUT:typeof(r==null?void 0:r.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.level));return;case V.AUDIO_TRACK_LOAD_ERROR:case V.AUDIO_TRACK_LOAD_TIMEOUT:case V.SUBTITLE_LOAD_ERROR:case V.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){const l=i.loadLevelObj;if(l&&(r.type===tt.AUDIO_TRACK&&l.hasAudioGroup(r.groupId)||r.type===tt.SUBTITLE_TRACK&&l.hasSubtitleGroup(r.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.loadLevel),t.errorAction.action=ii.SendAlternateToPenaltyBox,t.errorAction.flags=Pi.MoveAllAlternatesMatchingHost;return}}return;case V.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:ii.SendAlternateToPenaltyBox,flags:Pi.MoveAllAlternatesMatchingHDCP};return;case V.KEY_SYSTEM_SESSION_UPDATE_FAILED:case V.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case V.KEY_SYSTEM_NO_SESSION:t.errorAction={action:ii.SendAlternateToPenaltyBox,flags:Pi.MoveAllAlternatesMatchingKey};return;
vendor: 11,098 bytes, line 269
269case V.BUFFER_ADD_CODEC_ERROR:case V.REMUX_ALLOC_ERROR:case V.BUFFER_APPEND_ERROR:if(!t.errorAction){var o;t.errorAction=this.getLevelSwitchAction(t,(o=t.level)!=null?o:i.loadLevel)}return;case V.INTERNAL_EXCEPTION:case V.BUFFER_APPENDING_ERROR:case V.BUFFER_FULL_ERROR:case V.LEVEL_SWITCH_ERROR:case V.BUFFER_STALLED_ERROR:case V.BUFFER_SEEK_OVER_HOLE:case V.BUFFER_NUDGE_ON_STALL:t.errorAction=_s();return}t.type===Se.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=_s())}getPlaylistRetryOrSwitchAction(e,t){const n=this.hls,i=rm(n.config.playlistLoadPolicy,e),r=this.playlistError++;if(hl(i,r,cl(e),e.response))return{action:ii.RetryRequest,flags:Pi.None,retryConfig:i,retryCount:r};const o=this.getLevelSwitchAction(e,t);return i&&(o.retryConfig=i,o.retryCount=r),o}getFragRetryOrSwitchAction(e){const t=this.hls,n=this.getVariantLevelIndex(e.frag),i=t.levels[n],{fragLoadPolicy:r,keyLoadPolicy:s}=t.config,o=rm(E0(e)?s:r,e),l=t.levels.reduce((h,d)=>h+d.fragmentError,0);if(i&&(e.details!==V.FRAG_GAP&&i.fragmentError++,!_0(e)&&hl(o,l,cl(e),e.response)))return{action:ii.RetryRequest,flags:Pi.None,retryConfig:o,retryCount:l};const u=this.getLevelSwitchAction(e,n);return o&&(u.retryConfig=o,u.retryCount=l),u}getLevelSwitchAction(e,t){const n=this.hls;t==null&&(t=n.loadLevel);const i=this.hls.levels[t];if(i){var r,s;const u=e.details;i.loadError++,u===V.BUFFER_APPEND_ERROR&&i.fragmentError++;let h=-1;const{levels:d,loadLevel:g,minAutoLevel:m,maxAutoLevel:v}=n;!n.autoLevelEnabled&&!n.config.preserveManualLevelOnError&&(n.loadLevel=-1);const T=(r=e.frag)==null?void 0:r.type,_=(T===ye.AUDIO&&u===V.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(u===V.BUFFER_ADD_CODEC_ERROR||u===V.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:F})=>i.audioCodec!==F),b=e.sourceBufferName==="video"&&(u===V.BUFFER_ADD_CODEC_ERROR||u===V.BUFFER_APPEND_ERROR)&&d.some(({codecSet:F,audioCodec:w})=>i.codecSet!==F&&i.audioCodec===w),{type:R,groupId:A}=(s=e.context)!=null?s:{};for(let F=d.length;F--;){const w=(F+g)%d.length;if(w!==g&&w>=m&&w<=v&&d[w].loadError===0){var o,l;const M=d[w];if(u===V.FRAG_GAP&&T===ye.MAIN&&e.frag){const O=d[w].details;if(O){const P=Fr(e.frag,O.fragments,e.frag.start);if(P!=null&&P.gap)continue}}else{if(R===tt.AUDIO_TRACK&&M.hasAudioGroup(A)||R===tt.SUBTITLE_TRACK&&M.hasSubtitleGroup(A))continue;if(T===ye.AUDIO&&(o=i.audioGroups)!=null&&o.some(O=>M.hasAudioGroup(O))||T===ye.SUBTITLE&&(l=i.subtitleGroups)!=null&&l.some(O=>M.hasSubtitleGroup(O))||_&&i.audioCodec===M.audioCodec||b&&i.codecSet===M.codecSet||!_&&i.codecSet!==M.codecSet)continue}h=w;break}}if(h>-1&&n.loadLevel!==h)return e.levelRetry=!0,this.playlistError=0,{action:ii.SendAlternateToPenaltyBox,flags:Pi.None,nextAutoLevel:h}}return{action:ii.SendAlternateToPenaltyBox,flags:Pi.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var n;switch((n=t.errorAction)==null?void 0:n.action){case ii.DoNothing:break;case ii.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==V.FRAG_GAP?t.fatal=!0:/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());break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){const t=this.hls,n=e.errorAction;if(!n)return;const{flags:i}=n,r=n.nextAutoLevel;switch(i){case Pi.None:this.switchLevel(e,r);break;case Pi.MoveAllAlternatesMatchingHDCP:{const l=this.getVariantLevelIndex(e.frag),u=t.levels[l],h=u==null?void 0:u.attrs["HDCP-LEVEL"];if(n.hdcpLevel=h,h==="NONE")this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(h){t.maxHdcpLevel=Xc[Xc.indexOf(h)-1],n.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case Pi.MoveAllAlternatesMatchingKey:{const l=e.decryptdata;if(l){const u=this.hls.levels,h=u.length;for(let g=h;g--;)if(this.variantHasKey(u[g],l)){var s,o;this.log(`Banned key found in level ${g} (${u[g].bitrate}bps) or audio group "${(s=u[g].audioGroups)==null?void 0:s.join(",")}" (${(o=e.frag)==null?void 0:o.type} fragment) ${ni(l.keyId||[])}`),u[g].fragmentError++,u[g].loadError++,this.log(`Removing level ${g} with key error (${e.error})`),this.hls.removeLevel(g)}const d=e.frag;if(this.hls.levels.length<h)n.resolved=!0;else if(d&&d.type!==ye.MAIN){const g=d.decryptdata;g&&!l.matches(g)&&(n.resolved=!0)}}break}}n.resolved||this.switchLevel(e,r)}switchLevel(e,t){if(t!==void 0&&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===V.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo")){const n=qc(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)i[r][`${e.sourceBufferName}Codec`]===n&&(this.log(`Removing level ${r} for ${e.details} ("${n}" not supported)`),this.hls.removeLevel(r))}}}function _s(a){const e={action:ii.DoNothing,flags:Pi.None};return a&&(e.resolved=!0),e}var qt={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class Vk{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(){const{hls:e}=this;e&&(e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.BUFFER_APPENDED,this.onBufferAppended,this),e.on(S.FRAG_BUFFERED,this.onFragBuffered,this),e.on(S.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){const{hls:e}=this;e&&(e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.BUFFER_APPENDED,this.onBufferAppended,this),e.off(S.FRAG_BUFFERED,this.onFragBuffered,this),e.off(S.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){const n=this.activePartLists[t];if(n)for(let i=n.length;i--;){const r=n[i];if(!r)break;if(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,n){const{fragments:i}=this,r=Object.keys(i);for(let s=r.length;s--;){const o=i[r[s]];if((o==null?void 0:o.body.type)===t&&(!n||o.buffered)){const l=o.body;if(l.start<=e&&e<=l.end)return l}}return null}detectEvictedFragments(e,t,n,i,r){this.timeRanges&&(this.timeRanges[e]=t);const s=(i==null?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach(o=>{const l=this.fragments[o];if(!l||s>=l.body.sn)return;if(!l.buffered&&(!l.loaded||r)){l.body.type===n&&this.removeFragment(l.body);return}const u=l.range[e];if(u){if(u.time.length===0){this.removeFragment(l.body);return}u.time.some(h=>{const d=!this.isTimeBuffered(h.startPTS,h.endPTS,t);return d&&this.removeFragment(l.body),d})}})}detectPartialFragments(e){const t=this.timeRanges;if(!t||e.frag.sn==="initSegment")return;const n=e.frag,i=hs(n),r=this.fragments[i];if(!r||r.buffered&&n.gap)return;const s=!n.relurl;Object.keys(t).forEach(o=>{const l=n.elementaryStreams[o];if(!l)return;const u=t[o],h=s||l.partial===!0;r.range[o]=this.getBufferedTimes(n,e.part,h,u)}),r.loaded=null,Object.keys(r.range).length?(this.bufferedEnd(r,n),Ao(r)||this.removeParts(n.sn-1,n.type)):this.removeFragment(r.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){const n=this.activePartLists[t];n&&(this.activePartLists[t]=am(n,i=>i.fragment.sn>=e))}fragBuffered(e,t){const n=hs(e);let i=this.fragments[n];!i&&t&&(i=this.fragments[n]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,this.bufferedEnd(i,e))}getBufferedTimes(e,t,n,i){const r={time:[],partial:n},s=e.start,o=e.end,l=e.minEndPTS||o,u=e.maxStartPTS||s;for(let h=0;h<i.length;h++){const d=i.start(h)-this.bufferPadding,g=i.end(h)+this.bufferPadding;if(u>=d&&l<=g){r.time.push({startPTS:Math.max(s,i.start(h)),endPTS:Math.min(o,i.end(h))});break}else if(s<g&&o>d){const m=Math.max(s,i.start(h)),v=Math.min(o,i.end(h));v>m&&(r.partial=!0,r.time.push({startPTS:m,endPTS:v}))}else if(o<=d)break}return r}getPartialFragment(e){let t=null,n,i,r,s=0;const{bufferPadding:o,fragments:l}=this;return Object.keys(l).forEach(u=>{const h=l[u];h&&Ao(h)&&(i=h.body.start-o,r=h.body.end+o,e>=i&&e<=r&&(n=Math.min(e-i,r-e),s<=n&&(t=h.body,s=n)))}),t}isEndListAppended(e){const t=this.endListFragments[e];return t!==void 0&&(t.buffered||Ao(t))}getState(e){const t=hs(e),n=this.fragments[t];return n?n.buffered?Ao(n)?qt.PARTIAL:qt.OK:qt.APPENDING:qt.NOT_LOADED}isTimeBuffered(e,t,n){let i,r;for(let s=0;s<n.length;s++){if(i=n.start(s)-this.bufferPadding,r=n.end(s)+this.bufferPadding,e>=i&&t<=r)return!0;if(t<=i)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if(t.frag.sn==="initSegment"||t.frag.bitrateTest)return;const n=t.frag,i=t.part?null:t,r=hs(n);this.fragments[r]={body:n,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){const{frag:n,part:i,timeRanges:r,type:s}=t;if(n.sn==="initSegment")return;const o=n.type;if(i){let u=this.activePartLists[o];u||(this.activePartLists[o]=u=[]),u.push(i)}this.timeRanges=r;const l=r[s];this.detectEvictedFragments(s,l,o,i)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){const t=hs(e);return!!this.fragments[t]}hasFragments(e){const{fragments:t}=this,n=Object.keys(t);if(!e)return n.length>0;for(let i=n.length;i--;){const r=t[n[i]];if((r==null?void 0:r.body.type)===e)return!0}return!1}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,n,i,r){i&&!this.hasGaps||Object.keys(this.fragments).forEach(s=>{const o=this.fragments[s];if(!o)return;const l=o.body;l.type!==n||i&&!l.gap||l.start<t&&l.end>e&&(o.buffered||r)&&this.removeFragment(l)})}removeFragment(e){const t=hs(e);e.clearElementaryStreamInfo();const n=this.activePartLists[e.type];if(n){const i=e.sn;this.activePartLists[e.type]=am(n,r=>r.fragment.sn!==i)}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;const t=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;t&&t.forEach(n=>n.clearElementaryStreamInfo())}}function Ao(a){var e,t,n;return a.buffered&&!!(a.body.gap||(e=a.range.video)!=null&&e.partial||(t=a.range.audio)!=null&&t.partial||(n=a.range.audiovideo)!=null&&n.partial)}function hs(a){return`${a.type}_${a.level}_${a.sn}`}function am(a,e){return a.filter(t=>{const n=e(t);return n||t.clearElementaryStreamInfo(),n})}var pr={cbc:0,ctr:1};class Kk{constructor(e,t,n){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=n}decrypt(e,t){switch(this.aesMode){case pr.cbc:return this.subtle.decrypt({
vendor: 19,640 bytes, line 269
269name:"AES-CBC",iv:this.aesIV},t,e);case pr.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function Wk(a){const e=a.byteLength,t=e&&new DataView(a.buffer).getUint8(e-1);return t?a.slice(0,e-t):a}class Yk{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){const t=new DataView(e),n=new Uint32Array(4);for(let i=0;i<4;i++)n[i]=t.getUint32(i*4);return n}initTable(){const e=this.sBox,t=this.invSBox,n=this.subMix,i=n[0],r=n[1],s=n[2],o=n[3],l=this.invSubMix,u=l[0],h=l[1],d=l[2],g=l[3],m=new Uint32Array(256);let v=0,T=0,y=0;for(y=0;y<256;y++)y<128?m[y]=y<<1:m[y]=y<<1^283;for(y=0;y<256;y++){let _=T^T<<1^T<<2^T<<3^T<<4;_=_>>>8^_&255^99,e[v]=_,t[_]=v;const x=m[v],b=m[x],R=m[b];let A=m[_]*257^_*16843008;i[v]=A<<24|A>>>8,r[v]=A<<16|A>>>16,s[v]=A<<8|A>>>24,o[v]=A,A=R*16843009^b*65537^x*257^v*16843008,u[_]=A<<24|A>>>8,h[_]=A<<16|A>>>16,d[_]=A<<8|A>>>24,g[_]=A,v?(v=x^m[m[m[R^x]]],T^=m[m[T]]):v=T=1}}expandKey(e){const t=this.uint8ArrayToUint32Array_(e);let n=!0,i=0;for(;i<t.length&&n;)n=t[i]===this.key[i],i++;if(n)return;this.key=t;const r=this.keySize=t.length;if(r!==4&&r!==6&&r!==8)throw new Error("Invalid aes key size="+r);const s=this.ksRows=(r+6+1)*4;let o,l;const u=this.keySchedule=new Uint32Array(s),h=this.invKeySchedule=new Uint32Array(s),d=this.sBox,g=this.rcon,m=this.invSubMix,v=m[0],T=m[1],y=m[2],_=m[3];let x,b;for(o=0;o<s;o++){if(o<r){x=u[o]=t[o];continue}b=x,o%r===0?(b=b<<8|b>>>24,b=d[b>>>24]<<24|d[b>>>16&255]<<16|d[b>>>8&255]<<8|d[b&255],b^=g[o/r|0]<<24):r>6&&o%r===4&&(b=d[b>>>24]<<24|d[b>>>16&255]<<16|d[b>>>8&255]<<8|d[b&255]),u[o]=x=(u[o-r]^b)>>>0}for(l=0;l<s;l++)o=s-l,l&3?b=u[o]:b=u[o-4],l<4||o<=4?h[l]=b:h[l]=v[d[b>>>24]]^T[d[b>>>16&255]]^y[d[b>>>8&255]]^_[d[b&255]],h[l]=h[l]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,n){const i=this.keySize+6,r=this.invKeySchedule,s=this.invSBox,o=this.invSubMix,l=o[0],u=o[1],h=o[2],d=o[3],g=this.uint8ArrayToUint32Array_(n);let m=g[0],v=g[1],T=g[2],y=g[3];const _=new Int32Array(e),x=new Int32Array(_.length);let b,R,A,F,w,M,O,P,K,ee,le,ae,q,B;const H=this.networkToHostOrderSwap;for(;t<_.length;){for(K=H(_[t]),ee=H(_[t+1]),le=H(_[t+2]),ae=H(_[t+3]),w=K^r[0],M=ae^r[1],O=le^r[2],P=ee^r[3],q=4,B=1;B<i;B++)b=l[w>>>24]^u[M>>16&255]^h[O>>8&255]^d[P&255]^r[q],R=l[M>>>24]^u[O>>16&255]^h[P>>8&255]^d[w&255]^r[q+1],A=l[O>>>24]^u[P>>16&255]^h[w>>8&255]^d[M&255]^r[q+2],F=l[P>>>24]^u[w>>16&255]^h[M>>8&255]^d[O&255]^r[q+3],w=b,M=R,O=A,P=F,q=q+4;b=s[w>>>24]<<24^s[M>>16&255]<<16^s[O>>8&255]<<8^s[P&255]^r[q],R=s[M>>>24]<<24^s[O>>16&255]<<16^s[P>>8&255]<<8^s[w&255]^r[q+1],A=s[O>>>24]<<24^s[P>>16&255]<<16^s[w>>8&255]<<8^s[M&255]^r[q+2],F=s[P>>>24]<<24^s[w>>16&255]<<16^s[M>>8&255]<<8^s[O&255]^r[q+3],x[t]=H(b^m),x[t+1]=H(F^v),x[t+2]=H(A^T),x[t+3]=H(R^y),m=K,v=ee,T=le,y=ae,t=t+4}return x.buffer}}class zk{constructor(e,t,n){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=n}expandKey(){const e=jk(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function jk(a){switch(a){case pr.cbc:return"AES-CBC";case pr.ctr:return"AES-CTR";default:throw new Error(`[FastAESKey] invalid aes mode ${a}`)}}const qk=16;class Hh{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.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const n=self.crypto;n&&(this.subtle=n.subtle||n.webkitSubtle)}catch{}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(){const{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;const n=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?Wk(n):n}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,n,i){return this.useSoftware?new Promise((r,s)=>{const o=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(o,t,n,i);const l=this.flush();l?r(l.buffer):s(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,n,i)}softwareDecrypt(e,t,n,i){const{currentIV:r,currentResult:s,remainderData:o}=this;if(i!==pr.cbc||t.byteLength!==16)return yt.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),o&&(e=Zi(o,e),this.remainderData=null);const l=this.getValidChunk(e);if(!l.length)return null;r&&(n=r);let u=this.softwareDecrypter;u||(u=this.softwareDecrypter=new Yk),u.expandKey(t);const h=s;return this.currentResult=u.decrypt(l.buffer,0,n),this.currentIV=l.slice(-16).buffer,h||null}webCryptoDecrypt(e,t,n,i){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,n,i));this.key=t,this.fastAesKey=new zk(this.subtle,t,i)}return this.fastAesKey.expandKey().then(r=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Kk(this.subtle,new Uint8Array(n),i).decrypt(e.buffer,r)):Promise.reject(new Error("web crypto not initialized"))).catch(r=>(yt.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${r.name}: ${r.message}`),this.onWebCryptoError(e,t,n,i)))}onWebCryptoError(e,t,n,i){const r=this.enableSoftwareAES;if(r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,n,i);const s=this.flush();if(s)return s.buffer}throw new Error("WebCrypto"+(r?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e;const n=e.length-e.length%qk;return n!==e.length&&(t=e.slice(0,n),this.remainderData=e.slice(n)),t}logOnce(e){this.logEnabled&&(yt.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const om=Math.pow(2,17);class Xk{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){const n=e.url;if(!n)return Promise.reject(new Nn({type:Se.NETWORK_ERROR,details:V.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${n?"part list":"url"}`),networkDetails:null}));this.abort();const i=this.config,r=i.fLoader,s=i.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(v=>v[0]==="GAP")){l(um(e));return}else e.gap=!1;const u=this.loader=r?new r(i):new s(i),h=lm(e);e.loader=u;const d=sm(i.fragLoadPolicy.default),g={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:om};e.stats=u.stats;const m={onSuccess:(v,T,y,_)=>{this.resetLoader(e,u);let x=v.data;y.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(x.slice(0,16)),x=x.slice(16)),o({frag:e,part:null,payload:x,networkDetails:_})},onError:(v,T,y,_)=>{this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:vt({url:n,data:void 0},v),error:new Error(`HTTP Error ${v.code} ${v.text}`),networkDetails:y,stats:_}))},onAbort:(v,T,y)=>{this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:y,stats:v}))},onTimeout:(v,T,y)=>{this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${g.timeout}ms`),networkDetails:y,stats:v}))}};t&&(m.onProgress=(v,T,y,_)=>t({frag:e,part:null,payload:y,networkDetails:_})),u.load(h,g,m)})}loadPart(e,t,n){this.abort();const i=this.config,r=i.fLoader,s=i.loader;return new Promise((o,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(um(e,t));return}const u=this.loader=r?new r(i):new s(i),h=lm(e,t);e.loader=u;const d=sm(i.fragLoadPolicy.default),g={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:om};t.stats=u.stats,u.load(h,g,{onSuccess:(m,v,T,y)=>{this.resetLoader(e,u),this.updateStatsFromPart(e,t);const _={frag:e,part:t,payload:m.data,networkDetails:y};n(_),o(_)},onError:(m,v,T,y)=>{this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:vt({url:h.url,data:void 0},m),error:new Error(`HTTP Error ${m.code} ${m.text}`),networkDetails:T,stats:y}))},onAbort:(m,v,T)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:T,stats:m}))},onTimeout:(m,v,T)=>{this.resetLoader(e,u),l(new Nn({type:Se.NETWORK_ERROR,details:V.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${g.timeout}ms`),networkDetails:T,stats:m}))}})})}updateStatsFromPart(e,t){const n=e.stats,i=t.stats,r=i.total;if(n.loaded+=i.loaded,r){const l=Math.round(e.duration/t.duration),u=Math.min(Math.round(n.loaded/r),l),d=(l-u)*Math.round(n.loaded/u);n.total=n.loaded+d}else n.total=Math.max(n.loaded,n.total);const s=n.loading,o=i.loading;s.start?s.first+=o.first-o.start:(s.start=o.start,s.first=o.first),s.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function lm(a,e=null){const t=e||a,n={frag:a,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},i=t.byteRangeStartOffset,r=t.byteRangeEndOffset;if(pe(i)&&pe(r)){var s;let o=i,l=r;if(a.sn==="initSegment"&&Qk((s=a.decryptdata)==null?void 0:s.method)){const u=r-i;u%16&&(l=r+(16-u%16)),i!==0&&(n.resetIV=!0,o=i-16)}n.rangeStart=o,n.rangeEnd=l}return n}function um(a,e){const t=new Error(`GAP ${a.gap?"tag":"attribute"} found`),n={type:Se.MEDIA_ERROR,details:V.FRAG_GAP,fatal:!1,frag:a,error:t,networkDetails:null};return e&&(n.part=e),(e||a).stats.aborted=!0,new Nn(n)}function Qk(a){return a==="AES-128"||a==="AES-256"}class Nn extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class S0 extends Ji{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?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class Vh{constructor(e,t,n,i=0,r=-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=Co(),this.buffering={audio:Co(),video:Co(),audiovideo:Co()},this.level=e,this.sn=t,this.id=n,this.size=i,this.part=r,this.partial=s}}function Co(){return{start:0,executeStart:0,executeEnd:0,end:0}}const cm={length:0,start:()=>0,end:()=>0};class Ve{static isBuffered(e,t){if(e){const n=Ve.getBuffered(e);for(let i=n.length;i--;)if(t>=n.start(i)&&t<=n.end(i))return!0}return!1}static bufferedRanges(e){if(e){const t=Ve.getBuffered(e);return Ve.timeRangesToArray(t)}return[]}static timeRangesToArray(e){const t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}static bufferInfo(e,t,n){if(e){const i=Ve.bufferedRanges(e);if(i.length)return Ve.bufferedInfo(i,t,n)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,n){t=Math.max(0,t),e.length>1&&e.sort((h,d)=>h.start-d.start||d.end-h.end);let i=-1,r=[];if(n)for(let h=0;h<e.length;h++){t>=e[h].start&&t<=e[h].end&&(i=h);const d=r.length;if(d){const g=r[d-1].end;e[h].start-g<n?e[h].end>g&&(r[d-1].end=e[h].end):r.push(e[h])}else r.push(e[h])}else r=e;let s=0,o,l=t,u=t;for(let h=0;h<r.length;h++){const d=r[h].start,g=r[h].end;if(i===-1&&t>=d&&t<=g&&(i=h),t+n>=d&&t<g)l=d,u=g,s=u-t;else if(t+n<d){o=d;break}}return{len:s,start:l||0,end:u||0,nextStart:o,buffered:e,bufferedIndex:i}}static getBuffered(e){try{return e.buffered||cm}catch(t){return yt.log("failed to get media.buffered",t),cm}}}const x0=/\{\$([a-zA-Z0-9-_]+)\}/g;function hm(a){return x0.test(a)}function Zc(a,e){if(a.variableList!==null||a.hasVariableRefs){const t=a.variableList;return e.replace(x0,n=>{const i=n.substring(2,n.length-1),r=t==null?void 0:t[i];return r===void 0?(a.playlistParsingError||(a.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${i}"`)),n):r})}return e}function fm(a,e,t){let n=a.variableList;n||(a.variableList=n={});let i,r;if("QUERYPARAM"in e){i=e.QUERYPARAM;try{const s=new self.URL(t).searchParams;if(s.has(i))r=s.get(i);else throw new Error(`"${i}" does not match any query parameter in URI: "${t}"`)}catch(s){a.playlistParsingError||(a.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${s.message}`))}}else i=e.NAME,r=e.VALUE;i in n?a.playlistParsingError||(a.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${i}"`)):n[i]=r||""}function Zk(a,e,t){const n=e.IMPORT;if(t&&n in t){let i=a.variableList;i||(a.variableList=i={}),i[n]=t[n]}else a.playlistParsingError||(a.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${n}"`))}const Jk=/^(\d+)x(\d+)$/,dm=/(.+?)=(".*?"|.*?)(?:,|$)/g;class Mt{constructor(e,t){typeof e=="string"&&(e=Mt.parseAttrList(e,t)),Et(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){const 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);t=(t.length&1?"0":"")+t;const n=new Uint8Array(t.length/2);for(let i=0;i<t.length/2;i++)n[i]=parseInt(t.slice(i*2,i*2+2),16);return n}return null}hexadecimalIntegerAsNumber(e){const t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){const n=this[e];return n?parseFloat(n):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){const n=this[e];return(n?n.split(/[ ,]+/):[]).reduce((i,r)=>(i[r.toLowerCase()]=!0,i),t)}bool(e){return this[e]==="YES"}decimalResolution(e){const t=Jk.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let n;const i={},r='"';for(dm.lastIndex=0;(n=dm.exec(e))!==null;){const s=n[1].trim();let o=n[2];const l=o.indexOf(r)===0&&o.lastIndexOf(r)===o.length-1;let u=!1;if(l)o=o.slice(1,-1);else switch(s){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":u=!0}if(t&&(l||u))o=Zc(t,o);else if(!u&&!l)switch(s){case"CLOSED-CAPTIONS":if(o==="NONE")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":yt.warn(`${e}: attribute ${s} is missing quotes`)}i[s]=o}return i}}const ew="com.apple.hls.interstitial";function tw(a){return a!=="ID"&&a!=="CLASS"&&a!=="CUE"&&a!=="START-DATE"&&a!=="DURATION"&&a!=="END-DATE"&&a!=="END-ON-NEXT"}function iw(a){return a==="SCTE35-OUT"||a==="SCTE35-IN"||a==="SCTE35-CMD"}class b0{constructor(e,t,n=0){var i;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=(t==null?void 0:t.tagAnchor)||null,this.tagOrder=(i=t==null?void 0:t.tagOrder)!=null?i:n,t){const r=t.attr;for(const s in r)if(Object.prototype.hasOwnProperty.call(e,s)&&e[s]!==r[s]){yt.warn(`DATERANGE tag attribute: "${s}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=s;break}e=Et(new Mt({}),r,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 r=(t==null?void 0:t.endDate)||new Date(this.attr["END-DATE"]);pe(r.getTime())&&(this._endDate=r)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){const e=this._cue;return e===void 0?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){const{tagAnchor:e}=this;return e===null||e.programDateTime===null?(yt.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(){const e=this._endDate||this._dateAtEnd;if(e)return e;const t=this.duration;return t!==null?this._dateAtEnd=new Date(this._startDate.getTime()+t*1e3):null}get duration(){if("DURATION"in this.attr){const e=this.attr.decimalFloatingPoint("DURATION");if(pe(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 this.class===ew}get isValid(){return!!this.id&&!this._badValueForSameId&&pe(this.startDate.getTime())&&(this.duration===null||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)}}const nw=10;class rw{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
vendor: 4,536 bytes, line 269
269StartTime=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}const t=this.lastPartSn-e.lastPartSn,n=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!n||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&n>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let n=t.decryptdata;return n||(t.setKeyFormat(e.keyFormat),n=t.decryptdata),!!n&&e.matches(n)})}get hasProgramDateTime(){return this.fragments.length?pe(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||nw}get drift(){const e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&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(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){const e=this.partList;if(e){const t=this.lastPartIndex;if(t!==-1){for(let n=e.length;n--;)if(e[n].index>t)return e[n].index;return t}}return 0}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){const e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function fl(a,e){return a.length===e.length?!a.some((t,n)=>t!==e[n]):!1}function gm(a,e){return!a&&!e?!0:!a||!e?!1:fl(a,e)}function Ss(a){return a==="AES-128"||a==="AES-256"||a==="AES-256-CTR"}function Kh(a){switch(a){case"AES-128":case"AES-256":return pr.cbc;case"AES-256-CTR":return pr.ctr;default:throw new Error(`invalid full segment method ${a}`)}}function Wh(a){return Uint8Array.from(atob(a),e=>e.charCodeAt(0))}function Jc(a){return Uint8Array.from(unescape(encodeURIComponent(a)),e=>e.charCodeAt(0))}function sw(a){const e=Jc(a).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function I0(a){const e=function(n,i,r){const s=n[i];n[i]=n[r],n[r]=s};e(a,0,3),e(a,1,2),e(a,4,5),e(a,6,7)}function A0(a){const e=a.split(":");let t=null;if(e[0]==="data"&&e.length===2){const n=e[1].split(";"),i=n[n.length-1].split(",");if(i.length===2){const r=i[0]==="base64",s=i[1];r?(n.splice(-1,1),t=Wh(s)):t=sw(s)}}return t}const dl=typeof self<"u"?self:void 0;var Ft={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},ri={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Ho(a){switch(a){case ri.FAIRPLAY:return Ft.FAIRPLAY;case ri.PLAYREADY:return Ft.PLAYREADY;case ri.WIDEVINE:return Ft.WIDEVINE;case ri.CLEARKEY:return Ft.CLEARKEY}}function mc(a){switch(a){case Ft.FAIRPLAY:return ri.FAIRPLAY;case Ft.PLAYREADY:return ri.PLAYREADY;case Ft.WIDEVINE:return ri.WIDEVINE;case Ft.CLEARKEY:return ri.CLEARKEY}}function ra(a){const{drmSystems:e,widevineLicenseUrl:t}=a,n=e?[Ft.FAIRPLAY,Ft.WIDEVINE,Ft.PLAYREADY,Ft.CLEARKEY].filter(i=>!!e[i]):[];return!n[Ft.WIDEVINE]&&t&&n.push(Ft.WIDEVINE),n}const C0=function(a){return dl!=null&&(a=dl.navigator)!=null&&a.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function aw(a,e,t,n){let i;switch(a){case Ft.FAIRPLAY:i=["cenc","sinf"];break;case Ft.WIDEVINE:case Ft.PLAYREADY:i=["cenc"];break;case Ft.CLEARKEY:i=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${a}`)}return ow(i,e,t,n)}function ow(a,e,t,n){return[{initDataTypes:a,persistentState:n.persistentState||"optional",distinctiveIdentifier:n.distinctiveIdentifier||"optional",sessionTypes:n.sessionTypes||[n.sessionType||"temporary"],audioCapabilities:e.map(r=>({contentType:`audio/mp4; codecs=${r}
269`,robustness:n.audioRobustness||"",encryptionScheme:n.audioEncryptionScheme||null})),videoCapabilities:t.map(r=>({contentType:`video/mp4; codecs=${r}`,robustness:n.videoRobustness||"",encryptionScheme:n.videoEncryptionScheme||null}))}]}function lw(a){var e;return!!a&&(a.sessionType==="persistent-license"||!!((e=a.sessionTypes)!=null&&e.some(t=>t==="persistent-license")))}function L0(a){const e=new Uint16Array(a.buffer,a.byteOffset,a.byteLength/2),t=String.fromCharCode.apply(null,Array.from(e)),n=t.substring(t.indexOf("<"),t.length),s=new DOMParser().parseFromString(n,"text/xml").getElementsByTagName("KID")[0];if(s){const o=s.childNodes[0]?s.childNodes[0].nodeValue:s.getAttribute("VALUE");if(o){const l=Wh(o).subarray(0,16);return I0(l),l}}return null}let fs={};class hr{static clearKeyUriToKeyIdMap(){fs={}}static setKeyIdForUri(e,t){fs[e]=t}static addKeyIdForUri(e){const t=Object.keys(fs).length%Number.MAX_SAFE_INTEGER,n=new Uint8Array(16);return new DataView(n.buffer,12,4).setUint32(0,t),fs[e]=n,n}constructor(e,t,n,i=[1],r=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.pssh=null,this.method=e,this.uri=t,this.keyFormat=n,this.keyFormatVersions=i,this.iv=r,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!Ss(e),s!=null&&s.startsWith("0x")&&(this.keyId=new Uint8Array(i0(s)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&fl(e.keyFormatVersions,this.keyFormatVersions)&&gm(e.iv,this.iv)&&gm(e.keyId,this.keyId)}isSupported(){if(this.method){if(Ss(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case ri.FAIRPLAY:case ri.WIDEVINE:case ri.PLAYREADY:case ri.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e,t){if(!this.encrypted||!this.uri)return null;if(Ss(this.method)){let r=this.iv;return r||(typeof e!="number"&&(yt.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),r=cw(e)),new hr(this.method,this.uri,"identity",this.keyFormatVersions,r)}if(this.keyId){const r=fs[this.uri];if(r&&!fl(this.keyId,r)&&hr.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}const n=A0(this.uri);if(n)switch(this.keyFormat){case ri.WIDEVINE:if(this.pssh=n,!this.keyId){const r=dk(n.buffer);if(r.length){var i;const s=r[0];this.keyId=(i=s.kids)!=null&&i.length?s.kids[0]:null}}this.keyId||(this.keyId=pm(t));break;case ri.PLAYREADY:{const r=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=fk(r,null,n),this.keyId=L0(n);break}default:{let r=n.subarray(0,16);if(r.length!==16){const s=new Uint8Array(16);s.set(r,16-r.length),r=s}this.keyId=r;break}}if(!this.keyId||this.keyId.byteLength!==16){let r;r=uw(t),r||(r=pm(t),r||(r=fs[this.uri])),r&&(this.keyId=r,hr.setKeyIdForUri(this.uri,r))}return this}}function uw(a){const e=a==null?void 0:a[ri.WIDEVINE];return e?e.keyId:null}function pm(a){const e=a==null?void 0:a[ri.PLAYREADY];if(e){const t=A0(e.uri);if(t)return L0(t)}return null}function cw(a){const e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=a>>8*(15-t)&255;return e}const mm=/#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,vm=/#EXT-X-MEDIA:(.*)/g,hw=/^#EXT(?:INF|-X-TARGETDURATION):/m,vc=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),fw=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 xn{static findGroup(e,t){for(let n=0;n<e.length;n++){const i=e[n];if(i.id===t)return i}}static resolve(e,t){return Fh.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return hw.test(e)}static parseMasterPlaylist(e,t){const n=hm(e),i={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:n},r=[];if(mm.lastIndex=0,!e.startsWith("#EXTM3U"))return i.playlistParsingError=new Error("no EXTM3U delimiter"),i;let s;for(;(s=mm.exec(e))!=null;)if(s[1]){var o;const u=new Mt(s[1],i),h=Zc(i,s[2]),d={attrs:u,bitrate:u.decimalInteger("BANDWIDTH")||u.decimalInteger("AVERAGE-BANDWIDTH"),name:u.NAME,url:xn.resolve(h,t)},g=u.decimalResolution("RESOLUTION");g&&(d.width=g.width,d.height=g.height),Em(u.CODECS,d);const m=u["SUPPLEMENTAL-CODECS"];m&&(d.supplemental={},Em(m,d.supplemental)),(o=d.unknownCodecs)!=null&&o.length||r.push(d),i.levels.push(d)}else if(s[3]){const u=s[3],h=s[4];switch(u){case"SESSION-DATA":{const d=new Mt(h,i),g=d["DATA-ID"];g&&(i.sessionData===null&&(i.sessionData={}),i.sessionData[g]=d);break}case"SESSION-KEY":{const d=ym(h,t,i);d.encrypted&&d.isSupported()?(i.sessionKeys===null&&(i.sessionKeys=[]),i.sessionKeys.push(d)):yt.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${h}"`);break}case"DEFINE":{{const d=new Mt(h,i);fm(i,d,t)}break}case"CONTENT-STEERING":{const d=new Mt(h,i);i.contentSteering={uri:xn.resolve(d["SERVER-URI"],t),pathwayId:d["PATHWAY-ID"]||"."};break}case"START":{i.startTimeOffset=Tm(h);break}}}const l=r.length>0&&r.length<i.levels.length;return i.levels=l?r:i.levels,i.levels.length===0&&(i.playlistParsingError=new Error("no levels found in manifest")),i}
vendor: 8,325 bytes, line 269
269static parseMasterPlaylistMedia(e,t,n){let i;const r={},s=n.levels,o={AUDIO:s.map(u=>({id:u.attrs.AUDIO,audioCodec:u.audioCodec})),SUBTITLES:s.map(u=>({id:u.attrs.SUBTITLES,textCodec:u.textCodec})),"CLOSED-CAPTIONS":[]};let l=0;for(vm.lastIndex=0;(i=vm.exec(e))!==null;){const u=new Mt(i[1],n),h=u.TYPE;if(h){const d=o[h],g=r[h]||[];r[h]=g;const m=u.LANGUAGE,v=u["ASSOC-LANGUAGE"],T=u.CHANNELS,y=u.CHARACTERISTICS,_=u["INSTREAM-ID"],x={attrs:u,bitrate:0,id:l++,groupId:u["GROUP-ID"]||"",name:u.NAME||m||"",type:h,default:u.bool("DEFAULT"),autoselect:u.bool("AUTOSELECT"),forced:u.bool("FORCED"),lang:m,url:u.URI?xn.resolve(u.URI,t):""};if(v&&(x.assocLang=v),T&&(x.channels=T),y&&(x.characteristics=y),_&&(x.instreamId=_),d!=null&&d.length){const b=xn.findGroup(d,x.groupId)||d[0];_m(x,b,"audioCodec"),_m(x,b,"textCodec")}g.push(x)}}return r}static parseLevelPlaylist(e,t,n,i,r,s){var o;const l={url:t},u=new rw(t),h=u.fragments,d=[];let g=null,m=0,v=0,T=0,y=0,_=0,x=null,b=new dc(i,l),R,A,F,w=-1,M=!1,O=null,P;if(vc.lastIndex=0,u.m3u8=e,u.hasVariableRefs=hm(e),((o=vc.exec(e))==null?void 0:o[0])!=="#EXTM3U")return u.playlistParsingError=new Error("Missing format identifier #EXTM3U"),u;for(;(R=vc.exec(e))!==null;){M&&(M=!1,b=new dc(i,l),b.playlistOffset=T,b.setStart(T),b.sn=m,b.cc=y,_&&(b.bitrate=_),b.level=n,g&&(b.initSegment=g,g.rawProgramDateTime&&(b.rawProgramDateTime=g.rawProgramDateTime,g.rawProgramDateTime=null),O&&(b.setByteRange(O),O=null)));const ae=R[1];if(ae){b.duration=parseFloat(ae);const q=(" "+R[2]).slice(1);b.title=q||null,b.tagList.push(q?["INF",ae,q]:["INF",ae])}else if(R[3]){if(pe(b.duration)){b.playlistOffset=T,b.setStart(T),F&&xm(b,F,u),b.sn=m,b.level=n,b.cc=y,h.push(b);const q=(" "+R[3]).slice(1);b.relurl=Zc(u,q),eh(b,x,d),x=b,T+=b.duration,m++,v=0,M=!0}}else{if(R=R[0].match(fw),!R){yt.warn("No matches on slow regex match for level playlist!");continue}for(A=1;A<R.length&&R[A]===void 0;A++);const q=(" "+R[A]).slice(1),B=(" "+R[A+1]).slice(1),H=R[A+2]?(" "+R[A+2]).slice(1):null;switch(q){case"BYTERANGE":x?b.setByteRange(B,x):b.setByteRange(B);break;case"PROGRAM-DATE-TIME":b.rawProgramDateTime=B,b.tagList.push(["PROGRAM-DATE-TIME",B]),w===-1&&(w=h.length);break;case"PLAYLIST-TYPE":u.type&&Mn(u,q,R),u.type=B.toUpperCase();break;case"MEDIA-SEQUENCE":u.startSN!==0?Mn(u,q,R):h.length>0&&bm(u,q,R),m=u.startSN=parseInt(B);break;case"SKIP":{u.skippedSegments&&Mn(u,q,R);const Y=new Mt(B,u),Q=Y.decimalInteger("SKIPPED-SEGMENTS");if(pe(Q)){u.skippedSegments+=Q;for(let ne=Q;ne--;)h.push(null);m+=Q}const ce=Y.enumeratedString("RECENTLY-REMOVED-DATERANGES");ce&&(u.recentlyRemovedDateranges=(u.recentlyRemovedDateranges||[]).concat(ce.split("	")));break}case"TARGETDURATION":u.targetduration!==0&&Mn(u,q,R),u.targetduration=Math.max(parseInt(B),1);break;case"VERSION":u.version!==null&&Mn(u,q,R),u.version=parseInt(B);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":u.live||Mn(u,q,R),u.live=!1;break;case"#":(B||H)&&b.tagList.push(H?[B,H]:[B]);break;case"DISCONTINUITY":y++,b.tagList.push(["DIS"]);break;case"GAP":b.gap=!0,b.tagList.push([q]);break;case"BITRATE":b.tagList.push([q,B]),_=parseInt(B)*1e3,pe(_)?b.bitrate=_:_=0;break;case"DATERANGE":{const Y=new Mt(B,u),Q=new b0(Y,u.dateRanges[Y.ID],u.dateRangeTagCount);u.dateRangeTagCount++,Q.isValid||u.skippedSegments?u.dateRanges[Q.id]=Q:yt.warn(`Ignoring invalid DATERANGE tag: "${B}"`),b.tagList.push(["EXT-X-DATERANGE",B]);break}case"DEFINE":{{const Y=new Mt(B,u);"IMPORT"in Y?Zk(u,Y,s):fm(u,Y,t)}break}case"DISCONTINUITY-SEQUENCE":u.startCC!==0?Mn(u,q,R):h.length>0&&bm(u,q,R),u.startCC=y=parseInt(B);break;case"KEY":{const Y=ym(B,t,u);if(Y.isSupported()){if(Y.method==="NONE"){F=void 0;break}F||(F={});const Q=F[Y.keyFormat];Q!=null&&Q.matches(Y)||(Q&&(F=Et({},F)),F[Y.keyFormat]=Y)}else yt.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${B}"`);break}case"START":u.startTimeOffset=Tm(B);break;case"MAP":{const Y=new Mt(B,u);if(b.duration){const Q=new dc(i,l);Sm(Q,Y,n,F),g=Q,b.initSegment=g,g.rawProgramDateTime&&!b.rawProgramDateTime&&(b.rawProgramDateTime=g.rawProgramDateTime)}else{const Q=b.byteRangeEndOffset;if(Q){const ce=b.byteRangeStartOffset;O=`${Q-ce}@${ce}`}else O=null;Sm(b,Y,n,F),g=b,M=!0}g.cc=y;break}case"SERVER-CONTROL":{P&&Mn(u,q,R),P=new Mt(B),u.canBlockReload=P.bool("CAN-BLOCK-RELOAD"),u.canSkipUntil=P.optionalFloat("CAN-SKIP-UNTIL",0),u.canSkipDateRanges=u.canSkipUntil>0&&P.bool("CAN-SKIP-DATERANGES"),u.partHoldBack=P.optionalFloat("PART-HOLD-BACK",0),u.holdBack=P.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{u.partTarget&&Mn(u,q,R);const Y=new Mt(B);u.partTarget=Y.decimalFloatingPoint("PART-TARGET");break}case"PART":{let Y=u.partList;Y||(Y=u.partList=[]);const Q=v>0?Y[Y.length-1]:void 0,ce=v++,ne=new Mt(B,u),ue=new ZR(ne,b,l,ce,Q);Y.push(ue),b.duration+=ue.duration;break}case"PRELOAD-HINT":{const Y=new Mt(B,u);u.preloadHint=Y;break}case"RENDITION-REPORT":{const Y=new Mt(B,u);u.renditionReports=u.renditionReports||[],u.renditionReports.push(Y);break}default:yt.warn(`line parsed but not handled: ${R}`);break}}}x&&!x.relurl?(h.pop(),T-=x.duration,u.partList&&(u.fragmentHint=x)):u.partList&&(eh(b,x,d),b.cc=y,u.fragmentHint=b,F&&xm(b,F,u)),u.targetduration||(u.playlistParsingError=new Error("Missing Target Duration"));const K=h.length,ee=h[0],le=h[K-1];if(T+=u.skippedSegments*u.targetduration,T>0&&K&&le){u.averagetargetduration=T/K;const ae=le.sn;u.endSN=ae!=="initSegment"?ae:0,u.live||(le.endList=!0),w>0&&(gw(h,w),ee&&d.unshift(ee))}return u.fragmentHint&&(T+=u.fragmentHint.duration),u.totalduration=T,d.length&&u.dateRangeTagCount&&ee&&R0(d,u),u.endCC=y,u}}function R0(a,e){let t=a.length;if(!t)if(e.hasProgramDateTime){const o=e.fragments[e.fragments.length-1];a.push(o),t++}else return;const n=a[t-1],i=e.live?1/0:e.totalduration,r=Object.keys(e.dateRanges);for(let o=r.length;o--;){const l=e.dateRanges[r[o]],u=l.startDate.getTime();l.tagAnchor=n.ref;for(let h=t;h--;){var s;if(((s=a[h])==null?void 0:s.sn)<e.startSN)break;const d=dw(e,u,a,h,i);if(d!==-1){l.tagAnchor=e.fragments[d].ref;break}}}}function dw(a,e,t,n,i){const r=t[n];if(r){const o=r.programDateTime;if(e>=o||n===0){var s;const l=(((s=t[n+1])==null?void 0:s.start)||i)-r.start;if(e<=o+l*1e3){const u=t[n].sn-a.startSN;if(u<0)return-1;const h=a.fragments;if(h.length>t.length){const g=(t[n+1]||h[h.length-1]).sn-a.startSN;for(let m=g;m>u;m--){const v=h[m].programDateTime;if(e>=v&&e<v+h[m].duration*1e3)return m}}return u}}}return-1}function ym(a,e,t){var n,i;const r=new Mt(a,t),s=(n=r.METHOD)!=null?n:"",o=r.URI,l=r.hexadecimalInteger("IV"),u=r.KEYFORMATVERSIONS,h=(i=r.KEYFORMAT)!=null?i:"identity";o&&r.IV&&!l&&yt.error(`Invalid IV: ${r.IV}`);const d=o?xn.resolve(o,e):"",g=(u||"1").split("/").map(Number).filter(Number.isFinite);return new hr(s,d,h,g,l,r.KEYID)}function Tm(a){const t=new Mt(a).decimalFloatingPoint("TIME-OFFSET");return pe(t)?t:null}function Em(a,e){let t=(a||"").split(/[ ,]+/).filter(n=>n);["video","audio","text"].forEach(n=>{const i=t.filter(r=>Uh(r,n));i.length&&(e[`${n}Codec`]=i.map(r=>r.split("/")[0]).join(","),t=t.filter(r=>i.indexOf(r)===-1))}),e.unknownCodecs=t}function _m(a,e,t){const n=e[t];n&&(a[t]=n)}function gw(a,e){let t=a[e];for(let n=e;n--;){const i=a[n];if(!i)return;i.programDateTime=t.programDateTime-i.duration*1e3,t=i}}function eh(a,e,t){a.rawProgramDateTime?t.push(a):e!=null&&e.programDateTime&&(a.programDateTime=e.endProgramDateTime)}function Sm(a,e,t,n){a.relurl=e.URI,e.BYTERANGE&&a.setByteRange(e.BYTERANGE),a.level=t,a.sn="initSegment",n&&(a.levelkeys=n),a.initSegment=null}function xm(a,e,t){a.levelkeys=e;const{encryptedFragments:n}=t;(!n.length||n[n.length-1].levelkeys!==e)&&Object.keys(e).some(i=>e[i].isCommonEncryption)&&n.push(a)}function Mn(a,e,t){a.playlistParsingError=new Error(`#EXT-X-${e} must not appear more than once (${t[0]})`)}function bm(a,e,t){a.playlistParsingError=new Error(`#EXT-X-${e} must appear before the first Media Segment (${t[0]})`)}function yc(a,e){const t=e.startPTS;if(pe(t)){let n=0,i;e.sn>a.sn?(n=t-a.start,i=a):(n=a.start-t,i=e),i.duration!==n&&i.setDuration(n)}else e.sn>a.sn?a.cc===e.cc&&a.minEndPTS?e.setStart(a.start+(a.minEndPTS-a.start)):e.setStart(a.start+a.duration):e.setStart(Math.max(a.start-e.duration,0))}function k0(a,e,t,n,i,r,s){n-t<=0&&(s.warn("Fragment should have a positive duration",e),n=t
vendor: 1,929 bytes, line 269
269+e.duration,r=i+e.duration);let l=t,u=n;const h=e.startPTS,d=e.endPTS;if(pe(h)){const _=Math.abs(h-t);a&&_>a.totalduration?s.warn(`media timestamps and playlist times differ by ${_}s for level ${e.level} ${a.url}`):pe(e.deltaPTS)?e.deltaPTS=Math.max(_,e.deltaPTS):e.deltaPTS=_,l=Math.max(t,h),t=Math.min(t,h),i=e.startDTS!==void 0?Math.min(i,e.startDTS):i,u=Math.min(n,d),n=Math.max(n,d),r=e.endDTS!==void 0?Math.max(r,e.endDTS):r}const g=t-e.start;e.start!==0&&e.setStart(t),e.setDuration(n-e.start),e.startPTS=t,e.maxStartPTS=l,e.startDTS=i,e.endPTS=n,e.minEndPTS=u,e.endDTS=r;const m=e.sn;if(!a||m<a.startSN||m>a.endSN)return 0;let v;const T=m-a.startSN,y=a.fragments;for(y[T]=e,v=T;v>0;v--)yc(y[v],y[v-1]);for(v=T;v<y.length-1;v++)yc(y[v],y[v+1]);return a.fragmentHint&&yc(y[y.length-1],a.fragmentHint),a.PTSKnown=a.alignedSliding=!0,g}function pw(a,e,t){if(a===e)return;let n=null;const i=a.fragments;for(let h=i.length-1;h>=0;h--){const d=i[h].initSegment;if(d){n=d;break}}a.fragmentHint&&delete a.fragmentHint.endPTS;let r;yw(a,e,(h,d,g,m)=>{if((!e.startCC||e.skippedSegments)&&d.cc!==h.cc){const v=h.cc-d.cc;for(let T=g;T<m.length;T++)m[T].cc+=v;e.endCC=m[m.length-1].cc}pe(h.startPTS)&&pe(h.endPTS)&&(d.setStart(d.startPTS=h.startPTS),d.startDTS=h.startDTS,d.maxStartPTS=h.maxStartPTS,d.endPTS=h.endPTS,d.endDTS=h.endDTS,d.minEndPTS=h.minEndPTS,d.setDuration(h.endPTS-h.startPTS),d.duration&&(r=d),e.PTSKnown=e.alignedSliding=!0),h.hasStreams&&(d.elementaryStreams=h.elementaryStreams),d.loader=h.loader,h.hasStats&&(d.stats=h.stats),h.initSegment&&(d.initSegment=h.initSegment,n=h.initSegment)});const s=e.fragments,o=e.fragmentHint?s.concat(e.fragmentHint):s;if(n&&o.forEach(h=>{var d;h&&(!h.initSegment||h.initSegment.relurl===((d=n)==null?void 0:d.relurl))&&(h.initSegment=n)}),e.skippedSegments){if(e.deltaUpdateFailed=s.some(h=>!h),e.deltaUpdateFailed){t.warn("[level-helper] Previous playlist missing segments ski
269pped in delta playlist");for(let h=e.skippedSegments;h--;)s.shift();e.startSN=s[0].sn}else{e.canSkipDateRanges&&(e.dateRanges=mw(a.dateRanges,e,t));const h=a.fragments.filter(d=>d.rawProgramDateTime);if(a.hasProgramDateTime&&!e.hasProgramDateTime)for(let d=1;d<o.length;d++)o[d].programDateTime===null&&eh(o[d],o[d-1],h);R0(h,e)}e.endCC=s[s.length-1].cc}if(!e.startCC){var l;const h=D0(a,e.startSN-1);e.startCC=(l=h==null?void 0:h.cc)!=null?l:s[0].cc}vw(a.partList,e.partList,(h,d)=>{d.elementaryStreams=h.elementaryStreams,d.stats=h.stats}),r?k0(e,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS,t):w0(a,e),s.length&&(e.totalduration=e.edge-s[0].start),e.driftStartTime=a.driftStartTime,e.driftStart=a.driftStart;const u=e.advancedDateTime;if(e.advanced&&u){const h=e.edge;e.driftStart||(e.driftStartTime=u,e.driftStart=h),e.driftEndTime=u,e.driftEnd=h}else e.driftEndTime=a.driftEndTime,e.driftEnd=a.driftEnd,e.advancedDateTime=a.advancedDateTime;e.requestScheduled===-1&&(e.requestScheduled=a.requestScheduled)}function mw(a,e,t){const{dateRanges:n,recentlyRemovedDateranges:i}=e,r=Et({},a);i&&i.forEach(l=>{delete r[l]});const o=Object.keys(r).length;return o?(Object.keys(n).forEach(l=>{const u=r[l],h=new b0(n[l].attr,u);h.isValid?(r[l]=h,u||(h.tagOrder+=o)):t.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${It(n[l].attr)}"`)}),r):n}function vw(a,e,t){if(a&&e){let n=0;for(let i=0,r=a.length;i<=r;i++){const s=a[i],o=e[i+n];s&&o&&s.index===o.index&&s.fragment.sn===o.fragment.sn?t(s,o):n--}}}function yw(a,e,t){const n=e.skippedSegments,i=Math.max(a.startSN,e.startSN)-e.startSN,r=(a.fragmentHint?1:0)+(n?e.endSN:Math.min(a.endSN,e.endSN))-e.startSN,s=e.startSN-a.startSN,o=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=a.fragmentHint?a.fragments.concat(a.fragmentHint):a.fragments;for(let u=i;u<=r;u++){const h=l[s+u];let d=o[u];if(n&&!d&&h&&(d=e.fragments[u]=h),h&&d){t(h,d,u,o);const g=h.relurl,m=d.relurl;if(g&&Tw(g,m)){e.playlistParsingError=Im(`media sequence mismatch ${d.sn}:`,a,e,h,d);return}else if(h.cc!==d.cc){e.playlistParsingError=Im(`discontinuity sequence mismatch (${h.cc}!=${d.cc})`,a,e,h,d);return}}}}function Im(a,e,t,n,i){return new Error(`${a} ${i.url}
270Playlist starting @${e.startSN}
271${e.m3u8}
272
273Playlist starting @${t.startSN}
274${t.m3u8}`)}function w0(a,e,t=!0){const n=e.startSN+e.skippedSegments-a.startSN,i=a.fragments,r=n>=0;let s=0;if(r&&n<i.length)s=i[n].start;else if(r&&e.startSN===a.endSN+1)s=a.fragmentEnd;else if(r&&t)s=a.fragmentStart+n*e.levelTargetDuration;else if(!e.skippedSegments&&e.fragmentStart===0)s=a.fragmentStart;else return;th(e,s)}function th(a,e){if(e){const t=a.fragments;for(let n=a.skippedSegments;n<t.length;n++)t[n].addStart(e);a.fragmentHint&&a.fragmentHint.addStart(e)}}function P0(a,e=1/0){let t=1e3*a.targetduration;if(a.updated){const n=a.fragments;if(n.length&&t*4>e){const r=n[n.length-1].duration*1e3;r<t&&(t=r)}}else t/=2;return Math.round(t)}function D0(a,e,t){if(!a)return null;let n=a.fragments[e-a.startSN];return n||(n=a.fragmentHint,n&&n.sn===e)?n:e<a.startSN&&t&&t.sn===e?t:null}function Am(a,e,t){return a?O0(a.partList,e,t):null}function O0(a,e,t){if(a)for(let n=a.length;n--;){const i=a[n];if(i.index===t&&i.fragment.sn===e)return i}return null}function M0(a){a.forEach((e,t)=>{var n;(n=e.details)==null||n.fragments.forEach(i=>{i.level=t,i.initSegment&&(i.initSegment.level=t)})})}function Tw(a,e){return a!==e&&e?Cm(a)!==Cm(e):!1}function Cm(a){return a.replace(/\?[^?]*$/,"")}function ua(a,e){for(let n=0,i=a.length;n<i;n++){var t;if(((t=a[n])==null?void 0:t.cc)===e)return a[n]}return null}function Ew(a,e){return!!(a&&e.startCC<a.endCC&&e.endCC>a.startCC)}function Lm(a,e){const t=a.start+e;a.startPTS=t,a.setStart(t),a.endPTS=t+a.duration}function F0(a,e){const t=e.fragments;for(let n=0,i=t.length;n<i;n++)Lm(t[n],a);e.fragmentHint&&Lm(e.fragmentHint,a),e.alignedSliding=!0}function _w(a,e){a&&(N0(e,a),e.alignedSliding||gl(e,a),!e.alignedSliding&&!e.skippedSegments&&w0(a,e,!1))}function N0(a,e){if(!Ew(e,a))return;const t=Math.min(e.endCC,a.endCC),n=ua(e.fragments,t),i=ua(a.fragments,t);
vendor: 37,799 bytes, line 274
274if(!n||!i)return;yt.log(`Aligning playlist at start of dicontinuity sequence ${t}`);const r=n.start-i.start;F0(r,a)}function gl(a,e){if(!a.hasProgramDateTime||!e.hasProgramDateTime)return;const t=a.fragments,n=e.fragments;if(!t.length||!n.length)return;let i,r;const s=Math.min(e.endCC,a.endCC);e.startCC<s&&a.startCC<s&&(i=ua(n,s),r=ua(t,s)),(!i||!r)&&(i=n[Math.floor(n.length/2)],r=ua(t,i.cc)||t[Math.floor(t.length/2)]);const o=i.programDateTime,l=r.programDateTime;if(!o||!l)return;const u=(l-o)/1e3-(r.start-i.start);F0(u,a)}function gi(a,e,t){xi(a,e,t),a.addEventListener(e,t)}function xi(a,e,t){a.removeEventListener(e,t)}const Sw={toString:function(a){let e="";const t=a.length;for(let n=0;n<t;n++)e+=`[${a.start(n).toFixed(3)}-${a.end(n).toFixed(3)}]`;return e}},Z={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class Yh extends S0{constructor(e,t,n,i,r){super(i,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Z.STOPPED,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=()=>{const{config:s,fragCurrent:o,media:l,mediaBuffer:u,state:h}=this,d=l?l.currentTime:0,g=Ve.bufferInfo(u||l,d,s.maxBufferHole),m=!g.len;if(this.log(`Media seeking to ${pe(d)?d.toFixed(3):d}, state: ${h}, ${m?"out of":"in"} buffer`),this.state===Z.ENDED)this.resetLoadingState();else if(o){const v=s.maxFragLookUpTolerance,T=o.start-v,y=o.start+o.duration+v;if(m||y<g.start||T>g.end){const _=d>y;(d<T||_)&&(_&&o.loader&&(this.log(`Cancelling fragment load for seek (sn: ${o.sn})`),o.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(l){this.fragmentTracker.removeFragmentsInRange(d,1/0,this.playlistType,!0);const v=this.lastCurrentTime;if(d>v&&(this.lastCurrentTime=d),!this.loadingParts){const T=Math.max(g.end,d),y=this.shouldLoadParts(this.getLevelDetails(),T);y&&(this.log(`LL-Part loading ON after seeking to ${d.toFixed(2)} with buffer @${T.toFixed(2)}`),this.loadingParts=y)}}this.hls.hasEnoughToStart||(this.log(`Setting ${m?"startPosition":"nextLoadPosition"} to ${d} for seek without enough to start`),this.nextLoadPosition=d,m&&(this.startPosition=d)),m&&this.state===Z.IDLE&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=r,this.hls=e,this.fragmentLoader=new Xk(e.config),this.keyLoader=n,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Hh(e.config)}registerListeners(){const{hls:e}=this;e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(S.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===Z.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Z.STOPPED}get startPositionValue(){const{nextLoadPosition:e,startPosition:t}=this;return t===-1&&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;const n=e.end||0,i=this.config.timelineOffset||0;if(n<=i)return!1;const r=e.buffered;this.config.maxBufferHole&&r&&r.length>1&&(e=Ve.bufferedInfo(r,e.start,0));const s=e.nextStart;if(s&&s>i&&s<t.edge||this.media.currentTime<e.start)return!1;const l=t.partList;if(l!=null&&l.length){const h=l[l.length-1];return Ve.isBuffered(this.media,h.start+h.duration/2)}const u=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(u)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){const e=this.config.timelineOffset;if(e){var t;return((t=this.getLevelDetails())==null?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){const n=this.media=this.mediaBuffer=t.media;gi(n,"seeking",this.onMediaSeeking),gi(n,"ended",this.onMediaEnded);const i=this.config;this.levels&&i.autoStartLoad&&this.state===Z.STOPPED&&this.startLoad(i.startPosition)}onMediaDetaching(e,t){const n=!!t.transferMedia,i=this.media;if(i!==null){if(i.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),xi(i,"seeking",this.onMediaSeeking),xi(i,"ended",this.onMediaEnded),this.keyLoader&&!n&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,n){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=Z.STOPPED,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,n){this.startFragRequested=!0,this._loadFragForPlayback(e,t,n)}_loadFragForPlayback(e,t,n){const i=r=>{const s=r.frag;if(this.fragContextChanged(s)){this.warn(`${s.type} sn: ${s.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(s,!1,r.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(s);return}s.stats.chunkCount++,this._handleFragmentLoadProgress(r)};this._doFragLoad(e,t,n,i).then(r=>{if(!r)return;const s=this.state,o=r.frag;if(this.fragContextChanged(o)){(s===Z.FRAG_LOADING||!this.fragCurrent&&s===Z.PARSING)&&(this.fragmentTracker.removeFragment(o),this.state=Z.IDLE);return}"payload"in r&&(this.log(`Loaded ${o.type} sn: ${o.sn} of ${this.playlistLabel()} ${o.level}`),this.hls.trigger(S.FRAG_LOADED,r)),this._handleFragmentLoadComplete(r)}).catch(r=>{this.state===Z.STOPPED||this.state===Z.ERROR||(this.warn(`Frag error: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;const{fragmentTracker:n}=this;if(n.getState(e)===qt.APPENDING){const r=e.type,s=this.getFwdBufferInfo(this.mediaBuffer,r),o=Math.max(e.duration,s?s.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(o,e.duration))&&n.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?n.removeAllFragments():n.hasParts(e.type)&&(n.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),n.getState(e)===qt.PARTIAL&&n.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const 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){const t=e.details;return(t==null?void 0:t.live)&&t.type!=="EVENT"&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,n=null){if(!(e-t))return;const i={startOffset:e,endOffset:t,type:n};this.hls.trigger(S.BUFFER_FLUSHING,i)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(n=>{const i=n==null?void 0:n.frag;if(!i||this.fragContextChanged(i)||!this.levels)throw new Error("init load aborted");return n}).then(n=>{const{hls:i}=this,{frag:r,payload:s}=n,o=r.decryptdata;if(s&&s.byteLength>0&&o!=null&&o.key&&o.iv&&Ss(o.method)){const l=self.performance.now();return this.decrypter.decrypt(new Uint8Array(s),o.key.buffer,o.iv.buffer,Kh(o.method)).catch(u=>{throw i.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_DECRYPT_ERROR,fatal:!1,error:u,reason:u.message,frag:r}),u}).then(u=>{const h=self.performance.now();return i.trigger(S.FRAG_DECRYPTED,{frag:r,payload:u,stats:{tstart:l,tdecrypt:h}}),n.payload=u,this.completeInitSegmentLoad(n)})}return this.completeInitSegmentLoad(n)}).catch(n=>{this.state===Z.STOPPED||this.state===Z.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const n=e.frag.stats;this.state!==Z.STOPPED&&(this.state=Z.IDLE),e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var n,i;const r=e.tracks;if(r&&!t.encrypted&&((n=r.audio)!=null&&n.encrypted||(i=r.video)!=null&&i.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){const s=this.media,o=new Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${s?"attached mediaKeys: "+s.mediaKeys:"detached"})`);return this.warn(o.message),!s||s.mediaKeys?!1:(this.hls.trigger(S.ERROR,{type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_NO_KEYS,fatal:!1,error:o,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){const{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){const n=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:${n?Sw.toString(Ve.getBuffered(n)):"(detached)"})`),Vt(e)){var i;if(e.type!==ye.SUBTITLE){const s=e.elementaryStreams;if(!Object.keys(s).some(o=>!!s[o])){this.state=Z.IDLE;return}}const r=(i=this.levels)==null?void 0:i[e.level];r!=null&&r.fragmentError&&(this.log(`Resetting level fragment error count of ${r.fragmentError} on frag buffered`),r.fragmentError=0)}this.state=Z.IDLE}_handleFragmentLoadComplete(e){const{transmuxer:t}=this;if(!t)return;const{frag:n,part:i,partsLoaded:r}=e,s=!r||r.length===0||r.some(l=>!l),o=new Vh(n.level,n.sn,n.stats.chunkCount+1,0,i?i.index:-1,!s);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,n=null,i){var r;this.fragCurrent=e;const s=t.details;if(!this.levels||!s)throw new Error(`frag load aborted, missing level${s?"":" detail"}s`);let o=null;if(e.encrypted&&!((r=e.decryptdata)!=null&&r.key)){if(this.log(`Loading key for ${e.sn} of [${s.startSN}-${s.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=Z.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(g=>{if(!this.fragContextChanged(g.frag))return this.hls.trigger(S.KEY_LOADED,g),this.state===Z.KEY_LOADING&&(this.state=Z.IDLE),g}),this.hls.trigger(S.KEY_LOADING,{frag:e}),this.fragCurrent===null)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else e.encrypted||(o=this.keyLoader.loadClear(e,s.encryptedFragments,this.startFragRequested),o&&this.log("[eme] blocking frag load until media-keys acquired"));const l=this.fragPrevious;if(Vt(e)&&(!l||e.sn!==l.sn)){const g=this.shouldLoadParts(t.details,e.end);g!==this.loadingParts&&(this.log(`LL-Part loading ${g?"ON":"OFF"} loading sn ${l==null?void 0:l.sn}->${e.sn}`),this.loadingParts=g)}if(n=Math.max(e.start,n||0),this.loadingParts&&Vt(e)){const g=s.partList;if(g&&i){n>s.fragmentEnd&&s.fragmentHint&&(e=s.fragmentHint);const m=this.getNextPart(g,e,n);if(m>-1){const v=g[m];e=this.fragCurrent=v.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${v.index} (${m}/${g.length-1}) of ${this.fragInfo(e,!1,v)}) cc: ${e.cc} [${s.startSN}-${s.endSN}], target: ${parseFloat(n.toFixed(3))}`),this.nextLoadPosition=v.start+v.duration,this.state=Z.FRAG_LOADING;let T;return o?T=o.then(y=>!y||this.fragContextChanged(y.frag)?null:this.doFragPartsLoad(e,v,t,i)).catch(y=>this.handleFragLoadError(y)):T=this.doFragPartsLoad(e,v,t,i).catch(y=>this.handleFragLoadError(y)),this.hls.trigger(S.FRAG_LOADING,{frag:e,part:v,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):T}else if(!e.url||this.loadedEndOfParts(g,n))return Promise.resolve(null)}}if(Vt(e)&&this.loadingParts){var u;this.log(`LL-Part loading OFF after next part miss @${n.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${(u=s.partList)==null?void 0:u.filter(g=>g.loaded).map(g=>`[${g.start}-${g.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} ${"["+s.startSN+"-"+s.endSN+"]"}, target: ${parseFloat(n.toFixed(3))}`),pe(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Z.FRAG_LOADING;const h=this.config.progressive&&e.type!==ye.SUBTITLE;let d;return h&&o?d=o.then(g=>!g||this.fragContextChanged(g.frag)?null:this.fragmentLoader.load(e,i)).catch(g=>this.handleFragLoadError(g)):d=Promise.all([this.fragmentLoader.load(e,h?i:void 0),o]).then(([g])=>(!h&&i&&i(g),g)).catch(g=>this.handleFragLoadError(g)),this.hls.trigger(S.FRAG_LOADING,{frag:e,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d}doFragPartsLoad(e,t,n,i){return new Promise((r,s)=>{var o;const l=[],u=(o=n.details)==null?void 0:o.partList,h=d=>{this.fragmentLoader.loadPart(e,d,i).then(g=>{l[d.index]=g;const m=g.part;this.hls.trigger(S.FRAG_LOADED,g);const v=Am(n.details,e.sn,d.index+1)||O0(u,e.sn,d.index+1);if(v)h(v);else return r({frag:e,part:m,partsLoaded:l})}).catch(s)};h(t)})}handleFragLoadError(e){if("data"in e){const t=e.data;t.frag&&t.details===V.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===Se.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(S.ERROR,t)}else this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const t=this.getCurrentContext(e);if(!t||this.state!==Z.PARSING){!this.fragCurrent&&this.state!==Z.STOPPED&&this.state!==Z.ERROR&&(this.state=Z.IDLE);return}const{frag:n,part:i,level:r}=t,s=self.performance.now();n.stats.parsing.end=s,i&&(i.stats.parsing.end=s);const o=this.getLevelDetails(),u=o&&n.sn>o.endSN||this.shouldLoadParts(o,n.end);u!==this.loadingParts&&(this.log(`LL-Part loading ${u?"ON":"OFF"} after parsing segment ending @${n.end.toFixed(2)}`),this.loadingParts=u),this.updateLevelTiming(n,i,r,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var n;const r=e.partList[0];if(r.fragment.type===ye.SUBTITLE)return!1;const s=r.end+(((n=e.fragmentHint)==null?void 0:n.duration)||0);if(t>=s){var i;if((this.hls.hasEnoughToStart?((i=this.media)==null?void 0:i.currentTime)||this.lastCurrentTime:this.getLoadPosition())>r.start-r.fragment.duration)return!0}}}return!1}getCurrentContext(e){const{levels:t,fragCurrent:n}=this,{level:i,sn:r,part:s}=e;if(!(t!=null&&t[i]))return this.warn(`Levels object was unset while buffering fragment ${r} of ${this.playlistLabel()} ${i}. The current chunk will not be buffered.`),null;const o=t[i],l=o.details,u=s>-1?Am(l,r,s):null,h=u?u.fragment:D0(l,r,n);return h?(n&&n!==h&&(h.stats=n.stats),{frag:h,part:u,level:o}):null}bufferFragmentData(e,t,n,i,r){if(this.state!==Z.PARSING)return;const{data1:s,data2:o}=e;let l=s;if(o&&(l=Zi(s,o)),!l.length)return;const u=this.initPTS[t.cc],h=u?-u.baseTime/u.timescale:void 0,d={type:e.type,frag:t,part:n,chunkMeta:i,offset:h,parent:t.type,data:l};if(this.hls.trigger(S.BUFFER_APPENDING,d),e.dropped&&e.independent&&!n){if(r)return;this.flushBufferGap(t)}}flushBufferGap(e){const t=this.media;if(!t)return;if(!Ve.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}const n=t.currentTime,i=Ve.bufferInfo(t,n,0),r=e.duration,s=Math.min(this.config.maxFragLookUpTolerance*2,r*.25),o=Math.max(Math.min(e.start-s,i.end-s),n+s);e.start-o>s&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){var n;const i=this.getLoadPosition();if(!pe(i))return null;const s=this.lastCurrentTime>i||(n=this.media)!=null&&n.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,i,t,s)}getFwdBufferInfoAtPos(e,t,n,i){const r=Ve.bufferInfo(e,t,i);if(r.len===0&&r.nextStart!==void 0){const s=this.fragmentTracker.getBufferedFrag(t,n);if(s&&(r.nextStart<=s.end||s.gap)){const o=Math.max(Math.min(r.nextStart,s.end)-t,i);return Ve.bufferInfo(e,t,o)}}return r}getMaxBufferLength(e){const{config:t}=this;let n;return e?n=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):n=t.maxBufferLength,Math.min(n,t.maxMaxBufferLength)}exceedsMaxBuffer(e,t,n){const i=e.nextStart;if(i&&n.start>i){const r=e.buffered;if(r){let s=e.len;const o=e.bufferedIndex;for(let l=r.length-1;l>o;l--)r[l].start<n.start&&(s+=r[l].end-r[l].start);return s>=t}}return!1}reduceMaxBufferLength(e,t){const n=this.config,i=Math.max(Math.min(e-t,n.maxBufferLength),t),r=Math.max(e-t*3,n.maxMaxBufferLength/2,i);return r>=i?(n.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0):!1}getAppendedFrag(e,t=ye.MAIN){const n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return n&&"fragment"in n?n.fragment:n}getNextFragment(e,t){const n=t.fragments,i=n.length;if(!i)return null;const{config:r}=this,s=t.fragmentStart,o=r.lowLatencyMode&&!!t.partList;let l=null;if(t.live){const d=r.initialLiveManifestSize;if(i<d)return this.warn(`Not enough fragments to start playback (have: ${i}, need: ${d})`),null;if(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<s){var u;o&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),l=this.getInitialLiveFragment(t);const g=this.config.startPosition,m=this.hls.startPosition,v=this.hls.liveSyncPosition,T=((u=l)==null?void 0:u.start)||0;let y,_;m!==-1&&m>=s?(y=m,_=m===g?"config":"next load start"):v!==null?(y=v,_="live edge"):(y=e,_="buffer pos"),y<T&&(y=T,_="live frag start"),y<s&&(y=s,_="playlist start"),(this.startPosition!=y||this.nextLoadPosition!=y)&&(this.log(`Setting startPosition to ${y.toFixed(3)} ${m===-1?"":`(from ${g}) `}based on ${_}. live edge: ${v} live frag start: ${T.toFixed(3)} playlist start: ${s.toFixed(3)} buffer pos: ${e}`),this.startPosition=this.nextLoadPosition=y)}}else e<=s&&(l=n[0]);if(!l){const d=this.loadingParts?t.partEnd:t.fragmentEnd;l=this.getFragmentAtPosition(e,d,t)}let h=this.filterReplacedPrimary(l,t);if(!h&&l){const d=l.sn-t.startSN;h=this.filterReplacedPrimary(n[d+1]||null,t)}return this.mapToInitFragWhenRequired(h)}isLoopLoading(e,t){if(this.nextLoadPosition<=t)return!1;const n=this.fragmentTracker.getState(e);return n===qt.OK||n===qt.PARTIAL&&!!e.gap}getNextFragmentLoopLoading(e,t,n,i,r){let s=null;if(e.gap&&(s=this.getNextFragment(this.nextLoadPosition,t),s&&!s.gap&&n.nextStart)){const o=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,n.nextStart,i,0);if(o!==null&&n.len+o.len>=r){const l=s.sn;return this.loopSn!==l&&(this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${l}`),this.loopSn=l),null}}return this.loopSn=void 0,s}get primaryPrefetch(){if(Rm(this.config)){var e;if((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(Rm(this.config)&&e.type!==ye.SUBTITLE){const n=this.hls.interstitialsManager,i=n==null?void 0:n.bufferingItem;if(i){const s=i.event;if(s){if(s.appendInPlace||Math.abs(e.start-i.start)>1||i.start===0)return null}else if(e.end<=i.start&&(t==null?void 0:t.live)===!1||e.start>i.end&&i.nextEvent&&(i.nextEvent.appendInPlace||e.start-i.end>1))return null}const r=n==null?void 0:n.playerQueue;if(r)for(let s=r.length;s--;){const o=r[s].interstitial;if(o.appendInPlace&&e.start>=o.startTime&&e.end<=o.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!e.initSegment.data&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,n){let i=-1,r=!1,s=!0;for(let o=0,l=e.length;o<l;o++){const u=e[o];if(s=s&&!u.independent,i>-1&&n<u.start)break;const h=u.loaded;h?i=-1:(r||(u.independent||s)&&u.fragment===t)&&(u.fragment!==t&&this.warn(`Need buffer at ${n} but next unloaded part starts at ${u.start}`),i=o),r=h}return i}loadedEndOfParts(e,t){let n;for(let i=e.length;i--;){if(n=e[i],!n.loaded)return!1;if(t>n.start)return!0}return!1}getInitialLiveFragment(e){const t=e.fragments,n=this.fragPrevious;let i=null;if(n){if(e.hasProgramDateTime&&(i=Bk(t,n.endProgramDateTime,this.config.maxFragLookUpTolerance),i&&this.log(`Live playlist, switching playlist, load frag with same PDT: ${n.programDateTime}`)),!i){const r=n.sn+1;if(r>=e.startSN&&r<=e.endSN){const s=t[r-e.startSN];n.cc===s.cc&&(i=s,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`))}i||(i=T0(e,n.cc,n.end),i&&this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`))}}else{const r=this.hls.liveSyncPosition;r!==null&&(i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e))}return i}getFragmentAtPosition(e,t,n){const{config:i}=this;let{fragPrevious:r}=this,{fragments:s,endSN:o}=n;const{fragmentHint:l}=n,{maxFragLookUpTolerance:u}=i,h=n.partList,d=!!(this.loadingParts&&h!=null&&h.length&&l);d&&!this.bitrateTest&&h[h.length-1].fragment.sn===l.sn&&(s=s.concat(l),o=l.sn);let g;if(e<t){var m;const T=e<this.lastCurrentTime||e>t-u||(m=this.media)!=null&&m.paused||!this.startFragRequested?0:u;g=Fr(r,s,e,T)}else g=s[s.length-1];if(g){const v=g.sn-n.startSN,T=this.fragmentTracker.getState(g);if((T===qt.OK||T===qt.PARTIAL&&g.gap)&&(r=g),r&&g.sn===r.sn&&(!d||h[0].fragment.sn>g.sn||!n.live)&&g.level===r.level){const _=s[v+1];g.sn<o&&this.fragmentTracker.getState(_)!==qt.OK?g=_:g=null}}return g}alignPlaylists(e,t,n){const i=e.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;const r=e.fragmentStart,s=!t,o=e.alignedSliding&&pe(r);if(s||!o&&!r){_w(n,e);const l=e.fragmentStart;return this.log(`Live playlist sliding: ${l.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${i}`),l}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let n=this.startPosition;n<t&&(n=-1);const i=this.timelineOffset;if(n===-1){const r=this.startTimeOffset!==null,s=r?this.startTimeOffset:e.startTimeOffset;s!==null&&pe(s)?(n=t+s,s<0&&(n+=e.edge),n=Math.min(Math.max(t,n),t+e.totalduration),this.log(`Setting startPosition to ${n} for start time offset ${s} found in ${r?"multivariant":"media"} playlist`),this.startPosition=n):e.live?(n=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${n}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=n=0),this.lastCurrentTime=n+i}this.nextLoadPosition=n+i}getLoadPosition(){var e;const{media:t}=this;let n=0;return(e=this.hls)!=null&&e.hasEnoughToStart&&t?n=t.currentTime:this.nextLoadPosition>=0&&(n=this.nextLoadPosition),n}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&Vt(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!==Z.FRAG_LOADING_WAITING_RETRY)&&(this.state=Z.IDLE)}onFragmentOrKeyLoadError(e,t){var n;if(t.chunkMeta&&!t.frag){const _=this.getCurrentContext(t.chunkMeta);_&&(t.frag=_.frag)}const i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var r;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(r=this.fragCurrent)==null?void 0:r.url}`);return}const s=t.details===V.FRAG_GAP;s&&this.fragmentTracker.fragBuffered(i,!0);const o=t.errorAction;if(!o){this.state=Z.ERROR;return}const{action:l,flags:u,retryCount:h=0,retryConfig:d}=o,g=!!d,m=g&&l===ii.RetryRequest,v=g&&!o.resolved&&u===Pi.MoveAllAlternatesMatchingHost,T=(n=this.hls.latestLevelDetails)==null?void 0:n.live;if(!m&&v&&Vt(i)&&!i.endList&&T&&!_0(t))this.resetFragmentErrors(e),this.treatAsGap(i),o.resolved=!0;else if((m||v)&&h<d.maxNumRetry){var y;const _=Qc((y=t.response)==null?void 0:y.code),x=Gh(d,h);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+x,this.state=Z.FRAG_LOADING_WAITING_RETRY,o.resolved=!0,_){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${h+1}/${d.maxNumRetry} in ${x}ms`)}else if(d)if(this.resetFragmentErrors(e),h<d.maxNumRetry)!s&&l!==ii.RemoveAlternatePermanently&&(o.resolved=!0);else{this.warn(`${t.details} reached or exceeded max retry (${h})`);return}else l===ii.SendAlternateToPenaltyBox?this.state=Z.WAITING_LEVEL:this.state=Z.ERROR;this.tickImmediate()}checkRetryDate(){const e=self.performance.now(),t=this.retryDate,n=t===1/0;(!t||e>=t||n&&!Qc(0))&&(n&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=Z.IDLE)}reduceLengthAndFlushBuffer(e){if(this.state===Z.PARSING||this.state===Z.PARSED){const t=e.frag,n=e.parent,i=this.getFwdBufferInfo(this.mediaBuffer,n),r=i&&i.len>.5;r&&this.reduceMaxBufferLength(i.len,(t==null?void 0:t.duration)||10);const s=!r;return s&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${n} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),s}return!1}resetFragmentErrors(e){e===ye.AUDIO&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==Z.STOPPED&&(this.state=Z.IDLE)}afterBufferFlushed(e,t,n){if(!e)return;const i=Ve.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,i,n),this.state===Z.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==Z.STOPPED&&(this.state=Z.IDLE)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;const e=this.levelLastLoaded,t=e?e.details:null;t!=null&&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()} ${e.level===-1?"<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,n,i){const r=n.details;if(!r){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((l,u)=>{const h=e.elementaryStreams[u];if(h){const d=h.endPTS-h.startPTS;if(d<=0)return this.warn(`Could not parse fragment ${e.sn} ${u} duration reliably (${d})`),l||!1;const g=i?0:k0(r,e,h.startPTS,h.endPTS,h.startDTS,h.endDTS,this);return this.hls.trigger(S.LEVEL_PTS_UPDATED,{details:r,level:n,drift:g,type:u,frag:e,start:h.startPTS,end:h.endPTS}),!0}return l},!1)){var o;const l=((o=this.transmuxer)==null?void 0:o.error)===null;if((n.fragmentError===0||l&&(n.fragmentError<2||e.endList))&&this.treatAsGap(e,n),l){const u=new Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(u.message),this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_PARSING_ERROR,fatal:!1,error:u,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${n.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=Z.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(S.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===ye.MAIN?"level":"track"}fragInfo(e,t=!0,n){var i,r;return`${this.playlistLabel()} ${e.level} (${n?"part":"frag"}:[${((i=t&&!n?e.startPTS:(n||e).start)!=null?i:NaN).toFixed(3)}-${((r=t&&!n?e.endPTS:(n||e).end)!=null?r:NaN).toFixed(3)}]${n&&e.type==="main"?"INDEPENDENT="+(n.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){const t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function Rm(a){return!!a.interstitialsController&&a.enableInterstitialPlayback!==!1}class B0{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:t}=this;let n;if(e.length)e.length===1?n=e[0]:n=xw(e,t);else return new Uint8Array(0);return this.reset(),n}reset(){this.chunks.length=0,this.dataLength=0}}function xw(a,e){const t=new Uint8Array(e);let n=0;for(let i=0;i<a.length;i++){const r=a[i];t.set(r,n),n+=r.length}return t}var Tc={exports:{}},km;function bw(){return km||(km=1,function(a){var e=Object.prototype.hasOwnProperty,t="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(t=!1));function i(l,u,h){this.fn=l,this.context=u,this.once=h||!1}function r(l,u,h,d,g){if(typeof h!="function")throw new TypeError("The listener must be a function");var m=new i(h,d||l,g),v=t?t+u:u;return l._events[v]?l._events[v].fn?l._events[v]=[l._events[v],m]:l._events[v].push(m):(l._events[v]=m,l._eventsCount++),l}function s(l,u){--l._eventsCount===0?l._events=new n:delete l._events[u]}function o(){this._events=new n,this._eventsCount=0}o.prototype.eventNames=function(){var u=[],h,d;if(this._eventsCount===0)return u;for(d in h=this._events)e.call(h,d)&&u.push(t?d.slice(1):d);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(h)):u},o.prototype.listeners=function(u){var h=t?t+u:u,d=this._events[h];if(!d)return[];if(d.fn)return[d.fn];for(var g=0,m=d.length,v=new Array(m);g<m;g++)v[g]=d[g].fn;return v},o.prototype.listenerCount=function(u){var h=t?t+u:u,d=this._events[h];return d?d.fn?1:d.length:0},o.prototype.emit=function(u,h,d,g,m,v){var T=t?t+u:u;if(!this._events[T])return!1;var y=this._events[T],_=arguments.length,x,b;if(y.fn){switch(y.once&&this.removeListener(u,y.fn,void 0,!0),_){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,h),!0;case 3:return y.fn.call(y.context,h,d),!0;case 4:return y.fn.call(y.context,h,d,g),!0;case 5:return y.fn.call(y.context,h,d,g,m),!0;case 6:return y.fn.call(y.context,h,d,g,m,v),!0}for(b=1,x=new Array(_-1);b<_;b++)x[b-1]=arguments[b];y.fn.apply(y.context,x)}else{var R=y.length,A;for(b=0;b<R;b++)switch(y[b].once&&this.removeListener(u,y[b].fn,void 0,!0),_){case 1:y[b].fn.call(y[b].context);break;case 2:y[b].fn.call(y[b].context,h);break;case 3:y[b].fn.call(y[b].context,h,d);break;case 4:y[b].fn.call(y[b].context,h,d,g);break;default:if(!x)for(A=1,x=new Array(_-1);A<_;A++)x[A-1]=arguments[A];y[b].fn.apply(y[b].context,x)}}return!0},o.prototype.on=function(u,h,d){return r(this,u,h,d,!1)},o.prototype.once=function(u,h,d){return r(this,u,h,d,!0)},o.prototype.removeListener=function(u,h,d,g){var m=t?t+u:u;if(!this._events[m])return this;if(!h)return s(this,m),this;var v=this._events[m];if(v.fn)v.fn===h&&(!g||v.once)&&(!d||v.context===d)&&s(this,m);else{for(var T=0,y=[],_=v.length;T<_;T++)(v[T].fn!==h||g&&!v[T].once||d&&v[T].context!==d)&&y.push(v[T]);y.length?this._events[m]=y.length===1?y[0]:y:s(this,m)}return this},o.prototype.removeAllListeners=function(u){var h;return u?(h=t?t+u:u,this._events[h]&&s(this,h)):(this._events=new n,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=t,o.EventEmitter=o,a.exports=o}(Tc)),Tc.exports}var Iw=bw(),zh=XR(Iw);const va="1.6.16",Ls={};function Aw(){return typeof __HLS_WORKER_BUNDLE__=="function"}function Cw(){const a=Ls[va];if(a)return a.clientCount++,a;const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(e),i={worker:new self.Worker(t),objectURL:t,clientCount:1};return Ls[va]=i,i}function Lw(a){const e=Ls[a];if(e)return e.clientCount++,e;const t=new self.URL(a,self.location.href).href,i={worker:new self.Worker(t),scriptURL:t,clientCount:1};return Ls[a]=i,i}function Rw(a){const e=Ls[a||va];if(e&&e.clientCount--===1){const{worker:n,objectURL:i}=e;delete Ls[a||va],i&&self.URL.revokeObjectURL(i),n.terminate()}}function U0(a,e){return e+10<=a.length&&a[e]===51&&a[e+1]===68&&a[e+2]===73&&a[e+3]<255&&a[e+4]<255&&a[e+6]<128&&a[e+7]<128&&a[e+8]<128&&a[e+9]<128}function jh(a,e){return e+10<=a.length&&a[e]===73&&a[e+1]===68&&a[e+2]===51&&a[e+3]<255&&a[e+4]<255&&a[e+6]<128&&a[e+7]<128&&a[e+8]<128&&a[e+9]<128}function Ll(a,e){let t=0;return t=(a[e]&127)<<21,t|=(a[e+1]&127)<<14,t|=(a[e+2]&127)<<7,t|=a[e+3]&127,t}function ya(a,e){const t=e;let n=0;for(;jh(a,e);){n+=10;const i=Ll(a,e+6);n+=i,U0(a,e+10)&&(n+=10),e+=n}if(n>0)return a.subarray(t,t+n)}function kw(a,e,t,n){const i=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],r=e[t+2],s=r>>2&15;if(s>12){const m=new Error(`invalid ADTS sampling index:${s}`);a.emit(S.ERROR,S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_PARSING_ERROR,fatal:!0,error:m,reason:m.message});return}const o=(r>>6&3)+1,l=e[t+3]>>6&3|(r&1)<<2,u="mp4a.40."+o,h=i[s];let d=s;(o===5||o===29)&&(d-=3);const g=[o<<3|(d&14)>>1,(d&1)<<7|l<<3];return yt.log(`manifest codec:${n}, parsed codec:${u}, channels:${l}, rate:${h} (ADTS object type:${o} sampling index:${s})`),{config:g,samplerate:h,channelCount:l,codec:u,parsedCodec:u,manifestCodec:n}}function $0(a,e){return a[e]===255&&(a[e+1]&246)===240}function G0(a,e){return a[e+1]&1?7:9}function qh(a,e){return(a[e+3]&3)<<11|a[e+4]<<3|(a[e+5]&224)>>>5}function ww(a,e){return e+5<a.length}function pl(a,e){return e+1<a.length&&$0(a,e)}function Pw(a,e){return ww(a,e)&&$0(a,e)&&qh(a,e)<=a.length-e}function Dw(a,e){if(pl(a,e)){const t=G0(a,e);if(e+t>=a.length)return!1;const n=qh(a,e);if(n<=t)return!1;const i=e+n;return i===a.length||pl(a,i)}return!1}function H0(a,e,t,n,i){if(!a.samplerate){const r=kw(e,t,n,i);if(!r)return;Et(a,r)}}function V0(a){return 1024*9e4/a}function Ow(a,e){const t=G0(a,e);if(e+t<=a.length){const n=qh(a,e)-t;if(n>0)return{headerLength:t,frameLength:n}}}function K0(a,e,t,n,i){const r=V0(a.samplerate),s=n+i*r,o=Ow(e,t);let l;if(o){const{frameLength:d,headerLength:g}=o,m=g+d,v=Math.max(0,t+m-e.length);v?(l=new Uint8Array(m-g),l.set(e.subarray(t+g,e.length),0)):l=e.subarray(t+g,t+m);const T={unit:l,pts:s};return v||a.samples.push(T),{sample:T,length:m,missing:v}}const u=e.length-t;return l=new Uint8Array(u),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:s},length:u,missing:-1}}function Mw(a,e){return jh(a,e)&&Ll(a,e+6)+10<=a.length-e}function Fw(a){return a instanceof ArrayBuffer?a:a.byteOffset==0&&a.byteLength==a.buffer.byteLength?a.buffer:new Uint8Array(a).buffer}function Ec(a,e=0,t=1/0){return Nw(a,e,t,Uint8Array)}function Nw(a,e,t,n){const i=Bw(a);let r=1;"BYTES_PER_ELEMENT"in n&&(r=n.BYTES_PER_ELEMENT);const s=Uw(a)?a.byteOffset:0,o=(s+a.byteLength)/r,l=(s+e)/r,u=Math.floor(Math.max(0,Math.min(l,o))),h=Math.floor(Math.min(u+Math.max(t,0),o));return new n(i,u,h-u)}function Bw(a){return a instanceof ArrayBuffer?a:a.buffer}function Uw(a){return a&&a.buffer instanceof ArrayBuffer&&a.byteLength!==void 0&&a.byteOffset!==void 0}function $w(a){const e={key:a.type,description:"",data:"",mimeType:null,pictureType:null},t=3;if(a.size<2)return;if(a.data[0]!==t){console.log("Ignore frame with unrecognized character encoding");return}const n=a.data.subarray(1).indexOf(0);if(n===-1)return;const i=Ui(Ec(a.data,1,n)),r=a.data[2+n],s=a.data.subarray(3+n).indexOf(0);if(s===-1)return;const o=Ui(Ec(a.data,3+n,s));let l;return i==="-->"?l=Ui(Ec(a.data,4+n+s)):l=Fw(a.data.subarray(4+n+s)),e.mimeType=i,e.pictureType=r,e.description=o,e.data=l,e}function Gw(a){if(a.size<2)return;const e=Ui(a.data,!0),t=new Uint8Array(a.data.subarray(e.length+1));return{key:a.type,info:e,data:t.buffer}}function Hw(a){if(a.size<2)return;if(a.type==="TXXX"){let t=1;const n=Ui(a.data.subarray(t),!0);t+=n.length+1;const i=Ui(a.data.subarray(t));return{key:a.type,info:n,data:i}}const e=Ui(a.data.subarray(1));return{key:a.type,info:"",data:e}}
vendor: 8,929 bytes, line 274
274function Vw(a){if(a.type==="WXXX"){if(a.size<2)return;let t=1;const n=Ui(a.data.subarray(t),!0);t+=n.length+1;const i=Ui(a.data.subarray(t));return{key:a.type,info:n,data:i}}const e=Ui(a.data);return{key:a.type,info:"",data:e}}function Kw(a){return a.type==="PRIV"?Gw(a):a.type[0]==="W"?Vw(a):a.type==="APIC"?$w(a):Hw(a)}function Ww(a){const e=String.fromCharCode(a[0],a[1],a[2],a[3]),t=Ll(a,4),n=10;return{type:e,size:t,data:a.subarray(n,n+t)}}const Lo=10,Yw=10;function W0(a){let e=0;const t=[];for(;jh(a,e);){const n=Ll(a,e+6);a[e+5]>>6&1&&(e+=Lo),e+=Lo;const i=e+n;for(;e+Yw<i;){const r=Ww(a.subarray(e)),s=Kw(r);s&&t.push(s),e+=r.size+Lo}U0(a,e)&&(e+=Lo)}return t}function Y0(a){return a&&a.key==="PRIV"&&a.info==="com.apple.streaming.transportStreamTimestamp"}function zw(a){if(a.data.byteLength===8){const e=new Uint8Array(a.data),t=e[3]&1;let n=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return n/=45,t&&(n+=4772185884e-2),Math.round(n)}}function Xh(a){const e=W0(a);for(let t=0;t<e.length;t++){const n=e[t];if(Y0(n))return zw(n)}}let Mi=function(a){return a.audioId3="org.id3",a.dateRange="com.apple.quicktime.HLS",a.emsg="https://aomedia.org/emsg/ID3",a.misbklv="urn:misb:KLV:bin:1910.1",a}({});function Tn(a="",e=9e4){return{type:a,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}class Qh{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,n,i){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,n){}demux(e,t){this.cachedData&&(e=Zi(this.cachedData,e),this.cachedData=null);let n=ya(e,0),i=n?n.length:0,r;const s=this._audioTrack,o=this._id3Track,l=n?Xh(n):void 0,u=e.length;for((this.basePTS===null||this.frameIndex===0&&pe(l))&&(this.basePTS=jw(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),n&&n.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Mi.audioId3,duration:Number.POSITIVE_INFINITY});i<u;){if(this.canParse(e,i)){const h=this.appendFrame(s,e,i);h?(this.frameIndex++,this.lastPTS=h.sample.pts,i+=h.length,r=i):i=u}else Mw(e,i)?(n=ya(e,i),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Mi.audioId3,duration:Number.POSITIVE_INFINITY}),i+=n.length,r=i):i++;if(i===u&&r!==u){const h=e.slice(r);this.cachedData?this.cachedData=Zi(this.cachedData,h):this.cachedData=h}}return{audioTrack:s,videoTrack:Tn(),id3Track:o,textTrack:Tn()}}demuxSampleAes(e,t,n){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){const t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Tn(),id3Track:this._id3Track,textTrack:Tn()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}const jw=(a,e,t)=>{if(pe(a))return a*90;const n=t?t.baseTime*9e4/t.timescale:0;return e*9e4+n};let Ro=null;const qw=[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],Xw=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Qw=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Zw=[0,1,1,4];function z0(a,e,t,n,i){if(t+24>e.length)return;const r=j0(e,t);if(r&&t+r.frameLength<=e.length){const s=r.samplesPerFrame*9e4/r.sampleRate,o=n+i*s,l={unit:e.subarray(t,t+r.frameLength),pts:o,dts:o};return a.config=[],a.channelCount=r.channelCount,a.samplerate=r.sampleRate,a.samples.push(l),{sample:l,length:r.frameLength,missing:0}}}function j0(a,e){const t=a[e+1]>>3&3,n=a[e+1]>>1&3,i=a[e+2]>>4&15,r=a[e+2]>>2&3;if(t!==1&&i!==0&&i!==15&&r!==3){const s=a[e+2]>>1&1,o=a[e+3]>>6,l=t===3?3-n:n===3?3:4,u=qw[l*14+i-1]*1e3,d=Xw[(t===3?0:t===2?1:2)*3+r],g=o===3?1:2,m=Qw[t][n],v=Zw[n],T=m*8*v,y=Math.floor(m*u/d+s)*v;if(Ro===null){const b=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ro=b?parseInt(b[1]):0}return!!Ro&&Ro<=87&&n===2&&u>=224e3&&o===0&&(a[e+3]=a[e+3]|128),{sampleRate:d,channelCount:g,frameLength:y,samplesPerFrame:T}}}function Zh(a,e){return a[e]===255&&(a[e+1]&224)===224&&(a[e+1]&6)!==0}function q0(a,e){return e+1<a.length&&Zh(a,e)}function Jw(a,e){return Zh(a,e)&&4<=a.length-e}function X0(a,e){if(e+1<a.length&&Zh(a,e)){const n=j0(a,e);let i=4;n!=null&&n.frameLength&&(i=n.frameLength);const r=e+i;return r===a.length||q0(a,r)}return!1}class eP extends Qh{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,n,i){super.resetInitSegment(e,t,n,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;const n=ya(e,0);let i=(n==null?void 0:n.length)||0;if(X0(e,i))return!1;for(let r=e.length;i<r;i++)if(Dw(e,i))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return Pw(e,t)}appendFrame(e,t,n){H0(e,this.observer,t,n,e.manifestCodec);const i=K0(e,t,n,this.basePTS,this.frameIndex);if(i&&i.missing===0)return i}}const Q0=(a,e)=>{let t=0,n=5;e+=n;const i=new Uint32Array(1),r=new Uint32Array(1),s=new Uint8Array(1);for(;n>0;){s[0]=a[e];const o=Math.min(n,8),l=8-o;r[0]=4278190080>>>24+l<<l,i[0]=(s[0]&r[0])>>l,t=t?t<<o|i[0]:i[0],e+=1,n-=o}return t};class tP extends Qh{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,n,i){super.resetInitSegment(e,t,n,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,n){const i=Z0(e,t,n,this.basePTS,this.frameIndex);if(i!==-1)return{sample:e.samples[e.samples.length-1],length:i,missing:0}}static probe(e){if(!e)return!1;const t=ya(e,0);if(!t)return!1;const n=t.length;return e[n]===11&&e[n+1]===119&&Xh(t)!==void 0&&Q0(e,n)<16}}function Z0(a,e,t,n,i){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;const r=e[t+4]>>6;if(r>=3)return-1;const o=[48e3,44100,32e3][r],l=e[t+4]&63,h=[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][l*3+r]*2;if(t+h>e.length)return-1;const d=e[t+6]>>5;let g=0;d===2?g+=2:(d&1&&d!==1&&(g+=2),d&4&&(g+=2));const m=(e[t+6]<<8|e[t+7])>>12-g&1,T=[2,1,2,3,3,4,4,5][d]+m,y=e[t+5]>>3,_=e[t+5]&7,x=new Uint8Array([r<<6|y<<1|_>>2,(_&3)<<6|d<<3|m<<2|l>>4,l<<4&224]),b=1536/o*9e4,R=n+i*b,A=e.subarray(t,t+h);return a.config=x,a.channelCount=T,a.samplerate=o,a.samples.push({unit:A,pts:R}),h}class iP extends Qh{resetInitSegment(e,t,n,i){super.resetInitSegment(e,t,n,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:i,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const t=ya(e,0);let n=(t==null?void 0:t.length)||0;if(t&&e[n]===11&&e[n+1]===119&&Xh(t)!==void 0&&Q0(e,n)<=16)return!1;for(let i=e.length;n<i;n++)if(X0(e,n))return yt.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return Jw(e,t)}appendFrame(e,t,n){if(this.basePTS!==null)return z0(e,t,n,this.basePTS,this.frameIndex)}}const nP=/\/emsg[-/]ID3/i;class rP{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,n,i){const r=this.videoTrack=Tn("video",1),s=this.audioTrack=Tn("audio",1),o=this.txtTrack=Tn("text",1);if(this.id3Track=Tn("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;const l=l0(e);if(l.video){const{id:u,timescale:h,codec:d,supplemental:g}=l.video;r.id=u,r.timescale=o.timescale=h,r.codec=d,r.supplemental=g}if(l.audio){const{id:u,timescale:h,codec:d}=l.audio;s.id=u,s.timescale=h,s.codec=d}o.id=s0.text,r.sampleDuration=0,r.duration=s.duration=i}resetContiguity(){this.remainderData=null}static probe(e){return tk(e)}demux(e,t){this.timeOffset=t;let n=e;const i=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(n=Zi(this.remainderData,e));const o=lk(n);this.remainderData=o.remainder,i.samples=o.valid||new Uint8Array}else i.samples=n;const s=this.extractID3Track(i,t);
vendor: 4,622 bytes, line 274
274return r.samples=jp(t,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:s,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,t=this.videoTrack,n=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const i=this.extractID3Track(t,this.timeOffset);return n.samples=jp(e,t),{videoTrack:t,audioTrack:Tn(),id3Track:i,textTrack:Tn()}}extractID3Track(e,t){const n=this.id3Track;if(e.samples.length){const i=et(e.samples,["emsg"]);i&&i.forEach(r=>{const s=ck(r);if(nP.test(s.schemeIdUri)){const o=wm(s,t);let l=s.eventDuration===4294967295?Number.POSITIVE_INFINITY:s.eventDuration/s.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);const u=s.payload;n.samples.push({data:u,len:u.byteLength,dts:o,pts:o,type:Mi.emsg,duration:l})}else if(this.config.enableEmsgKLVMetadata&&s.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){const o=wm(s,t);n.samples.push({data:s.payload,len:s.payload.byteLength,dts:o,pts:o,type:Mi.misbklv,duration:Number.POSITIVE_INFINITY})}})}return n}demuxSampleAes(e,t,n){return Promise.reject(new 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}}function wm(a,e){return pe(a.presentationTime)?a.presentationTime/a.timeScale:e+a.presentationTimeDelta/a.timeScale}class sP{constructor(e,t,n){this.keyData=void 0,this.decrypter=void 0,this.keyData=n,this.decrypter=new Hh(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,pr.cbc)}decryptAacSample(e,t,n){const i=e[t].unit;if(i.length<=16)return;const r=i.subarray(16,i.length-i.length%16),s=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(s).then(o=>{const l=new Uint8Array(o);i.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,n)}).catch(n)}decryptAacSamples(e,t,n){for(;;t++){if(t>=e.length){n();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,n),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){const t=Math.floor((e.length-48)/160)*16+16,n=new Int8Array(t);let i=0;for(let r=32;r<e.length-16;r+=160,i+=16)n.set(e.subarray(r,r+16),i);return n}getAvcDecryptedUnit(e,t){const n=new Uint8Array(t);let i=0;for(let r=32;r<e.length-16;r+=160,i+=16)e.set(n.subarray(i,i+16),r);return e}decryptAvcSample(e,t,n,i,r){const s=h0(r.data),o=this.getAvcEncryptedData(s);this.decryptBuffer(o.buffer).then(l=>{r.data=this.getAvcDecryptedUnit(s,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,n+1,i)}).catch(i)}decryptAvcSamples(e,t,n,i){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,n=0){if(t>=e.length){i();return}const r=e[t].units;for(;!(n>=r.length);n++){const s=r[n];if(!(s.data.length<=48||s.type!==1&&s.type!==5)&&(this.decryptAvcSample(e,t,n,i,s),!this.decrypter.isSync()))return}}}}class J0{constructor(){this.VideoSample=null}createVideoSample(e,t,n){return{key:e,frame:!1,pts:t,dts:n,units:[],length:0}}getLastNalUnit(e){var t;let n=this.VideoSample,i;if((!n||n.units.length===0)&&(n=e[e.length-1]),(t=n)!=null&&t.units){const r=n.units;i=r[r.length-1]}return i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){const n=t.samples,i=n.length;if(i){const r=n[i-1];e.pts=r.pts,e.dts=r.dts}else{t.dropped++;return}}t.samples.push(e)}}parseNALu(e,t,n){const i=t.byteLength;let r=e.naluState||0;const s=r,o=[];let l=0,u,h,d,g=-1,m=0;for(r===-1&&(g=0,m=this.getNALuType(t,0),r=0,l=1);l<i;){if(u=t[l++],!r){r=u?0:1;continue}if(r===1){r=u?0:2;continue}if(!u)r=3;else if(u===1){if(h=l-r-1,g>=0){const v={data:t.subarray(g,h),type:m};o.push(v)}else{const v=this.getLastNalUnit(e.samples);v&&(s&&l<=4-s&&v.state&&(v.data=v.data.subarray(0,v.data.byteLength-s)),h>0&&(v.data=Zi(v.data,t.subarray(0,h)),v.state=0))}l<i?(d=this.getNALuType(t,l),g=l,m=d,r=0):r=-1}else r=0}if(g>=0&&r>=0){const v={data:t.subarray(g,i),type:m,state:r};o.push(v)}if(o.length===0){const v=this.getLastNalUnit(e.samples);v&&(v.data=Zi(v.data,t))}return e.naluState=r,o}}class ca{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(){const e=this.data,t=this.bytesAvailable,n=e.byteLength-t,i=new Uint8Array(4),r=Math.min(4,t);if(r===0)throw new Error("no bytes available");i.set(e.subarray(n,n+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>
vendor: 4,205 bytes, line 274
274e?(this.word<<=e,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);const n=this.word>>>32-t;if(e>32&&yt.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 new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?n<<t|this.readBits(t):n}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>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(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class aP extends J0{parsePES(e,t,n,i){const r=this.parseNALu(e,n.data,i);let s=this.VideoSample,o,l=!1;n.data=null,s&&r.length&&!e.audFound&&(this.pushAccessUnit(s,e),s=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),r.forEach(u=>{var h,d;switch(u.type){case 1:{let T=!1;o=!0;const y=u.data;if(l&&y.length>4){const _=this.readSliceType(y);(_===2||_===4||_===7||_===9)&&(T=!0)}if(T){var g;(g=s)!=null&&g.frame&&!s.key&&(this.pushAccessUnit(s,e),s=this.VideoSample=null)}s||(s=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),s.frame=!0,s.key=T;break}case 5:o=!0,(h=s)!=null&&h.frame&&!s.key&&(this.pushAccessUnit(s,e),s=this.VideoSample=null),s||(s=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),s.key=!0,s.frame=!0;break;case 6:{o=!0,Bh(u.data,1,n.pts,t.samples);break}case 7:{var m,v;o=!0,l=!0;const T=u.data,y=this.readSPS(T);if(!e.sps||e.width!==y.width||e.height!==y.height||((m=e.pixelRatio)==null?void 0:m[0])!==y.pixelRatio[0]||((v=e.pixelRatio)==null?void 0:v[1])!==y.pixelRatio[1]){e.width=y.width,e.height=y.height,e.pixelRatio=y.pixelRatio,e.sps=[T];const _=T.subarray(1,4);let x="avc1.";for(let b=0;b<3;b++){let R=_[b].toString(16);R.length<2&&(R="0"+R),x+=R}e.codec=x}break}case 8:o=!0,e.pps=[u.data];break;case 9:o=!0,e.audFound=!0,(d=s)!=null&&d.frame&&(this.pushAccessUnit(s,e),s=null),s||(s=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts));break;case 12:o=!0;break;default:o=!1;break}s&&o&&s.units.push(u)}),i&&s&&(this.pushAccessUnit(s,e),this.VideoSample=null)}getNALuType(e,t){return e[t]&31}readSliceType(e){const t=new ca(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let n=8,i=8,r;for(let s=0;s<e;s++)i!==0&&(r=t.readEG(),i=(n+r+256)%256),n=i===0?n:i}readSPS(e){const t=new ca(e);let n=0,i=0,r=0,s=0,o,l,u;const h=t.readUByte.bind(t),d=t.readBits.bind(t),g=t.readUEG.bind(t),m=t.readBoolean.bind(t),v=t.skipBits.bind(t),T=t.skipEG.bind(t),y=t.skipUEG.bind(t),_=this.skipScalingList.bind(this);h();const x=h();if(d(5),v(3),h(),y(),x===100||x===110||x===122||x===244||x===44||x===83||x===86||x===118||x===128){const M=g();if(M===3&&v(1),y(),y(),v(1),m())for(l=M!==3?8:12,u=0;u<l;u++)m()&&(u<6?_(16,t):_(64,t))}y();const b=g();if(b===0)g();else if(b===1)for(v(1),T(),T(),o=g(),u=0;u<o;u++)T();y(),v(1);const R=g(),A=g(),F=d(1);F===0&&v(1),v(1),m()&&(n=g(),i=g(),r=g(),s=g());let w=[1,1];if(m()&&m())switch(h()){case 1:w=[1,1];break;case 2:w=[12,11];break;case 3:w=[10,11];break;case 4:w=[16,11];break;case 5:w=[40,33];break;case 6:w=[24,11];break;case 7:w=[20,11];break;case 8:w=[32,11];break;case 9:w=[80,33];break;case 10:w=[18,11];break;case 11:w=[15,11];break;case 12:w=[64,33];break;case 13:w=[160,99];break;case 14:w=[4,3];break;case 15:w=[3,2];break;case 16:w=[2,1];break;case 255:{w=[h()<<8|h(),h()<<8|h()];break}}return{width:Math.ceil((R+1)*16-n*2-i*2),height:(2-F)*(A+1)*16-(F?2:4)*(r+s),pixelRatio:w}}}class oP extends J0{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,n,i){const r=this.parseNALu(e,n.data,i);let s=this.VideoSample,o,l=!1;n.data=null,s&&r.length&&!e.audFound&&(this.pushAccessUnit(s,e),s=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),r.forEach(u=>{var h,d;
vendor: 13,241 bytes, line 274
274switch(u.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:s||(s=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),s.frame=!0,o=!0;break;case 16:case 17:case 18:case 21:if(o=!0,l){var g;(g=s)!=null&&g.frame&&!s.key&&(this.pushAccessUnit(s,e),s=this.VideoSample=null)}s||(s=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),s.key=!0,s.frame=!0;break;case 19:case 20:o=!0,(h=s)!=null&&h.frame&&!s.key&&(this.pushAccessUnit(s,e),s=this.VideoSample=null),s||(s=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),s.key=!0,s.frame=!0;break;case 39:o=!0,Bh(u.data,2,n.pts,t.samples);break;case 32:o=!0,e.vps||(typeof e.params!="object"&&(e.params={}),e.params=Et(e.params,this.readVPS(u.data)),this.initVPS=u.data),e.vps=[u.data];break;case 33:if(o=!0,l=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],u.data)&&(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){const m=this.readSPS(u.data);e.width=m.width,e.height=m.height,e.pixelRatio=m.pixelRatio,e.codec=m.codecString,e.sps=[],typeof e.params!="object"&&(e.params={});for(const v in m.params)e.params[v]=m.params[v]}this.pushParameterSet(e.sps,u.data,e.vps),s||(s=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts)),s.key=!0;break;case 34:if(o=!0,typeof e.params=="object"){if(!e.pps){e.pps=[];const m=this.readPPS(u.data);for(const v in m)e.params[v]=m[v]}this.pushParameterSet(e.pps,u.data,e.vps)}break;case 35:o=!0,e.audFound=!0,(d=s)!=null&&d.frame&&(this.pushAccessUnit(s,e),s=null),s||(s=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts));break;default:o=!1;break}s&&o&&s.units.push(u)}),i&&s&&(this.pushAccessUnit(s,e),this.VideoSample=null)}pushParameterSet(e,t,n){(n&&n[0]===this.initVPS||!n&&!e.length)&&e.push(t)}getNALuType(e,t){return(e[t]&126)>>>1}ebsp2rbsp(e){const t=new Uint8Array(e.byteLength);let n=0;for(let i=0;i<e.byteLength;i++)i>=2&&e[i]===3&&e[i-1]===0&&e[i-2]===0||(t[n]=e[i],n++);return new Uint8Array(t.buffer,0,n)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){const t=new ca(e);t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6);const n=t.readBits(3),i=t.readBoolean();return{numTemporalLayers:n+1,temporalIdNested:i}}readSPS(e){const t=new ca(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);const n=t.readBits(3);t.readBoolean();const i=t.readBits(2),r=t.readBoolean(),s=t.readBits(5),o=t.readUByte(),l=t.readUByte(),u=t.readUByte(),h=t.readUByte(),d=t.readUByte(),g=t.readUByte(),m=t.readUByte(),v=t.readUByte(),T=t.readUByte(),y=t.readUByte(),_=t.readUByte(),x=[],b=[];for(let Ie=0;Ie<n;Ie++)x.push(t.readBoolean()),b.push(t.readBoolean());if(n>0)for(let Ie=n;Ie<8;Ie++)t.readBits(2);for(let Ie=0;Ie<n;Ie++)x[Ie]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),b[Ie]&&t.readUByte();t.readUEG();const R=t.readUEG();R==3&&t.skipBits(1);const A=t.readUEG(),F=t.readUEG(),w=t.readBoolean();let M=0,O=0,P=0,K=0;w&&(M+=t.readUEG(),O+=t.readUEG(),P+=t.readUEG(),K+=t.readUEG());const ee=t.readUEG(),le=t.readUEG(),ae=t.readUEG(),q=t.readBoolean();for(let Ie=q?0:n;Ie<=n;Ie++)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 nt=0;nt<4;nt++)for(let Dt=0;Dt<(nt===3?2:6);Dt++)if(!t.readBoolean())t.readUEG();else{const Tt=Math.min(64,1<<4+(nt<<1));nt>1&&t.readEG();for(let ht=0;ht<Tt;ht++)t.readEG()}t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());const Y=t.readUEG();let Q=0;for(let Ie=0;Ie<Y;Ie++){let nt=!1;if(Ie!==0&&(nt=t.readBoolean()),nt){Ie===Y&&t.readUEG(),t.readBoolean(),t.readUEG();let Dt=0;for(let Ut=0;Ut<=Q;Ut++){const Tt=t.readBoolean();let ht=!1;Tt||(ht=t.readBoolean()),(Tt||ht)&&Dt++}Q=Dt}else{const Dt=t.readUEG(),Ut=t.readUEG();Q=Dt+Ut;for(let Tt=0;Tt<Dt;Tt++)t.readUEG(),t.readBoolean();for(let Tt=0;Tt<Ut;Tt++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){const Ie=t.readUEG();for(let nt=0;nt<Ie;nt++){for(let Dt=0;Dt<ae+4;Dt++)t.readBits(1);t.readBits(1)}}let ne=0,ue=1,me=1,Te=!0,_e=1,Re=0;t.readBoolean(),t.readBoolean();let Qe=!1;if(t.readBoolean()){if(t.readBoolean()){const Kt=t.readUByte(),J=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],oe=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Kt>0&&Kt<16?(ue=J[Kt-1],me=oe[Kt-1]):Kt===255&&(ue=t.readBits(16),me=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(),Qe=t.readBoolean(),Qe&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(_e=t.readBits(32),Re=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){const oe=t.readBoolean(),Ue=t.readBoolean();let ke=!1;(oe||Ue)&&(ke=t.readBoolean(),ke&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),ke&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let ft=0;ft<=n;ft++){Te=t.readBoolean();const Ct=Te||t.readBoolean();let bi=!1;Ct?t.readEG():bi=t.readBoolean();const Kn=bi?1:t.readUEG()+1;if(oe)for(let Gi=0;Gi<Kn;Gi++)t.readUEG(),t.readUEG(),ke&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(Ue)for(let Gi=0;Gi<Kn;Gi++)t.readUEG(),t.readUEG(),ke&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),ne=t.readUEG())}let pt=A,Xt=F;if(w){let Ie=1,nt=1;R===1?Ie=nt=2:R==2&&(Ie=2),pt=A-Ie*O-Ie*M,Xt=F-nt*K-nt*P}const He=i?["A","B","C"][i]:"",Pt=o<<24|l<<16|u<<8|h;let _t=0;for(let Ie=0;Ie<32;Ie++)_t=(_t|(Pt>>Ie&1)<<31-Ie)>>>0;let be=_t.toString(16);return s===1&&be==="2"&&(be="6"),{codecString:`hvc1.${He}${s}.${be}.${r?"H":"L"}${_}.B0`,params:{general_tier_flag:r,general_profile_idc:s,general_profile_space:i,general_profile_compatibility_flags:[o,l,u,h],general_constraint_indicator_flags:[d,g,m,v,T,y],general_level_idc:_,bit_depth:ee+8,bit_depth_luma_minus8:ee,bit_depth_chroma_minus8:le,min_spatial_segmentation_idc:ne,chroma_format_idc:R,frame_rate:{fixed:Te,fps:Re/_e}},width:pt,height:Xt,pixelRatio:[ue,me]}}readPPS(e){const t=new ca(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);const i=t.readBoolean(),r=t.readBoolean();let s=1;return r&&i?s=0:r?s=3:i&&(s=2),{parallelismType:s}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}const Jt=188;class ur{constructor(e,t,n,i){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=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=n,this.logger=i,this.videoParser=null}static probe(e,t){const n=ur.syncOffset(e);return n>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${n}`),n!==-1}static syncOffset(e){const t=e.length;let n=Math.min(Jt*5,t-Jt)+1,i=0;for(;i<n;){let r=!1,s=-1,o=0;for(let l=i;l<t;l+=Jt)if(e[l]===71&&(t-l===Jt||e[l+Jt]===71)){if(o++,s===-1&&(s=l,s!==0&&(n=Math.min(s+Jt*99,e.length-Jt)+1)),r||(r=ih(e,l)===0),r&&o>1&&(s===0&&o>2||l+Jt>n))return s}else{if(o)return-1;break}i++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:s0[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,n,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=ur.createTrack("video"),this._videoTrack.duration=i,this._audioTrack=ur.createTrack("audio",i),this._id3Track=ur.createTrack("id3"),this._txtTrack=ur.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=n}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:t,_id3Track:n}=this;e&&(e.pesData=null),t&&(t.pesData=null),n&&(n.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,n=!1,i=!1){n||(this.sampleAes=null);let r;const s=this._videoTrack,o=this._audioTrack,l=this._id3Track,u=this._txtTrack;let h=s.pid,d=s.pesData,g=o.pid,m=l.pid,v=o.pesData,T=l.pesData,y=null,_=this.pmtParsed,x=this._pmtId,b=e.length;if(this.remainderData&&(e=Zi(this.remainderData,e),b=e.length,this.remainderData=null),b<Jt&&!i)return this.remainderData=e,{audioTrack:o,videoTrack:s,id3Track:l,textTrack:u};const R=Math.max(0,ur.syncOffset(e));b-=(b-R)%Jt,b<e.byteLength&&!i&&(this.remainderData=new Uint8Array(e.buffer,b,e.buffer.byteLength-b));let A=0;for(let w=R;w<b;w+=Jt)if(e[w]===71){const M=!!(e[w+1]&64),O=ih(e,w),P=(e[w+3]&48)>>4;let K;if(P>1){if(K=w+5+e[w+4],K===w+Jt)continue}else K=w+4;switch(O){case h:M&&(d&&(r=ds(d,this.logger))&&(this.readyVideoParser(s.segmentCodec),this.videoParser!==null&&this.videoParser.parsePES(s,u,r,!1)),d={data:[],size:0}),d&&(d.data.push(e.subarray(K,w+Jt)),d.size+=w+Jt-K);break;case g:if(M){if(v&&(r=ds(v,this.logger)))switch(o.segmentCodec){case"aac":this.parseAACPES(o,r);break;case"mp3":this.parseMPEGPES(o,r);break;case"ac3":this.parseAC3PES(o,r);break}v={data:[],size:0}}v&&(v.data.push(e.subarray(K,w+Jt)),v.size+=w+Jt-K);break;case m:M&&(T&&(r=ds(T,this.logger))&&this.parseID3PES(l,r),T={data:[],size:0}),T&&(T.data.push(e.subarray(K,w+Jt)),T.size+=w+Jt-K);break;case 0:M&&(K+=e[K]+1),x=this._pmtId=lP(e,K);break;case x:{M&&(K+=e[K]+1);const ee=uP(e,K,this.typeSupported,n,this.observer,this.logger);h=ee.videoPid,h>0&&(s.pid=h,s.segmentCodec=ee.segmentVideoCodec),g=ee.audioPid,g>0&&(o.pid=g,o.segmentCodec=ee.segmentAudioCodec),m=ee.id3Pid,m>0&&(l.pid=m),y!==null&&!_&&(this.logger.warn(`MPEG-TS PMT found at ${w} after unknown PID '${y}'. Backtracking to sync byte @${R} to parse all TS packets.`),y=null,w=R-188),_=this.pmtParsed=!0;break}case 17:case 8191:break;default:y=O;break}}else A++;A>0&&nh(this.observer,new Error(`Found ${A} TS packet/s that do not start with 0x47`),void 0,this.logger),s.pesData=d,o.pesData=v,l.pesData=T;const F={audioTrack:o,videoTrack:s,id3Track:l,textTrack:u};return i&&this.extractRemainingSamples(F),F}flush(){const{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){const{audioTrack:t,videoTrack:n,id3Track:i,textTrack:r}=e,s=n.pesData,o=t.pesData,l=i.pesData;let u;if(s&&(u=ds(s,this.logger))?(this.readyVideoParser(n.segmentCodec),this.videoParser!==null&&(this.videoParser.parsePES(n,r,u,!0),n.pesData=null)):n.pesData=s,o&&(u=ds(o,this.logger))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,u);break;case"mp3":this.parseMPEGPES(t,u);break;case"ac3":this.parseAC3PES(t,u);break}t.pesData=null}else o!=null&&o.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=o;l&&(u=ds(l,this.logger))?(this.parseID3PES(i,u),i.pesData=null):i.pesData=l}demuxSampleAes(e,t,n){const i=this.demux(e,n,!0,!this.config.progressive),r=this.sampleAes=new sP(this.observer,this.config,t);return this.decrypt(i,r)}readyVideoParser(e){this.videoParser===null&&(e==="avc"?this.videoParser=new aP:e==="hevc"&&(this.videoParser=new oP))}decrypt(e,t){return new Promise(n=>{const{audioTrack:i,videoTrack:r}=e;i.samples&&i.segmentCodec==="aac"?t.decryptAacSamples(i.samples,0,()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,()=>{n(e)}):n(e)}):r.samples&&t.decryptAvcSamples(r.samples,0,0,()=>{n(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 n=0;const i=this.aacOverFlow;let r=t.data;if(i){this.aacOverFlow=null;const d=i.missing,g=i.sample.unit.byteLength;if(d===-1)r=Zi(i.sample.unit,r);else{const m=g-d;i.sample.unit.set(r.subarray(0,d),m),e.samples.push(i.sample),n=i.missing}}let s,o;for(s=n,o=r.length;s<o-1&&!pl(r,s);s++);if(s!==n){let d;const g=s<o-1;if(g?d=`AAC PES did not start with ADTS header,offset:${s}`:d="No ADTS header found in AAC PES",nh(this.observer,new Error(d),g,this.logger),!g)return}H0(e,this.observer,r,s,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(i){const d=V0(e.samplerate);l=i.sample.pts+d}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let u=0,h;for(;s<o;)if(h=K0(e,r,s,l,u),s+=h.length,h.missing){this.aacOverFlow=h;break}else for(u++;s<o-1&&!pl(r,s);s++);}parseMPEGPES(e,t){const n=t.data,i=n.length;let r=0,s=0;const o=t.pts;if(o===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;s<i;
vendor: 4,934 bytes, line 274
274)if(q0(n,s)){const l=z0(e,n,s,o,r);if(l)s+=l.length,r++;else break}else s++}parseAC3PES(e,t){{const n=t.data,i=t.pts;if(i===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}const r=n.length;let s=0,o=0,l;for(;o<r&&(l=Z0(e,n,o,i,s++))>0;)o+=l}}parseID3PES(e,t){if(t.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}const n=Et({},t,{type:this._videoTrack?Mi.emsg:Mi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(n)}}function ih(a,e){return((a[e+1]&31)<<8)+a[e+2]}function lP(a,e){return(a[e+10]&31)<<8|a[e+11]}function uP(a,e,t,n,i,r){const s={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(a[e+1]&15)<<8|a[e+2],l=e+3+o-4,u=(a[e+10]&15)<<8|a[e+11];for(e+=12+u;e<l;){const h=ih(a,e),d=(a[e+3]&15)<<8|a[e+4];switch(a[e]){case 207:if(!n){_c("ADTS AAC",r);break}case 15:s.audioPid===-1&&(s.audioPid=h);break;case 21:s.id3Pid===-1&&(s.id3Pid=h);break;case 219:if(!n){_c("H.264",r);break}case 27:s.videoPid===-1&&(s.videoPid=h);break;case 3:case 4:!t.mpeg&&!t.mp3?r.log("MPEG audio found, not supported in this browser"):s.audioPid===-1&&(s.audioPid=h,s.segmentAudioCodec="mp3");break;case 193:if(!n){_c("AC-3",r);break}case 129:t.ac3?s.audioPid===-1&&(s.audioPid=h,s.segmentAudioCodec="ac3"):r.log("AC-3 audio found, not supported in this browser");break;case 6:if(s.audioPid===-1&&d>0){let g=e+5,m=d;for(;m>2;){switch(a[g]){case 106:t.ac3!==!0?r.log("AC-3 audio found, not supported in this browser for now"):(s.audioPid=h,s.segmentAudioCodec="ac3");break}const T=a[g+1]+2;g+=T,m-=T}}break;case 194:case 135:return nh(i,new Error("Unsupported EC-3 in M2TS found"),void 0,r),s;case 36:s.videoPid===-1&&(s.videoPid=h,s.segmentVideoCodec="hevc",r.log("HEVC in M2TS found"));break}e+=d+5}return s}function nh(a,e,t,n){n.warn(`parsing error: ${e.message}`),a.emit(S.ERROR,S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function _c(a,e){e.log(`${a} with AES-128-CBC encryption found in unencrypted stream`)}function ds(a,e){let t=0,n,i,r,s,o;const l=a.data;if(!a||a.size===0)return null;for(;l[0].length<19&&l.length>1;)l[0]=Zi(l[0],l[1]),l.splice(1,1);if(n=l[0],(n[0]<<16)+(n[1]<<8)+n[2]===1){if(i=(n[4]<<8)+n[5],i&&i>a.size-6)return null;const h=n[7];h&192&&(s=(n[9]&14)*536870912+(n[10]&255)*4194304+(n[11]&254)*16384+(n[12]&255)*128+(n[13]&254)/2,h&64?(o=(n[14]&14)*536870912+(n[15]&255)*4194304+(n[16]&254)*16384+(n[17]&255)*128+(n[18]&254)/2,s-o>60*9e4&&(e.warn(`${Math.round((s-o)/9e4)}s delta between PTS and DTS, align them`),s=o)):o=s),r=n[8];let d=r+9;if(a.size<=d)return null;a.size-=d;const g=new Uint8Array(a.size);for(let m=0,v=l.length;m<v;m++){n=l[m];let T=n.byteLength;if(d)if(d>T){d-=T;continue}else n=n.subarray(d),T-=d,d=0;g.set(n,t),t+=T}return i&&(i-=r+3),{data:g,pts:s,dts:o,len:i}}return null}class cP{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)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]);break;default:if(t===1)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(t===2)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(t===3)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]);break}}}const nr=Math.pow(2,32)-1;class G{static init(){G.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:[]};let e;for(e in G.types)G.types.hasOwnProperty(e)&&(G.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const t=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]),n=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]);G.HDLR_TYPES={video:t,audio:n};const i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),r=new 
vendor: 7,246 bytes, line 274
274Uint8Array([0,0,0,0,0,0,0,0]);G.STTS=G.STSC=G.STCO=r,G.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),G.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),G.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),G.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const s=new Uint8Array([105,115,111,109]),o=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);G.FTYP=G.box(G.types.ftyp,s,l,s,o),G.DINF=G.box(G.types.dinf,G.box(G.types.dref,i))}static box(e,...t){let n=8,i=t.length;const r=i;for(;i--;)n+=t[i].byteLength;const s=new Uint8Array(n);for(s[0]=n>>24&255,s[1]=n>>16&255,s[2]=n>>8&255,s[3]=n&255,s.set(e,4),i=0,n=8;i<r;i++)s.set(t[i],n),n+=t[i].byteLength;return s}static hdlr(e){return G.box(G.types.hdlr,G.HDLR_TYPES[e])}static mdat(e){return G.box(G.types.mdat,e)}static mdhd(e,t){t*=e;const n=Math.floor(t/(nr+1)),i=Math.floor(t%(nr+1));return G.box(G.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,e&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(e){return G.box(G.types.mdia,G.mdhd(e.timescale||0,e.duration||0),G.hdlr(e.type),G.minf(e))}static mfhd(e){return G.box(G.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?G.box(G.types.minf,G.box(G.types.smhd,G.SMHD),G.DINF,G.stbl(e)):G.box(G.types.minf,G.box(G.types.vmhd,G.VMHD),G.DINF,G.stbl(e))}static moof(e,t,n){return G.box(G.types.moof,G.mfhd(e),G.traf(n,t))}static moov(e){let t=e.length;const n=[];for(;t--;)n[t]=G.trak(e[t]);return G.box.apply(null,[G.types.moov,G.mvhd(e[0].timescale||0,e[0].duration||0)].concat(n).concat(G.mvex(e)))}static mvex(e){let t=e.length;const n=[];for(;t--;)n[t]=G.trex(e[t]);return G.box.apply(null,[G.types.mvex,...n])}static mvhd(e,t){t*=e;const n=Math.floor(t/(nr+1)),i=Math.floor(t%(nr+1)),r=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,e&255,n>>24,n>>16&255,n>>8&255,n&255,i>>24,i>>16&255,i>>8&255,i&255,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 G.box(G.types.mvhd,r)}static sdtp(e){const t=e.samples||[],n=new Uint8Array(4+t.length);let i,r;for(i=0;i<t.length;i++)r=t[i].flags,n[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return G.box(G.types.sdtp,n)}static stbl(e){return G.box(G.types.stbl,G.stsd(e),G.box(G.types.stts,G.STTS),G.box(G.types.stsc,G.STSC),G.box(G.types.stsz,G.STSZ),G.box(G.types.stco,G.STCO))}static avc1(e){let t=[],n=[],i,r,s;for(i=0;i<e.sps.length;i++)r=e.sps[i],s=r.byteLength,t.push(s>>>8&255),t.push(s&255),t=t.concat(Array.prototype.slice.call(r));for(i=0;i<e.pps.length;i++)r=e.pps[i],s=r.byteLength,n.push(s>>>8&255),n.push(s&255),n=n.concat(Array.prototype.slice.call(r));const o=G.box(G.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(n))),l=e.width,u=e.height,h=e.pixelRatio[0],d=e.pixelRatio[1];return G.box(G.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,l>>8&255,l&255,u>>8&255,u&255,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,G.box(G.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),G.box(G.types.pasp,new Uint8Array([h>>24,h>>16&255,h>>8&255,h&255,d>>24,d>>16&255,d>>8&255,d&255])))}static esds(e){const t=e.config;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,...t,6,1,2])}static audioStsd(e){const 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,t&255,0,0])}static mp4a(e){return G.box(G.types.mp4a,G.audioStsd(e),G.box(G.types.esds,G.esds(e)))}static mp3(e){return G.box(G.types[".mp3"],G.audioStsd(e))}static ac3(e){return G.box(G.types["ac-3"],G.audioStsd(e),G.box(G.types.dac3,e.config))}static stsd(e){const{segmentCodec:t}=e;if(e.type==="audio"){if(t==="aac")return G.box(G.types.stsd,G.STSD,G.mp4a(e));if(t==="ac3"&&e.config)return G.box(G.types.stsd,G.STSD,G.ac3(e));if(t==="mp3"&&e.codec==="mp3")return G.box(G.types.stsd,G.STSD,G.mp3(e))}else if(e.pps&&e.sps){if(t==="avc")return G.box(G.types.stsd,G.STSD,G.avc1(e));if(t==="hevc"&&e.vps)return G.box(G.types.stsd,G.STSD,G.hvc1(e))}else throw new Error("video track missing pps or sps");throw new Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){const t=e.id,n=(e.duration||0)*(e.timescale||0),i=e.width||0,r=e.height||0,s=Math.floor(n/(nr+1)),o=Math.floor(n%(nr+1));return G.box(G.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,t&255,0,0,0,0,s>>24,s>>16&255,s>>8&255,s&255,o>>24,o>>16&255,o>>8&255,o&255,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,i>>8&255,i&255,0,0,r>>8&255,r&255,0,0]))}static traf(e,t){const n=G.sdtp(e),i=e.id,r=Math.floor(t/(nr+1)),s=Math.floor(t%(nr+1));return G.box(G.types.traf,G.box(G.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),G.box(G.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,s>>24,s>>16&255,s>>8&255,s&255])),G.trun(e,n.length+16+20+8+16+8+8),n)}static trak(e){return e.duration=e.duration||4294967295,G.box(G.types.trak,G.tkhd(e),G.mdia(e))}static trex(e){const t=e.id;return G.box(G.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){const n=e.samples||[],i=n.length,r=12+16*i,s=new Uint8Array(r);let o,l,u,h,d,g;for(t+=8+r,s.set([e.type==="video"?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),o=0;o<i;o++)l=n[o],u=l.duration,h=l.size,d=l.flags,g=l.cts,s.set([u>>>24&255,u>>>16&255,u>>>8&255,u&255,h>>>24&255,h>>>16&255,h>>>8&255,h&255,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,d.degradPrio&61440,d.degradPrio&15,g>>>24&255,g>>>16&255,g>>>8&255,g&255],12+16*o);return G.box(G.types.trun,s)}static initSegment(e){G.types||G.init();const t=G.moov(e);return Zi(G.FTYP,t)}static hvc1(e){const t=e.params,n=[e.vps,e.sps,e.pps],i=4,r=new Uint8Array([1,t.general_profile_space<<6|(t.general_tier_flag?32:0)|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),i-1|t.temporal_id_nested<<2|t.num_temporal_layers<<3|(t.frame_rate.fixed?64:0),n.length]);let s=r.length;for(let v=0;v<n.length;v+=1){s+=3;for(let T=0;T<n[v].length;T+=1)s+=2+n[v][T].length}const o=new Uint8Array(s);o.set(r,0),s=r.length;const l=n.length-1;for(let v=0;v<n.length;
vendor: 21,229 bytes, line 274
274v+=1){o.set(new Uint8Array([32+v|(v===l?128:0),0,n[v].length]),s),s+=3;for(let T=0;T<n[v].length;T+=1)o.set(new Uint8Array([n[v][T].length>>8,n[v][T].length&255]),s),s+=2,o.set(n[v][T],s),s+=n[v][T].length}const u=G.box(G.types.hvcC,o),h=e.width,d=e.height,g=e.pixelRatio[0],m=e.pixelRatio[1];return G.box(G.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,h>>8&255,h&255,d>>8&255,d&255,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]),u,G.box(G.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),G.box(G.types.pasp,new Uint8Array([g>>24,g>>16&255,g>>8&255,g&255,m>>24,m>>16&255,m>>8&255,m&255])))}}G.types=void 0;G.HDLR_TYPES=void 0;G.STTS=void 0;G.STSC=void 0;G.STCO=void 0;G.STSZ=void 0;G.VMHD=void 0;G.SMHD=void 0;G.STSD=void 0;G.FTYP=void 0;G.DINF=void 0;const ey=9e4;function Jh(a,e,t=1,n=!1){const i=a*e*t;return n?Math.round(i):i}function hP(a,e,t=1,n=!1){return Jh(a,e,1/t,n)}function ea(a,e=!1){return Jh(a,1e3,1/ey,e)}function fP(a,e=1){return Jh(a,ey,1/e)}function Pm(a){const{baseTime:e,timescale:t,trackId:n}=a;return`${e/t} (${e}/${t}) trackId: ${n}`}const dP=10*1e3,gP=1024,pP=1152,mP=1536;let gs=null,Sc=null;function Dm(a,e,t,n){return{duration:e,size:t,cts:n,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:a?2:1,isNonSync:a?0:1}}}class Vo extends Ji{constructor(e,t,n,i){if(super("mp4-remuxer",i),this.observer=void 0,this.config=void 0,this.typeSupported=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=n,this.ISGenerated=!1,gs===null){const s=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);gs=s?parseInt(s[1]):0}if(Sc===null){const r=navigator.userAgent.match(/Safari\/(\d+)/i);Sc=r?parseInt(r[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){const t=this._initPTS;(!t||!e||e.trackId!==t.trackId||e.baseTime!==t.baseTime||e.timescale!==t.timescale)&&this.log(`Reset initPTS: ${t&&Pm(t)} > ${e&&Pm(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;const n=e[0].pts,i=e.reduce((r,s)=>{let o=s.pts,l=o-r;return l<-4294967296&&(t=!0,o=Di(o,n),l=o-r),l>0?r:o},n);return t&&this.debug("PTS rollover detected"),i}remux(e,t,n,i,r,s,o,l){let u,h,d,g,m,v,T=r,y=r;const _=e.pid>-1,x=t.pid>-1,b=t.samples.length,R=e.samples.length>0,A=o&&b>0||b>1;if((!_||R)&&(!x||A)||this.ISGenerated||o){if(this.ISGenerated){var w,M,O,P;const ae=this.videoTrackConfig;(ae&&(t.width!==ae.width||t.height!==ae.height||((w=t.pixelRatio)==null?void 0:w[0])!==((M=ae.pixelRatio)==null?void 0:M[0])||((O=t.pixelRatio)==null?void 0:O[1])!==((P=ae.pixelRatio)==null?void 0:P[1]))||!ae&&A||this.nextAudioTs===null&&R)&&this.resetInitSegment()}this.ISGenerated||(d=this.generateIS(e,t,r,s));const K=this.isVideoContiguous;let ee=-1,le;if(A&&(ee=vP(t.samples),!K&&this.config.forceKeyFrameOnDiscontinuity))if(v=!0,ee>0){this.warn(`Dropped ${ee} out of ${b} video samples due to a missing keyframe`);const ae=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(ee),t.dropped+=ee,y+=(t.samples[0].pts-ae)/t.inputTimeScale,le=y}else ee===-1&&(this.warn(`No keyframe found out of ${b} video samples`),v=!1);if(this.ISGenerated){if(R&&A){const ae=this.getVideoStartPts(t.samples),B=(Di(e.samples[0].pts,ae)-ae)/t.inputTimeScale;T+=Math.max(0,B),y+=Math.max(0,-B)}if(R){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),d=this.generateIS(e,t,r,s)),h=this.remuxAudio(e,T,this.isAudioContiguous,s,x||A||l===ye.AUDIO?y:void 0),A){const ae=h?h.endPTS-h.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),d=this.generateIS(e,t,r,s)),u=this.remuxVideo(t,y,K,ae)}}else A&&(u=this.remuxVideo(t,y,K,0));u&&(u.firstKeyFrame=ee,u.independent=ee!==-1,u.firstKeyFramePTS=le)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(n.samples.length&&(m=ty(n,r,this._initPTS,this._initDTS)),i.samples.length&&(g=iy(i,r,this._initPTS))),{audio:h,video:u,initSegment:d,independent:v,text:g,id3:m}}computeInitPts(e,t,n,i){const r=Math.round(n*t);let s=Di(e,r);if(s<r+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(r-s)/t} ${i}`);s<r+t;)s+=8589934592;return s-r}generateIS(e,t,n,i){const r=e.samples,s=t.samples,o=this.typeSupported,l={},u=this._initPTS;let h=!u||i,d="audio/mp4",g,m,v,T=-1;if(h&&(g=m=1/0),e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":o.mpeg?(d="audio/mpeg",e.codec=""):o.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}l.audio={id:"audio",container:d,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&o.mpeg?new Uint8Array(0):G.initSegment([e]),metadata:{channelCount:e.channelCount}},h&&(T=e.id,v=e.inputTimeScale,!u||v!==u.timescale?g=m=this.computeInitPts(r[0].pts,v,n,"audio"):h=!1)}if(t.sps&&t.pps&&s.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:G.initSegment([t]),metadata:{width:t.width,height:t.height}},h)if(T=t.id,v=t.inputTimeScale,!u||v!==u.timescale){const y=this.getVideoStartPts(s),_=Di(s[0].dts,y),x=this.computeInitPts(_,v,n,"video"),b=this.computeInitPts(y,v,n,"video");m=Math.min(m,x),g=Math.min(g,b)}else h=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(l).length)return this.ISGenerated=!0,h?(u&&this.warn(`Timestamps at playlist time: ${i?"":"~"}${n} ${g/v} != initPTS: ${u.baseTime/u.timescale} (${u.baseTime}/${u.timescale}) trackId: ${u.trackId}`),this.log(`Found initPTS at playlist time: ${n} offset: ${g/v} (${g}/${v}) trackId: ${T}`),this._initPTS={baseTime:g,timescale:v,trackId:T},this._initDTS={baseTime:m,timescale:v,trackId:T}):g=v=void 0,{tracks:l,initPTS:g,timescale:v,trackId:T}}remuxVideo(e,t,n,i){const r=e.inputTimeScale,s=e.samples,o=[],l=s.length,u=this._initPTS,h=u.baseTime*r/u.timescale;let d=this.nextVideoTs,g=8,m=this.videoSampleDuration,v,T,y=Number.POSITIVE_INFINITY,_=Number.NEGATIVE_INFINITY,x=!1;if(!n||d===null){const ne=h+t*r,ue=s[0].pts-Di(s[0].dts,s[0].pts);gs&&d!==null&&Math.abs(ne-ue-(d+h))<15e3?n=!0:d=ne-ue-h}const b=d+h;for(let ne=0;ne<l;ne++){const ue=s[ne];ue.pts=Di(ue.pts,b),ue.dts=Di(ue.dts,b),ue.dts<s[ne>0?ne-1:ne].dts&&(x=!0)}x&&s.sort(function(ne,ue){const me=ne.dts-ue.dts,Te=ne.pts-ue.pts;return me||Te}),v=s[0].dts,T=s[s.length-1].dts;const R=T-v,A=R?Math.round(R/(l-1)):m||e.inputTimeScale/30;if(n){const ne=v-b,ue=ne>A,me=ne<-1;if((ue||me)&&(ue?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ea(ne,!0)} ms (${ne}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ea(-ne,!0)} ms (${ne}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!me||b>=s[0].pts||gs)){v=b;const Te=s[0].pts-ne;if(ue)s[0].dts=v,s[0].pts=Te;else{let _e=!0;for(let Re=0;Re<s.length&&!(s[Re].dts>Te&&_e);Re++){const Qe=s[Re].pts;if(s[Re].dts-=ne,s[Re].pts-=ne,Re<s.length-1){const Ge=s[Re+1].pts,pt=s[Re].pts,Xt=Ge<=pt,He=Ge<=Qe;_e=Xt==He}}}this.log(`Video: Initial PTS/DTS adjusted: ${ea(Te,!0)}/${ea(v,!0)}, delta: ${ea(ne,!0)} ms`)}}v=Math.max(0,v);let F=0,w=0,M=v;for(let ne=0;ne<l;ne++){const ue=s[ne],me=ue.units,Te=me.length;let _e=0;for(let Re=0;Re<Te;Re++)_e+=me[Re].data.length;w+=_e,F+=Te,ue.length=_e,ue.dts<M?(ue.dts=M,M+=A/4|0||1):M=ue.dts,y=Math.min(ue.pts,y),_=Math.max(ue.pts,_)}T=s[l-1].dts;const O=w+4*F+8;let P;try{P=new Uint8Array(O)}catch(ne){this.observer.emit(S.ERROR,S.ERROR,{type:Se.MUX_ERROR,details:V.REMUX_ALLOC_ERROR,fatal:!1,error:ne,bytes:O,reason:`fail allocating video mdat ${O}`});return}const K=new DataView(P.buffer);K.setUint32(0,O),P.set(G.types.mdat,4);let ee=!1,le=Number.POSITIVE_INFINITY,ae=Number.POSITIVE_INFINITY,q=Number.NEGATIVE_INFINITY,B=Number.NEGATIVE_INFINITY;for(let ne=0;ne<l;ne++){const ue=s[ne],me=ue.units;let Te=0;for(let Qe=0,Ge=me.length;Qe<Ge;Qe++){const pt=me[Qe],Xt=pt.data,He=pt.data.byteLength;K.setUint32(g,He),g+=4,P.set(Xt,g),g+=He,Te+=4+He}let _e;if(ne<l-1)m=s[ne+1].dts-ue.dts,_e=s[ne+1].pts-ue.pts;else{const Qe=this.config,Ge=ne>0?ue.dts-s[ne-1].dts:A;if(_e=ne>0?ue.pts-s[ne-1].pts:A,Qe.stretchShortVideoTrack&&this.nextAudioTs!==null){const pt=Math.floor(Qe.maxBufferHole*r),Xt=(i?y+i*r:this.nextAudioTs+h)-ue.pts;Xt>pt?(m=Xt-Ge,m<0?m=Ge:ee=!0,this.log(`It is approximately ${Xt/90} ms to the next segment; using duration ${m/90} ms for the last video frame.`)):m=Ge}else m=Ge}const Re=Math.round(ue.pts-ue.dts);le=Math.min(le,m),q=Math.max(q,m),ae=Math.min(ae,_e),B=Math.max(B,_e),o.push(Dm(ue.key,m,Te,Re))}if(o.length){if(gs){if(gs<70){const ne=o[0].flags;ne.dependsOn=2,ne.isNonSync=0}}else if(Sc&&B-ae<q-le&&A/q<.025&&o[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let ne=v;for(let ue=0,me=o.length;ue<me;ue++){const Te=ne+o[ue].duration,_e=ne+o[ue].cts;if(ue<me-1){const Re=Te+o[ue+1].cts;o[ue].duration=Re-_e}else o[ue].duration=ue?o[ue-1].duration:A;o[ue].cts=0,ne=Te}}}m=ee||!m?A:m;const H=T+m;this.nextVideoTs=d=H-h,this.videoSampleDuration=m,this.isVideoContiguous=!0;const ce={data1:G.moof(e.sequenceNumber++,v,Et(e,{samples:o})),data2:P,startPTS:(y-h)/r,endPTS:(_+m-h)/r,startDTS:(v-h)/r,endDTS:d/r,type:"video",hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,ce}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return pP;case"ac3":return mP;default:return gP}}remuxAudio(e,t,n,i,r){const s=e.inputTimeScale,o=e.samplerate?e.samplerate:s,l=s/o,u=this.getSamplesPerFrame(e),h=u*l,d=this._initPTS,g=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,m=[],v=r!==void 0;let T=e.samples,y=g?0:8,_=this.nextAudioTs||-1;const x=d.baseTime*s/d.timescale,b=x+t*s;if(this.isAudioContiguous=n=n||T.length&&_>0&&(i&&Math.abs(b-(_+x))<9e3||Math.abs(Di(T[0].pts,b)-(_+x))<20*h),T.forEach(function(B){B.pts=Di(B.pts,b)}),!n||_<0){const B=T.length;if(T=T.filter(H=>H.pts>=0),B!==T.length&&this.warn(`Removed ${T.length-B} of ${B} samples (initPTS ${x} / ${s})`),!T.length)return;r===0?_=0:i&&!v?_=Math.max(0,b-x):_=T[0].pts-x}if(e.segmentCodec==="aac"){const B=this.config.maxAudioFramesDrift;for(let H=0,Y=_+x;H<T.length;H++){const Q=T[H],ce=Q.pts,ne=ce-Y,ue=Math.abs(1e3*ne/s);if(ne<=-B*h&&v)H===0&&(this.warn(`Audio frame @ ${(ce/s).toFixed(3)}s overlaps marker by ${Math.round(1e3*ne/s)} ms.`),this.nextAudioTs=_=ce-x,Y=ce);else if(ne>=B*h&&ue<dP&&v){let me=Math.round(ne/h);for(Y=ce-me*h;Y<0&&me&&h;)me--,Y+=h;H===0&&(this.nextAudioTs=_=Y-x),this.warn(`Injecting ${me} audio frames @ ${((Y-x)/s).toFixed(3)}s due to ${Math.round(1e3*ne/s)} ms gap.`);for(let Te=0;Te<me;Te++){let _e=cP.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);_e||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),_e=Q.unit.subarray()),T.splice(H,0,{unit:_e,pts:Y}),Y+=h,H++}}Q.pts=Y,Y+=h}}let R=null,A=null,F,w=0,M=T.length;for(;M--;)w+=T[M].unit.byteLength;for(let B=0,H=T.length;B<H;B++){const Y=T[B],Q=Y.unit;let ce=Y.pts;if(A!==null){const ue=m[B-1];ue.duration=Math.round((ce-A)/l)}else if(n&&e.segmentCodec==="aac"&&(ce=_+x),R=ce,w>0){w+=y;try{F=new Uint8Array(w)}catch(ue){this.observer.emit(S.ERROR,S.ERROR,{type:Se.MUX_ERROR,details:V.REMUX_ALLOC_ERROR,fatal:!1,error:ue,bytes:w,reason:`fail allocating audio mdat ${w}`});return}g||(new DataView(F.buffer).setUint32(0,w),F.set(G.types.mdat,4))}else return;F.set(Q,y);const ne=Q.byteLength;y+=ne,m.push(Dm(!0,u,ne,0)),A=ce}const O=m.length;if(!O)return;const P=m[m.length-1];_=A-x,this.nextAudioTs=_+l*P.duration;const K=g?new Uint8Array(0):G.moof(e.sequenceNumber++,R/l,Et({},e,{samples:m}));e.samples=[];const ee=(R-x)/s,le=this.nextAudioTs/s,q={data1:K,data2:F,startPTS:ee,endPTS:le,startDTS:ee,endDTS:le,type:"audio",hasAudio:!0,hasVideo:!1,nb:O};return this.isAudioContiguous=!0,q}}function Di(a,e){let t;if(e===null)return a;for(e<a?t=-8589934592:t=8589934592;Math.abs(a-e)>4294967296;)a+=t;return a}function vP(a){for(let e=0;e<a.length;e++)if(a[e].key)return e;return-1}function ty(a,e,t,n){const i=a.samples.length;if(!i)return;const r=a.inputTimeScale;for(let o=0;o<i;o++){const l=a.samples[o];l.pts=Di(l.pts-t.baseTime*r/t.timescale,e*r)/r,l.dts=Di(l.dts-n.baseTime*r/n.timescale,e*r)/r}const s=a.samples;return a.samples=[],{samples:s}}function iy(a,e,t){const n=a.samples.length;if(!n)return;const i=a.inputTimeScale;for(let s=0;s<n;s++){const o=a.samples[s];o.pts=Di(o.pts-t.baseTime*i/t.timescale,e*i)/i}a.samples.sort((s,o)=>s.pts-o.pts);const r=a.samples;return a.samples=[],{samples:r}}class yP extends Ji{constructor(e,t,n,i){super("passthrough-remuxer",i),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;const 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,n,i){this.audioCodec=t,this.videoCodec=n,this.generateInitSegment(e,i),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:n,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}const{audio:r,video:s}=this.initData=l0(e);if(t)sk(e,t);else{const l=r||s;l!=null&&l.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${l.codec}")!`)}r&&(n=Om(r,xt.AUDIO,this)),s&&(i=Om(s,xt.VIDEO,this));const o={};r&&s?o.audiovideo={container:"video/mp4",codec:n+","+i,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:r?o.audio={container:"audio/mp4",codec:n,encrypted:r.encrypted,initSegment:e,id:"audio"}:s?o.video={container:"video/mp4",codec:i,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=o}remux(e,t,n,i,r,s){var o,l;let{initPTS:u,lastEndTime:h}=this;const d={audio:void 0,video:void 0,text:i,id3:n,initSegment:void 0};pe(h)||(h=this.lastEndTime=r||0);const g=t.samples;if(!g.length)return d;const m={initPTS:void 0,timescale:void 0,trackId:void 0};let v=this.initData;if((o=v)!=null&&o.length||(this.generateInitSegment(g),v=this.initData),!((l=v)!=null&&l.length))return this.warn("Failed to generate initSegment."),d;this.emitInitSegment&&(m.tracks=this.initTracks,this.emitInitSegment=!1);const T=ok(g,v,this),y=v.audio?T[v.audio.id]:null,_=v.video?T[v.video.id]:null,x=ko(_,1/0),b=ko(y,1/0),R=ko(_,0,!0),A=ko(y,0,!0);let F=r,w=0;const M=y&&(!_||!u&&b<x||u&&u.trackId===v.audio.id),O=M?y:_;if(O){const Y=O.timescale,Q=O.start-r*Y,ce=M?v.audio.id:v.video.id;F=O.start/Y,w=M?A-b:R-x,(s||!u)&&(TP(u,F,r,w)||Y!==u.timescale)&&(u&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${r} ${Q/Y} != initPTS: ${u.baseTime/u.timescale} (${u.baseTime}/${u.timescale}) trackId: ${u.trackId}`),this.log(`Found initPTS at playlist time: ${r} offset: ${F-r} (${Q}/${Y}) trackId: ${ce}`),u=null,m.initPTS=Q,m.timescale=Y,m.trackId=ce)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${r}`);u?(m.initPTS=u.baseTime,m.timescale=u.timescale,m.trackId=u.trackId):((!m.timescale||m.trackId===void 0||m.initPTS===void 0)&&(this.warn("Could not set initPTS"),m.initPTS=F,m.timescale=1,m.trackId=-1),this.initPTS=u={baseTime:m.initPTS,timescale:m.timescale,trackId:m.trackId});const P=F-u.baseTime/u.timescale,K=P+w;w>0?this.lastEndTime=K:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const ee=!!v.audio,le=!!v.video;let ae="";ee&&(ae+="audio"),le&&(ae+="video");const q=(v.audio?v.audio.encrypted:!1)||(v.video?v.video.encrypted:!1),B={data1:g,startPTS:P,startDTS:P,endPTS:K,endDTS:K,type:ae,hasAudio:ee,hasVideo:le,nb:1,dropped:0,encrypted:q};d.audio=ee&&!le?B:void 0,d.video=le?B:void 0;const H=_==null?void 0:_.sampleCount;if(H){const Y=_.keyFrameIndex,Q=Y!==-1;B.nb=H,B.dropped=Y===0||this.isVideoContiguous?0:Q?Y:H,B.independent=Q,B.firstKeyFrame=Y,Q&&_.keyFrameStart&&(B.firstKeyFramePTS=(_.keyFrameStart-u.baseTime)/u.timescale),this.isVideoContiguous||(d.independent=Q),this.isVideoContiguous||(this.isVideoContiguous=Q),B.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${Y}/${H} dropped: ${B.dropped} start: ${B.firstKeyFramePTS||"NA"}`)}return d.initSegment=m,d.id3=ty(n,r,u,u),i.samples.length&&(d.text=iy(i,r,u)),d}}function ko(a,e,t=!1){return(a==null?void 0:a.start)!==void 0?(a.start+(t?a.duration:0))/a.timescale:e}function TP(a,e,t,n){if(a===null)return!0;const i=Math.max(n,1),r=e-a.baseTime/a.timescale;return Math.abs(r-t)>i}function Om(a,e,t){const n=a.codec;return n&&n.length>4?n:e===xt.AUDIO?n==="ec-3"||n==="ac-3"||n==="alac"?n:n==="fLaC"||n==="Opus"?ol(n,!1):(t.warn(`Unhandled audio codec "${n}" in mp4 MAP`),n||"mp4a"):(t.warn(`Unhandled video codec "${n}" in mp4 MAP`),n||"avc1")}let Bn;try{Bn=self.performance.now.bind(self.performance)}catch{Bn=Date.now}const Ko=[{demux:rP,remux:yP},{demux:ur,remux:Vo},{demux:eP,remux:Vo},{demux:iP,remux:Vo}];Ko.splice(2,0,{demux:tP,remux:Vo});class Mm{constructor(e,t,n,i,r,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=n,this.id=r,this.logger=s}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,n,i){const r=n.transmuxing;r.executeStart=Bn();let s=new Uint8Array(e);const{currentTransmuxState:o,transmuxConfig:l}=this;i&&(this.currentTransmuxState=i);const{contiguous:u,discontinuity:h,trackSwitch:d,accurateTimeOffset:g,timeOffset:m,initSegmentChange:v}=i||o,{audioCodec:T,videoCodec:y,defaultInitPts:_,duration:x,initSegmentData:b}=l,R=EP(s,t);if(R&&Ss(R.method)){const M=this.getDecrypter(),O=Kh(R.method);if(M.isSync()){let P=M.softwareDecrypt(s,R.key.buffer,R.iv.buffer,O);if(n.part>-1){const ee=M.flush();P=ee&&ee.buffer}if(!P)return r.executeEnd=Bn(),xc(n);s=new Uint8Array(P)}else return this.asyncResult=!0,this.decryptionPromise=M.webCryptoDecrypt(s,R.key.buffer,R.iv.buffer,O).then(P=>{const K=this.push(P,null,n);return this.decryptionPromise=null,K}),this.decryptionPromise}const A=this.needsProbing(h,d);if(A){const M=this.configureTransmuxer(s);if(M)return this.logger.warn(`[transmuxer] ${M.message}`),this.observer.emit(S.ERROR,S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_PARSING_ERROR,fatal:!1,error:M,reason:M.message}),r.executeEnd=Bn(),xc(n)}(h||d||v||A)&&this.resetInitSegment(b,T,y,x,t),(h||v||A)&&this.resetInitialTimestamp(_),u||this.resetContiguity();const F=this.transmux(s,R,m,g,n);this.asyncResult=Ta(F);const w=this.currentTransmuxState;return w.contiguous=!0,w.discontinuity=!1,w.trackSwitch=!1,r.executeEnd=Bn(),F}flush(e){const t=e.transmuxing;t.executeStart=Bn();const{decrypter:n,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return this.asyncResult=!0,r.then(()=>this.flush(e));const s=[],{timeOffset:o}=i;if(n){const d=n.flush();d&&s.push(this.push(d.buffer,null,e))}const{demuxer:l,remuxer:u}=this;if(!l||!u){t.executeEnd=Bn();const d=[xc(e)];return this.asyncResult?Promise.resolve(d):d}const h=l.flush(o);return Ta(h)?(this.asyncResult=!0,h.then(d=>(this.flushRemux(s,d,e),s))):(this.flushRemux(s,h,e),this.asyncResult?Promise.resolve(s):s)}flushRemux(e,t,n){const{audioTrack:i,videoTrack:r,id3Track:s,textTrack:o}=t,{accurateTimeOffset:l,timeOffset:u}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${n.sn}${n.part>-1?" part: "+n.part:""} of ${this.id===ye.MAIN?"level":"track"} ${n.level}`);const h=this.remuxer.remux(i,r,s,o,u,l,!0,this.id);e.push({remuxResult:h,chunkMeta:n}),n.transmuxing.executeEnd=Bn()}resetInitialTimestamp(e){const{demuxer:t,remuxer:n}=this;!t||!n||(t.resetTimeStamp(e),n.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,n,i,r){const{demuxer:s,remuxer:o}=this;!s||!o||(s.resetInitSegment(e,t,n,i),o.resetInitSegment(e,t,n,r))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,n,i,r){let s;return t&&t.method==="SAMPLE-AES"?s=this.transmuxSampleAes(e,t,n,i,r):s=this.transmuxUnencrypted(e,n,i,r),s}transmuxUnencrypted(e,t,n,i){const{audioTrack:r,videoTrack:s,id3Track:o,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,s,o,l,t,n,!1,this.id),chunkMeta:i}}transmuxSampleAes(e,t,n,i,r){return this.demuxer.demuxSampleAes(e,t,n
vendor: 4,074 bytes, line 274
274).then(s=>({remuxResult:this.remuxer.remux(s.audioTrack,s.videoTrack,s.id3Track,s.textTrack,n,i,!1,this.id),chunkMeta:r}))}configureTransmuxer(e){const{config:t,observer:n,typeSupported:i}=this;let r;for(let d=0,g=Ko.length;d<g;d++){var s;if((s=Ko[d].demux)!=null&&s.probe(e,this.logger)){r=Ko[d];break}}if(!r)return new Error("Failed to find demuxer by probing fragment data");const o=this.demuxer,l=this.remuxer,u=r.remux,h=r.demux;(!l||!(l instanceof u))&&(this.remuxer=new u(n,t,i,this.logger)),(!o||!(o instanceof h))&&(this.demuxer=new h(n,t,i,this.logger),this.probe=h.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Hh(this.config)),e}}function EP(a,e){let t=null;return a.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}const xc=a=>({remuxResult:{},chunkMeta:a});function Ta(a){return"then"in a&&a.then instanceof Function}class _P{constructor(e,t,n,i,r){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=n,this.duration=i,this.defaultInitPts=r||null}}class SP{constructor(e,t,n,i,r,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=n,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=s}}let Fm=0;class ny{constructor(e,t,n,i){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=Fm++,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=l=>{const u=l.data,h=this.hls;if(!(!h||!(u!=null&&u.event)||u.instanceNo!==this.instanceNo))switch(u.event){case"init":{var d;const g=(d=this.workerContext)==null?void 0:d.objectURL;g&&self.URL.revokeObjectURL(g);break}case"transmuxComplete":{this.handleTransmuxComplete(u.data);break}case"flush":{this.onFlush(u.data);break}case"workerLog":{h.logger[u.data.logType]&&h.logger[u.data.logType](u.data.message);break}default:{u.data=u.data||{},u.data.frag=this.frag,u.data.part=this.part,u.data.id=this.id,h.trigger(u.event,u.data);break}}},this.onWorkerError=l=>{if(!this.hls)return;const u=new Error(`${l.message}  (${l.filename}:${l.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:u})};const r=e.config;this.hls=e,this.id=t,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=n,this.onFlush=i;const s=(l,u)=>{u=u||{},u.frag=this.frag||void 0,l===S.ERROR&&(u=u,u.parent=this.id,u.part=this.part,this.error=u.error),this.hls.trigger(l,u)};this.observer=new zh,this.observer.on(S.FRAG_DECRYPTED,s),this.observer.on(S.ERROR,s);const o=Qp(r.preferManagedMediaSource);if(this.useWorker&&typeof Worker<"u"){const l=this.hls.logger;if(r.workerPath||Aw()){try{r.workerPath?(l.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=Lw(r.workerPath)):(l.log(`injecting Web Worker for "${t}"`),this.workerContext=Cw());const{worker:h}=this.workerContext;h.addEventListener("message",this.onWorkerMessage),h.addEventListener("error",this.onWorkerError),h.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:o,id:t,config:It(r)})}catch(h){l.warn(`Error setting up "${t}" Web Worker, fallback to inline`,h),this.terminateWorker(),this.error=null,this.transmuxer=new Mm(this.observer,o,r,"",t,e.logger)}return}}this.transmuxer=new Mm(this.observer,o,r,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){const e=this.instanceNo;this.instanceNo=Fm++;const t=this.hls.config,n=Qp(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:n,id:this.id,c
vendor: 8,255 bytes, lines 274-280
274onfig:It(t)})}}terminateWorker(){if(this.workerContext){const{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),Rw(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,n,i,r,s,o,l,u,h){var d,g;u.transmuxing.start=self.performance.now();const{instanceNo:m,transmuxer:v}=this,T=s?s.start:r.start,y=r.decryptdata,_=this.frag,x=!(_&&r.cc===_.cc),b=!(_&&u.level===_.level),R=_?u.sn-_.sn:-1,A=this.part?u.part-this.part.index:-1,F=R===0&&u.id>1&&u.id===(_==null?void 0:_.stats.chunkCount),w=!b&&(R===1||R===0&&(A===1||F&&A<=0)),M=self.performance.now();(b||R||r.stats.parsing.start===0)&&(r.stats.parsing.start=M),s&&(A||!w)&&(s.stats.parsing.start=M);const O=!(_&&((d=r.initSegment)==null?void 0:d.url)===((g=_.initSegment)==null?void 0:g.url)),P=new SP(x,w,l,b,T,O);if(!w||x||O){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${r.type} sn: ${u.sn}${u.part>-1?" part: "+u.part:""} ${this.id===ye.MAIN?"level":"track"}: ${u.level} id: ${u.id}
275        discontinuity: ${x}
276        trackSwitch: ${b}
277        contiguous: ${w}
278        accurateTimeOffset: ${l}
279        timeOffset: ${T}
280        initSegmentChange: ${O}`);const K=new _P(n,i,t,o,h);this.configureTransmuxer(K)}if(this.frag=r,this.part=s,this.workerContext)this.workerContext.worker.postMessage({instanceNo:m,cmd:"demux",data:e,decryptdata:y,chunkMeta:u,state:P},e instanceof ArrayBuffer?[e]:[]);else if(v){const K=v.push(e,y,u,P);Ta(K)?K.then(ee=>{this.handleTransmuxComplete(ee)}).catch(ee=>{this.transmuxerError(ee,u,"transmuxer-interface push error")}):this.handleTransmuxComplete(K)}}flush(e){e.transmuxing.start=self.performance.now();const{instanceNo:t,transmuxer:n}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(n){const i=n.flush(e);Ta(i)?i.then(r=>{this.handleFlushResult(r,e)}).catch(r=>{this.transmuxerError(r,e,"transmuxer-interface flush error")}):this.handleFlushResult(i,e)}}transmuxerError(e,t,n){this.hls&&(this.error=e,this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:n}))}handleFlushResult(e,t){e.forEach(n=>{this.handleTransmuxComplete(n)}),this.onFlush(t)}configureTransmuxer(e){const{instanceNo:t,transmuxer:n}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):n&&n.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}const Nm=100;class xP extends Yh{constructor(e,t,n){super(e,t,n,"audio-stream-controller",ye.AUDIO),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();const{hls:e}=this;e.on(S.LEVEL_LOADED,this.onLevelLoaded,this),e.on(S.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(S.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(S.BUFFER_RESET,this.onBufferReset,this),e.on(S.BUFFER_CREATED,this.onBufferCreated,this),e.on(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(S.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(S.FRAG_LOADING,this.onFragLoading,this),e.on(S.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){const{hls:e}=this;e&&(super.unregisterListeners(),e.off(S.LEVEL_LOADED,this.onLevelLoaded,this),e.off(S.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(S.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(S.BUFFER_RESET,this.onBufferReset,this),e.off(S.BUFFER_CREATED,this.onBufferCreated,this),e.off(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(S.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(S.FRAG_LOADING,this.onFragLoading,this),e.off(S.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:n,initPTS:i,timescale:r,trackId:s}){if(n===ye.MAIN){const o=t.cc,l=this.fragCurrent;if(this.initPTS[o]={baseTime:i,timescale:r,trackId:s},this.log(`InitPTS for cc: ${o} found from main: ${i/r} (${i}/${r}) trackId: ${s}`),this.mainAnchor=t,this.state===Z.WAITING_INIT_PTS){const u=this.waitingData;(!u&&!this.loadingParts||u&&u.frag.cc!==o)&&this.syncWithAnchor(t,u==null?void 0:u.frag)}else!this.hls.hasEnoughToStart&&l&&l.cc!==o?(l.abortRequests(),this.syncWithAnchor(t,l)):this.state===Z.IDLE&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var n;const i=((n=this.mainFragLoading)==null?void 0:n.frag)||null;if(t&&(i==null?void 0:i.cc)===t.cc)return;const r=(i||e).cc,s=this.getLevelDetails(),o=this.getLoadPosition(),l=T0(s,r,o);l&&(this.log(`Syncing with main frag at ${l.start} cc ${l.cc}`),this.startFragRequested=!1,this.nextLoadPosition=l.start,this.resetLoadingState(),this.state===Z.IDLE&&this.doTickIdle())}startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=Z.STOPPED;return}const n=this.lastCurrentTime;this.stopLoad(),this.setInterval(Nm),n>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n,this.state=Z.IDLE):this.state=Z.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case Z.IDLE:this.doTickIdle();break;case Z.WAITING_TRACK:{const{levels:e,trackId:t}=this,n=e==null?void 0:e[t],i=n==null?void 0:n.details;if(i&&!this.waitForLive(n)){if(this.waitForCdnTuneIn(i))break;this.state=Z.WAITING_INIT_PTS}break}case Z.FRAG_LOADING_WAITING_RETRY:{this.checkRetryDate();break}case Z.WAITING_INIT_PTS:{const e=this.waitingData;if(e){const{frag:t,part:n,cache:i,complete:r}=e,s=this.mainAnchor;if(this.initPTS[t.cc]!==void 0){this.waitingData=null,this.state=Z.FRAG_LOADING;const o=i.flush().buffer,l={frag:t,part:n,payload:o,networkDetails:null};this._handleFragmentLoadProgress(l),r&&super._handleFragmentLoadComplete(l)}else s&&s.cc!==e.frag.cc&&this.syncWithAnchor(s,e.frag)}else this.state=Z.IDLE}}this.onTickEnd()}resetLoadingState(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){const{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;const{hls:t,levels:n,media:i,trackId:r}=this,s=t.config;if(!this.buffering||!i&&!this.primaryPrefetch&&(this.startFragRequested||!s.startFragPrefetch)||!(n!=null&&n[r]))return;const o=n[r],l=o.details;if(!l||this.waitForLive(o)||this.waitForCdnTuneIn(l)){this.state=Z.WAITING_TRACK,this.startFragRequested=!1;return}const u=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&u&&(this.bufferFlushed=!1,this.afterBufferFlushed(u,xt.AUDIO,ye.AUDIO));const h=this.getFwdBufferInfo(u,ye.AUDIO);if(h===null)return;if(!this.switchingTrack&&this._streamEnded(h,l)){t.trigger(S.BUFFER_EOS,{type:"audio"}),this.state=Z.ENDED;return}const d=h.len,g=t.maxBufferLength,m=l.fragments,v=m[0].start,T=this.getLoadPosition(),y=this.flushing?T:h.end;if(this.switchingTrack&&i){const b=T;l.PTSKnown&&b<v&&(h.end>v||h.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=v+.05)}if(d>=g&&!this.switchingTrack&&y<m[m.length-1].start)return;let _=this.getNextFragment(y,l);
vendor: 2,637 bytes, line 280
280if(_&&this.isLoopLoading(_,y)&&(_=this.getNextFragmentLoopLoading(_,l,h,ye.MAIN,g)),!_){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(h,g,_))return;let x=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&x&&Vt(_)&&!_.endList&&(!l.live||!this.loadingParts&&y<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(x)===qt.OK&&(this.mainFragLoading=x=null),x&&Vt(x))){if(_.start>x.end){const R=this.fragmentTracker.getFragAtPos(y,ye.MAIN);R&&R.end>x.end&&(x=R,this.mainFragLoading={frag:R,targetBufferTime:null})}if(_.start>x.end)return}this.loadFragment(_,o,y)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(n=>new ma(n))}onAudioTrackSwitching(e,t){const n=!!t.url;this.trackId=t.id;const{fragCurrent:i}=this;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),n?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==Z.STOPPED&&(this.setInterval(Nm),this.state=Z.IDLE,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;const n=this.cachedTrackLoadedData;n&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(S.AUDIO_TRACK_LOADED,n))}onAudioTrackLoaded(e,t){var n;const{levels:i}=this,{details:r,id:s,groupId:o,track:l}=t;if(!i){this.warn(`Audio tracks reset while loading track ${s} "${l.name}" of "${o}"`);return}const u=this.mainDetails;if(!u||r.endCC>u.endCC||u.expired){this.cachedTrackLoadedData=t,this.state!==Z.STOPPED&&(this.state=Z.WAITING_TRACK);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${s} "${l.name}" of "${o}" loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);const h=i[s];let d=0;if(r.live||(n=h.details)!=null&&n.live){if(this.checkLiveUpdate(r),r.deltaUpdateFailed)return;if(h.details){var g;d=this.alignPlaylists(r,h.details,(g=this.levelLastLoaded)==null?void 0:g.details)}r.alignedSliding||(N0(r,u),r.alignedSliding||gl(r,u),d=r.fragmentStart)}h.details=r,this.levelLastLoaded=h,this.startFragRequested||this.setStartPosition(u,d),this.hls.trigger(S.AUDIO_TRACK_UPDATED,{details:r,id:s,groupId:t.groupId}),this.state===Z.WAITING_TRACK&&!this.waitForCdnTuneIn(r)&&(this.state=Z.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;const n=e.frag,{part:i,payload:r}
vendor: 14,368 bytes, line 280
280=e,{config:s,trackId:o,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const u=l[o];if(!u){this.warn("Audio track is undefined on fragment load progress");return}const h=u.details;if(!h){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(n.start);return}const d=s.defaultAudioCodec||u.audioCodec||"mp4a.40.2";let g=this.transmuxer;g||(g=this.transmuxer=new ny(this.hls,ye.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const m=this.initPTS[n.cc],v=(t=n.initSegment)==null?void 0:t.data;if(m!==void 0){const y=i?i.index:-1,_=y!==-1,x=new Vh(n.level,n.sn,n.stats.chunkCount,r.byteLength,y,_);g.push(r,v,d,"",n,i,h.totalduration,!1,x,m)}else{this.log(`Unknown video PTS for cc ${n.cc}, waiting for video PTS before demuxing audio frag ${n.sn} of [${h.startSN} ,${h.endSN}],track ${o}`);const{cache:T}=this.waitingData=this.waitingData||{frag:n,part:i,cache:new B0,complete:!1};T.push(new Uint8Array(r)),this.state!==Z.STOPPED&&(this.state=Z.WAITING_INIT_PTS)}}_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;const n=t.tracks.audio;n&&(this.mediaBuffer=n.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===ye.MAIN&&Vt(t.frag)&&(this.mainFragLoading=t,this.state===Z.IDLE&&this.tick())}onFragBuffered(e,t){const{frag:n,part:i}=t;if(n.type!==ye.AUDIO){!this.audioOnly&&n.type===ye.MAIN&&!n.elementaryStreams.video&&!n.elementaryStreams.audiovideo&&(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${i?" p: "+i.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(Vt(n)){this.fragPrevious=n;const r=this.switchingTrack;r&&(this.bufferedTrack=r,this.switchingTrack=null,this.hls.trigger(S.AUDIO_TRACK_SWITCHED,vt({},r)))}this.fragBufferedComplete(n,i),this.media&&this.tick()}onError(e,t){var n;if(t.fatal){this.state=Z.ERROR;return}switch(t.details){case V.FRAG_GAP:case V.FRAG_PARSING_ERROR:case V.FRAG_DECRYPT_ERROR:case V.FRAG_LOAD_ERROR:case V.FRAG_LOAD_TIMEOUT:case V.KEY_LOAD_ERROR:case V.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ye.AUDIO,t);break;case V.AUDIO_TRACK_LOAD_ERROR:case V.AUDIO_TRACK_LOAD_TIMEOUT:case V.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Z.WAITING_TRACK&&((n=t.context)==null?void 0:n.type)===tt.AUDIO_TRACK&&(this.state=Z.IDLE);break;case V.BUFFER_ADD_CODEC_ERROR:case V.BUFFER_APPEND_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case V.BUFFER_FULL_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case V.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==xt.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==xt.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===Z.ENDED&&(this.state=Z.IDLE);const n=this.mediaBuffer||this.media;n&&(this.afterBufferFlushed(n,t,ye.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;const n="audio",{hls:i}=this,{remuxResult:r,chunkMeta:s}=e,o=this.getCurrentContext(s);if(!o){this.resetWhenMissingContext(s);return}const{frag:l,part:u,level:h}=o,{details:d}=h,{audio:g,text:m,id3:v,initSegment:T}=r;if(this.fragContextChanged(l)||!d){this.fragmentTracker.removeFragment(l);return}if(this.state=Z.PARSING,this.switchingTrack&&g&&this.completeAudioSwitch(this.switchingTrack),T!=null&&T.tracks){const y=l.initSegment||l;if(this.unhandledEncryptionError(T,l))return;this._bufferInitSegment(h,T.tracks,y,s),i.trigger(S.FRAG_PARSING_INIT_SEGMENT,{frag:y,id:n,tracks:T.tracks})}if(g){const{startPTS:y,endPTS:_,startDTS:x,endDTS:b}=g;u&&(u.elementaryStreams[xt.AUDIO]={startPTS:y,endPTS:_,startDTS:x,endDTS:b}),l.setElementaryStreamInfo(xt.AUDIO,y,_,x,b),this.bufferFragmentData(g,l,u,s)}if(v!=null&&(t=v.samples)!=null&&t.length){const y=Et({id:n,frag:l,details:d},v);i.trigger(S.FRAG_PARSING_METADATA,y)}if(m){const y=Et({id:n,frag:l,details:d},m);i.trigger(S.FRAG_PARSING_USERDATA,y)}}_bufferInitSegment(e,t,n,i){if(this.state!==Z.PARSING||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;const r=t.audio;r.id=ye.AUDIO;const s=e.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${s}/${r.codec}]`),s&&s.split(",").length===1&&(r.levelCodec=s),this.hls.trigger(S.BUFFER_CODECS,t);const o=r.initSegment;if(o!=null&&o.byteLength){const l={type:"audio",frag:n,part:null,chunkMeta:i,parent:n.type,data:o};this.hls.trigger(S.BUFFER_APPENDING,l)}this.tickImmediate()}loadFragment(e,t,n){const i=this.fragmentTracker.getState(e);if(this.switchingTrack||i===qt.NOT_LOADED||i===qt.PARTIAL){var r;if(!Vt(e))this._loadInitSegment(e,t);else if((r=t.details)!=null&&r.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=Z.WAITING_INIT_PTS;const s=this.mainDetails;s&&s.fragmentStart!==t.details.fragmentStart&&gl(t.details,s)}else super.loadFragment(e,t,n)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){const{name:t,lang:n,assocLang:i,characteristics:r,audioCodec:s,channels:o}=this.bufferedTrack;Mr({name:t,lang:n,assocLang:i,characteristics:r,audioCodec:s,channels:o},e,wr)||(ul(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){const{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(S.AUDIO_TRACK_SWITCHED,vt({},e))}}class ef extends Ji{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(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,n){const i=t==null?void 0:t.renditionReports;if(i){let r=-1;for(let s=0;s<i.length;s++){const o=i[s];let l;try{l=new self.URL(o.URI,t.url).href}catch(u){this.warn(`Could not construct new URL for Rendition Report: ${u}`),l=o.URI||""}if(l===e){r=s;break}else l===e.substring(0,l.length)&&(r=s)}if(r!==-1){const s=i[r],o=parseInt(s["LAST-MSN"])||t.lastPartSn;let l=parseInt(s["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){const h=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&h>t.partTarget&&(l+=1)}const u=n&&Zp(n);return new Jp(o,l>=0?l:void 0,u)}}}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(n){this.warn(`Could not construct new URL with HLS Delivery Directives: ${n}`)}return e}playlistLoaded(e,t,n){const{details:i,stats:r}=t,s=self.performance.now(),o=r.loading.first?Math.max(0,s-r.loading.first):0;i.advancedDateTime=Date.now()-o;const l=this.hls.config.timelineOffset;if(l!==i.appliedTimelineOffset){const h=Math.max(l||0,0);i.appliedTimelineOffset=h,i.fragments.forEach(d=>{d.setStart(d.playlistOffset+h)})}if(i.live||n!=null&&n.live){const h="levelInfo"in t?t.levelInfo:t.track;if(i.reloaded(n),n&&i.fragments.length>0){pw(n,i,this);const x=i.playlistParsingError;if(x){this.warn(x);const b=this.hls;if(!b.config.ignorePlaylistParsingErrors){var u;const{networkDetails:R}=t;b.trigger(S.ERROR,{type:Se.NETWORK_ERROR,details:V.LEVEL_PARSING_ERROR,fatal:!1,url:i.url,error:x,reason:x.message,level:t.level||void 0,parent:(u=i.fragments[0])==null?void 0:u.type,networkDetails:R,stats:r});return}i.playlistParsingError=null}}i.requestScheduled===-1&&(i.requestScheduled=r.loading.start);const d=this.hls.mainForwardBufferInfo,g=d?d.end-d.len:0,m=(i.edge-g)*1e3,v=P0(i,m);if(i.requestScheduled+v<s?i.requestScheduled=s:i.requestScheduled+=v,this.log(`live playlist ${e} ${i.advanced?"REFRESHED "+i.lastPartSn+"-"+i.lastPartIndex:i.updated?"UPDATED":"MISSED"}`),!this.canLoad||!i.live)return;let T,y,_;if(i.canBlockReload&&i.endSN&&i.advanced){const x=this.hls.config.lowLatencyMode,b=i.lastPartSn,R=i.endSN,A=i.lastPartIndex,F=A!==-1,w=b===R;F?w?(y=R+1,_=x?0:A):(y=b,_=x?A+1:i.maxPartIndex):y=R+1;const M=i.age,O=M+i.ageHeader;let P=Math.min(O-i.partTarget,i.targetduration*1.5);if(P>0){if(O>i.targetduration*3)this.log(`Playlist last advanced ${M.toFixed(2)}s ago. Omitting segment and part directives.`),y=void 0,_=void 0;else if(n!=null&&n.tuneInGoal&&O-i.partTarget>n.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${n.tuneInGoal} to: ${P} with playlist age: ${i.age}`),P=0;else{const K=Math.floor(P/i.targetduration);if(y+=K,_!==void 0){const ee=Math.round(P%i.targetduration/i.partTarget);_+=ee}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${M.toFixed(2)}s goal: ${P} skip sn ${K} to part ${_}`)}i.tuneInGoal=P}if(T=this.getDeliveryDirectives(i,t.deliveryDirectives,y,_),x||!w){i.requestScheduled=s,this.loadingPlaylist(h,T);return}}else(i.canBlockReload||i.canSkipUntil)&&(T=this.getDeliveryDirectives(i,t.deliveryDirectives,y,_));T&&y!==void 0&&i.canBlockReload&&(i.requestScheduled=r.loading.first+Math.max(v-o*2,v/2)),this.scheduleLoading(h,T,i)}else this.clearTimer()}scheduleLoading(e,t,n){const i=n||e.details;if(!i){this.loadingPlaylist(e,t);return}const r=self.performance.now(),s=i.requestScheduled;if(r>=s){this.loadingPlaylist(e,t);return}const o=s-r;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(o)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),o)}getDeliveryDirectives(e,t,n,i){let r=Zp(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(n=t.msn,i=t.part,r=Go.No),new Jp(n,i,r)}checkRetry(e){const t=e.details,n=cl(e),i=e.errorAction,{action:r,retryCount:s=0,retryConfig:o}=i||{},l=!!i&&!!o&&(r===ii.RetryRequest||!i.resolved&&r===ii.SendAlternateToPenaltyBox);if(l){var u;if(s>=o.maxNumRetry)return!1;if(n&&(u=e.context)!=null&&u.deliveryDirectives)this.warn(`Retrying playlist loading ${s+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const h=Gh(o,s);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),h),this.warn(`Retrying playlist loading ${s+1}/${o.maxNumRetry} after "${t}" in ${h}ms`)}e.levelRetry=!0,i.resolved=!0}return l}}function ry(a,e){if(a.length!==e.length)return!1;for(let t=0;t<a.length;t++)if(!Ea(a[t].attrs,e[t].attrs))return!1;return!0}function Ea(a,e,t){const n=a["STABLE-RENDITION-ID"];return n&&!t?n===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>a[i]!==e[i])}function rh(a,e){return e.label.toLowerCase()===a.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(a.lang||"").toLowerCase())}class bP extends ef{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(){const{hls:e}=this;e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.LEVEL_LOADING,this.onLevelLoading,this),e.on(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(S.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.LEVEL_LOADING,this.onLevelLoading,this),e.off(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(S.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(S.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){const{id:n,groupId:i,details:r}=t,s=this.tracksInGroup[n];if(!s||s.groupId!==i){this.warn(`Audio track with id:${n} and group:${i} not found in active group ${s==null?void 0:s.groupId}`);return}const o=s.details;s.details=t.details,this.log(`Audio track ${n} "${s.name}" lang:${s.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const n=t.audioGroups||null,i=this.groupIds;let r=this.currentTrack;if(!n||(i==null?void 0:i.length)!==(n==null?void 0:n.length)||n!=null&&n.some(o=>(i==null?void 0:i.indexOf(o))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const o=this.tracks.filter(g=>!n||n.indexOf(g.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(g=>g.default)&&(this.selectDefaultTrack=!1),o.forEach((g,m)=>{g.id=m});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=o;const l=this.hls.config.audioPreference;if(!r&&l){const g=Sn(l,o,wr);if(g>-1)r=o[g];else{const m=Sn(l,this.tracks);r=this.tracks[m]}}let u=this.findTrackId(r);u===-1&&r&&(u=this.findTrackId(null));const h={audioTracks:o};this.log(`Updating audio tracks, ${o.length} track(s) found in group(s): ${n==null?void 0:n.join(",")}`),this.hls.trigger(S.AUDIO_TRACKS_UPDATED,h);const d=this.trackId;if(u!==-1&&d===-1)this.setAudioTrack(u);else if(o.length&&d===-1){var s;const g=new Error(`No audio track selected for current audio group-ID(s): ${(s=this.groupIds)==null?void 0:s.join(",")} track count: ${o.length}`);this.warn(g.message),this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:g})}}}onError(e,t){t.fatal||!t.context||t.context.type===tt.AUDIO_TRACK&&t.context.
vendor: 8,871 bytes, lines 280-283
280id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&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){const t=this.hls;if(t.config.audioPreference=e,e){const n=this.allAudioTracks;if(this.selectDefaultTrack=!1,n.length){const i=this.currentTrack;if(i&&Mr(e,i,wr))return i;const r=Sn(e,this.tracksInGroup,wr);if(r>-1){const s=this.tracksInGroup[r];return this.setAudioTrack(r),s}else if(i){let s=t.loadLevel;s===-1&&(s=t.firstAutoLevel);const o=Fk(e,t.levels,n,s,wr);if(o===-1)return null;t.nextLoadLevel=o}if(e.channels||e.audioCodec){const s=Sn(e,n);if(s>-1)return n[s]}}}return null}setAudioTrack(e){const t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;const n=this.currentTrack,i=t[e],r=i.details&&!i.details.live;if(e===this.trackId&&i===n&&r||(this.log(`Switching to audio-track ${e} "${i.name}" lang:${i.lang} group:${i.groupId} channels:${i.channels}`),this.trackId=e,this.currentTrack=i,this.hls.trigger(S.AUDIO_TRACK_SWITCHING,vt({},i)),r))return;const s=this.switchParams(i.url,n==null?void 0:n.details,i.details);this.loadPlaylist(s)}findTrackId(e){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const i=t[n];if(!(this.selectDefaultTrack&&!i.default)&&(!e||Mr(e,i,wr)))return n}if(e){const{name:n,lang:i,assocLang:r,characteristics:s,audioCodec:o,channels:l}=e;for(let u=0;u<t.length;u++){const h=t[u];if(Mr({name:n,lang:i,assocLang:r,characteristics:s,audioCodec:o,channels:l},h,wr))return u}for(let u=0;u<t.length;u++){const h=t[u];if(Ea(e.attrs,h.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return u}for(let u=0;u<t.length;u++){const h=t[u];if(Ea(e.attrs,h.attrs,["LANGUAGE"]))return u}}return-1}loadPlaylist(e){super.loadPlaylist();const t=this.currentTrack;this.shouldLoadPlaylist(t)&&ul(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const n=e.id,i=e.groupId,r=this.getUrlWithDirectives(e.url,t),s=e.details,o=s==null?void 0:s.age;this.log(`Loading audio-track ${n} "${e.name}" lang:${e.lang} group:${i}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${o&&s.live?" age "+o.toFixed(1)+(s.type&&" "+s.type||""):""} ${r}`),this.hls.trigger(S.AUDIO_TRACK_LOADING,{url:r,id:n,groupId:i,deliveryDirectives:t||null,track:e})}}class IP{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,n){if(this.queues===null||this.tracks===null)return;const i=this.queues[t];i.push(e),i.length===1&&!n&&this.executeNext(t)}appendBlocker(e){return new Promise(t=>{const n={label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(n,e)})}prependBlocker(e){return new Promise(t=>{if(this.queues){const n={label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(n)}})}removeBlockers(){this.queues!==null&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t;const n=(t=e[0])==null?void 0:t.label;(n==="async-blocker"||n==="async-blocker-prepend")&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){if(this.queues===null)return;this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;const t=this.queues[e];if(t.length){const i=t[0];try{i.execute()}catch(r){var n;if(i.onError(r),this.queues===null||this.tracks===null)return;const s=(n=this.tracks[e])==null?void 0:n.buffer;s!=null&&s.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues!==null&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return((t=this.queues)==null?void 0:t[e][0])||null}toString(){const{queues:e,tracks:t}=this;return e===null||t===null?"<destroyed>":`
281${this.list("video")}
282${this.list("audio")}
283${this.list("audiovideo")}}`}list(e){var t,n;return(t=this.queues)!=null&&t[e]||(n=this.tracks)!=null&&n[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;const n=(t=this.tracks)==null?void 0:t[e],i=n==null?void 0:n.buffer;return i?`SourceBuffer${i.updating?" updating":""}${n.ended?" ended":""}${n.ending?" ending":""}`:"none"}listOps(e){var t;return((t=this.queues)==null?void 0:t[e].map(n=>n.label).join(", "))||""}}const Bm=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,sy="HlsJsTrackRemovedError";class AP extends Error{constructor(e){super(e),this.name=sy}}class CP extends Ji{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=n=>{var i;this.hls&&((i=this.mediaSource)==null?void 0:i.readyState)==="open"&&this.hls.pauseBuffering()},this._onStartStreaming=n=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=n=>{const{media:i,mediaSource:r}=this;n&&this.log("Media source opened"),!(!i||!r)&&(r.removeEventListener("sourceopen",this._onMediaSourceOpen),i.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(S.MEDIA_ATTACHED,{media:i,mediaSource:r}),this.mediaSource!==null&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:n,_objectUrl:i}=this;n!==i&&this.error(`Media element src was set while attaching MediaSource (${i} > ${n})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=qR(gr(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(){const{hls:e}=this;e.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.BUFFER_RESET,this.onBufferReset,this),e.on(S.BUFFER_APPENDING,this.onBufferAppending,this),e.on(S.BUFFER_CODECS,this.onBufferCodecs,this),e.on(S.BUFFER_EOS,this.onBufferEos,this),e.on(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(S.FRAG_PARSED,this.onFragParsed,this),e.on(S.FRAG_CHANGED,this.onFragChanged,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.BUFFER_RESET,this.onBufferReset,this),e.off(S.BUFFER_APPENDING,this.onBufferAppending,this),e.off(S.BUFFER_CODECS,this.onBufferCodecs,this),e.off(S.BUFFER_EOS,this.onBufferEos,this),e.off(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(S.FRAG_PARSED,this.onFragParsed,this),e.off(S.FRAG_CHANGED,this.onFragChanged,this),e.off(S.ERROR,this.onError,this)}transferMedia(){const{media:e,mediaSource:t}=this;if(!e)return null;const n={};if(this.operationQueue){const r=this.isUpdating();r||this.operationQueue.removeBlockers();const s=this.isQueued();(r||s)&&this.warn(`Transfering MediaSource with${s?" operations in queue":""}${r?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}const i=this.transferData;return!this.sourceBufferCount&&i&&i.mediaSource===t?Et(n,i.tracks):this.sourceBuffers.forEach(r=>{const[s]=r;s&&(n[s]=Et({},this.tracks[s]),this.removeBuffer(s)),r[0]=r[1]=null}),{media:e,mediaSource:t,tracks:n}}initTracks(){const e={};this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var n;let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsTotal=i,this.log(`${i}
283 bufferCodec event(s) expected.`),(n=this.transferData)!=null&&n.mediaSource&&this.sourceBufferCount&&i&&this.bufferCreated()}onMediaAttaching(e,t){const n=this.media=t.media;this.transferData=this.overrides=void 0;const i=gr(this.appendSource);if(i){const r=!!t.mediaSource;(r||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);const s=this.mediaSource=t.mediaSource||new i;if(this.assignMediaSource(s),r)this._objectUrl=n.src,this.attachTransferred();else{const o=this._objectUrl=self.URL.createObjectURL(s);if(this.appendSource)try{n.removeAttribute("src");const l=self.ManagedMediaSource;n.disableRemotePlayback=n.disableRemotePlayback||l&&s instanceof l,Um(n),LP(n,o),n.load()}catch{n.src=o}else n.src=o}n.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,n;this.log(`${((t=this.transferData)==null?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${(n=e.constructor)==null?void 0:n.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(){const e=this.media,t=this.transferData;if(!t||!e)return;const n=this.tracks,i=t.tracks,r=i?Object.keys(i):null,s=r?r.length:0,o=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(i&&r&&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})
284required tracks: ${It(n,(l,u)=>l==="initSegment"?void 0:u)};
285transfer tracks: ${It(i,(l,u)=>l==="initSegment"?void 0:u)}}`),!t0(i,n)){t.mediaSource=null,t.tracks=void 0;const l=e.currentTime,u=this.details,h=Math.max(l,(u==null?void 0:u.fragments[0].start)||0);if(h-l>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${l} -> ${h}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(i)}"->"${Object.keys(n)}") start time: ${h} currentTime: ${l}`),this.onMediaDetaching(S.MEDIA_DETACHING,{}),this.onMediaAttaching(S.MEDIA_ATTACHING,t),e.currentTime=h;return}this.transferData=void 0,r.forEach(l=>{const u=l,h=i[u];if(h){const d=h.buffer;if(d){const g=this.fragmentTracker,m=h.id;if(g.hasFragments(m)||g.hasParts(m)){const y=Ve.getBuffered(d);g.detectEvictedFragments(u,y,m,null,!0)}const v=bc(u),T=[u,d];this.sourceBuffers[v]=T,d.updating&&this.operationQueue&&this.operationQueue.prependBlocker(u),this.trackSourceBuffer(u,h)}}}),o(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),o()}get mediaSourceOpenOrEnded(){var e;const t=(e=this.mediaSource)==null?void 0:e.readyState;return t==="open"||t==="ended"}onMediaDetaching(e,t){const n=!!t.transferMedia;this.transferData=this.overrides=void 0;const{media:i,mediaSource:r,_objectUrl:s}=this;if(r){if(this.log(`media source ${n?"transferring":"detaching"}`),n)this.sourceBuffers.forEach(([o])=>{o&&this.removeBuffer(o)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){const o=r.readyState==="open";try{const l=r.sourceBuffers;for(let u=l.length;u--;)o&&l[u].abort(),r.removeSourceBuffer(l[u]);o&&r.endOfStream()}catch(l){this.warn(`onMediaDetaching: ${l.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}r.removeEventListener("sourceopen",this._onMediaSourceOpen),r.removeEventListener("sourceended",this._onMediaSourceEnded),r.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(r.removeEventListener("startstreaming",this._onStartStreaming),r.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}i&&(i.removeEventListener("emptied",this._onMediaEmptied),n||(s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(i.removeAttribute("src"),this.appendSource&&Um(i),i.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(S.MEDIA_DETACHED,t)}
vendor: 15,184 bytes, line 285
285onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t;const n=(t=this.tracks[e])==null?void 0:t.buffer;if(this.removeBuffer(e),n)try{var i;(i=this.mediaSource)!=null&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(n)}catch(r){this.warn(`onBufferReset ${e}`,r)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[bc(e)]=[null,null];const t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new IP(this.tracks)}onBufferCodecs(e,t){var n;const i=this.tracks,r=Object.keys(t);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);const s="audiovideo"in t&&(i.audio||i.video)||i.audiovideo&&("audio"in t||"video"in t),o=!s&&this.sourceBufferCount&&this.media&&r.some(l=>!i[l]);if(s||o){this.warn(`Unsupported transition between "${Object.keys(i)}" and "${r}" SourceBuffers`);return}r.forEach(l=>{var u,h;const d=t[l],{id:g,codec:m,levelCodec:v,container:T,metadata:y,supplemental:_}=d;let x=i[l];const b=(u=this.transferData)==null||(u=u.tracks)==null?void 0:u[l],R=b!=null&&b.buffer?b:x,A=(R==null?void 0:R.pendingCodec)||(R==null?void 0:R.codec),F=R==null?void 0:R.levelCodec;x||(x=i[l]={buffer:void 0,listeners:[],codec:m,supplemental:_,container:T,levelCodec:v,metadata:y,id:g});const w=$o(A,F),M=w==null?void 0:w.replace(Bm,"$1");let O=$o(m,v);const P=(h=O)==null?void 0:h.replace(Bm,"$1");O&&w&&M!==P&&(l.slice(0,5)==="audio"&&(O=ol(O,this.appendSource)),this.log(`switching codec ${A} to ${O}`),O!==(x.pendingCodec||x.codec)&&(x.pendingCodec=O),x.container=T,this.appendChangeType(l,T,O))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!t.video&&((n=t.audio)==null?void 0:n.id)==="main"&&(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks())}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{const n=this.tracks[t];return e[t]={id:n.id,container:n.container,codec:n.codec,levelCodec:n.levelCodec},e},{})}appendChangeType(e,t,n){const i=`${t};codecs=${n}`,r={label:`change-type=${i}`,execute:()=>{const s=this.tracks[e];if(s){const o=s.buffer;o!=null&&o.changeType&&(this.log(`changing ${e} sourceBuffer type to ${i}`),o.changeType(i),s.codec=n,s.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:s=>{this.warn(`Failed to change ${e} SourceBuffer type`,s)}};this.append(r,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;const n=e.start,i=n+e.duration*.05;if(((t=this.fragmentTracker.getAppendedFrag(n,ye.MAIN))==null?void 0:t.gap)===!0)return;const s={label:"block-audio",execute:()=>{var o;const l=this.tracks.video;(this.lastVideoAppendEnd>i||l!=null&&l.buffer&&Ve.isBuffered(l.buffer,i)||((o=this.fragmentTracker.getAppendedFrag(i,ye.MAIN))==null?void 0:o.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:o=>{this.warn("Error executing block-audio operation",o)}};this.blockedAudioAppend={op:s,frag:e},this.append(s,"audio",!0)}unblockAudio(){const{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){const{tracks:n}=this,{data:i,type:r,parent:s,frag:o,part:l,chunkMeta:u,offset:h}=t,d=u.buffering[r],{sn:g,cc:m}=o,v=self.performance.now();d.start=v;const T=o.stats.buffering,y=l?l.stats.buffering:null;T.start===0&&(T.start=v),y&&y.start===0&&(y.start=v);const _=n.audio;let x=!1;r==="audio"&&(_==null?void 0:_.container)==="audio/mpeg"&&(x=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);const b=n.video,R=b==null?void 0:b.buffer;if(R&&g!=="initSegment"){const w=l||o,M=this.blockedAudioAppend;if(r==="audio"&&s!=="main"&&!this.blockedAudioAppend&&!(b.ending||b.ended)){const P=w.start+w.duration*.05,K=R.buffered,ee=this.currentOp("video");!K.length&&!ee?this.blockAudio(w):!ee&&!Ve.isBuffered(R,P)&&this.lastVideoAppendEnd<P&&this.blockAudio(w)}else if(r==="video"){const O=w.end;if(M){const P=M.frag.start;(O>P||O<this.lastVideoAppendEnd||Ve.isBuffered(R,P))&&this.unblockAudio()}this.lastVideoAppendEnd=O}}const A=(l||o).start,F={label:`append-${r}`,execute:()=>{var w;d.executeStart=self.performance.now();const M=(w=this.tracks[r])==null?void 0:w.buffer;M&&(x?this.updateTimestampOffset(M,A,.1,r,g,m):h!==void 0&&pe(h)&&this.updateTimestampOffset(M,h,1e-6,r,g,m)),this.appendExecutor(i,r)},onStart:()=>{},onComplete:()=>{const w=self.performance.now();d.executeEnd=d.end=w,T.first===0&&(T.first=w),y&&y.first===0&&(y.first=w);const M={};this.sourceBuffers.forEach(([O,P])=>{O&&(M[O]=Ve.getBuffered(P))}),this.appendErrors[r]=0,r==="audio"||r==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(S.BUFFER_APPENDED,{type:r,frag:o,part:l,chunkMeta:u,parent:o.type,timeRanges:M})},onError:w=>{var M;const O={type:Se.MEDIA_ERROR,parent:o.type,details:V.BUFFER_APPEND_ERROR,sourceBufferName:r,frag:o,part:l,chunkMeta:u,error:w,err:w,fatal:!1},P=(M=this.media)==null?void 0:M.error;if(w.code===DOMException.QUOTA_EXCEEDED_ERR||w.name=="QuotaExceededError"||"quota"in w)O.details=V.BUFFER_FULL_ERROR;else if(w.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!P)O.errorAction=_s(!0);else if(w.name===sy&&this.sourceBufferCount===0)O.errorAction=_s(!0);else{const K=++this.appendErrors[r];this.warn(`Failed ${K}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${r}" sourceBuffer (${P||"no media error"})`),(K>=this.hls.config.appendErrorMaxRetry||P)&&(O.fatal=!0)}this.hls.trigger(S.ERROR,O)}};this.log(`queuing "${r}" append sn: ${g}${l?" p: "+l.index:""} of ${o.type===ye.MAIN?"level":"track"} ${o.level} cc: ${m}`),this.append(F,r,this.isPending(this.tracks[r]))}getFlushOp(e,t,n){return this.log(`queuing "${e}" remove ${t}-${n}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,n)},onStart:()=>{},onComplete:()=>{this.hls.trigger(S.BUFFER_FLUSHED,{type:e})},onError:i=>{this.warn(`Failed to remove ${t}-${n} from "${e}" SourceBuffer`,i)}}}onBufferFlushing(e,t){const{type:n,startOffset:i,endOffset:r}=t;n?this.append(this.getFlushOp(n,i,r),n):this.sourceBuffers.forEach(([s])=>{s&&this.append(this.getFlushOp(s,i,r),s)})}onFragParsed(e,t){const{frag:n,part:i}=t,r=[],s=i?i.elementaryStreams:n.elementaryStreams;s[xt.AUDIOVIDEO]?r.push("audiovideo"):(s[xt.AUDIO]&&r.push("audio"),s[xt.VIDEO]&&r.push("video"));const o=()=>{const l=self.performance.now();n.stats.buffering.end=l,i&&(i.stats.buffering.end=l);const u=i?i.stats:n.stats;this.hls.trigger(S.FRAG_BUFFERED,{frag:n,part:i,stats:u,id:n.type})};r.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${n.type} level: ${n.level} sn: ${n.sn}`),this.blockBuffers(o,r).catch(l=>{this.warn(`Fragment buffered callback ${l}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){const t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var n;this.sourceBuffers.forEach(([s])=>{if(s){const o=this.tracks[s];(!t.type||t.type===s)&&(o.ending=!0,o.ended||(o.ended=!0,this.log(`${s} buffer reached EOS`)))}});const i=((n=this.overrides)==null?void 0:n.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([s])=>{var o;return s&&!((o=this.tracks[s])!=null&&o.ended)})?i?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();const{mediaSource:s}=this;if(!s||s.readyState!=="open"){s&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${s.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),s.endOfStream(),this.hls.trigger(S.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(S.BUFFERED_TO_END,void 0)):t.type==="video"&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){const t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{const e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===V.BUFFER_APPEND_ERROR&&t.frag){var n;const i=(n=t.errorAction)==null?void 0:n.nextAutoLevel;pe(i)&&i!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){const{hls:e,details:t,media:n}=this;if(!n||t===null||!this.sourceBufferCount)return;const i=e.config,r=n.currentTime,s=t.levelTargetDuration,o=t.live&&i.liveBackBufferLength!==null?i.liveBackBufferLength:i.backBufferLength;if(pe(o)&&o>=0){const u=Math.max(o,s),h=Math.floor(r/s)*s-u;this.flushBackBuffer(r,s,h)}const l=i.frontBufferFlushThreshold;if(pe(l)&&l>0){const u=Math.max(i.maxBufferLength,l),h=Math.max(u,s),d=Math.floor(r/s)*s+h;this.flushFrontBuffer(r,s,d)}}flushBackBuffer(e,t,n){this.sourceBuffers.forEach(([i,r])=>{if(r){const o=Ve.getBuffered(r);if(o.length>0&&n>o.start(0)){var s;this.hls.trigger(S.BACK_BUFFER_REACHED,{bufferEnd:n});const l=this.tracks[i];if((s=this.details)!=null&&s.live)this.hls.trigger(S.LIVE_BACK_BUFFER_REACHED,{bufferEnd:n});else if(l!=null&&l.ended){this.log(`Cannot flush ${i} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(S.BUFFER_FLUSHING,{startOffset:0,endOffset:n,type:i})}}})}flushFrontBuffer(e,t,n){this.sourceBuffers.forEach(([i,r])=>{if(r){const s=Ve.getBuffered(r),o=s.length;if(o<2)return;const l=s.start(o-1),u=s.end(o-1);if(n>l||e>=l&&e<=u)return;this.hls.trigger(S.BUFFER_FLUSHING,{startOffset:l,endOffset:1/0,type:i})}})}getDurationAndRange(){var e;const{details:t,mediaSource:n}=this;if(!t||!this.media||(n==null?void 0:n.readyState)!=="open")return null;const i=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&n.setLiveSeekableRange){const u=Math.max(0,t.fragmentStart),h=Math.max(u,i);return{duration:1/0,start:u,end:h}}return{duration:1/0}}const r=(e=this.overrides)==null?void 0:e.duration;if(r)return pe(r)?{duration:r}:null;const s=this.media.duration,o=pe(n.duration)?n.duration:0;return i>o&&i>s||!pe(s)?{duration:i}:null}updateMediaSource({duration:e,start:t,end:n}){const i=this.mediaSource;!this.media||!i||i.readyState!=="open"||(i.duration!==e&&(pe(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),i.duration=e),t!==void 0&&n!==void 0&&(this.log(`MediaSource duration is set to ${i.duration}. Setting seekable range to ${t}-${n}.`),i.setLiveSeekableRange(t,n)))}get tracksReady(){const e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){const{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:n}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${It(n)}`),this.tracksReady){var i;const r=(i=this.transferData)==null?void 0:i.tracks;r&&Object.keys(r).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){const e={};this.sourceBuffers.forEach(([t,n])=>{if(t){const i=this.tracks[t];e[t]={buffer:n,container:i.container,codec:i.codec,supplemental:i.supplemental,levelCodec:i.levelCodec,id:i.id,metadata:i.metadata}}}),this.hls.trigger(S.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([t])=>{this.executeNext(t)})}else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){const{tracks:e,sourceBuffers:t,mediaSource:n}=this;if(!n)throw new Error("createSourceBuffers called when mediaSource was null");for(const r in e){const s=r,o=e[s];if(this.isPending(o)){const l=this.getTrackCodec(o,s),u=`${o.container};codecs=${l}`;o.codec=l,this.log(`creating sourceBuffer(${u})${this.currentOp(s)?" Queued":""} ${It(o)}`);try{const h=n.addSourceBuffer(u),d=bc(s),g=[s,h];t[d]=g,o.buffer=h}catch(h){var i;this.error(`error while trying to add sourceBuffer: ${h.message}`),this.shiftAndExecuteNext(s),(i=this.operationQueue)==null||i.removeBlockers(),delete this.tracks[s],this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:h,sourceBufferName:s,mimeType:u,parent:o.id});return}this.trackSourceBuffer(s,o)}}this.bufferCreated()}getTrackCodec(e,t){const n=e.supplemental;let i=e.codec;n&&(t==="video"||t==="audiovideo")&&ga(n,"video")&&(i=vk(i,n));const r=$o(i,e.levelCodec);return r?t.slice(0,5)==="audio"?ol(r,this.appendSource):r:""}trackSourceBuffer(e,t){const n=t.buffer;if(!n)return;const i=this.getTrackCodec(t,e);this.tracks[e]={buffer:n,codec:i,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",(r,s)=>{const o=s.removedRanges;o!=null&&o.length&&this.hls.trigger(S.BUFFER_FLUSHED,{type:r})})}get mediaSrc(){var e,t;const n=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return n==null?void 0:n.src}onSBUpdateStart(e){const t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}const n=this.currentOp(e);n&&(n.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var n;const i=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(n=this.mediaSource)==null?void 0:n.readyState}`);this.error(`${i}`,t),this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1});const r=this.currentOp(e);r&&r.onError(i)}updateTimestampOffset(e,t,n,i,r,s){const o=t-e.timestampOffset;Math.abs(o)>=n&&(this.log(`Updating ${i} SourceBuffer timestampOffset to ${t} (sn: ${r} cc: ${s})`),e.timestampOffset=t)}removeExecutor(e,t,n){const{media:i,mediaSource:r}=this,s=this.tracks[e],o=s==null?void 0:s.buffer;if(!i||!r||!o){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}const l=pe(i.duration)?i.duration:1/0,u=pe(r.duration)?r.duration:1/0,h=Math.max(0,t),d=Math.min(n,l,u);d>h&&(!s.ending||s.ended)?(s.ended=!1,this.log(`Removing [${h},${d}] from the ${e} SourceBuffer`),o.remove(h,d)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){const n=this.tracks[t],i=n==null?void 0:n.buffer;if(!i)throw new AP(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);n.ending=!1,n.ended=!1,i.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(t=>{this.warn(`SourceBuffer blocked callback ${t}
285`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(t){this.warn(`Callback run without blocking ${this.operationQueue} ${t}`)}}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);const{operationQueue:n}=this,i=t.map(s=>this.appendBlocker(s));return t.length>1&&!!this.blockedAudioAppend&&this.unblockAudio(),Promise.all(i).then(s=>{n===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(t=>{var n;const i=(n=this.tracks[t])==null?void 0:n.buffer;!i||i.updating||this.shiftAndExecuteNext(t)})}append(e,t,n){this.operationQueue&&this.operationQueue.append(e,t,n)}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])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,n){const i=this.tracks[e];if(!i)return;const r=i.buffer;if(!r)return;const s=n.bind(this,e);i.listeners.push({event:t,listener:s}),r.addEventListener(t,s)}removeBufferListeners(e){const t=this.tracks[e];if(!t)return;const n=t.buffer;n&&(t.listeners.forEach(i=>{n.removeEventListener(i.event,i.listener)}),t.listeners.length=0)}}function Um(a){const e=a.querySelectorAll("source");[].slice.call(e).forEach(t=>{a.removeChild(t)})}function LP(a,e){const t=self.document.createElement("source");t.type="video/mp4",t.src=e,a.appendChild(t)}function bc(a){return a==="audio"?1:0}class tf{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=Number.POSITIVE_INFINITY,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(){const{hls:e}=this;e.on(S.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(S.BUFFER_CODECS,this.onBufferCodecs,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(S.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(S.BUFFER_CODECS,this.onBufferCodecs,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){const n=this.hls.levels[t.droppedLevel];this.isLevelAllowed(n)&&this.restrictedLevels.push({bitrate:n.bitrate,height:n.height,width:n.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){const n=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,n.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&pe(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}const e=this.hls.levels;if(e.length){const t=this.hls,n=this.getMaxLevel(e.length-1);n!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${n}: ${e[n].height}p@${e[n].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=n,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){const t=this.hls.levels;if(!t.length)return-1;const n=t.filter((i,r)=>this.isLevelAllowed(i)&&r<=e);return this.clientRect=null,tf.getMaxLevelByMediaSize(n,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,t={width:0,height:0};if(e){const n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,!t.width&&!t.height&&(t.width=n.right-n.left||e.
vendor: 4,895 bytes, line 285
285width||0,t.height=n.bottom-n.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{}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(n=>e.bitrate===n.bitrate&&e.width===n.width&&e.height===n.height)}static getMaxLevelByMediaSize(e,t,n){if(!(e!=null&&e.length))return-1;const i=(o,l)=>l?o.width!==l.width||o.height!==l.height:!0;let r=e.length-1;const s=Math.max(t,n);for(let o=0;o<e.length;o+=1){const l=e[o];if((l.width>=s||l.height>=s)&&i(l,e[o+1])){r=o;break}}return r}}const RP={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},Ei=RP,kP={HLS:"h"},wP=kP;class bn{constructor(e,t){Array.isArray(e)&&(e=e.map(n=>n instanceof bn?n:new bn(n))),this.value=e,this.params=t}}const PP="Dict";function DP(a){return Array.isArray(a)?JSON.stringify(a):a instanceof Map?"Map{}":a instanceof Set?"Set{}":typeof a=="object"?JSON.stringify(a):String(a)}function OP(a,e,t,n){return new Error(`failed to ${a} "${DP(e)}" as ${t}`,{cause:n})}function In(a,e,t){return OP("serialize",a,e,t)}class ay{constructor(e){this.description=e}}const $m="Bare Item",MP="Boolean";function FP(a){if(typeof a!="boolean")throw In(a,MP);return a?"?1":"?0"}function NP(a){return btoa(String.fromCharCode(...a))}const BP="Byte Sequence";function UP(a){if(ArrayBuffer.isView(a)===!1)throw In(a,BP);return`:${NP(a)}:`}const $P="Integer";function GP(a){return a<-999999999999999||999999999999999<a}function oy(a){if(GP(a))throw In(a,$P);return a.toString()}function HP(a){return`@${oy(a.getTime()/1e3)}`}function ly(a,e){if(a<0)return-ly(-a,e);const t=Math.pow(10,e);if(Math.abs(a*t%1-.5)<Number.EPSILON){const i=Math.floor(a*t);return(i%2===0?i:i+1)/t}else return Math.round(a*t)/t}const VP="Decimal";function KP(a){const e=ly(a,3);if(Math.floor(Math.abs(e)).toString().length>12)throw In(a,VP);const t=e.toString();return t.includes(".")?t:`${t}.0`}const WP="String",YP=/[\x00-\x1f\x7f]+/;function zP(a){if(YP.test(a))throw In(a,WP);return`"${a.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function jP(a){return a.description||a.toString().slice(7,-1)}const qP="Token";function Gm(a){const e=jP(a);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw In(e,qP);return e}function sh(a){switch(typeof a){case"number":if(!pe(a))throw In(a,$m);return Number.isInteger(a)?oy(a):KP(a);case"string":return zP(a);case"symbol":return Gm(a);case"boolean":return FP(a);case"object":if(a instanceof Date)return HP(a);if(a instanceof Uint8Array)return UP(a);if(a instanceof ay)return Gm(a);default:throw In(a,$m)}}const XP="Key";function ah(a){if(/^[a-z*][a-z0-9\-_.*]*$/.test(a)===!1)throw In(a,XP);return a}function nf(a){return a==null?"":Object.entries(a).map(([e,t])=>t===!0?`;${ah(e)}`:`;${ah(e)}=${sh(t)}`).join("")}function uy(a){return a instanceof bn?`${sh(a.value)}${nf(a.params)}`:sh(a)}function QP(a){return`(${a.value.map(uy).join(" ")})${nf(a.params)}`}function ZP(a,e={whitespace:!0}){if(typeof a!="object"||a==null)throw In(a,PP);const t=a instanceof Map?a.entries():Object.entries(a),n=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([i,r])=>{r instanceof bn||(r=new bn(r));let s=ah(i);return r.value===!0?s+=nf(r.params):(s+="=",Array.isArray(r.value)?s+=QP(r):s+=uy(r)),s}).join(`,${n}`)}function cy(a,e){return ZP(a,e)}const dn="CMCD-Object",Bt="CMCD-Request",Lr="CMCD-Session",rr="CMCD-Status",JP={br:dn,ab:dn,d:dn,ot:dn,tb:dn,tpb:dn,lb:dn,tab:dn,lab:dn,url:dn,pb:Bt,bl:Bt,tbl:Bt,dl:Bt,ltc:Bt,mtp:Bt,nor:Bt,nrr:Bt,rc:Bt,sn:Bt,sta:Bt,su:Bt,ttfb:Bt,ttfbb:Bt,ttlb:Bt,cmsdd:Bt,cmsds:Bt,smrt:Bt,df:Bt,cs:Bt,ts:Bt,cid:Lr,pr:Lr,sf:Lr,sid:Lr,st:Lr,v:Lr,msd:Lr,bs:rr,bsd:rr,cdn:rr,rtp:rr,bg:rr,pt:rr,ec:rr,e:rr},eD={REQUEST:Bt};function tD(a){return Object.keys(a).reduce((e,t)=>{var n;return(n=a[t])===null||n===void 0||n.forEach(i=>e[i]=t),e},{})}function iD(a,e){const t={};if(!a)return t;const n=Object.keys(a),i=e?tD(e):{};return n.reduce((r,s)=>{var o;const l=JP[s]||i[s]||eD.REQUEST,u=(o=r[l])!==null&&o!==void 0?o:r[l]={};return u[s]=a[s],r},t)}function nD(a){return["ot","sf","st","e","sta"].includes(a)}function rD(a){return typeof a=="number"?pe(a):a!=null&&a!==""&&a!==!1}const hy="event";function sD(a,e){const t=new URL(a),n=new URL(e);if(t.origin!==n.origin)return a;const i=t.pathname.split("/").slice(1),r=n.pathname.split("/").slice(1,-1);for(;i[0]===r[0];)i.shift(),r.shift();for(;r.length;)r.shift(),i.unshift("..");return i.join("/")+t.search+t.hash}const Wo=a=>Math.round(a),oh=(a,e)=>Array.isArray(a)?a.map(t=>oh(t,e)):a instanceof bn&&typeof a.value=="string"?new bn(oh(a.value,e),a.params):(e.baseUrl&&(a=sD(a,e.baseUrl)),e.ver
285sion===1?encodeURIComponent(a):a),wo=a=>Wo(a/100)*100,aD=(a,e)=>{let t=a;return e.version>=2&&(a instanceof bn&&typeof a.value=="string"?t=new bn([a]):typeof a=="string"&&(t=[a])),oh(t,e)},oD={br:Wo,d:Wo,bl:wo,dl:wo,mtp:wo,nor:aD,rtp:wo,tb:Wo},fy="request",dy="response",rf=["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"],lD=["e"],uD=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function Rl(a){return uD.test(a)}function cD(a){return rf.includes(a)||lD.includes(a)||Rl(a)}const gy=["d","dl","nor","ot","rtp","su"];function hD(a){return rf.includes(a)||gy.includes(a)||Rl(a)}const fD=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"];function dD(a){return rf.includes(a)||gy.includes(a)||fD.includes(a)||Rl(a)}const gD=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function pD(a){return gD.includes(a)||Rl(a)}const mD={[dy]:dD,[hy]:cD,[fy]:hD};function py(a,e={}){const t={};if(a==null||typeof a!="object")return t;const n=e.version||a.v||1,i=e.reportingMode||fy,r=n===1?pD:mD[i];let s=Object.keys(a).filter(r);const o=e.filter;typeof o=="function"&&(s=s.filter(o));const l=i===dy||i===hy;l&&!s.includes("ts")&&s.push("ts"),n>1&&!s.includes("v")&&s.push("v");const u=Et({},oD,e.formatters),h={version:n,reportingMode:i,baseUrl:e.baseUrl};return s.sort().forEach(d=>{let g=a[d];const m=u[d];if(typeof m=="function"&&(g=m(g,h)),d==="v"){if(n===1)return;g=n}d=="pr"&&g===1||(l&&d==="ts"&&!pe(g)&&(g=Date.now()),rD(g)&&(nD(d)&&typeof g=="string"&&(g=new ay(g)),t[d]=g))}),t}function vD(a,e={}){const t={};if(!a)return t;const n=py(a,e),i=iD(n,e==null?void 0:e.customHeaderMap);return Object.entries(i).reduce((r,[s,o])=>{const l=cy(o,{whitespace:!1});return l&&(r[s]=l),r},t)}function yD(a,e,t){return Et(a,vD(e,t))}const TD="CMCD";function ED(a,e={}){return a?cy(py(a,e),{whitespace:!1}):""}function _D(a,e={}){if(!a)return"";const t=ED(a,e);return encodeURIComponent(t)}function SD(a,e={}){if(!a)return"";const t=_D(a,e);return`${TD}
285=${t}`}const Hm=/CMCD=[^&#]+/;function xD(a,e,t){const n=SD(e,t);if(!n)return a;if(Hm.test(a))return a.replace(Hm,n);const i=a.includes("?")?"&":"?";return`${a}${i}${n}`}class bD{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=i=>{try{this.apply(i,{ot:Ei.MANIFEST,su:!this.initialized})}catch(r){this.hls.logger.warn("Could not generate manifest CMCD data.",r)}},this.applyFragmentData=i=>{try{const{frag:r,part:s}=i,o=this.hls.levels[r.level],l=this.getObjectType(r),u={d:(s||r).duration*1e3,ot:l};(l===Ei.VIDEO||l===Ei.AUDIO||l==Ei.MUXED)&&(u.br=o.bitrate/1e3,u.tb=this.getTopBandwidth(l)/1e3,u.bl=this.getBufferLength(l));const h=s?this.getNextPart(s):this.getNextFrag(r);h!=null&&h.url&&h.url!==r.url&&(u.nor=h.url),this.apply(i,u)}catch(r){this.hls.logger.warn("Could not generate segment CMCD data.",r)}},this.hls=e;const t=this.config=e.config,{cmcd:n}=t;n!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=n.sessionId||e.sessionId,this.cid=n.contentId,this.useHeaders=n.useHeaders===!0,this.includeKeys=n.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHED,this.onMediaDetached,this),e.on(S.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHED,this.onMediaDetached,this),e.off(S.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 n,i;this.audioBuffer=(n=t.tracks.audio)==null?void 0:n.buffer,this.videoBuffer=(i=t.tracks.video)==null?void 0:i.buffer}createData(){var e;return{v:1,sf:wP.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){Et(t,this.createData());const n=t.ot===Ei.INIT||t.ot===Ei.VIDEO||t.ot===Ei.MUXED;this.starved&&n&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);const{includeKeys:i}=this;i&&(t=Object.keys(t).reduce((s,o)=>(i.includes(o)&&(s[o]=t[o]),s),{}));const r={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),yD(e.headers,t,r)):e.url=xD(e.url,t,r)}getNextFrag(e){var t;const n=(t=this.hls.levels[e.level])==null?void 0:t.details;if(n){const i=e.sn-n.startSN;return n.fragments[i+1]}}getNextPart(e){var t;const{index:n,fragment:i}=e,r=(t=this.hls.levels[i.level])==null||(t=t.details)==null?void 0:t.partList;if(r){const{sn:s}=i;for(let o=r.length-1;o>=0;o--){const l=r[o];if(l.index===n&&l.fragment.sn===s)return r[o+1]}}}getObjectType(e){const{type:t}=e;if(t==="subtitle")return Ei.TIMED_TEXT;if(e.sn==="initSegment")return Ei.INIT;if(t==="audio")return Ei.AUDIO;if(t==="main")return this.hls.audioTracks.length?Ei.VIDEO:Ei.MUXED}getTopBandwidth(e){let t=0,n;const i=this.hls;if(e===Ei.AUDIO)n=i.audioTracks;else{const r=i.maxAutoLevel,s=r>-1?r+1:i.levels.length;n=i.levels.slice(0,s)}return n.forEach(r=>{r.bitrate>t&&(t=r.bitrate)}),t>0?t:NaN}getBufferLength(e){const t=this.media,n=e===Ei.AUDIO?this.audioBuffer:this.videoBuffer;return!n||!t?NaN:Ve.bufferInfo(n,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){const{pLoader:e}=this.config,t=this.applyPlaylistData,n=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new n(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,s,o){t(r),this.loader.load(r,s,o)}}}createFragmentLoader(){const{fLoader:e}=this.config,t=this.applyFragmentData,n=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new n(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,s,o){t(r),this.loader.load(r,s,o)}}}}const ID=3e5;class AD extends Ji{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(){const e=this.hls;e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>
vendor: 6,516 bytes, line 285
285(e.indexOf(t.pathwayId)===-1&&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){const e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){const t=this.levels;t&&(this.levels=t.filter(n=>n!==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){const{contentSteering:n}=t;n!==null&&(this.pathwayId=n.pathwayId,this.uri=n.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){const{errorAction:n}=t;if((n==null?void 0:n.action)===ii.SendAlternateToPenaltyBox&&n.flags===Pi.MoveAllAlternatesMatchingHost){const i=this.levels;let r=this._pathwayPriority,s=this.pathwayId;if(t.context){const{groupId:o,pathwayId:l,type:u}=t.context;o&&i?s=this.getPathwayForGroupId(o,u,s):l&&(s=l)}s in this.penalizedPathways||(this.penalizedPathways[s]=performance.now()),!r&&i&&(r=this.pathways()),r&&r.length>1&&(this.updatePathwayPriority(r),n.resolved=this.pathwayId!==s),t.details===V.BUFFER_APPEND_ERROR&&!t.fatal?n.resolved=!0:n.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${s} levels: ${i&&i.length} priorities: ${It(r)} penalized: ${It(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){const n=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${n}"`),t=this.getLevelsForPathway(n),this.pathwayId=n}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let t;const n=this.penalizedPathways,i=performance.now();Object.keys(n).forEach(r=>{i-n[r]>ID&&delete n[r]});for(let r=0;r<e.length;r++){const s=e[r];if(s in n)continue;if(s===this.pathwayId)return;const o=this.hls.nextLoadLevel,l=this.hls.levels[o];if(t=this.getLevelsForPathway(s),t.length>0){this.log(`Setting Pathway to "${s}"`),this.pathwayId=s,M0(t),this.hls.trigger(S.LEVELS_UPDATED,{levels:t});const u=this.hls.levels[o];l&&u&&this.levels&&(u.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&u.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${u.bitrate}`),this.hls.nextLoadLevel=o);break}}}getPathwayForGroupId(e,t,n){const i=this.getLevelsForPathway(n).concat(this.levels||[]);for(let r=0;r<i.length;r++)if(t===tt.AUDIO_TRACK&&i[r].hasAudioGroup(e)||t===tt.SUBTITLE_TRACK&&i[r].hasSubtitleGroup(e))return i[r].pathwayId;return n}clonePathways(e){const t=this.levels;if(!t)return;const n={},i={};e.forEach(r=>{const{ID:s,"BASE-ID":o,"URI-REPLACEMENT":l}=r;if(t.some(h=>h.pathwayId===s))return;const u=this.getLevelsForPathway(o).map(h=>{const d=new Mt(h.attrs);d["PATHWAY-ID"]=s;const g=d.AUDIO&&`${d.AUDIO}_clone_${s}`,m=d.SUBTITLES&&`${d.SUBTITLES}_clone_${s}`;g&&(n[d.AUDIO]=g,d.AUDIO=g),m&&(i[d.SUBTITLES]=m,d.SUBTITLES=m);const v=my(h.uri,d["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),T=new ma({attrs:d,audioCodec:h.audioCodec,bitrate:h.bitrate,height:h.height,name:h.name,url:v,videoCodec:h.videoCodec,width:h.width});if(h.audioGroups)for(let y=1;y<h.audioGroups.length;y++)T.addGroupId("audio",`${h.audioGroups[y]}_clone_${s}`);if(h.subtitleGroups)for(let y=1;y<h.subtitleGroups.length;y++)T.addGroupId("text",`${h.subtitleGroups[y]}_clone_${s}`);return T});t.push(...u),Vm(this.audioTracks,n,l,s),Vm(this.subtitleTracks,i,l,s)})}loadSteeringManifest(e){const t=this.hls.config,n=t.loader;this.loader&&this.loader.destroy(),this.loader=new n(t);let i;try{i=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(i.protocol!=="data:"){const h=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;i.searchParams.set("_HLS_pathway",this.pathwayId),i.searchParams.set("_HLS_throughput",""+h)}const r={responseType:"json",url:i.href},s=t.steeringManifestLoadPolicy.default,o=s.errorRetry||s.timeoutRetry||{},l={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},u={onSuccess:(h,d,g,m)=>{this.log(`Loaded steering manifest: "${i}"`);const v=h.data;if((v==null?void 0:v.VERSION)!==1){this.log(`Steering VERSION ${v.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=v.TTL;const{"RELOAD-URI":T,"PATHWAY-CLONES":y,"PATHWAY-PRIORITY":_}=v;if(T)try{this.uri=new self.URL(T,i).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${T}`);return}this.scheduleRefresh(this.uri||g.url),y&&this.clonePathways(y);const x={steeringManifest:v,url:i.toString()};this.hls.trigger(S.STEERING_MANIFEST_LOADED,x),_&&this.updatePathwayPriority(_)},onError:(h,d,g,m)=>{if(this.log(`Error loading steering manifest: ${h.code} ${h.text} (${d.url})`),this.stopLoad(),h.code===410){this.enabled=!1,this.log(`Steering manifest ${d.url} no longer available`);return}let v=this.timeToLoad*1e3;if(h.code===429){const T=this.loader;if(typeof(T==null?void 0:T.getResponseHeader)=="function"){const y=T.getResponseHeader("Retry-After");y&&(v=parseFloat(y)*1e3)}this.log(`Steering manifest ${d.url} rate limited`);return}this.scheduleRefresh(this.uri||d.url,v)},onTimeout:(h,d,g)=>{this.log(`Timeout loading steering manifest (${d.url})`),this.scheduleRefresh(this.uri||d.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,l,u)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var n;const i=(n=this.hls)==null?void 0:n.media;if(i&&!i.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}}function Vm(a,e,t,n){a&&Object.keys(e).forEach(i=>
285{const r=a.filter(s=>s.groupId===i).map(s=>{const o=Et({},s);return o.details=void 0,o.attrs=new Mt(o.attrs),o.url=o.attrs.URI=my(s.url,s.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),o.groupId=o.attrs["GROUP-ID"]=e[i],o.attrs["PATHWAY-ID"]=n,o});a.push(...r)})}function my(a,e,t,n){const{HOST:i,PARAMS:r,[t]:s}=n;let o;e&&(o=s==null?void 0:s[e],o&&(a=o));const l=new self.URL(a);return i&&!o&&(l.host=i),r&&Object.keys(r).sort().forEach(u=>{u&&l.searchParams.set(u,r[u])}),l.href}class xs extends Ji{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=xs.CDMCleanupPromise?[xs.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=t=>{const{initDataType:n,initData:i}=t,r=`"${t.type}" event: init data type: "${n}"`;if(this.debug(r),i!==null){if(!this.keyFormatPromise){let s=Object.keys(this.keySystemAccessPromises);s.length||(s=ra(this.config));const o=s.map(mc).filter(l=>!!l);this.keyFormatPromise=this.getKeyFormatPromise(o)}this.keyFormatPromise.then(s=>{const o=Ho(s);if(n!=="sinf"||o!==Ft.FAIRPLAY){this.log(`Ignoring "${t.type}" event with init data type: "${n}" for selected key-system ${o}`);return}let l;try{const m=zt(new Uint8Array(i)),v=Wh(JSON.parse(m).sinf),T=c0(v);if(!T)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=new Uint8Array(T.subarray(8,24))}catch(m){this.warn(`${r} Failed to parse sinf: ${m}`);return}const u=ni(l),{keyIdToKeySessionPromise:h,mediaKeySessions:d}=this;let g=h[u];for(let m=0;m<d.length;m++){const v=d[m],T=v.decryptdata;if(!T.keyId)continue;const y=ni(T.keyId);if(fl(l,T.keyId)||T.uri.replace(/-/g,"").indexOf(u)!==-1){if(g=h[y],!g)continue;if(T.pssh)break;delete h[y],T.pssh=new Uint8Array(i),T.keyId=l,g=h[u]=g.then(()=>this.generateRequestWithPreferredKeySession(v,n,i,"encrypted-event-key-match")),g.catch(_=>this.handleError(_));break}}g||this.handleError(new Error(`Key ID ${u} not encountered in playlist. Key-system sessions ${d.length}.`))}).catch(s=>this.handleError(s))}},this.onWaitingForKey=t=>{this.log(`"${t.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();const 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(S.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(S.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(S.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(S.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(S.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(S.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(S.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(S.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(S.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){const{drmSystems:t,widevineLicenseUrl:n}=this.config,i=t==null?void 0:t[e];if(i)return i.licenseUrl;if(e===Ft.WIDEVINE&&n)return n}getLicenseServerUrlOrThrow(e){const t=this.getLicenseServerUrl(e);if(t===void 0)throw new Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){const{drmSystems:t}=this.config,n=t==null?void 0:t[e];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const t=this.hls.levels,n=(s,o,l)=>!!s&&l.indexOf(s)===o,i=t.map(s=>s.audioCodec).filter(n),r=t.map(s=>s.videoCodec).filter(n);return i.length+r.length===0&&r.push("avc1.42e01e"),new Promise((s,o)=>{const l=u=>{const h=u.shift();this.getMediaKeysPromise(h,i,r).then(d=>s({keySystem:h,mediaKeys:d})).catch(d=>{u.length?l(u):d instanceof wi?o(d):o(new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_NO_ACCESS,error:d,fatal:!0},d.message))})};l(e)})}requestMediaKeySystemAccess(e,t){const{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!="function"){let i=`Configured requestMediaKeySystemAccess is not a function ${n}`;return C0===null&&self.location.protocol==="http:"&&(i=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(i))}return n(e,t)}getMediaKeysPromise(e,t,n){var i;const r=aw(e,t,n,this.config.drmSystemOptions||{});let s=this.keySystemAccessPromises[e],o=(i=s)==null?void 0:i.keySystemAccess;if(!o){this.log(`Requesting encrypted media "${e}" key-system access with config: ${It(r)}`),o=this.requestMediaKeySystemAccess(e,r);const l=s=this.keySystemAccessPromises[e]={keySystemAccess:o};return o.catch(u=>{this.log(`Failed to obtain access to key-system "${e}": ${u}`)}),o.then(u=>{this.log(`Access for key-system "${u.keySystem}" obtained`);const h=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);const d=l.mediaKeys=u.createMediaKeys().then(g=>(this.log(`Media-keys created for "${e}"`),l.hasMediaKeys=!0,h.then(m=>m?this.setMediaKeysServerCertificate(g,e,m):g)));return d.catch(g=>{this.error(`Failed to create media-keys for "${e}"}: ${g}`)}),d})}return o.then(()=>s.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:n}){this.log(`Creating key-system session "${t}" keyId: ${ni(e.keyId||[])} keyUri: ${e.uri}`);const i=n.createSession(),r={decryptdata:e,keySystem:t,mediaKeys:n,mediaKeysSession:i,keyStatus:"status-pending"};return this.mediaKeySessions.push(r),r}renewKeySession(e){const t=e.decryptdata;if(t.pssh){const n=this.createMediaKeySessionContext(e),i=Po(t),r="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(n,r,t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){const n=e.mediaKeysSession;return this.log(`Updating key-session "${n.sessionId}" for keyId ${ni(e.decryptdata.keyId||[])}
286      } (data length: ${t.byteLength})`),n.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>mc(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:t,mediaKeys:n})=>this.attemptSetMediaKeys(t,n))}selectKeySystem(e){return new Promise((t,n)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:i})=>{const r=mc(i);r?t(r):n(new Error(`Unable to find format for key-system "${i}"`))}).catch(n)})}selectKeySystemFormat(e){const 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){const t=ra(this.config),n=e.map(Ho).filter(i=>!!i&&t.indexOf(i)!==-1);return this.selectKeySystem(n)}getKeyStatus(e){const{mediaKeySessions:t}=this;for(let n=0;n<t.length;n++){const i=CD(e,t[n]);if(i)return i}}loadKey(e){const t=e.keyInfo.decryptdata,n=Po(t),i=this.bannedKeyIds[n];if(i||this.getKeyStatus(t)==="internal-error"){const o=Km(i||"internal-error",t);return this.handleError(o,e.frag),Promise.reject(o)}const r=`(keyId: ${n} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${r}`);const s=this.keyIdToKeySessionPromise[n];if(!s){const o=this.getKeySystemForKeyPromise(t).then(({keySystem:l,mediaKeys:u})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${r}`),this.attemptSetMediaKeys(l,u).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:l,mediaKeys:u,decryptdata:t}))))).then(l=>{const u="cenc",h=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(l,u,h,"playlist-key")});return o.catch(l=>this.handleError(l,e.frag)),this.keyIdToKeySessionPromise[n]=o,o}return s.catch(o=>{if(o instanceof wi){const l=vt({},o.data);this.getKeyStatus(t)==="internal-error"&&(l.decryptdata=t);const u=new wi(l,o.message);this.handleError(u,e.frag)}}),s}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof wi){t&&(e.data.frag=t);const n=e.data.decryptdata;this.error(`${e.message}${n?` (${ni(n.keyId||[])})`:""}`),this.hls.trigger(S.ERROR,e.data)}else this.error(e.message),this.hls.trigger(S.ERROR,{type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}
286getKeySystemForKeyPromise(e){const t=Po(e),n=this.keyIdToKeySessionPromise[t];if(!n){const i=Ho(e.keyFormat),r=i?[i]:ra(this.config);return this.attemptKeySystemAccess(r)}return n}getKeySystemSelectionPromise(e){if(e.length||(e=ra(this.config)),e.length===0)throw new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${It({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();const n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const i=Promise.all(n).then(()=>this.media?this.media.setMediaKeys(t):new Promise((r,s)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return s(new Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=t,this.media.setMediaKeys(t).then(r).catch(s)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${e}"`),n.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(r=>n.indexOf(r)===-1)})}generateRequestWithPreferredKeySession(e,t,n,i){var r;const s=(r=this.config.drmSystems)==null||(r=r[e.keySystem])==null?void 0:r.generateRequest;if(s)try{const v=s.call(this.hls,t,n,e);if(!v)throw new Error("Invalid response from configured generateRequest filter");t=v.initDataType,n=v.initData?v.initData:null,e.decryptdata.pssh=n?new Uint8Array(n):null}catch(v){if(this.warn(v.message),this.hls&&this.hls.config.debug)throw v}if(n===null)return this.log(`Skipping key-session request for "${i}" (no initData)`),Promise.resolve(e);const o=Po(e.decryptdata),l=e.decryptdata.uri;this.log(`Generating key-session request for "${i}" keyId: ${o} URI: ${l} (init data type: ${t} length: ${n.byteLength})`);const u=new zh,h=e._onmessage=v=>{const T=e.mediaKeysSession;if(!T){u.emit("error",new Error("invalid state"));return}const{messageType:y,message:_}=v;this.log(`"${y}" message event for session "${T.sessionId}" message size: ${_.byteLength}`),y==="license-request"||y==="license-renewal"?this.renewLicense(e,_).catch(x=>{u.eventNames().length?u.emit("error",x):this.handleError(x)}):y==="license-release"?e.keySystem===Ft.FAIRPLAY&&this.updateKeySession(e,Jc("acknowledged")).then(()=>this.removeSession(e)).catch(x=>this.handleError(x)):this.warn(`unhandled media key message type "${y}"`)},d=(v,T)=>{T.keyStatus=v;let y;v.startsWith("usable")?u.emit("resolved"):v==="internal-error"||v==="output-restricted"||v==="output-downscaled"?y=Km(v,T.decryptdata):v==="expired"?y=new Error(`key expired (keyId: ${o}
286)`):v==="released"?y=new Error("key released"):v==="status-pending"||this.warn(`unhandled key status change "${v}" (keyId: ${o})`),y&&(u.eventNames().length?u.emit("error",y):this.handleError(y))},g=e._onkeystatuseschange=v=>{if(!e.mediaKeysSession){u.emit("error",new Error("invalid state"));return}const y=this.getKeyStatuses(e);if(!Object.keys(y).some(R=>y[R]!=="status-pending"))return;if(y[o]==="expired"){this.log(`Expired key ${It(y)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let x=y[o];if(x)d(x,e);else{var b;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(b=e.keyStatusTimeouts)[o]||(b[o]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;const A=this.getKeyStatus(e.decryptdata);if(A&&A!=="status-pending")return this.log(`No status for keyId ${o} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${A} from other session.`),d(A,e);this.log(`key status for ${o} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),x="internal-error",d(x,e)},1e3)),this.log(`No status for keyId ${o} (${It(y)}).`)}};gi(e.mediaKeysSession,"message",h),gi(e.mediaKeysSession,"keystatuseschange",g);const m=new Promise((v,T)=>{u.on("error",T),u.on("resolved",v)});return e.mediaKeysSession.generateRequest(t,n).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${o} URI: ${l}`)}).catch(v=>{throw new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_NO_SESSION,error:v,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${v}`)}).then(()=>m).catch(v=>(u.removeAllListeners(),this.removeSession(e).then(()=>{throw v}))).then(()=>(u.removeAllListeners(),e))}getKeyStatuses(e){const t={};return e.mediaKeysSession.keyStatuses.forEach((n,i)=>{if(typeof i=="string"&&typeof n=="object"){const o=i;i=n,n=o}const r="buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i);if(e.keySystem===Ft.PLAYREADY&&r.length===16){const o=ni(r);t[o]=n,I0(r)}const s=ni(r);n==="internal-error"&&(this.bannedKeyIds[s]=n),this.log(`key status change "${n}" for keyStatuses keyId: ${s} key-session "${e.mediaKeysSession.sessionId}"`),t[s]=n}
vendor: 11,939 bytes, line 286
286),t}fetchServerCertificate(e){const t=this.config,n=t.loader,i=new n(t),r=this.getServerCertificateUrl(e);return r?(this.log(`Fetching server certificate for "${e}"`),new Promise((s,o)=>{const l={responseType:"arraybuffer",url:r},u=t.certLoadPolicy.default,h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(g,m,v,T)=>{s(g.data)},onError:(g,m,v,T)=>{o(new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:v,response:vt({url:l.url,data:void 0},g)},`"${e}" certificate request failed (${r}). Status: ${g.code} (${g.text})`))},onTimeout:(g,m,v)=>{o(new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:v,response:{url:l.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(g,m,v)=>{o(new Error("aborted"))}};i.load(l,h,d)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,n){return new Promise((i,r)=>{e.setServerCertificate(n).then(s=>{this.log(`setServerCertificate ${s?"success":"not supported by CDM"} (${n.byteLength}) on "${t}"`),i(e)}).catch(s=>{r(new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:s,fatal:!0},s.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(n=>this.updateKeySession(e,new Uint8Array(n)).catch(i=>{throw new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:i,fatal:!1},i.message)}))}unpackPlayReadyKeyMessage(e,t){const n=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!n.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const i=new DOMParser().parseFromString(n,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let h;for(let d=0,g=r.length;d<g;d++){var s,o;h=r[d];const m=(s=h.querySelector("name"))==null?void 0:s.textContent,v=(o=h.querySelector("value"))==null?void 0:o.textContent;m&&v&&e.setRequestHeader(m,v)}}const l=i.querySelector("Challenge"),u=l==null?void 0:l.textContent;if(!u)throw new Error("Cannot find <Challenge> in key message");return Jc(atob(u))}setupLicenseXHR(e,t,n,i){const r=this.config.licenseXhrSetup;return r?Promise.resolve().then(()=>{if(!n.decryptdata)throw new Error("Key removed");return r.call(this.hls,e,t,n,i)}).catch(s=>{if(!n.decryptdata)throw s;return e.open("POST",t,!0),r.call(this.hls,e,t,n,i)}).then(s=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:s||i})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:i}))}requestLicense(e,t){const n=this.config.keyLoadPolicy.default;return new Promise((i,r)=>{const s=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${s}`);const o=new XMLHttpRequest;o.responseType="arraybuffer",o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(new Error("invalid state"));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let l=o.response;this.log(`License received ${l instanceof ArrayBuffer?l.byteLength:l}`);const u=this.config.licenseResponseCallback;if(u)try{l=u.call(this.hls,o,s,e)}catch(h){this.error(h)}i(l)}else{const l=n.errorRetry,u=l?l.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>u||o.status>=400&&o.status<500)r(new wi({type:Se.KEY_SYSTEM_ERROR,details:V.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:o,response:{url:s,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${s}). Status: ${o.status} (${o.statusText})`));else{const h=u-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${h} attempts left`),this.requestLicense(e,t).then(i,r)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,s,e,t).then(({xhr:l,licenseChallenge:u})=>{e.keySystem==Ft.PLAYREADY&&(u=this.unpackPlayReadyKeyMessage(l,u)),l.send(u)}).catch(r)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;const n=t.media;this.media=n,gi(n,"encrypted",this.onMediaEncrypted),gi(n,"waitingforkey",this.onWaitingForKey);const i=this.mediaResolved;i?i():this.mediaKeys=n.mediaKeys}onMediaDetached(){const e=this.media;e&&(xi(e,"encrypted",this.onMediaEncrypted),xi(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};const t=this.mediaResolved;if(t&&t(),!this.mediaKeys&&!this.mediaKeySessions.length)return;const n=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,hr.clearKeyUriToKeyIdMap();const r=i.length;xs.CDMCleanupPromise=Promise.all(i.map(s=>this.removeSession(s)).concat((n==null||(e=n.setMediaKeys(null))==null?void 0:e.catch(s=>{this.log(`Could not clear media keys: ${s}`),this.hls&&this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error(`Could not clear media keys: ${s}`)})}))||Promise.resolve())).catch(s=>{this.log(`Could not close sessions and clear media keys: ${s}`),this.hls&&this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close sessions and clear media keys: ${s}`)})}).then(()=>{r&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){const n=t.reduce((i,r)=>(i.indexOf(r.keyFormat)===-1&&i.push(r.keyFormat),i),[]);this.log(`Selecting key-system from session-keys ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n)}}removeSession(e){const{mediaKeysSession:t,licenseXhr:n,decryptdata:i}=e;if(t){this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${ni((i==null?void 0:i.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const r=this.mediaKeySessions.indexOf(e);r>-1&&this.mediaKeySessions.splice(r,1);const{keyStatusTimeouts:s}=e;s&&Object.keys(s).forEach(u=>self.clearTimeout(s[u]));const{drmSystemOptions:o}=this.config;return(lw(o)?new Promise((u,h)=>{self.setTimeout(()=>h(new Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(u).catch(h)}):Promise.resolve()).catch(u=>{this.log(`Could not remove session: ${u}`),this.hls&&this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error(`Could not remove session: ${u}`)})}).then(()=>t.close()).catch(u=>{this.log(`Could not close session: ${u}`),this.hls&&this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close session: ${u}`)})})}return Promise.resolve()}}xs.CDMCleanupPromise=void 0;function Po(a){if(!a)throw new Error("Could not read keyId of undefined decryptdata");if(a.keyId===null)throw new Error("keyId is null");return ni(a.keyId)}function CD(a,e){if(a.keyId&&e.mediaKeysSession.keyStatuses.has(a.keyId))return e.mediaKeysSession.keyStatuses.get(a.keyId);if(a.matches(e.decryptdata))return e.keyStatus}class wi extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}}function Km(a,e){const t=a==="output-restricted",n=t?V.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:V.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new wi({type:Se.KEY_SYSTEM_ERROR,details:n,fatal:!1,decryptdata:e},t?"HDCP level output restricted":`key status changed to "${a}"`)}class LD{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}registerListeners(){this.hls.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(S.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(S.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){const n=this.hls.config;if(n.capLevelOnFPSDrop){const i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&typeof i.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),n.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,n){const i=performance.now();if(t){if(this.lastTime){const r=i-this.lastTime,s=n-this.lastDroppedFrames,o=t-this.lastDecodedFrames,l=1e3*s/r,u=this.hls;if(u.trigger(S.FPS_DROP,{currentDropped:s,currentDecoded:o,totalDroppedFrames:n}),l>0&&s>u.config.fpsDroppedMonitoringThreshold*o){let h=u.currentLevel;u.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+h),h>0&&(u.autoLevelCapping===-1||u.autoLevelCapping>=h)&&(h=h-1,u.trigger(S.FPS_DROP_LEVEL_CAPPING,{level:h,droppedLevel:u.currentLevel}),u.autoLevelCapping=h,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=n,this.lastDecodedFrames=t}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}function vy(a,e){let t;try{t=new Event("addtrack")}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=a,e.dispatchEvent(t)}function yy(a,e){const t=a.mode;if(t==="disabled"&&(a.mode="hidden"),a.cues&&!a.cues.getCueById(e.id))try{if(a.addCue(e),!a.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(n){yt.debug(`[texttrack-utils]: ${n}`);try{const i=new self.TextTrackCue(e.startTime,e.endTime,e.text);i.id=e.id,a.addCue(i)}catch(i){yt.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${i}`)}}t==="disabled"&&(a.mode=t)}function Ts(a,e){const t=a.mode;if(t==="disabled"&&(a.mode="hidden"),a.cues)for(let n=a.cues.length;n--;)e&&a.cues[n].removeEventListener("enter",e),a.removeCue(a.cues[n]);t==="disabled"&&(a.mode=t)}function lh(a,e,t,n){const i=a.mode;if(i==="disabled"&&(a.mode="hidden"),a.cues&&a.cues.length>0){const r=kD(a.cues,e,t);for(let s=0;s<r.length;s++)(!n||n(r[s]))&&a.removeCue(r[s])}i==="disabled"&&(a.mode=i)}function RD(a,e){if(e<=a[0].startTime)return 0;const t=a.length-1;if(e>a[t].endTime)return-1;let n=0,i=t,r;for(;n<=i;)if(r=Math.floor((i+n)/2),e<a[r].startTime)i=r-1;else if(e>a[r].startTime&&n<t)n=r+1;else return r;return a[n].startTime-e<e-a[i].startTime?n:i}function kD(a,e,t){const n=[],i=RD(a,e);if(i>-1)for(let r=i,s=a.length;r<s;r++){const o=a[r];if(o.startTime>=e&&o.endTime<=t)n.push(o);else if(o.startTime>t)return n}return n}function Yo(a){const e=[];for(let t=0;t<a.length;t++){const n=a[t];(n.kind==="subtitles"||n.kind==="captions")&&n.label&&e.push(a[t])}return e}class wD extends ef{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=()=>
vendor: 2,437 bytes, line 286
286{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const n=Yo(this.media.textTracks);for(let r=0;r<n.length;r++)if(n[r].mode==="hidden")t=n[r];else if(n[r].mode==="showing"){t=n[r];break}const i=this.findTrackForTextTrack(t);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(){const{hls:e}=this;e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.LEVEL_LOADING,this.onLevelLoading,this),e.on(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(S.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(S.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.LEVEL_LOADING,this.onLevelLoading,this),e.off(S.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(S.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(S.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){const n=this.media;if(!n)return;const i=!!t.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||n.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,i)return;
vendor: 9,404 bytes, line 286
286Yo(n.textTracks).forEach(s=>{Ts(s)})}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){const{id:n,groupId:i,details:r}=t,s=this.tracksInGroup[n];if(!s||s.groupId!==i){this.warn(`Subtitle track with id:${n} and group:${i} not found in active group ${s==null?void 0:s.groupId}`);return}const o=s.details;s.details=t.details,this.log(`Subtitle track ${n} "${s.name}" lang:${s.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const n=t.subtitleGroups||null,i=this.groupIds;let r=this.currentTrack;if(!n||(i==null?void 0:i.length)!==(n==null?void 0:n.length)||n!=null&&n.some(s=>(i==null?void 0:i.indexOf(s))===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;const s=this.tracks.filter(h=>!n||n.indexOf(h.groupId)!==-1);if(s.length)this.selectDefaultTrack&&!s.some(h=>h.default)&&(this.selectDefaultTrack=!1),s.forEach((h,d)=>{h.id=d});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=s;const o=this.hls.config.subtitlePreference;if(!r&&o){this.selectDefaultTrack=!1;const h=Sn(o,s);if(h>-1)r=s[h];else{const d=Sn(o,this.tracks);r=this.tracks[d]}}let l=this.findTrackId(r);l===-1&&r&&(l=this.findTrackId(null));const u={subtitleTracks:s};this.log(`Updating subtitle tracks, ${s.length} track(s) found in "${n==null?void 0:n.join(",")}" group-id`),this.hls.trigger(S.SUBTITLE_TRACKS_UPDATED,u),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l)}}findTrackId(e){const t=this.tracksInGroup,n=this.selectDefaultTrack;for(let i=0;i<t.length;i++){const r=t[i];if(!(n&&!r.default||!n&&!e)&&(!e||Mr(r,e)))return i}if(e){for(let i=0;i<t.length;i++){const r=t[i];if(Ea(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){const r=t[i];if(Ea(e.attrs,r.attrs,["LANGUAGE"]))return i}}return-1}findTrackForTextTrack(e){if(e){const t=this.tracksInGroup;for(let n=0;n<t.length;n++){const i=t[n];if(rh(i,e))return n}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===tt.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&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(e.id===-1)return this.setSubtitleTrack(-1),null;const t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){const n=this.currentTrack;if(n&&Mr(e,n))return n;const i=Sn(e,this.tracksInGroup);if(i>-1){const r=this.tracksInGroup[i];return this.setSubtitleTrack(i),r}else{if(n)return null;{const r=Sn(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);const n=e.id,i=e.groupId,r=this.getUrlWithDirectives(e.url,t),s=e.details,o=s==null?void 0:s.age;this.log(`Loading subtitle ${n} "${e.name}" lang:${e.lang} group:${i}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${o&&s.live?" age "+o.toFixed(1)+(s.type&&" "+s.type||""):""} ${r}`),this.hls.trigger(S.SUBTITLE_TRACK_LOADING,{url:r,id:n,groupId:i,deliveryDirectives:t||null,track:e})}toggleTrackModes(){const{media:e}=this;if(!e)return;const t=Yo(e.textTracks),n=this.currentTrack;let i;if(n&&(i=t.filter(r=>rh(n,r))[0],i||this.warn(`Unable to find subtitle TextTrack with name "${n.name}" and language "${n.lang}"`)),[].slice.call(t).forEach(r=>{r.mode!=="disabled"&&r!==i&&(r.mode="disabled")}),i){const r=this.subtitleDisplay?"showing":"hidden";i.mode!==r&&(i.mode=r)}}setSubtitleTrack(e){const t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!pe(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.selectDefaultTrack=!1;const n=this.currentTrack,i=t[e]||null;if(this.trackId=e,this.currentTrack=i,this.toggleTrackModes(),!i){this.hls.trigger(S.SUBTITLE_TRACK_SWITCH,{id:e});return}const r=!!i.details&&!i.details.live;if(e===this.trackId&&i===n&&r)return;this.log(`Switching to subtitle-track ${e}`+(i?` "${i.name}" lang:${i.lang} group:${i.groupId}`:""));const{id:s,groupId:o="",name:l,type:u,url:h}=i;this.hls.trigger(S.SUBTITLE_TRACK_SWITCH,{id:s,groupId:o,name:l,type:u,url:h});const d=this.switchParams(i.url,n==null?void 0:n.details,i.details);this.loadPlaylist(d)}}function PD(){try{return crypto.randomUUID()}catch{try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,i=>{const r=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(i=="x"?r:r&3|8).toString(16)})}}}function ha(a){let e=5381,t=a.length;for(;t;)e=e*33^a.charCodeAt(--t);return(e>>>0).toString()}const bs=.025;let ml=function(a){return a[a.Point=0]="Point",a[a.Range=1]="Range",a}({});function DD(a,e,t){return`${a.identifier}-${t+1}-${ha(e)}`}class OD{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,(e=this.assetListLoader)==null||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;const n=this.playoutLimit;return e<=0||isNaN(n)?!1:n===0?!0:(((t=this.assetList[e])==null?void 0:t.startOffset)||0)>n}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){const e=this.dateRange.startTime;if(this.snapOptions.out){const t=this.dateRange.tagAnchor;if(t)return Ic(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;const e=this.dateRange.tagAnchor;if(e){const t=this.dateRange.startTime,n=Ic(t,e);return t-n<.1}return!1}get resumptionOffset(){const e=this.resumeOffset,t=pe(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){const e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){const t=this.resumeAnchor;if(t)return Ic(e,t)}return e}get appendInPlace(){return this.appendInPlaceStarted?!0:this.appendInPlaceDisabled?!1:!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<bs))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return this._timelineStart!==null?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){const e=this.playoutLimit;let t;return this._duration!==null?t=this._duration:this.dateRange.duration?t=this.dateRange.duration:t=this.dateRange.plannedDuration||0,!isNaN(e)&&e<t&&(t=e),t}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE"?ml.Range:ml.Point}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY"}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO"}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||this.assetListResponse!==null}toString(){return MD(this)}}function Ic(a,e){return a-e.start<e.duration/2&&!(Math.abs(a-(e.start+e.duration))<bs)?e.start:e.start+e.duration}function Ty(a,e,t){const n=new self.URL(a,t);return n.protocol!=="data:"&&n.searchParams.set("_HLS_primary_id",e),n}function Ac(a,e){for(;(t=a.assetList[++e])!=null&&t.error;)var t;return e}function MD(a){return`["${a.identifier}" ${a.cue.pre?"<pre>":a.cue.post?"<post>":""}${a.timelineStart.toFixed(2)}-${a.resumeTime.toFixed(2)}]`}function ms(a){const e=a.timelineStart,t=a.duration||0;return`["${a.identifier}" ${e.toFixed(2)}-${(e+t).toFixed(2)}]`}class FD{constructor(e,t,n,i){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
vendor: 4,234 bytes, line 286
286s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(S.PLAYOUT_LIMIT_REACHED,{})};const r=this.hls=new e(t);this.interstitial=n,this.assetItem=i;const s=()=>{this.hasDetails=!0};r.once(S.LEVEL_LOADED,s),r.once(S.AUDIO_TRACK_LOADED,s),r.once(S.SUBTITLE_TRACK_LOADED,s),r.on(S.MEDIA_ATTACHING,(o,{media:l})=>{this.removeMediaListeners(),this.mediaAttached=l,this.interstitial.playoutLimit&&(l.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&r.on(S.BUFFER_APPENDED,()=>{const h=this.bufferedEnd;this.reachedPlayout(h)&&(this._bufferedEosTime=h,r.trigger(S.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){const 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=Ty(t,e.config.primarySessionId||"").href}catch{}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if((t=this.hls)!=null&&t.bufferedToEnd)return!0;if(!e)return!1;const n=Math.min(this._bufferedEosTime||1/0,this.duration),i=this.timelineOffset,r=Ve.bufferInfo(e,i,0);return this.getAssetTime(r.end)>=n-.02}reachedPlayout(e){const n=this.interstitial.playoutLimit;return this.startOffset+e>=n}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null}get bufferedEnd(){const e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;const t=Ve.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){const e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){const e=this.assetItem.duration;if(!e)return 0;const t=this.interstitial.playoutLimit;if(t){const n=t-this.startOffset;if(n>0&&n<e)return n}return e}get remaining(){const e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){const t=this.timelineOffset;if(e!==t){const n=e-t;if(Math.abs(n)>1/9e4&&this.hls){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){const t=this.timelineOffset,n=this.duration;return Math.min(Math.max(0,e-t),n)}removeMediaListeners(){const e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;(e=this.hls)!=null&&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(),(t=this.hls)==null||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null}resetDetails(){const e=this.hls;if(e&&this.hasDetails){e.stopLoad();const t=n=>delete n.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,n){var i;(i=this.hls)==null||i.on(e,t)}once(e,t,n){var i;(i=this.hls)==null||i.once(e,t)}off(e,t,n){var i;(i=this.hls)==null||i.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${ms(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}const Wm=.033;class ND extends Ji{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={}
vendor: 7,582 bytes, line 286
286,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((n,i)=>e<=i.startOffset&&t>i.startOffset?(delete i.error,n+1):n,0):0}get duration(){const 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 n=-1;e.nextEvent?n=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(n=this.findEventIndex(e.previousEvent.identifier)+1);const i=this.items;if(i)for(i[n]||(t===void 0&&(t=e.start),n=this.findItemIndexAtTime(t));n>=0&&(r=i[n])!=null&&r.event;){var r;n--}return n}findItemIndexAtTime(e,t){const n=this.items;if(n)for(let i=0;i<n.length;i++){let r=n[i];if(t&&t!=="primary"&&(r=r[t]),e===r.start||e>r.start&&e<r.end)return i}return-1}findJumpRestrictedIndex(e,t){const n=this.items;if(n)for(let i=e;i<=t&&n[i];i++){const r=n[i].event;if(r!=null&&r.restrictions.jump&&!r.appendInPlace)return i}return-1}findEventIndex(e){const t=this.items;if(t)for(let i=t.length;i--;){var n;if(((n=t[i].event)==null?void 0:n.identifier)===e)return i}return-1}findAssetIndex(e,t){const n=e.assetList,i=n.length;if(i>1)for(let r=0;r<i;r++){const s=n[r];if(!s.error){const o=s.timelineStart;if(t===o||t>o&&(t<o+(s.duration||0)||r===i-1))return r}}return 0}get assetIdAtEnd(){var e;const t=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(t){const n=t.assetList,i=n[n.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,t){const n=e.main.details,{dateRanges:i}=n,r=this.events,s=this.parseDateRanges(i,{url:n.url},t),o=Object.keys(i),l=r?r.filter(u=>!o.includes(u.identifier)):[];s.length&&s.sort((u,h)=>{const d=u.cue.pre,g=u.cue.post,m=h.cue.pre,v=h.cue.post;if(d&&!m)return-1;if(m&&!d||g&&!v)return 1;if(v&&!g)return-1;if(!d&&!m&&!g&&!v){const T=u.startTime,y=h.startTime;if(T!==y)return T-y}return u.dateRange.tagOrder-h.dateRange.tagOrder}),this.events=s,l.forEach(u=>{this.removeEvent(u)}),this.updateSchedule(e,l)}updateSchedule(e,t=[],n=!1){const i=this.events||[];if(i.length||t.length||this.length<2){const r=this.items,s=this.parseSchedule(i,e);(n||t.length||(r==null?void 0:r.length)!==s.length||s.some((l,u)=>Math.abs(l.playout.start-r[u].playout.start)>.005||Math.abs(l.playout.end-r[u].playout.end)>.005))&&(this.items=s,this.onScheduleUpdate(t,r))}}parseDateRanges(e,t,n){const i=[],r=Object.keys(e);for(let s=0;s<r.length;s++){const o=r[s],l=e[o];if(l.isInterstitial){let u=this.eventMap[o];u?u.setDateRange(l):(u=new OD(l,t),this.eventMap[o]=u,n===!1&&(u.appendInPlace=n)),i.push(u)}}return i}parseSchedule(e,t){const n=[],i=t.main.details,r=i.live?1/0:i.edge;let s=0;if(e=e.filter(l=>!l.error&&!(l.cue.once&&l.hasPlayed)),e.length){this.resolveOffsets(e,t);let l=0,u=0;if(e.forEach((h,d)=>{const g=h.cue.pre,m=h.cue.post,v=e[d-1]||null,T=h.appendInPlace,y=m?r:h.startOffset,_=h.duration,x=h.timelineOccupancy===ml.Range?_:0,b=h.resumptionOffset,R=(v==null?void 0:v.startTime)===y,A=y+h.cumulativeDuration;let F=T?A+_:y+b;if(g||!m&&y<=0){const M=u;u+=x,h.timelineStart=A;const O=s;s+=_,n.push({event:h,start:A,end:F,playout:{start:O,end:s},integrated:{start:M,end:u}})}else if(y<=r){if(!R){const P=y-l;if(P>Wm){const K=l,ee=u;u+=P;const le=s;s+=P;const ae={previousEvent:e[d-1]||null,nextEvent:h,start:K,end:K+P,playout:{start:le,end:s},integrated:{start:ee,end:u}};n.push(ae)}else P>0&&v&&(v.cumulativeDuration+=P,n[n.length-1].end=y)}m&&(F=A),h.timelineStart=A;const M=u;u+=x;const O=s;s+=_,n.push({event:h,start:A,end:F,playout:{start:O,end:s},integrated:{start:M,end:u}})}else return;const w=h.resumeTime;m||w>r?l=r:l=w}),l<r){var o;const h=l,d=u,g=r-l;u+=g;const m=s;s+=g,n.push({previousEvent:((o=n[n.length-1])==null?void 0:o.event)||null,nextEvent:null,start:l,end:h+g,playout:{start:m,end:s},integrated:{start:d,end:u}})}this.setDurations(r,s,u)}else n.push({previousEvent:null,nextEvent:null,start:0,end:r,playout:{start:0,end:r},integrated:{start:0,end:r}}),this.setDurations(r,r,r);return n}setDurations(e,t,n){this.durations={primary:e,playout:t,integrated:n}}resolveOffsets(e,t){const n=t.main.details,i=n.live?1/0:n.edge;let r=0,s=-1;e.forEach((o,l)=>{const u=o.cue.pre,h=o.cue.post,d=u?0:h?i:o.startTime;this.updateAssetDurations(o),s===d?o.cumulativeDuration=r:(r=0,s=d),!h&&o.snapOptions.in&&(o.resumeAnchor=Fr(null,n.fragments,o.startOffset+o.resumptionOffset,0,0)||void 0),o.appendInPlace&&!o.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(o,t)||(o.appendInPlace=!1)),!o.appendInPlace&&l+1<e.length&&e[l+1].startTime-e[l].resumeTime<Wm&&(e[l+1].appendInPlace=!1,e[l+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${o}`));const m=pe(o.resumeOffset)?o.resumeOffset:o.duration;r+=m})}primaryCanResumeInPlaceAt(e,t){const n=e.resumeTime,i=e.startTime+e.resumptionOffset;return Math.abs(n-i)>bs?(this.log(`"${e.identifier}" resumption ${n} not aligned with estimated timeline end ${i}`),!1):!Object.keys(t).some(s=>{const o=t[s].details,l=o.edge;if(n>=l)return this.log(`"${e.identifier}" resumption ${n} past ${s} playlist end ${l}`),!1;const u=Fr(null,o.fragments,n);if(!u)return this.log(`"${e.identifier}" resumption ${n} does not align with any fragments in ${s} playlist (${o.fragStart}-${o.fragmentEnd})`),!0;const h=s==="audio"?.175:0;return Math.abs(u.start-n)<bs+h||Math.abs(u.end-n)<bs+h?!1:(this.log(`"${e.identifier}" resumption ${n} not aligned with ${s} fragment bounds (${u.start}-${u.end} sn: ${u.sn} cc: ${u.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;const t=e.timelineStart;let n=0,i=!1,r=!1;for(let s=0;s<e.assetList.length;s++){const o=e.assetList[s],l=t+n;o.startOffset=n,o.timelineStart=l,i||(i=o.duration===null),r||(r=!!o.error);const u=o.error?0:o.duration||0;n+=u}i&&!r?e.duration=Math.max(n,e.duration):e.duration=n}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function sn(a){return`[${a.event?'"'+a.event.identifier+'"':"primary"}: ${a.start.toFixed(2)}-${a.end.toFixed(2)}]`}class BD{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){const n=e.assetListUrl;let i;try{i=Ty(n,this.hls.sessionId,e.baseUrl)}catch(g){const m=this.assignAssetListError(e,V.ASSET_LIST_LOAD_ERROR,g,n);this.hls.trigger(S.ERROR,m);return}t&&i.protocol!=="data:"&&i.searchParams.set("_HLS_start_offset",""+t);const r=this.hls.config,s=r.loader,o=new s(r),l={responseType:"json",url:i.href},u=r.interstitialAssetListLoadPolicy.default,h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(g,m,v,T)=>{const y=g.data,_=y==null?void 0:y.ASSETS;if(!Array.isArray(_)){const x=this.assignAssetListError(e,V.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),v.url,m,T);this.hls.trigger(S.ERROR,x);return}e.assetListResponse=y,this.hls.trigger(S.ASSET_LIST_LOADED,{event:e,assetListResponse:y,networkDetails:T})},onError:(g,m,v,T)=>{const y=this.assignAssetListError(e,V.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${g.code} ${g.text} (${m.url})`),m.url,T,v);this.hls.trigger(S.ERROR,y)},onTimeout:(g,m,v)=>{const T=this.assignAssetListError(e,V.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${m.url})`),m.url,g,v);this.hls.trigger(S.ERROR,T)}};return o.load(l,h,d),this.hls.trigger(S.ASSET_LIST_LOADING,{event:e}),o}assignAssetListError(e,t,n,i,r,s){return e.error=n,{type:Se.NETWORK_E
vendor: 2,709 bytes, line 286
286RROR,details:t,fatal:!1,interstitial:e,url:i,error:n,networkDetails:s,stats:r}}}function Ym(a){var e;a==null||(e=a.play())==null||e.catch(()=>{})}function ps(a,e){return`[${a}] Advancing timeline position to ${e}`}class UD extends Ji{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},this.onSeeking=()=>{const n=this.currentTime;if(n===void 0||this.playbackDisabled||!this.schedule)return;const i=n-this.timelinePos;if(Math.abs(i)<1/7056e5)return;const s=i<=-.01;this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),this.timelinePos=n,this.bufferedPos=n;const o=this.playingItem;if(!o){this.checkBuffer();return}if(s&&this.schedule.resetErrorsInRange(n,n-i)&&this.updateSchedule(!0),this.checkBuffer(),s&&n<o.start||n>=o.end){var l;const m=this.findItemIndex(o);let v=this.schedule.findItemIndexAtTime(n);if(v===-1&&(v=m+(s?-1:1),this.log(`seeked ${s?"back ":""}to position not covered by schedule ${n} (resolving from ${m} to ${v})`)),!this.isInterstitial(o)&&(l=this.media)!=null&&l.paused&&(this.shouldPlay=!1),!s&&v>m){const T=this.schedule.findJumpRestrictedIndex(m+1,v);if(T>m){this.setSchedulePosition(T);return}}this.setSchedulePosition(v);return}const u=this.playingAsset;if(!u){if(this.playingLastItem&&this.isInterstitial(o)){const m=o.event.assetList[0];m&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(n,m))}return}const h=u.timelineStart,d=u.duration||0;if(s&&n<h||n>=h+d){var g;(g=o.event)!=null&&g.appendInPlace&&(this.clearAssetPlayers(o.event,o),this.flushFrontBuffer(n)),this.setScheduleToAssetAtTime(n,u)}},this.onTimeupdate=()=>{const n=this.currentTime;if(n===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),n>this.timelinePos)this.timelinePos=n,n>this.bufferedPos&&this.checkBuffer();else return;const i=this.playingItem;if(!i||this.playingLastItem)return;if(n>=i.end){this.timelinePos=i.end;const o=this.findItemIndex(i);this.setSchedulePosition(o+1)}const r=this.playingAsset;if(!r)return;const s=r.timelineStart+(r.duration||0);n>=s&&this.setScheduleToAssetAtTime(n,r)},this.onScheduleUpdate=(n,i)=>{const r=this.schedule;if(!r)return;
vendor: 17,197 bytes, lines 286-287
286const s=this.playingItem,o=r.events||[],l=r.items||[],u=r.durations,h=n.map(T=>T.identifier),d=!!(o.length||h.length);(d||i)&&this.log(`INTERSTITIALS_UPDATED (${o.length}): ${o}
287Schedule: ${l.map(T=>sn(T))} pos: ${this.timelinePos}`),h.length&&this.log(`Removed events ${h}`);let g=null,m=null;s&&(g=this.updateItem(s,this.timelinePos),this.itemsMatch(s,g)?this.playingItem=g:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);const v=this.bufferingItem;if(v&&(m=this.updateItem(v,this.bufferedPos),this.itemsMatch(v,m)?this.bufferingItem=m:v.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(v.event,null))),n.forEach(T=>{T.assetList.forEach(y=>{this.clearAssetPlayer(y.identifier,null)})}),this.playerQueue.forEach(T=>{if(T.interstitial.appendInPlace){const y=T.assetItem.timelineStart,_=T.timelineOffset-y;if(_)try{T.timelineOffset=y}catch(x){Math.abs(_)>bs&&this.warn(`${x} ("${T.assetId}" ${T.timelineOffset}->${y})`)}}}),d||i){if(this.hls.trigger(S.INTERSTITIALS_UPDATED,{events:o.slice(0),schedule:l.slice(0),durations:u,removedIds:h}),this.isInterstitial(s)&&h.includes(s.event.identifier)){this.warn(`Interstitial "${s.event.identifier}" removed while playing`),this.primaryFallback(s.event);return}s&&this.trimInPlace(g,s),v&&m!==g&&this.trimInPlace(m,v),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new BD(e),this.schedule=new ND(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){const e=this.hls;e&&(e.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(S.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(S.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(S.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(S.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(S.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(S.BUFFER_APPENDED,this.onBufferAppended,this),e.on(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(S.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(S.MEDIA_ENDED,this.onMediaEnded,this),e.on(S.ERROR,this.onError,this),e.on(S.DESTROYING,this.onDestroying,this))}unregisterListeners(){const e=this.hls;e&&(e.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(S.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(S.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(S.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(S.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(S.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(S.BUFFER_CODECS,this.onBufferCodecs,this),e.off(S.BUFFER_APPENDED,this.onBufferAppended,this),e.off(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(S.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(S.MEDIA_ENDED,this.onMediaEnded,this),e.off(S.ERROR,this.onError,this),e.off(S.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||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(){const e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){xi(e,"play",this.onPlay),xi(e,"pause",this.onPause),xi(e,"seeking",this.onSeeking),xi(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){const n=this.media=t.media;gi(n,"seeking",this.onSeeking),gi(n,"timeupdate",this.onTimeupdate),gi(n,"play",this.onPlay),gi(n,"pause",this.onPause)}onMediaAttached(e,t){const n=this.effectivePlayingItem,i=this.detachedData;if(this.detachedData=null,n===null)this.checkStart();else if(!i){this.clearScheduleState();const r=this.findItemIndex(n);this.setSchedulePosition(r)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){const n=!!t.transferMedia,i=this.media;if(this.media=null,!n&&(i&&this.removeMediaListeners(i),this.detachedData)){const r=this.getBufferingPlayer();r&&(this.log(`Removing schedule state for detachedData and ${r}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,r.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;const e=this,t=()=>e.bufferingItem||e.waitingItem,n=d=>d&&e.getAssetPlayer(d.identifier),i=(d,g,m,v,T)=>{if(d){let y=d[g].start;const _=d.event;if(_){if(g==="playout"||_.timelineOccupancy!==ml.Point){const x=n(m);(x==null?void 0:x.interstitial)===_&&(y+=x.assetItem.startOffset+x[T])}}else{const x=v==="bufferedPos"?s():e[v];y+=x-d.start}return y}return 0},r=(d,g)=>{var m;if(d!==0&&g!=="primary"&&(m=e.schedule)!=null&&m.length){var v;const T=e.schedule.findItemIndexAtTime(d),y=(v=e.schedule.items)==null?void 0:v[T];if(y){const _=y[g].start-y.start;return d+_}}return d},s=()=>{const d=e.bufferedPos;return d===Number.MAX_VALUE?o("primary"):Math.max(d,0)},o=d=>{var g,m;return(g=e.primaryDetails)!=null&&g.live?e.primaryDetails.edge:((m=e.schedule)==null?void 0:m.durations[d])||0},l=(d,g)=>{var m,v;const T=e.effectivePlayingItem;if(T!=null&&(m=T.event)!=null&&m.restrictions.skip||!e.schedule)return;e.log(`seek to ${d} "${g}"`);const y=e.effectivePlayingItem,_=e.schedule.findItemIndexAtTime(d,g),x=(v=e.schedule.items)==null?void 0:v[_],b=e.getBufferingPlayer(),R=b==null?void 0:b.interstitial,A=R==null?void 0:R.appendInPlace,F=y&&e.itemsMatch(y,x);if(y&&(A||F)){const w=n(e.playingAsset),M=(w==null?void 0:w.media)||e.primaryMedia;if(M){const O=g==="primary"?M.currentTime:i(y,g,e.playingAsset,"timelinePos","currentTime"),P=d-O,K=(A?O:M.currentTime)+P;if(K>=0&&(!w||A||K<=w.duration)){M.currentTime=K;return}}}if(x){let w=d;if(g!=="primary"){const O=x[g].start,P=d-O;w=x.start+P}const M=!e.isInterstitial(x);if((!e.isInterstitial(y)||y.event.appendInPlace)&&(M||x.event.appendInPlace)){const O=e.media||(A?b==null?void 0:b.media:null);O&&(O.currentTime=w)}else if(y){const O=e.findItemIndex(y);if(_>O){const K=e.schedule.findJumpRestrictedIndex(O+1,_);if(K>O){e.setSchedulePosition(K);return}}let P=0;if(M)e.timelinePos=w,e.checkBuffer();else{const K=x.event.assetList,ee=d-(x[g]||x).start;for(let le=K.length;le--;){const ae=K[le];if(ae.duration&&ee>=ae.startOffset&&ee<ae.startOffset+ae.duration){P=le;break}}}e.setSchedulePosition(_,P)}}},u=()=>{const d=e.effectivePlayingItem;if(e.isInterstitial(d))return d;const g=t();return e.isInterstitial(g)?g:null},h={get bufferedEnd(){const d=t(),g=e.bufferingItem;if(g&&g===d){var m;return i(g,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-g.playout.start||((m=e.bufferingAsset)==null?void 0:m.startOffset)||0}return 0},get currentTime(){const d=u(),g=e.effectivePlayingItem;return g&&g===d?i(g,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-g.playout.start:0},set currentTime(d){const g=u(),m=e.effectivePlayingItem;m&&m===g&&l(d+m.playout.start,"playout")},get duration(){const d=u();return d?d.playout.end-d.playout.start:0},get assetPlayers(){var d;const g=(d=u())==null?void 0:d.event.assetList;return g?g.map(m=>e.getAssetPlayer(m.identifier)):[]},get playingIndex(){var d;const g=(d=u())==null?void 0:d.event;return g&&e.effectivePlayingAsset?g.findAssetIndex(e.effectivePlayingAsset):-1},get scheduleItem(){return u()}};return this.manager={get events(){var d;return((d=e.schedule)==null||(d=d.events)==null?void 0:d.slice(0))||[]},get schedule(){var d;return((d=e.schedule)==null||(d=d.items)==null?void 0:d.slice(0))||[]},get interstitialPlayer(){return u()?h:null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return t()},get bufferingIndex(){const d=t();return e.findItemIndex(d)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){const d=e.effectivePlayingItem;return e.findItemIndex(d)},primary:{get bufferedEnd(){return s()},get currentTime(){const d=e.timelinePos;return d>0?d:0},set currentTime(d){l(d,"primary")},get duration(){return o("primary")},get seekableStart(){var d;return((d=e.primaryDetails)==null?void 0:d.fragmentStart)||0}},integrated:{get bufferedEnd(){return i(t(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(d){l(d,"integrated")},get duration(){return o("integrated")},get seekableStart(){var d;return r(((d=e.primaryDetails)==null?void 0:d.fragmentStart)||0,"integrated")}},skip:()=>{const d=e.effectivePlayingItem,g=d==null?void 0:d.event;if(g&&!g.restrictions.skip){const m=e.findItemIndex(d);if(g.appendInPlace){const v=d.playout.start+d.event.duration;l(v+.001,"playout")}else e.advanceAfterAssetEnded(g,m,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;const t=this.playingItem,n=(e=this.schedule)==null?void 0:e.items;return!this.playbackStarted||!t||!n?!1:this.findItemIndex(t)===n.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,t;if(this.mediaSelection===null)return;const n=this.waitingItem||this.playingItem;if(this.isInterstitial(n)&&!n.event.appendInPlace)return;let i=this.media;!i&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace&&(i=this.primaryMedia);const r=(t=i)==null?void 0:t.currentTime;if(!(r===void 0||!pe(r)))return r}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,t){const n=this.getAssetPlayer(e);n&&this.transferMediaFromPlayer(n,t)}transferMediaFromPlayer(e,t){const n=e.interstitial.appendInPlace,i=e.media;if(n&&i===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&i){this.detachedData={media:i};return}const r=e.transferMedia();this.log(`transfer MediaSource from ${e} ${It(r)}`),this.detachedData=r}else t&&i&&(this.shouldPlay||(this.shouldPlay=!i.paused))}transferMediaTo(e,t){var n,i;if(e.media===t)return;let r=null;const s=this.hls,o=e!==s,l=o&&e.interstitial.appendInPlace,u=(n=this.detachedData)==null?void 0:n.mediaSource;let h;if(s.media)l&&(r=s.transferMedia(),this.detachedData=r),h="Primary";else if(u){const v=this.getBufferingPlayer();v?(r=v.transferMedia(),h=`${v}`):h="detached MediaSource"}else h="detached media";if(!r){if(u)r=this.detachedData,this.log(`using detachedData: MediaSource ${It(r)}`);else if(!this.detachedData||s.media===t){const v=this.playerQueue;v.length>1&&v.forEach(T=>{if(o&&T.interstitial.appendInPlace!==l){const y=T.interstitial;this.clearInterstitial(T.interstitial,null),y.appendInPlace=!1,y.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${y}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}const d=r&&"mediaSource"in r&&((i=r.mediaSource)==null?void 0:i.readyState)!=="closed",g=d&&r?r:t;this.log(`${d?"transfering MediaSource":"attaching media"} to ${o?e:"Primary"} from ${h} (media.currentTime: ${t.currentTime})`);const m=this.schedule;if(g===r&&m){const v=o&&e.assetId===m.assetIdAtEnd;g.overrides={duration:m.duration,endOfStream:!o||v,cueRemoval:!o}}e.attachMedia(g)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){const e=this.schedule,t=e==null?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;this.bufferedPos===-1&&(this.bufferedPos=0);const n=this.timelinePos,i=this.effectivePlayingItem;if(n===-1){const r=this.hls.startPosition;if(this.timelinePos=r,t.length===0)this.setSchedulePosition(0);else if(t[0].cue.pre){this.log(ps("checkStart (preroll)",r));const s=e.findEventIndex(t[0].identifier);this.setSchedulePosition(s)}else if(r>=0||!this.primaryLive){this.log(ps("checkStart",r));const s=this.timelinePos=r>0?r:0,o=e.findItemIndexAtTime(s);this.setSchedulePosition(o)}else this.hls.liveSyncPosition===0?this.setSchedulePosition(0):this.log("[checkStart] waiting for live start")}else if(i&&!this.playingItem){this.log(ps("checkStart (playing item)",i.start));const r=e.findItemIndex(i);this.setSchedulePosition(r)}}advanceAssetBuffering(e,t){const n=e.event,i=n.findAssetIndex(t),r=Ac(n,i);if(!n.isAssetPastPlayoutLimit(r))this.bufferedToEvent(e,r);else if(this.schedule){var s;const o=(s=this.schedule.items)==null?void 0:s[this.findItemIndex(e)+1];o&&this.bufferedToItem(o)}}advanceAfterAssetEnded(e,t,n){const i=Ac(e,n);if(e.isAssetPastPlayoutLimit(i)){if(this.schedule){const r=this.schedule.items;if(r){const s=t+1,o=r.length;if(s>=o){this.setSchedulePosition(-1);return}const l=e.resumeTime;this.timelinePos<l&&(this.log(ps("advanceAfterAssetEnded",l)),this.timelinePos=l,e.appendInPlace&&this.advanceInPlace(l),this.checkBuffer(this.bufferedPos<l)),this.setSchedulePosition(s)}}}else{if(e.appendInPlace){const r=e.assetList[i];r&&this.advanceInPlace(r.timelineStart)}this.setSchedulePosition(t,i)}}setScheduleToAssetAtTime(e,t){const n=this.schedule;if(!n)return;const i=t.parentIdentifier,r=n.getEvent(i);if(r){const s=n.findEventIndex(i),o=n.findAssetIndex(r,e);this.advanceAfterAssetEnded(r,s,o-1)}}setSchedulePosition(e,t){var n;const i=(n=this.schedule)==null?void 0:n.items;if(!i||this.playbackDisabled)return;const r=e>=0?i[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${r&&sn(r)}) pos: ${this.timelinePos}`);const s=this.waitingItem||this.playingItem,o=this.playingLastItem;if(this.isInterstitial(s)){const h=s.event,d=this.playingAsset,g=d==null?void 0:d.identifier,m=g?this.getAssetPlayer(g):null;if(m&&g&&(!this.eventItemsMatch(s,r)||t!==void 0&&g!==h.assetList[t].identifier)){var l;const v=h.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${v+1}/${h.assetList.length} ${ms(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(S.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:v,event:h,schedule:i.slice(0),scheduleIndex:e,player:m}),s!==this.playingItem){this.itemsMatch(s,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(h,this.findItemIndex(this.playingItem),v);return}this.retreiveMediaSource(g,r),m.media&&!((l=this.detachedData)!=null&&l.mediaSource)&&m.detachMedia()}if(!this.eventItemsMatch(s,r)&&(this.endedItem=s,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${h} ${sn(s)}`),h.hasPlayed=!0,this.hls.trigger(S.INTERSTITIAL_ENDED,{event:h,schedule:i.slice(0),scheduleIndex:e}),h.cue.once)){var u;this.updateSchedule();const v=(u=this.schedule)==null?void 0:u.items;if(r&&v){const T=this.findItemIndex(r);this.advanceSchedule(T,v,t,s,o)}return}}this.advanceSchedule(e,i,t,s,o)}advanceSchedule(e,t,n,i,r){const s=this.schedule;if(!s)return;const o=t[e]||null,l=this.primaryMedia,u=this.playerQueue;if(u.length&&u.forEach(h=>{const d=h.interstitial,g=s.findEventIndex(d.identifier);(g<e||g>e+1)&&this.clearInterstitial(d,o)}),this.isInterstitial(o)){this.timelinePos=Math.min(Math.max(this.timelinePos,o.start),o.end);const h=o.event;if(n===void 0){n=s.findAssetIndex(h,this.timelinePos);const v=Ac(h,n-1);if(h.isAssetPastPlayoutLimit(v)||h.appendInPlace&&this.timelinePos===o.end){this.advanceAfterAssetEnded(h,e,n);return}n=v}const d=this.waitingItem;this.assetsBuffered(o,l)||this.setBufferingItem(o);let g=this.preloadAssets(h,n);if(this.eventItemsMatch(o,d||i)||(this.waitingItem=o,this.log(`INTERSTITIAL_STARTED ${sn(o)} ${h.appendInPlace?"append in place":""}`),this.hls.trigger(S.INTERSTITIAL_STARTED,{event:h,schedule:t.slice(0),scheduleIndex:e})),!h.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${h}`);return}if(h.assetListLoader&&(h.assetListLoader.destroy(),h.assetListLoader=void 0),!l){this.log(`Waiting for attachMedia to start Interstitial ${h}`);return}this.waitingItem=this.endedItem=null,this.playingItem=o;const m=h.assetList[n];if(!m){this.advanceAfterAssetEnded(h,e,n||0);return}if(g||(g=this.getAssetPlayer(m.identifier)),g===null||g.destroyed){const v=h.assetList.length;this.warn(`asset ${n+1}/${v} player destroyed ${h}
287`),g=this.createAssetPlayer(h,m,n),g.loadSource()}if(!this.eventItemsMatch(o,this.bufferingItem)&&h.appendInPlace&&this.isAssetBuffered(m))return;this.startAssetPlayer(g,n,t,e,l),this.shouldPlay&&Ym(g.media)}else o?(this.resumePrimary(o,e,i),this.shouldPlay&&Ym(this.hls.media)):r&&this.isInterstitial(i)&&(this.endedItem=null,this.playingItem=i,i.event.appendInPlace||this.attachPrimary(s.durations.primary,null))}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,t,n){var i,r;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${sn(e)}`),!((i=this.detachedData)!=null&&i.mediaSource)){let o=this.timelinePos;(o<e.start||o>=e.end)&&(o=this.getPrimaryResumption(e,t),this.log(ps("resumePrimary",o)),this.timelinePos=o),this.attachPrimary(o,e)}if(!n)return;const s=(r=this.schedule)==null?void 0:r.items;s&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${sn(e)}`),this.hls.trigger(S.INTERSTITIALS_PRIMARY_RESUMED,{schedule:s.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){const n=e.start;if(this.primaryLive){const i=this.primaryDetails;if(t===0)return this.hls.startPosition;if(i&&(n<i.fragmentStart||n>i.edge))return this.hls.liveSyncPosition||-1}return n}isAssetBuffered(e){const t=this.getAssetPlayer(e.identifier);return t!=null&&t.hls?t.hls.bufferedToEnd:Ve.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,n){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;const i=this.primaryMedia;if(!i)return;const r=this.hls;r.media?this.checkBuffer():(this.transferMediaTo(r,i),n&&this.startLoadingPrimaryAt(e,n)),n||(this.log(ps("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,n))}startLoadingPrimaryAt(e,t){var n;const i=this.hls;!i.loadingEnabled||!i.media||Math.abs((((n=i.mainForwardBufferInfo)==null?void 0:n.start)||i.media.currentTime)-e)>.5?i.startLoad(e,t):i.bufferingEnabled||i.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||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(S.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(S.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(t.level===-1||!this.schedule)return;const n=this.hls.levels[t.level];if(!n.details)return;const i=vt(vt({},this.mediaSelection||this.altSelection),{},{main:n});this.mediaSelection=i,this.schedule.parseInterstitialDateRanges(i,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){const n=this.hls.audioTracks[t.id],i=this.mediaSelection;if(!i){this.altSelection=vt(vt({},this.altSelection),{},{audio:n});return}const r=vt(vt({},i),{},{audio:n});this.mediaSelection=r}onSubtitleTrackUpdated(e,t){const n=this.hls.subtitleTracks[t.id],i=this.mediaSelection;if(!i){this.altSelection=vt(vt({},this.altSelection),{},{subtitles:n});return}const r=vt(vt({},i),{},{subtitles:n});this.mediaSelection=r}onAudioTrackSwitching(e,t){const n=tm(t);this.playerQueue.forEach(({hls:i})=>i&&(i.setAudioOption(t)||i.setAudioOption(n)))}onSubtitleTrackSwitch(e,t){const n=tm(t);this.playerQueue.forEach(({hls:i})=>i&&(i.setSubtitleOption(t)||t.id!==-1&&i.setSubtitleOption(n)))}onBufferCodecs(e,t){const n=t.tracks;n&&(this.requiredTracks=n)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){const n=this.playingItem;if(n&&!this.itemsMatch(n,this.bufferingItem)&&!this.isInterstitial(n)){const i=this.timelinePos;this.bufferedPos=i,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;const t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let i=0;i<t.length;i++){const r=t[i];if(r.cue.post){var n;const s=this.schedule.findEventIndex(r.identifier),o=(n=this.schedule.items)==null?void 0:n[s];this.isInterstitial(o)&&this.eventItemsMatch(o,this.bufferingItem)&&this.bufferedToItem(o,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){const t=this.playingItem;if(!this.playingLastItem&&t){const n=this.findItemIndex(t);this.setSchedulePosition(n+1)}else this.shouldPlay=!1}
vendor: 19,547 bytes, line 287
287updateItem(e,t){var n;const i=(n=this.schedule)==null?void 0:n.items;if(e&&i){const r=this.findItemIndex(e,t);return i[r]||null}return null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((r,s)=>{e.event.isAssetPastPlayoutLimit(s)&&this.clearAssetPlayer(r.identifier,null)});const n=e.end+.25,i=Ve.bufferInfo(this.primaryMedia,n,0);(i.end>n||(i.nextStart||0)>n)&&(this.log(`trim buffered interstitial ${sn(e)} (was ${sn(t)})`),this.attachPrimary(n,null,!0),this.flushFrontBuffer(n))}}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 n;return!!t&&(e===t||e.event.identifier===((n=t.event)==null?void 0:n.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;const n=this.mediaSelection;n&&((t=this.schedule)==null||t.updateSchedule(n,[],e))}checkBuffer(e){var t;const n=(t=this.schedule)==null?void 0:t.items;if(!n)return;const i=Ve.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=i.len<1),this.updateBufferedPos(i.end,n,e)}updateBufferedPos(e,t,n){const i=this.schedule,r=this.bufferingItem;if(this.bufferedPos>e||!i)return;if(t.length===1&&this.itemsMatch(t[0],r)){this.bufferedPos=e;return}const s=this.playingItem,o=this.findItemIndex(s);let l=i.findItemIndexAtTime(e);if(this.bufferedPos<e){var u;const h=this.findItemIndex(r),d=Math.min(h+1,t.length-1),g=t[d];if((l===-1&&r&&e>=r.end||(u=g.event)!=null&&u.appendInPlace&&e+.01>=g.start)&&(l=d),this.isInterstitial(r)){const m=r.event;if(d-o>1&&m.appendInPlace===!1||m.assetList.length===0&&m.assetListLoader)return}if(this.bufferedPos=e,l>h&&l>o)this.bufferedToItem(g);else{const m=this.primaryDetails;this.primaryLive&&m&&e>m.edge-m.targetduration&&g.start<m.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(g)&&this.preloadAssets(g.event,0)}}else n&&s&&!this.itemsMatch(s,r)&&(l===o?this.bufferedToItem(s):l===o+1&&this.bufferedToItem(t[l]))}assetsBuffered(e,t){return e.event.assetList.length===0?!1:!e.event.assetList.some(i=>{const r=this.getAssetPlayer(i.identifier);return!(r!=null&&r.bufferedInPlaceToEnd(t))})}setBufferingItem(e){const t=this.bufferingItem,n=this.schedule;if(!this.itemsMatch(e,t)&&n){const{items:i,events:r}=n;if(!i||!r)return t;const s=this.isInterstitial(e),o=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));const l=o?o.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${sn(e)}`+(t?` (${l.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(s){const u=n.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((h,d)=>{const g=this.getAssetPlayer(h.identifier);g&&(d===u&&g.loadSource(),g.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(u=>u.pauseBuffering());this.hls.trigger(S.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:r.slice(0),schedule:i.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){const n=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(n!==null){this.bufferingAsset=null;const i=this.detachedData;i?i.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e):this.preloadPrimary(e)}}}preloadPrimary(e){const t=this.findItemIndex(e),n=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(n)}bufferedToEvent(e,t){const n=e.event,i=n.assetList.length===0&&!n.assetListLoader,r=n.cue.once;if(i||!r){const s=this.preloadAssets(n,t);if(s!=null&&s.interstitial.appendInPlace){const o=this.primaryMedia;o&&this.bufferAssetPlayer(s,o)}}}preloadAssets(e,t){const n=e.assetUrl,i=e.assetList.length,r=i===0&&!e.assetListLoader,s=e.cue.once;if(r){const l=e.timelineStart;if(e.appendInPlace){var o;const g=this.playingItem;!this.isInterstitial(g)&&(g==null||(o=g.nextEvent)==null?void 0:o.identifier)===e.identifier&&this.flushFrontBuffer(l+.25)}let u,h=0;if(!this.playingItem&&this.primaryLive&&(h=this.hls.startPosition,h===-1&&(h=this.hls.liveSyncPosition||0)),h&&!(e.cue.pre||e.cue.post)){const g=h-l;g>0&&(u=Math.round(g*1e3)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${n?1:i} ${e}${u?` live-start: ${h} start-offset: ${u}`:""}`),n)return this.createAsset(e,0,0,l,e.duration,n);const d=this.assetListLoader.loadAssetList(e,u);d&&(e.assetListLoader=d)}else if(!s&&i){for(let u=t;u<i;u++){const h=e.assetList[u],d=this.getAssetPlayerQueueIndex(h.identifier);(d===-1||this.playerQueue[d].destroyed)&&!h.error&&this.createAssetPlayer(e,h,u)}const l=e.assetList[t];if(l){const u=this.getAssetPlayer(l.identifier);return u&&u.loadSource(),u}}return null}flushFrontBuffer(e){const t=this.requiredTracks;if(!t)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(i=>{this.hls.trigger(S.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:i})})}getAssetPlayerQueueIndex(e){const t=this.playerQueue;for(let n=0;n<t.length;n++)if(e===t[n].assetId)return n;return-1}getAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){const{playerQueue:e,primaryMedia:t}=this;if(t){for(let n=0;n<e.length;n++)if(e[n].media===t)return e[n]}return null}createAsset(e,t,n,i,r,s){const o={parentIdentifier:e.identifier,identifier:DD(e,s,t),duration:r,startOffset:n,timelineStart:i,uri:s};return this.createAssetPlayer(e,o,t)}createAssetPlayer(e,t,n){const i=this.hls,r=i.userConfig;let s=r.videoPreference;const o=i.loadLevelObj||i.levels[i.currentLevel];(s||o)&&(s=Et({},s),o.videoCodec&&(s.videoCodec=o.videoCodec),o.videoRange&&(s.allowedVideoRanges=[o.videoRange]));const l=i.audioTracks[i.audioTrack],u=i.subtitleTracks[i.subtitleTrack];let h=0;if(this.primaryLive||e.appendInPlace){const R=this.timelinePos-t.timelineStart;if(R>1){const A=t.duration;A&&R<A&&(h=R)}}const d=t.identifier,g=vt(vt({},r),{},{maxMaxBufferLength:Math.min(180,i.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:i.sessionId,assetPlayerId:d,abrEwmaDefaultEstimate:i.bandwidthEstimate,interstitialsController:void 0,startPosition:h,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:s,audioPreference:l||r.audioPreference,subtitlePreference:u||r.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(g.timelineOffset=t.timelineStart));const m=g.cmcd;m!=null&&m.sessionId&&m.contentId&&(g.cmcd=Et({},m,{contentId:ha(t.uri)})),this.getAssetPlayer(d)&&this.warn(`Duplicate date range identifier ${e} and asset ${d}`);const v=new FD(this.HlsPlayerClass,g,e,t);this.playerQueue.push(v),e.assetList[n]=t;let T=!0;const y=R=>{if(R.live){var A;const M=new Error(`Interstitials MUST be VOD assets ${e}`),O={fatal:!0,type:Se.OTHER_ERROR,details:V.INTERSTITIAL_ASSET_ITEM_ERROR,error:M},P=((A=this.schedule)==null?void 0:A.findEventIndex(e.identifier))||-1;this.handleAssetItemError(O,e,P,n,M.message);return}const F=R.edge-R.fragmentStart,w=t.duration;(T||w===null||F>w)&&(T=!1,this.log(`Interstitial asset "${d}" duration change ${w} > ${F}`),t.duration=F,this.updateSchedule())};v.on(S.LEVEL_UPDATED,(R,{details:A})=>y(A)),v.on(S.LEVEL_PTS_UPDATED,(R,{details:A})=>y(A)),v.on(S.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());const _=(R,A)=>{const F=this.getAssetPlayer(d);if(F&&A.tracks){F.off(S.BUFFER_CODECS,_),F.tracks=A.tracks;const w=this.primaryMedia;this.bufferingAsset===F.assetItem&&w&&!F.media&&this.bufferAssetPlayer(F,w)}};v.on(S.BUFFER_CODECS,_);const x=()=>{var R;const A=this.getAssetPlayer(d);if(this.log(`buffered to end of asset ${A}`),!A||!this.schedule)return;const F=this.schedule.findEventIndex(e.identifier),w=(R=this.schedule.items)==null?void 0:R[F];this.isInterstitial(w)&&this.advanceAssetBuffering(w,t)};v.on(S.BUFFERED_TO_END,x);const b=R=>()=>{if(!this.getAssetPlayer(d)||!this.schedule)return;this.shouldPlay=!0;const F=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,F,R)};return v.once(S.MEDIA_ENDED,b(n)),v.once(S.PLAYOUT_LIMIT_REACHED,b(1/0)),v.on(S.ERROR,(R,A)=>{if(!this.schedule)return;const F=this.getAssetPlayer(d);if(A.details===V.BUFFER_STALLED_ERROR){if(F!=null&&F.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}this.handleAssetItemError(A,e,this.schedule.findEventIndex(e.identifier),n,`Asset player error ${A.error} ${e}`)}),v.on(S.DESTROYING,()=>{if(!this.getAssetPlayer(d)||!this.schedule)return;const A=new Error(`Asset player destroyed unexpectedly ${d}`),F={fatal:!0,type:Se.OTHER_ERROR,details:V.INTERSTITIAL_ASSET_ITEM_ERROR,error:A};this.handleAssetItemError(F,e,this.schedule.findEventIndex(e.identifier),n,A.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${ms(t)}`),this.hls.trigger(S.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:n,event:e,player:v}),v}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(n=>{this.clearAssetPlayer(n.identifier,t)})}resetAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);if(t!==-1){this.log(`reset asset player "${e}" after error`);const n=this.playerQueue[t];this.transferMediaFromPlayer(n,null),n.resetDetails()}}clearAssetPlayer(e,t){const n=this.getAssetPlayerQueueIndex(e);if(n!==-1){const i=this.playerQueue[n];this.log(`clear ${i} toSegment: ${t&&sn(t)}`),this.transferMediaFromPlayer(i,t),this.playerQueue.splice(n,1),i.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,n,i,r){const{interstitial:s,assetItem:o,assetId:l}=e,u=s.assetList.length,h=this.playingAsset;this.endedAsset=null,this.playingAsset=o,(!h||h.identifier!==l)&&(h&&(this.clearAssetPlayer(h.identifier,n[i]),delete h.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${u} ${ms(o)}`),this.hls.trigger(S.INTERSTITIAL_ASSET_STARTED,{asset:o,assetListIndex:t,event:s,schedule:n.slice(0),scheduleIndex:i,player:e})),this.bufferAssetPlayer(e,r)}bufferAssetPlayer(e,t){var n,i;if(!this.schedule)return;const{interstitial:r,assetItem:s}=e,o=this.schedule.findEventIndex(r.identifier),l=(n=this.schedule.items)==null?void 0:n[o];if(!l)return;e.loadSource(),this.setBufferingItem(l),this.bufferingAsset=s;const u=this.getBufferingPlayer();if(u===e)return;const h=r.appendInPlace;if(h&&(u==null?void 0:u.interstitial.appendInPlace)===!1)return;const d=(u==null?void 0:u.tracks)||((i=this.detachedData)==null?void 0:i.tracks)||this.requiredTracks;if(h&&s!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(d&&!t0(d,e.tracks)){const g=new Error(`Asset ${ms(s)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(d)}')`),m={fatal:!0,type:Se.OTHER_ERROR,details:V.INTERSTITIAL_ASSET_ITEM_ERROR,error:g},v=r.findAssetIndex(s);this.handleAssetItemError(m,r,o,v,g.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){const t=this.schedule,n=this.primaryMedia;if(!t||!n)return;const i=n.currentTime,r=t.findAssetIndex(e,i),s=e.assetList[r];if(s){const o=this.getAssetPlayer(s.identifier);if(o){const l=o.currentTime||i-s.timelineStart,u=o.duration-l;if(this.warn(`Stalled at ${l} of ${l+u} in ${o} ${e} (media.currentTime: ${i})`),l&&(u/n.playbackRate<.5||o.bufferedInPlaceToEnd(n))&&o.hls){const h=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,h,r)}}}}advanceInPlace(e){const t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,n,i,r){if(e.details===V.BUFFER_STALLED_ERROR)return;const s=t.assetList[i]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${s&&ms(s)} ${e.error}`),!this.schedule)return;const o=(s==null?void 0:s.identifier)||"",l=this.getAssetPlayerQueueIndex(o),u=this.playerQueue[l]||null,h=this.schedule.items,d=Et({},e,{fatal:!1,errorAction:_s(!0),asset:s,assetListIndex:i,event:t,schedule:h,scheduleIndex:n,player:u});if(this.hls.trigger(S.INTERSTITIAL_ASSET_ERROR,d),!e.fatal)return;const g=this.playingAsset,m=this.bufferingAsset,v=new Error(r);if(s&&(this.clearAssetPlayer(o,null),s.error=v),!t.assetList.some(T=>!T.error))t.error=v;else for(let T=i;T<t.assetList.length;T++)this.resetAssetPlayer(t.assetList[T].identifier);this.updateSchedule(!0),t.error?this.primaryFallback(t):g&&g.identifier===o?this.advanceAfterAssetEnded(t,n,i):m&&m.identifier===o&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,m)}primaryFallback(e){const t=e.timelineStart,n=this.effectivePlayingItem;let i=this.timelinePos;if(n){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${i} playing: ${sn(n)} error: ${e.error}`),i===-1&&(i=this.hls.startPosition);const s=this.updateItem(n,i);this.itemsMatch(n,s)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(i===-1){this.checkStart();return}if(!this.schedule)return;const r=this.schedule.findItemIndexAtTime(i);this.setSchedulePosition(r)}onAssetListLoaded(e,t){var n,i;const r=t.event,s=r.identifier,o=t.assetListResponse.ASSETS;if(!((n=this.schedule)!=null&&n.hasEvent(s)))return;const l=r.timelineStart,u=r.duration;let h=0;o.forEach((T,y)=>{const _=parseFloat(T.DURATION);this.createAsset(r,y,h,l+h,_,T.URI),h+=_}),r.duration=h,this.log(`Loaded asset-list with duration: ${h} (was: ${u}) ${r}`);const d=this.waitingItem,g=(d==null?void 0:d.event.identifier)===s;this.updateSchedule();const m=(i=this.bufferingItem)==null?void 0:i.event;if(g){var v;const T=this.schedule.findEventIndex(s),y=(v=this.schedule.items)==null?void 0:v[T];if(y){if(!this.playingItem&&this.timelinePos>y.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==T){r.error=new Error(`Interstitial ${o.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${r}`),this.log(r.error.message),this.updateSchedule(!0),this.primaryFallback(r);return}this.setBufferingItem(y)}this.setSchedulePosition(T)}else if((m==null?void 0:m.identifier)===s){const T=r.assetList[0];if(T){const y=this.getAssetPlayer(T.identifier);if(m.appendInPlace){const _=this.primaryMedia;y&&_&&this.bufferAssetPlayer(y,_)}else y&&y.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case V.ASSET_LIST_PARSING_ERROR:case V.ASSET_LIST_LOAD_ERROR:case V.ASSET_LIST_LOAD_TIMEOUT:{const n=t.interstitial;n&&(this.updateSchedule(!0),this.primaryFallback(n));break}case V.BUFFER_STALLED_ERROR:{const n=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(n)&&n.event.appendInPlace){this.handleInPlaceStall(n.event);return}this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}}const zm=500;class $D extends Yh{constructor(e,t,n){super(e,t,n,"subtitle-stream-controller",ye.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(S.LEVEL_LOADED,this.onLevelLoaded,this),e.on(S.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(S.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(S.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(S.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(S.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(S.LEVEL_LOADED,this.onLevelLoaded,this),e.off(S.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(S.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(S.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(S.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(S.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=Z.IDLE,this.setInterval(zm),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){const{frag:n,success:i}=t;if(this.fragContextChanged(n)||(Vt(n)&&(this.fragPrevious=n),this.state=Z.IDLE),!i)return;const r=this.tracksBuffered[this.currentTrackId];if(!r)return;let s;const o=n.start;for(let u=0;u<r.length;u++)if(o>=r[u].start&&o<=r[u].end){s=r[u];break}const l=n.start+n.duration;s?s.end=l:(s={start:o,end:l},r.push(s)),this.fragmentTracker.fragBuffered(n),this.fragBufferedComplete(n,null),this.media&&this.tick()}onBufferFlushing(e,t){const{startOffset:n,endOffset:i}=t;if(n===0&&i!==Number.POSITIVE_INFINITY){const r=i-1;if(r<=0)return;t.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach(s=>{for(let o=0;o<s.length;){if(s[o].end<=r){s.shift();continue}else if(s[o].start<r)s[o].start=r;else break;o++}}),this.fragmentTracker.removeFragmentsInRange(n,r,ye.SUBTITLE)}}onError(e,t){const n=t.frag;(n==null?void 0:n.type)===ye.SUBTITLE&&(t.details===V.FRAG_GAP&&this.fragmentTracker.fragBuffered(n,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Z.STOPPED&&(this.state=Z.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&ry(this.levels,t)){this.levels=t.map(n=>new ma(n));return}this.tracksBuffered=[],this.levels=t.map(n=>{const i=new ma(n);return this.tracksBuffered[i.id]=[],i}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,ye.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var n;if(this.currentTrackId=t.id,!((n=this.levels)!=null&&n.length)||this.currentTrackId===-1){this.clearInterval();return}const i=this.levels[this.currentTrackId];i!=null&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.state!==Z.STOPPED&&this.setInterval(zm)}onSubtitleTrackLoaded(e,t){var n;const{currentTrackId:i,levels:r}=this,{details:s,id:o}=t;if(!r){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}const l=r[o];if(o>=r.length||!l)return;this.log(`Subtitle track ${o} loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:${s.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let u=0;if(s.live||(n=l.details)!=null&&n.live){if(s.deltaUpdateFailed)return;const d=this.mainDetails;if(!d){this.startFragRequested=!1;return}const g=d.fragments[0];if(!l.details)s.hasProgramDateTime&&d.hasProgramDateTime?(gl(s,d),u=s.fragmentStart):g&&(u=g.start,th(s,u));else{var h;u=this.alignPlaylists(s,l.details,(h=this.levelLastLoaded)==null?void 0:h.details),u===0&&g&&(u=g.start,th(s,u))}d&&!this.startFragRequested&&this.setStartPosition(d,u)}l.details=s,this.levelLastLoaded=l,o===i&&(this.hls.trigger(S.SUBTITLE_TRACK_UPDATED,{details:s,id:o,groupId:t.groupId}),this.tick(),s.live&&!this.fragCurrent&&this.media&&this.state===Z.IDLE&&(Fr(null,s.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),l.details=void 0)))}_handleFragmentLoadComplete(e){const{frag:t,payload:n}=e,i=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&n&&n.byteLength>0&&i!=null&&i.key&&i.iv&&Ss(i.method)){const s=performance.now();
vendor: 26,291 bytes, lines 287-297
287this.decrypter.decrypt(new Uint8Array(n),i.key.buffer,i.iv.buffer,Kh(i.method)).catch(o=>{throw r.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.FRAG_DECRYPT_ERROR,fatal:!1,error:o,reason:o.message,frag:t}),o}).then(o=>{const l=performance.now();r.trigger(S.FRAG_DECRYPTED,{frag:t,payload:o,stats:{tstart:s,tdecrypt:l}})}).catch(o=>{this.warn(`${o.name}: ${o.message}`),this.state=Z.IDLE})}}doTick(){if(!this.media){this.state=Z.IDLE;return}if(this.state===Z.IDLE){const{currentTrackId:e,levels:t}=this,n=t==null?void 0:t[e];if(!n||!t.length||!n.details||this.waitForLive(n))return;const{config:i}=this,r=this.getLoadPosition(),s=Ve.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,i.maxBufferHole),{end:o,len:l}=s,u=n.details,h=this.hls.maxBufferLength+u.levelTargetDuration;if(l>h)return;const d=u.fragments,g=d.length,m=u.edge;let v=null;const T=this.fragPrevious;if(o<m){const x=i.maxFragLookUpTolerance,b=o>m-x?0:x;v=Fr(T,d,Math.max(d[0].start,o),b),!v&&T&&T.start<d[0].start&&(v=d[0])}else v=d[g-1];if(v=this.filterReplacedPrimary(v,n.details),!v)return;const y=v.sn-u.startSN,_=d[y-1];if(_&&_.cc===v.cc&&this.fragmentTracker.getState(_)===qt.NOT_LOADED&&(v=_),this.fragmentTracker.getState(v)===qt.NOT_LOADED){const x=this.mapToInitFragWhenRequired(v);x&&this.loadFragment(x,n,o)}}}loadFragment(e,t,n){Vt(e)?super.loadFragment(e,t,n):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new GD(this.tracksBuffered[this.currentTrackId]||[])}}class GD{constructor(e){this.buffered=void 0;const t=(n,i,r)=>{if(i=i>>>0,i>r-1)throw new DOMException(`Failed to execute '${n}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][n]};this.buffered={get length(){return e.length},end(n){return t("end",n,e.length)},start(n){return t("start",n,e.length)}}}}const HD={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},Ey=a=>String.fromCharCode(HD[a]||a),an=15,Fn=100,VD={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},KD={17:2,18:4,21:6,22:8,23:10,19:13,20:15},WD={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},YD={25:2,26:4,29:6,30:8,31:10,27:13,28:15},zD=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class jD{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){const n=typeof t=="function"?t():t;yt.log(`${this.time} [${e}] ${n}`)}}}const Rr=function(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n].toString(16));return t};class _y{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){const t=["foreground","underline","italics","background","flash"];for(let n=0;n<t.length;n++){const i=t[n];e.hasOwnProperty(i)&&(this[i]=e[i])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!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 qD{constructor(){this.uchar=" ",this.penState=new _y}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 XD{constructor(e){this.chars=[],this.pos=0,this.currPenState=new _y,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Fn;t++)this.chars.push(new qD);this.logger=e}equals(e){for(let t=0;t<Fn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Fn;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Fn;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>Fn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Fn)}moveCursor(e){const t=this.pos+e;if(e>1)for(let n=this.pos+1;n<t+1;n++)this.chars[n].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();const t=Ey(e);if(this.pos>=Fn){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<Fn;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){const e=[];let t=!0;for(let n=0;n<Fn;n++){const i=this.chars[n].uchar;i!==" "&&(t=!1),e.push(i)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class Cc{constructor(e){this.rows=[],this.currRow=an-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<an;t++)this.rows.push(new XD(e));this.logger=e}reset(){for(let e=0;e<an;e++)this.rows[e].clear();this.currRow=an-1}equals(e){let t=!0;for(let n=0;n<an;n++)if(!this.rows[n].equals(e.rows[n])){t=!1;break}return t}copy(e){for(let t=0;t<an;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<an;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 = "+It(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let o=0;o<an;o++)this.rows[o].clear();const r=this.currRow+1-this.nrRollUpRows,s=this.lastOutputScreen;if(s){const o=s.rows[r].cueStartTime,l=this.logger.time;if(o!==null&&l!==null&&o<l)for(let u=0;u<this.nrRollUpRows;u++)this.rows[t-this.nrRollUpRows+u+1].copy(s.rows[r+u])}}this.currRow=t;const n=this.rows[this.currRow];if(e.indent!==null){const r=e.indent,s=Math.max(r-1,0);n.setCursor(e.indent),e.color=n.chars[s].penState.foreground}const i={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(i)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+It(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());const 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;const t=[];let n="",i=-1;for(let r=0;r<an;r++){const s=this.rows[r].getTextString();s&&(i=r+1,e?t.push("Row "+i+": '"+s+"'"):t.push(s.trim()))}return t.length>0&&(e?n="["+t.join(" | ")+"]":n=t.join(`
288`)),n}getTextAndFormat(){return this.rows}}class jm{constructor(e,t,n){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 Cc(n),this.nonDisplayedMemory=new Cc(n),this.lastOutputScreen=new Cc(n),this.currRollUpRow=this.displayedMemory.rows[an-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=n}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[an-1],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),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let n=0;n<e.length;n++)this.writeScreen.insertChar(e[n]);const t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(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"),this.mode!=="MODE_TEXT"&&(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})}ccRDC(){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"),this.mode==="MODE_POP-ON"){const 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){const t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{const n=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=i[n]}this.logger.log(2,"MIDROW: "+It(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){const t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t: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.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 qm{constructor(e,t,n){this.channels=void 0,this.currentChannel=0,this.cmdHistory=ZD(),this.logger=void 0;const i=this.logger=new jD;this.channels=[null,new jm(e,t,i),new jm(e+1,n,i)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let n=0;n<t.length;n+=2){const i=t[n]&127,r=t[n+1]&127;let s=!1,o=null;if(i===0&&r===0)continue;this.logger.log(3,()=>"["+Rr([t[n],t[n+1]])+"] -> ("+Rr([i,r])+")");const l=this.cmdHistory;if(i>=16&&i<=31){if(QD(i,r,l)){Do(null,null,l),this.logger.log(3,()=>"Repeated command ("+Rr([i,r])+") is dropped");continue}Do(i,r,this.cmdHistory),s=this.parseCmd(i,r),s||(s=this.parseMidrow(i,r)),s||(s=this.parsePAC(i,r)),s||(s=this.parseBackgroundAttributes(i,r))}else Do(null,null,l);if(!s&&(o=this.parseChars(i,r),o)){const h=this.currentChannel;h&&h>0?this.channels[h].insertChars(o):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!s&&!o&&this.logger.log(2,()=>"Couldn't parse cleaned data "+Rr([i,r])+" orig: "+Rr([t[n],t[n+1]]))}}parseCmd(e,t){const n=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,i=(e===23||e===31)&&t>=33&&t<=35;if(!(n||i))return!1;const r=e===20||e===21||e===23?1:2,s=this.channels[r];return e===20||e===21||e===28||e===29?t===32?s.ccRCL():t===33?s.ccBS():t===34?s.ccAOF():t===35?s.ccAON():t===36?s.ccDER():t===37?s.ccRU(2):t===38?s.ccRU(3):t===39?s.ccRU(4):t===40?s.ccFON():t===41?s.ccRDC():t===42?s.ccTR():t===43?s.ccRTD():t===44?s.ccEDM():t===45?s.ccCR():t===46?s.ccENM():t===47&&s.ccEOC():s.ccTO(t-32),this.currentChannel=r,!0}parseMidrow(e,t){let n=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?n=1:n=2,n!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const i=this.channels[n];return i?(i.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+Rr([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let n;const i=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,r=(e===16||e===24)&&t>=64&&t<=95;if(!(i||r))return!1;const s=e<=23?1:2;t>=64&&t<=95?n=s===1?VD[e]:WD[e]:n=s===1?KD[e]:YD[e];const o=this.channels[s];return o?(o.setPAC(this.interpretPAC(n,t)),this.currentChannel=s,!0):!1}interpretPAC(e,t){let n;const i={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?n=t-96:n=t-64,i.underline=(n&1)===1,n<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(n/2)]:n<=15?(i.italics=!0,i.color="white"):i.indent=Math.floor((n-16)/2)*4,i}parseChars(e,t){let n,i=null,r=null;if(e>=25?(n=2,r=e-8):(n=1,r=e),r>=17&&r<=19){let s;r===17?s=t+80:r===18?s=t+112:s=t+144,this.logger.log(2,()=>"Special char '"+Ey(s)+"' in channel "+n),i=[s]}else e>=32&&e<=127&&(i=t===0?[e]:[e,t]);return i&&this.logger.log(3,()=>"Char codes =  "+Rr(i).join(",")),i}parseBackgroundAttributes(e,t){const n=(e===16||e===24)&&t>=32&&t<=47,i=(e===23||e===31)&&t>=45&&t<=47;if(!(n||i))return!1;let r;const s={};e===16||e===24?(r=Math.floor((t-32)/2),s.background=zD[r],t%2===1&&(s.background=s.background+"_semi")):t===45?s.background="transparent":(s.foreground="black",t===47&&(s.underline=!0));const o=e<=23?1:2;return this.channels[o].setBkgData(s),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){const t=this.channels[e];t&&t.reset()}Do(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){const n=this.channels[t];n&&n.cueSplitAtTime(e)}}}function Do(a,e,t){t.a=a,t.b=e}function QD(a,e,t){return t.a===a&&t.b===e}function ZD(){return{a:null,b:null}}var sf=function(){if(dl!=null&&dl.VTTCue)return self.VTTCue;const a=["","lr","rl"],e=["start","middle","end","left","right"];function t(o,l){if(typeof l!="string"||!Array.isArray(o))return!1;const u=l.toLowerCase();return~o.indexOf(u)?u:!1}function n(o){return t(a,o)}function i(o){return t(e,o)}function r(o,...l){let u=1;for(;u<arguments.length;u++){const h=arguments[u];for(const d in h)o[d]=h[d]}return o}function s(o,l,u){const h=this,d={enumerable:!0};h.hasBeenReset=!1;let g="",m=!1,v=o,T=l,y=u,_=null,x="",b=!0,R="auto",A="start",F=50,w="middle",M=50,O="middle";Object.defineProperty(h,"id",r({},d,{get:function(){return g},set:function(P){g=""+P}})),Object.defineProperty(h,"pauseOnExit",r({},d,{get:function(){return m},set:function(P){m=!!P}})),Object.defineProperty(h,"startTime",r({},d,{get:function(){return v},set:function(P){if(typeof P!="number")throw new TypeError("Start time must be set to a number.");v=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"endTime",r({},d,{get:function(){return T},set:function(P){if(typeof P!="number")throw new TypeError("End time must be set to a number.");T=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"text",r({},d,{get:function(){return y},set:function(P){y=""+P,this.hasBeenReset=!0}})),Object.defineProperty(h,"region",r({},d,{get:function(){return _},set:function(P){_=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"vertical",r({},d,{get:function(){return x},set:function(P){const K=n(P);if(K===!1)throw new SyntaxError("An invalid or illegal string was specified.");x=K,this.hasBeenReset=!0}})),Object.defineProperty(h,"snapToLines",r({},d,{get:function(){return b},set:function(P){b=!!P,this.hasBeenReset=!0}})),Object.defineProperty(h,"line",r({},d,{get:function(){return R},set:function(P){if(typeof P!="number"&&P!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");R=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"lineAlign",r({},d,{get:function(){return A},set:function(P){const K=i(P);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");A=K,this.hasBeenReset=!0}})),Object.defineProperty(h,"position",r({},d,{get:function(){return F},set:function(P){if(P<0||P>100)throw new Error("Position must be between 0 and 100.");F=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"positionAlign",r({},d,{get:function(){return w},set:function(P){const K=i(P);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");w=K,this.hasBeenReset=!0}})),Object.defineProperty(h,"size",r({},d,{get:function(){return M},set:function(P){if(P<0||P>100)throw new Error("Size must be between 0 and 100.");M=P,this.hasBeenReset=!0}})),Object.defineProperty(h,"align",r({},d,{get:function(){return O},set:function(P){const K=i(P);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");O=K,this.hasBeenReset=!0}})),h.displayState=void 0}return s.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},s}();class JD{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function Sy(a){function e(n,i,r,s){return(n|0)*3600+(i|0)*60+(r|0)+parseFloat(s||0)}const t=a.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}class eO{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,n){return n?this.has(e)?this.values[e]:t[n]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,n){for(let i=0;i<n.length;++i)if(t===n[i]){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)){const n=parseFloat(t);if(n>=0&&n<=100)return this.set(e,n),!0}return!1}}function xy(a,e,t,n){const i=n?a.split(n):[a];for(const r in i){if(typeof i[r]!="string")continue;const s=i[r].split(t);if(s.length!==2)continue;const o=s[0],l=s[1];e(o,l)}}const uh=new sf(0,0,""),Oo=uh.align==="middle"?"middle":"center";function tO(a,e,t){const n=a;function i(){const o=Sy(a);if(o===null)throw new Error("Malformed timestamp: "+n);return a=a.replace(/^[^\sa-zA-Z-]+/,""),o}function r(o,l){const u=new eO;xy(o,function(g,m){let v;switch(g){case"region":for(let T=t.length-1;T>=0;T--)if(t[T].id===m){u.set(g,t[T].region);break}break;case"vertical":u.alt(g,m,["rl","lr"]);break;case"line":v=m.split(","),u.integer(g,v[0]),u.percent(g,v[0])&&u.set("snapToLines",!1),u.alt(g,v[0],["auto"]),v.length===2&&u.alt("lineAlign",v[1],["start",Oo,"end"]);break;case"position":v=m.split(","),u.percent(g,v[0]),v.length===2&&u.alt("positionAlign",v[1],["start",Oo,"end","line-left","line-right","auto"]);break;case"size":u.percent(g,m);break;case"align":u.alt(g,m,["start",Oo,"end","left","right"]);break}},/:/,/\s/),l.region=u.get("region",null),l.vertical=u.get("vertical","");let h=u.get("line","auto");h==="auto"&&uh.line===-1&&(h=-1),l.line=h,l.lineAlign=u.get("lineAlign","start"),l.snapToLines=u.get("snapToLines",!0),l.size=u.get("size",100),l.align=u.get("align",Oo);let d=u.get("position","auto");d==="auto"&&uh.position===50&&(d=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=d}function s(){a=a.replace(/^\s+/,"")}if(s(),e.startTime=i(),s(),a.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+n);a=a.slice(3),s(),e.endTime=i(),s(),r(a,e)}function by(a){return a.replace(/<br(?: \/)?>/gi,`
289`)}class iO{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new JD,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function n(){let r=t.buffer,s=0;for(r=by(r);s<r.length&&r[s]!=="\r"&&r[s]!==`
290`;)++s;const o=r.slice(0,s);return r[s]==="\r"&&++s,r[s]===`
291`&&++s,t.buffer=r.slice(s),o}function i(r){xy(r,function(s,o){},/:/)}try{let r="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;r=n();const o=r.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let s=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(s?s=!1:r=n(),t.state){case"HEADER":/:/.test(r)?i(r):r||(t.state="ID");continue;case"NOTE":r||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){t.state="NOTE";break}if(!r)continue;if(t.cue=new sf(0,0,""),t.state="CUE",r.indexOf("-->")===-1){t.cue.id=r;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{tO(r,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{const o=r.indexOf("-->")!==-1;if(!r||o&&(s=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
292`),t.cue.text+=r}continue;case"BADCUE":r||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){const e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
293
294`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}}const nO=/\r\n|\n\r|\n|\r/g,Lc=function(e,t,n=0){return e.slice(n,n+t.length)===t},rO=function(e){let t=parseInt(e.slice(-3));const n=parseInt(e.slice(-6,-4)),i=parseInt(e.slice(-9,-7)),r=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!pe(t)||!pe(n)||!pe(i)||!pe(r))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*n,t+=60*1e3*i,t+=60*60*1e3*r,t};function af(a,e,t){return ha(a.toString())+ha(e.toString())+ha(t)}const sO=function(e,t,n){let i=e[t],r=e[i.prevCC];if(!r||!r.new&&i.new){e.ccOffset=e.presentationOffset=i.start,i.new=!1;return}for(;(s=r)!=null&&s.new;){var s;e.ccOffset+=i.start-r.start,i.new=!1,i=r,r=e[i.prevCC]}e.presentationOffset=n};function aO(a,e,t,n,i,r,s){const o=new iO,l=Ui(new Uint8Array(a)).trim().replace(nO,`
295`).split(`
296`),u=[],h=e?fP(e.baseTime,e.timescale):0;let d="00:00.000",g=0,m=0,v,T=!0;o.oncue=function(y){const _=t[n];let x=t.ccOffset;const b=(g-h)/9e4;if(_!=null&&_.new&&(m!==void 0?x=t.ccOffset=_.start:sO(t,n,b)),b){if(!e){v=new Error("Missing initPTS for VTT MPEGTS");return}x=b-t.presentationOffset}const R=y.endTime-y.startTime,A=Di((y.startTime+x-m)*9e4,i*9e4)/9e4;y.startTime=Math.max(A,0),y.endTime=Math.max(A+R,0);const F=y.text.trim();y.text=decodeURIComponent(encodeURIComponent(F)),y.id||(y.id=af(y.startTime,y.endTime,F)),y.endTime>0&&u.push(y)},o.onparsingerror=function(y){v=y},o.onflush=function(){if(v){s(v);return}r(u)},l.forEach(y=>{if(T)if(Lc(y,"X-TIMESTAMP-MAP=")){T=!1,y.slice(16).split(",").forEach(_=>{Lc(_,"LOCAL:")?d=_.slice(6):Lc(_,"MPEGTS:")&&(g=parseInt(_.slice(7)))});try{m=rO(d)/1e3}catch(_){v=_}return}else y===""&&(T=!1);o.parse(y+`
297`)}),o.flush()}const Rc="stpp.ttml.im1t",Iy=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Ay=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oO={left:"start",center:"center",right:"end",start:"start",end:"end"};function Xm(a,e,t,n){const i=et(new Uint8Array(a),["mdat"]);if(i.length===0){n(new Error("Could not parse IMSC1 mdat"));return}const r=i.map(o=>Ui(o)),s=hP(e.baseTime,1,e.timescale);try{r.forEach(o=>t(lO(o,s)))}catch(o){n(o)}}function lO(a,e){const i=new DOMParser().parseFromString(a,"text/xml").getElementsByTagName("tt")[0];if(!i)throw new Error("Invalid ttml");const r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},s=Object.keys(r).reduce((d,g)=>(d[g]=i.getAttribute(`ttp:${g}`)||r[g],d),{}),o=i.getAttribute("xml:space")!=="preserve",l=Qm(kc(i,"styling","style")),u=Qm(kc(i,"layout","region")),h=kc(i,"body","[begin]");return[].map.call(h,d=>{const g=Cy(d,o);if(!g||!d.hasAttribute("begin"))return null;const m=Pc(d.getAttribute("begin"),s),v=Pc(d.getAttribute("dur"),s);let T=Pc(d.getAttribute("end"),s);if(m===null)throw Zm(d);if(T===null){if(v===null)throw Zm(d);T=m+v}const y=new sf(m-e,T-e,g);y.id=af(y.startTime,y.endTime,y.text);const _=u[d.getAttribute("region")],x=l[d.getAttribute("style")],b=uO(_,x,l),{textAlign:R}=b;if(R){const A=oO[R];A&&(y.lineAlign=A),y.align=R}return Et(y,b),y}).filter(d=>d!==null)}function kc(a,e,t){const n=a.getElementsByTagName(e)[0];return n?[].slice.call(n.querySelectorAll(t)):[]}function Qm(a){return a.reduce((e,t)=>
vendor: 1,037 bytes, lines 297-298
297{const n=t.getAttribute("xml:id");return n&&(e[n]=t),e},{})}function Cy(a,e){return[].slice.call(a.childNodes).reduce((t,n,i)=>{var r;return n.nodeName==="br"&&i?t+`
298`:(r=n.childNodes)!=null&&r.length?Cy(n,e):e?t+n.textContent.trim().replace(/\s+/g," "):t+n.textContent},"")}function uO(a,e,t){const n="http://www.w3.org/ns/ttml#styling";let i=null;const r=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],s=a!=null&&a.hasAttribute("style")?a.getAttribute("style"):null;return s&&t.hasOwnProperty(s)&&(i=t[s]),r.reduce((o,l)=>{const u=wc(e,n,l)||wc(a,n,l)||wc(i,n,l);return u&&(o[l]=u),o},{})}function wc(a,e,t){return a&&a.hasAttributeNS(e,t)?a.getAttributeNS(e,t):null}function Zm(a){return new Error(`Could not parse ttml timestamp ${a}`)}function Pc(a,e){if(!a)return null;let t=Sy(a);return t===null&&(Iy.test(a)?t=cO(a,e):Ay.test(a)&&(t=hO(a,e))),t}function cO(a,e){const t=Iy.exec(a),n=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+n/e.frameRate}function hO(a,e){const t=A
vendor: 5,265 bytes, line 298
298y.exec(a),n=Number(t[1]);switch(t[2]){case"h":return n*3600;case"m":return n*60;case"ms":return n*1e3;case"f":return n/e.frameRate;case"t":return n/e.tickRate}return n}class Mo{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(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,n){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=n,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class fO{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=ev(),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}},e.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(S.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(S.FRAG_LOADING,this.onFragLoading,this),e.on(S.FRAG_LOADED,this.onFragLoaded,this),e.on(S.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(S.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(S.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(S.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(S.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(S.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(S.FRAG_LOADING,this.onFragLoading,this),e.off(S.FRAG_LOADED,this.onFragLoaded,this),e.off(S.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(S.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(S.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(S.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(S.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const e=new Mo(this,"textTrack1"),t=new Mo(this,"textTrack2"),n=new Mo(this,"textTrack3"),i=new Mo(this,"textTrack4");this.cea608Parser1=new qm(1,e,t),this.cea608Parser2=new qm(3,n,i)}addCues(e,t,n,i,r){let s=!1;for(let o=r.length;o--;){const l=r[o],u=dO(l[0],l[1],t,n);if(u>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],n),s=!0,u/(n-t)>.5))return}if(s||r.push([t,n]),this.config.renderTextTracksNatively){const o=this.captionsTracks[e];this.Cues.newCue(o,t,n,i)}else{const o=this.Cues.newCue(null,t,n,i);this.hls.trigger(S.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:n,initPTS:i,timescale:r,trackId:s}){const{unparsedVttFrags:o}=this;n===ye.MAIN&&(this.initPTS[t.cc]={baseTime:i,timescale:r,trackId:s}),o.length&&(this.unparsedVttFrags=[],o.forEach(l=>{this.initPTS[l.frag.cc]?this.onFragLoaded(S.FRAG_LOADED,l):this.hls.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:l.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){const{media:n}=this;if(n)for(let i=0;i<n.textTracks.length;i++){const r=n.textTracks[i];if(Jm(r,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return r}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;const{captionsProperties:t,captionsTracks:n,media:i}=this,{label:r,languageCode:s}=t[e],o=this.getExistingTrack(r,s);if(o)n[e]=o,Ts(n[e]),vy(n[e],i);else{const l=this.createTextTrack("captions",r,s);l&&(l[e]=!0,n[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;const t=this.captionsProperties[e];if(!t)return;const n=t.label,i={_id:e,label:n,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(S.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(e,t,n){const i=this.media;if(i)return i.addTextTrack(e,t,n)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){const n=!!t.transferMedia;if(this.media=null,n)return;const{captionsTracks:i}=this;
vendor: 19,683 bytes, line 298
298Object.keys(i).forEach(r=>{Ts(i[r]),delete i[r]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=ev(),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(){const{media:e}=this;if(!e)return;const t=e.textTracks;if(t)for(let n=0;n<t.length;n++)Ts(t[n])}onSubtitleTracksUpdated(e,t){const n=t.subtitleTracks||[],i=n.some(r=>r.textCodec===Rc);if(this.config.enableWebVTT||i&&this.config.enableIMSC1){if(ry(this.tracks,n)){this.tracks=n;return}if(this.textTracks=[],this.tracks=n,this.config.renderTextTracksNatively){const s=this.media,o=s?Yo(s.textTracks):null;if(this.tracks.forEach((l,u)=>{let h;if(o){let d=null;for(let g=0;g<o.length;g++)if(o[g]&&Jm(o[g],l)){d=o[g],o[g]=null;break}d&&(h=d)}if(h)Ts(h);else{const d=Ly(l);h=this.createTextTrack(d,l.name,l.lang),h&&(h.mode="disabled")}h&&this.textTracks.push(h)}),o!=null&&o.length){const l=o.filter(u=>u!==null).map(u=>u.label);l.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const s=this.tracks.map(o=>({label:o.name,kind:o.type.toLowerCase(),default:o.default,subtitleTrack:o}));this.hls.trigger(S.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:s})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(n=>{const i=/(?:CC|SERVICE)([1-4])/.exec(n.instreamId);if(!i)return;const r=`textTrack${i[1]}`,s=this.captionsProperties[r];s&&(s.label=n.name,n.lang&&(s.languageCode=n.lang),s.media=n)})}closedCaptionsForLevel(e){const t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===ye.MAIN){var n,i;const{cea608Parser1:r,cea608Parser2:s,lastSn:o}=this,{cc:l,sn:u}=t.frag,h=(n=(i=t.part)==null?void 0:i.index)!=null?n:-1;r&&s&&(u!==o+1||u===o&&h!==this.lastPartIndex+1||l!==this.lastCc)&&(r.reset(),s.reset()),this.lastCc=l,this.lastSn=u,this.lastPartIndex=h}}onFragLoaded(e,t){const{frag:n,payload:i}=t;if(n.type===ye.SUBTITLE)if(i.byteLength){const r=n.decryptdata,s="stats"in t;if(r==null||!r.encrypted||s){const o=this.tracks[n.level],l=this.vttCCs;l[n.cc]||(l[n.cc]={start:n.start,prevCC:this.prevCC,new:!0},this.prevCC=n.cc),o&&o.textCodec===Rc?this._parseIMSC1(n,i):this._parseVTTs(t)}}else this.hls.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){const n=this.hls;Xm(t,this.initPTS[e.cc],i=>{this._appendCues(i,e.level),n.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},i=>{n.logger.log(`Failed to parse IMSC1: ${i}`),n.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:i})})}_parseVTTs(e){var t;const{frag:n,payload:i}=e,{initPTS:r,unparsedVttFrags:s}=this,o=r.length-1;if(!r[n.cc]&&o===-1){s.push(e);return}const l=this.hls,u=(t=n.initSegment)!=null&&t.data?Zi(n.initSegment.data,new Uint8Array(i)).buffer:i;aO(u,this.initPTS[n.cc],this.vttCCs,n.cc,n.start,h=>{this._appendCues(h,n.level),l.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n})},h=>{const d=h.message==="Missing initPTS for VTT MPEGTS";d?s.push(e):this._fallbackToIMSC1(n,i),l.logger.log(`Failed to parse VTT cue: ${h}`),!(d&&o>n.cc)&&l.trigger(S.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:h})})}_fallbackToIMSC1(e,t){const n=this.tracks[e.level];n.textCodec||Xm(t,this.initPTS[e.cc],()=>{n.textCodec=Rc,this._parseIMSC1(e,t)},()=>{n.textCodec="wvtt"})}_appendCues(e,t){const n=this.hls;if(this.config.renderTextTracksNatively){const i=this.textTracks[t];if(!i||i.mode==="disabled")return;e.forEach(r=>yy(i,r))}else{const i=this.tracks[t];if(!i)return;const r=i.default?"default":"subtitles"+t;n.trigger(S.CUES_PARSED,{type:"subtitles",cues:e,track:r})}}onFragDecrypted(e,t){const{frag:n}=t;n.type===ye.SUBTITLE&&this.onFragLoaded(S.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:n,samples:i}=t;if(!(n.type===ye.MAIN&&this.closedCaptionsForLevel(n)==="NONE"))for(let r=0;r<i.length;r++){const s=i[r].bytes;if(s){this.cea608Parser1||this.initCea608Parsers();const o=this.extractCea608Data(s);this.cea608Parser1.addData(i[r].pts,o[0]),this.cea608Parser2.addData(i[r].pts,o[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:n,endOffsetSubtitles:i,type:r}){const{media:s}=this;if(!(!s||s.currentTime<n)){if(!r||r==="video"){const{captionsTracks:o}=this;Object.keys(o).forEach(l=>lh(o[l],t,n))}if(this.config.renderTextTracksNatively&&t===0&&i!==void 0){const{textTracks:o}=this;Object.keys(o).forEach(l=>lh(o[l],t,i))}}}extractCea608Data(e){const t=[[],[]],n=e[0]&31;let i=2;for(let r=0;r<n;r++){const s=e[i++],o=127&e[i++],l=127&e[i++];if(o===0&&l===0)continue;if((4&s)!==0){const h=3&s;(h===0||h===1)&&(t[h].push(o),t[h].push(l))}}return t}}function Ly(a){return a.characteristics&&/transcribes-spoken-dialog/gi.test(a.characteristics)&&/describes-music-and-sound/gi.test(a.characteristics)?"captions":"subtitles"}function Jm(a,e){return!!a&&a.kind===Ly(e)&&rh(e,a)}function dO(a,e,t,n){return Math.min(e,n)-Math.max(a,t)}function ev(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}const gO=/\s/,pO={newCue(a,e,t,n){const i=[];let r,s,o,l,u;const h=self.VTTCue||self.TextTrackCue;for(let g=0;g<n.rows.length;g++)if(r=n.rows[g],o=!0,l=0,u="",!r.isEmpty()){var d;for(let T=0;T<r.chars.length;T++)gO.test(r.chars[T].uchar)&&o?l++:(u+=r.chars[T].uchar,o=!1);r.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;const m=by(u.trim()),v=af(e,t,m);a!=null&&(d=a.cues)!=null&&d.getCueById(v)||(s=new h(e,t,m),s.id=v,s.line=g+1,s.align="left",s.position=10+Math.min(80,Math.floor(l*8/32)*10),i.push(s))}return a&&i.length&&(i.sort((g,m)=>g.line==="auto"||m.line==="auto"?0:g.line>8&&m.line>8?m.line-g.line:g.line-m.line),i.forEach(g=>yy(a,g))),i}};function mO(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}const vO=/(\d+)-(\d+)\/(\d+)/;class tv{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||_O,this.controller=new self.AbortController,this.stats=new Nh}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(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,n){const i=this.stats;if(i.loading.start)throw new Error("Loader can only be used once.");i.loading.start=self.performance.now();const r=yO(e,this.controller.signal),s=e.responseType==="arraybuffer",o=s?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=n,this.request=this.fetchSetup(e,r),self.clearTimeout(this.requestTimeout),t.timeout=l&&pe(l)?l:u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(i,e,this.response))},t.timeout),(Ta(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(d=>{var g;this.response=this.loader=d;const m=Math.max(self.performance.now(),i.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(i,e,this.response))},u-(m-i.loading.start)),!d.ok){const{status:T,statusText:y}=d;throw new SO(y||"fetch, bad network response",T,d)}i.loading.first=m,i.total=EO(d.headers)||i.total;const v=(g=this.callbacks)==null?void 0:g.onProgress;return v&&pe(t.highWaterMark)?this.loadProgressively(d,i,e,t.highWaterMark,v):s?d.arrayBuffer():e.responseType==="json"?d.json():d.text()}).then(d=>{var g,m;const v=this.response;if(!v)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),i.loading.end=Math.max(self.performance.now(),i.loading.first);const T=d[o];T&&(i.loaded=i.total=T);const y={url:v.url,data:d,code:v.status},_=(g=this.callbacks)==null?void 0:g.onProgress;_&&!pe(t.highWaterMark)&&_(i,e,d,v),(m=this.callbacks)==null||m.onSuccess(y,i,e,v)}).catch(d=>{var g;if(self.clearTimeout(this.requestTimeout),i.aborted)return;const m=d&&d.code||0,v=d?d.message:null;(g=this.callbacks)==null||g.onError({code:m,text:v},e,d?d.details:null,i)})}getCacheAge(){let e=null;if(this.response){const 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,n,i=0,r){const s=new B0,o=e.body.getReader(),l=()=>o.read().then(u=>{if(u.done)return s.dataLength&&r(t,n,s.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));const h=u.value,d=h.length;return t.loaded+=d,d<i||s.dataLength?(s.push(h),s.dataLength>=i&&r(t,n,s.flush().buffer,e)):r(t,n,h.buffer,e),l()}).catch(()=>Promise.reject());return l()}}function yO(a,e){const t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Et({},a.headers))};return a.rangeEnd&&t.headers.set("Range","bytes="+a.rangeStart+"-"+String(a.rangeEnd-1)),t}function TO(a){const e=vO.exec(a);if(e)return parseInt(e[2])-parseInt(e[1])+1}function EO(a){const e=a.get("Content-Range");if(e){const n=TO(e);if(pe(n))return n}const t=a.get("Content-Length");if(t)return parseInt(t)}function _O(a,e){return new self.Request(a.url,e)}class SO extends Error{constructor(e,t,n){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=n}}const xO=/^age:\s*[\d.]+\s*$/im;class Ry{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 Nh,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,n){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=n,this.loadInternal()}loadInternal(){const{config:e,context:t}=this;if(!e||!t)return;const n=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;const r=this.xhrSetup;r?Promise.resolve().then(()=>{if(!(this.loader!==n||this.stats.aborted))return r(n,t.url)}).catch(s=>{if(!(this.loader!==n||this.stats.aborted))return n.open("GET",t.url,!0),r(n,t.url)}).then(()=>{this.loader!==n||this.stats.aborted||this.openAndSendXhr(n,t,e)}).catch(s=>{var o;(o=this.callbacks)==null||o.onError({code:n.status,text:s.message},t,n,i)}):this.openAndSendXhr(n,t,e)}openAndSendXhr(e,t,n){e.readyState||e.open("GET",t.url,!0);const i=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:s}=n.loadPolicy;if(i)for(const o in i)e.setRequestHeader(o,i[o]);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),n.timeout=r&&pe(r)?r:s,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.timeout),e.send()}readystatechange(){const{context:e,loader:t,stats:n}=this;if(!e||!t)return;const i=t.readyState,r=this.config;if(!n.aborted&&i>=2&&(n.loading.first===0&&(n.loading.first=Math.max(self.performance.now(),n.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(n.loading.first-n.loading.start)))),i===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const u=t.status,h=t.responseType==="text"?t.responseText:null;if(u>=200&&u<300){const v=h??t.response;if(v!=null){var s,o;n.loading.end=Math.max(self.performance.now(),n.loading.first);const T=t.responseType==="arraybuffer"?v.byteLength:v.length;n.loaded=n.total=T,n.bwEstimate=n.total*8e3/(n.loading.end-n.loading.first);const y=(s=this.callbacks)==null?void 0:s.onProgress;y&&y(n,e,v,t);const _={url:t.responseURL,data:v,code:u};(o=this.callbacks)==null||o.onSuccess(_,n,e,t);return}}const d=r.loadPolicy.errorRetry,g=n.retry,m={url:e.url,data:void 0,code:u};if(hl(d,g,!1,m))this.retry(d);else{var l;yt.error(`${u} while loading ${e.url}`),(l=this.callbacks)==null||l.onError({code:u,text:t.statusText},e,t,n)}}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(hl(e,t,!0))this.retry(e);else{var n;yt.warn(`timeout while loading ${(n=this.context)==null?void 0:n.url}`);const i=this.callbacks;i&&(this.abortInternal(),i.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:t,stats:n}=this;this.retryDelay=Gh(e,n.retry),n.retry++,yt.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${n.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){const t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&xO.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const bO={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},IO=vt(vt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,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:Ry,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Nk,bufferController:CP,capLevelController:tf,errorController:Hk,fpsController:LD,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:C0,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:bO},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},AO()),{},{subtitleStreamController:$D,subtitleTrackController:wD,timelineController:fO,audioStreamController:xP,audioTrackController:bP,emeController:xs,cmcdController:bD,contentSteeringController:AD,interstitialsController:UD});function AO(){return{cueHandler:pO,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function CO(a,e,t){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const n=ch(a),i=["manifest","level","frag"],r=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];
vendor: 24,415 bytes, line 298
298return i.forEach(s=>{const o=`${s==="level"?"playlist":s}LoadPolicy`,l=e[o]===void 0,u=[];r.forEach(h=>{const d=`${s}Loading${h}`,g=e[d];if(g!==void 0&&l){u.push(d);const m=n[o].default;switch(e[o]={default:m},h){case"TimeOut":m.maxLoadTimeMs=g,m.maxTimeToFirstByteMs=g;break;case"MaxRetry":m.errorRetry.maxNumRetry=g,m.timeoutRetry.maxNumRetry=g;break;case"RetryDelay":m.errorRetry.retryDelayMs=g,m.timeoutRetry.retryDelayMs=g;break;case"MaxRetryTimeout":m.errorRetry.maxRetryDelayMs=g,m.timeoutRetry.maxRetryDelayMs=g;break}}}),u.length&&t.warn(`hls.js config: "${u.join('", "')}" setting(s) are deprecated, use "${o}": ${It(e[o])}`)}),vt(vt({},n),e)}function ch(a){return a&&typeof a=="object"?Array.isArray(a)?a.map(ch):Object.keys(a).reduce((e,t)=>(e[t]=ch(a[t]),e),{}):a}function LO(a,e){const t=a.loader;t!==tv&&t!==Ry?(e.log("[config]: Custom loader detected, cannot enable progressive streaming"),a.progressive=!1):mO()&&(a.loader=tv,a.progressive=!0,a.enableSoftwareAES=!0,e.log("[config]: Progressive streaming enabled, using FetchLoader"))}const zo=2,RO=.1,kO=.05,wO=100;class PO extends S0{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 n;(n=this.media)!=null&&n.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var n;this.ended=((n=this.media)==null?void 0:n.currentTime)||1,this.hls.trigger(S.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){const{hls:e}=this;e&&(e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.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(wO),this.mediaSource=t.mediaSource;const n=this.media=t.media;gi(n,"playing",this.onMediaPlaying),gi(n,"waiting",this.onMediaWaiting),gi(n,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();const{media:n}=this;n&&(xi(n,"playing",this.onMediaPlaying),xi(n,"waiting",this.onMediaWaiting),xi(n,"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(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;const t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var n,i;const r=(n=this.hls)==null?void 0:n.config;if(!r)return;const s=this.media;if(!s)return;const{seeking:o}=s,l=this.seeking&&!o,u=!this.seeking&&o,h=s.paused&&!o||s.ended||s.playbackRate===0;if(this.seeking=o,e!==t){t&&(this.ended=0),this.moved=!0,o||(this.nudgeRetry=0,r.nudgeOnVideoHole&&!h&&e>t&&this.nudgeOnVideoHole(e,t)),this.waiting===0&&this.stallResolved(e);return}if(u||l){l&&this.stallResolved(e);return}if(h){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&s.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(S.MEDIA_ENDED,{stalled:!1}));return}if(!Ve.getBuffered(s).length){this.nudgeRetry=0;return}const d=Ve.bufferInfo(s,e,0),g=d.nextStart||0,m=this.fragmentTracker;if(o&&m&&this.hls){const F=iv(this.hls.inFlightFragments,e),w=d.len>zo,M=!g||F||g-e>zo&&!m.getPartialFragment(e);if(w||M)return;this.moved=!1}const v=(i=this.hls)==null?void 0:i.latestLevelDetails;if(!this.moved&&this.stalled!==null&&m){if(!(d.len>0)&&!g)return;const w=Math.max(g,d.start||0)-e,O=!!(v!=null&&v.live)?v.targetduration*2:zo,P=Fo(e,m);if(w>0&&(w<=O||P)){s.paused||this._trySkipBufferHole(P);return}}const T=r.detectStallWithCurrentTimeMs,y=self.performance.now(),_=this.waiting;let x=this.stalled;if(x===null)if(_>0&&y-_<T)x=this.stalled=_;else{this.stalled=y;return}const b=y-x;if(!o&&(b>=T||_)&&this.hls){var R;if(((R=this.mediaSource)==null?void 0:R.readyState)==="ended"&&!(v!=null&&v.live)&&Math.abs(e-((v==null?void 0:v.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(S.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(d),!this.media||!this.hls)return}const A=Ve.bufferInfo(s,e,r.maxBufferHole);this._tryFixBufferStall(A,b,e)}stallResolved(e){const t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){const n=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(n)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(S.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var n;const i=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(n=this.buffered.audio)!=null&&n.length&&i&&i.length>1&&e>i.end(0)){const r=Ve.bufferedInfo(Ve.timeRangesToArray(this.buffered.audio),e,0);if(r.len>1&&t>=r.start){const s=Ve.timeRangesToArray(i),o=Ve.bufferedInfo(s,t,0).bufferedIndex;if(o>-1&&o<s.length-1){const l=Ve.bufferedInfo(s,e,0).bufferedIndex,u=s[o].end,h=s[o+1].start;if((l===-1||l>o)&&h-u<1&&e-u<2){const d=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${u} -> ${h} buffered index: ${l}`);this.warn(d.message),this.media.currentTime+=1e-6;let g=Fo(e,this.fragmentTracker);g&&"fragment"in g?g=g.fragment:g||(g=void 0);const m=Ve.bufferInfo(this.media,e,0);this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:d,reason:d.message,frag:g,buffer:m.len,bufferInfo:m})}}}}}_tryFixBufferStall(e,t,n){var i,r;const{fragmentTracker:s,media:o}=this,l=(i=this.hls)==null?void 0:i.config;if(!o||!s||!l)return;const u=(r=this.hls)==null?void 0:r.latestLevelDetails,h=Fo(n,s);if((h||u!=null&&u.live&&n<u.fragmentStart)&&(this._trySkipBufferHole(h)||!this.media))return;const d=e.buffered,g=this.adjacentTraversal(e,n);(d&&d.length>1&&e.len>l.maxBufferHole||e.nextStart&&(e.nextStart-n<l.maxBufferHole||g))&&(t>l.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){const n=this.fragmentTracker,i=e.nextStart;if(n&&i){const r=n.getFragAtPos(t,ye.MAIN),s=n.getFragAtPos(i,ye.MAIN);if(r&&s)return s.sn-r.sn<2}return!1}_reportStall(e){const{hls:t,media:n,stallReported:i,stalled:r}=this;if(!i&&r!==null&&n&&t){this.stallReported=!0;const s=new Error(`Playback stalling at @${n.currentTime} due to low buffer (${It(e)})`);this.warn(s.message),t.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_STALLED_ERROR,fatal:!1,error:s,buffer:e.len,bufferInfo:e,stalled:{start:r}})}}_trySkipBufferHole(e){var t;const{fragmentTracker:n,media:i}=this,r=(t=this.hls)==null?void 0:t.config;if(!i||!n||!r)return 0;const s=i.currentTime,o=Ve.bufferInfo(i,s,0),l=s<o.start?o.start:o.nextStart;if(l&&this.hls){const h=o.len<=r.maxBufferHole,d=o.len>0&&o.len<1&&i.readyState<3,g=l-s;if(g>0&&(h||d)){if(g>r.maxBufferHole){let v=!1;if(s===0){const T=n.getAppendedFrag(0,ye.MAIN);T&&l<T.end&&(v=!0)}if(!v&&e){var u;if(!((u=this.hls.loadLevelObj)!=null&&u.details)||iv(this.hls.inFlightFragments,l))return 0;let y=!1,_=e.end;for(;_<l;){const x=Fo(_,n);if(x)_+=x.duration;else{y=!0;break}}if(y)return 0}}const m=Math.max(l+kO,s+RO);if(this.warn(`skipping hole, adjusting currentTime from ${s} to ${m}`),this.moved=!0,i.currentTime=m,!(e!=null&&e.gap)){const v=new Error(`fragment loaded with buffer holes, seeking from ${s} to ${m}`),T={type:Se.MEDIA_ERROR,details:V.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:v,reason:v.message,buffer:o.len,bufferInfo:o};e&&("fragment"in e?T.part=e:T.frag=e),this.hls.trigger(S.ERROR,T)}return m}}return 0}_tryNudgeBuffer(e){const{hls:t,media:n,nudgeRetry:i}=this,r=t==null?void 0:t.config;if(!n||!r)return 0;const s=n.currentTime;if(this.nudgeRetry++,i<r.nudgeMaxRetry){const o=s+(i+1)*r.nudgeOffset,l=new Error(`Nudging 'currentTime' from ${s} to ${o}`);this.warn(l.message),n.currentTime=o,t.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_NUDGE_ON_STALL,error:l,fatal:!1,buffer:e.len,bufferInfo:e})}else{const o=new Error(`Playhead still not moving while enough data buffered @${s} after ${r.nudgeMaxRetry} nudges`);this.error(o.message),t.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.BUFFER_STALLED_ERROR,error:o,fatal:!0,buffer:e.len,bufferInfo:e})}}}function iv(a,e){const t=nv(a.main);if(t&&t.start<=e)return t;const n=nv(a.audio);return n&&n.start<=e?n:null}function nv(a){if(!a)return null;switch(a.state){case Z.IDLE:case Z.STOPPED:case Z.ENDED:case Z.ERROR:return null}return a.frag}function Fo(a,e){return e.getAppendedFrag(a,ye.MAIN)||e.getPartialFragment(a)}const DO=.25;function hh(){if(!(typeof self>"u"))return self.VTTCue||self.TextTrackCue}function Dc(a,e,t,n,i){let r=new a(e,t,"");try{r.value=n,i&&(r.type=i)}catch{r=new a(e,t,It(i?vt({type:i},n):n))}return r}const No=(()=>{const a=hh();try{a&&new a(0,Number.POSITIVE_INFINITY,"")}catch{return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class OO{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(S.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(){const{hls:e}=this;e&&(e.on(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(S.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){const{hls:e}=this;e&&(e.off(S.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(S.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(S.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var n;this.media=t.media,((n=t.overrides)==null?void 0:n.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;const t=(e=this.hls)==null?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&Ts(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){const n=e[t];if(n.kind==="metadata"&&n.label==="id3")return vy(n,this.media),n}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;const{enableEmsgMetadataCues:n,enableID3MetadataCues:i}=this.hls.config;if(!n&&!i)return;const{samples:r}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));const s=hh();if(s)for(let o=0;o<r.length;o++){const l=r[o].type;if(l===Mi.emsg&&!n||!i)continue;const u=W0(r[o].data),h=r[o].pts;let d=h+r[o].duration;d>No&&(d=No),d-h<=0&&(d=h+DO);for(let m=0;m<u.length;m++){const v=u[m];if(!Y0(v)){this.updateId3CueEnds(h,l);const T=Dc(s,h,d,v,l);T&&this.id3Track.addCue(T)}}}}updateId3CueEnds(e,t){var n;const i=(n=this.id3Track)==null?void 0:n.cues;if(i)for(let r=i.length;r--;){const s=i[r];s.type===t&&s.startTime<e&&s.endTime===No&&(s.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:n,type:i}){const{id3Track:r,hls:s}=this;if(!s)return;const{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:l}}=s;if(r&&(o||l)){let u;i==="audio"?u=h=>h.type===Mi.audioId3&&l:i==="video"?u=h=>h.type===Mi.emsg&&o:u=h=>h.type===Mi.audioId3&&l||h.type===Mi.emsg&&o,lh(r,t,n,u)}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){if(!this.hls||!this.media)return;const{assetPlayerId:n,timelineOffset:i,enableDateRangeMetadataCues:r,interstitialsController:s}=this.hls.config;if(!r)return;const o=hh();if(n&&i&&!s){const{fragmentStart:T,fragmentEnd:y}=e;let _=this.assetCue;_?(_.startTime=T,_.endTime=y):o&&(_=this.assetCue=Dc(o,T,y,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),_&&(_.id=n,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(_),_.addEventListener("enter",this.onEventCueEnter)))}if(!e.hasProgramDateTime)return;const{id3Track:l}=this,{dateRanges:u}=e,h=Object.keys(u);let d=this.dateRangeCuesAppended;if(l&&t){var g;if((g=l.cues)!=null&&g.length){const T=Object.keys(d).filter(y=>!h.includes(y));for(let y=T.length;y--;){var m;const _=T[y],x=(m=d[_])==null?void 0:m.cues;delete d[_],x&&Object.keys(x).forEach(b=>{const R=x[b];if(R){R.removeEventListener("enter",this.onEventCueEnter);try{l.removeCue(R)}catch{}}})}}else d=this.dateRangeCuesAppended={}}const v=e.fragments[e.fragments.length-1];if(!(h.length===0||!pe(v==null?void 0:v.programDateTime))){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let T=0;T<h.length;T++){const y=h[T],_=u[y],x=_.startTime,b=d[y],R=(b==null?void 0:b.cues)||{};let A=(b==null?void 0:b.durationKnown)||!1,F=No;const{duration:w,endDate:M}=_;if(M&&w!==null)F=x+w,A=!0;else if(_.endOnNext&&!A){const P=h.reduce((K,ee)=>{if(ee!==_.id){const le=u[ee];if(le.class===_.class&&le.startDate>_.startDate&&(!K||_.startDate<K.startDate))return le}return K},null);P&&(F=P.startTime,A=!0)}const O=Object.keys(_.attr);for(let P=0;P<O.length;P++){const K=O[P];if(!tw(K))continue;const ee=R[K];if(ee)A&&!(b!=null&&b.durationKnown)?ee.endTime=F:Math.abs(ee.startTime-x)>.01&&(ee.startTime=x,ee.endTime=F);else if(o){let le=_.attr[K];iw(K)&&(le=i0(le));const q=Dc(o,x,F,{key:K,data:le},Mi.dateRange);q&&(q.id=y,this.id3Track.addCue(q),R[K]=q,s&&(K==="X-ASSET-LIST"||K==="X-ASSET-URL")&&q.addEventListener("enter",this.onEventCueEnter))}}d[y]={cues:R,dateRange:_,durationKnown:A}}}}}class MO{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=()=>{const{media:t}=this,n=this.levelDetails;if(!t||!n)return;this.currentTime=t.currentTime;const i=this.computeLatency();if(i===null)return;this._latency=i;const{lowLatencyMode:r,maxLiveSyncPlaybackRate:s}=this.config;if(!r||s===1||!n.live)return;const o=this.targetLatency;if(o===null)return;const l=i-o,u=Math.min(this.maxLatency,o+n.targetduration);if(l<u&&l>.05&&this.forwardBufferLength>1){const d=Math.min(2,Math.max(1,s)),g=Math.round(2/(1+Math.exp(-.75*l-this.edgeStalled))*20)/20,m=Math.min(d,Math.max(1,g));this.changeMediaPlaybackRate(t,m)}else t.playbackRate!==1&&t.playbackRate!==0&&this.changeMediaPlaybackRate(t,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:e}=this;if(e.liveMaxLatencyDuration!==void 0)return e.liveMaxLatencyDuration;const t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const e=this.levelDetails;if(e===null||this.hls===null)return null;const{holdBack:t,partHoldBack:n,targetduration:i}=e,{liveSyncDuration:r,liveSyncDurationCount:s,lowLatencyMode:o}=this.config,l=this.hls.userConfig;let u=o&&n||t;(this._targetLatencyUpdated||l.liveSyncDuration||l.liveSyncDurationCount||u===0)&&(u=r!==void 0?r:s*i);const h=i;return u+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,h)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){const e=this.estimateLiveEdge(),t=this.targetLatency;if(e===null||t===null)return null;const n=this.levelDetails;if(n===null)return null;const i=n.edge,r=e-t-this.edgeStalled,s=i-n.totalduration,o=i-(this.config.lowLatencyMode&&n.partTarget||n.targetduration);return Math.min(Math.max(s,r),o)}get drift(){const e=this.levelDetails;return e===null?1:e.drift}get edgeStalled(){const e=this.levelDetails;if(e===null)return 0;const t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){const{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;const n=e.buffered.length;return(n?e.buffered.end(n-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:e}=this;e&&(e.on(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(S.ERROR,this.onError,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(S.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(S.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(S.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 n;t.details===V.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(n=this.levelDetails)!=null&&n.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var n,i;e.playbackRate!==t&&((n=this.hls)==null||n.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(i=this.targetLatency)==null?void 0:i.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){const e=this.levelDetails;return e===null?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}}class FO extends ef{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(){const{hls:e}=this;e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(S.LEVEL_LOADED,this.onLevelLoaded,this),e.on(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(S.FRAG_BUFFERED,this.onFragBuffered,this),e.on(S.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(S.LEVEL_LOADED,this.onLevelLoaded,this),e.off(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(S.FRAG_BUFFERED,this.onFragBuffered,this),e.off(S.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.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){const n=this.hls.config.preferManagedMediaSource,i=[],r={},s={};let o=!1,l=!1,u=!1;t.levels.forEach(h=>{const d=h.attrs;let{audioCodec:g,videoCodec:m}=h;g&&(h.audioCodec=g=ol(g,n)||void 0),m&&(m=h.videoCodec=yk(m));const{width:v,height:T,unknownCodecs:y}=h,_=(y==null?void 0:y.length)||0;if(o||(o=!!(v&&T)),l||(l=!!m),u||(u=!!g),_||g&&!this.isAudioSupported(g)||m&&!this.isVideoSupported(m)){this.log(`Some or all CODECS not supported "${d.CODECS}"`);return}const{CODECS:x,"FRAME-RATE":b,"HDCP-LEVEL":R,"PATHWAY-ID":A,RESOLUTION:F,"VIDEO-RANGE":w}=d,O=`${`${A||"."}-`}${h.bitrate}-${F}-${b}-${x}-${w}-${R}`;if(r[O])if(r[O].uri!==h.url&&!h.attrs["PATHWAY-ID"]){const P=s[O]+=1;h.attrs["PATHWAY-ID"]=new Array(P+1).join(".");const K=this.createLevel(h);r[O]=K,i.push(K)}else r[O].addGroupId("audio",d.AUDIO),r[O].addGroupId("text",d.SUBTITLES);else{const P=this.createLevel(h);r[O]=P,s[O]=1,i.push(P)}}),this.filterAndSortMediaOptions(i,t,o,l,u)}createLevel(e){const t=new ma(e),n=e.supplemental;if(n!=null&&n.videoCodec&&!this.isVideoSupported(n.videoCodec)){const i=new Error(`SUPPLEMENTAL-CODECS not supported "${n.videoCodec}"`);this.log(i.message),t.supportedResult=g0(i,[])}return t}isAudioSupported(e){return ga(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return ga(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,n,i,r){var s;let o=[],l=[],u=e;const h=((s=t.stats)==null?void 0:s.parsing)||{};if((n||i)&&r&&(u=u.filter(({videoCodec:x,videoRange:b,width:R,height:A})=>(!!x||!!(R&&A))&&Lk(b))),u.length===0){Promise.resolve().then(()=>{if(this.hls){let x="no level with compatible codecs found in manifest",b=x;t.levels.length&&(b=`one or more CODECS in variant not supported: ${It(t.levels.map(A=>A.attrs.CODECS).filter((A,F,w)=>w.indexOf(A)===F))}`,this.warn(b),x+=` (${b})`);const R=new Error(x);this.hls.trigger(S.ERROR,{type:Se.MEDIA_ERROR,details:V.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:R,reason:b})}}),h.end=performance.now();return}t.audioTracks&&(o=t.audioTracks.filter(x=>!x.audioCodec||this.isAudioSupported(x.audioCodec)),rv(o)),t.subtitles&&(l=t.subtitles,rv(l));const d=u.slice(0);u.sort((x,b)=>{if(x.attrs["HDCP-LEVEL"]!==b.attrs["HDCP-LEVEL"])return(x.attrs["HDCP-LEVEL"]||"")>(b.attrs["HDCP-LEVEL"]||"")?1:-1;if(n&&x.height!==b.height)return x.height-b.height;if(x.frameRate!==b.frameRate)return x.frameRate-b.frameRate;if(x.videoRange!==b.videoRange)return ll.indexOf(x.videoRange)-ll.indexOf(b.videoRange);if(x.videoCodec!==b.videoCodec){const R=qp(x.videoCodec),A=qp(b.videoCodec);if(R!==A)return A-R}if(x.uri===b.uri&&x.codecSet!==b.codecSet){const R=al(x.codecSet),A=al(b.codecSet);if(R!==A)return A-R}return x.averageBitrate!==b.averageBitrate?x.averageBitrate-b.averageBitrate:0});let g=d[0];if(this.steering&&(u=this.steering.filterParsedLevels(u),u.length!==d.length)){for(let x=0;x<d.length;x++)if(d[x].pathwayId===u[0].pathwayId){g=d[x];break}}this._levels=u;for(let x=0;x<u.length;x++)if(u[x]===g){var m;this._firstLevel=x;const b=g.bitrate,R=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${u.length} level(s) found, first bitrate: ${b}`),((m=this.hls.userConfig)==null?void 0:m.abrEwmaDefaultEstimate)===void 0){const A=Math.min(b,this.hls.config.abrEwmaDefaultEstimateMax);A>R&&R===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=A)}break}const v=r&&!i,T=this.hls.config,y=!!(T.audioStreamController&&T.audioTrackController),_={levels:u,audioTracks:o,subtitleTracks:l,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:i,altAudio:y&&!v&&o.some(x=>!!x.url)};h.end=performance.now(),this.hls.trigger(S.MANIFEST_PARSED,_)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){const t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){const h=new Error("invalid level idx"),d=e<0;if(this.hls.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.LEVEL_SWITCH_ERROR,level:e,fatal:d,error:h,reason:h.message}),d)return;e=Math.min(e,t.length-1)}const n=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,s=t[e],o=s.attrs["PATHWAY-ID"];
vendor: 4,514 bytes, line 298
298if(this.currentLevelIndex=e,this.currentLevel=s,n===e&&i&&r===o)return;this.log(`Switching to level ${e} (${s.height?s.height+"p ":""}${s.videoRange?s.videoRange+" ":""}${s.codecSet?s.codecSet+" ":""}@${s.bitrate})${o?" with Pathway "+o:""} from level ${n}${r?" with Pathway "+r:""}`);const l={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(S.LEVEL_SWITCHING,l);const u=s.details;if(!u||u.live){const h=this.switchParams(s.uri,i==null?void 0:i.details,u);this.loadPlaylist(h)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){const e=this.hls.config.startLevel;return e!==void 0?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){const t=this.steering.pathways(),n=e.filter(i=>t.indexOf(i)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);return}this.steering.pathwayPriority=n}}onError(e,t){t.fatal||!t.context||t.context.type===tt.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===ye.MAIN){const n=t.elementaryStreams;if(!Object.keys(n).some(r=>!!n[r]))return;const i=this._levels[t.level];i!=null&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var n;const{level:i,details:r}=t,s=t.levelInfo;if(!s){var o;this.warn(`Invalid level index ${i}`),(o=t.deliveryDirectives)!=null&&o.skip&&(r.deltaUpdateFailed=!0);return}if(s===this.currentLevel||t.withoutMultiVariant){s.fragmentError===0&&(s.loadError=0);let l=s.details;l===t.details&&l.advanced&&(l=void 0),this.playlistLoaded(i,t,l)}else(n=t.deliveryDirectives)!=null&&n.skip&&(r.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const n=this.getUrlWithDirectives(e.uri,t),i=this.currentLevelIndex,r=e.attrs["PATHWAY-ID"],s=e.details,o=s==null?void 0:s.age;this.log(`Loading level index ${i}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${r?" Pathway "+r:""}${o&&s.live?" age "+o.toFixed(1)+(s.type&&" "+s.type||""):""} ${n}`),this.hls.trigger(S.LEVEL_LOADING,{url:n,level:i,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(this._levels.length===1)return;const n=this._levels.filter((r,s)=>s!==e?!0:(this.steering&&this.steering.removeLevel(r),r===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,r.details&&r.details.fragments.forEach(o=>o.level=-1)),!1));M0(n),this._levels=n,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const i=n.length-1;this._firstLevel=Math.min(this._firstLevel,i),this._startLevel&&(this._startLevel=Math.min(this._startLevel,i)),this.hls.trigger(S.LEVELS_UPDATED,{levels:n})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:n}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(S.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:n}))}}function rv(a){const e={};a.forEach(t=>{const n=t.groupId||"";t.id=e[n]=e[n]||0,e[n]++})}function ky(){return self.SourceBuffer||self.WebKitSourceBuffer}
vendor: 42,025 bytes, line 298
298function wy(){if(!gr())return!1;const e=ky();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function NO(){if(!wy())return!1;const a=gr();return typeof(a==null?void 0:a.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>a.isTypeSupported(pa(e,"video")))||["mp4a.40.2","fLaC"].some(e=>a.isTypeSupported(pa(e,"audio"))))}function BO(){var a;const e=ky();return typeof(e==null||(a=e.prototype)==null?void 0:a.changeType)=="function"}const UO=100;class $O extends Yh{constructor(e,t,n){super(e,t,n,"stream-controller",ye.MAIN),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=()=>{const i=this.media,r=i?i.currentTime:null;if(r===null||!pe(r)||(this.log(`Media seeked to ${r.toFixed(3)}`),!this.getBufferedFrag(r)))return;const s=this.getFwdBufferInfoAtPos(i,r,ye.MAIN,0);if(s===null||s.len===0){this.warn(`Main forward buffer length at ${r} on "seeked" event ${s?s.len:"empty"})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(S.MANIFEST_PARSED,this.onManifestParsed,this),e.on(S.LEVEL_LOADING,this.onLevelLoading,this),e.on(S.LEVEL_LOADED,this.onLevelLoaded,this),e.on(S.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(S.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(S.BUFFER_CREATED,this.onBufferCreated,this),e.on(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(S.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(S.MANIFEST_PARSED,this.onManifestParsed,this),e.off(S.LEVEL_LOADED,this.onLevelLoaded,this),e.off(S.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(S.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(S.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(S.BUFFER_CREATED,this.onBufferCreated,this),e.off(S.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(S.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(S.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){const{lastCurrentTime:n,hls:i}=this;if(this.stopLoad(),this.setInterval(UO),this.level=-1,!this.startFragRequested){let r=i.startLevel;r===-1&&(i.config.testBandwidth&&this.levels.length>1?(r=0,this.bitrateTest=!0):r=i.firstAutoLevel),i.nextLoadLevel=r,this.level=i.loadLevel,this._hasEnoughToStart=!!t}n>0&&e===-1&&!t&&(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n),this.state=Z.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=Z.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Z.WAITING_LEVEL:{const{levels:e,level:t}=this,n=e==null?void 0:e[t],i=n==null?void 0:n.details;if(i&&(!i.live||this.levelLastLoaded===n&&!this.waitForLive(n))){if(this.waitForCdnTuneIn(i))break;this.state=Z.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Z.IDLE;break}break}case Z.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}this.state===Z.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:t,levels:n,media:i}=this;if(t===null||!i&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const r=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(n!=null&&n[r]))return;const s=n[r],o=this.getMainFwdBufferInfo();if(o===null)return;const l=this.getLevelDetails();if(l&&this._streamEnded(o,l)){const T={};this.altAudio===2&&(T.type="video"),this.hls.trigger(S.BUFFER_EOS,T),this.state=Z.ENDED;return}if(!this.buffering)return;e.loadLevel!==r&&e.manualLevel===-1&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=e.nextLoadLevel=r;const u=s.details;if(!u||this.state===Z.WAITING_LEVEL||this.waitForLive(s)){this.level=r,this.state=Z.WAITING_LEVEL,this.startFragRequested=!1;return}const h=o.len,d=this.getMaxBufferLength(s.maxBitrate);if(h>=d)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);const g=this.backtrackFragment?this.backtrackFragment.start:o.end;let m=this.getNextFragment(g,u);if(this.couldBacktrack&&!this.fragPrevious&&m&&Vt(m)&&this.fragmentTracker.getState(m)!==qt.OK){var v;const y=((v=this.backtrackFragment)!=null?v:m).sn-u.startSN,_=u.fragments[y-1];_&&m.cc===_.cc&&(m=_,this.fragmentTracker.removeFragment(_))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(m&&this.isLoopLoading(m,g)){if(!m.gap){const y=this.audioOnly&&!this.altAudio?xt.AUDIO:xt.VIDEO,_=(y===xt.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;_&&this.afterBufferFlushed(_,y,ye.MAIN)}m=this.getNextFragmentLoopLoading(m,u,o,ye.MAIN,d)}m&&(this.exceedsMaxBuffer(o,d,m)||(m.initSegment&&!m.initSegment.data&&!this.bitrateTest&&(m=m.initSegment),this.loadFragment(m,s,g)))}loadFragment(e,t,n){const i=this.fragmentTracker.getState(e);i===qt.NOT_LOADED||i===qt.PARTIAL?Vt(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,n):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,ye.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),this.altAudio!==0){var e;(((e=this.getLevelDetails())==null?void 0:e.fragmentStart)||0)>this.lastCurrentTime&&super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")}}nextLevelSwitch(){const{levels:e,media:t}=this;if(t!=null&&t.readyState){let n;const i=this.getAppendedFrag(t.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);const r=this.getLevelDetails();if(r!=null&&r.live){const o=this.getMainFwdBufferInfo();if(!o||o.len<r.targetduration*2)return}if(!t.paused&&e){const o=this.hls.nextLoadLevel,l=e[o],u=this.fragLastKbps;u&&this.fragCurrent?n=this.fragCurrent.duration*l.maxBitrate/(1e3*u)+1:n=0}else n=0;const s=this.getBufferedFrag(t.currentTime+n);if(s){const o=this.followingBufferedFrag(s);if(o){this.abortCurrentFrag();const l=o.maxStartPTS?o.maxStartPTS:o.start,u=o.duration,h=Math.max(s.end,l+Math.min(Math.max(u-this.config.maxFragLookUpTolerance,u*(this.couldBacktrack?.5:.125)),u*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(h,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Z.KEY_LOADING:case Z.FRAG_LOADING:case Z.FRAG_LOADING_WAITING_RETRY:case Z.PARSING:case Z.PARSED:this.state=Z.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio===2?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);const n=t.media;gi(n,"playing",this.onMediaPlaying),gi(n,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){const{media:n}=this;n&&(xi(n,"playing",this.onMediaPlaying),xi(n,"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(S.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){let n=!1,i=!1;for(let r=0;r<t.levels.length;r++){const s=t.levels[r].audioCodec;s&&(n=n||s.indexOf("mp4a.40.2")!==-1,i=i||s.indexOf("mp4a.40.5")!==-1)}this.audioCodecSwitch=n&&i&&!BO(),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){const{levels:n}=this;if(!n||this.state!==Z.IDLE)return;const i=t.levelInfo;(!i.details||i.details.live&&(this.levelLastLoaded!==i||i.details.expired)||this.waitForCdnTuneIn(i.details))&&(this.state=Z.WAITING_LEVEL)}onLevelLoaded(e,t){var n;const{levels:i,startFragRequested:r}=this,s=t.level,o=t.details,l=o.totalduration;if(!i){this.warn(`Levels were reset while loading level ${s}`);return}this.log(`Level ${s} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${l}`);const u=t.levelInfo,h=this.fragCurrent;h&&(this.state===Z.FRAG_LOADING||this.state===Z.FRAG_LOADING_WAITING_RETRY)&&h.level!==t.level&&h.loader&&this.abortCurrentFrag();let d=0;if(o.live||(n=u.details)!=null&&n.live){var g;if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;d=this.alignPlaylists(o,u.details,(g=this.levelLastLoaded)==null?void 0:g.details)}if(u.details=o,this.levelLastLoaded=u,r||this.setStartPosition(o,d),this.hls.trigger(S.LEVEL_UPDATED,{details:o,level:s}),this.state===Z.WAITING_LEVEL){if(this.waitForCdnTuneIn(o))return;this.state=Z.IDLE}r&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}synchronizeToLiveEdge(e){const{config:t,media:n}=this;if(!n)return;const i=this.hls.liveSyncPosition,r=this.getLoadPosition(),s=e.fragmentStart,o=e.edge,l=r>=s-t.maxFragLookUpTolerance&&r<=o;if(i!==null&&n.duration>i&&(r<i||!l)){const h=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!l&&n.readyState<4||r<o-h)&&(this._hasEnoughToStart||(this.nextLoadPosition=i),n.readyState))if(this.warn(`Playback: ${r.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${i.toFixed(3)}`),this.config.liveSyncMode==="buffered"){var u;const d=Ve.bufferInfo(n,i,0);if(!((u=d.buffered)!=null&&u.length)){n.currentTime=i;return}if(d.start<=r){n.currentTime=i;return}const{nextStart:m}=Ve.bufferedInfo(d.buffered,r,0);m&&(n.currentTime=m)}else n.currentTime=i}}_handleFragmentLoadProgress(e){var t;const n=e.frag,{part:i,payload:r}=e,{levels:s}=this;if(!s){this.warn(`Levels were reset while fragment load was in progress. Fragment ${n.sn} of level ${n.level} will not be buffered`);return}const o=s[n.level];if(!o){this.warn(`Level ${n.level} not found on progress`);return}const l=o.details;if(!l){this.warn(`Dropping fragment ${n.sn} of level ${n.level} after level details were reset`),this.fragmentTracker.removeFragment(n);return}const u=o.videoCodec,h=l.PTSKnown||!l.live,d=(t=n.initSegment)==null?void 0:t.data,g=this._getAudioCodec(o),m=this.transmuxer=this.transmuxer||new ny(this.hls,ye.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),v=i?i.index:-1,T=v!==-1,y=new Vh(n.level,n.sn,n.stats.chunkCount,r.byteLength,v,T),_=this.initPTS[n.cc];m.push(r,d,g,u,n,i,l.totalduration,h,y,_)}onAudioTrackSwitching(e,t){const n=this.hls,i=this.altAudio!==0;if(ul(t.url,n))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;const s=this.fragCurrent;s&&(this.log("Switching to main audio track, cancel main fragment load"),s.abortRequests(),this.fragmentTracker.removeFragment(s)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(i){this.altAudio=0,this.fragmentTracker.removeAllFragments(),n.once(S.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(S.AUDIO_TRACK_SWITCHED,t)}),n.trigger(S.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}n.trigger(S.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){const n=ul(t.url,this.hls);if(n){const i=this.videoBuffer;i&&this.mediaBuffer!==i&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i)}this.altAudio=n?2:0,this.tick()}onBufferCreated(e,t){const n=t.tracks;let i,r,s=!1;for(const o in n){const l=n[o];if(l.id==="main"){if(r=o,i=l,o==="video"){const u=n[o];u&&(this.videoBuffer=u.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){const{frag:n,part:i}=t,r=n.type===ye.MAIN;if(r){if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${i?" p: "+i.index:""} of level ${n.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Z.PARSED&&(this.state=Z.IDLE);return}const o=i?i.stats:n.stats;this.fragLastKbps=Math.round(8*o.total/(o.buffering.end-o.loading.first)),Vt(n)&&(this.fragPrevious=n),this.fragBufferedComplete(n,i)}const s=this.media;s&&(!this._hasEnoughToStart&&Ve.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),r&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var n;if(t.fatal){this.state=Z.ERROR;return}switch(t.details){case V.FRAG_GAP:case V.FRAG_PARSING_ERROR:case V.FRAG_DECRYPT_ERROR:case V.FRAG_LOAD_ERROR:case V.FRAG_LOAD_TIMEOUT:case V.KEY_LOAD_ERROR:case V.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(ye.MAIN,t);break;case V.LEVEL_LOAD_ERROR:case V.LEVEL_LOAD_TIMEOUT:case V.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===Z.WAITING_LEVEL&&((n=t.context)==null?void 0:n.type)===tt.LEVEL&&(this.state=Z.IDLE);break;case V.BUFFER_ADD_CODEC_ERROR:case V.BUFFER_APPEND_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case V.BUFFER_FULL_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,Number.POSITIVE_INFINITY));break;case V.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onFragLoadEmergencyAborted(){this.state=Z.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==xt.AUDIO||!this.altAudio){const n=(t===xt.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;n&&(this.afterBufferFlushed(n,t,ye.MAIN),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const t=e.currentTime;let n=this.startPosition;if(n>=0&&t<n){if(e.seeking){this.log(`could not seek to ${n}, already seeking at ${t}`);return}const i=this.timelineOffset;i&&n&&(n+=i);const r=this.getLevelDetails(),s=Ve.getBuffered(e),o=s.length?s.start(0):0,l=o-n,u=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||l>0&&(l<u||this.loadingParts&&l<2*((r==null?void 0:r.partTarget)||0)))&&(this.log(`adjusting start position by ${l} to match buffer start`),n+=l,this.startPosition=n),t<n&&(this.log(`seek to target start position ${n} from current time ${t} buffer start ${o}`),e.currentTime=n)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(n=>{const{hls:i}=this,r=n==null?void 0:n.frag;if(!r||this.fragContextChanged(r))return;t.fragmentError=0,this.state=Z.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const s=r.stats;s.parsing.start=s.parsing.end=s.buffering.start=s.buffering.end=self.performance.now(),i.trigger(S.FRAG_LOADED,n),r.bitrateTest=!1}).catch(n=>{this.state===Z.STOPPED||this.state===Z.ERROR||(this.warn(n),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){const t=this.playlistType,{hls:n}=this,{remuxResult:i,chunkMeta:r}=e,s=this.getCurrentContext(r);if(!s){this.resetWhenMissingContext(r);return}const{frag:o,part:l,level:u}=s,{video:h,text:d,id3:g,initSegment:m}=i,{details:v}=u,T=this.altAudio?void 0:i.audio;if(this.fragContextChanged(o)){this.fragmentTracker.removeFragment(o);return}if(this.state=Z.PARSING,m){const y=m.tracks;if(y){const R=o.initSegment||o;if(this.unhandledEncryptionError(m,o))return;this._bufferInitSegment(u,y,R,r),n.trigger(S.FRAG_PARSING_INIT_SEGMENT,{frag:R,id:t,tracks:y})}const _=m.initPTS,x=m.timescale,b=this.initPTS[o.cc];if(pe(_)&&(!b||b.baseTime!==_||b.timescale!==x)){const R=m.trackId;this.initPTS[o.cc]={baseTime:_,timescale:x,trackId:R},n.trigger(S.INIT_PTS_FOUND,{frag:o,id:t,initPTS:_,timescale:x,trackId:R})}}if(h&&v){T&&h.type==="audiovideo"&&this.logMuxedErr(o);const y=v.fragments[o.sn-1-v.startSN],_=o.sn===v.startSN,x=!y||o.cc>y.cc;if(i.independent!==!1){const{startPTS:b,endPTS:R,startDTS:A,endDTS:F}=h;if(l)l.elementaryStreams[h.type]={startPTS:b,endPTS:R,startDTS:A,endDTS:F};else if(h.firstKeyFrame&&h.independent&&r.id===1&&!x&&(this.couldBacktrack=!0),h.dropped&&h.independent){const w=this.getMainFwdBufferInfo(),M=(w?w.end:this.getLoadPosition())+this.config.maxBufferHole,O=h.firstKeyFramePTS?h.firstKeyFramePTS:b;if(!_&&M<O-this.config.maxBufferHole&&!x){this.backtrack(o);return}else x&&(o.gap=!0);o.setElementaryStreamInfo(h.type,o.start,R,o.start,F,!0)}else _&&b-(v.appliedTimelineOffset||0)>zo&&(o.gap=!0);o.setElementaryStreamInfo(h.type,b,R,A,F),this.backtrackFragment&&(this.backtrackFragment=o),this.bufferFragmentData(h,o,l,r,_||x)}else if(_||x)o.gap=!0;else{this.backtrack(o);return}}if(T){const{startPTS:y,endPTS:_,startDTS:x,endDTS:b}=T;l&&(l.elementaryStreams[xt.AUDIO]={startPTS:y,endPTS:_,startDTS:x,endDTS:b}),o.setElementaryStreamInfo(xt.AUDIO,y,_,x,b),this.bufferFragmentData(T,o,l,r)}if(v&&g!=null&&g.samples.length){const y={id:t,frag:o,details:v,samples:g.samples};n.trigger(S.FRAG_PARSING_METADATA,y)}if(v&&d){const y={id:t,frag:o,details:v,samples:d.samples};n.trigger(S.FRAG_PARSING_USERDATA,y)}}logMuxedErr(e){this.warn(`${Vt(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,n,i){if(this.state!==Z.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(n));const{audio:r,video:s,audiovideo:o}=t;if(r){const u=e.audioCodec;let h=$o(r.codec,u);h==="mp4a"&&(h="mp4a.40.5");const d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){h&&(h.indexOf("mp4a.40.5")!==-1?h="mp4a.40.2":h="mp4a.40.5");const g=r.metadata;g&&"channelCount"in g&&(g.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(h="mp4a.40.5")}h&&h.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&r.container!=="audio/mpeg"&&(h="mp4a.40.2",this.log(`Android: force audio codec to ${h}`)),u&&u!==h&&this.log(`Swapping manifest audio codec "${u}" for "${h}"`),r.levelCodec=h,r.id=ye.MAIN,this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${h||""}/${u||""}/${r.codec}]`),delete t.audiovideo}if(s){s.levelCodec=e.videoCodec,s.id=ye.MAIN;const u=s.codec;if((u==null?void 0:u.length)===4)switch(u){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";break}this.log(`Init video buffer, container:${s.container}, codecs[level/parsed]=[${e.videoCodec||""}/${u}]${s.codec!==u?" parsed-corrected="+s.codec:""}${s.supplemental?" supplemental="+s.supplemental:""}`),delete t.audiovideo}o&&(this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),delete t.video,delete t.audio);const l=Object.keys(t);if(l.length){if(this.hls.trigger(S.BUFFER_CODECS,t),!this.hls)return;l.forEach(u=>{const d=t[u].initSegment;d!=null&&d.byteLength&&this.hls.trigger(S.BUFFER_APPENDING,{type:u,data:d,frag:n,part:null,chunkMeta:i,parent:n.type})})}this.tickImmediate()}getMainFwdBufferInfo(){const e=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,ye.MAIN)}get maxBufferLength(){const{levels:e,level:t}=this,n=e==null?void 0:e[t];return n?this.getMaxBufferLength(n.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=Z.IDLE}checkFragmentChanged(){const e=this.media;let t=null;if(e&&e.readyState>1&&e.seeking===!1){const n=e.currentTime;if(Ve.isBuffered(e,n)?t=this.getAppendedFrag(n):Ve.isBuffered(e,n+.1)&&(t=this.getAppendedFrag(n+.1)),t){this.backtrackFragment=null;const i=this.fragPlaying,r=t.level;(!i||t.sn!==i.sn||i.level!==r)&&(this.fragPlaying=t,this.hls.trigger(S.FRAG_CHANGED,{frag:t}),(!i||i.level!==r)&&this.hls.trigger(S.LEVEL_SWITCHED,{level:r}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;return pe(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(pe(t)){const n=this.getLevelDetails(),i=this.currentFrag||(n?Fr(null,n.fragments,t):null);if(i){const r=i.programDateTime;if(r!==null){const s=r+(t-i.start)*1e3;return new Date(s)}}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class GO extends Ji{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const n in this.keyIdToKeyInfo){const i=this.keyIdToKeyInfo[n].loader;if(i){var t;if(e&&e!==((t=i.context)==null?void 0:t.frag.type))return;i.abort()}}}detach(){for(const e in this.keyIdToKeyInfo){const t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyIdToKeyInfo){const t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=V.KEY_LOAD_ERROR,n,i,r){return new Nn({type:Se.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:r,error:n,networkDetails:i})}loadClear(e,t,n){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let i=0,r=t.length;i<r;i++){const s=t[i];if(e.cc<=s.cc&&(!Vt(e)||!Vt(s)||e.sn<s.sn)||!n&&i==r-1)return this.emeController.selectKeySystemFormat(s).then(o=>{if(!this.emeController)return;s.setKeyFormat(o);const l=Ho(o);if(l)return this.emeController.getKeySystemAccess([l])})}if(this.config.requireKeySystemAccessOnStart){const i=ra(this.config);if(i.length)return this.emeController.getKeySystemAccess(i)}}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 n,i;t&&e.setKeyFormat(t);const r=e.decryptdata;if(!r){const u=new 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,V.KEY_LOAD_ERROR,u))}const s=r.uri;if(!s)return Promise.reject(this.createKeyLoadError(e,V.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${s}"`)));const o=Oc(r);let l=this.keyIdToKeyInfo[o];if((n=l)!=null&&n.decryptdata.key)return r.key=l.decryptdata.key,Promise.resolve({frag:e,keyInfo:l});if(this.emeController&&(i=l)!=null&&i.keyLoadPromise)switch(this.emeController.getKeyStatus(l.decryptdata)){case"usable":case"usable-in-future":return l.keyLoadPromise.then(h=>{const{keyInfo:d}=h;return r.key=d.decryptdata.key,{frag:e,keyInfo:d}})}switch(this.log(`${this.keyIdToKeyInfo[o]?"Rel":"L"}oading${r.keyId?" keyId: "+ni(r.keyId):""} URI: ${r.uri} from ${e.type} ${e.level}`),l=this.keyIdToKeyInfo[o]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return r.keyFormat==="identity"?this.loadKeyHTTP(l,e):this.loadKeyEME(l,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(l,e);default:return Promise.reject(this.createKeyLoadError(e,V.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)))}}loadKeyEME(e,t){const n={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var i;if(!e.decryptdata.keyId&&(i=t.initSegment)!=null&&i.data){const s=ak(t.initSegment.data);if(s.length){let o=s[0];o.some(l=>l!==0)?(this.log(`Using keyId found in init segment ${ni(o)}`),hr.setKeyIdForUri(e.decryptdata.uri,o)):(o=hr.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${ni(o)}`)),e.decryptdata.keyId=o}}if(!e.decryptdata.keyId&&!Vt(t))return Promise.resolve(n);const r=this.emeController.loadKey(n);return(e.keyLoadPromise=r.then(s=>(e.mediaKeySessionContext=s,n))).catch(s=>{throw e.keyLoadPromise=null,"data"in s&&(s.data.frag=t),s})}return Promise.resolve(n)}loadKeyHTTP(e,t){const n=this.config,i=n.loader,r=new i(n);return t.keyLoader=e.loader=r,e.keyLoadPromise=new Promise((s,o)=>{const l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},u=n.keyLoadPolicy.default,h={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},d={onSuccess:(g,m,v,T)=>{const{frag:y,keyInfo:_}=v,x=Oc(_.decryptdata);if(!y.decryptdata||_!==this.keyIdToKeyInfo[x])return o(this.createKeyLoadError(y,V.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),T));_.decryptdata.key=y.decryptdata.key=new Uint8Array(g.data),y.keyLoader=null,_.loader=null,s({frag:y,keyInfo:_})},onError:(g,m,v,T)=>{this.resetLoader(m),o(this.createKeyLoadError(t,V.KEY_LOAD_ERROR,new Error(`HTTP Error ${g.code} loading key ${g.text}`),v,vt({url:l.url,data:void 0},g)))},onTimeout:(g,m,v)=>{this.resetLoader(m),o(this.createKeyLoadError(t,V.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),v))},onAbort:(g,m,v)=>{this.resetLoader(m),o(this.createKeyLoadError(t,V.INTERNAL_ABORTED,new Error("key loading aborted"),v))}};r.load(l,h,d)})}resetLoader(e){const{frag:t,keyInfo:n,url:i}=e,r=n.loader;t.keyLoader===r&&(t.keyLoader=null,n.loader=null);const s=Oc(n.decryptdata)||i;delete this.keyIdToKeyInfo[s],r&&r.destroy()}}function Oc(a){if(a.keyFormat!==ri.FAIRPLAY){const e=a.keyId;if(e)return ni(e)}return a.uri}function sv(a){const{type:e}=a;switch(e){case tt.AUDIO_TRACK:return ye.AUDIO;case tt.SUBTITLE_TRACK:return ye.SUBTITLE;default:return ye.MAIN}}function Mc(a,e){let t=a.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}class HO{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(){const{hls:e}=this;e.on(S.MANIFEST_LOADING,this.onManifestLoading,this),e.on(S.LEVEL_LOADING,this.onLevelLoading,this),e.on(S.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(S.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(S.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:e}=this;e.off(S.MANIFEST_LOADING,this.onManifestLoading,this),e.off(S.LEVEL_LOADING,this.onLevelLoading,this),e.off(S.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(S.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(S.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){const t=this.hls.config,n=t.pLoader,i=t.loader,r=n||i,s=new r(t);return this.loaders[e.type]=s,s}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){const{url:n}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:tt.MANIFEST,url:n,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){const{id:n,level:i,pathwayId:r,url:s,deliveryDirectives:o,levelInfo:l}=t;this.load({id:n,level:i,pathwayId:r,responseType:"text",type:tt.LEVEL,url:s,deliveryDirectives:o,levelOrTrack:l})}onAudioTrackLoading(e,t){const{id:n,groupId:i,url:r,deliveryDirectives:s,track:o}=t;this.load({id:n,groupId:i,level:null,responseType:"text",type:tt.AUDIO_TRACK,url:r,deliveryDirectives:s,levelOrTrack:o})}onSubtitleTrackLoading(e,t){const{id:n,groupId:i,url:r,deliveryDirectives:s,track:o}=t;this.load({id:n,groupId:i,level:null,responseType:"text",type:tt.SUBTITLE_TRACK,url:r,deliveryDirectives:s,levelOrTrack:o})}onLevelsUpdated(e,t){const n=this.loaders[tt.LEVEL];if(n){const i=n.context;i&&!t.levels.some(r=>r===i.levelOrTrack)&&(n.abort(),delete this.loaders[tt.LEVEL])}}load(e){var t;const n=this.hls.config;let i=this.getInternalLoader(e);if(i){const u=this.hls.logger,h=i.context;if(h&&h.levelOrTrack===e.levelOrTrack&&(h.url===e.url||h.deliveryDirectives&&!e.deliveryDirectives)){h.url===e.url?u.log(`[playlist-loader]: ignore ${e.url} ongoing request`):u.log(`[playlist-loader]: ignore ${e.url} in favor of ${h.url}`);return}u.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),i.abort()}let r;if(e.type===tt.MANIFEST?r=n.manifestLoadPolicy.default:r=Et({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),i=this.createInternalLoader(e),pe((t=e.deliveryDirectives)==null?void 0:t.part)){let u;if(e.type===tt.LEVEL&&e.level!==null?u=this.hls.levels[e.level].details:e.type===tt.AUDIO_TRACK&&e.id!==null?u=this.hls.audioTracks[e.id].details:e.type===tt.SUBTITLE_TRACK&&e.id!==null&&(u=this.hls.subtitleTracks[e.id].details),u){const h=u.partTarget,d=u.targetduration;if(h&&d){const g=Math.max(h*3,d*.8)*1e3;r=Et({},r,{maxTimeToFirstByteMs:Math.min(g,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(g,r.maxTimeToFirstByteMs)})}}}const s=r.errorRetry||r.timeoutRetry||{},o={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:s.maxNumRetry||0,retryDelay:s.retryDelayMs||0,maxRetryDelay:s.maxRetryDelayMs||0},l={onSuccess:(u,h,d,g)=>{const m=this.getInternalLoader(d);this.resetInternalLoader(d.type);const v=u.data;h.parsing.start=performance.now(),xn.isMediaPlaylist(v)||d.type!==tt.MANIFEST?this.handleTrackOrLevelPlaylist(u,h,d,g||null,m):this.handleMasterPlaylist(u,h,d,g)},onError:(u,h,d,g)=>{this.handleNetworkError(h,d,!1,u,g)},onTimeout:(u,h,d)=>{this.handleNetworkError(h,d,!0,void 0,u)}};i.load(e,o,l)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:e,startPosition:t},forceStartLoad:n}=this.hls;(e||n)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,n,i){const r=this.hls,s=e.data,o=Mc(e,n),l=xn.parseMasterPlaylist(s,o);if(l.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,n,l.playlistParsingError,i,t);return}const{contentSteering:u,levels:h,sessionData:d,sessionKeys:g,startTimeOffset:m,variableList:v}=l;this.variableList=v,h.forEach(x=>{const{unknownCodecs:b}=x;if(b){const{preferManagedMediaSource:R}=this.hls.config;let{audioCodec:A,videoCodec:F}=x;for(let w=b.length;w--;){const M=b[w];ga(M,"audio",R)?(x.audioCodec=A=A?`${A},${M}`:M,Cs.audio[A.substring(0,4)]=2,b.splice(w,1)):ga(M,"video",R)&&(x.videoCodec=F=F?`${F},${M}`:M,Cs.video[F.substring(0,4)]=2,b.splice(w,1))}}});const{AUDIO:T=[],SUBTITLES:y,"CLOSED-CAPTIONS":_}=xn.parseMasterPlaylistMedia(s,o,l);T.length&&!T.some(b=>!b.url)&&h[0].audioCodec&&!h[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),T.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Mt({}),bitrate:0,url:""})),r.trigger(S.MANIFEST_LOADED,{levels:h,audioTracks:T,subtitles:y,captions:_,contentSteering:u,url:o,stats:t,networkDetails:i,sessionData:d,sessionKeys:g,startTimeOffset:m,variableList:v})}handleTrackOrLevelPlaylist(e,t,n,i,r){const s=this.hls,{id:o,level:l,type:u}=n,h=Mc(e,n),d=pe(l)?l:pe(o)?o:0,g=sv(n),m=xn.parseLevelPlaylist(e.data,h,d,g,0,this.variableList);if(u===tt.MANIFEST){const v={attrs:new Mt({}),bitrate:0,details:m,name:"",url:h};m.requestScheduled=t.loading.start+P0(m,0),s.trigger(S.MANIFEST_LOADED,{levels:[v],audioTracks:[],url:h,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),n.levelDetails=m,this.handlePlaylistLoaded(m,e,t,n,i,r)}handleManifestParsingError(e,t,n,i,r){this.hls.trigger(S.ERROR,{type:Se.NETWORK_ERROR,details:V.MANIFEST_PARSING_ERROR,fatal:t.type===tt.MANIFEST,url:e.url,err:n,error:n,reason:n.message,response:e,context:t,networkDetails:i,stats:r})}handleNetworkError(e,t,n=!1,i,r){let s=`A network ${n?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${e.type}`;e.type===tt.LEVEL?s+=`: ${e.level} id: ${e.id}`:(e.type===tt.AUDIO_TRACK||e.type===tt.SUBTITLE_TRACK)&&(s+=` id: ${e.id} group-id: "${e.groupId}"`);const o=new Error(s);this.hls.logger.warn(`[playlist-loader]: ${s}`);let l=V.UNKNOWN,u=!1;const h=this.getInternalLoader(e);switch(e.type){case tt.MANIFEST:l=n?V.MANIFEST_LOAD_TIMEOUT:V.MANIFEST_LOAD_ERROR,u=!0;break;case tt.LEVEL:l=n?V.LEVEL_LOAD_TIMEOUT:V.LEVEL_LOAD_ERROR,u=!1;break;case tt.AUDIO_TRACK:l=n?V.AUDIO_TRACK_LOAD_TIMEOUT:V.AUDIO_TRACK_LOAD_ERROR,u=!1;break;case tt.SUBTITLE_TRACK:l=n?V.SUBTITLE_TRACK_LOAD_TIMEOUT:V.SUBTITLE_LOAD_ERROR,u=!1;break}h&&this.resetInternalLoader(e.type);const d={type:Se.NETWORK_ERROR,details:l,fatal:u,url:e.url,loader:h,context:e,error:o,networkDetails:t,stats:r};if(i){const g=(t==null?void 0:t.url)||e.url;d.response=vt({url:g,data:void 0},i)}this.hls.trigger(S.ERROR,d)}handlePlaylistLoaded(e,t,n,i,r,s){const o=this.hls,{type:l,level:u,levelOrTrack:h,id:d,groupId:g,deliveryDirectives:m}=i,v=Mc(t,i),T=sv(i);let y=typeof i.level=="number"&&T===ye.MAIN?u:void 0;const _=e.playlistParsingError;if(_){if(this.hls.logger.warn(`${_} ${e.url}`),!o.config.ignorePlaylistParsingErrors){o.trigger(S.ERROR,{type:Se.NETWORK_ERROR,details:V.LEVEL_PARSING_ERROR,fatal:!1,url:v,error:_,reason:_.message,response:t,context:i,level:y,parent:T,networkDetails:r,stats:n});return}e.playlistParsingError=null}if(!e.fragments.length){const x=e.playlistParsingError=new Error("No Segments found in Playlist");o.trigger(S.ERROR,{type:Se.NETWORK_ERROR,details:V.LEVEL_EMPTY_ERROR,fatal:!1,url:v,error:x,reason:x.message,response:t,context:i,level:y,parent:T,networkDetails:r,stats:n});return}switch(e.live&&s&&(s.getCacheAge&&(e.ageHeader=s.getCacheAge()||0),(!s.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case tt.MANIFEST:case tt.LEVEL:if(y){if(!h)y=0;else if(h!==o.levels[y]){const x=o.levels.indexOf(h);x>-1&&(y=x)}}o.trigger(S.LEVEL_LOADED,{details:e,levelInfo:h||o.levels[0],level:y||0,id:d||0,stats:n,networkDetails:r,deliveryDirectives:m,withoutMultiVariant:l===tt.MANIFEST});break;case tt.AUDIO_TRACK:o.trigger(S.AUDIO_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:g||"",stats:n,networkDetails:r,deliveryDirectives:m});break;case tt.SUBTITLE_TRACK:o.trigger(S.SUBTITLE_TRACK_LOADED,{details:e,track:h,id:d||0,groupId:g||"",stats:n,networkDetails:r,deliveryDirectives:m});break}}}class Fi{static get version(){return va}static isMSESupported(){return wy()}static isSupported(){return NO()}static getMediaSource(){return gr()}static get Events(){return S}static get MetadataSchema(){return Mi}static get ErrorTypes(){return Se}static get ErrorDetails(){return V}static get DefaultConfig(){return Fi.defaultConfig?Fi.defaultConfig:IO}static set DefaultConfig(e){Fi.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 zh,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=jR(e.debug||!1,"Hls instance",e.assetPlayerId),n=this.config=CO(Fi.DefaultConfig,e,t);this.userConfig=e,n.progressive&&LO(n,t);const{abrController:i,bufferController:r,capLevelController:s,errorController:o,fpsController:l}=n,u=new o(this),h=this.abrController=new i(this),d=new Vk(this),g=n.interstitialsController,m=g?this.interstitialsController=new g(this,Fi):null,v=this.bufferController=new r(this,d),T=this.capLevelController=new s(this),y=new l(this),_=new HO(this),x=n.contentSteeringController,b=x?new x(this):null,R=this.levelController=new FO(this,b),A=new OO(this),F=new GO(this.config,this.logger),w=this.streamController=new $O(this,d,F),M=this.gapController=new PO(this,d);T.setStreamController(w),y.setStreamController(w);const O=[_,R,w];m&&O.splice(1,0,m),b&&O.splice(1,0,b),this.networkControllers=O;const P=[h,v,M,T,y,A,d];this.audioTrackController=this.createController(n.audioTrackController,O);const K=n.audioStreamController;K&&O.push(this.audioStreamController=new K(this,d,F)),this.subtitleTrackController=this.createController(n.subtitleTrackController,O);const ee=n.subtitleStreamController;ee&&O.push(this.subtititleStreamController=new ee(this,d,F)),this.createController(n.timelineController,P),F.emeController=this.emeController=this.createController(n.emeController,P),this.cmcdController=this.createController(n.cmcdController,P),this.latencyController=this.createController(MO,P),this.coreComponents=P,O.push(u);const le=u.onErrorOut;typeof le=="function"&&this.on(S.ERROR,le,u),this.on(S.MANIFEST_LOADED,_.onManifestLoaded,_)}createController(e,t){if(e){const n=new e(this);return t&&t.push(n),n}return null}on(e,t,n=this){this._emitter.on(e,t,n)}once(e,t,n=this){this._emitter.once(e,t,n)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,n=this,i){this._emitter.off(e,t,n,i)}listeners(e){return this._emitter.listeners(e)}emit(e,t,n){return this._emitter.emit(e,t,n)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(n){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;const i=e===S.ERROR;this.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.INTERNAL_EXCEPTION,fatal:i,event:e,error:n}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(S.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){const r=new Error(`attachMedia failed: invalid argument (${e})`);this.trigger(S.ERROR,{type:Se.OTHER_ERROR,details:V.ATTACH_MEDIA_ERROR,fatal:!0,error:r});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const t="media"in e,n=t?e.media:e,i=t?e:{media:n};this._media=n,this.trigger(S.MEDIA_ATTACHING,i)}detachMedia(){this.logger.log("detachMedia"),this.trigger(S.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const e=this.bufferController.transferMedia();return this.trigger(S.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();const t=this.media,n=this._url,i=this._url=Fh.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${i}`),t&&n&&(n!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(S.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 n=0;n<this.networkControllers.length&&(this.networkControllers[n].startLoad(e,t),!(!this.started||!this.networkControllers));n++);}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.forEac
vendor: 4,201 bytes, line 298
298h(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){const e={[ye.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[ye.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[ye.SUBTITLE]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const e=this._media,t=e==null?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=PD()),e}get levels(){const e=this.levelController.levels;return e||[]}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(){const e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){const 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(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){const{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){const{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){Ck(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){const{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;const n=e.length;for(let i=0;i<n;i++)if(e[i].maxBitrate>=t)return i;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:t,maxHdcpLevel:n}=this;let i;if(t===-1&&e!=null&&e.length?i=e.length-1:i=t,n)for(let r=i;r--;){const s=e[r].attrs["HDCP-LEVEL"];if(s&&s<=n)return r}return i}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((t=this.audioTrackController)==null?void 0:t.setAudioOption(e))||null}
298setSubtitleOption(e){var t;return((t=this.subtitleTrackController)==null?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){const 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!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){var e;return((e=this.interstitialsController)==null?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){const n=v0(t);return p0(e,n,navigator.mediaCapabilities)}}Fi.defaultConfig=void 0;const VO={class:"course-study-player"},KO={key:0,class:"error-overlay"},WO={class:"error-content"},YO={__name:"CourseStudyPlayer",props:{address:{type:String,default:""},last_time:{type:Number,default:0},poster:{type:String,default:""}},emits:["time-update","play-end","play-state-change","seek-to"],setup(a,{expose:e,emit:t}){const n=a,i=t,r=ot(null);let s=null,o=null;const l=ot(null),u=ot(0),h=x=>{try{return new URL(x,window.location.href).pathname.endsWith(".m3u8")}catch{return/\.m3u8/.test(x)}},d=async()=>{var x;if(!(!n.address||!r.value)){s&&m();try{l.value=null;const b=((x=r.value)==null?void 0:x.closest(".course-study-main-container"))||r.value,R={width:"100%",height:"100%",fluid:!1,el:r.value,ignores:["cssfullscreen"],playbackRate:[.5,.75,1,1.25,1.5,2],defaultPlaybackRate:parseFloat(sessionStorage.getItem("playbackRate"))||1,poster:n.poster,url:n.address,plugins:[UR],textTrack:{},airplay:!0,autoplay:!0,videoInit:!0,playsinline:!0,"x5-video-player-type":"h5","x5-video-player-fullscreen":!0,"x5-video-orientation":"landscape|portrait",fullscreen:{target:b}};if(n.last_time&&n.last_time>6&&(R.startTime=n.last_time),s=new si(R),h(n.address)&&Fi.isSupported()){s.handleSource=!1;const A=s.media||s.video;A&&(A.removeAttribute("src"),A.load(),o=new Fi,o.loadSource(n.address),o.attachMedia(A),o.on(Fi.Events.MANIFEST_PARSED,()=>{R.startTime&&R.startTime>0&&(A.currentTime=R.startTime),A.play().catch(()=>{})}),o.on(Fi.Events.ERROR,(F,w)=>{if(w.fatal)switch(w.type){case Fi.ErrorTypes.NETWORK_ERROR:o.startLoad();break;case Fi.ErrorTypes.MEDIA_ERROR:o.recoverMediaError();break;default:l.value=new Error("HLS 播放失败");break}}))}g()}catch(b){console.error("播放器初始化失败:",b),l.value=b,Pr.error("播放器初始化失败")}}},g=()=>{s&&(s.on("play",()=>{i("play-state-change",!0)}),s.on("pause",()=>{i("play-state-change",!1)}),s.on("timeupdate",()=>{const x=s.currentTime;u.value=x,i("time-update",x)}),s.on("ended",()=>{i("play-end")}),s.on("playbackrateChange",()=>{const x=s.media||s.video;x&&sessionStorage.setItem("playbackRate",x.playbackRate)}),s.once("destroy",()=>{s=null}))},m=()=>{o&&(o.destroy(),o=null),s&&(s.destroy(),s=null)},v=x=>{s&&typeof x=="number"&&x>=0&&(s.currentTime=x,u.value=x,i("time-update",x))},T=()=>{s&&s.pause()},y=()=>{s&&s.play()},_=()=>{m(),n.address&&d()};return Qi(()=>n.address,x=>{x?d():s&&m()},{immediate:!1}),ph(()=>{or(()=>{n.address&&d()})}),yl(()=>{m()}),e({seekTo:v,pause:T,play:y}),(x,b)=>{const R=SI,A=_a;return fe(),Ae("div",VO,[ve("div",{ref_key:"playerContainer",ref:r,class:"player-container"},null,512),l.value?(fe(),Ae("div",KO,[ve("div",WO,[re(R,{class:"error-icon"}),b[1]||(b[1]=ve("h3",null,"播放出错",-1)),ve("p",null,Ht(l.value.message||"视频加载失败,请稍后重试"),1),re(A,{type:"primary",onClick:_},{default:Oe(()=>
298b[0]||(b[0]=[jt("重新加载")])),_:1,__:[0]})])])):ze("",!0)])}}},zO=Br(YO,[["__scopeId","data-v-358ccc21"]]);function jO(a,e){const t=vl(),{data:n,loading:i,error:r,execute:s,abort:o}=lv(async(_,x)=>await kr.getPlayInfo(_,x)),l=Je(()=>n.value?n.value.address?!0:!!n.value.has_video:!1),u=ot([]),h=ot([]),d=Je(()=>!i.value&&!!n.value),g=Je(()=>a.value),m=Je(()=>{var _;return((_=n.value)==null?void 0:_.has_subtitle)||!1}),v=()=>{var _,x,b,R;try{const A=new Map,F=((_=n.value)==null?void 0:_.ppts)||[];if(!((b=(x=n.value)==null?void 0:x.outlines)!=null&&b.length)){h.value=F,u.value=[];return}F.forEach(w=>{w.isCurrent=!1,w.outlineIndex=0,A.set(w.page,w)}),(R=n.value.outlines)!=null&&R.length?u.value=n.value.outlines.map((w,M)=>{const O=[];if(w.start!==void 0&&w.end!==void 0){for(let P=w.start;P<=w.end;P++)if(A.has(P)){const K=A.get(P);K.outlineIndex=M,O.push(K)}}return{...w,ppts:O,subtitles:[]}}):u.value=[],h.value=F}catch(A){console.error("处理大纲数据失败:",A),u.value=[],h.value=[]}},T=async()=>{try{i.value&&o();const _=a.value,x=e.value||0,b=await s(_,x);return n.value&&v(),b}catch(_){if(_.name==="AbortError")return;throw console.error("加载播放信息失败:",_),_}},y=()=>{i.value&&o()};return Qi(()=>[a.value,e.value],([_,x])=>{_!=null&&T()},{immediate:!0}),Qi(()=>t.isLoggedIn,(_,x)=>{_!==x&&a.value&&T()}),{playInfo:n,loading:i,error:r,loaded:d,address:Je(()=>{var _;return(_=n.value)!=null&&_.address?dh(n.value.address):""}),lastTime:Je(()=>n.value?Number(n.value.last_time||0):0),hasVideo:l,outlines:u,ppts:h,currentTargetId:g,hasSubtitles:m,loadPlayInfo:T,cancel:y}}const qO={class:"course-study-main-container"},XO={class:"course-study-header"},QO={class:"header-content"},ZO={class:"header-left"},JO={class:"title-section"},eM={class:"course-title"},tM={key:0,class:"lesson-title"},iM={key:1,class:"course-title"},nM={class:"course-study-main"},rM={class:"panel-content"},sM={key:0,class:"btn-text"},aM={class:"player-main-content"},oM={class:"player-stage"},lM={key:1,class:"stage-container"},uM={key:0,class:"tiktok-background"},cM={class:"center-image"},hM=["src","alt"],fM={key:1,class:"playback-overlay"},dM={class:"playback-overlay__panel playback-overlay__panel--loading"},gM={key:2,class:"playback-overlay"},pM={class:"playback-overlay__panel playback-overlay__panel--message"},mM={class:"playback-overlay__lesson-title"},vM={class:"playback-overlay__lesson-time"},yM={key:0,class:"btn-text"},TM={class:"outline-panel-wrapper"},EM={class:"outline-panel-content"},_M={key:0,class:"error-overlay"},SM={__name:"CourseStudyMain",props:{courseInfo:{type:Object,required:!0},courseId:{type:Number,required:!0},parentCourseId:{type:Number,required:!0},studyConfig:{type:Object,required:!0}},emits:["enroll-success","package-purchase-success","subtitle-edit-ranking-change"],setup(a,{emit:e}){const t=a,n=Je(()=>{var be,We;return dh(((We=(be=t.courseInfo)==null?void 0:be.mainCourse)==null?void 0:We.image)||"")}),i=e,r=xI(),s=VI(),o=Je(()=>{var be,We;return((We=(be=s.packagePaymentModalConfig)==null?void 0:be.packageInfo)==null?void 0:We.id)||null}),{loading:l,error:u,loaded:h,address:d,lastTime:g,outlines:m,ppts:v,currentTargetId:T,hasSubtitles:y,hasVideo:_,loadPlayInfo:x,cancel:b}=jO(Je(()=>t.courseId),Je(()=>t.parentCourseId)),R=ot(new Date);let A=null;const F=()=>{R.value=new Date};ph(()=>{typeof window<"u"&&(F(),A=window.setInterval(F,3e4),document.addEventListener("keydown",_t))});const w=Je(()=>R.value<t.courseInfo.startDateTime?`${KI(t.courseInfo.startDateTime,"M月d日 HH:mm")} 直播`:R.value<t.courseInfo.endDateTime?"正在直播中":"直播已结束  视频加紧制作中"),M=ot(!0),O=ot(!0),P=Je(()=>t.studyConfig.permission&&_.value&&y.value),K=Je(()=>t.courseInfo.id),{handleEnroll:ee}=WI(K),le=ot(null),ae=Je(()=>le.value),{handlePackagePurchase:q}=kI(ae),B=ot(null),H=ot(0),Y=ot(!1),Q=MA({currentTargetId:T,outlines:m,hasSubtitles:y,playInfoLoaded:h,currentTime:H,onEditRankingChange:be=>i("subtitle-edit-ranking-change",be)});II(Sh,Q);const ce=be=>{H.value=be},ne=be=>{B.value&&B.value.seekTo&&B.value.seekTo(be)},ue=()=>{B.value&&B.value.pause()},me=()=>{B.value&&B.value.play()},Te=be=>{const{courseId:We,parentCourseId:Ie}=be;try{if(Ie){r.replace({name:"course-study-section",params:{id:t.courseInfo.id,lessonId:Ie,sectionId:We}});return}else r.replace({name:"course-study",params:{id:t.courseInfo.id,lessonId:We!==t.courseInfo.id?We:void 0}})}catch(nt){console.error("切换课程失败:",nt),Pr.error("切换课程失败,请稍后重试")}},_e=()=>{r.push({name:"course",params:{id:t.courseInfo.id}})},Re=()=>{M.value=!1},Qe=be=>{Y.value=be,be&&M.value&&(M.value=!1)},Ge=()=>{x(),i("enroll-success")},pt=()=>{ee(Ge)},Xt=()=>{x(),i("package-purchase-success")},He=be=>{le.value=be.id,q(Xt,We=>{console.error("套餐购买失败:",We)})},Pt=()=>{var Tt;if(!((Tt=m.value)!=null&&Tt.length)){Pr.error("暂无大纲数据");return}const be=ht=>
298String(Math.floor(ht)).padStart(2,"0"),Ie=`<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"><head><meta charset="UTF-8"></head><body><table><tr><th>大纲</th><th>时间轴</th></tr>${m.value.map(ht=>{const Kt=Math.floor(ht.time/3600),J=Math.floor(ht.time%3600/60),oe=ht.time%60;return`<tr><td>${ht.name}</td><td>${be(Kt)}:${be(J)}:${be(oe)}</td></tr>`}).join("")}</table></body></html>`,nt=new Blob(["\uFEFF"+Ie],{type:"application/vnd.ms-excel;charset=utf-8"}),Dt=URL.createObjectURL(nt),Ut=document.createElement("a");Ut.href=Dt,Ut.setAttribute("download","course_"+t.courseId+"_outline.xls"),document.body.appendChild(Ut),Ut.click(),URL.revokeObjectURL(Dt),document.body.removeChild(Ut)},_t=be=>{const We=be.target.tagName;be.target.isContentEditable||We==="INPUT"||We==="TEXTAREA"||be.ctrlKey&&be.altKey&&be.key==="z"&&(be.preventDefault(),Pt())};return yl(()=>{A&&(clearInterval(A),A=null),b(),Q.cancelSubtitleRequest(),document.removeEventListener("keydown",_t)}),(be,We)=>{var Kt,J,oe,Ue,ke,ft,Ct;const Ie=mh,nt=_a,Dt=Th,Ut=Eh,Tt=bI,ht=mv;return fe(),Ae(Si,null,[ve("div",qO,[ve("div",XO,[ve("div",QO,[ve("div",ZO,[re(nt,{type:"text",size:"large",class:"back-button",onClick:_e},{icon:Oe(()=>[re(Ie)]),_:1}),ve("div",JO,[a.courseInfo.isGroupCourse?(fe(),Ae(Si,{key:0},[ve("h1",eM,Ht(((Kt=a.courseInfo.mainCourse)==null?void 0:Kt.title)||"加载中..."),1),(J=a.courseInfo.lessonCourse)!=null&&J.title?(fe(),Ae("span",tM,Ht(a.courseInfo.lessonCourse.title),1)):ze("",!0)],64)):(fe(),Ae("h1",iM,Ht(((oe=a.courseInfo.lessonCourse)==null?void 0:oe.title)||"加载中..."),1))])])])]),ve("div",nM,[((ke=(Ue=a.studyConfig.catalog)==null?void 0:Ue.courses)==null?void 0:ke.length)>
2980?(fe(),Ae("div",{key:0,class:Ni(["chapter-panel",{collapsed:!M.value}])},[ve("div",rM,[re(RA,{visible:M.value,chapters:a.studyConfig.catalog.courses,"current-lesson-id":a.courseId,onSelectCourse:Te,onClose:Re},null,8,["visible","chapters","current-lesson-id"])]),re(nt,{class:"panel-toggle-btn",type:M.value?"text":"primary",size:"small",onClick:We[0]||(We[0]=bi=>M.value=!M.value)},{icon:Oe(()=>[M.value?(fe(),kt(Dt,{key:0})):(fe(),kt(Ut,{key:1}))]),default:Oe(()=>[M.value?ze("",!0):(fe(),Ae("span",sM,"章节"))]),_:1},8,["type"])],2)):ze("",!0),ve("div",aM,[ve("div",oM,[a.studyConfig.permission&&de(_)?(fe(),kt(zO,{key:0,ref_key:"playerRef",ref:B,address:de(d),last_time:de(g),poster:n.value,onTimeUpdate:ce,onPlayStateChange:Qe},null,8,["address","last_time","poster"])):(fe(),Ae("div",lM,[n.value?(fe(),Ae("div",uM,[ve("div",{class:"base-background left-base",style:Is({backgroundImage:`url(${n.value})`})},null,4),ve("div",{class:"base-background right-base",style:Is({backgroundImage:`url(${n.value})`})},null,4),ve("div",cM,[ve("img",{src:n.value,alt:a.courseInfo.mainCourse.title},null,8,hM)]),We[2]||(We[2]=ve("div",{class:"glass-overlay left-glass"},null,-1)),We[3]||(We[3]=ve("div",{class:"glass-overlay right-glass"},null,-1))])):ze("",!0),de(l)?(fe(),Ae("div",fM,[ve("div",dM,[re(Tt,{size:"large"}),We[4]||(We[4]=ve("span",null,"加载中...",-1))])])):a.studyConfig.permission?(fe(),Ae("div",gM,[ve("div",pM,[ve("div",mM,Ht(((ft=a.courseInfo.lessonCourse)==null?void 0:ft.title)||((Ct=a.courseInfo.lessonCourse)==null?void 0:Ct.title)),1),ve("div",vM,Ht(w.value),1),R.value<a.courseInfo.endDateTime&&a.courseInfo.participationApproach&&a.courseInfo.participationApproach.type!==0?(fe(),kt(wI,{key:0,class:"playback-overlay__participation",approach:a.courseInfo.participationApproach},null,8,["approach"])):ze("",!0)])])):(fe(),kt(PI,{key:3,"purchase-data":a.studyConfig.purchase,onPurchase:pt,onPackagePurchase:He},null,8,["purchase-data"]))]))]),P.value?(fe(),kt(lC,{key:0,"is-playing":Y.value,onPlayerPause:ue,onPlayerPlay:me},null,8,["is-playing"])):ze("",!0)]),de(m).length>0&&(de(v).length>0||de(y))?(fe(),Ae("div",{key:1,class:Ni(["outline-panel-container",{collapsed:!O.value}])},[re(nt,{class:"panel-toggle-btn",type:O.value?"text":"primary",size:"small",onClick:We[1]||(We[1]=bi=>O.value=!O.value)},{icon:Oe(()=>[O.value?(fe(),kt(Dt,{key:0})):(fe(),kt(Ut,{key:1}))]),default:Oe(()=>[O.value?ze("",!0):(fe(),Ae("span",yM,"大纲"))]),_:1},8,["type"]),ve("div",TM,[ve("div",EM,[re(tC,{visible:O.value,outlines:de(m),ppts:de(v),"has-subtitles":de(y),"current-time":H.value,onSeekTo:ne,onPlayerPause:ue,onPlayerPlay:me},null,8,["visible","outlines","ppts","has-subtitles","current-time"])])])],2)):ze("",!0)])]),de(u)?(fe(),Ae("div",_M,[re(ht,{status:"error",title:"加载失败","sub-title":de(u).message||"请稍后重试"},{extra:Oe(()=>[re(nt,{type:"primary",onClick:de(x)},{default:Oe(()=>We[5]||(We[5]=[jt(" 重新加载 ")])),_:1,__:[5]},8,["onClick"])]),_:1},8,["sub-title"])])):ze("",!0),re(YI,{"payment-data":a.studyConfig.payment,"course-id":a.courseInfo.id},null,8,["payment-data","course-id"]),re(DI,{"package-id":o.value},null,8,["package-id"])],64)}}},xM=Br(SM,[["__scopeId","data-v-82cb27b1"]]),bM={key:0,class:"course-subtitle-ranking"},IM={class:"section-title"},AM={key:0,class:"section-title-extra"},CM={class:"subtitle-ranking-list"},LM={class:"subtitle-ranking-item__left"},RM={class:"subtitle-ranking-index"},kM=["href"],wM={class:"subtitle-ranking-name"},PM={class:"subtitle-ranking-count"},DM={__name:"CourseSubtitleRanking",props:{userCounts:{type:Array,default:()=>[]},maxDisplay:{type:Number,default:5},totalSubtitles:{type:[Number,String],default:0}},setup(a){const e=a,t=Je(()=>(e.userCounts||[]).slice(0,e.maxDisplay)),n=Je(()=>{const i=Number(e.totalSubtitles);return Number.isFinite(i)?i:0});return(i,r)=>t.value.length?(fe(),Ae("div",bM,[ve("h3",IM,[r[0]||(r[0]=jt(" 字幕编辑排行 ")),n.value>0?(fe(),Ae("span",AM,"(共"+Ht(n.value)+"行字幕)",1)):ze("",!0)]),ve("div",CM,[(fe(!0),Ae(Si,null,Dr(t.value,(s,o)=>{var l;return fe(),Ae("div",{key:`${s.user_id??"user"}-${o}`,class:"subtitle-ranking-item"},[ve("div",LM,[ve("span",RM,Ht(o+1)+".",1),ve("a",{href:de(AI)(s.user_id
298),target:"_blank",rel:"noopener",class:"subtitle-ranking-user"},[re(CI,{user:s.user,size:36},null,8,["user"]),ve("span",wM,Ht(((l=s.user)==null?void 0:l.nick_name)||"匿名用户"),1)],8,kM)]),ve("span",PM,Ht(s.count),1)])}),128))])])):ze("",!0)}},OM=Br(DM,[["__scopeId","data-v-3f4790e0"]]),MM={class:"course-study-container"},FM={key:0,class:"course-loading"},NM={class:"study-main-skeleton"},BM={class:"skeleton-card"},UM={class:"course-study-layout"},$M={class:"course-study-main"},GM={class:"course-content-sections"},HM={class:"skeleton-card"},VM={class:"skeleton-masters"},KM={class:"skeleton-card"},WM={class:"course-study-sidebar"},YM={class:"skeleton-card"},zM={class:"skeleton-card"},jM={key:1,class:"course-redirect"},qM={key:2,class:"course-error"},XM={key:0},QM={key:1,class:"study-main-skeleton"},ZM={class:"skeleton-card"},JM={class:"course-study-layout"},e2={class:"course-study-main"},t2={class:"course-content-sections"},i2={class:"course-study-sidebar"},n2={__name:"CourseStudy",setup(a){const e=RI(),t=vl(),{isLoggedIn:n}=LI(t),i=Je(()=>Number(e.params.id)),r=Je(()=>e.params.lessonId?Number(e.params.lessonId):null),s=Je(()=>e.params.sectionId?Number(e.params.sectionId):null),{courseInfo:o,playCourseId:l,playParentCourseId:u,studyConfig:h,mastersData:d,documentData:g,parentPathData:m,interpretationPapersData:v,relatedPapersData:T,learnPathsData:y,recommendationsData:_,loading:x,error:b,loadCourses:R,redirectInstruction:A}=EA(i,r,s),F=ot({counts:[],total:0}),w=Je(()=>l.value!==null&&l.value!==void 0),M=()=>{R()},O=()=>{R()},P=(ee={})=>{if(!ee||typeof ee!="object"){F.value={counts:[],total:0};return}const le=Array.isArray(ee.counts)?ee.counts:[],ae=Number(ee.total);F.value={counts:le,total:Number.isFinite(ae)?ae:0}};ph(()=>{R()});const K=OI(A);return(ee,le)=>{const ae=XI,q=ZI,B=QI,H=mv,Y=_a;return fe(),Ae(Si,null,[ve("div",MM,[de(x)?(fe(),Ae("div",FM,[ve("div",NM,[ve("div",BM,[re(ae,{active:"",paragraph:{rows:6}})])]),ve("div",UM,[ve("div",$M,[ve("div",GM,[ve("div",HM,[re(ae,{active:"",paragraph:{rows:2}},{default:Oe(()=>[ve("div",VM,[(fe(),Ae(Si,null,Dr(4,Q=>re(q,{key:Q,size:80})),64))])]),_:1})]),ve("div",KM,[re(ae,{active:"",paragraph:{rows:8}})])])]),ve("div",WM,[ve("div",YM,[re(ae,{active:"",paragraph:{rows:3}},{default:Oe(()=>[re(B,{style:{width:"100%",height:"120px"}})]),_:1}),re(ae,{active:"",paragraph:{rows:2}})]),ve("div",zM,[re(ae,{active:"",paragraph:{rows:2}},{default:Oe(()=>[re(B,{style:{width:"100%",height:"120px"}})]),_:1}),re(ae,{active:"",paragraph:{rows:1}})])])])])):de(K).isActive?(fe(),Ae("div",jM,[re(H,{status:de(K).status,title:de(K).title,"sub-title":de(K).subTitle},null,8,["status","title","sub-title"])])):de(b)?(fe(),Ae("div",qM,[re(H,{status:"500",title:"加载失败","sub-title":de(b).message||"课程信息加载失败,请稍后重试"},{extra:Oe(()=>[re(Y,{type:"primary",onClick:de(R)},{default:Oe(()=>le[0]||(le[0]=[jt("重新加载")])),_:1,__:[0]},8,["onClick"])]),_:1},8,["sub-title"])])):(fe(),Ae(Si,{key:3},[w.value?(fe(),Ae("div",XM,[re(xM,{"course-info":de(o),"course-id":de(l),"parent-course-id":de(u),"study-config":de(h),onEnrollSuccess:M,onPackagePurchaseSuccess:O,onSubtitleEditRankingChange:P},null,8,["course-info","course-id","parent-course-id","study-config"])])
298):(fe(),Ae("div",QM,[ve("div",ZM,[re(ae,{active:"",paragraph:{rows:6}})])])),ve("div",JM,[ve("div",e2,[ve("div",t2,[de(m).showParentPath?(fe(),kt(MI,{key:0,"parent-courses":de(m).parentCourses},null,8,["parent-courses"])):ze("",!0),de(d).masters&&de(d).masters.length>0?(fe(),kt(FI,{key:1,"masters-data":de(d)},null,8,["masters-data"])):ze("",!0),de(v).length>0?(fe(),kt(NI,{key:2,"interpretation-papers":de(v)},null,8,["interpretation-papers"])):ze("",!0),re(BI,{"document-data":de(g)},null,8,["document-data"])])]),ve("div",i2,[F.value.counts.length?(fe(),kt(OM,{key:0,"user-counts":F.value.counts,"total-subtitles":F.value.total},null,8,["user-counts","total-subtitles"])):ze("",!0),de(y).learnPaths&&de(y).learnPaths.length>0?(fe(),kt(zI,{key:1,"learn-paths-data":de(y)},null,8,["learn-paths-data"])):ze("",!0),de(T).length>0?(fe(),kt(jI,{key:2,"related-papers":de(T)},null,8,["related-papers"])):ze("",!0),de(_).courses&&de(_).courses.length>0?(fe(),kt(UI,{key:3,"recommendations-data":de(_)},null,8,["recommendations-data"])):ze("",!0)])])],64))]),re(qI),de(o).hasSeries?(fe(),kt($I,{key:0,"participation-image-url":de(o).participationImageUrl},null,8,["participation-image-url"])):ze("",!0)],64)}}},p2=Br(n2,[["__scopeId","data-v-a80362af"]]);export{p2 as default};

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.