@vkontakte/videoplayer-core 2.0.141-dev.2c7398f8.0 → 2.0.141-dev.3be2f83a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015.cjs.js +4 -4
- package/es2015.esm.js +7 -7
- package/es2018.cjs.js +5 -5
- package/es2018.esm.js +7 -7
- package/es2024.cjs.js +5 -5
- package/es2024.esm.js +5 -5
- package/esnext.cjs.js +5 -5
- package/esnext.esm.js +5 -5
- package/evergreen.esm.js +3 -3
- package/package.json +2 -2
package/es2018.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.141-dev.
|
|
3
|
-
*
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.141-dev.3be2f83a.0
|
|
3
|
+
* Tue, 30 Sep 2025 11:29:04 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/2-0-141/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";var Oy=Object.create;var Ma=Object.defineProperty;var Fy=Object.getOwnPropertyDescriptor;var Ny=Object.getOwnPropertyNames;var qy=Object.getPrototypeOf,Uy=Object.prototype.hasOwnProperty;var v=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Hy=(s,e)=>{for(var t in e)Ma(s,t,{get:e[t],enumerable:!0})},ud=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ny(e))!Uy.call(s,r)&&r!==t&&Ma(s,r,{get:()=>e[r],enumerable:!(i=Fy(e,r))||i.enumerable});return s};var K=(s,e,t)=>(t=s!=null?Oy(qy(s)):{},ud(e||!s||!s.__esModule?Ma(t,"default",{value:s,enumerable:!0}):t,s)),jy=s=>ud(Ma({},"__esModule",{value:!0}),s);var Te=v((Ro,ld)=>{"use strict";var jr=function(s){return s&&s.Math===Math&&s};ld.exports=jr(typeof globalThis=="object"&&globalThis)||jr(typeof window=="object"&&window)||jr(typeof self=="object"&&self)||jr(typeof global=="object"&&global)||jr(typeof Ro=="object"&&Ro)||function(){return this}()||Function("return this")()});var Re=v((B$,cd)=>{"use strict";cd.exports=function(s){try{return!!s()}catch(e){return!0}}});var Qr=v((V$,dd)=>{"use strict";var Qy=Re();dd.exports=!Qy(function(){var s=function(){}.bind();return typeof s!="function"||s.hasOwnProperty("prototype")})});var Po=v((_$,md)=>{"use strict";var Wy=Qr(),fd=Function.prototype,pd=fd.apply,hd=fd.call;md.exports=typeof Reflect=="object"&&Reflect.apply||(Wy?hd.bind(pd):function(){return hd.apply(pd,arguments)})});var Pe=v((O$,Sd)=>{"use strict";var bd=Qr(),gd=Function.prototype,ko=gd.call,Gy=bd&&gd.bind.bind(ko,ko);Sd.exports=bd?Gy:function(s){return function(){return ko.apply(s,arguments)}}});var Ei=v((F$,yd)=>{"use strict";var vd=Pe(),zy=vd({}.toString),Yy=vd("".slice);yd.exports=function(s){return Yy(zy(s),8,-1)}});var Lo=v((N$,Td)=>{"use strict";var Ky=Ei(),Xy=Pe();Td.exports=function(s){if(Ky(s)==="Function")return Xy(s)}});var Ie=v((q$,Id)=>{"use strict";var $o=typeof document=="object"&&document.all;Id.exports=typeof $o=="undefined"&&$o!==void 0?function(s){return typeof s=="function"||s===$o}:function(s){return typeof s=="function"}});var Xe=v((U$,Ed)=>{"use strict";var Jy=Re();Ed.exports=!Jy(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Je=v((H$,xd)=>{"use strict";var Zy=Qr(),Ba=Function.prototype.call;xd.exports=Zy?Ba.bind(Ba):function(){return Ba.apply(Ba,arguments)}});var Mo=v(Rd=>{"use strict";var wd={}.propertyIsEnumerable,Ad=Object.getOwnPropertyDescriptor,eT=Ad&&!wd.call({1:2},1);Rd.f=eT?function(e){var t=Ad(this,e);return!!t&&t.enumerable}:wd});var Wr=v((Q$,Pd)=>{"use strict";Pd.exports=function(s,e){return{enumerable:!(s&1),configurable:!(s&2),writable:!(s&4),value:e}}});var Ld=v((W$,kd)=>{"use strict";var tT=Pe(),iT=Re(),rT=Ei(),Do=Object,sT=tT("".split);kd.exports=iT(function(){return!Do("z").propertyIsEnumerable(0)})?function(s){return rT(s)==="String"?sT(s,""):Do(s)}:Do});var Gr=v((G$,$d)=>{"use strict";$d.exports=function(s){return s==null}});var ri=v((z$,Md)=>{"use strict";var aT=Gr(),nT=TypeError;Md.exports=function(s){if(aT(s))throw new nT("Can't call method on "+s);return s}});var xi=v((Y$,Dd)=>{"use strict";var oT=Ld(),uT=ri();Dd.exports=function(s){return oT(uT(s))}});var qe=v((K$,Cd)=>{"use strict";var lT=Ie();Cd.exports=function(s){return typeof s=="object"?s!==null:lT(s)}});var wi=v((X$,Bd)=>{"use strict";Bd.exports={}});var Ot=v((J$,_d)=>{"use strict";var Co=wi(),Bo=Te(),cT=Ie(),Vd=function(s){return cT(s)?s:void 0};_d.exports=function(s,e){return arguments.length<2?Vd(Co[s])||Vd(Bo[s]):Co[s]&&Co[s][e]||Bo[s]&&Bo[s][e]}});var zr=v((Z$,Od)=>{"use strict";var dT=Pe();Od.exports=dT({}.isPrototypeOf)});var Ai=v((eM,qd)=>{"use strict";var pT=Te(),Fd=pT.navigator,Nd=Fd&&Fd.userAgent;qd.exports=Nd?String(Nd):""});var _o=v((tM,Gd)=>{"use strict";var Wd=Te(),Vo=Ai(),Ud=Wd.process,Hd=Wd.Deno,jd=Ud&&Ud.versions||Hd&&Hd.version,Qd=jd&&jd.v8,ft,Va;Qd&&(ft=Qd.split("."),Va=ft[0]>0&&ft[0]<4?1:+(ft[0]+ft[1]));!Va&&Vo&&(ft=Vo.match(/Edge\/(\d+)/),(!ft||ft[1]>=74)&&(ft=Vo.match(/Chrome\/(\d+)/),ft&&(Va=+ft[1])));Gd.exports=Va});var Oo=v((iM,Yd)=>{"use strict";var zd=_o(),hT=Re(),fT=Te(),mT=fT.String;Yd.exports=!!Object.getOwnPropertySymbols&&!hT(function(){var s=Symbol("symbol detection");return!mT(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&zd&&zd<41})});var Fo=v((rM,Kd)=>{"use strict";var bT=Oo();Kd.exports=bT&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var No=v((sM,Xd)=>{"use strict";var gT=Ot(),ST=Ie(),vT=zr(),yT=Fo(),TT=Object;Xd.exports=yT?function(s){return typeof s=="symbol"}:function(s){var e=gT("Symbol");return ST(e)&&vT(e.prototype,TT(s))}});var Yr=v((aM,Jd)=>{"use strict";var IT=String;Jd.exports=function(s){try{return IT(s)}catch(e){return"Object"}}});var At=v((nM,Zd)=>{"use strict";var ET=Ie(),xT=Yr(),wT=TypeError;Zd.exports=function(s){if(ET(s))return s;throw new wT(xT(s)+" is not a function")}});var Kr=v((oM,ep)=>{"use strict";var AT=At(),RT=Gr();ep.exports=function(s,e){var t=s[e];return RT(t)?void 0:AT(t)}});var ip=v((uM,tp)=>{"use strict";var qo=Je(),Uo=Ie(),Ho=qe(),PT=TypeError;tp.exports=function(s,e){var t,i;if(e==="string"&&Uo(t=s.toString)&&!Ho(i=qo(t,s))||Uo(t=s.valueOf)&&!Ho(i=qo(t,s))||e!=="string"&&Uo(t=s.toString)&&!Ho(i=qo(t,s)))return i;throw new PT("Can't convert object to primitive value")}});var mt=v((lM,rp)=>{"use strict";rp.exports=!0});var np=v((cM,ap)=>{"use strict";var sp=Te(),kT=Object.defineProperty;ap.exports=function(s,e){try{kT(sp,s,{value:e,configurable:!0,writable:!0})}catch(t){sp[s]=e}return e}});var Xr=v((dM,lp)=>{"use strict";var LT=mt(),$T=Te(),MT=np(),op="__core-js_shared__",up=lp.exports=$T[op]||MT(op,{});(up.versions||(up.versions=[])).push({version:"3.43.0",mode:LT?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var jo=v((pM,dp)=>{"use strict";var cp=Xr();dp.exports=function(s,e){return cp[s]||(cp[s]=e||{})}});var Ji=v((hM,pp)=>{"use strict";var DT=ri(),CT=Object;pp.exports=function(s){return CT(DT(s))}});var bt=v((fM,hp)=>{"use strict";var BT=Pe(),VT=Ji(),_T=BT({}.hasOwnProperty);hp.exports=Object.hasOwn||function(e,t){return _T(VT(e),t)}});var Qo=v((mM,fp)=>{"use strict";var OT=Pe(),FT=0,NT=Math.random(),qT=OT(1.1.toString);fp.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+qT(++FT+NT,36)}});var De=v((bM,bp)=>{"use strict";var UT=Te(),HT=jo(),mp=bt(),jT=Qo(),QT=Oo(),WT=Fo(),Zi=UT.Symbol,Wo=HT("wks"),GT=WT?Zi.for||Zi:Zi&&Zi.withoutSetter||jT;bp.exports=function(s){return mp(Wo,s)||(Wo[s]=QT&&mp(Zi,s)?Zi[s]:GT("Symbol."+s)),Wo[s]}});var yp=v((gM,vp)=>{"use strict";var zT=Je(),gp=qe(),Sp=No(),YT=Kr(),KT=ip(),XT=De(),JT=TypeError,ZT=XT("toPrimitive");vp.exports=function(s,e){if(!gp(s)||Sp(s))return s;var t=YT(s,ZT),i;if(t){if(e===void 0&&(e="default"),i=zT(t,s,e),!gp(i)||Sp(i))return i;throw new JT("Can't convert object to primitive value")}return e===void 0&&(e="number"),KT(s,e)}});var Go=v((SM,Tp)=>{"use strict";var eI=yp(),tI=No();Tp.exports=function(s){var e=eI(s,"string");return tI(e)?e:e+""}});var _a=v((vM,Ep)=>{"use strict";var iI=Te(),Ip=qe(),zo=iI.document,rI=Ip(zo)&&Ip(zo.createElement);Ep.exports=function(s){return rI?zo.createElement(s):{}}});var Yo=v((yM,xp)=>{"use strict";var sI=Xe(),aI=Re(),nI=_a();xp.exports=!sI&&!aI(function(){return Object.defineProperty(nI("div"),"a",{get:function(){return 7}}).a!==7})});var Rp=v(Ap=>{"use strict";var oI=Xe(),uI=Je(),lI=Mo(),cI=Wr(),dI=xi(),pI=Go(),hI=bt(),fI=Yo(),wp=Object.getOwnPropertyDescriptor;Ap.f=oI?wp:function(e,t){if(e=dI(e),t=pI(t),fI)try{return wp(e,t)}catch(i){}if(hI(e,t))return cI(!uI(lI.f,e,t),e[t])}});var Ko=v((IM,Pp)=>{"use strict";var mI=Re(),bI=Ie(),gI=/#|\.prototype\./,Jr=function(s,e){var t=vI[SI(s)];return t===TI?!0:t===yI?!1:bI(e)?mI(e):!!e},SI=Jr.normalize=function(s){return String(s).replace(gI,".").toLowerCase()},vI=Jr.data={},yI=Jr.NATIVE="N",TI=Jr.POLYFILL="P";Pp.exports=Jr});var er=v((EM,Lp)=>{"use strict";var kp=Lo(),II=At(),EI=Qr(),xI=kp(kp.bind);Lp.exports=function(s,e){return II(s),e===void 0?s:EI?xI(s,e):function(){return s.apply(e,arguments)}}});var Xo=v((xM,$p)=>{"use strict";var wI=Xe(),AI=Re();$p.exports=wI&&AI(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Rt=v((wM,Mp)=>{"use strict";var RI=qe(),PI=String,kI=TypeError;Mp.exports=function(s){if(RI(s))return s;throw new kI(PI(s)+" is not an object")}});var Ri=v(Cp=>{"use strict";var LI=Xe(),$I=Yo(),MI=Xo(),Oa=Rt(),Dp=Go(),DI=TypeError,Jo=Object.defineProperty,CI=Object.getOwnPropertyDescriptor,Zo="enumerable",eu="configurable",tu="writable";Cp.f=LI?MI?function(e,t,i){if(Oa(e),t=Dp(t),Oa(i),typeof e=="function"&&t==="prototype"&&"value"in i&&tu in i&&!i[tu]){var r=CI(e,t);r&&r[tu]&&(e[t]=i.value,i={configurable:eu in i?i[eu]:r[eu],enumerable:Zo in i?i[Zo]:r[Zo],writable:!1})}return Jo(e,t,i)}:Jo:function(e,t,i){if(Oa(e),t=Dp(t),Oa(i),$I)try{return Jo(e,t,i)}catch(r){}if("get"in i||"set"in i)throw new DI("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var tr=v((RM,Bp)=>{"use strict";var BI=Xe(),VI=Ri(),_I=Wr();Bp.exports=BI?function(s,e,t){return VI.f(s,e,_I(1,t))}:function(s,e,t){return s[e]=t,s}});var we=v((PM,_p)=>{"use strict";var Zr=Te(),OI=Po(),FI=Lo(),NI=Ie(),qI=Rp().f,UI=Ko(),ir=wi(),HI=er(),rr=tr(),Vp=bt();Xr();var jI=function(s){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new s;case 1:return new s(t);case 2:return new s(t,i)}return new s(t,i,r)}return OI(s,this,arguments)};return e.prototype=s.prototype,e};_p.exports=function(s,e){var t=s.target,i=s.global,r=s.stat,a=s.proto,n=i?Zr:r?Zr[t]:Zr[t]&&Zr[t].prototype,o=i?ir:ir[t]||rr(ir,t,{})[t],u=o.prototype,l,c,d,f,p,h,b,S,g;for(f in e)l=UI(i?f:t+(r?".":"#")+f,s.forced),c=!l&&n&&Vp(n,f),h=o[f],c&&(s.dontCallGetSet?(g=qI(n,f),b=g&&g.value):b=n[f]),p=c&&b?b:e[f],!(!l&&!a&&typeof h==typeof p)&&(s.bind&&c?S=HI(p,Zr):s.wrap&&c?S=jI(p):a&&NI(p)?S=FI(p):S=p,(s.sham||p&&p.sham||h&&h.sham)&&rr(S,"sham",!0),rr(o,f,S),a&&(d=t+"Prototype",Vp(ir,d)||rr(ir,d,{}),rr(ir[d],f,p),s.real&&u&&(l||!u[f])&&rr(u,f,p)))}});var Fa=v((kM,Fp)=>{"use strict";var QI=jo(),WI=Qo(),Op=QI("keys");Fp.exports=function(s){return Op[s]||(Op[s]=WI(s))}});var qp=v((LM,Np)=>{"use strict";var GI=Re();Np.exports=!GI(function(){function s(){}return s.prototype.constructor=null,Object.getPrototypeOf(new s)!==s.prototype})});var Na=v(($M,Hp)=>{"use strict";var zI=bt(),YI=Ie(),KI=Ji(),XI=Fa(),JI=qp(),Up=XI("IE_PROTO"),iu=Object,ZI=iu.prototype;Hp.exports=JI?iu.getPrototypeOf:function(s){var e=KI(s);if(zI(e,Up))return e[Up];var t=e.constructor;return YI(t)&&e instanceof t?t.prototype:e instanceof iu?ZI:null}});var Qp=v((MM,jp)=>{"use strict";var eE=Math.ceil,tE=Math.floor;jp.exports=Math.trunc||function(e){var t=+e;return(t>0?tE:eE)(t)}});var es=v((DM,Wp)=>{"use strict";var iE=Qp();Wp.exports=function(s){var e=+s;return e!==e||e===0?0:iE(e)}});var zp=v((CM,Gp)=>{"use strict";var rE=es(),sE=Math.max,aE=Math.min;Gp.exports=function(s,e){var t=rE(s);return t<0?sE(t+e,0):aE(t,e)}});var ru=v((BM,Yp)=>{"use strict";var nE=es(),oE=Math.min;Yp.exports=function(s){var e=nE(s);return e>0?oE(e,9007199254740991):0}});var sr=v((VM,Kp)=>{"use strict";var uE=ru();Kp.exports=function(s){return uE(s.length)}});var su=v((_M,Jp)=>{"use strict";var lE=xi(),cE=zp(),dE=sr(),Xp=function(s){return function(e,t,i){var r=lE(e),a=dE(r);if(a===0)return!s&&-1;var n=cE(i,a),o;if(s&&t!==t){for(;a>n;)if(o=r[n++],o!==o)return!0}else for(;a>n;n++)if((s||n in r)&&r[n]===t)return s||n||0;return!s&&-1}};Jp.exports={includes:Xp(!0),indexOf:Xp(!1)}});var qa=v((OM,Zp)=>{"use strict";Zp.exports={}});var ih=v((FM,th)=>{"use strict";var pE=Pe(),au=bt(),hE=xi(),fE=su().indexOf,mE=qa(),eh=pE([].push);th.exports=function(s,e){var t=hE(s),i=0,r=[],a;for(a in t)!au(mE,a)&&au(t,a)&&eh(r,a);for(;e.length>i;)au(t,a=e[i++])&&(~fE(r,a)||eh(r,a));return r}});var nu=v((NM,rh)=>{"use strict";rh.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ou=v((qM,sh)=>{"use strict";var bE=ih(),gE=nu();sh.exports=Object.keys||function(e){return bE(e,gE)}});var uu=v((UM,lh)=>{"use strict";var nh=Xe(),SE=Re(),oh=Pe(),vE=Na(),yE=ou(),TE=xi(),IE=Mo().f,uh=oh(IE),EE=oh([].push),xE=nh&&SE(function(){var s=Object.create(null);return s[2]=2,!uh(s,2)}),ah=function(s){return function(e){for(var t=TE(e),i=yE(t),r=xE&&vE(t)===null,a=i.length,n=0,o=[],u;a>n;)u=i[n++],(!nh||(r?u in t:uh(t,u)))&&EE(o,s?[u,t[u]]:t[u]);return o}};lh.exports={entries:ah(!0),values:ah(!1)}});var ch=v(()=>{"use strict";var wE=we(),AE=uu().values;wE({target:"Object",stat:!0},{values:function(e){return AE(e)}})});var ph=v((QM,dh)=>{"use strict";ch();var RE=wi();dh.exports=RE.Object.values});var fh=v((WM,hh)=>{"use strict";var PE=ph();hh.exports=PE});var Pi=v((GM,mh)=>{"use strict";var kE=fh();mh.exports=kE});var ts=v((zM,bh)=>{"use strict";bh.exports=function(){}});var gh=v(()=>{"use strict";var LE=we(),$E=su().includes,ME=Re(),DE=ts(),CE=ME(function(){return!Array(1).includes()});LE({target:"Array",proto:!0,forced:CE},{includes:function(e){return $E(this,e,arguments.length>1?arguments[1]:void 0)}});DE("includes")});var si=v((XM,Sh)=>{"use strict";var BE=Ot();Sh.exports=BE});var yh=v((JM,vh)=>{"use strict";gh();var VE=si();vh.exports=VE("Array","includes")});var Ih=v((ZM,Th)=>{"use strict";var _E=yh();Th.exports=_E});var Ue=v((eD,Eh)=>{"use strict";var OE=Ih();Eh.exports=OE});var wh=v(()=>{"use strict";var NE=we(),qE=uu().entries;NE({target:"Object",stat:!0},{entries:function(e){return qE(e)}})});var Rh=v((hD,Ah)=>{"use strict";wh();var UE=wi();Ah.exports=UE.Object.entries});var kh=v((fD,Ph)=>{"use strict";var HE=Rh();Ph.exports=HE});var ar=v((mD,Lh)=>{"use strict";var jE=kh();Lh.exports=jE});var ki=v((bD,$h)=>{"use strict";$h.exports={}});var Ch=v((gD,Dh)=>{"use strict";var QE=Te(),WE=Ie(),Mh=QE.WeakMap;Dh.exports=WE(Mh)&&/native code/.test(String(Mh))});var pu=v((SD,_h)=>{"use strict";var GE=Ch(),Vh=Te(),zE=qe(),YE=tr(),lu=bt(),cu=Xr(),KE=Fa(),XE=qa(),Bh="Object already initialized",du=Vh.TypeError,JE=Vh.WeakMap,Ha,is,ja,ZE=function(s){return ja(s)?is(s):Ha(s,{})},ex=function(s){return function(e){var t;if(!zE(e)||(t=is(e)).type!==s)throw new du("Incompatible receiver, "+s+" required");return t}};GE||cu.state?(gt=cu.state||(cu.state=new JE),gt.get=gt.get,gt.has=gt.has,gt.set=gt.set,Ha=function(s,e){if(gt.has(s))throw new du(Bh);return e.facade=s,gt.set(s,e),e},is=function(s){return gt.get(s)||{}},ja=function(s){return gt.has(s)}):(Li=KE("state"),XE[Li]=!0,Ha=function(s,e){if(lu(s,Li))throw new du(Bh);return e.facade=s,YE(s,Li,e),e},is=function(s){return lu(s,Li)?s[Li]:{}},ja=function(s){return lu(s,Li)});var gt,Li;_h.exports={set:Ha,get:is,has:ja,enforce:ZE,getterFor:ex}});var mu=v((vD,Fh)=>{"use strict";var hu=Xe(),tx=bt(),Oh=Function.prototype,ix=hu&&Object.getOwnPropertyDescriptor,fu=tx(Oh,"name"),rx=fu&&function(){}.name==="something",sx=fu&&(!hu||hu&&ix(Oh,"name").configurable);Fh.exports={EXISTS:fu,PROPER:rx,CONFIGURABLE:sx}});var qh=v(Nh=>{"use strict";var ax=Xe(),nx=Xo(),ox=Ri(),ux=Rt(),lx=xi(),cx=ou();Nh.f=ax&&!nx?Object.defineProperties:function(e,t){ux(e);for(var i=lx(t),r=cx(t),a=r.length,n=0,o;a>n;)ox.f(e,o=r[n++],i[o]);return e}});var bu=v((TD,Uh)=>{"use strict";var dx=Ot();Uh.exports=dx("document","documentElement")});var yu=v((ID,Yh)=>{"use strict";var px=Rt(),hx=qh(),Hh=nu(),fx=qa(),mx=bu(),bx=_a(),gx=Fa(),jh=">",Qh="<",Su="prototype",vu="script",Gh=gx("IE_PROTO"),gu=function(){},zh=function(s){return Qh+vu+jh+s+Qh+"/"+vu+jh},Wh=function(s){s.write(zh("")),s.close();var e=s.parentWindow.Object;return s=null,e},Sx=function(){var s=bx("iframe"),e="java"+vu+":",t;return s.style.display="none",mx.appendChild(s),s.src=String(e),t=s.contentWindow.document,t.open(),t.write(zh("document.F=Object")),t.close(),t.F},Qa,Wa=function(){try{Qa=new ActiveXObject("htmlfile")}catch(e){}Wa=typeof document!="undefined"?document.domain&&Qa?Wh(Qa):Sx():Wh(Qa);for(var s=Hh.length;s--;)delete Wa[Su][Hh[s]];return Wa()};fx[Gh]=!0;Yh.exports=Object.create||function(e,t){var i;return e!==null?(gu[Su]=px(e),i=new gu,gu[Su]=null,i[Gh]=e):i=Wa(),t===void 0?i:hx.f(i,t)}});var nr=v((ED,Kh)=>{"use strict";var vx=tr();Kh.exports=function(s,e,t,i){return i&&i.enumerable?s[e]=t:vx(s,e,t),s}});var xu=v((xD,Zh)=>{"use strict";var yx=Re(),Tx=Ie(),Ix=qe(),Ex=yu(),Xh=Na(),xx=nr(),wx=De(),Ax=mt(),Eu=wx("iterator"),Jh=!1,Ft,Tu,Iu;[].keys&&(Iu=[].keys(),"next"in Iu?(Tu=Xh(Xh(Iu)),Tu!==Object.prototype&&(Ft=Tu)):Jh=!0);var Rx=!Ix(Ft)||yx(function(){var s={};return Ft[Eu].call(s)!==s});Rx?Ft={}:Ax&&(Ft=Ex(Ft));Tx(Ft[Eu])||xx(Ft,Eu,function(){return this});Zh.exports={IteratorPrototype:Ft,BUGGY_SAFARI_ITERATORS:Jh}});var Ga=v((wD,tf)=>{"use strict";var Px=De(),kx=Px("toStringTag"),ef={};ef[kx]="z";tf.exports=String(ef)==="[object z]"});var rs=v((AD,rf)=>{"use strict";var Lx=Ga(),$x=Ie(),za=Ei(),Mx=De(),Dx=Mx("toStringTag"),Cx=Object,Bx=za(function(){return arguments}())==="Arguments",Vx=function(s,e){try{return s[e]}catch(t){}};rf.exports=Lx?za:function(s){var e,t,i;return s===void 0?"Undefined":s===null?"Null":typeof(t=Vx(e=Cx(s),Dx))=="string"?t:Bx?za(e):(i=za(e))==="Object"&&$x(e.callee)?"Arguments":i}});var af=v((RD,sf)=>{"use strict";var _x=Ga(),Ox=rs();sf.exports=_x?{}.toString:function(){return"[object "+Ox(this)+"]"}});var ss=v((PD,of)=>{"use strict";var Fx=Ga(),Nx=Ri().f,qx=tr(),Ux=bt(),Hx=af(),jx=De(),nf=jx("toStringTag");of.exports=function(s,e,t,i){var r=t?s:s&&s.prototype;r&&(Ux(r,nf)||Nx(r,nf,{configurable:!0,value:e}),i&&!Fx&&qx(r,"toString",Hx))}});var lf=v((kD,uf)=>{"use strict";var Qx=xu().IteratorPrototype,Wx=yu(),Gx=Wr(),zx=ss(),Yx=ki(),Kx=function(){return this};uf.exports=function(s,e,t,i){var r=e+" Iterator";return s.prototype=Wx(Qx,{next:Gx(+!i,t)}),zx(s,r,!1,!0),Yx[r]=Kx,s}});var df=v((LD,cf)=>{"use strict";var Xx=Pe(),Jx=At();cf.exports=function(s,e,t){try{return Xx(Jx(Object.getOwnPropertyDescriptor(s,e)[t]))}catch(i){}}});var hf=v(($D,pf)=>{"use strict";var Zx=qe();pf.exports=function(s){return Zx(s)||s===null}});var mf=v((MD,ff)=>{"use strict";var ew=hf(),tw=String,iw=TypeError;ff.exports=function(s){if(ew(s))return s;throw new iw("Can't set "+tw(s)+" as a prototype")}});var wu=v((DD,bf)=>{"use strict";var rw=df(),sw=qe(),aw=ri(),nw=mf();bf.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,e={},t;try{t=rw(Object.prototype,"__proto__","set"),t(e,[]),s=e instanceof Array}catch(i){}return function(r,a){return aw(r),nw(a),sw(r)&&(s?t(r,a):r.__proto__=a),r}}():void 0)});var Rf=v((CD,Af)=>{"use strict";var ow=we(),uw=Je(),Ya=mt(),xf=mu(),lw=Ie(),cw=lf(),gf=Na(),Sf=wu(),dw=ss(),pw=tr(),Au=nr(),hw=De(),vf=ki(),wf=xu(),fw=xf.PROPER,mw=xf.CONFIGURABLE,yf=wf.IteratorPrototype,Ka=wf.BUGGY_SAFARI_ITERATORS,as=hw("iterator"),Tf="keys",ns="values",If="entries",Ef=function(){return this};Af.exports=function(s,e,t,i,r,a,n){cw(t,e,i);var o=function(g){if(g===r&&f)return f;if(!Ka&&g&&g in c)return c[g];switch(g){case Tf:return function(){return new t(this,g)};case ns:return function(){return new t(this,g)};case If:return function(){return new t(this,g)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,c=s.prototype,d=c[as]||c["@@iterator"]||r&&c[r],f=!Ka&&d||o(r),p=e==="Array"&&c.entries||d,h,b,S;if(p&&(h=gf(p.call(new s)),h!==Object.prototype&&h.next&&(!Ya&&gf(h)!==yf&&(Sf?Sf(h,yf):lw(h[as])||Au(h,as,Ef)),dw(h,u,!0,!0),Ya&&(vf[u]=Ef))),fw&&r===ns&&d&&d.name!==ns&&(!Ya&&mw?pw(c,"name",ns):(l=!0,f=function(){return uw(d,this)})),r)if(b={values:o(ns),keys:a?f:o(Tf),entries:o(If)},n)for(S in b)(Ka||l||!(S in c))&&Au(c,S,b[S]);else ow({target:e,proto:!0,forced:Ka||l},b);return(!Ya||n)&&c[as]!==f&&Au(c,as,f,{name:r}),vf[e]=f,b}});var kf=v((BD,Pf)=>{"use strict";Pf.exports=function(s,e){return{value:s,done:e}}});var Pu=v((VD,Cf)=>{"use strict";var bw=xi(),Ru=ts(),Lf=ki(),Mf=pu(),gw=Ri().f,Sw=Rf(),Xa=kf(),vw=mt(),yw=Xe(),Df="Array Iterator",Tw=Mf.set,Iw=Mf.getterFor(Df);Cf.exports=Sw(Array,"Array",function(s,e){Tw(this,{type:Df,target:bw(s),index:0,kind:e})},function(){var s=Iw(this),e=s.target,t=s.index++;if(!e||t>=e.length)return s.target=null,Xa(void 0,!0);switch(s.kind){case"keys":return Xa(t,!1);case"values":return Xa(e[t],!1)}return Xa([t,e[t]],!1)},"values");var $f=Lf.Arguments=Lf.Array;Ru("keys");Ru("values");Ru("entries");if(!vw&&yw&&$f.name!=="values")try{gw($f,"name",{value:"values"})}catch(s){}});var Vf=v((_D,Bf)=>{"use strict";var Ew=De(),xw=ki(),ww=Ew("iterator"),Aw=Array.prototype;Bf.exports=function(s){return s!==void 0&&(xw.Array===s||Aw[ww]===s)}});var ku=v((OD,Of)=>{"use strict";var Rw=rs(),_f=Kr(),Pw=Gr(),kw=ki(),Lw=De(),$w=Lw("iterator");Of.exports=function(s){if(!Pw(s))return _f(s,$w)||_f(s,"@@iterator")||kw[Rw(s)]}});var Nf=v((FD,Ff)=>{"use strict";var Mw=Je(),Dw=At(),Cw=Rt(),Bw=Yr(),Vw=ku(),_w=TypeError;Ff.exports=function(s,e){var t=arguments.length<2?Vw(s):e;if(Dw(t))return Cw(Mw(t,s));throw new _w(Bw(s)+" is not iterable")}});var Hf=v((ND,Uf)=>{"use strict";var Ow=Je(),qf=Rt(),Fw=Kr();Uf.exports=function(s,e,t){var i,r;qf(s);try{if(i=Fw(s,"return"),!i){if(e==="throw")throw t;return t}i=Ow(i,s)}catch(a){r=!0,i=a}if(e==="throw")throw t;if(r)throw i;return qf(i),t}});var Za=v((qD,Gf)=>{"use strict";var Nw=er(),qw=Je(),Uw=Rt(),Hw=Yr(),jw=Vf(),Qw=sr(),jf=zr(),Ww=Nf(),Gw=ku(),Qf=Hf(),zw=TypeError,Ja=function(s,e){this.stopped=s,this.result=e},Wf=Ja.prototype;Gf.exports=function(s,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),a=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),o=!!(t&&t.INTERRUPTED),u=Nw(e,i),l,c,d,f,p,h,b,S=function(y){return l&&Qf(l,"normal"),new Ja(!0,y)},g=function(y){return r?(Uw(y),o?u(y[0],y[1],S):u(y[0],y[1])):o?u(y,S):u(y)};if(a)l=s.iterator;else if(n)l=s;else{if(c=Gw(s),!c)throw new zw(Hw(s)+" is not iterable");if(jw(c)){for(d=0,f=Qw(s);f>d;d++)if(p=g(s[d]),p&&jf(Wf,p))return p;return new Ja(!1)}l=Ww(s,c)}for(h=a?s.next:l.next;!(b=qw(h,l)).done;){try{p=g(b.value)}catch(y){Qf(l,"throw",y)}if(typeof p=="object"&&p&&jf(Wf,p))return p}return new Ja(!1)}});var Yf=v((UD,zf)=>{"use strict";var Yw=Xe(),Kw=Ri(),Xw=Wr();zf.exports=function(s,e,t){Yw?Kw.f(s,e,Xw(0,t)):s[e]=t}});var Kf=v(()=>{"use strict";var Jw=we(),Zw=Za(),eA=Yf();Jw({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Zw(e,function(i,r){eA(t,i,r)},{AS_ENTRIES:!0}),t}})});var Jf=v((QD,Xf)=>{"use strict";Pu();Kf();var tA=wi();Xf.exports=tA.Object.fromEntries});var em=v((WD,Zf)=>{"use strict";Zf.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var im=v(()=>{"use strict";Pu();var iA=em(),rA=Te(),sA=ss(),tm=ki();for(en in iA)sA(rA[en],en),tm[en]=tm.Array;var en});var sm=v((YD,rm)=>{"use strict";var aA=Jf();im();rm.exports=aA});var Lu=v((KD,am)=>{"use strict";var nA=sm();am.exports=nA});var nm=v(()=>{"use strict"});var $u=v((ZD,om)=>{"use strict";var os=Te(),oA=Ai(),uA=Ei(),tn=function(s){return oA.slice(0,s.length)===s};om.exports=function(){return tn("Bun/")?"BUN":tn("Cloudflare-Workers")?"CLOUDFLARE":tn("Deno/")?"DENO":tn("Node.js/")?"NODE":os.Bun&&typeof Bun.version=="string"?"BUN":os.Deno&&typeof Deno.version=="object"?"DENO":uA(os.process)==="process"?"NODE":os.window&&os.document?"BROWSER":"REST"}()});var rn=v((eC,um)=>{"use strict";var lA=$u();um.exports=lA==="NODE"});var cm=v((tC,lm)=>{"use strict";var cA=Ri();lm.exports=function(s,e,t){return cA.f(s,e,t)}});var hm=v((iC,pm)=>{"use strict";var dA=Ot(),pA=cm(),hA=De(),fA=Xe(),dm=hA("species");pm.exports=function(s){var e=dA(s);fA&&e&&!e[dm]&&pA(e,dm,{configurable:!0,get:function(){return this}})}});var mm=v((rC,fm)=>{"use strict";var mA=zr(),bA=TypeError;fm.exports=function(s,e){if(mA(e,s))return s;throw new bA("Incorrect invocation")}});var Du=v((sC,bm)=>{"use strict";var gA=Pe(),SA=Ie(),Mu=Xr(),vA=gA(Function.toString);SA(Mu.inspectSource)||(Mu.inspectSource=function(s){return vA(s)});bm.exports=Mu.inspectSource});var Bu=v((aC,Tm)=>{"use strict";var yA=Pe(),TA=Re(),gm=Ie(),IA=rs(),EA=Ot(),xA=Du(),Sm=function(){},vm=EA("Reflect","construct"),Cu=/^\s*(?:class|function)\b/,wA=yA(Cu.exec),AA=!Cu.test(Sm),us=function(e){if(!gm(e))return!1;try{return vm(Sm,[],e),!0}catch(t){return!1}},ym=function(e){if(!gm(e))return!1;switch(IA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return AA||!!wA(Cu,xA(e))}catch(t){return!0}};ym.sham=!0;Tm.exports=!vm||TA(function(){var s;return us(us.call)||!us(Object)||!us(function(){s=!0})||s})?ym:us});var Em=v((nC,Im)=>{"use strict";var RA=Bu(),PA=Yr(),kA=TypeError;Im.exports=function(s){if(RA(s))return s;throw new kA(PA(s)+" is not a constructor")}});var Vu=v((oC,wm)=>{"use strict";var xm=Rt(),LA=Em(),$A=Gr(),MA=De(),DA=MA("species");wm.exports=function(s,e){var t=xm(s).constructor,i;return t===void 0||$A(i=xm(t)[DA])?e:LA(i)}});var Rm=v((uC,Am)=>{"use strict";var CA=Pe();Am.exports=CA([].slice)});var km=v((lC,Pm)=>{"use strict";var BA=TypeError;Pm.exports=function(s,e){if(s<e)throw new BA("Not enough arguments");return s}});var _u=v((cC,Lm)=>{"use strict";var VA=Ai();Lm.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(VA)});var Wu=v((dC,Fm)=>{"use strict";var Ze=Te(),_A=Po(),OA=er(),$m=Ie(),FA=bt(),Om=Re(),Mm=bu(),NA=Rm(),Dm=_a(),qA=km(),UA=_u(),HA=rn(),Hu=Ze.setImmediate,ju=Ze.clearImmediate,jA=Ze.process,Ou=Ze.Dispatch,QA=Ze.Function,Cm=Ze.MessageChannel,WA=Ze.String,Fu=0,ls={},Bm="onreadystatechange",cs,$i,Nu,qu;Om(function(){cs=Ze.location});var Qu=function(s){if(FA(ls,s)){var e=ls[s];delete ls[s],e()}},Uu=function(s){return function(){Qu(s)}},Vm=function(s){Qu(s.data)},_m=function(s){Ze.postMessage(WA(s),cs.protocol+"//"+cs.host)};(!Hu||!ju)&&(Hu=function(e){qA(arguments.length,1);var t=$m(e)?e:QA(e),i=NA(arguments,1);return ls[++Fu]=function(){_A(t,void 0,i)},$i(Fu),Fu},ju=function(e){delete ls[e]},HA?$i=function(s){jA.nextTick(Uu(s))}:Ou&&Ou.now?$i=function(s){Ou.now(Uu(s))}:Cm&&!UA?(Nu=new Cm,qu=Nu.port2,Nu.port1.onmessage=Vm,$i=OA(qu.postMessage,qu)):Ze.addEventListener&&$m(Ze.postMessage)&&!Ze.importScripts&&cs&&cs.protocol!=="file:"&&!Om(_m)?($i=_m,Ze.addEventListener("message",Vm,!1)):Bm in Dm("script")?$i=function(s){Mm.appendChild(Dm("script"))[Bm]=function(){Mm.removeChild(this),Qu(s)}}:$i=function(s){setTimeout(Uu(s),0)});Fm.exports={set:Hu,clear:ju}});var Um=v((pC,qm)=>{"use strict";var Nm=Te(),GA=Xe(),zA=Object.getOwnPropertyDescriptor;qm.exports=function(s){if(!GA)return Nm[s];var e=zA(Nm,s);return e&&e.value}});var Gu=v((hC,jm)=>{"use strict";var Hm=function(){this.head=null,this.tail=null};Hm.prototype={add:function(s){var e={item:s,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var s=this.head;if(s){var e=this.head=s.next;return e===null&&(this.tail=null),s.item}}};jm.exports=Hm});var Wm=v((fC,Qm)=>{"use strict";var YA=Ai();Qm.exports=/ipad|iphone|ipod/i.test(YA)&&typeof Pebble!="undefined"});var zm=v((mC,Gm)=>{"use strict";var KA=Ai();Gm.exports=/web0s(?!.*chrome)/i.test(KA)});var tb=v((bC,eb)=>{"use strict";var ur=Te(),XA=Um(),Ym=er(),zu=Wu().set,JA=Gu(),ZA=_u(),eR=Wm(),tR=zm(),Yu=rn(),Km=ur.MutationObserver||ur.WebKitMutationObserver,Xm=ur.document,Jm=ur.process,sn=ur.Promise,Ju=XA("queueMicrotask"),or,Ku,Xu,an,Zm;Ju||(ds=new JA,ps=function(){var s,e;for(Yu&&(s=Jm.domain)&&s.exit();e=ds.get();)try{e()}catch(t){throw ds.head&&or(),t}s&&s.enter()},!ZA&&!Yu&&!tR&&Km&&Xm?(Ku=!0,Xu=Xm.createTextNode(""),new Km(ps).observe(Xu,{characterData:!0}),or=function(){Xu.data=Ku=!Ku}):!eR&&sn&&sn.resolve?(an=sn.resolve(void 0),an.constructor=sn,Zm=Ym(an.then,an),or=function(){Zm(ps)}):Yu?or=function(){Jm.nextTick(ps)}:(zu=Ym(zu,ur),or=function(){zu(ps)}),Ju=function(s){ds.head||or(),ds.add(s)});var ds,ps;eb.exports=Ju});var rb=v((gC,ib)=>{"use strict";ib.exports=function(s,e){try{arguments.length===1?console.error(s):console.error(s,e)}catch(t){}}});var nn=v((SC,sb)=>{"use strict";sb.exports=function(s){try{return{error:!1,value:s()}}catch(e){return{error:!0,value:e}}}});var Mi=v((vC,ab)=>{"use strict";var iR=Te();ab.exports=iR.Promise});var lr=v((yC,lb)=>{"use strict";var rR=Te(),hs=Mi(),sR=Ie(),aR=Ko(),nR=Du(),oR=De(),nb=$u(),uR=mt(),Zu=_o(),ob=hs&&hs.prototype,lR=oR("species"),el=!1,ub=sR(rR.PromiseRejectionEvent),cR=aR("Promise",function(){var s=nR(hs),e=s!==String(hs);if(!e&&Zu===66||uR&&!(ob.catch&&ob.finally))return!0;if(!Zu||Zu<51||!/native code/.test(s)){var t=new hs(function(a){a(1)}),i=function(a){a(function(){},function(){})},r=t.constructor={};if(r[lR]=i,el=t.then(function(){})instanceof i,!el)return!0}return!e&&(nb==="BROWSER"||nb==="DENO")&&!ub});lb.exports={CONSTRUCTOR:cR,REJECTION_EVENT:ub,SUBCLASSING:el}});var cr=v((TC,db)=>{"use strict";var cb=At(),dR=TypeError,pR=function(s){var e,t;this.promise=new s(function(i,r){if(e!==void 0||t!==void 0)throw new dR("Bad Promise constructor");e=i,t=r}),this.resolve=cb(e),this.reject=cb(t)};db.exports.f=function(s){return new pR(s)}});var $b=v(()=>{"use strict";var hR=we(),fR=mt(),cn=rn(),ai=Te(),mR=wi(),fr=Je(),pb=nr(),hb=wu(),bR=ss(),gR=hm(),SR=At(),ln=Ie(),vR=qe(),yR=mm(),TR=Vu(),Sb=Wu().set,al=tb(),IR=rb(),ER=nn(),xR=Gu(),vb=pu(),dn=Mi(),nl=lr(),yb=cr(),pn="Promise",Tb=nl.CONSTRUCTOR,wR=nl.REJECTION_EVENT,AR=nl.SUBCLASSING,tl=vb.getterFor(pn),RR=vb.set,dr=dn&&dn.prototype,Di=dn,on=dr,Ib=ai.TypeError,il=ai.document,ol=ai.process,rl=yb.f,PR=rl,kR=!!(il&&il.createEvent&&ai.dispatchEvent),Eb="unhandledrejection",LR="rejectionhandled",fb=0,xb=1,$R=2,ul=1,wb=2,un,mb,Ab,bb,Rb=function(s){var e;return vR(s)&&ln(e=s.then)?e:!1},Pb=function(s,e){var t=e.value,i=e.state===xb,r=i?s.ok:s.fail,a=s.resolve,n=s.reject,o=s.domain,u,l,c;try{r?(i||(e.rejection===wb&&DR(e),e.rejection=ul),r===!0?u=t:(o&&o.enter(),u=r(t),o&&(o.exit(),c=!0)),u===s.promise?n(new Ib("Promise-chain cycle")):(l=Rb(u))?fr(l,u,a,n):a(u)):n(t)}catch(d){o&&!c&&o.exit(),n(d)}},kb=function(s,e){s.notified||(s.notified=!0,al(function(){for(var t=s.reactions,i;i=t.get();)Pb(i,s);s.notified=!1,e&&!s.rejection&&MR(s)}))},Lb=function(s,e,t){var i,r;kR?(i=il.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(s,!1,!0),ai.dispatchEvent(i)):i={promise:e,reason:t},!wR&&(r=ai["on"+s])?r(i):s===Eb&&IR("Unhandled promise rejection",t)},MR=function(s){fr(Sb,ai,function(){var e=s.facade,t=s.value,i=gb(s),r;if(i&&(r=ER(function(){cn?ol.emit("unhandledRejection",t,e):Lb(Eb,e,t)}),s.rejection=cn||gb(s)?wb:ul,r.error))throw r.value})},gb=function(s){return s.rejection!==ul&&!s.parent},DR=function(s){fr(Sb,ai,function(){var e=s.facade;cn?ol.emit("rejectionHandled",e):Lb(LR,e,s.value)})},pr=function(s,e,t){return function(i){s(e,i,t)}},hr=function(s,e,t){s.done||(s.done=!0,t&&(s=t),s.value=e,s.state=$R,kb(s,!0))},sl=function(s,e,t){if(!s.done){s.done=!0,t&&(s=t);try{if(s.facade===e)throw new Ib("Promise can't be resolved itself");var i=Rb(e);i?al(function(){var r={done:!1};try{fr(i,e,pr(sl,r,s),pr(hr,r,s))}catch(a){hr(r,a,s)}}):(s.value=e,s.state=xb,kb(s,!1))}catch(r){hr({done:!1},r,s)}}};if(Tb&&(Di=function(e){yR(this,on),SR(e),fr(un,this);var t=tl(this);try{e(pr(sl,t),pr(hr,t))}catch(i){hr(t,i)}},on=Di.prototype,un=function(e){RR(this,{type:pn,done:!1,notified:!1,parent:!1,reactions:new xR,rejection:!1,state:fb,value:null})},un.prototype=pb(on,"then",function(e,t){var i=tl(this),r=rl(TR(this,Di));return i.parent=!0,r.ok=ln(e)?e:!0,r.fail=ln(t)&&t,r.domain=cn?ol.domain:void 0,i.state===fb?i.reactions.add(r):al(function(){Pb(r,i)}),r.promise}),mb=function(){var s=new un,e=tl(s);this.promise=s,this.resolve=pr(sl,e),this.reject=pr(hr,e)},yb.f=rl=function(s){return s===Di||s===Ab?new mb(s):PR(s)},!fR&&ln(dn)&&dr!==Object.prototype)){bb=dr.then,AR||pb(dr,"then",function(e,t){var i=this;return new Di(function(r,a){fr(bb,i,r,a)}).then(e,t)},{unsafe:!0});try{delete dr.constructor}catch(s){}hb&&hb(dr,on)}hR({global:!0,constructor:!0,wrap:!0,forced:Tb},{Promise:Di});Ab=mR.Promise;bR(Di,pn,!1,!0);gR(pn)});var Vb=v((xC,Bb)=>{"use strict";var CR=De(),Db=CR("iterator"),Cb=!1;try{Mb=0,ll={next:function(){return{done:!!Mb++}},return:function(){Cb=!0}},ll[Db]=function(){return this},Array.from(ll,function(){throw 2})}catch(s){}var Mb,ll;Bb.exports=function(s,e){try{if(!e&&!Cb)return!1}catch(r){return!1}var t=!1;try{var i={};i[Db]=function(){return{next:function(){return{done:t=!0}}}},s(i)}catch(r){}return t}});var cl=v((wC,_b)=>{"use strict";var BR=Mi(),VR=Vb(),_R=lr().CONSTRUCTOR;_b.exports=_R||!VR(function(s){BR.all(s).then(void 0,function(){})})});var Ob=v(()=>{"use strict";var OR=we(),FR=Je(),NR=At(),qR=cr(),UR=nn(),HR=Za(),jR=cl();OR({target:"Promise",stat:!0,forced:jR},{all:function(e){var t=this,i=qR.f(t),r=i.resolve,a=i.reject,n=UR(function(){var o=NR(t.resolve),u=[],l=0,c=1;HR(e,function(d){var f=l++,p=!1;c++,FR(o,t,d).then(function(h){p||(p=!0,u[f]=h,--c||r(u))},a)}),--c||r(u)});return n.error&&a(n.value),i.promise}})});var Nb=v(()=>{"use strict";var QR=we(),WR=mt(),GR=lr().CONSTRUCTOR,pl=Mi(),zR=Ot(),YR=Ie(),KR=nr(),Fb=pl&&pl.prototype;QR({target:"Promise",proto:!0,forced:GR,real:!0},{catch:function(s){return this.then(void 0,s)}});!WR&&YR(pl)&&(dl=zR("Promise").prototype.catch,Fb.catch!==dl&&KR(Fb,"catch",dl,{unsafe:!0}));var dl});var qb=v(()=>{"use strict";var XR=we(),JR=Je(),ZR=At(),eP=cr(),tP=nn(),iP=Za(),rP=cl();XR({target:"Promise",stat:!0,forced:rP},{race:function(e){var t=this,i=eP.f(t),r=i.reject,a=tP(function(){var n=ZR(t.resolve);iP(e,function(o){JR(n,t,o).then(i.resolve,r)})});return a.error&&r(a.value),i.promise}})});var Ub=v(()=>{"use strict";var sP=we(),aP=cr(),nP=lr().CONSTRUCTOR;sP({target:"Promise",stat:!0,forced:nP},{reject:function(e){var t=aP.f(this),i=t.reject;return i(e),t.promise}})});var hl=v((CC,Hb)=>{"use strict";var oP=Rt(),uP=qe(),lP=cr();Hb.exports=function(s,e){if(oP(s),uP(e)&&e.constructor===s)return e;var t=lP.f(s),i=t.resolve;return i(e),t.promise}});var Wb=v(()=>{"use strict";var cP=we(),dP=Ot(),jb=mt(),pP=Mi(),Qb=lr().CONSTRUCTOR,hP=hl(),fP=dP("Promise"),mP=jb&&!Qb;cP({target:"Promise",stat:!0,forced:jb||Qb},{resolve:function(e){return hP(mP&&this===fP?pP:this,e)}})});var Gb=v(()=>{"use strict";$b();Ob();Nb();qb();Ub();Wb()});var Xb=v(()=>{"use strict";var bP=we(),gP=mt(),hn=Mi(),SP=Re(),Yb=Ot(),Kb=Ie(),vP=Vu(),zb=hl(),yP=nr(),ml=hn&&hn.prototype,TP=!!hn&&SP(function(){ml.finally.call({then:function(){}},function(){})});bP({target:"Promise",proto:!0,real:!0,forced:TP},{finally:function(s){var e=vP(this,Yb("Promise")),t=Kb(s);return this.then(t?function(i){return zb(e,s()).then(function(){return i})}:s,t?function(i){return zb(e,s()).then(function(){throw i})}:s)}});!gP&&Kb(hn)&&(fl=Yb("Promise").prototype.finally,ml.finally!==fl&&yP(ml,"finally",fl,{unsafe:!0}));var fl});var Zb=v((qC,Jb)=>{"use strict";nm();Gb();Xb();var IP=si();Jb.exports=IP("Promise","finally")});var tg=v((UC,eg)=>{"use strict";var EP=Zb();eg.exports=EP});var fn=v((HC,ig)=>{"use strict";var xP=tg();ig.exports=xP});var Sg=v(()=>{"use strict";var OP=we(),FP=Ji(),NP=sr(),qP=es(),UP=ts();OP({target:"Array",proto:!0},{at:function(e){var t=FP(this),i=NP(t),r=qP(e),a=r>=0?r:i+r;return a<0||a>=i?void 0:t[a]}});UP("at")});var yg=v((IV,vg)=>{"use strict";Sg();var HP=si();vg.exports=HP("Array","at")});var Ig=v((EV,Tg)=>{"use strict";var jP=yg();Tg.exports=jP});var St=v((xV,Eg)=>{"use strict";var QP=Ig();Eg.exports=QP});var Vl=v((s_,zg)=>{"use strict";var ik=Ei();zg.exports=Array.isArray||function(e){return ik(e)==="Array"}});var Kg=v((a_,Yg)=>{"use strict";var rk=TypeError,sk=9007199254740991;Yg.exports=function(s){if(s>sk)throw rk("Maximum allowed index exceeded");return s}});var Zg=v((n_,Jg)=>{"use strict";var ak=Vl(),nk=sr(),ok=Kg(),uk=er(),Xg=function(s,e,t,i,r,a,n,o){for(var u=r,l=0,c=n?uk(n,o):!1,d,f;l<i;)l in t&&(d=c?c(t[l],l,e):t[l],a>0&&ak(d)?(f=nk(d),u=Xg(s,e,d,f,u,a-1)-1):(ok(u+1),s[u]=d),u++),l++;return u};Jg.exports=Xg});var rS=v((o_,iS)=>{"use strict";var eS=Vl(),lk=Bu(),ck=qe(),dk=De(),pk=dk("species"),tS=Array;iS.exports=function(s){var e;return eS(s)&&(e=s.constructor,lk(e)&&(e===tS||eS(e.prototype))?e=void 0:ck(e)&&(e=e[pk],e===null&&(e=void 0))),e===void 0?tS:e}});var aS=v((u_,sS)=>{"use strict";var hk=rS();sS.exports=function(s,e){return new(hk(s))(e===0?0:e)}});var nS=v(()=>{"use strict";var fk=we(),mk=Zg(),bk=At(),gk=Ji(),Sk=sr(),vk=aS();fk({target:"Array",proto:!0},{flatMap:function(e){var t=gk(this),i=Sk(t),r;return bk(e),r=vk(t,0),r.length=mk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var oS=v(()=>{"use strict";var yk=ts();yk("flatMap")});var lS=v((h_,uS)=>{"use strict";nS();oS();var Tk=si();uS.exports=Tk("Array","flatMap")});var dS=v((f_,cS)=>{"use strict";var Ik=lS();cS.exports=Ik});var ws=v((m_,pS)=>{"use strict";var Ek=dS();pS.exports=Ek});var As=v((b_,hS)=>{"use strict";var xk=rs(),wk=String;hS.exports=function(s){if(xk(s)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return wk(s)}});var _l=v((g_,fS)=>{"use strict";fS.exports=`
|
|
7
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var gS=v((S_,bS)=>{"use strict";var Ak=Pe(),Rk=ri(),Pk=As(),Fl=_l(),mS=Ak("".replace),kk=RegExp("^["+Fl+"]+"),Lk=RegExp("(^|[^"+Fl+"])["+Fl+"]+$"),Ol=function(s){return function(e){var t=Pk(Rk(e));return s&1&&(t=mS(t,kk,"")),s&2&&(t=mS(t,Lk,"$1")),t}};bS.exports={start:Ol(1),end:Ol(2),trim:Ol(3)}});var TS=v((v_,yS)=>{"use strict";var $k=mu().PROPER,Mk=Re(),SS=_l(),vS="\u200B\x85\u180E";yS.exports=function(s){return Mk(function(){return!!SS[s]()||vS[s]()!==vS||$k&&SS[s].name!==s})}});var Nl=v((y_,IS)=>{"use strict";var Dk=gS().start,Ck=TS();IS.exports=Ck("trimStart")?function(){return Dk(this)}:"".trimStart});var xS=v(()=>{"use strict";var Bk=we(),ES=Nl();Bk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==ES},{trimLeft:ES})});var AS=v(()=>{"use strict";xS();var Vk=we(),wS=Nl();Vk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==wS},{trimStart:wS})});var PS=v((w_,RS)=>{"use strict";AS();var _k=si();RS.exports=_k("String","trimLeft")});var LS=v((A_,kS)=>{"use strict";var Ok=PS();kS.exports=Ok});var MS=v((R_,$S)=>{"use strict";var Fk=LS();$S.exports=Fk});var GS=v(()=>{"use strict"});var zS=v(()=>{"use strict"});var KS=v((uN,YS)=>{"use strict";var aL=qe(),nL=Ei(),oL=De(),uL=oL("match");YS.exports=function(s){var e;return aL(s)&&((e=s[uL])!==void 0?!!e:nL(s)==="RegExp")}});var ZS=v((lN,JS)=>{"use strict";var lL=Te(),cL=Re(),XS=lL.RegExp,dL=!cL(function(){var s=!0;try{XS(".","d")}catch(u){s=!1}var e={},t="",i=s?"dgimsy":"gimsy",r=function(u,l){Object.defineProperty(e,u,{get:function(){return t+=l,!0}})},a={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};s&&(a.hasIndices="d");for(var n in a)r(n,a[n]);var o=Object.getOwnPropertyDescriptor(XS.prototype,"flags").get.call(e);return o!==i||t!==i});JS.exports={correct:dL}});var tv=v((cN,ev)=>{"use strict";var pL=Rt();ev.exports=function(){var s=pL(this),e="";return s.hasIndices&&(e+="d"),s.global&&(e+="g"),s.ignoreCase&&(e+="i"),s.multiline&&(e+="m"),s.dotAll&&(e+="s"),s.unicode&&(e+="u"),s.unicodeSets&&(e+="v"),s.sticky&&(e+="y"),e}});var sv=v((dN,rv)=>{"use strict";var hL=Je(),fL=bt(),mL=zr(),iv=ZS(),bL=tv(),gL=RegExp.prototype;rv.exports=iv.correct?function(s){return s.flags}:function(s){return!iv.correct&&mL(gL,s)&&!fL(s,"flags")?hL(bL,s):s.flags}});var nv=v((pN,av)=>{"use strict";var jl=Pe(),SL=Ji(),vL=Math.floor,Ul=jl("".charAt),yL=jl("".replace),Hl=jl("".slice),TL=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,IL=/\$([$&'`]|\d{1,2})/g;av.exports=function(s,e,t,i,r,a){var n=t+s.length,o=i.length,u=IL;return r!==void 0&&(r=SL(r),u=TL),yL(a,u,function(l,c){var d;switch(Ul(c,0)){case"$":return"$";case"&":return s;case"`":return Hl(e,0,t);case"'":return Hl(e,n);case"<":d=r[Hl(c,1,-1)];break;default:var f=+c;if(f===0)return l;if(f>o){var p=vL(f/10);return p===0?l:p<=o?i[p-1]===void 0?Ul(c,1):i[p-1]+Ul(c,1):l}d=i[f-1]}return d===void 0?"":d})}});var lv=v(()=>{"use strict";var EL=we(),xL=Je(),Wl=Pe(),ov=ri(),wL=Ie(),AL=qe(),RL=KS(),Ar=As(),PL=Kr(),kL=sv(),LL=nv(),$L=De(),ML=mt(),DL=$L("replace"),CL=TypeError,Ql=Wl("".indexOf),BL=Wl("".replace),uv=Wl("".slice),VL=Math.max;EL({target:"String",proto:!0},{replaceAll:function(e,t){var i=ov(this),r,a,n,o,u,l,c,d,f,p,h=0,b="";if(AL(e)){if(r=RL(e),r&&(a=Ar(ov(kL(e))),!~Ql(a,"g")))throw new CL("`.replaceAll` does not allow non-global regexes");if(n=PL(e,DL),n)return xL(n,e,i,t);if(ML&&r)return BL(Ar(i),e,t)}for(o=Ar(i),u=Ar(e),l=wL(t),l||(t=Ar(t)),c=u.length,d=VL(1,c),f=Ql(o,u);f!==-1;)p=l?Ar(t(u,f,o)):LL(u,o,f,[],void 0,t),b+=uv(o,h,f)+p,h=f+c,f=f+d>o.length?-1:Ql(o,u,f+d);return h<o.length&&(b+=uv(o,h)),b}})});var dv=v((mN,cv)=>{"use strict";GS();zS();lv();var _L=si();cv.exports=_L("String","replaceAll")});var hv=v((bN,pv)=>{"use strict";var OL=dv();pv.exports=OL});var mv=v((gN,fv)=>{"use strict";var FL=hv();fv.exports=FL});var gv=v((SN,bv)=>{"use strict";var NL=es(),qL=As(),UL=ri(),HL=RangeError;bv.exports=function(e){var t=qL(UL(this)),i="",r=NL(e);if(r<0||r===1/0)throw new HL("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Iv=v((vN,Tv)=>{"use strict";var yv=Pe(),jL=ru(),Sv=As(),QL=gv(),WL=ri(),GL=yv(QL),zL=yv("".slice),YL=Math.ceil,vv=function(s){return function(e,t,i){var r=Sv(WL(e)),a=jL(t),n=r.length,o=i===void 0?" ":Sv(i),u,l;return a<=n||o===""?r:(u=a-n,l=GL(o,YL(u/o.length)),l.length>u&&(l=zL(l,0,u)),s?r+l:l+r)}};Tv.exports={start:vv(!1),end:vv(!0)}});var xv=v((yN,Ev)=>{"use strict";var KL=Ai();Ev.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(KL)});var wv=v(()=>{"use strict";var XL=we(),JL=Iv().start,ZL=xv();XL({target:"String",proto:!0,forced:ZL},{padStart:function(e){return JL(this,e,arguments.length>1?arguments[1]:void 0)}})});var Rv=v((EN,Av)=>{"use strict";wv();var e$=si();Av.exports=e$("String","padStart")});var kv=v((xN,Pv)=>{"use strict";var t$=Rv();Pv.exports=t$});var $v=v((wN,Lv)=>{"use strict";var i$=kv();Lv.exports=i$});var $$={};Hy($$,{ChromecastState:()=>Ur,HttpConnectionType:()=>Da,Observable:()=>Bt.Observable,PlaybackState:()=>Oe,Player:()=>Sa,PredefinedQualityLimits:()=>Hr,SDK_VERSION:()=>L$,Subject:()=>Bt.Subject,Subscription:()=>Bt.Subscription,Surface:()=>Ca,VERSION:()=>Ao,ValueSubject:()=>Bt.ValueSubject,VideoFormat:()=>wt,VideoQuality:()=>Bt.VideoQuality,areValidLiveRecordSources:()=>cg,clientChecker:()=>z,isMobile:()=>mr});module.exports=jy($$);var Ao="2.0.141-dev.2c7398f8.0";var Oe=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Oe||{}),wt=(E=>(E.MPEG="MPEG",E.DASH="DASH",E.DASH_SEP="DASH_SEP",E.DASH_SEP_VK="DASH_SEP",E.DASH_WEBM="DASH_WEBM",E.DASH_WEBM_AV1="DASH_WEBM_AV1",E.DASH_STREAMS="DASH_STREAMS",E.DASH_WEBM_VK="DASH_WEBM",E.DASH_ONDEMAND="DASH_ONDEMAND",E.DASH_ONDEMAND_VK="DASH_ONDEMAND",E.DASH_LIVE="DASH_LIVE",E.DASH_LIVE_CMAF="DASH_LIVE_CMAF",E.DASH_LIVE_WEBM="DASH_LIVE_WEBM",E.HLS="HLS",E.HLS_ONDEMAND="HLS_ONDEMAND",E.HLS_JS="HLS",E.HLS_FMP4="HLS_FMP4",E.HLS_LIVE="HLS_LIVE",E.HLS_LIVE_CMAF="HLS_LIVE_CMAF",E.WEB_RTC_LIVE="WEB_RTC_LIVE",E))(wt||{});var Ur=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ur||{}),Da=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Da||{});var Ca=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ca||{}),Hr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Hr||{});var Ec=K(Pi(),1),Ly=K(Ue(),1);var ie=require("@vkontakte/videoplayer-shared/es2018");var xh=s=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",s),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Ua=class{constructor(e){this.connection$=new ie.ValueSubject(void 0);this.castState$=new ie.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new ie.Subject;this.realCastState$=new ie.ValueSubject("NOT_AVAILABLE");this.subscription=new ie.Subscription;this.isDestroyed=!1;var a;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=(0,ie.isNonNullable)((a=window.chrome)==null?void 0:a.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=n=>{delete window.__onGCastApiAvailable,n&&!this.isDestroyed&&this.initializeCastApi()},r||xh("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:ie.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){var e;(e=cast.framework.CastContext.getInstance())==null||e.requestSession()}disconnect(){var e,t;(t=(e=cast.framework.CastContext.getInstance())==null?void 0:e.getCurrentSession())==null||t.endSession(!0)}stopMedia(){return new Promise((e,t)=>{var i,r,a;(a=(r=(i=cast.framework.CastContext.getInstance())==null?void 0:i.getCurrentSession())==null?void 0:r.getMediaSession())==null||a.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,ie.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,ie.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,ie.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,ie.fromEvent)(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{var a,n,o;switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=(o=(n=(a=i.getCurrentSession())==null?void 0:a.getMediaSession())==null?void 0:n.media)==null?void 0:o.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,ie.assertNever)(r.sessionState)}})).add((0,ie.merge)((0,ie.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,ie.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,ie.map)(r=>r.castState)),(0,ie.observableFrom)([i.getCastState()])).pipe((0,ie.filterChanged)(),(0,ie.map)(FE),(0,ie.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{var o,u;let a=r==="CONNECTED",n=(0,ie.isNonNullable)(this.connection$.getValue());if(a&&!n){let l=i.getCurrentSession();(0,ie.assertNonNullable)(l);let c=l.getCastDevice(),d=(u=(o=l.getMediaSession())==null?void 0:o.media)==null?void 0:u.contentId;((0,ie.isNullable)(d)||d===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:l,castDevice:c}))}else!a&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?(0,ie.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){var r;let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(a){return}try{e.setOptions({receiverApplicationId:(r=this.params.receiverApplicationId)!=null?r:t,autoJoinPolicy:i}),this.initListeners()}catch(a){this.errorEvent$.next({id:"ChromecastInitializer",category:ie.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:a})}}},FE=s=>{switch(s){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,ie.assertNever)(s)}};var yc=K(Ue(),1),gy=K(ar(),1),Sy=K(Lu(),1);var pg=K(fn(),1);var bl=require("@vkontakte/videoplayer-shared/es2018");var Ee=(s,e=0,t=0)=>{switch(t){case 0:return s.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return s;let i=new URL(s);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(s);return!i.searchParams.get("offset_p")&&e===0?s:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:(0,bl.assertNever)(t)}return s},ni=(s,e)=>{var t;switch(e){case 0:return NaN;case 1:{let i=new URL(s);return Number(i.searchParams.get("playback_shift"))}case 2:{let i=new URL(s);return Number((t=i.searchParams.get("offset_p"))!=null?t:0)}default:(0,bl.assertNever)(e)}};var F=(s,e,t=!1)=>{let i=s.getTransition();(t||!i||i.to===e)&&s.setState(e)};var Pt=require("@vkontakte/videoplayer-shared/es2018"),re=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Sl=require("@vkontakte/videoplayer-shared/es2018");var mn=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,a=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,o=/webkit|safari|khtml/i.test(e)?"Safari":void 0,u=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||u||l||r||a||o||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],a=parseInt(r,10);if(!isNaN(a))return this._current_version=a,a}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var rg=K(Ue(),1);var mr=()=>{var s,e;return/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test((s=navigator.appVersion)!=null?s:navigator.userAgent)||((e=navigator==null?void 0:navigator.userAgentData)==null?void 0:e.mobile)};var bn=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,rg.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=mr()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e!=null&&e.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,a=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,o=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||a||o||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let a=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(a);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var gn=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){var t;let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e!=null?e:0,this._isHdr=!!((t=matchMedia("(dynamic-range: high)"))!=null&&t.matches),this._colorDepth=screen.colorDepth}catch(i){console.error(i)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(i){console.error(i)}}};var et=()=>window.ManagedMediaSource||window.MediaSource,br=()=>{var s,e;return!!(window.ManagedMediaSource&&((e=(s=window.ManagedSourceBuffer)==null?void 0:s.prototype)!=null&&e.appendBuffer))},sg=()=>{var s,e;return!!(window.MediaSource&&((e=(s=window.SourceBuffer)==null?void 0:s.prototype)!=null&&e.appendBuffer))},Sn=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var wP=document.createElement("video"),AP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',RP='video/mp4; codecs="hev1.1.6.L93.B0"',ag='video/webm; codecs="vp09.00.10.08"',ng='video/webm; codecs="av01.0.00M.08"',PP='audio/mp4; codecs="mp4a.40.2"',kP='audio/webm; codecs="opus"',og,LP=async()=>{if(!window.navigator.mediaCapabilities)return;let s={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...s,video:{...s.video,contentType:ng}}),window.navigator.mediaCapabilities.decodingInfo({...s,video:{...s.video,contentType:ag}})]);og={DASH_WEBM_AV1:e,DASH_WEBM:t}};LP().catch(s=>{console.log(wP),console.error(s)});var vn=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return og}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){var e,t,i,r,a,n,o,u,l,c,d,f,p,h,b,S,g,y,x,E;this._video=document.createElement("video");try{this._protocols={mms:br(),mse:sg(),hls:!!((t=(e=this._video).canPlayType)!=null&&t.call(e,"application/x-mpegurl")||(r=(i=this._video).canPlayType)!=null&&r.call(i,"vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!((n=(a=this._video).canPlayType)!=null&&n.call(a,"video/mp4")),webm:!!((u=(o=this._video).canPlayType)!=null&&u.call(o,"video/webm")),cmaf:!0};let A=!!((c=(l=et())==null?void 0:l.isTypeSupported)!=null&&c.call(l,AP)),$=!!((f=(d=et())==null?void 0:d.isTypeSupported)!=null&&f.call(d,RP)),O=!!((h=(p=et())==null?void 0:p.isTypeSupported)!=null&&h.call(p,PP));this._codecs={h264:A,h265:$,vp9:!!((S=(b=et())==null?void 0:b.isTypeSupported)!=null&&S.call(b,ag)),av1:!!((y=(g=et())==null?void 0:g.isTypeSupported)!=null&&y.call(g,ng)),aac:O,opus:!!((E=(x=et())==null?void 0:x.isTypeSupported)!=null&&E.call(x,kP)),mpeg:(A||$)&&O},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(A){console.error(A)}try{this.destroyVideoElement()}catch(A){console.error("Error destroying video element:",A)}}destroyVideoElement(){var t;if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);(t=this._video.parentNode)==null||t.replaceChild(e,this._video),this._video=null}};var ug="audio/mpeg",yn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){var e,t,i,r;this._audio=document.createElement("audio");try{this._containers={mpeg:!!((t=(e=this._audio).canPlayType)!=null&&t.call(e,ug))},this._codecs={mp3:!!((r=(i=et())==null?void 0:i.isTypeSupported)!=null&&r.call(i,ug))}}catch(a){console.error(a)}try{this.destroyAudioElement()}catch(a){console.error("Error destroying audio element:",a)}}destroyAudioElement(){var t;if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);(t=this._audio.parentNode)==null||t.replaceChild(e,this._audio),this._audio=null}};var lg=require("@vkontakte/videoplayer-shared/es2018"),gl=class{constructor(){this.isInited$=new lg.ValueSubject(!1);this._displayChecker=new gn,this._deviceChecker=new bn(this._displayChecker),this._browserChecker=new mn,this._videoChecker=new vn(this._deviceChecker,this._browserChecker),this._audioChecker=new yn,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},z=new gl;var vl=s=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=z.video,a=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return s.filter(o=>{switch(o){case"DASH_SEP":return n&&e.mp4&&a;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&a||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&a;case"DASH_LIVE_CMAF":return n&&e.mp4&&a&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&a;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return(0,Sl.assertNever)(o)}})},yl=s=>{switch(s){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,Sl.assertNever)(s)}},cg=s=>{let t=Object.keys(s).filter(i=>!yl(i));return vl(t).length>0};var Q=require("@vkontakte/videoplayer-shared/es2018");var $P=5,MP=5,DP=500,dg=7e3,fs=class{constructor(e){this.subscription=new Q.Subscription;this.loadMediaTimeoutSubscription=new Q.Subscription;this.videoState=new re("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),a=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(a)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if((r==null?void 0:r.to)!=="paused"&&a.state==="requested"&&e!=="stopped"){this.seek(a.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}default:(0,Q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(yl(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new Q.Subscription;this.subscription.add(e),this.subscription.add((0,Q.merge)(this.videoState.stateChangeStarted$.pipe((0,Q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,Q.map)(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,a)=>this.subscription.add(r.subscribe(a));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new Q.Subject;e.add(r.pipe((0,Q.debounce)(DP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let a=NaN;e.add((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let o=n.value;this.params.output.position$.next(o),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(o-a)>$P)&&r.next(o),a=o})),e.add((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:a}=this.params.connection,n=r.value,o=this.params.output.isBuffering$.getValue(),u=n===chrome.cast.media.PlayerState.BUFFERING;switch(o!==u&&this.params.output.isBuffering$.next(u),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&a.duration-a.currentTime<MP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),F(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,Q.assertNever)(n)}}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,Q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,Q.observableFrom)(["init"])).pipe((0,Q.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),F(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),F(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState(),t=this.videoState.getTransition();((t==null?void 0:t.to)==="paused"||e==="playing")&&(this.videoState.setState("paused"),F(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState(),t=this.videoState.getTransition();((t==null?void 0:t.to)==="playing"||e==="paused")&&(this.videoState.setState("playing"),F(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){var t;let e=this.videoState.getTransition();(e==null?void 0:e.to)==="ready"&&this.videoState.setState("ready"),((t=this.params.desiredState.playbackState.getTransition())==null?void 0:t.to)==="ready"&&F(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){var r,a;let t=this.params.output.volume$.getValue(),i={volume:(r=e.volume)!=null?r:t.volume,muted:(a=e.muted)!=null?a:t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){var l;let t=this.params.source,i,r,a;switch(e){case"MPEG":{let c=t[e];(0,Q.assertNonNullable)(c);let d=(0,Q.getHighestQuality)(Object.keys(c));(0,Q.assertNonNullable)(d);let f=c[d];(0,Q.assertNonNullable)(f),i=f,r="video/mp4",a=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/x-mpegurl",a=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/dash+xml",a=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/dash+xml",a=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let c=t[e];(0,Q.assertNonNullable)(c),i=Ee(c.url),r="application/x-mpegurl",a=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let c="Unsupported format for Chromecast",d=new Error(c);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Q.ErrorCategory.VIDEO_PIPELINE,message:c,thrown:d}),d}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,Q.assertNever)(e)}let n=new chrome.cast.media.MediaInfo((l=this.params.meta.videoId)!=null?l:i,r);n.contentUrl=i,n.streamType=a,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:o,subtitle:u}=this.params.meta;return(0,Q.isNonNullable)(o)&&(n.metadata.title=o),(0,Q.isNonNullable)(u)&&(n.metadata.subtitle=u),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,a)=>{this.loadMediaTimeoutSubscription.add((0,Q.timeout)(dg).subscribe(()=>a(`timeout(${dg})`)))});(0,pg.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let a=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:a}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:Q.ErrorCategory.VIDEO_PIPELINE,message:a,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var Cl=K(Ue(),1);var xl=require("@vkontakte/videoplayer-shared/es2018");var hg=require("@vkontakte/videoplayer-shared/es2018"),fg=s=>{try{s.pause(),s.playbackRate=0,(0,hg.clearVideoElement)(s),s.remove()}catch(e){console.error(e)}};var Tn=require("@vkontakte/videoplayer-shared/es2018"),Tl=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Il=window.WeakMap?new WeakMap:new Tl,El=window.WeakMap?new WeakMap:new Map,CP=(s,e=20)=>{let t=0;return(0,Tn.fromEvent)(s,"ratechange").subscribe(i=>{t++,t>=e&&(s.currentTime=s.currentTime,t=0)})},He=(s,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=s.querySelector("video"),r=!!i;i?(0,xl.clearVideoElement)(i):(i=document.createElement("video"),s.appendChild(i)),Il.set(i,r);let a=new Tn.Subscription;return a.add(CP(i,e)),El.set(i,a),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},je=s=>{let e=El.get(s);e==null||e.unsubscribe(),El.delete(s);let t=Il.get(s);Il.delete(s),t?(0,xl.clearVideoElement)(s):fg(s)};var wl=K(Pi(),1),W=require("@vkontakte/videoplayer-shared/es2018");var oi=require("@vkontakte/videoplayer-shared/es2018"),In=(s,e,t,{equal:i=(n,o)=>n===o,changed$:r,onError:a}={})=>{let n=s.getState(),o=e(),u=(0,oi.isNullable)(r),l=new oi.Subscription;return r&&l.add(r.subscribe(c=>{let d=s.getState();i(c,d)&&s.setState(c)},a)),i(o,n)||(t(n),u&&s.setState(n)),l.add(s.stateChangeStarted$.subscribe(c=>{t(c.to),u&&s.setState(c.to)},a)),l},kt=(s,e,t)=>In(e,()=>s.loop,i=>{(0,oi.isNonNullable)(i)&&(s.loop=i)},{onError:t}),Qe=(s,e,t,i)=>In(e,()=>({muted:s.muted,volume:s.volume}),r=>{(0,oi.isNonNullable)(r)&&(s.muted=r.muted,s.volume=r.volume)},{equal:(r,a)=>r===a||(r==null?void 0:r.muted)===(a==null?void 0:a.muted)&&(r==null?void 0:r.volume)===(a==null?void 0:a.volume),changed$:t,onError:i}),nt=(s,e,t,i)=>In(e,()=>s.playbackRate,r=>{(0,oi.isNonNullable)(r)&&(s.playbackRate=r)},{changed$:t,onError:i}),ms=In;var BP=s=>["__",s.language,s.label].join("|"),VP=(s,e)=>{if(s.id===e)return!0;let[t,i,r]=e.split("|");return s.language===i&&s.label===r},Al=class s{constructor(e){this.available$=new W.Subject;this.current$=new W.ValueSubject(void 0);this.error$=new W.Subject;this.subscription=new W.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=a=>{this.error$.next({id:"TextTracksManager",category:W.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:a})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(ms(t.internalTextTracks,()=>(0,wl.default)(this.internalTracks),a=>{(0,W.isNonNullable)(a)&&this.setInternal(a)},{equal:(a,n)=>(0,W.isNonNullable)(a)&&(0,W.isNonNullable)(n)&&a.length===n.length&&a.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,W.map)(a=>a.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ms(t.externalTextTracks,()=>(0,wl.default)(this.externalTracks),a=>{(0,W.isNonNullable)(a)&&this.setExternal(a)},{equal:(a,n)=>(0,W.isNonNullable)(a)&&(0,W.isNonNullable)(n)&&a.length===n.length&&a.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,W.map)(a=>a.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ms(t.currentTextTrack,()=>{if(this.video)return;let a=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return a&&this.htmlTextTrackToITextTrack(a).id},a=>this.select(a),{changed$:this.current$,onError:r})),this.subscription.add(ms(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let a of this.htmlTextTracksAsArray())this.applyCueSettings(a.cues),this.applyCueSettings(a.activeCues)}))}subscribe(){(0,W.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,W.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,W.merge)((0,W.fromEvent)(e,"addtrack"),(0,W.fromEvent)(e,"removetrack"),(0,W.observableFrom)(["init"])).pipe((0,W.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,W.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:a},n)=>a===r[n].id))).subscribe(this.available$)),this.subscription.add((0,W.merge)((0,W.fromEvent)(e,"change"),(0,W.observableFrom)(["init"])).pipe((0,W.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,W.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,W.filterChanged)()).subscribe(this.current$));let t=i=>{var r,a;return this.applyCueSettings((a=(r=i.target)==null?void 0:r.activeCues)!=null?a:null)};this.subscription.add((0,W.fromEvent)(e,"addtrack").subscribe(i=>{var a,n;(a=i.track)==null||a.addEventListener("cuechange",t);let r=o=>{var l,c,d,f,p;let u=(c=(l=o.target)==null?void 0:l.cues)!=null?c:null;u&&u.length&&(this.applyCueSettings((f=(d=o.target)==null?void 0:d.cues)!=null?f:null),(p=o.target)==null||p.removeEventListener("cuechange",r))};(n=i.track)==null||n.addEventListener("cuechange",r)})),this.subscription.add((0,W.fromEvent)(e,"removetrack").subscribe(i=>{var r;(r=i.track)==null||r.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;(0,W.isNonNullable)(t.align)&&(r.align=t.align),(0,W.isNonNullable)(t.position)&&(r.position=t.position),(0,W.isNonNullable)(t.size)&&(r.size=t.size),(0,W.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,W.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(s.isHealthyTrack)}htmlTextTrackToITextTrack(e){var o,u,l,c,d;let{language:t,label:i}=e,r=e.id?e.id:BP(e),a=this.externalTracks.has(r),n=(l=a?(o=this.externalTracks.get(r))==null?void 0:o.isAuto:(u=this.internalTracks.get(r))==null?void 0:u.isAuto)!=null?l:r.includes("auto");return a?{id:r,type:"external",isAuto:n,language:t,label:i,url:(c=this.externalTracks.get(r))==null?void 0:c.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:(d=this.internalTracks.get(r))==null?void 0:d.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:a})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===a)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){(0,W.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,W.isNullable)(e)||!VP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,W.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,W.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=Al;var Ci=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var mg=s=>{let e=s;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e==null?void 0:e.parentNode;return e!=null?e:void 0},Rl=s=>{let e=mg(s);return!!(e&&e.fullscreenElement&&e.fullscreenElement===s)},bg=s=>{let e=mg(s);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===s)};var L=require("@vkontakte/videoplayer-shared/es2018");var _P=3,gg=(s,e,t=_P)=>{let i=0,r=0;for(let a=0;a<s.length;a++){let n=s.start(a),o=s.end(a);if(n<=e&&e<=o){if(i=n,r=o,!t)return{from:i,to:r};for(let u=a-1;u>=0;u--)s.end(u)+t>=i&&(i=s.start(u));for(let u=a+1;u<s.length;u++)s.start(u)-t<=r&&(r=s.end(u))}}return{from:i,to:r}};var We=s=>{let e=V=>(0,L.fromEvent)(s,V).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)),t=new L.Subscription,i=()=>t.unsubscribe(),r=(0,L.merge)((0,L.fromEvent)(s,"progress"),(0,L.fromEvent)(s,"timeupdate")).pipe((0,L.map)(()=>gg(s.buffered,s.currentTime)),(0,L.shareReplay)(1)),a=z.browser.isSafari?(0,L.combine)({play:e("play").pipe((0,L.once)()),playing:e("playing")}).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)):e("playing"),n=(0,L.fromEvent)(s,"volumechange").pipe((0,L.map)(()=>({muted:s.muted,volume:s.volume})),(0,L.shareReplay)(1)),o=(0,L.fromEvent)(s,"ratechange").pipe((0,L.map)(()=>s.playbackRate),(0,L.shareReplay)(1)),u=(0,L.fromEvent)(s,"error").pipe((0,L.filter)(()=>!!(s.error||s.played.length)),(0,L.map)(()=>{var H;let V=s.error;return{id:V?`MediaError#${V.code}`:"HtmlVideoError",category:L.ErrorCategory.VIDEO_PIPELINE,message:V?V.message:"Error event from HTML video element",thrown:(H=s.error)!=null?H:void 0}}),(0,L.shareReplay)(1)),l=(0,L.fromEvent)(s,"timeupdate").pipe((0,L.map)(()=>s.currentTime),(0,L.shareReplay)(1)),c=["waiting","seeking","seeked","timeupdate"],d=new L.Subject,f=.3,p;t.add((0,L.merge)(...c.map(V=>(0,L.fromEvent)(s,V))).subscribe(V=>{let H=s.currentTime;s.loop&&(0,L.isNonNullable)(p)&&(0,L.isNonNullable)(H)&&p>=s.duration-f&&H<=f&&d.next(p),p=H}));let h=e("pause").pipe((0,L.filter)(()=>!s.error&&p!==s.duration),(0,L.shareReplay)(1)),b=(0,L.fromEvent)(s,"enterpictureinpicture").pipe((0,L.shareReplay)(1)),S=(0,L.fromEvent)(s,"leavepictureinpicture").pipe((0,L.shareReplay)(1)),g=new L.ValueSubject(bg(s));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let y=new L.ValueSubject(Rl(s)),x=(0,L.fromEvent)(s,"fullscreenchange").pipe((0,L.shareReplay)(1));t.add(x.pipe((0,L.map)(()=>Rl(s))).subscribe(y));let E=.1,A=1e3,$=(0,L.fromEvent)(s,"timeupdate").pipe((0,L.map)(V=>s.duration-s.currentTime<E),(0,L.filterChanged)(),(0,L.shareReplay)(1)),O=(0,L.merge)($.pipe((0,L.filter)(V=>!s.loop&&V)),(0,L.fromEvent)(s,"ended")).pipe((0,L.throttle)(A),(0,L.mapTo)(void 0),(0,L.shareReplay)(1)),B=(0,L.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(V=>(0,L.fromEvent)(s,V)),$.pipe((0,L.map)(V=>({type:V?"ended":"unknown"})))).pipe((0,L.map)(V=>z.browser.isFirefox&&V.type==="ended"?s.readyState<2:s.readyState<3),(0,L.filterChanged)(),(0,L.shareReplay)(1));return{playing$:a,pause$:h,canplay$:e("canplay"),ended$:O,looped$:d,error$:u,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,L.fromEvent)(s,"durationchange").pipe((0,L.map)(()=>s.duration),(0,L.shareReplay)(1)),isBuffering$:B,currentBuffer$:r,volumeState$:n,playbackRateState$:o,inPiP$:g,inFullscreen$:y,enterPip$:b,leavePip$:S,destroy:i}};var qt=require("@vkontakte/videoplayer-shared/es2018"),ui=s=>{switch(s){case"mobile":return qt.VideoQuality.Q_144P;case"lowest":return qt.VideoQuality.Q_240P;case"low":return qt.VideoQuality.Q_360P;case"sd":case"medium":return qt.VideoQuality.Q_480P;case"hd":case"high":return qt.VideoQuality.Q_720P;case"fullhd":case"full":return qt.VideoQuality.Q_1080P;case"quadhd":case"quad":return qt.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return qt.VideoQuality.Q_2160P}};var Ne=K(St(),1),kl=K(Ue(),1),Bi=K(ar(),1),D=require("@vkontakte/videoplayer-shared/es2018");var Pl=!1,Ut={},xg=s=>{Pl=s},wg=()=>{Ut={}},Ag=s=>{s(Ut)},bs=(s,e)=>{var t;Pl&&(Ut.meta=(t=Ut.meta)!=null?t:{},Ut.meta[s]=e)},Fe=class{constructor(e){this.name=e}next(e){var i,r;if(!Pl)return;Ut.series=(i=Ut.series)!=null?i:{};let t=(r=Ut.series[this.name])!=null?r:[];t.push([Date.now(),e]),Ut.series[this.name]=t}};var Ae=require("@vkontakte/videoplayer-shared/es2018");function Rg(s,e,t){return!s.max&&s.min===e?"high_quality":!s.min&&s.max===t?"traffic_saving":"unknown"}function gr(s,e,t){return(0,Ae.isNullable)(s)||(0,Ae.isNonNullable)(s.min)&&(0,Ae.isNonNullable)(s.max)&&(0,Ae.isLower)(s.max,s.min)||(0,Ae.isNonNullable)(s.min)&&e&&(0,Ae.isHigher)(s.min,e)||(0,Ae.isNonNullable)(s.max)&&t&&(0,Ae.isLower)(s.max,t)}function Pg({limits:s,highestAvailableHeight:e,lowestAvailableHeight:t}){return gr({max:s!=null&&s.max?(0,Ae.videoHeightToQuality)(s.max):void 0,min:s!=null&&s.min?(0,Ae.videoHeightToQuality)(s.min):void 0},e?(0,Ae.videoHeightToQuality)(e):void 0,t?(0,Ae.videoHeightToQuality)(t):void 0)}var Dg=new Fe("best_bitrate"),xn=(s,e,t)=>(e-t)*Math.pow(2,-10*s)+t;var Sr=s=>(e,t)=>s*(Number(e.bitrate)-Number(t.bitrate)),li=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},wn='Assertion "ABR Tracks is empty array" failed',En=new WeakMap,kg=new WeakMap,Lg=new WeakMap,gs=(s,e,t,i)=>{var u;let r=[...e].sort(Sr(1)),a=[...t].sort(Sr(1)),n=a.filter(l=>(0,D.isNonNullable)(l.bitrate)&&(0,D.isNonNullable)(s.bitrate)?s.bitrate/l.bitrate>i:!0),o=(u=(0,Ne.default)(a,Math.round(a.length*r.indexOf(s)/(r.length+1))))!=null?u:(0,Ne.default)(a,-1);return o&&(0,kl.default)(n,o)?o:n.length?(0,Ne.default)(n,-1):(0,Ne.default)(a,0)},Ss=(s,e,t,i)=>{var u;let r=En.get(e);r||(r=[...e].sort(Sr(1)),En.set(e,r));let a=En.get(t);a||(a=[...t].sort(Sr(1)),En.set(t,a));let n=Lg.get(s);n||(n=a.filter(l=>(0,D.isNonNullable)(l.bitrate)&&(0,D.isNonNullable)(s.bitrate)?s.bitrate/l.bitrate>i:!0),Lg.set(s,n));let o=(u=(0,Ne.default)(a,Math.round(a.length*r.indexOf(s)/(r.length+1))))!=null?u:(0,Ne.default)(a,-1);return o&&(0,kl.default)(n,o)?o:n.length?(0,Ne.default)(n,-1):(0,Ne.default)(a,0)},$g=s=>"quality"in s,An=(s,e,t,i)=>{var n;let r=(0,D.isNonNullable)((n=i==null?void 0:i.last)==null?void 0:n.bitrate)&&(0,D.isNonNullable)(t==null?void 0:t.bitrate)&&i.last.bitrate<t.bitrate?s.trackCooldownIncreaseQuality:s.trackCooldownDecreaseQuality,a=t&&i&&i.history[t.id]&&(0,D.now)()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t!=null&&t.id&&i&&!a&&i.recordSelection(t),a&&(i!=null&&i.last)){let o=i.last;i==null||i.recordSwitch(o);let u=$g(o)?"video":"audio",l=$g(o)?o.quality:o.bitrate;return e({message:`
|
|
6
|
+
"use strict";var Oy=Object.create;var Ma=Object.defineProperty;var Fy=Object.getOwnPropertyDescriptor;var Ny=Object.getOwnPropertyNames;var qy=Object.getPrototypeOf,Uy=Object.prototype.hasOwnProperty;var v=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Hy=(s,e)=>{for(var t in e)Ma(s,t,{get:e[t],enumerable:!0})},ud=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ny(e))!Uy.call(s,r)&&r!==t&&Ma(s,r,{get:()=>e[r],enumerable:!(i=Fy(e,r))||i.enumerable});return s};var K=(s,e,t)=>(t=s!=null?Oy(qy(s)):{},ud(e||!s||!s.__esModule?Ma(t,"default",{value:s,enumerable:!0}):t,s)),jy=s=>ud(Ma({},"__esModule",{value:!0}),s);var Te=v((Ro,ld)=>{"use strict";var jr=function(s){return s&&s.Math===Math&&s};ld.exports=jr(typeof globalThis=="object"&&globalThis)||jr(typeof window=="object"&&window)||jr(typeof self=="object"&&self)||jr(typeof global=="object"&&global)||jr(typeof Ro=="object"&&Ro)||function(){return this}()||Function("return this")()});var Re=v((B$,cd)=>{"use strict";cd.exports=function(s){try{return!!s()}catch(e){return!0}}});var Qr=v((V$,dd)=>{"use strict";var Qy=Re();dd.exports=!Qy(function(){var s=function(){}.bind();return typeof s!="function"||s.hasOwnProperty("prototype")})});var Po=v((_$,md)=>{"use strict";var Wy=Qr(),fd=Function.prototype,pd=fd.apply,hd=fd.call;md.exports=typeof Reflect=="object"&&Reflect.apply||(Wy?hd.bind(pd):function(){return hd.apply(pd,arguments)})});var Pe=v((O$,Sd)=>{"use strict";var bd=Qr(),gd=Function.prototype,ko=gd.call,Gy=bd&&gd.bind.bind(ko,ko);Sd.exports=bd?Gy:function(s){return function(){return ko.apply(s,arguments)}}});var Ei=v((F$,yd)=>{"use strict";var vd=Pe(),zy=vd({}.toString),Yy=vd("".slice);yd.exports=function(s){return Yy(zy(s),8,-1)}});var Lo=v((N$,Td)=>{"use strict";var Ky=Ei(),Xy=Pe();Td.exports=function(s){if(Ky(s)==="Function")return Xy(s)}});var Ie=v((q$,Id)=>{"use strict";var $o=typeof document=="object"&&document.all;Id.exports=typeof $o=="undefined"&&$o!==void 0?function(s){return typeof s=="function"||s===$o}:function(s){return typeof s=="function"}});var Xe=v((U$,Ed)=>{"use strict";var Jy=Re();Ed.exports=!Jy(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Je=v((H$,xd)=>{"use strict";var Zy=Qr(),Ba=Function.prototype.call;xd.exports=Zy?Ba.bind(Ba):function(){return Ba.apply(Ba,arguments)}});var Mo=v(Rd=>{"use strict";var wd={}.propertyIsEnumerable,Ad=Object.getOwnPropertyDescriptor,eT=Ad&&!wd.call({1:2},1);Rd.f=eT?function(e){var t=Ad(this,e);return!!t&&t.enumerable}:wd});var Wr=v((Q$,Pd)=>{"use strict";Pd.exports=function(s,e){return{enumerable:!(s&1),configurable:!(s&2),writable:!(s&4),value:e}}});var Ld=v((W$,kd)=>{"use strict";var tT=Pe(),iT=Re(),rT=Ei(),Do=Object,sT=tT("".split);kd.exports=iT(function(){return!Do("z").propertyIsEnumerable(0)})?function(s){return rT(s)==="String"?sT(s,""):Do(s)}:Do});var Gr=v((G$,$d)=>{"use strict";$d.exports=function(s){return s==null}});var ri=v((z$,Md)=>{"use strict";var aT=Gr(),nT=TypeError;Md.exports=function(s){if(aT(s))throw new nT("Can't call method on "+s);return s}});var xi=v((Y$,Dd)=>{"use strict";var oT=Ld(),uT=ri();Dd.exports=function(s){return oT(uT(s))}});var qe=v((K$,Cd)=>{"use strict";var lT=Ie();Cd.exports=function(s){return typeof s=="object"?s!==null:lT(s)}});var wi=v((X$,Bd)=>{"use strict";Bd.exports={}});var Ot=v((J$,_d)=>{"use strict";var Co=wi(),Bo=Te(),cT=Ie(),Vd=function(s){return cT(s)?s:void 0};_d.exports=function(s,e){return arguments.length<2?Vd(Co[s])||Vd(Bo[s]):Co[s]&&Co[s][e]||Bo[s]&&Bo[s][e]}});var zr=v((Z$,Od)=>{"use strict";var dT=Pe();Od.exports=dT({}.isPrototypeOf)});var Ai=v((eM,qd)=>{"use strict";var pT=Te(),Fd=pT.navigator,Nd=Fd&&Fd.userAgent;qd.exports=Nd?String(Nd):""});var _o=v((tM,Gd)=>{"use strict";var Wd=Te(),Vo=Ai(),Ud=Wd.process,Hd=Wd.Deno,jd=Ud&&Ud.versions||Hd&&Hd.version,Qd=jd&&jd.v8,ft,Va;Qd&&(ft=Qd.split("."),Va=ft[0]>0&&ft[0]<4?1:+(ft[0]+ft[1]));!Va&&Vo&&(ft=Vo.match(/Edge\/(\d+)/),(!ft||ft[1]>=74)&&(ft=Vo.match(/Chrome\/(\d+)/),ft&&(Va=+ft[1])));Gd.exports=Va});var Oo=v((iM,Yd)=>{"use strict";var zd=_o(),hT=Re(),fT=Te(),mT=fT.String;Yd.exports=!!Object.getOwnPropertySymbols&&!hT(function(){var s=Symbol("symbol detection");return!mT(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&zd&&zd<41})});var Fo=v((rM,Kd)=>{"use strict";var bT=Oo();Kd.exports=bT&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var No=v((sM,Xd)=>{"use strict";var gT=Ot(),ST=Ie(),vT=zr(),yT=Fo(),TT=Object;Xd.exports=yT?function(s){return typeof s=="symbol"}:function(s){var e=gT("Symbol");return ST(e)&&vT(e.prototype,TT(s))}});var Yr=v((aM,Jd)=>{"use strict";var IT=String;Jd.exports=function(s){try{return IT(s)}catch(e){return"Object"}}});var At=v((nM,Zd)=>{"use strict";var ET=Ie(),xT=Yr(),wT=TypeError;Zd.exports=function(s){if(ET(s))return s;throw new wT(xT(s)+" is not a function")}});var Kr=v((oM,ep)=>{"use strict";var AT=At(),RT=Gr();ep.exports=function(s,e){var t=s[e];return RT(t)?void 0:AT(t)}});var ip=v((uM,tp)=>{"use strict";var qo=Je(),Uo=Ie(),Ho=qe(),PT=TypeError;tp.exports=function(s,e){var t,i;if(e==="string"&&Uo(t=s.toString)&&!Ho(i=qo(t,s))||Uo(t=s.valueOf)&&!Ho(i=qo(t,s))||e!=="string"&&Uo(t=s.toString)&&!Ho(i=qo(t,s)))return i;throw new PT("Can't convert object to primitive value")}});var mt=v((lM,rp)=>{"use strict";rp.exports=!0});var np=v((cM,ap)=>{"use strict";var sp=Te(),kT=Object.defineProperty;ap.exports=function(s,e){try{kT(sp,s,{value:e,configurable:!0,writable:!0})}catch(t){sp[s]=e}return e}});var Xr=v((dM,lp)=>{"use strict";var LT=mt(),$T=Te(),MT=np(),op="__core-js_shared__",up=lp.exports=$T[op]||MT(op,{});(up.versions||(up.versions=[])).push({version:"3.43.0",mode:LT?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var jo=v((pM,dp)=>{"use strict";var cp=Xr();dp.exports=function(s,e){return cp[s]||(cp[s]=e||{})}});var Ji=v((hM,pp)=>{"use strict";var DT=ri(),CT=Object;pp.exports=function(s){return CT(DT(s))}});var bt=v((fM,hp)=>{"use strict";var BT=Pe(),VT=Ji(),_T=BT({}.hasOwnProperty);hp.exports=Object.hasOwn||function(e,t){return _T(VT(e),t)}});var Qo=v((mM,fp)=>{"use strict";var OT=Pe(),FT=0,NT=Math.random(),qT=OT(1.1.toString);fp.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+qT(++FT+NT,36)}});var De=v((bM,bp)=>{"use strict";var UT=Te(),HT=jo(),mp=bt(),jT=Qo(),QT=Oo(),WT=Fo(),Zi=UT.Symbol,Wo=HT("wks"),GT=WT?Zi.for||Zi:Zi&&Zi.withoutSetter||jT;bp.exports=function(s){return mp(Wo,s)||(Wo[s]=QT&&mp(Zi,s)?Zi[s]:GT("Symbol."+s)),Wo[s]}});var yp=v((gM,vp)=>{"use strict";var zT=Je(),gp=qe(),Sp=No(),YT=Kr(),KT=ip(),XT=De(),JT=TypeError,ZT=XT("toPrimitive");vp.exports=function(s,e){if(!gp(s)||Sp(s))return s;var t=YT(s,ZT),i;if(t){if(e===void 0&&(e="default"),i=zT(t,s,e),!gp(i)||Sp(i))return i;throw new JT("Can't convert object to primitive value")}return e===void 0&&(e="number"),KT(s,e)}});var Go=v((SM,Tp)=>{"use strict";var eI=yp(),tI=No();Tp.exports=function(s){var e=eI(s,"string");return tI(e)?e:e+""}});var _a=v((vM,Ep)=>{"use strict";var iI=Te(),Ip=qe(),zo=iI.document,rI=Ip(zo)&&Ip(zo.createElement);Ep.exports=function(s){return rI?zo.createElement(s):{}}});var Yo=v((yM,xp)=>{"use strict";var sI=Xe(),aI=Re(),nI=_a();xp.exports=!sI&&!aI(function(){return Object.defineProperty(nI("div"),"a",{get:function(){return 7}}).a!==7})});var Rp=v(Ap=>{"use strict";var oI=Xe(),uI=Je(),lI=Mo(),cI=Wr(),dI=xi(),pI=Go(),hI=bt(),fI=Yo(),wp=Object.getOwnPropertyDescriptor;Ap.f=oI?wp:function(e,t){if(e=dI(e),t=pI(t),fI)try{return wp(e,t)}catch(i){}if(hI(e,t))return cI(!uI(lI.f,e,t),e[t])}});var Ko=v((IM,Pp)=>{"use strict";var mI=Re(),bI=Ie(),gI=/#|\.prototype\./,Jr=function(s,e){var t=vI[SI(s)];return t===TI?!0:t===yI?!1:bI(e)?mI(e):!!e},SI=Jr.normalize=function(s){return String(s).replace(gI,".").toLowerCase()},vI=Jr.data={},yI=Jr.NATIVE="N",TI=Jr.POLYFILL="P";Pp.exports=Jr});var er=v((EM,Lp)=>{"use strict";var kp=Lo(),II=At(),EI=Qr(),xI=kp(kp.bind);Lp.exports=function(s,e){return II(s),e===void 0?s:EI?xI(s,e):function(){return s.apply(e,arguments)}}});var Xo=v((xM,$p)=>{"use strict";var wI=Xe(),AI=Re();$p.exports=wI&&AI(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Rt=v((wM,Mp)=>{"use strict";var RI=qe(),PI=String,kI=TypeError;Mp.exports=function(s){if(RI(s))return s;throw new kI(PI(s)+" is not an object")}});var Ri=v(Cp=>{"use strict";var LI=Xe(),$I=Yo(),MI=Xo(),Oa=Rt(),Dp=Go(),DI=TypeError,Jo=Object.defineProperty,CI=Object.getOwnPropertyDescriptor,Zo="enumerable",eu="configurable",tu="writable";Cp.f=LI?MI?function(e,t,i){if(Oa(e),t=Dp(t),Oa(i),typeof e=="function"&&t==="prototype"&&"value"in i&&tu in i&&!i[tu]){var r=CI(e,t);r&&r[tu]&&(e[t]=i.value,i={configurable:eu in i?i[eu]:r[eu],enumerable:Zo in i?i[Zo]:r[Zo],writable:!1})}return Jo(e,t,i)}:Jo:function(e,t,i){if(Oa(e),t=Dp(t),Oa(i),$I)try{return Jo(e,t,i)}catch(r){}if("get"in i||"set"in i)throw new DI("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var tr=v((RM,Bp)=>{"use strict";var BI=Xe(),VI=Ri(),_I=Wr();Bp.exports=BI?function(s,e,t){return VI.f(s,e,_I(1,t))}:function(s,e,t){return s[e]=t,s}});var we=v((PM,_p)=>{"use strict";var Zr=Te(),OI=Po(),FI=Lo(),NI=Ie(),qI=Rp().f,UI=Ko(),ir=wi(),HI=er(),rr=tr(),Vp=bt();Xr();var jI=function(s){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new s;case 1:return new s(t);case 2:return new s(t,i)}return new s(t,i,r)}return OI(s,this,arguments)};return e.prototype=s.prototype,e};_p.exports=function(s,e){var t=s.target,i=s.global,r=s.stat,a=s.proto,n=i?Zr:r?Zr[t]:Zr[t]&&Zr[t].prototype,o=i?ir:ir[t]||rr(ir,t,{})[t],u=o.prototype,l,c,d,f,p,h,b,S,g;for(f in e)l=UI(i?f:t+(r?".":"#")+f,s.forced),c=!l&&n&&Vp(n,f),h=o[f],c&&(s.dontCallGetSet?(g=qI(n,f),b=g&&g.value):b=n[f]),p=c&&b?b:e[f],!(!l&&!a&&typeof h==typeof p)&&(s.bind&&c?S=HI(p,Zr):s.wrap&&c?S=jI(p):a&&NI(p)?S=FI(p):S=p,(s.sham||p&&p.sham||h&&h.sham)&&rr(S,"sham",!0),rr(o,f,S),a&&(d=t+"Prototype",Vp(ir,d)||rr(ir,d,{}),rr(ir[d],f,p),s.real&&u&&(l||!u[f])&&rr(u,f,p)))}});var Fa=v((kM,Fp)=>{"use strict";var QI=jo(),WI=Qo(),Op=QI("keys");Fp.exports=function(s){return Op[s]||(Op[s]=WI(s))}});var qp=v((LM,Np)=>{"use strict";var GI=Re();Np.exports=!GI(function(){function s(){}return s.prototype.constructor=null,Object.getPrototypeOf(new s)!==s.prototype})});var Na=v(($M,Hp)=>{"use strict";var zI=bt(),YI=Ie(),KI=Ji(),XI=Fa(),JI=qp(),Up=XI("IE_PROTO"),iu=Object,ZI=iu.prototype;Hp.exports=JI?iu.getPrototypeOf:function(s){var e=KI(s);if(zI(e,Up))return e[Up];var t=e.constructor;return YI(t)&&e instanceof t?t.prototype:e instanceof iu?ZI:null}});var Qp=v((MM,jp)=>{"use strict";var eE=Math.ceil,tE=Math.floor;jp.exports=Math.trunc||function(e){var t=+e;return(t>0?tE:eE)(t)}});var es=v((DM,Wp)=>{"use strict";var iE=Qp();Wp.exports=function(s){var e=+s;return e!==e||e===0?0:iE(e)}});var zp=v((CM,Gp)=>{"use strict";var rE=es(),sE=Math.max,aE=Math.min;Gp.exports=function(s,e){var t=rE(s);return t<0?sE(t+e,0):aE(t,e)}});var ru=v((BM,Yp)=>{"use strict";var nE=es(),oE=Math.min;Yp.exports=function(s){var e=nE(s);return e>0?oE(e,9007199254740991):0}});var sr=v((VM,Kp)=>{"use strict";var uE=ru();Kp.exports=function(s){return uE(s.length)}});var su=v((_M,Jp)=>{"use strict";var lE=xi(),cE=zp(),dE=sr(),Xp=function(s){return function(e,t,i){var r=lE(e),a=dE(r);if(a===0)return!s&&-1;var n=cE(i,a),o;if(s&&t!==t){for(;a>n;)if(o=r[n++],o!==o)return!0}else for(;a>n;n++)if((s||n in r)&&r[n]===t)return s||n||0;return!s&&-1}};Jp.exports={includes:Xp(!0),indexOf:Xp(!1)}});var qa=v((OM,Zp)=>{"use strict";Zp.exports={}});var ih=v((FM,th)=>{"use strict";var pE=Pe(),au=bt(),hE=xi(),fE=su().indexOf,mE=qa(),eh=pE([].push);th.exports=function(s,e){var t=hE(s),i=0,r=[],a;for(a in t)!au(mE,a)&&au(t,a)&&eh(r,a);for(;e.length>i;)au(t,a=e[i++])&&(~fE(r,a)||eh(r,a));return r}});var nu=v((NM,rh)=>{"use strict";rh.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ou=v((qM,sh)=>{"use strict";var bE=ih(),gE=nu();sh.exports=Object.keys||function(e){return bE(e,gE)}});var uu=v((UM,lh)=>{"use strict";var nh=Xe(),SE=Re(),oh=Pe(),vE=Na(),yE=ou(),TE=xi(),IE=Mo().f,uh=oh(IE),EE=oh([].push),xE=nh&&SE(function(){var s=Object.create(null);return s[2]=2,!uh(s,2)}),ah=function(s){return function(e){for(var t=TE(e),i=yE(t),r=xE&&vE(t)===null,a=i.length,n=0,o=[],u;a>n;)u=i[n++],(!nh||(r?u in t:uh(t,u)))&&EE(o,s?[u,t[u]]:t[u]);return o}};lh.exports={entries:ah(!0),values:ah(!1)}});var ch=v(()=>{"use strict";var wE=we(),AE=uu().values;wE({target:"Object",stat:!0},{values:function(e){return AE(e)}})});var ph=v((QM,dh)=>{"use strict";ch();var RE=wi();dh.exports=RE.Object.values});var fh=v((WM,hh)=>{"use strict";var PE=ph();hh.exports=PE});var Pi=v((GM,mh)=>{"use strict";var kE=fh();mh.exports=kE});var ts=v((zM,bh)=>{"use strict";bh.exports=function(){}});var gh=v(()=>{"use strict";var LE=we(),$E=su().includes,ME=Re(),DE=ts(),CE=ME(function(){return!Array(1).includes()});LE({target:"Array",proto:!0,forced:CE},{includes:function(e){return $E(this,e,arguments.length>1?arguments[1]:void 0)}});DE("includes")});var si=v((XM,Sh)=>{"use strict";var BE=Ot();Sh.exports=BE});var yh=v((JM,vh)=>{"use strict";gh();var VE=si();vh.exports=VE("Array","includes")});var Ih=v((ZM,Th)=>{"use strict";var _E=yh();Th.exports=_E});var Ue=v((eD,Eh)=>{"use strict";var OE=Ih();Eh.exports=OE});var wh=v(()=>{"use strict";var NE=we(),qE=uu().entries;NE({target:"Object",stat:!0},{entries:function(e){return qE(e)}})});var Rh=v((hD,Ah)=>{"use strict";wh();var UE=wi();Ah.exports=UE.Object.entries});var kh=v((fD,Ph)=>{"use strict";var HE=Rh();Ph.exports=HE});var ar=v((mD,Lh)=>{"use strict";var jE=kh();Lh.exports=jE});var ki=v((bD,$h)=>{"use strict";$h.exports={}});var Ch=v((gD,Dh)=>{"use strict";var QE=Te(),WE=Ie(),Mh=QE.WeakMap;Dh.exports=WE(Mh)&&/native code/.test(String(Mh))});var pu=v((SD,_h)=>{"use strict";var GE=Ch(),Vh=Te(),zE=qe(),YE=tr(),lu=bt(),cu=Xr(),KE=Fa(),XE=qa(),Bh="Object already initialized",du=Vh.TypeError,JE=Vh.WeakMap,Ha,is,ja,ZE=function(s){return ja(s)?is(s):Ha(s,{})},ex=function(s){return function(e){var t;if(!zE(e)||(t=is(e)).type!==s)throw new du("Incompatible receiver, "+s+" required");return t}};GE||cu.state?(gt=cu.state||(cu.state=new JE),gt.get=gt.get,gt.has=gt.has,gt.set=gt.set,Ha=function(s,e){if(gt.has(s))throw new du(Bh);return e.facade=s,gt.set(s,e),e},is=function(s){return gt.get(s)||{}},ja=function(s){return gt.has(s)}):(Li=KE("state"),XE[Li]=!0,Ha=function(s,e){if(lu(s,Li))throw new du(Bh);return e.facade=s,YE(s,Li,e),e},is=function(s){return lu(s,Li)?s[Li]:{}},ja=function(s){return lu(s,Li)});var gt,Li;_h.exports={set:Ha,get:is,has:ja,enforce:ZE,getterFor:ex}});var mu=v((vD,Fh)=>{"use strict";var hu=Xe(),tx=bt(),Oh=Function.prototype,ix=hu&&Object.getOwnPropertyDescriptor,fu=tx(Oh,"name"),rx=fu&&function(){}.name==="something",sx=fu&&(!hu||hu&&ix(Oh,"name").configurable);Fh.exports={EXISTS:fu,PROPER:rx,CONFIGURABLE:sx}});var qh=v(Nh=>{"use strict";var ax=Xe(),nx=Xo(),ox=Ri(),ux=Rt(),lx=xi(),cx=ou();Nh.f=ax&&!nx?Object.defineProperties:function(e,t){ux(e);for(var i=lx(t),r=cx(t),a=r.length,n=0,o;a>n;)ox.f(e,o=r[n++],i[o]);return e}});var bu=v((TD,Uh)=>{"use strict";var dx=Ot();Uh.exports=dx("document","documentElement")});var yu=v((ID,Yh)=>{"use strict";var px=Rt(),hx=qh(),Hh=nu(),fx=qa(),mx=bu(),bx=_a(),gx=Fa(),jh=">",Qh="<",Su="prototype",vu="script",Gh=gx("IE_PROTO"),gu=function(){},zh=function(s){return Qh+vu+jh+s+Qh+"/"+vu+jh},Wh=function(s){s.write(zh("")),s.close();var e=s.parentWindow.Object;return s=null,e},Sx=function(){var s=bx("iframe"),e="java"+vu+":",t;return s.style.display="none",mx.appendChild(s),s.src=String(e),t=s.contentWindow.document,t.open(),t.write(zh("document.F=Object")),t.close(),t.F},Qa,Wa=function(){try{Qa=new ActiveXObject("htmlfile")}catch(e){}Wa=typeof document!="undefined"?document.domain&&Qa?Wh(Qa):Sx():Wh(Qa);for(var s=Hh.length;s--;)delete Wa[Su][Hh[s]];return Wa()};fx[Gh]=!0;Yh.exports=Object.create||function(e,t){var i;return e!==null?(gu[Su]=px(e),i=new gu,gu[Su]=null,i[Gh]=e):i=Wa(),t===void 0?i:hx.f(i,t)}});var nr=v((ED,Kh)=>{"use strict";var vx=tr();Kh.exports=function(s,e,t,i){return i&&i.enumerable?s[e]=t:vx(s,e,t),s}});var xu=v((xD,Zh)=>{"use strict";var yx=Re(),Tx=Ie(),Ix=qe(),Ex=yu(),Xh=Na(),xx=nr(),wx=De(),Ax=mt(),Eu=wx("iterator"),Jh=!1,Ft,Tu,Iu;[].keys&&(Iu=[].keys(),"next"in Iu?(Tu=Xh(Xh(Iu)),Tu!==Object.prototype&&(Ft=Tu)):Jh=!0);var Rx=!Ix(Ft)||yx(function(){var s={};return Ft[Eu].call(s)!==s});Rx?Ft={}:Ax&&(Ft=Ex(Ft));Tx(Ft[Eu])||xx(Ft,Eu,function(){return this});Zh.exports={IteratorPrototype:Ft,BUGGY_SAFARI_ITERATORS:Jh}});var Ga=v((wD,tf)=>{"use strict";var Px=De(),kx=Px("toStringTag"),ef={};ef[kx]="z";tf.exports=String(ef)==="[object z]"});var rs=v((AD,rf)=>{"use strict";var Lx=Ga(),$x=Ie(),za=Ei(),Mx=De(),Dx=Mx("toStringTag"),Cx=Object,Bx=za(function(){return arguments}())==="Arguments",Vx=function(s,e){try{return s[e]}catch(t){}};rf.exports=Lx?za:function(s){var e,t,i;return s===void 0?"Undefined":s===null?"Null":typeof(t=Vx(e=Cx(s),Dx))=="string"?t:Bx?za(e):(i=za(e))==="Object"&&$x(e.callee)?"Arguments":i}});var af=v((RD,sf)=>{"use strict";var _x=Ga(),Ox=rs();sf.exports=_x?{}.toString:function(){return"[object "+Ox(this)+"]"}});var ss=v((PD,of)=>{"use strict";var Fx=Ga(),Nx=Ri().f,qx=tr(),Ux=bt(),Hx=af(),jx=De(),nf=jx("toStringTag");of.exports=function(s,e,t,i){var r=t?s:s&&s.prototype;r&&(Ux(r,nf)||Nx(r,nf,{configurable:!0,value:e}),i&&!Fx&&qx(r,"toString",Hx))}});var lf=v((kD,uf)=>{"use strict";var Qx=xu().IteratorPrototype,Wx=yu(),Gx=Wr(),zx=ss(),Yx=ki(),Kx=function(){return this};uf.exports=function(s,e,t,i){var r=e+" Iterator";return s.prototype=Wx(Qx,{next:Gx(+!i,t)}),zx(s,r,!1,!0),Yx[r]=Kx,s}});var df=v((LD,cf)=>{"use strict";var Xx=Pe(),Jx=At();cf.exports=function(s,e,t){try{return Xx(Jx(Object.getOwnPropertyDescriptor(s,e)[t]))}catch(i){}}});var hf=v(($D,pf)=>{"use strict";var Zx=qe();pf.exports=function(s){return Zx(s)||s===null}});var mf=v((MD,ff)=>{"use strict";var ew=hf(),tw=String,iw=TypeError;ff.exports=function(s){if(ew(s))return s;throw new iw("Can't set "+tw(s)+" as a prototype")}});var wu=v((DD,bf)=>{"use strict";var rw=df(),sw=qe(),aw=ri(),nw=mf();bf.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,e={},t;try{t=rw(Object.prototype,"__proto__","set"),t(e,[]),s=e instanceof Array}catch(i){}return function(r,a){return aw(r),nw(a),sw(r)&&(s?t(r,a):r.__proto__=a),r}}():void 0)});var Rf=v((CD,Af)=>{"use strict";var ow=we(),uw=Je(),Ya=mt(),xf=mu(),lw=Ie(),cw=lf(),gf=Na(),Sf=wu(),dw=ss(),pw=tr(),Au=nr(),hw=De(),vf=ki(),wf=xu(),fw=xf.PROPER,mw=xf.CONFIGURABLE,yf=wf.IteratorPrototype,Ka=wf.BUGGY_SAFARI_ITERATORS,as=hw("iterator"),Tf="keys",ns="values",If="entries",Ef=function(){return this};Af.exports=function(s,e,t,i,r,a,n){cw(t,e,i);var o=function(g){if(g===r&&f)return f;if(!Ka&&g&&g in c)return c[g];switch(g){case Tf:return function(){return new t(this,g)};case ns:return function(){return new t(this,g)};case If:return function(){return new t(this,g)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,c=s.prototype,d=c[as]||c["@@iterator"]||r&&c[r],f=!Ka&&d||o(r),p=e==="Array"&&c.entries||d,h,b,S;if(p&&(h=gf(p.call(new s)),h!==Object.prototype&&h.next&&(!Ya&&gf(h)!==yf&&(Sf?Sf(h,yf):lw(h[as])||Au(h,as,Ef)),dw(h,u,!0,!0),Ya&&(vf[u]=Ef))),fw&&r===ns&&d&&d.name!==ns&&(!Ya&&mw?pw(c,"name",ns):(l=!0,f=function(){return uw(d,this)})),r)if(b={values:o(ns),keys:a?f:o(Tf),entries:o(If)},n)for(S in b)(Ka||l||!(S in c))&&Au(c,S,b[S]);else ow({target:e,proto:!0,forced:Ka||l},b);return(!Ya||n)&&c[as]!==f&&Au(c,as,f,{name:r}),vf[e]=f,b}});var kf=v((BD,Pf)=>{"use strict";Pf.exports=function(s,e){return{value:s,done:e}}});var Pu=v((VD,Cf)=>{"use strict";var bw=xi(),Ru=ts(),Lf=ki(),Mf=pu(),gw=Ri().f,Sw=Rf(),Xa=kf(),vw=mt(),yw=Xe(),Df="Array Iterator",Tw=Mf.set,Iw=Mf.getterFor(Df);Cf.exports=Sw(Array,"Array",function(s,e){Tw(this,{type:Df,target:bw(s),index:0,kind:e})},function(){var s=Iw(this),e=s.target,t=s.index++;if(!e||t>=e.length)return s.target=null,Xa(void 0,!0);switch(s.kind){case"keys":return Xa(t,!1);case"values":return Xa(e[t],!1)}return Xa([t,e[t]],!1)},"values");var $f=Lf.Arguments=Lf.Array;Ru("keys");Ru("values");Ru("entries");if(!vw&&yw&&$f.name!=="values")try{gw($f,"name",{value:"values"})}catch(s){}});var Vf=v((_D,Bf)=>{"use strict";var Ew=De(),xw=ki(),ww=Ew("iterator"),Aw=Array.prototype;Bf.exports=function(s){return s!==void 0&&(xw.Array===s||Aw[ww]===s)}});var ku=v((OD,Of)=>{"use strict";var Rw=rs(),_f=Kr(),Pw=Gr(),kw=ki(),Lw=De(),$w=Lw("iterator");Of.exports=function(s){if(!Pw(s))return _f(s,$w)||_f(s,"@@iterator")||kw[Rw(s)]}});var Nf=v((FD,Ff)=>{"use strict";var Mw=Je(),Dw=At(),Cw=Rt(),Bw=Yr(),Vw=ku(),_w=TypeError;Ff.exports=function(s,e){var t=arguments.length<2?Vw(s):e;if(Dw(t))return Cw(Mw(t,s));throw new _w(Bw(s)+" is not iterable")}});var Hf=v((ND,Uf)=>{"use strict";var Ow=Je(),qf=Rt(),Fw=Kr();Uf.exports=function(s,e,t){var i,r;qf(s);try{if(i=Fw(s,"return"),!i){if(e==="throw")throw t;return t}i=Ow(i,s)}catch(a){r=!0,i=a}if(e==="throw")throw t;if(r)throw i;return qf(i),t}});var Za=v((qD,Gf)=>{"use strict";var Nw=er(),qw=Je(),Uw=Rt(),Hw=Yr(),jw=Vf(),Qw=sr(),jf=zr(),Ww=Nf(),Gw=ku(),Qf=Hf(),zw=TypeError,Ja=function(s,e){this.stopped=s,this.result=e},Wf=Ja.prototype;Gf.exports=function(s,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),a=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),o=!!(t&&t.INTERRUPTED),u=Nw(e,i),l,c,d,f,p,h,b,S=function(y){return l&&Qf(l,"normal"),new Ja(!0,y)},g=function(y){return r?(Uw(y),o?u(y[0],y[1],S):u(y[0],y[1])):o?u(y,S):u(y)};if(a)l=s.iterator;else if(n)l=s;else{if(c=Gw(s),!c)throw new zw(Hw(s)+" is not iterable");if(jw(c)){for(d=0,f=Qw(s);f>d;d++)if(p=g(s[d]),p&&jf(Wf,p))return p;return new Ja(!1)}l=Ww(s,c)}for(h=a?s.next:l.next;!(b=qw(h,l)).done;){try{p=g(b.value)}catch(y){Qf(l,"throw",y)}if(typeof p=="object"&&p&&jf(Wf,p))return p}return new Ja(!1)}});var Yf=v((UD,zf)=>{"use strict";var Yw=Xe(),Kw=Ri(),Xw=Wr();zf.exports=function(s,e,t){Yw?Kw.f(s,e,Xw(0,t)):s[e]=t}});var Kf=v(()=>{"use strict";var Jw=we(),Zw=Za(),eA=Yf();Jw({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Zw(e,function(i,r){eA(t,i,r)},{AS_ENTRIES:!0}),t}})});var Jf=v((QD,Xf)=>{"use strict";Pu();Kf();var tA=wi();Xf.exports=tA.Object.fromEntries});var em=v((WD,Zf)=>{"use strict";Zf.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var im=v(()=>{"use strict";Pu();var iA=em(),rA=Te(),sA=ss(),tm=ki();for(en in iA)sA(rA[en],en),tm[en]=tm.Array;var en});var sm=v((YD,rm)=>{"use strict";var aA=Jf();im();rm.exports=aA});var Lu=v((KD,am)=>{"use strict";var nA=sm();am.exports=nA});var nm=v(()=>{"use strict"});var $u=v((ZD,om)=>{"use strict";var os=Te(),oA=Ai(),uA=Ei(),tn=function(s){return oA.slice(0,s.length)===s};om.exports=function(){return tn("Bun/")?"BUN":tn("Cloudflare-Workers")?"CLOUDFLARE":tn("Deno/")?"DENO":tn("Node.js/")?"NODE":os.Bun&&typeof Bun.version=="string"?"BUN":os.Deno&&typeof Deno.version=="object"?"DENO":uA(os.process)==="process"?"NODE":os.window&&os.document?"BROWSER":"REST"}()});var rn=v((eC,um)=>{"use strict";var lA=$u();um.exports=lA==="NODE"});var cm=v((tC,lm)=>{"use strict";var cA=Ri();lm.exports=function(s,e,t){return cA.f(s,e,t)}});var hm=v((iC,pm)=>{"use strict";var dA=Ot(),pA=cm(),hA=De(),fA=Xe(),dm=hA("species");pm.exports=function(s){var e=dA(s);fA&&e&&!e[dm]&&pA(e,dm,{configurable:!0,get:function(){return this}})}});var mm=v((rC,fm)=>{"use strict";var mA=zr(),bA=TypeError;fm.exports=function(s,e){if(mA(e,s))return s;throw new bA("Incorrect invocation")}});var Du=v((sC,bm)=>{"use strict";var gA=Pe(),SA=Ie(),Mu=Xr(),vA=gA(Function.toString);SA(Mu.inspectSource)||(Mu.inspectSource=function(s){return vA(s)});bm.exports=Mu.inspectSource});var Bu=v((aC,Tm)=>{"use strict";var yA=Pe(),TA=Re(),gm=Ie(),IA=rs(),EA=Ot(),xA=Du(),Sm=function(){},vm=EA("Reflect","construct"),Cu=/^\s*(?:class|function)\b/,wA=yA(Cu.exec),AA=!Cu.test(Sm),us=function(e){if(!gm(e))return!1;try{return vm(Sm,[],e),!0}catch(t){return!1}},ym=function(e){if(!gm(e))return!1;switch(IA(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return AA||!!wA(Cu,xA(e))}catch(t){return!0}};ym.sham=!0;Tm.exports=!vm||TA(function(){var s;return us(us.call)||!us(Object)||!us(function(){s=!0})||s})?ym:us});var Em=v((nC,Im)=>{"use strict";var RA=Bu(),PA=Yr(),kA=TypeError;Im.exports=function(s){if(RA(s))return s;throw new kA(PA(s)+" is not a constructor")}});var Vu=v((oC,wm)=>{"use strict";var xm=Rt(),LA=Em(),$A=Gr(),MA=De(),DA=MA("species");wm.exports=function(s,e){var t=xm(s).constructor,i;return t===void 0||$A(i=xm(t)[DA])?e:LA(i)}});var Rm=v((uC,Am)=>{"use strict";var CA=Pe();Am.exports=CA([].slice)});var km=v((lC,Pm)=>{"use strict";var BA=TypeError;Pm.exports=function(s,e){if(s<e)throw new BA("Not enough arguments");return s}});var _u=v((cC,Lm)=>{"use strict";var VA=Ai();Lm.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(VA)});var Wu=v((dC,Fm)=>{"use strict";var Ze=Te(),_A=Po(),OA=er(),$m=Ie(),FA=bt(),Om=Re(),Mm=bu(),NA=Rm(),Dm=_a(),qA=km(),UA=_u(),HA=rn(),Hu=Ze.setImmediate,ju=Ze.clearImmediate,jA=Ze.process,Ou=Ze.Dispatch,QA=Ze.Function,Cm=Ze.MessageChannel,WA=Ze.String,Fu=0,ls={},Bm="onreadystatechange",cs,$i,Nu,qu;Om(function(){cs=Ze.location});var Qu=function(s){if(FA(ls,s)){var e=ls[s];delete ls[s],e()}},Uu=function(s){return function(){Qu(s)}},Vm=function(s){Qu(s.data)},_m=function(s){Ze.postMessage(WA(s),cs.protocol+"//"+cs.host)};(!Hu||!ju)&&(Hu=function(e){qA(arguments.length,1);var t=$m(e)?e:QA(e),i=NA(arguments,1);return ls[++Fu]=function(){_A(t,void 0,i)},$i(Fu),Fu},ju=function(e){delete ls[e]},HA?$i=function(s){jA.nextTick(Uu(s))}:Ou&&Ou.now?$i=function(s){Ou.now(Uu(s))}:Cm&&!UA?(Nu=new Cm,qu=Nu.port2,Nu.port1.onmessage=Vm,$i=OA(qu.postMessage,qu)):Ze.addEventListener&&$m(Ze.postMessage)&&!Ze.importScripts&&cs&&cs.protocol!=="file:"&&!Om(_m)?($i=_m,Ze.addEventListener("message",Vm,!1)):Bm in Dm("script")?$i=function(s){Mm.appendChild(Dm("script"))[Bm]=function(){Mm.removeChild(this),Qu(s)}}:$i=function(s){setTimeout(Uu(s),0)});Fm.exports={set:Hu,clear:ju}});var Um=v((pC,qm)=>{"use strict";var Nm=Te(),GA=Xe(),zA=Object.getOwnPropertyDescriptor;qm.exports=function(s){if(!GA)return Nm[s];var e=zA(Nm,s);return e&&e.value}});var Gu=v((hC,jm)=>{"use strict";var Hm=function(){this.head=null,this.tail=null};Hm.prototype={add:function(s){var e={item:s,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var s=this.head;if(s){var e=this.head=s.next;return e===null&&(this.tail=null),s.item}}};jm.exports=Hm});var Wm=v((fC,Qm)=>{"use strict";var YA=Ai();Qm.exports=/ipad|iphone|ipod/i.test(YA)&&typeof Pebble!="undefined"});var zm=v((mC,Gm)=>{"use strict";var KA=Ai();Gm.exports=/web0s(?!.*chrome)/i.test(KA)});var tb=v((bC,eb)=>{"use strict";var ur=Te(),XA=Um(),Ym=er(),zu=Wu().set,JA=Gu(),ZA=_u(),eR=Wm(),tR=zm(),Yu=rn(),Km=ur.MutationObserver||ur.WebKitMutationObserver,Xm=ur.document,Jm=ur.process,sn=ur.Promise,Ju=XA("queueMicrotask"),or,Ku,Xu,an,Zm;Ju||(ds=new JA,ps=function(){var s,e;for(Yu&&(s=Jm.domain)&&s.exit();e=ds.get();)try{e()}catch(t){throw ds.head&&or(),t}s&&s.enter()},!ZA&&!Yu&&!tR&&Km&&Xm?(Ku=!0,Xu=Xm.createTextNode(""),new Km(ps).observe(Xu,{characterData:!0}),or=function(){Xu.data=Ku=!Ku}):!eR&&sn&&sn.resolve?(an=sn.resolve(void 0),an.constructor=sn,Zm=Ym(an.then,an),or=function(){Zm(ps)}):Yu?or=function(){Jm.nextTick(ps)}:(zu=Ym(zu,ur),or=function(){zu(ps)}),Ju=function(s){ds.head||or(),ds.add(s)});var ds,ps;eb.exports=Ju});var rb=v((gC,ib)=>{"use strict";ib.exports=function(s,e){try{arguments.length===1?console.error(s):console.error(s,e)}catch(t){}}});var nn=v((SC,sb)=>{"use strict";sb.exports=function(s){try{return{error:!1,value:s()}}catch(e){return{error:!0,value:e}}}});var Mi=v((vC,ab)=>{"use strict";var iR=Te();ab.exports=iR.Promise});var lr=v((yC,lb)=>{"use strict";var rR=Te(),hs=Mi(),sR=Ie(),aR=Ko(),nR=Du(),oR=De(),nb=$u(),uR=mt(),Zu=_o(),ob=hs&&hs.prototype,lR=oR("species"),el=!1,ub=sR(rR.PromiseRejectionEvent),cR=aR("Promise",function(){var s=nR(hs),e=s!==String(hs);if(!e&&Zu===66||uR&&!(ob.catch&&ob.finally))return!0;if(!Zu||Zu<51||!/native code/.test(s)){var t=new hs(function(a){a(1)}),i=function(a){a(function(){},function(){})},r=t.constructor={};if(r[lR]=i,el=t.then(function(){})instanceof i,!el)return!0}return!e&&(nb==="BROWSER"||nb==="DENO")&&!ub});lb.exports={CONSTRUCTOR:cR,REJECTION_EVENT:ub,SUBCLASSING:el}});var cr=v((TC,db)=>{"use strict";var cb=At(),dR=TypeError,pR=function(s){var e,t;this.promise=new s(function(i,r){if(e!==void 0||t!==void 0)throw new dR("Bad Promise constructor");e=i,t=r}),this.resolve=cb(e),this.reject=cb(t)};db.exports.f=function(s){return new pR(s)}});var $b=v(()=>{"use strict";var hR=we(),fR=mt(),cn=rn(),ai=Te(),mR=wi(),fr=Je(),pb=nr(),hb=wu(),bR=ss(),gR=hm(),SR=At(),ln=Ie(),vR=qe(),yR=mm(),TR=Vu(),Sb=Wu().set,al=tb(),IR=rb(),ER=nn(),xR=Gu(),vb=pu(),dn=Mi(),nl=lr(),yb=cr(),pn="Promise",Tb=nl.CONSTRUCTOR,wR=nl.REJECTION_EVENT,AR=nl.SUBCLASSING,tl=vb.getterFor(pn),RR=vb.set,dr=dn&&dn.prototype,Di=dn,on=dr,Ib=ai.TypeError,il=ai.document,ol=ai.process,rl=yb.f,PR=rl,kR=!!(il&&il.createEvent&&ai.dispatchEvent),Eb="unhandledrejection",LR="rejectionhandled",fb=0,xb=1,$R=2,ul=1,wb=2,un,mb,Ab,bb,Rb=function(s){var e;return vR(s)&&ln(e=s.then)?e:!1},Pb=function(s,e){var t=e.value,i=e.state===xb,r=i?s.ok:s.fail,a=s.resolve,n=s.reject,o=s.domain,u,l,c;try{r?(i||(e.rejection===wb&&DR(e),e.rejection=ul),r===!0?u=t:(o&&o.enter(),u=r(t),o&&(o.exit(),c=!0)),u===s.promise?n(new Ib("Promise-chain cycle")):(l=Rb(u))?fr(l,u,a,n):a(u)):n(t)}catch(d){o&&!c&&o.exit(),n(d)}},kb=function(s,e){s.notified||(s.notified=!0,al(function(){for(var t=s.reactions,i;i=t.get();)Pb(i,s);s.notified=!1,e&&!s.rejection&&MR(s)}))},Lb=function(s,e,t){var i,r;kR?(i=il.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(s,!1,!0),ai.dispatchEvent(i)):i={promise:e,reason:t},!wR&&(r=ai["on"+s])?r(i):s===Eb&&IR("Unhandled promise rejection",t)},MR=function(s){fr(Sb,ai,function(){var e=s.facade,t=s.value,i=gb(s),r;if(i&&(r=ER(function(){cn?ol.emit("unhandledRejection",t,e):Lb(Eb,e,t)}),s.rejection=cn||gb(s)?wb:ul,r.error))throw r.value})},gb=function(s){return s.rejection!==ul&&!s.parent},DR=function(s){fr(Sb,ai,function(){var e=s.facade;cn?ol.emit("rejectionHandled",e):Lb(LR,e,s.value)})},pr=function(s,e,t){return function(i){s(e,i,t)}},hr=function(s,e,t){s.done||(s.done=!0,t&&(s=t),s.value=e,s.state=$R,kb(s,!0))},sl=function(s,e,t){if(!s.done){s.done=!0,t&&(s=t);try{if(s.facade===e)throw new Ib("Promise can't be resolved itself");var i=Rb(e);i?al(function(){var r={done:!1};try{fr(i,e,pr(sl,r,s),pr(hr,r,s))}catch(a){hr(r,a,s)}}):(s.value=e,s.state=xb,kb(s,!1))}catch(r){hr({done:!1},r,s)}}};if(Tb&&(Di=function(e){yR(this,on),SR(e),fr(un,this);var t=tl(this);try{e(pr(sl,t),pr(hr,t))}catch(i){hr(t,i)}},on=Di.prototype,un=function(e){RR(this,{type:pn,done:!1,notified:!1,parent:!1,reactions:new xR,rejection:!1,state:fb,value:null})},un.prototype=pb(on,"then",function(e,t){var i=tl(this),r=rl(TR(this,Di));return i.parent=!0,r.ok=ln(e)?e:!0,r.fail=ln(t)&&t,r.domain=cn?ol.domain:void 0,i.state===fb?i.reactions.add(r):al(function(){Pb(r,i)}),r.promise}),mb=function(){var s=new un,e=tl(s);this.promise=s,this.resolve=pr(sl,e),this.reject=pr(hr,e)},yb.f=rl=function(s){return s===Di||s===Ab?new mb(s):PR(s)},!fR&&ln(dn)&&dr!==Object.prototype)){bb=dr.then,AR||pb(dr,"then",function(e,t){var i=this;return new Di(function(r,a){fr(bb,i,r,a)}).then(e,t)},{unsafe:!0});try{delete dr.constructor}catch(s){}hb&&hb(dr,on)}hR({global:!0,constructor:!0,wrap:!0,forced:Tb},{Promise:Di});Ab=mR.Promise;bR(Di,pn,!1,!0);gR(pn)});var Vb=v((xC,Bb)=>{"use strict";var CR=De(),Db=CR("iterator"),Cb=!1;try{Mb=0,ll={next:function(){return{done:!!Mb++}},return:function(){Cb=!0}},ll[Db]=function(){return this},Array.from(ll,function(){throw 2})}catch(s){}var Mb,ll;Bb.exports=function(s,e){try{if(!e&&!Cb)return!1}catch(r){return!1}var t=!1;try{var i={};i[Db]=function(){return{next:function(){return{done:t=!0}}}},s(i)}catch(r){}return t}});var cl=v((wC,_b)=>{"use strict";var BR=Mi(),VR=Vb(),_R=lr().CONSTRUCTOR;_b.exports=_R||!VR(function(s){BR.all(s).then(void 0,function(){})})});var Ob=v(()=>{"use strict";var OR=we(),FR=Je(),NR=At(),qR=cr(),UR=nn(),HR=Za(),jR=cl();OR({target:"Promise",stat:!0,forced:jR},{all:function(e){var t=this,i=qR.f(t),r=i.resolve,a=i.reject,n=UR(function(){var o=NR(t.resolve),u=[],l=0,c=1;HR(e,function(d){var f=l++,p=!1;c++,FR(o,t,d).then(function(h){p||(p=!0,u[f]=h,--c||r(u))},a)}),--c||r(u)});return n.error&&a(n.value),i.promise}})});var Nb=v(()=>{"use strict";var QR=we(),WR=mt(),GR=lr().CONSTRUCTOR,pl=Mi(),zR=Ot(),YR=Ie(),KR=nr(),Fb=pl&&pl.prototype;QR({target:"Promise",proto:!0,forced:GR,real:!0},{catch:function(s){return this.then(void 0,s)}});!WR&&YR(pl)&&(dl=zR("Promise").prototype.catch,Fb.catch!==dl&&KR(Fb,"catch",dl,{unsafe:!0}));var dl});var qb=v(()=>{"use strict";var XR=we(),JR=Je(),ZR=At(),eP=cr(),tP=nn(),iP=Za(),rP=cl();XR({target:"Promise",stat:!0,forced:rP},{race:function(e){var t=this,i=eP.f(t),r=i.reject,a=tP(function(){var n=ZR(t.resolve);iP(e,function(o){JR(n,t,o).then(i.resolve,r)})});return a.error&&r(a.value),i.promise}})});var Ub=v(()=>{"use strict";var sP=we(),aP=cr(),nP=lr().CONSTRUCTOR;sP({target:"Promise",stat:!0,forced:nP},{reject:function(e){var t=aP.f(this),i=t.reject;return i(e),t.promise}})});var hl=v((CC,Hb)=>{"use strict";var oP=Rt(),uP=qe(),lP=cr();Hb.exports=function(s,e){if(oP(s),uP(e)&&e.constructor===s)return e;var t=lP.f(s),i=t.resolve;return i(e),t.promise}});var Wb=v(()=>{"use strict";var cP=we(),dP=Ot(),jb=mt(),pP=Mi(),Qb=lr().CONSTRUCTOR,hP=hl(),fP=dP("Promise"),mP=jb&&!Qb;cP({target:"Promise",stat:!0,forced:jb||Qb},{resolve:function(e){return hP(mP&&this===fP?pP:this,e)}})});var Gb=v(()=>{"use strict";$b();Ob();Nb();qb();Ub();Wb()});var Xb=v(()=>{"use strict";var bP=we(),gP=mt(),hn=Mi(),SP=Re(),Yb=Ot(),Kb=Ie(),vP=Vu(),zb=hl(),yP=nr(),ml=hn&&hn.prototype,TP=!!hn&&SP(function(){ml.finally.call({then:function(){}},function(){})});bP({target:"Promise",proto:!0,real:!0,forced:TP},{finally:function(s){var e=vP(this,Yb("Promise")),t=Kb(s);return this.then(t?function(i){return zb(e,s()).then(function(){return i})}:s,t?function(i){return zb(e,s()).then(function(){throw i})}:s)}});!gP&&Kb(hn)&&(fl=Yb("Promise").prototype.finally,ml.finally!==fl&&yP(ml,"finally",fl,{unsafe:!0}));var fl});var Zb=v((qC,Jb)=>{"use strict";nm();Gb();Xb();var IP=si();Jb.exports=IP("Promise","finally")});var tg=v((UC,eg)=>{"use strict";var EP=Zb();eg.exports=EP});var fn=v((HC,ig)=>{"use strict";var xP=tg();ig.exports=xP});var Sg=v(()=>{"use strict";var OP=we(),FP=Ji(),NP=sr(),qP=es(),UP=ts();OP({target:"Array",proto:!0},{at:function(e){var t=FP(this),i=NP(t),r=qP(e),a=r>=0?r:i+r;return a<0||a>=i?void 0:t[a]}});UP("at")});var yg=v((I0,vg)=>{"use strict";Sg();var HP=si();vg.exports=HP("Array","at")});var Ig=v((E0,Tg)=>{"use strict";var jP=yg();Tg.exports=jP});var St=v((x0,Eg)=>{"use strict";var QP=Ig();Eg.exports=QP});var Vl=v((s_,zg)=>{"use strict";var ik=Ei();zg.exports=Array.isArray||function(e){return ik(e)==="Array"}});var Kg=v((a_,Yg)=>{"use strict";var rk=TypeError,sk=9007199254740991;Yg.exports=function(s){if(s>sk)throw rk("Maximum allowed index exceeded");return s}});var Zg=v((n_,Jg)=>{"use strict";var ak=Vl(),nk=sr(),ok=Kg(),uk=er(),Xg=function(s,e,t,i,r,a,n,o){for(var u=r,l=0,c=n?uk(n,o):!1,d,f;l<i;)l in t&&(d=c?c(t[l],l,e):t[l],a>0&&ak(d)?(f=nk(d),u=Xg(s,e,d,f,u,a-1)-1):(ok(u+1),s[u]=d),u++),l++;return u};Jg.exports=Xg});var rS=v((o_,iS)=>{"use strict";var eS=Vl(),lk=Bu(),ck=qe(),dk=De(),pk=dk("species"),tS=Array;iS.exports=function(s){var e;return eS(s)&&(e=s.constructor,lk(e)&&(e===tS||eS(e.prototype))?e=void 0:ck(e)&&(e=e[pk],e===null&&(e=void 0))),e===void 0?tS:e}});var aS=v((u_,sS)=>{"use strict";var hk=rS();sS.exports=function(s,e){return new(hk(s))(e===0?0:e)}});var nS=v(()=>{"use strict";var fk=we(),mk=Zg(),bk=At(),gk=Ji(),Sk=sr(),vk=aS();fk({target:"Array",proto:!0},{flatMap:function(e){var t=gk(this),i=Sk(t),r;return bk(e),r=vk(t,0),r.length=mk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var oS=v(()=>{"use strict";var yk=ts();yk("flatMap")});var lS=v((h_,uS)=>{"use strict";nS();oS();var Tk=si();uS.exports=Tk("Array","flatMap")});var dS=v((f_,cS)=>{"use strict";var Ik=lS();cS.exports=Ik});var ws=v((m_,pS)=>{"use strict";var Ek=dS();pS.exports=Ek});var As=v((b_,hS)=>{"use strict";var xk=rs(),wk=String;hS.exports=function(s){if(xk(s)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return wk(s)}});var _l=v((g_,fS)=>{"use strict";fS.exports=`
|
|
7
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var gS=v((S_,bS)=>{"use strict";var Ak=Pe(),Rk=ri(),Pk=As(),Fl=_l(),mS=Ak("".replace),kk=RegExp("^["+Fl+"]+"),Lk=RegExp("(^|[^"+Fl+"])["+Fl+"]+$"),Ol=function(s){return function(e){var t=Pk(Rk(e));return s&1&&(t=mS(t,kk,"")),s&2&&(t=mS(t,Lk,"$1")),t}};bS.exports={start:Ol(1),end:Ol(2),trim:Ol(3)}});var TS=v((v_,yS)=>{"use strict";var $k=mu().PROPER,Mk=Re(),SS=_l(),vS="\u200B\x85\u180E";yS.exports=function(s){return Mk(function(){return!!SS[s]()||vS[s]()!==vS||$k&&SS[s].name!==s})}});var Nl=v((y_,IS)=>{"use strict";var Dk=gS().start,Ck=TS();IS.exports=Ck("trimStart")?function(){return Dk(this)}:"".trimStart});var xS=v(()=>{"use strict";var Bk=we(),ES=Nl();Bk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==ES},{trimLeft:ES})});var AS=v(()=>{"use strict";xS();var Vk=we(),wS=Nl();Vk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==wS},{trimStart:wS})});var PS=v((w_,RS)=>{"use strict";AS();var _k=si();RS.exports=_k("String","trimLeft")});var LS=v((A_,kS)=>{"use strict";var Ok=PS();kS.exports=Ok});var MS=v((R_,$S)=>{"use strict";var Fk=LS();$S.exports=Fk});var GS=v(()=>{"use strict"});var zS=v(()=>{"use strict"});var KS=v((uN,YS)=>{"use strict";var aL=qe(),nL=Ei(),oL=De(),uL=oL("match");YS.exports=function(s){var e;return aL(s)&&((e=s[uL])!==void 0?!!e:nL(s)==="RegExp")}});var ZS=v((lN,JS)=>{"use strict";var lL=Te(),cL=Re(),XS=lL.RegExp,dL=!cL(function(){var s=!0;try{XS(".","d")}catch(u){s=!1}var e={},t="",i=s?"dgimsy":"gimsy",r=function(u,l){Object.defineProperty(e,u,{get:function(){return t+=l,!0}})},a={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};s&&(a.hasIndices="d");for(var n in a)r(n,a[n]);var o=Object.getOwnPropertyDescriptor(XS.prototype,"flags").get.call(e);return o!==i||t!==i});JS.exports={correct:dL}});var tv=v((cN,ev)=>{"use strict";var pL=Rt();ev.exports=function(){var s=pL(this),e="";return s.hasIndices&&(e+="d"),s.global&&(e+="g"),s.ignoreCase&&(e+="i"),s.multiline&&(e+="m"),s.dotAll&&(e+="s"),s.unicode&&(e+="u"),s.unicodeSets&&(e+="v"),s.sticky&&(e+="y"),e}});var sv=v((dN,rv)=>{"use strict";var hL=Je(),fL=bt(),mL=zr(),iv=ZS(),bL=tv(),gL=RegExp.prototype;rv.exports=iv.correct?function(s){return s.flags}:function(s){return!iv.correct&&mL(gL,s)&&!fL(s,"flags")?hL(bL,s):s.flags}});var nv=v((pN,av)=>{"use strict";var jl=Pe(),SL=Ji(),vL=Math.floor,Ul=jl("".charAt),yL=jl("".replace),Hl=jl("".slice),TL=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,IL=/\$([$&'`]|\d{1,2})/g;av.exports=function(s,e,t,i,r,a){var n=t+s.length,o=i.length,u=IL;return r!==void 0&&(r=SL(r),u=TL),yL(a,u,function(l,c){var d;switch(Ul(c,0)){case"$":return"$";case"&":return s;case"`":return Hl(e,0,t);case"'":return Hl(e,n);case"<":d=r[Hl(c,1,-1)];break;default:var f=+c;if(f===0)return l;if(f>o){var p=vL(f/10);return p===0?l:p<=o?i[p-1]===void 0?Ul(c,1):i[p-1]+Ul(c,1):l}d=i[f-1]}return d===void 0?"":d})}});var lv=v(()=>{"use strict";var EL=we(),xL=Je(),Wl=Pe(),ov=ri(),wL=Ie(),AL=qe(),RL=KS(),Ar=As(),PL=Kr(),kL=sv(),LL=nv(),$L=De(),ML=mt(),DL=$L("replace"),CL=TypeError,Ql=Wl("".indexOf),BL=Wl("".replace),uv=Wl("".slice),VL=Math.max;EL({target:"String",proto:!0},{replaceAll:function(e,t){var i=ov(this),r,a,n,o,u,l,c,d,f,p,h=0,b="";if(AL(e)){if(r=RL(e),r&&(a=Ar(ov(kL(e))),!~Ql(a,"g")))throw new CL("`.replaceAll` does not allow non-global regexes");if(n=PL(e,DL),n)return xL(n,e,i,t);if(ML&&r)return BL(Ar(i),e,t)}for(o=Ar(i),u=Ar(e),l=wL(t),l||(t=Ar(t)),c=u.length,d=VL(1,c),f=Ql(o,u);f!==-1;)p=l?Ar(t(u,f,o)):LL(u,o,f,[],void 0,t),b+=uv(o,h,f)+p,h=f+c,f=f+d>o.length?-1:Ql(o,u,f+d);return h<o.length&&(b+=uv(o,h)),b}})});var dv=v((mN,cv)=>{"use strict";GS();zS();lv();var _L=si();cv.exports=_L("String","replaceAll")});var hv=v((bN,pv)=>{"use strict";var OL=dv();pv.exports=OL});var mv=v((gN,fv)=>{"use strict";var FL=hv();fv.exports=FL});var gv=v((SN,bv)=>{"use strict";var NL=es(),qL=As(),UL=ri(),HL=RangeError;bv.exports=function(e){var t=qL(UL(this)),i="",r=NL(e);if(r<0||r===1/0)throw new HL("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Iv=v((vN,Tv)=>{"use strict";var yv=Pe(),jL=ru(),Sv=As(),QL=gv(),WL=ri(),GL=yv(QL),zL=yv("".slice),YL=Math.ceil,vv=function(s){return function(e,t,i){var r=Sv(WL(e)),a=jL(t),n=r.length,o=i===void 0?" ":Sv(i),u,l;return a<=n||o===""?r:(u=a-n,l=GL(o,YL(u/o.length)),l.length>u&&(l=zL(l,0,u)),s?r+l:l+r)}};Tv.exports={start:vv(!1),end:vv(!0)}});var xv=v((yN,Ev)=>{"use strict";var KL=Ai();Ev.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(KL)});var wv=v(()=>{"use strict";var XL=we(),JL=Iv().start,ZL=xv();XL({target:"String",proto:!0,forced:ZL},{padStart:function(e){return JL(this,e,arguments.length>1?arguments[1]:void 0)}})});var Rv=v((EN,Av)=>{"use strict";wv();var e$=si();Av.exports=e$("String","padStart")});var kv=v((xN,Pv)=>{"use strict";var t$=Rv();Pv.exports=t$});var $v=v((wN,Lv)=>{"use strict";var i$=kv();Lv.exports=i$});var $$={};Hy($$,{ChromecastState:()=>Ur,HttpConnectionType:()=>Da,Observable:()=>Bt.Observable,PlaybackState:()=>Oe,Player:()=>Sa,PredefinedQualityLimits:()=>Hr,SDK_VERSION:()=>L$,Subject:()=>Bt.Subject,Subscription:()=>Bt.Subscription,Surface:()=>Ca,VERSION:()=>Ao,ValueSubject:()=>Bt.ValueSubject,VideoFormat:()=>wt,VideoQuality:()=>Bt.VideoQuality,areValidLiveRecordSources:()=>cg,clientChecker:()=>z,isMobile:()=>mr});module.exports=jy($$);var Ao="2.0.141-dev.3be2f83a.0";var Oe=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Oe||{}),wt=(E=>(E.MPEG="MPEG",E.DASH="DASH",E.DASH_SEP="DASH_SEP",E.DASH_SEP_VK="DASH_SEP",E.DASH_WEBM="DASH_WEBM",E.DASH_WEBM_AV1="DASH_WEBM_AV1",E.DASH_STREAMS="DASH_STREAMS",E.DASH_WEBM_VK="DASH_WEBM",E.DASH_ONDEMAND="DASH_ONDEMAND",E.DASH_ONDEMAND_VK="DASH_ONDEMAND",E.DASH_LIVE="DASH_LIVE",E.DASH_LIVE_CMAF="DASH_LIVE_CMAF",E.DASH_LIVE_WEBM="DASH_LIVE_WEBM",E.HLS="HLS",E.HLS_ONDEMAND="HLS_ONDEMAND",E.HLS_JS="HLS",E.HLS_FMP4="HLS_FMP4",E.HLS_LIVE="HLS_LIVE",E.HLS_LIVE_CMAF="HLS_LIVE_CMAF",E.WEB_RTC_LIVE="WEB_RTC_LIVE",E))(wt||{});var Ur=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ur||{}),Da=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Da||{});var Ca=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ca||{}),Hr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Hr||{});var Ec=K(Pi(),1),Ly=K(Ue(),1);var ie=require("@vkontakte/videoplayer-shared/es2018");var xh=s=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",s),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Ua=class{constructor(e){this.connection$=new ie.ValueSubject(void 0);this.castState$=new ie.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new ie.Subject;this.realCastState$=new ie.ValueSubject("NOT_AVAILABLE");this.subscription=new ie.Subscription;this.isDestroyed=!1;var a;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=(0,ie.isNonNullable)((a=window.chrome)==null?void 0:a.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=n=>{delete window.__onGCastApiAvailable,n&&!this.isDestroyed&&this.initializeCastApi()},r||xh("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:ie.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){var e;(e=cast.framework.CastContext.getInstance())==null||e.requestSession()}disconnect(){var e,t;(t=(e=cast.framework.CastContext.getInstance())==null?void 0:e.getCurrentSession())==null||t.endSession(!0)}stopMedia(){return new Promise((e,t)=>{var i,r,a;(a=(r=(i=cast.framework.CastContext.getInstance())==null?void 0:i.getCurrentSession())==null?void 0:r.getMediaSession())==null||a.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,ie.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,ie.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,ie.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,ie.fromEvent)(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{var a,n,o;switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=(o=(n=(a=i.getCurrentSession())==null?void 0:a.getMediaSession())==null?void 0:n.media)==null?void 0:o.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,ie.assertNever)(r.sessionState)}})).add((0,ie.merge)((0,ie.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,ie.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,ie.map)(r=>r.castState)),(0,ie.observableFrom)([i.getCastState()])).pipe((0,ie.filterChanged)(),(0,ie.map)(FE),(0,ie.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{var o,u;let a=r==="CONNECTED",n=(0,ie.isNonNullable)(this.connection$.getValue());if(a&&!n){let l=i.getCurrentSession();(0,ie.assertNonNullable)(l);let c=l.getCastDevice(),d=(u=(o=l.getMediaSession())==null?void 0:o.media)==null?void 0:u.contentId;((0,ie.isNullable)(d)||d===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:l,castDevice:c}))}else!a&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?(0,ie.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){var r;let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch(a){return}try{e.setOptions({receiverApplicationId:(r=this.params.receiverApplicationId)!=null?r:t,autoJoinPolicy:i}),this.initListeners()}catch(a){this.errorEvent$.next({id:"ChromecastInitializer",category:ie.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:a})}}},FE=s=>{switch(s){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,ie.assertNever)(s)}};var yc=K(Ue(),1),gy=K(ar(),1),Sy=K(Lu(),1);var pg=K(fn(),1);var bl=require("@vkontakte/videoplayer-shared/es2018");var Ee=(s,e=0,t=0)=>{switch(t){case 0:return s.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return s;let i=new URL(s);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(s);return!i.searchParams.get("offset_p")&&e===0?s:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:(0,bl.assertNever)(t)}return s},ni=(s,e)=>{var t;switch(e){case 0:return NaN;case 1:{let i=new URL(s);return Number(i.searchParams.get("playback_shift"))}case 2:{let i=new URL(s);return Number((t=i.searchParams.get("offset_p"))!=null?t:0)}default:(0,bl.assertNever)(e)}};var F=(s,e,t=!1)=>{let i=s.getTransition();(t||!i||i.to===e)&&s.setState(e)};var Pt=require("@vkontakte/videoplayer-shared/es2018"),re=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Sl=require("@vkontakte/videoplayer-shared/es2018");var mn=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,a=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,o=/webkit|safari|khtml/i.test(e)?"Safari":void 0,u=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||u||l||r||a||o||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],a=parseInt(r,10);if(!isNaN(a))return this._current_version=a,a}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var rg=K(Ue(),1);var mr=()=>{var s,e;return/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test((s=navigator.appVersion)!=null?s:navigator.userAgent)||((e=navigator==null?void 0:navigator.userAgentData)==null?void 0:e.mobile)};var bn=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,rg.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=mr()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e!=null&&e.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,a=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,o=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||a||o||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let a=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(a);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var gn=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){var t;let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e!=null?e:0,this._isHdr=!!((t=matchMedia("(dynamic-range: high)"))!=null&&t.matches),this._colorDepth=screen.colorDepth}catch(i){console.error(i)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(i){console.error(i)}}};var et=()=>window.ManagedMediaSource||window.MediaSource,br=()=>{var s,e;return!!(window.ManagedMediaSource&&((e=(s=window.ManagedSourceBuffer)==null?void 0:s.prototype)!=null&&e.appendBuffer))},sg=()=>{var s,e;return!!(window.MediaSource&&((e=(s=window.SourceBuffer)==null?void 0:s.prototype)!=null&&e.appendBuffer))},Sn=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var wP=document.createElement("video"),AP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',RP='video/mp4; codecs="hev1.1.6.L93.B0"',ag='video/webm; codecs="vp09.00.10.08"',ng='video/webm; codecs="av01.0.00M.08"',PP='audio/mp4; codecs="mp4a.40.2"',kP='audio/webm; codecs="opus"',og,LP=async()=>{if(!window.navigator.mediaCapabilities)return;let s={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...s,video:{...s.video,contentType:ng}}),window.navigator.mediaCapabilities.decodingInfo({...s,video:{...s.video,contentType:ag}})]);og={DASH_WEBM_AV1:e,DASH_WEBM:t}};LP().catch(s=>{console.log(wP),console.error(s)});var vn=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return og}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){var e,t,i,r,a,n,o,u,l,c,d,f,p,h,b,S,g,y,x,E;this._video=document.createElement("video");try{this._protocols={mms:br(),mse:sg(),hls:!!((t=(e=this._video).canPlayType)!=null&&t.call(e,"application/x-mpegurl")||(r=(i=this._video).canPlayType)!=null&&r.call(i,"vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!((n=(a=this._video).canPlayType)!=null&&n.call(a,"video/mp4")),webm:!!((u=(o=this._video).canPlayType)!=null&&u.call(o,"video/webm")),cmaf:!0};let A=!!((c=(l=et())==null?void 0:l.isTypeSupported)!=null&&c.call(l,AP)),$=!!((f=(d=et())==null?void 0:d.isTypeSupported)!=null&&f.call(d,RP)),O=!!((h=(p=et())==null?void 0:p.isTypeSupported)!=null&&h.call(p,PP));this._codecs={h264:A,h265:$,vp9:!!((S=(b=et())==null?void 0:b.isTypeSupported)!=null&&S.call(b,ag)),av1:!!((y=(g=et())==null?void 0:g.isTypeSupported)!=null&&y.call(g,ng)),aac:O,opus:!!((E=(x=et())==null?void 0:x.isTypeSupported)!=null&&E.call(x,kP)),mpeg:(A||$)&&O},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(A){console.error(A)}try{this.destroyVideoElement()}catch(A){console.error("Error destroying video element:",A)}}destroyVideoElement(){var t;if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);(t=this._video.parentNode)==null||t.replaceChild(e,this._video),this._video=null}};var ug="audio/mpeg",yn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){var e,t,i,r;this._audio=document.createElement("audio");try{this._containers={mpeg:!!((t=(e=this._audio).canPlayType)!=null&&t.call(e,ug))},this._codecs={mp3:!!((r=(i=et())==null?void 0:i.isTypeSupported)!=null&&r.call(i,ug))}}catch(a){console.error(a)}try{this.destroyAudioElement()}catch(a){console.error("Error destroying audio element:",a)}}destroyAudioElement(){var t;if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);(t=this._audio.parentNode)==null||t.replaceChild(e,this._audio),this._audio=null}};var lg=require("@vkontakte/videoplayer-shared/es2018"),gl=class{constructor(){this.isInited$=new lg.ValueSubject(!1);this._displayChecker=new gn,this._deviceChecker=new bn(this._displayChecker),this._browserChecker=new mn,this._videoChecker=new vn(this._deviceChecker,this._browserChecker),this._audioChecker=new yn,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},z=new gl;var vl=s=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=z.video,a=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return s.filter(o=>{switch(o){case"DASH_SEP":return n&&e.mp4&&a;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&a||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&a;case"DASH_LIVE_CMAF":return n&&e.mp4&&a&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&a;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return(0,Sl.assertNever)(o)}})},yl=s=>{switch(s){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,Sl.assertNever)(s)}},cg=s=>{let t=Object.keys(s).filter(i=>!yl(i));return vl(t).length>0};var Q=require("@vkontakte/videoplayer-shared/es2018");var $P=5,MP=5,DP=500,dg=7e3,fs=class{constructor(e){this.subscription=new Q.Subscription;this.loadMediaTimeoutSubscription=new Q.Subscription;this.videoState=new re("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),a=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(a)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if((r==null?void 0:r.to)!=="paused"&&a.state==="requested"&&e!=="stopped"){this.seek(a.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,Q.assertNever)(e)}break}default:(0,Q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(yl(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new Q.Subscription;this.subscription.add(e),this.subscription.add((0,Q.merge)(this.videoState.stateChangeStarted$.pipe((0,Q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,Q.map)(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,a)=>this.subscription.add(r.subscribe(a));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new Q.Subject;e.add(r.pipe((0,Q.debounce)(DP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let a=NaN;e.add((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let o=n.value;this.params.output.position$.next(o),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(o-a)>$P)&&r.next(o),a=o})),e.add((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:a}=this.params.connection,n=r.value,o=this.params.output.isBuffering$.getValue(),u=n===chrome.cast.media.PlayerState.BUFFERING;switch(o!==u&&this.params.output.isBuffering$.next(u),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&a.duration-a.currentTime<MP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),F(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,Q.assertNever)(n)}}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,Q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,Q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,Q.observableFrom)(["init"])).pipe((0,Q.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),F(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),F(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState(),t=this.videoState.getTransition();((t==null?void 0:t.to)==="paused"||e==="playing")&&(this.videoState.setState("paused"),F(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState(),t=this.videoState.getTransition();((t==null?void 0:t.to)==="playing"||e==="paused")&&(this.videoState.setState("playing"),F(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){var t;let e=this.videoState.getTransition();(e==null?void 0:e.to)==="ready"&&this.videoState.setState("ready"),((t=this.params.desiredState.playbackState.getTransition())==null?void 0:t.to)==="ready"&&F(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){var r,a;let t=this.params.output.volume$.getValue(),i={volume:(r=e.volume)!=null?r:t.volume,muted:(a=e.muted)!=null?a:t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){var l;let t=this.params.source,i,r,a;switch(e){case"MPEG":{let c=t[e];(0,Q.assertNonNullable)(c);let d=(0,Q.getHighestQuality)(Object.keys(c));(0,Q.assertNonNullable)(d);let f=c[d];(0,Q.assertNonNullable)(f),i=f,r="video/mp4",a=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/x-mpegurl",a=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/dash+xml",a=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let c=t[e];(0,Q.assertNonNullable)(c),i=c.url,r="application/dash+xml",a=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let c=t[e];(0,Q.assertNonNullable)(c),i=Ee(c.url),r="application/x-mpegurl",a=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let c="Unsupported format for Chromecast",d=new Error(c);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Q.ErrorCategory.VIDEO_PIPELINE,message:c,thrown:d}),d}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,Q.assertNever)(e)}let n=new chrome.cast.media.MediaInfo((l=this.params.meta.videoId)!=null?l:i,r);n.contentUrl=i,n.streamType=a,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:o,subtitle:u}=this.params.meta;return(0,Q.isNonNullable)(o)&&(n.metadata.title=o),(0,Q.isNonNullable)(u)&&(n.metadata.subtitle=u),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,a)=>{this.loadMediaTimeoutSubscription.add((0,Q.timeout)(dg).subscribe(()=>a(`timeout(${dg})`)))});(0,pg.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let a=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:a}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:Q.ErrorCategory.VIDEO_PIPELINE,message:a,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var Cl=K(Ue(),1);var xl=require("@vkontakte/videoplayer-shared/es2018");var hg=require("@vkontakte/videoplayer-shared/es2018"),fg=s=>{try{s.pause(),s.playbackRate=0,(0,hg.clearVideoElement)(s),s.remove()}catch(e){console.error(e)}};var Tn=require("@vkontakte/videoplayer-shared/es2018"),Tl=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Il=window.WeakMap?new WeakMap:new Tl,El=window.WeakMap?new WeakMap:new Map,CP=(s,e=20)=>{let t=0;return(0,Tn.fromEvent)(s,"ratechange").subscribe(i=>{t++,t>=e&&(s.currentTime=s.currentTime,t=0)})},He=(s,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=s.querySelector("video"),r=!!i;i?(0,xl.clearVideoElement)(i):(i=document.createElement("video"),s.appendChild(i)),Il.set(i,r);let a=new Tn.Subscription;return a.add(CP(i,e)),El.set(i,a),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},je=s=>{let e=El.get(s);e==null||e.unsubscribe(),El.delete(s);let t=Il.get(s);Il.delete(s),t?(0,xl.clearVideoElement)(s):fg(s)};var wl=K(Pi(),1),W=require("@vkontakte/videoplayer-shared/es2018");var oi=require("@vkontakte/videoplayer-shared/es2018"),In=(s,e,t,{equal:i=(n,o)=>n===o,changed$:r,onError:a}={})=>{let n=s.getState(),o=e(),u=(0,oi.isNullable)(r),l=new oi.Subscription;return r&&l.add(r.subscribe(c=>{let d=s.getState();i(c,d)&&s.setState(c)},a)),i(o,n)||(t(n),u&&s.setState(n)),l.add(s.stateChangeStarted$.subscribe(c=>{t(c.to),u&&s.setState(c.to)},a)),l},kt=(s,e,t)=>In(e,()=>s.loop,i=>{(0,oi.isNonNullable)(i)&&(s.loop=i)},{onError:t}),Qe=(s,e,t,i)=>In(e,()=>({muted:s.muted,volume:s.volume}),r=>{(0,oi.isNonNullable)(r)&&(s.muted=r.muted,s.volume=r.volume)},{equal:(r,a)=>r===a||(r==null?void 0:r.muted)===(a==null?void 0:a.muted)&&(r==null?void 0:r.volume)===(a==null?void 0:a.volume),changed$:t,onError:i}),nt=(s,e,t,i)=>In(e,()=>s.playbackRate,r=>{(0,oi.isNonNullable)(r)&&(s.playbackRate=r)},{changed$:t,onError:i}),ms=In;var BP=s=>["__",s.language,s.label].join("|"),VP=(s,e)=>{if(s.id===e)return!0;let[t,i,r]=e.split("|");return s.language===i&&s.label===r},Al=class s{constructor(e){this.available$=new W.Subject;this.current$=new W.ValueSubject(void 0);this.error$=new W.Subject;this.subscription=new W.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=a=>{this.error$.next({id:"TextTracksManager",category:W.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:a})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(ms(t.internalTextTracks,()=>(0,wl.default)(this.internalTracks),a=>{(0,W.isNonNullable)(a)&&this.setInternal(a)},{equal:(a,n)=>(0,W.isNonNullable)(a)&&(0,W.isNonNullable)(n)&&a.length===n.length&&a.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,W.map)(a=>a.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ms(t.externalTextTracks,()=>(0,wl.default)(this.externalTracks),a=>{(0,W.isNonNullable)(a)&&this.setExternal(a)},{equal:(a,n)=>(0,W.isNonNullable)(a)&&(0,W.isNonNullable)(n)&&a.length===n.length&&a.every(({id:o},u)=>o===n[u].id),changed$:this.available$.pipe((0,W.map)(a=>a.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ms(t.currentTextTrack,()=>{if(this.video)return;let a=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return a&&this.htmlTextTrackToITextTrack(a).id},a=>this.select(a),{changed$:this.current$,onError:r})),this.subscription.add(ms(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let a of this.htmlTextTracksAsArray())this.applyCueSettings(a.cues),this.applyCueSettings(a.activeCues)}))}subscribe(){(0,W.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,W.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,W.merge)((0,W.fromEvent)(e,"addtrack"),(0,W.fromEvent)(e,"removetrack"),(0,W.observableFrom)(["init"])).pipe((0,W.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,W.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:a},n)=>a===r[n].id))).subscribe(this.available$)),this.subscription.add((0,W.merge)((0,W.fromEvent)(e,"change"),(0,W.observableFrom)(["init"])).pipe((0,W.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,W.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,W.filterChanged)()).subscribe(this.current$));let t=i=>{var r,a;return this.applyCueSettings((a=(r=i.target)==null?void 0:r.activeCues)!=null?a:null)};this.subscription.add((0,W.fromEvent)(e,"addtrack").subscribe(i=>{var a,n;(a=i.track)==null||a.addEventListener("cuechange",t);let r=o=>{var l,c,d,f,p;let u=(c=(l=o.target)==null?void 0:l.cues)!=null?c:null;u&&u.length&&(this.applyCueSettings((f=(d=o.target)==null?void 0:d.cues)!=null?f:null),(p=o.target)==null||p.removeEventListener("cuechange",r))};(n=i.track)==null||n.addEventListener("cuechange",r)})),this.subscription.add((0,W.fromEvent)(e,"removetrack").subscribe(i=>{var r;(r=i.track)==null||r.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;(0,W.isNonNullable)(t.align)&&(r.align=t.align),(0,W.isNonNullable)(t.position)&&(r.position=t.position),(0,W.isNonNullable)(t.size)&&(r.size=t.size),(0,W.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,W.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(s.isHealthyTrack)}htmlTextTrackToITextTrack(e){var o,u,l,c,d;let{language:t,label:i}=e,r=e.id?e.id:BP(e),a=this.externalTracks.has(r),n=(l=a?(o=this.externalTracks.get(r))==null?void 0:o.isAuto:(u=this.internalTracks.get(r))==null?void 0:u.isAuto)!=null?l:r.includes("auto");return a?{id:r,type:"external",isAuto:n,language:t,label:i,url:(c=this.externalTracks.get(r))==null?void 0:c.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:(d=this.internalTracks.get(r))==null?void 0:d.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:a})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===a)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){(0,W.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,W.isNullable)(e)||!VP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,W.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,W.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=Al;var Ci=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var mg=s=>{let e=s;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e==null?void 0:e.parentNode;return e!=null?e:void 0},Rl=s=>{let e=mg(s);return!!(e&&e.fullscreenElement&&e.fullscreenElement===s)},bg=s=>{let e=mg(s);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===s)};var L=require("@vkontakte/videoplayer-shared/es2018");var _P=3,gg=(s,e,t=_P)=>{let i=0,r=0;for(let a=0;a<s.length;a++){let n=s.start(a),o=s.end(a);if(n<=e&&e<=o){if(i=n,r=o,!t)return{from:i,to:r};for(let u=a-1;u>=0;u--)s.end(u)+t>=i&&(i=s.start(u));for(let u=a+1;u<s.length;u++)s.start(u)-t<=r&&(r=s.end(u))}}return{from:i,to:r}};var We=s=>{let e=V=>(0,L.fromEvent)(s,V).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)),t=new L.Subscription,i=()=>t.unsubscribe(),r=(0,L.merge)((0,L.fromEvent)(s,"progress"),(0,L.fromEvent)(s,"timeupdate")).pipe((0,L.map)(()=>gg(s.buffered,s.currentTime)),(0,L.shareReplay)(1)),a=z.browser.isSafari?(0,L.combine)({play:e("play").pipe((0,L.once)()),playing:e("playing")}).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)):e("playing"),n=(0,L.fromEvent)(s,"volumechange").pipe((0,L.map)(()=>({muted:s.muted,volume:s.volume})),(0,L.shareReplay)(1)),o=(0,L.fromEvent)(s,"ratechange").pipe((0,L.map)(()=>s.playbackRate),(0,L.shareReplay)(1)),u=(0,L.fromEvent)(s,"error").pipe((0,L.filter)(()=>!!(s.error||s.played.length)),(0,L.map)(()=>{var H;let V=s.error;return{id:V?`MediaError#${V.code}`:"HtmlVideoError",category:L.ErrorCategory.VIDEO_PIPELINE,message:V?V.message:"Error event from HTML video element",thrown:(H=s.error)!=null?H:void 0}}),(0,L.shareReplay)(1)),l=(0,L.fromEvent)(s,"timeupdate").pipe((0,L.map)(()=>s.currentTime),(0,L.shareReplay)(1)),c=["waiting","seeking","seeked","timeupdate"],d=new L.Subject,f=.3,p;t.add((0,L.merge)(...c.map(V=>(0,L.fromEvent)(s,V))).subscribe(V=>{let H=s.currentTime;s.loop&&(0,L.isNonNullable)(p)&&(0,L.isNonNullable)(H)&&p>=s.duration-f&&H<=f&&d.next(p),p=H}));let h=e("pause").pipe((0,L.filter)(()=>!s.error&&p!==s.duration),(0,L.shareReplay)(1)),b=(0,L.fromEvent)(s,"enterpictureinpicture").pipe((0,L.shareReplay)(1)),S=(0,L.fromEvent)(s,"leavepictureinpicture").pipe((0,L.shareReplay)(1)),g=new L.ValueSubject(bg(s));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let y=new L.ValueSubject(Rl(s)),x=(0,L.fromEvent)(s,"fullscreenchange").pipe((0,L.shareReplay)(1));t.add(x.pipe((0,L.map)(()=>Rl(s))).subscribe(y));let E=.1,A=1e3,$=(0,L.fromEvent)(s,"timeupdate").pipe((0,L.map)(V=>s.duration-s.currentTime<E),(0,L.filterChanged)(),(0,L.shareReplay)(1)),O=(0,L.merge)($.pipe((0,L.filter)(V=>!s.loop&&V)),(0,L.fromEvent)(s,"ended")).pipe((0,L.throttle)(A),(0,L.mapTo)(void 0),(0,L.shareReplay)(1)),B=(0,L.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(V=>(0,L.fromEvent)(s,V)),$.pipe((0,L.map)(V=>({type:V?"ended":"unknown"})))).pipe((0,L.map)(V=>z.browser.isFirefox&&V.type==="ended"?s.readyState<2:s.readyState<3),(0,L.filterChanged)(),(0,L.shareReplay)(1));return{playing$:a,pause$:h,canplay$:e("canplay"),ended$:O,looped$:d,error$:u,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,L.fromEvent)(s,"durationchange").pipe((0,L.map)(()=>s.duration),(0,L.shareReplay)(1)),isBuffering$:B,currentBuffer$:r,volumeState$:n,playbackRateState$:o,inPiP$:g,inFullscreen$:y,enterPip$:b,leavePip$:S,destroy:i}};var qt=require("@vkontakte/videoplayer-shared/es2018"),ui=s=>{switch(s){case"mobile":return qt.VideoQuality.Q_144P;case"lowest":return qt.VideoQuality.Q_240P;case"low":return qt.VideoQuality.Q_360P;case"sd":case"medium":return qt.VideoQuality.Q_480P;case"hd":case"high":return qt.VideoQuality.Q_720P;case"fullhd":case"full":return qt.VideoQuality.Q_1080P;case"quadhd":case"quad":return qt.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return qt.VideoQuality.Q_2160P}};var Ne=K(St(),1),kl=K(Ue(),1),Bi=K(ar(),1),D=require("@vkontakte/videoplayer-shared/es2018");var Pl=!1,Ut={},xg=s=>{Pl=s},wg=()=>{Ut={}},Ag=s=>{s(Ut)},bs=(s,e)=>{var t;Pl&&(Ut.meta=(t=Ut.meta)!=null?t:{},Ut.meta[s]=e)},Fe=class{constructor(e){this.name=e}next(e){var i,r;if(!Pl)return;Ut.series=(i=Ut.series)!=null?i:{};let t=(r=Ut.series[this.name])!=null?r:[];t.push([Date.now(),e]),Ut.series[this.name]=t}};var Ae=require("@vkontakte/videoplayer-shared/es2018");function Rg(s,e,t){return!s.max&&s.min===e?"high_quality":!s.min&&s.max===t?"traffic_saving":"unknown"}function gr(s,e,t){return(0,Ae.isNullable)(s)||(0,Ae.isNonNullable)(s.min)&&(0,Ae.isNonNullable)(s.max)&&(0,Ae.isLower)(s.max,s.min)||(0,Ae.isNonNullable)(s.min)&&e&&(0,Ae.isHigher)(s.min,e)||(0,Ae.isNonNullable)(s.max)&&t&&(0,Ae.isLower)(s.max,t)}function Pg({limits:s,highestAvailableHeight:e,lowestAvailableHeight:t}){return gr({max:s!=null&&s.max?(0,Ae.videoHeightToQuality)(s.max):void 0,min:s!=null&&s.min?(0,Ae.videoHeightToQuality)(s.min):void 0},e?(0,Ae.videoHeightToQuality)(e):void 0,t?(0,Ae.videoHeightToQuality)(t):void 0)}var Dg=new Fe("best_bitrate"),xn=(s,e,t)=>(e-t)*Math.pow(2,-10*s)+t;var Sr=s=>(e,t)=>s*(Number(e.bitrate)-Number(t.bitrate)),li=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},wn='Assertion "ABR Tracks is empty array" failed',En=new WeakMap,kg=new WeakMap,Lg=new WeakMap,gs=(s,e,t,i)=>{var u;let r=[...e].sort(Sr(1)),a=[...t].sort(Sr(1)),n=a.filter(l=>(0,D.isNonNullable)(l.bitrate)&&(0,D.isNonNullable)(s.bitrate)?s.bitrate/l.bitrate>i:!0),o=(u=(0,Ne.default)(a,Math.round(a.length*r.indexOf(s)/(r.length+1))))!=null?u:(0,Ne.default)(a,-1);return o&&(0,kl.default)(n,o)?o:n.length?(0,Ne.default)(n,-1):(0,Ne.default)(a,0)},Ss=(s,e,t,i)=>{var u;let r=En.get(e);r||(r=[...e].sort(Sr(1)),En.set(e,r));let a=En.get(t);a||(a=[...t].sort(Sr(1)),En.set(t,a));let n=Lg.get(s);n||(n=a.filter(l=>(0,D.isNonNullable)(l.bitrate)&&(0,D.isNonNullable)(s.bitrate)?s.bitrate/l.bitrate>i:!0),Lg.set(s,n));let o=(u=(0,Ne.default)(a,Math.round(a.length*r.indexOf(s)/(r.length+1))))!=null?u:(0,Ne.default)(a,-1);return o&&(0,kl.default)(n,o)?o:n.length?(0,Ne.default)(n,-1):(0,Ne.default)(a,0)},$g=s=>"quality"in s,An=(s,e,t,i)=>{var n;let r=(0,D.isNonNullable)((n=i==null?void 0:i.last)==null?void 0:n.bitrate)&&(0,D.isNonNullable)(t==null?void 0:t.bitrate)&&i.last.bitrate<t.bitrate?s.trackCooldownIncreaseQuality:s.trackCooldownDecreaseQuality,a=t&&i&&i.history[t.id]&&(0,D.now)()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t!=null&&t.id&&i&&!a&&i.recordSelection(t),a&&(i!=null&&i.last)){let o=i.last;i==null||i.recordSwitch(o);let u=$g(o)?"video":"audio",l=$g(o)?o.quality:o.bitrate;return e({message:`
|
|
8
8
|
[last ${u} selected] ${l}
|
|
9
9
|
`}),o}return i==null||i.recordSwitch(t),t},WP=(s,e)=>Math.log(e)/Math.log(s),Cg=({tuning:s,container:e,limits:t,panelSize:i})=>{let r=s.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(s.usePixelRatio&&z.display.pixelRatio){let a=z.display.pixelRatio;if(s.pixelRatioMultiplier)r*=s.pixelRatioMultiplier*(a-1)+1;else{let n=s.pixelRatioLogBase,[o=0,u=0,l=0]=s.pixelRatioLogCoefficients,c=WP(n,o*a+u)+l;Number.isFinite(c)&&(r*=c)}}return(0,D.isNonNullable)(t==null?void 0:t.min)&&(0,D.isHigherOrEqual)(t.min,s.highQualityLimit)&&(r*=2),{containerSizeLimit:s.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},Mg=new WeakMap,Lt=(s,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:a=0,forwardBufferHealth:n,playbackRate:o,current:u,history:l,visible:c,droppedVideoMaxQualityLimit:d,stallsVideoMaxQualityLimit:f,stallsPredictedThroughput:p,abrLogger:h,panelSize:b})=>{var Y,le,ce,R,_;(0,D.assertNotEmptyArray)(s,wn);let{containerSizeFactor:S,containerSizeLimit:g}=Cg({container:e,tuning:i,limits:r,panelSize:b}),y=i.considerPlaybackRate&&(0,D.isNonNullable)(o)?o:1,x=Mg.get(s);x||(x=s.filter(M=>!(0,D.isInvariantQuality)(M.quality)).sort((M,C)=>(0,D.isHigher)(M.quality,C.quality)?-1:1),Mg.set(s,x));let E=(Y=(0,Ne.default)(x,-1))==null?void 0:Y.quality,A=(le=(0,Ne.default)(x,0))==null?void 0:le.quality,$=gr(r,A,E),O=y*xn(n!=null?n:.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),N={},B=null;for(let M of x){let C=!0;if(g)if(M.size)C=M.size.width<=g.width&&M.size.height<=g.height;else{let Ke=g&&(0,D.videoSizeToQuality)(g);C=Ke?(0,D.isLowerOrEqual)(M.quality,Ke):!0}if(!C){N[M.quality]="FitsContainer";continue}let U=p||t,ne=(0,D.isNonNullable)(U)&&isFinite(U)&&(0,D.isNonNullable)(M.bitrate)?U-a>=M.bitrate*O:!0,Tt=(r==null?void 0:r.min)===M.quality;if(!ne&&!Tt){N[M.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&(0,D.isNonNullable)(i.minBufferToSwitchUp)&&u&&!(0,D.isInvariantQuality)(u.quality)&&(n!=null?n:0)<i.minBufferToSwitchUp&&(0,D.isHigher)(M.quality,u.quality)){N[M.quality]="Buffer";continue}if(!!d&&(0,D.isHigherOrEqual)(M.quality,d)&&!Tt){N[M.quality]="DroppedFramesLimit";continue}if(!!f&&(0,D.isHigherOrEqual)(M.quality,f)&&!Tt){N[M.quality]="StallsLimit";continue}let $e=$||((0,D.isNullable)(r==null?void 0:r.max)||(0,D.isLowerOrEqual)(M.quality,r.max))&&((0,D.isNullable)(r==null?void 0:r.min)||(0,D.isHigherOrEqual)(M.quality,r.min)),Me=(0,D.isNonNullable)(c)&&!c?(0,D.isLowerOrEqual)(M.quality,i.backgroundVideoQualityLimit):!0;if(!$e||!Me){N[M.quality]="FitsQualityLimits";continue}B||(B=M)}B&&B.bitrate&&Dg.next(B.bitrate);let V=(ce=B!=null?B:(0,Ne.default)(x,-1))!=null?ce:s[0],H=l==null?void 0:l.last,q=An(i,h,V,l);return(0,D.isNonNullable)(l)&&q.quality!==(H==null?void 0:H.quality)&&h({message:`
|
|
10
10
|
[VIDEO TRACKS ABR]
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
minBufferToSwitchUp: ${r.minBufferToSwitchUp},
|
|
115
115
|
|
|
116
116
|
[selected audio track] ${y==null?void 0:y.id}
|
|
117
|
-
`}),y};var Ce=s=>new URL(s).hostname;var Z=require("@vkontakte/videoplayer-shared/es2018");var Ng=K(St(),1);var Vg=K(Ue(),1),Bg=s=>{if(s instanceof DOMException&&(0,Vg.default)(["Failed to load because no supported source was found.","The element has no supported sources."],s.message))throw s;return!(s instanceof DOMException&&(s.code===20||s.name==="AbortError"))},Ge=async(s,e)=>{let t=s.muted;try{await s.play()}catch(i){if(!Bg(i))return!1;if(e&&e(),t)return console.warn(i),!1;s.muted=!0;try{await s.play()}catch(r){return Bg(r)&&(s.muted=!1,console.warn(r)),!1}}return!0};var tt=require("@vkontakte/videoplayer-shared/es2018");var _g=K(Pi(),1),$t=require("@vkontakte/videoplayer-shared/es2018");function ke(){return(0,$t.now)()}function Ll(s){return ke()-s}function $l(s){let e=s.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,o,u=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return u&&(n+=l+"lowLat=1",l="&"),o&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Og(s,e,t){let i=(...r)=>{t.apply(null,r),s.removeEventListener(e,i)};s.addEventListener(e,i)}function vr(s,e,t,i){let r=window.XMLHttpRequest,a,n,o,u=!1,l=0,c,d,f=!1,p="arraybuffer",h=7e3,b=2e3,S=()=>{if(u)return;(0,$t.assertNonNullable)(c);let q=Ll(c),Y;if(q<b){Y=b-q,setTimeout(S,Y);return}b*=2,b>h&&(b=h),n&&n.abort(),n=new r,$()},g=q=>(a=q,H),y=q=>(d=q,H),x=()=>(p="json",H),E=()=>{if(!u){if(--l>=0){S(),i&&i();return}u=!0,d&&d(),t&&t()}},A=q=>(f=q,H),$=()=>{c=ke(),n=new r,n.open("get",s);let q=0,Y,le=0,ce=()=>((0,$t.assertNonNullable)(c),Math.max(c,Math.max(Y||0,le||0)));if(a&&n.addEventListener("progress",R=>{let _=ke();a.updateChunk&&R.loaded>q&&(a.updateChunk(ce(),R.loaded-q),q=R.loaded,Y=_)}),o&&(n.timeout=o,n.addEventListener("timeout",()=>E())),n.addEventListener("load",()=>{if(u)return;(0,$t.assertNonNullable)(n);let R=n.status;if(R>=200&&R<300){let{response:_,responseType:M}=n,C=_==null?void 0:_.byteLength;if(typeof C=="number"&&a){let U=C-q;U&&a.updateChunk&&a.updateChunk(ce(),U)}M==="json"&&(!_||!(0,_g.default)(_).length)?E():(d&&d(),e(_))}else E()}),n.addEventListener("error",()=>{E()}),f){let R=()=>{(0,$t.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(le=ke(),n.removeEventListener("readystatechange",R))};n.addEventListener("readystatechange",R)}return n.responseType=p,n.send(),H},H={withBitrateReporting:g,withParallel:A,withJSONResponse:x,withRetryCount:q=>(l=q,H),withRetryInterval:(q,Y)=>((0,$t.isNonNullable)(q)&&(b=q),(0,$t.isNonNullable)(Y)&&(h=Y),H),withTimeout:q=>(o=q,H),withFinally:y,send:$,abort:()=>{n&&(n.abort(),n=void 0),u=!0,d&&d()}};return H}var vs=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;{let n=t-a.start,o=a.end-a.start;i+=n;let u=a.bytes*n/o;r+=u,a.start=t,a.bytes-=u}}}if(r>0&&i>0){let a=r*8/(i/1e3);return this._updateRate(a),this.logger(`rate updated, new=${Math.round(a/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Fg=K(Pi(),1);var ys=class{constructor(e,t,i,r,a){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=ke(),r=u=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=u,e._errorCB?e._errorCB(u):(this.limitCompleteCount(),this.completeRequests[t]=e)},a=u=>{e._complete=1,e._responseData=u,e._downloadTime=ke()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(u,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},o=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=vr(t,a,()=>r("error"),o),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=ke()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=ke();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Fg.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let a={};return a.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=a._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),a._finallyCB&&a._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let o=this.pendingQueue.indexOf(e);o!==-1&&this.pendingQueue.splice(o,1),this.logger(`Request not prefetched, starting new request, url=${e}${o===-1?"":"; removed pending"}`),this._sendRequest(a,e)}},a._cb=t,a._errorCB=i,a._retryCB=r,a.abort=function(){a.request&&a.request.abort()},a.withFinally=n=>(a._finallyCB=n,a),a}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var qg=require("@vkontakte/videoplayer-shared/es2018");var Ln=1e4,Ml=3;var zP=6e4,YP=10,KP=1,XP=500,Ts=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new qg.Subject,this.chunkRateEstimator=new vs(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=$l(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=$l(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{var r,a;!!e.error&&!this.destroyed&&(t(`Video element error: ${(r=e.error)==null?void 0:r.code}, details: ${(a=e.error)==null?void 0:a.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,a,n=t&&1.62*(z.display.pixelRatio||1)*t.offsetHeight||520;for(let o=0;o<this.manifest.length;++o){a=this.manifest[o];let{max:u,min:l}=this.autoQualityLimits||{};!Pg({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Ng.default)(this.manifest,-1).video.height})&&(u&&a.video.height>u||l&&a.video.height<l)||(a.bitrate<e&&n>Math.min(a.video.height,a.video.width)?(!r||a.bitrate>r.bitrate)&&(r=a):(!i||i.bitrate>a.bitrate)&&(i=a))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,tt.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:a}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Og(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,a({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new ys(Ml,Ln,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,a=!1,n=null,o=null,u=null,l=null,c=!1,d=()=>{let E=a&&(!c||c===this.rep);return E||t("Not running!"),E},f=(E,A,$)=>{u&&u.abort(),u=vr(this.urlResolver.resolve(E,!1),A,$,()=>this._retryCallback()).withTimeout(Ln).withBitrateReporting(this.bitrateSwitcher).withRetryCount(Ml).withFinally(()=>{u=null}).send()},p=(E,A,$)=>{(0,tt.assertNonNullable)(this.filesFetcher),o==null||o.abort(),o=this.filesFetcher.requestData(this.urlResolver.resolve(E,!1),A,$,()=>this._retryCallback()).withFinally(()=>{o=null}).send()},h=E=>{let A=i.playbackRate;i.playbackRate!==E&&(t(`Playback rate switch: ${A}=>${E}`),i.playbackRate=E)},b=E=>{this.lowLatency=E,t(`lowLatency changed to ${E}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)h(1);else{let E=this._getBufferSizeSec();if(this.bufferStates.length<5){h(1);return}let $=ke()-1e4,O=0;for(let B=0;B<this.bufferStates.length;B++){let V=this.bufferStates[B];E=Math.min(E,V.buf),V.ts<$&&O++}this.bufferStates.splice(0,O),t(`update playback rate; minBuffer=${E} drop=${O} jitter=${this.sourceJitter}`);let N=E-KP;this.sourceJitter>=0?N-=this.sourceJitter/2:this.sourceJitter-=1,N>3?h(1.15):N>1?h(1.1):N>.3?h(1.05):h(1)}},g=E=>{let A,$=()=>A&&A.start?A.start.length:0,O=R=>A.start[R]/1e3,N=R=>A.dur[R]/1e3,B=R=>A.fragIndex+R,V=(R,_)=>({chunkIdx:B(R),startTS:O(R),dur:N(R),discontinuity:_}),H=()=>{let R=0;if(A&&A.dur){let _=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,M=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,C=_;this.sourceJitter>1&&(C+=this.sourceJitter-1);let U=A.dur.length-1;for(;U>=0&&(C-=A.dur[U],!(C<=0));--U);R=Math.min(U,A.dur.length-1-M),R=Math.max(R,0)}return V(R,!0)},q=R=>{let _=$();if(!(_<=0)){if((0,tt.isNonNullable)(R)){for(let M=0;M<_;M++)if(O(M)>R)return V(M)}return H()}},Y=R=>{let _=$(),M=R?R.chunkIdx+1:0,C=M-A.fragIndex;if(!(_<=0)){if(!R||C<0||C-_>YP)return t(`Resync: offset=${C} bChunks=${_} chunk=`+JSON.stringify(R)),H();if(!(C>=_))return V(M-A.fragIndex,!1)}},le=(R,_,M)=>{l&&l.abort(),l=vr(this.urlResolver.resolve(R,!0,this.lowLatency),_,M,()=>this._retryCallback()).withTimeout(Ln).withRetryCount(Ml).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(R,_)=>{le(E,M=>{if(!d())return;A=M;let C=!!A.lowLatency;C!==this.lowLatency&&b(C);let U=0;for(let ne=0;ne<A.dur.length;++ne)U+=A.dur[ne];U>0&&((0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(U/A.dur.length)),r({name:"index",zeroTime:A.zeroTime,shiftDuration:A.shiftDuration}),this.sourceJitter=A.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,A.jitter/1e3)):1,R(q(_))},()=>this._handleNetworkError())},nextChunk:Y}},y=()=>{a=!1,o&&o.abort(),u&&u.abort(),l&&l.abort(),(0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return c={start:E=>{let{videoElement:A,logger:$}=this.params,O=g(e.jidxUrl),N,B,V,H,q=0,Y,le,ce,R=()=>{Y&&(clearTimeout(Y),Y=void 0);let ue=Math.max(XP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Le=q+ue,$e=ke(),Me=Math.min(1e4,Le-$e);q=$e;let Ke=()=>{l||d()&&O.seek(()=>{d()&&(q=ke(),_(),R())})};Me>0?Y=window.setTimeout(()=>{this.paused?R():Ke()},Me):Ke()},_=()=>{let ue;for(;ue=O.nextChunk(H);)H=ue,Tt(ue);let Le=O.nextChunk(V);if(Le){if(V&&Le.discontinuity){$("Detected discontinuity; restarting playback"),this.paused?R():(y(),this._initPlayerWith(e));return}ne(Le)}else R()},M=(ue,Le)=>{if(!d()||!this.sourceBuffer)return;let $e,Me,Ke,Vt=Kt=>{window.setTimeout(()=>{d()&&M(ue,Le)},Kt)};if(this.sourceBuffer.updating)$("Source buffer is updating; delaying appendBuffer"),Vt(100);else{let Kt=ke(),bi=A.currentTime;!this.paused&&A.buffered.length>1&&le===bi&&Kt-ce>500&&($("Stall suspected; trying to fix"),this._fixupStall()),le!==bi&&(le=bi,ce=Kt);let Qi=this._getBufferSizeSec();if(Qi>30)$(`Buffered ${Qi} seconds; delaying appendBuffer`),Vt(2e3);else try{this.sourceBuffer.appendBuffer(ue),this.videoPlayStarted?(this.bufferStates.push({ts:Kt,buf:Qi}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Le&&Le()}catch(Br){if(Br.name==="QuotaExceededError")$("QuotaExceededError; delaying appendBuffer"),Ke=this.sourceBuffer.buffered.length,Ke!==0&&($e=this.sourceBuffer.buffered.start(0),Me=bi,Me-$e>4&&this.sourceBuffer.remove($e,Me-3)),Vt(1e3);else throw Br}}},C=()=>{B&&N&&($([`Appending chunk, sz=${B.byteLength}:`,JSON.stringify(V)]),M(B,function(){B=null,_()}))},U=ue=>e.fragUrlTemplate.replace("%%id%%",ue.chunkIdx),ne=ue=>{d()&&p(U(ue),(Le,$e)=>{if(d()){if($e/=1e3,B=Le,V=ue,n=ue.startTS,$e){let Me=Math.min(10,ue.dur/$e);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*Me:Me}C()}},()=>this._handleNetworkError())},Tt=ue=>{d()&&((0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(U(ue),!1)))},It=ue=>{d()&&(e.cachedHeader=ue,M(ue,()=>{N=!0,C()}))};a=!0,O.seek(ue=>{if(d()){if(q=ke(),!ue){R();return}H=ue,!(0,tt.isNullable)(E)||ue.startTS>E?ne(ue):(V=ue,_())}},E),e.cachedHeader?It(e.cachedHeader):f(e.headerUrl,It,()=>this._handleNetworkError())},stop:y,getTimestampSec:()=>n},c}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,tt.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,tt.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,tt.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let f,p,h;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(p=this._getBufferSizeSec(),h=d/this.bitrate,p>10&&h>.8||p>15&&h>.5||p>20&&h>.3)){e(`Not switching: buffer=${Math.floor(p)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}f=this._selectQuality(d),f?this._switchToQuality(f):e(`Could not find quality by bitrate ${d}`)},a={updateChunk:(f,p)=>{let h=ke();if(this.chunkRateEstimator.addInterval(f,h,p)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:p,duration:h-f,speed:S}),!0}},get:()=>{let f=this.chunkRateEstimator.getBitRate();return f?f*.85:0}},n=-1/0,o,u=!0,l=()=>{let d=a.get();if(d&&o&&this.autoQuality){if(u&&d>o&&Ll(n)<3e4)return;i(d)}u=this.autoQuality};return{updateChunk:(d,f)=>{let p=a.updateChunk(d,f);return p&&l(),p},notifySwitch:d=>{let f=ke();d<o&&(n=f),o=d}}}_fetchManifest(e,t,i){this.manifestRequest=vr(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(Ln).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Ge(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,a=n=>{let o=[];return n!=null&&n.length?(n.forEach((u,l)=>{var c,d;u.video&&r.canPlayType(u.codecs).replace(/no/,"")&&((d=(c=window.MediaSource)==null?void 0:c.isTypeSupported)!=null&&d.call(c,u.codecs))&&(u.index=l,o.push(u))}),o.sort(function(u,l){return u.video&&l.video?l.video.height-u.video.height:l.bitrate-u.bitrate}),o):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=a(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},zP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Ug=K(ar(),1),ye=require("@vkontakte/videoplayer-shared/es2018"),Dl=class{constructor(){this.onDroopedVideoFramesLimit$=new ye.Subject;this.subscription=new ye.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new ye.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>(t==null?void 0:t.height)===this.video.videoHeight&&(t==null?void 0:t.width)===this.video.videoWidth);e&&!(0,ye.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{var n;let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,a=1-(i-r)/i;!isNaN(a)&&a>0&&this.log({message:`[dropped]. current dropped percent: ${a}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(a)&&a>=this.droppedFramesChecker.percentLimit&&(0,ye.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=((n=this.limitCounts[this.currentQuality])!=null?n:0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,ye.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,ye.interval)(this.droppedFramesChecker.checkTime).pipe((0,ye.filter)(()=>this.playing),(0,ye.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,ye.debounce)(this.droppedFramesChecker.checkTime)),i=(0,ye.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){var i,r;let t=(r=(i=(0,Ug.default)(this.limitCounts).filter(([,a])=>a>=this.droppedFramesChecker.countLimit).sort(([a],[n])=>(0,ye.isLower)(a,n)?-1:1))==null?void 0:i[0])==null?void 0:r[0];return e!=null?e:t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},yr=Dl;var $n=require("@vkontakte/videoplayer-shared/es2018"),Hg=require("@vkontakte/videoplayer-shared/es2018");var Is=()=>{var s;return!!((s=window.documentPictureInPicture)!=null&&s.window)||!!document.pictureInPictureElement};var JP=(s,e)=>new $n.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,o)=>{n.forEach(u=>t.next(u.isIntersecting||Is()))},{...i,...e});r.observe(s);let a=(0,Hg.fromEvent)(document,"visibilitychange").pipe((0,$n.map)(n=>!document.hidden||Is())).subscribe(n=>t.next(n));return()=>{r.unobserve(s),a.unsubscribe()}}),ut=JP;var ZP=["paused","playing","ready"],ek=["paused","playing","ready"],Es=class{constructor(e){this.subscription=new Z.Subscription;this.videoState=new re("stopped");this.representations$=new Z.ValueSubject([]);this.droppedFramesManager=new yr;this.maxSeekBackTime$=new Z.ValueSubject(1/0);this.zeroTime$=new Z.ValueSubject(void 0);this.liveOffset=new Ci;this._dashCb=e=>{var t,i,r,a;switch(e.name){case"buffering":{let n=e.isBuffering;this.params.output.isBuffering$.next(n);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Z.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let n=e.manifest,o=[];for(let u of n){let l=(t=u.name)!=null?t:u.index.toString(10),c=(i=ui(u.name))!=null?i:(0,Z.videoSizeToQuality)(u.video),d=u.bitrate/1e3,f={...u.video};if(!c)continue;let p={id:l,quality:c,bitrate:d,size:f};o.push({track:p,representation:u})}this.representations$.next(o),this.params.output.availableVideoTracks$.next(o.map(({track:u})=>u)),((r=this.videoState.getTransition())==null?void 0:r.to)==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let n=e.quality,o=(a=this.representations$.getValue().find(({representation:u})=>u===n))==null?void 0:a.track;this.params.output.hostname$.next(new URL(n.headerUrl,this.params.source.url).hostname),(0,Z.isNonNullable)(o)&&this.params.output.currentVideoTrack$.next(o);break}case"bandwidth":{let{size:n,duration:o}=e;this.params.dependencies.throughputEstimator.addRawSpeed(n,o);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),a=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(a)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,Cl.default)(ek,e)&&(n||o)){this.prepare();return}if((r==null?void 0:r.to)!=="paused"&&a.state==="requested"&&(0,Cl.default)(ZP,e)){this.seek(a.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(Ee(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let u=r==null?void 0:r.from;u&&u==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let u=this.liveOffset.getTotalOffset();u>=this.maxSeekBackTime$.getValue()&&(u=0,this.liveOffset.resetTo(u)),this.liveOffset.resume(),this.params.output.position$.next(-u/1e3),this.dash.reinit(Ee(this.params.source.url,u))}return;default:return(0,Z.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Z.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Z.merge)(this.videoState.stateChangeStarted$.pipe((0,Z.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Z.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:a})=>{this.log({message:`[videoState change] ${a}: ${JSON.stringify(r)}`})})),this.video=He(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(Ce(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=We(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Z.map)(r=>r.map(({track:a})=>a)),(0,Z.filter)(r=>!!r.length),(0,Z.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{var r;((r=this.videoState.getTransition())==null?void 0:r.to)==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Z.filterChanged)(),(0,Z.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Z.combine)({zeroTime:this.zeroTime$.pipe((0,Z.filter)(Z.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:a})=>this.params.output.liveTime$.next(r+a*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(Qe(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:a}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Z.videoQualityToHeight)(r),min:a&&(0,Z.videoQualityToHeight)(a)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:a})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{var a;switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":((a=this.params.desiredState.playbackState.getTransition())==null?void 0:a.to)==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Z.assertNever)(r.to)}},t)).add((0,Z.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Z.observableFrom)(["init"])).pipe((0,Z.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),je(this.video)}createLiveDashPlayer(){let e=new Ts({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){var l,c,d,f,p,h;let e=this.representations$.getValue(),t=(c=(l=this.params.desiredState.videoTrack.getTransition())==null?void 0:l.to)!=null?c:this.params.desiredState.videoTrack.getState(),i=(f=(d=this.params.desiredState.autoVideoTrackSwitching.getTransition())==null?void 0:d.to)!=null?f:this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Z.isNonNullable)(t)?t:Lt(e.map(({track:b})=>b),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),a=r==null?void 0:r.id,n=this.params.desiredState.videoTrack.getTransition(),o=(p=this.params.desiredState.videoTrack.getState())==null?void 0:p.id,u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||a!==o)&&this.setVideoTrack(r),u&&this.setAutoQuality(i),n||u||a!==o){let b=(h=e.find(({track:S})=>S.id===a))==null?void 0:h.representation;(0,Z.assertNonNullable)(b,"Representations missing"),this.dash.startPlay(b,i)}}setVideoTrack(e){var i;let t=(i=this.representations$.getValue().find(({track:r})=>r.id===e.id))==null?void 0:i.representation;(0,Z.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",a=-e,n=a<=this.maxSeekBackTime$.getValue()?a:0;this.params.output.position$.next(e/1e3),this.dash.reinit(Ee(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var jg=Es;var Be=(s,e)=>{let t=0;for(let i=0;i<s.length;i++){let r=s.start(i)*1e3,a=s.end(i)*1e3;r<=e&&e<=a&&(t=a)}return Math.max(t-e,0)};var j=require("@vkontakte/videoplayer-shared/es2018");var{NativeAbortSignal:j0,NativeAbortController:Q0}=function(s){return{NativeAbortSignal:s.AbortSignal,NativeAbortController:s.AbortController}}(typeof self!="undefined"?self:global);function Qg(s){let e;try{e=new Event("abort")}catch(t){typeof document!="undefined"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=s,e}function Wg(s){if(s===void 0)if(typeof document=="undefined")s=new Error("This operation was aborted"),s.name="AbortError";else try{s=new DOMException("signal is aborted without reason"),Object.defineProperty(s,"name",{value:"AbortError"})}catch(e){s=new Error("This operation was aborted"),s.name="AbortError"}return s}var Mn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,a=i.length;r<a;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,a=i.length;r<a;r++){let n=i[r];try{n.callback.call(this,e)}catch(o){Promise.resolve().then(()=>{throw o})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},Tr=class extends Mn{constructor(){super(),this.listeners||Mn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Vi;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Vi;function i(){t.abort(this.reason),r()}function r(){for(let a of e)a.removeEventListener("abort",i)}for(let a of e)if(a.aborted){t.abort(a.reason);break}else a.addEventListener("abort",i);return t.signal}},Vi=class{constructor(){Object.defineProperty(this,"signal",{value:new Tr,writable:!0,configurable:!0})}abort(e){let t=Wg(e),i=Qg(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(Vi.prototype[Symbol.toStringTag]="AbortController",Tr.prototype[Symbol.toStringTag]="AbortSignal");function Dn(s){return s.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof s.Request=="function"&&!s.Request.prototype.hasOwnProperty("signal")||!s.AbortController}function Bl(s){typeof s=="function"&&(s={fetch:s});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=s;if(!Dn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:a};let a=t;(a&&!a.prototype.hasOwnProperty("signal")||r)&&(a=function(l,c){let d;c&&c.signal&&(d=c.signal,delete c.signal);let f=new t(l,c);return d&&Object.defineProperty(f,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),f},a.prototype=t.prototype);let n=e;return{fetch:(u,l)=>{let c=a&&a.prototype.isPrototypeOf(u)?u.signal:l?l.signal:void 0;if(c){let d;try{d=new DOMException("Aborted","AbortError")}catch(p){d=new Error("Aborted"),d.name="AbortError"}if(c.aborted)return Promise.reject(d);let f=new Promise((p,h)=>{c.addEventListener("abort",()=>h(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([f,n(u,l)])}return n(u,l)},Request:a}}var tk=()=>"fetch"in window,xs=tk()&&Dn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Gg=xs?Bl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=xs?Gg.fetch:window.fetch,t_=xs?Gg.Request:window.Request,de=xs?Vi:window.AbortController,i_=xs?Tr:window.AbortSignal;var Yv=K(Ue(),1),ac=K(ws(),1);var DS=K(MS(),1),Ir=require("@vkontakte/videoplayer-shared/es2018"),Cn=s=>{if(!s)return{id:"EmptyResponse",category:Ir.ErrorCategory.PARSER,message:"Empty response"};if(s.length<=2&&s.match(/^\d+$/))return{id:`UVError#${s}`,category:Ir.ErrorCategory.NETWORK,message:`UV Error ${s}`};let e=(0,DS.default)(s).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:Ir.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(s,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:Ir.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:Ir.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Ve=(s,e,t=0)=>{for(let i=0;i<s.length;i++)if(s.start(i)*1e3-t<=e&&s.end(i)*1e3+t>e)return!0;return!1};var I=require("@vkontakte/videoplayer-shared/es2018");var _n=K(Ue(),1),Fi=K(St(),1),On=K(ws(),1);var Nk=(s,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{s({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},qk=s=>window.clearTimeout(s),CS=s=>typeof s=="function"&&(s==null?void 0:s.toString().endsWith("{ [native code] }")),BS=!CS(window.requestIdleCallback)||!CS(window.cancelIdleCallback),Er=BS?Nk:window.requestIdleCallback,Mt=BS?qk:window.cancelIdleCallback;var Hv=K(fn(),1);var ci=require("@vkontakte/videoplayer-shared/es2018");var Uk=18,VS=!1;try{VS=z.browser.isSafari&&!!z.browser.safariVersion&&z.browser.safariVersion<=Uk}catch(s){console.error(s)}var ql=class{constructor(e){this.bufferFull$=new ci.Subject;this.error$=new ci.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{var e;try{if(this.currentTask){let t=(e=this.currentTask.signal)==null?void 0:e.aborted;this.currentTask.callback(!t),this.currentTask=null}this.queue.length&&this.pull()}catch(t){this.error$.next({id:"BufferTaskQueueUnknown",category:ci.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:t})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let a={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(a),this.pull()})}async abort(e){return new Promise(t=>{let i,r=a=>{this.abortRequested=!1,t(a)};VS&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:a}of this.queue)a(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){var r;if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if((r=e.signal)!=null&&r.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(a){a instanceof DOMException&&a.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):a instanceof DOMException&&a.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ci.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:a}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ci.assertNever)(t)}}},_S=ql;var xr=s=>{let e=0;for(let t=0;t<s.length;t++)e+=s.end(t)-s.start(t);return e*1e3};var P=require("@vkontakte/videoplayer-shared/es2018");var FS=K(St(),1);var Bn=s=>s.valid,ae=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,a;i===0?(this.size=void 0,this.valid=!1,a=void 0):i===1?(this.size=void 0,this.valid=!1,a=void 0):i>e.byteLength?(this.size=i,this.valid=!1,a=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,a=i-this.cursor),this.content=new DataView(e.buffer,r,a)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var wr=class extends ae{};var OS=require("@vkontakte/videoplayer-shared/es2018");var Rs=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,OS.assertNever)(e)}}};var Ps=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let a=this.readString(4);this.compatibleBrands.push(a)}}};var ks=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var be=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var Ls=class extends be{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var $s=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ms=class extends ae{constructor(e,t){super(e,t),this.data=this.content}};var _i=class extends be{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),a=r>>>31,n=r<<1>>>1,o=this.readUint32();r=this.readUint32();let u=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:a,referencedSize:n,subsegmentDuration:o,SAPType:u,SAPDeltaTime:l})}}}};var Ds=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Cs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Bs=class extends be{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Vs=class extends be{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var _s=class extends be{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var Os=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Fs=class extends be{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Ns=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var qs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Us=class extends be{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Hs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var js=class extends be{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var Qs=class extends be{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ws=class extends be{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Gs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var zs=class extends be{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ys=class extends ae{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var jk={ftyp:Ps,moov:ks,mvhd:Ls,moof:$s,mdat:Ms,sidx:_i,trak:Ds,mdia:Os,mfhd:Us,tkhd:Fs,traf:Hs,tfhd:js,tfdt:Qs,trun:Ws,minf:Ns,sv3d:Cs,st3d:Bs,prhd:Vs,proj:qs,equi:_s,uuid:Rs,stbl:Gs,stsd:zs,avc1:Ys,unknown:wr},Ht=class s{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let a=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(a,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(o){if(!(o instanceof RangeError))throw o}if(!n||!Bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=jk[e];return i?new i(t,new s):new wr(t,new s)}};var di=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{var i,r,a;Bn(t)&&((a=(i=this.index)[r=t.type])!=null||(i[r]=[]),this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Wk=new TextDecoder("ascii"),Gk=s=>Wk.decode(new DataView(s.buffer,s.byteOffset+4,4))==="ftyp",zk=s=>{let e=new _i(s,new Ht),t=e.earliestPresentationTime/e.timescale*1e3,i=s.byteOffset+s.byteLength+e.firstOffset;return e.segments.map(a=>{if(a.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=a.subsegmentDuration/e.timescale*1e3,o={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+a.referencedSize-1}};return t+=n,i+=a.referencedSize,o})},Yk=(s,e)=>{let i=new Ht().parse(s),r=new di(i),a=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&a.length))return null;let o=a[0],u=n[n.length-1],l=o.source.byteOffset,d=u.source.byteOffset-o.source.byteOffset+u.size;return new DataView(s.buffer,l,d)},Kk=s=>{let t=new Ht().parse(s),i=new di(t),r={},a=i.findAll("uuid"),n=(0,FS.default)(a,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},Xk=s=>{var r;let t=new Ht().parse(s);return(r=new di(t).find("sidx"))==null?void 0:r.timescale},Jk=(s,e)=>{let i=new Ht().parse(s),a=new di(i).findAll("traf"),n=a[a.length-1].children.find(d=>d.type==="tfhd"),o=a[a.length-1].children.find(d=>d.type==="tfdt"),u=a[a.length-1].children.find(d=>d.type==="trun"),l=0;return u.sampleDuration.length?l=u.sampleDuration.reduce((d,f)=>d+f,0):l=n.defaultSampleDuration*u.sampleCount,(Number(o.baseMediaDecodeTime)+l)/e*1e3},Zk=s=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new Ht().parse(s),r=new di(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let o=r.find("prhd");o&&(e.projectionData.pose.yaw=o.poseYawDegrees,e.projectionData.pose.pitch=o.posePitchDegrees,e.projectionData.pose.roll=o.poseRollDegrees);let u=r.find("equi");u&&(e.projectionData.bounds.top=u.projectionBoundsTop,e.projectionData.bounds.right=u.projectionBoundsRight,e.projectionData.bounds.bottom=u.projectionBoundsBottom,e.projectionData.bounds.left=u.projectionBoundsLeft)}return e},NS={validateData:Gk,parseInit:Zk,getIndexRange:()=>{},parseSegments:zk,parseFeedableSegmentChunk:Yk,getChunkEndTime:Jk,getServerLatencyTimestamps:Kk,getTimescaleFromIndex:Xk};var Js=K(Ue(),1),jt=require("@vkontakte/videoplayer-shared/es2018");var US=require("@vkontakte/videoplayer-shared/es2018");var qS={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},HS=s=>{let e=s.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=Xs(s,t),r=i in qS,a=r?qS[i].type:"binary",n=s.getUint8(t),o=0;n&128?o=1:n&64?o=2:n&32?o=3:n&16?o=4:n&8?o=5:n&4?o=6:n&2?o=7:n&1&&(o=8);let u=new DataView(s.buffer,s.byteOffset+t+1,o-1),l=n&255>>o,c=Xs(u),d=l*2**((o-1)*8)+c,f=t+o,p;return f+d>s.byteLength?p=new DataView(s.buffer,s.byteOffset+f):p=new DataView(s.buffer,s.byteOffset+f,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:a,tagHeaderSize:f,tagSize:f+d,value:p,valueSize:d}},Xs=(s,e=s.byteLength)=>{switch(e){case 1:return s.getUint8(0);case 2:return s.getUint16(0);case 3:return s.getUint8(0)*2**16+s.getUint16(1);case 4:return s.getUint32(0);case 5:return s.getUint8(0)*2**32+s.getUint32(1);case 6:return s.getUint16(0)*2**32+s.getUint32(2);case 7:{let t=s.getUint8(0)*281474976710656+s.getUint16(1)*4294967296+s.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},vt=(s,e)=>{switch(e){case"int":return s.getInt8(0);case"uint":return Xs(s);case"float":return s.byteLength===4?s.getFloat32(0):s.getFloat64(0);case"string":return new TextDecoder("ascii").decode(s);case"utf8":return new TextDecoder("utf-8").decode(s);case"date":return new Date(Date.UTC(2001,0)+s.getInt8(0)).getTime();case"master":return s;case"binary":return s;default:(0,US.assertNever)(e)}},Oi=(s,e)=>{let t=0;for(;t<s.byteLength;){let i=new DataView(s.buffer,s.byteOffset+t),r=HS(i);if(!e(r))return;r.type==="master"&&Oi(r.value,e),t=r.value.byteOffset-s.byteOffset+r.valueSize}},jS=s=>{if(s.getUint32(0)!==440786851)return!1;let e,t,i,r=HS(s);return Oi(r.value,({tag:a,type:n,value:o})=>(a===17143?e=vt(o,n):a===17026?t=vt(o,n):a===17029&&(i=vt(o,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var QS=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],eL=[231,22612,22743,167,171,163,160,175],tL=s=>{let e,t,i,r,a=!1,n=!1,o=!1,u,l,c=!1,d=0;return Oi(s,({tag:f,type:p,value:h,valueSize:b})=>{if(f===21419){let S=vt(h,p);l=Xs(S)}else f!==21420&&(l=void 0);return f===408125543?(e=h.byteOffset,t=h.byteOffset+b):f===357149030?a=!0:f===290298740?n=!0:f===2807729?i=vt(h,p):f===17545?r=vt(h,p):f===21420&&l===475249515?u=vt(h,p):f===374648427?Oi(h,({tag:S,type:g,value:y})=>S===30321?(c=vt(y,g)===1,!1):!0):a&&n&&(0,Js.default)(QS,f)&&(o=!0),!o}),(0,jt.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,jt.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,jt.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i!=null?i:1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:u,is3dVideo:c,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},iL=s=>{if((0,jt.isNullable)(s.cuesSeekPosition))return;let e=s.segmentStart+s.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},rL=(s,e)=>{let t=!1,i=!1,r=o=>(0,jt.isNonNullable)(o.time)&&(0,jt.isNonNullable)(o.position),a=[],n;return Oi(s,({tag:o,type:u,value:l})=>{switch(o){case 475249515:t=!0;break;case 187:n&&r(n)&&a.push(n),n={};break;case 179:n&&(n.time=vt(l,u));break;case 183:break;case 241:n&&(n.position=vt(l,u));break;default:t&&(0,Js.default)(QS,o)&&(i=!0)}return!(t&&i)}),n&&r(n)&&a.push(n),a.map((o,u)=>{let{time:l,position:c}=o,d=a[u+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+c,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},sL=s=>{let e=0,t=!1;try{Oi(s,i=>i.tag===524531317?i.tagSize<=s.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Js.default)(eL,i.tag)?(e+i.tagSize<=s.byteLength&&(e+=i.tagSize,t||(t=(0,Js.default)([163,160,175],i.tag))),!0):!1)}catch(i){}return e>0&&e<=s.byteLength&&t?new DataView(s.buffer,s.byteOffset,e):null},WS={validateData:jS,parseInit:tL,getIndexRange:iL,parseSegments:rL,parseFeedableSegmentChunk:sL};var Dt=s=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(s);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return WS;case"mp4":return NS}}throw new ReferenceError(`Unsupported mime type ${s}`)};var Ct=s=>s instanceof DOMException&&(s.name==="AbortError"||s.code===20);var zl=K(mv(),1),Vv=K(ar(),1),_v=K($v(),1),Ov=K(St(),1),Yl=K(Pi(),1);var Mv=K(Ue(),1),Gl=s=>{let e=s.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,a,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,a,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[a,n]=r.toUpperCase(),o=a+n;return(0,Mv.default)(["6E","7A","F4"],o)}}return!1};var Zs=require("@vkontakte/videoplayer-shared/es2018");var Dv=s=>{if(s.includes("/")){let e=s.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(s)};var Cv=s=>{var e;try{let t=r$(),i=s.match(t),{groups:r}=i!=null?i:{};if(r){let a={};if(r.extensions){let u=r.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(l=>{a[l[0]]=l.slice(2)})}let n=(e=r.variants)==null?void 0:e.split(/-/).filter(u=>u!==""),o={extlang:r.extlang,langtag:r.langtag,language:r.language,privateuse:r.privateuse||r.privateuse2,region:r.region,script:r.script,extensions:a,variants:n};return Object.keys(o).forEach(u=>{let l=o[u];(typeof l=="undefined"||l==="")&&delete o[u]}),o}return null}catch(t){return null}};function r$(){let s="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",c=`^(?:(?<langtag>${`
|
|
117
|
+
`}),y};var Ce=s=>new URL(s).hostname;var Z=require("@vkontakte/videoplayer-shared/es2018");var Ng=K(St(),1);var Vg=K(Ue(),1),Bg=s=>{if(s instanceof DOMException&&(0,Vg.default)(["Failed to load because no supported source was found.","The element has no supported sources."],s.message))throw s;return!(s instanceof DOMException&&(s.code===20||s.name==="AbortError"))},Ge=async(s,e)=>{let t=s.muted;try{await s.play()}catch(i){if(!Bg(i))return!1;if(e&&e(),t)return console.warn(i),!1;s.muted=!0;try{await s.play()}catch(r){return Bg(r)&&(s.muted=!1,console.warn(r)),!1}}return!0};var tt=require("@vkontakte/videoplayer-shared/es2018");var _g=K(Pi(),1),$t=require("@vkontakte/videoplayer-shared/es2018");function ke(){return(0,$t.now)()}function Ll(s){return ke()-s}function $l(s){let e=s.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,o,u=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return u&&(n+=l+"lowLat=1",l="&"),o&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Og(s,e,t){let i=(...r)=>{t.apply(null,r),s.removeEventListener(e,i)};s.addEventListener(e,i)}function vr(s,e,t,i){let r=window.XMLHttpRequest,a,n,o,u=!1,l=0,c,d,f=!1,p="arraybuffer",h=7e3,b=2e3,S=()=>{if(u)return;(0,$t.assertNonNullable)(c);let q=Ll(c),Y;if(q<b){Y=b-q,setTimeout(S,Y);return}b*=2,b>h&&(b=h),n&&n.abort(),n=new r,$()},g=q=>(a=q,H),y=q=>(d=q,H),x=()=>(p="json",H),E=()=>{if(!u){if(--l>=0){S(),i&&i();return}u=!0,d&&d(),t&&t()}},A=q=>(f=q,H),$=()=>{c=ke(),n=new r,n.open("get",s);let q=0,Y,le=0,ce=()=>((0,$t.assertNonNullable)(c),Math.max(c,Math.max(Y||0,le||0)));if(a&&n.addEventListener("progress",R=>{let _=ke();a.updateChunk&&R.loaded>q&&(a.updateChunk(ce(),R.loaded-q),q=R.loaded,Y=_)}),o&&(n.timeout=o,n.addEventListener("timeout",()=>E())),n.addEventListener("load",()=>{if(u)return;(0,$t.assertNonNullable)(n);let R=n.status;if(R>=200&&R<300){let{response:_,responseType:M}=n,C=_==null?void 0:_.byteLength;if(typeof C=="number"&&a){let U=C-q;U&&a.updateChunk&&a.updateChunk(ce(),U)}M==="json"&&(!_||!(0,_g.default)(_).length)?E():(d&&d(),e(_))}else E()}),n.addEventListener("error",()=>{E()}),f){let R=()=>{(0,$t.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(le=ke(),n.removeEventListener("readystatechange",R))};n.addEventListener("readystatechange",R)}return n.responseType=p,n.send(),H},H={withBitrateReporting:g,withParallel:A,withJSONResponse:x,withRetryCount:q=>(l=q,H),withRetryInterval:(q,Y)=>((0,$t.isNonNullable)(q)&&(b=q),(0,$t.isNonNullable)(Y)&&(h=Y),H),withTimeout:q=>(o=q,H),withFinally:y,send:$,abort:()=>{n&&(n.abort(),n=void 0),u=!0,d&&d()}};return H}var vs=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let a=this.intervals[0];if(a.end<=t)i+=a.end-a.start,r+=a.bytes,this.intervals.splice(0,1);else{if(a.start>=t)break;{let n=t-a.start,o=a.end-a.start;i+=n;let u=a.bytes*n/o;r+=u,a.start=t,a.bytes-=u}}}if(r>0&&i>0){let a=r*8/(i/1e3);return this._updateRate(a),this.logger(`rate updated, new=${Math.round(a/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Fg=K(Pi(),1);var ys=class{constructor(e,t,i,r,a){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=a}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=ke(),r=u=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=u,e._errorCB?e._errorCB(u):(this.limitCompleteCount(),this.completeRequests[t]=e)},a=u=>{e._complete=1,e._responseData=u,e._downloadTime=ke()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(u,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},o=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=vr(t,a,()=>r("error"),o),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=ke()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=ke();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Fg.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let a={};return a.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=a._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),a._finallyCB&&a._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let o=this.pendingQueue.indexOf(e);o!==-1&&this.pendingQueue.splice(o,1),this.logger(`Request not prefetched, starting new request, url=${e}${o===-1?"":"; removed pending"}`),this._sendRequest(a,e)}},a._cb=t,a._errorCB=i,a._retryCB=r,a.abort=function(){a.request&&a.request.abort()},a.withFinally=n=>(a._finallyCB=n,a),a}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var qg=require("@vkontakte/videoplayer-shared/es2018");var Ln=1e4,Ml=3;var zP=6e4,YP=10,KP=1,XP=500,Ts=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new qg.Subject,this.chunkRateEstimator=new vs(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=$l(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=$l(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{var r,a;!!e.error&&!this.destroyed&&(t(`Video element error: ${(r=e.error)==null?void 0:r.code}, details: ${(a=e.error)==null?void 0:a.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,a,n=t&&1.62*(z.display.pixelRatio||1)*t.offsetHeight||520;for(let o=0;o<this.manifest.length;++o){a=this.manifest[o];let{max:u,min:l}=this.autoQualityLimits||{};!Pg({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Ng.default)(this.manifest,-1).video.height})&&(u&&a.video.height>u||l&&a.video.height<l)||(a.bitrate<e&&n>Math.min(a.video.height,a.video.width)?(!r||a.bitrate>r.bitrate)&&(r=a):(!i||i.bitrate>a.bitrate)&&(i=a))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,tt.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:a}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Og(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,a({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new ys(Ml,Ln,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,a=!1,n=null,o=null,u=null,l=null,c=!1,d=()=>{let E=a&&(!c||c===this.rep);return E||t("Not running!"),E},f=(E,A,$)=>{u&&u.abort(),u=vr(this.urlResolver.resolve(E,!1),A,$,()=>this._retryCallback()).withTimeout(Ln).withBitrateReporting(this.bitrateSwitcher).withRetryCount(Ml).withFinally(()=>{u=null}).send()},p=(E,A,$)=>{(0,tt.assertNonNullable)(this.filesFetcher),o==null||o.abort(),o=this.filesFetcher.requestData(this.urlResolver.resolve(E,!1),A,$,()=>this._retryCallback()).withFinally(()=>{o=null}).send()},h=E=>{let A=i.playbackRate;i.playbackRate!==E&&(t(`Playback rate switch: ${A}=>${E}`),i.playbackRate=E)},b=E=>{this.lowLatency=E,t(`lowLatency changed to ${E}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)h(1);else{let E=this._getBufferSizeSec();if(this.bufferStates.length<5){h(1);return}let $=ke()-1e4,O=0;for(let B=0;B<this.bufferStates.length;B++){let V=this.bufferStates[B];E=Math.min(E,V.buf),V.ts<$&&O++}this.bufferStates.splice(0,O),t(`update playback rate; minBuffer=${E} drop=${O} jitter=${this.sourceJitter}`);let N=E-KP;this.sourceJitter>=0?N-=this.sourceJitter/2:this.sourceJitter-=1,N>3?h(1.15):N>1?h(1.1):N>.3?h(1.05):h(1)}},g=E=>{let A,$=()=>A&&A.start?A.start.length:0,O=R=>A.start[R]/1e3,N=R=>A.dur[R]/1e3,B=R=>A.fragIndex+R,V=(R,_)=>({chunkIdx:B(R),startTS:O(R),dur:N(R),discontinuity:_}),H=()=>{let R=0;if(A&&A.dur){let _=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,M=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,C=_;this.sourceJitter>1&&(C+=this.sourceJitter-1);let U=A.dur.length-1;for(;U>=0&&(C-=A.dur[U],!(C<=0));--U);R=Math.min(U,A.dur.length-1-M),R=Math.max(R,0)}return V(R,!0)},q=R=>{let _=$();if(!(_<=0)){if((0,tt.isNonNullable)(R)){for(let M=0;M<_;M++)if(O(M)>R)return V(M)}return H()}},Y=R=>{let _=$(),M=R?R.chunkIdx+1:0,C=M-A.fragIndex;if(!(_<=0)){if(!R||C<0||C-_>YP)return t(`Resync: offset=${C} bChunks=${_} chunk=`+JSON.stringify(R)),H();if(!(C>=_))return V(M-A.fragIndex,!1)}},le=(R,_,M)=>{l&&l.abort(),l=vr(this.urlResolver.resolve(R,!0,this.lowLatency),_,M,()=>this._retryCallback()).withTimeout(Ln).withRetryCount(Ml).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(R,_)=>{le(E,M=>{if(!d())return;A=M;let C=!!A.lowLatency;C!==this.lowLatency&&b(C);let U=0;for(let ne=0;ne<A.dur.length;++ne)U+=A.dur[ne];U>0&&((0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(U/A.dur.length)),r({name:"index",zeroTime:A.zeroTime,shiftDuration:A.shiftDuration}),this.sourceJitter=A.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,A.jitter/1e3)):1,R(q(_))},()=>this._handleNetworkError())},nextChunk:Y}},y=()=>{a=!1,o&&o.abort(),u&&u.abort(),l&&l.abort(),(0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return c={start:E=>{let{videoElement:A,logger:$}=this.params,O=g(e.jidxUrl),N,B,V,H,q=0,Y,le,ce,R=()=>{Y&&(clearTimeout(Y),Y=void 0);let ue=Math.max(XP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Le=q+ue,$e=ke(),Me=Math.min(1e4,Le-$e);q=$e;let Ke=()=>{l||d()&&O.seek(()=>{d()&&(q=ke(),_(),R())})};Me>0?Y=window.setTimeout(()=>{this.paused?R():Ke()},Me):Ke()},_=()=>{let ue;for(;ue=O.nextChunk(H);)H=ue,Tt(ue);let Le=O.nextChunk(V);if(Le){if(V&&Le.discontinuity){$("Detected discontinuity; restarting playback"),this.paused?R():(y(),this._initPlayerWith(e));return}ne(Le)}else R()},M=(ue,Le)=>{if(!d()||!this.sourceBuffer)return;let $e,Me,Ke,Vt=Kt=>{window.setTimeout(()=>{d()&&M(ue,Le)},Kt)};if(this.sourceBuffer.updating)$("Source buffer is updating; delaying appendBuffer"),Vt(100);else{let Kt=ke(),bi=A.currentTime;!this.paused&&A.buffered.length>1&&le===bi&&Kt-ce>500&&($("Stall suspected; trying to fix"),this._fixupStall()),le!==bi&&(le=bi,ce=Kt);let Qi=this._getBufferSizeSec();if(Qi>30)$(`Buffered ${Qi} seconds; delaying appendBuffer`),Vt(2e3);else try{this.sourceBuffer.appendBuffer(ue),this.videoPlayStarted?(this.bufferStates.push({ts:Kt,buf:Qi}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Le&&Le()}catch(Br){if(Br.name==="QuotaExceededError")$("QuotaExceededError; delaying appendBuffer"),Ke=this.sourceBuffer.buffered.length,Ke!==0&&($e=this.sourceBuffer.buffered.start(0),Me=bi,Me-$e>4&&this.sourceBuffer.remove($e,Me-3)),Vt(1e3);else throw Br}}},C=()=>{B&&N&&($([`Appending chunk, sz=${B.byteLength}:`,JSON.stringify(V)]),M(B,function(){B=null,_()}))},U=ue=>e.fragUrlTemplate.replace("%%id%%",ue.chunkIdx),ne=ue=>{d()&&p(U(ue),(Le,$e)=>{if(d()){if($e/=1e3,B=Le,V=ue,n=ue.startTS,$e){let Me=Math.min(10,ue.dur/$e);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*Me:Me}C()}},()=>this._handleNetworkError())},Tt=ue=>{d()&&((0,tt.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(U(ue),!1)))},It=ue=>{d()&&(e.cachedHeader=ue,M(ue,()=>{N=!0,C()}))};a=!0,O.seek(ue=>{if(d()){if(q=ke(),!ue){R();return}H=ue,!(0,tt.isNullable)(E)||ue.startTS>E?ne(ue):(V=ue,_())}},E),e.cachedHeader?It(e.cachedHeader):f(e.headerUrl,It,()=>this._handleNetworkError())},stop:y,getTimestampSec:()=>n},c}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,tt.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,tt.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,tt.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let f,p,h;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(p=this._getBufferSizeSec(),h=d/this.bitrate,p>10&&h>.8||p>15&&h>.5||p>20&&h>.3)){e(`Not switching: buffer=${Math.floor(p)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}f=this._selectQuality(d),f?this._switchToQuality(f):e(`Could not find quality by bitrate ${d}`)},a={updateChunk:(f,p)=>{let h=ke();if(this.chunkRateEstimator.addInterval(f,h,p)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:p,duration:h-f,speed:S}),!0}},get:()=>{let f=this.chunkRateEstimator.getBitRate();return f?f*.85:0}},n=-1/0,o,u=!0,l=()=>{let d=a.get();if(d&&o&&this.autoQuality){if(u&&d>o&&Ll(n)<3e4)return;i(d)}u=this.autoQuality};return{updateChunk:(d,f)=>{let p=a.updateChunk(d,f);return p&&l(),p},notifySwitch:d=>{let f=ke();d<o&&(n=f),o=d}}}_fetchManifest(e,t,i){this.manifestRequest=vr(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(Ln).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Ge(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,a=n=>{let o=[];return n!=null&&n.length?(n.forEach((u,l)=>{var c,d;u.video&&r.canPlayType(u.codecs).replace(/no/,"")&&((d=(c=window.MediaSource)==null?void 0:c.isTypeSupported)!=null&&d.call(c,u.codecs))&&(u.index=l,o.push(u))}),o.sort(function(u,l){return u.video&&l.video?l.video.height-u.video.height:l.bitrate-u.bitrate}),o):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=a(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},zP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Ug=K(ar(),1),ye=require("@vkontakte/videoplayer-shared/es2018"),Dl=class{constructor(){this.onDroopedVideoFramesLimit$=new ye.Subject;this.subscription=new ye.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new ye.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>(t==null?void 0:t.height)===this.video.videoHeight&&(t==null?void 0:t.width)===this.video.videoWidth);e&&!(0,ye.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{var n;let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,a=1-(i-r)/i;!isNaN(a)&&a>0&&this.log({message:`[dropped]. current dropped percent: ${a}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(a)&&a>=this.droppedFramesChecker.percentLimit&&(0,ye.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=((n=this.limitCounts[this.currentQuality])!=null?n:0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,ye.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,ye.interval)(this.droppedFramesChecker.checkTime).pipe((0,ye.filter)(()=>this.playing),(0,ye.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,ye.debounce)(this.droppedFramesChecker.checkTime)),i=(0,ye.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){var i,r;let t=(r=(i=(0,Ug.default)(this.limitCounts).filter(([,a])=>a>=this.droppedFramesChecker.countLimit).sort(([a],[n])=>(0,ye.isLower)(a,n)?-1:1))==null?void 0:i[0])==null?void 0:r[0];return e!=null?e:t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},yr=Dl;var $n=require("@vkontakte/videoplayer-shared/es2018"),Hg=require("@vkontakte/videoplayer-shared/es2018");var Is=()=>{var s;return!!((s=window.documentPictureInPicture)!=null&&s.window)||!!document.pictureInPictureElement};var JP=(s,e)=>new $n.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,o)=>{n.forEach(u=>t.next(u.isIntersecting||Is()))},{...i,...e});r.observe(s);let a=(0,Hg.fromEvent)(document,"visibilitychange").pipe((0,$n.map)(n=>!document.hidden||Is())).subscribe(n=>t.next(n));return()=>{r.unobserve(s),a.unsubscribe()}}),ut=JP;var ZP=["paused","playing","ready"],ek=["paused","playing","ready"],Es=class{constructor(e){this.subscription=new Z.Subscription;this.videoState=new re("stopped");this.representations$=new Z.ValueSubject([]);this.droppedFramesManager=new yr;this.maxSeekBackTime$=new Z.ValueSubject(1/0);this.zeroTime$=new Z.ValueSubject(void 0);this.liveOffset=new Ci;this._dashCb=e=>{var t,i,r,a;switch(e.name){case"buffering":{let n=e.isBuffering;this.params.output.isBuffering$.next(n);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Z.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let n=e.manifest,o=[];for(let u of n){let l=(t=u.name)!=null?t:u.index.toString(10),c=(i=ui(u.name))!=null?i:(0,Z.videoSizeToQuality)(u.video),d=u.bitrate/1e3,f={...u.video};if(!c)continue;let p={id:l,quality:c,bitrate:d,size:f};o.push({track:p,representation:u})}this.representations$.next(o),this.params.output.availableVideoTracks$.next(o.map(({track:u})=>u)),((r=this.videoState.getTransition())==null?void 0:r.to)==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let n=e.quality,o=(a=this.representations$.getValue().find(({representation:u})=>u===n))==null?void 0:a.track;this.params.output.hostname$.next(new URL(n.headerUrl,this.params.source.url).hostname),(0,Z.isNonNullable)(o)&&this.params.output.currentVideoTrack$.next(o);break}case"bandwidth":{let{size:n,duration:o}=e;this.params.dependencies.throughputEstimator.addRawSpeed(n,o);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),a=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(a)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,Cl.default)(ek,e)&&(n||o)){this.prepare();return}if((r==null?void 0:r.to)!=="paused"&&a.state==="requested"&&(0,Cl.default)(ZP,e)){this.seek(a.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(Ee(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let u=r==null?void 0:r.from;u&&u==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let u=this.liveOffset.getTotalOffset();u>=this.maxSeekBackTime$.getValue()&&(u=0,this.liveOffset.resetTo(u)),this.liveOffset.resume(),this.params.output.position$.next(-u/1e3),this.dash.reinit(Ee(this.params.source.url,u))}return;default:return(0,Z.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Z.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Z.merge)(this.videoState.stateChangeStarted$.pipe((0,Z.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Z.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:a})=>{this.log({message:`[videoState change] ${a}: ${JSON.stringify(r)}`})})),this.video=He(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(Ce(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=We(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Z.map)(r=>r.map(({track:a})=>a)),(0,Z.filter)(r=>!!r.length),(0,Z.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{var r;((r=this.videoState.getTransition())==null?void 0:r.to)==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Z.filterChanged)(),(0,Z.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Z.combine)({zeroTime:this.zeroTime$.pipe((0,Z.filter)(Z.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:a})=>this.params.output.liveTime$.next(r+a*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(Qe(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:a}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Z.videoQualityToHeight)(r),min:a&&(0,Z.videoQualityToHeight)(a)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:a})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{var a;switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":((a=this.params.desiredState.playbackState.getTransition())==null?void 0:a.to)==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Z.assertNever)(r.to)}},t)).add((0,Z.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Z.observableFrom)(["init"])).pipe((0,Z.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),je(this.video)}createLiveDashPlayer(){let e=new Ts({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){var l,c,d,f,p,h;let e=this.representations$.getValue(),t=(c=(l=this.params.desiredState.videoTrack.getTransition())==null?void 0:l.to)!=null?c:this.params.desiredState.videoTrack.getState(),i=(f=(d=this.params.desiredState.autoVideoTrackSwitching.getTransition())==null?void 0:d.to)!=null?f:this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Z.isNonNullable)(t)?t:Lt(e.map(({track:b})=>b),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),a=r==null?void 0:r.id,n=this.params.desiredState.videoTrack.getTransition(),o=(p=this.params.desiredState.videoTrack.getState())==null?void 0:p.id,u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||a!==o)&&this.setVideoTrack(r),u&&this.setAutoQuality(i),n||u||a!==o){let b=(h=e.find(({track:S})=>S.id===a))==null?void 0:h.representation;(0,Z.assertNonNullable)(b,"Representations missing"),this.dash.startPlay(b,i)}}setVideoTrack(e){var i;let t=(i=this.representations$.getValue().find(({track:r})=>r.id===e.id))==null?void 0:i.representation;(0,Z.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",a=-e,n=a<=this.maxSeekBackTime$.getValue()?a:0;this.params.output.position$.next(e/1e3),this.dash.reinit(Ee(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var jg=Es;var Be=(s,e)=>{let t=0;for(let i=0;i<s.length;i++){let r=s.start(i)*1e3,a=s.end(i)*1e3;r<=e&&e<=a&&(t=a)}return Math.max(t-e,0)};var j=require("@vkontakte/videoplayer-shared/es2018");var{NativeAbortSignal:jV,NativeAbortController:QV}=function(s){return{NativeAbortSignal:s.AbortSignal,NativeAbortController:s.AbortController}}(typeof self!="undefined"?self:global);function Qg(s){let e;try{e=new Event("abort")}catch(t){typeof document!="undefined"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=s,e}function Wg(s){if(s===void 0)if(typeof document=="undefined")s=new Error("This operation was aborted"),s.name="AbortError";else try{s=new DOMException("signal is aborted without reason"),Object.defineProperty(s,"name",{value:"AbortError"})}catch(e){s=new Error("This operation was aborted"),s.name="AbortError"}return s}var Mn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,a=i.length;r<a;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,a=i.length;r<a;r++){let n=i[r];try{n.callback.call(this,e)}catch(o){Promise.resolve().then(()=>{throw o})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},Tr=class extends Mn{constructor(){super(),this.listeners||Mn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Vi;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Vi;function i(){t.abort(this.reason),r()}function r(){for(let a of e)a.removeEventListener("abort",i)}for(let a of e)if(a.aborted){t.abort(a.reason);break}else a.addEventListener("abort",i);return t.signal}},Vi=class{constructor(){Object.defineProperty(this,"signal",{value:new Tr,writable:!0,configurable:!0})}abort(e){let t=Wg(e),i=Qg(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(Vi.prototype[Symbol.toStringTag]="AbortController",Tr.prototype[Symbol.toStringTag]="AbortSignal");function Dn(s){return s.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof s.Request=="function"&&!s.Request.prototype.hasOwnProperty("signal")||!s.AbortController}function Bl(s){typeof s=="function"&&(s={fetch:s});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=s;if(!Dn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:a};let a=t;(a&&!a.prototype.hasOwnProperty("signal")||r)&&(a=function(l,c){let d;c&&c.signal&&(d=c.signal,delete c.signal);let f=new t(l,c);return d&&Object.defineProperty(f,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),f},a.prototype=t.prototype);let n=e;return{fetch:(u,l)=>{let c=a&&a.prototype.isPrototypeOf(u)?u.signal:l?l.signal:void 0;if(c){let d;try{d=new DOMException("Aborted","AbortError")}catch(p){d=new Error("Aborted"),d.name="AbortError"}if(c.aborted)return Promise.reject(d);let f=new Promise((p,h)=>{c.addEventListener("abort",()=>h(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([f,n(u,l)])}return n(u,l)},Request:a}}var tk=()=>"fetch"in window,xs=tk()&&Dn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Gg=xs?Bl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=xs?Gg.fetch:window.fetch,t_=xs?Gg.Request:window.Request,de=xs?Vi:window.AbortController,i_=xs?Tr:window.AbortSignal;var Yv=K(Ue(),1),ac=K(ws(),1);var DS=K(MS(),1),Ir=require("@vkontakte/videoplayer-shared/es2018"),Cn=s=>{if(!s)return{id:"EmptyResponse",category:Ir.ErrorCategory.PARSER,message:"Empty response"};if(s.length<=2&&s.match(/^\d+$/))return{id:`UVError#${s}`,category:Ir.ErrorCategory.NETWORK,message:`UV Error ${s}`};let e=(0,DS.default)(s).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:Ir.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(s,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:Ir.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:Ir.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Ve=(s,e,t=0)=>{for(let i=0;i<s.length;i++)if(s.start(i)*1e3-t<=e&&s.end(i)*1e3+t>e)return!0;return!1};var I=require("@vkontakte/videoplayer-shared/es2018");var _n=K(Ue(),1),Fi=K(St(),1),On=K(ws(),1);var Nk=(s,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{s({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},qk=s=>window.clearTimeout(s),CS=s=>typeof s=="function"&&(s==null?void 0:s.toString().endsWith("{ [native code] }")),BS=!CS(window.requestIdleCallback)||!CS(window.cancelIdleCallback),Er=BS?Nk:window.requestIdleCallback,Mt=BS?qk:window.cancelIdleCallback;var Hv=K(fn(),1);var ci=require("@vkontakte/videoplayer-shared/es2018");var Uk=18,VS=!1;try{VS=z.browser.isSafari&&!!z.browser.safariVersion&&z.browser.safariVersion<=Uk}catch(s){console.error(s)}var ql=class{constructor(e){this.bufferFull$=new ci.Subject;this.error$=new ci.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{var e;try{if(this.currentTask){let t=(e=this.currentTask.signal)==null?void 0:e.aborted;this.currentTask.callback(!t),this.currentTask=null}this.queue.length&&this.pull()}catch(t){this.error$.next({id:"BufferTaskQueueUnknown",category:ci.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:t})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let a={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(a),this.pull()})}async abort(e){return new Promise(t=>{let i,r=a=>{this.abortRequested=!1,t(a)};VS&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:a}of this.queue)a(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){var r;if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if((r=e.signal)!=null&&r.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(a){a instanceof DOMException&&a.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):a instanceof DOMException&&a.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ci.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:a}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ci.assertNever)(t)}}},_S=ql;var xr=s=>{let e=0;for(let t=0;t<s.length;t++)e+=s.end(t)-s.start(t);return e*1e3};var P=require("@vkontakte/videoplayer-shared/es2018");var FS=K(St(),1);var Bn=s=>s.valid,ae=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,a;i===0?(this.size=void 0,this.valid=!1,a=void 0):i===1?(this.size=void 0,this.valid=!1,a=void 0):i>e.byteLength?(this.size=i,this.valid=!1,a=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,a=i-this.cursor),this.content=new DataView(e.buffer,r,a)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var wr=class extends ae{};var OS=require("@vkontakte/videoplayer-shared/es2018");var Rs=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,OS.assertNever)(e)}}};var Ps=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let a=this.readString(4);this.compatibleBrands.push(a)}}};var ks=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var be=class extends ae{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var Ls=class extends be{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var $s=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ms=class extends ae{constructor(e,t){super(e,t),this.data=this.content}};var _i=class extends be{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),a=r>>>31,n=r<<1>>>1,o=this.readUint32();r=this.readUint32();let u=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:a,referencedSize:n,subsegmentDuration:o,SAPType:u,SAPDeltaTime:l})}}}};var Ds=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Cs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Bs=class extends be{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Vs=class extends be{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var _s=class extends be{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var Os=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Fs=class extends be{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Ns=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var qs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Us=class extends be{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Hs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var js=class extends be{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var Qs=class extends be{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ws=class extends be{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Gs=class extends ae{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var zs=class extends be{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ys=class extends ae{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var jk={ftyp:Ps,moov:ks,mvhd:Ls,moof:$s,mdat:Ms,sidx:_i,trak:Ds,mdia:Os,mfhd:Us,tkhd:Fs,traf:Hs,tfhd:js,tfdt:Qs,trun:Ws,minf:Ns,sv3d:Cs,st3d:Bs,prhd:Vs,proj:qs,equi:_s,uuid:Rs,stbl:Gs,stsd:zs,avc1:Ys,unknown:wr},Ht=class s{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let a=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(a,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(o){if(!(o instanceof RangeError))throw o}if(!n||!Bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=jk[e];return i?new i(t,new s):new wr(t,new s)}};var di=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{var i,r,a;Bn(t)&&((a=(i=this.index)[r=t.type])!=null||(i[r]=[]),this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Wk=new TextDecoder("ascii"),Gk=s=>Wk.decode(new DataView(s.buffer,s.byteOffset+4,4))==="ftyp",zk=s=>{let e=new _i(s,new Ht),t=e.earliestPresentationTime/e.timescale*1e3,i=s.byteOffset+s.byteLength+e.firstOffset;return e.segments.map(a=>{if(a.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=a.subsegmentDuration/e.timescale*1e3,o={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+a.referencedSize-1}};return t+=n,i+=a.referencedSize,o})},Yk=(s,e)=>{let i=new Ht().parse(s),r=new di(i),a=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&a.length))return null;let o=a[0],u=n[n.length-1],l=o.source.byteOffset,d=u.source.byteOffset-o.source.byteOffset+u.size;return new DataView(s.buffer,l,d)},Kk=s=>{let t=new Ht().parse(s),i=new di(t),r={},a=i.findAll("uuid"),n=(0,FS.default)(a,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},Xk=s=>{var r;let t=new Ht().parse(s);return(r=new di(t).find("sidx"))==null?void 0:r.timescale},Jk=(s,e)=>{let i=new Ht().parse(s),a=new di(i).findAll("traf"),n=a[a.length-1].children.find(d=>d.type==="tfhd"),o=a[a.length-1].children.find(d=>d.type==="tfdt"),u=a[a.length-1].children.find(d=>d.type==="trun"),l=0;return u.sampleDuration.length?l=u.sampleDuration.reduce((d,f)=>d+f,0):l=n.defaultSampleDuration*u.sampleCount,(Number(o.baseMediaDecodeTime)+l)/e*1e3},Zk=s=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new Ht().parse(s),r=new di(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let o=r.find("prhd");o&&(e.projectionData.pose.yaw=o.poseYawDegrees,e.projectionData.pose.pitch=o.posePitchDegrees,e.projectionData.pose.roll=o.poseRollDegrees);let u=r.find("equi");u&&(e.projectionData.bounds.top=u.projectionBoundsTop,e.projectionData.bounds.right=u.projectionBoundsRight,e.projectionData.bounds.bottom=u.projectionBoundsBottom,e.projectionData.bounds.left=u.projectionBoundsLeft)}return e},NS={validateData:Gk,parseInit:Zk,getIndexRange:()=>{},parseSegments:zk,parseFeedableSegmentChunk:Yk,getChunkEndTime:Jk,getServerLatencyTimestamps:Kk,getTimescaleFromIndex:Xk};var Js=K(Ue(),1),jt=require("@vkontakte/videoplayer-shared/es2018");var US=require("@vkontakte/videoplayer-shared/es2018");var qS={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},HS=s=>{let e=s.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=Xs(s,t),r=i in qS,a=r?qS[i].type:"binary",n=s.getUint8(t),o=0;n&128?o=1:n&64?o=2:n&32?o=3:n&16?o=4:n&8?o=5:n&4?o=6:n&2?o=7:n&1&&(o=8);let u=new DataView(s.buffer,s.byteOffset+t+1,o-1),l=n&255>>o,c=Xs(u),d=l*2**((o-1)*8)+c,f=t+o,p;return f+d>s.byteLength?p=new DataView(s.buffer,s.byteOffset+f):p=new DataView(s.buffer,s.byteOffset+f,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:a,tagHeaderSize:f,tagSize:f+d,value:p,valueSize:d}},Xs=(s,e=s.byteLength)=>{switch(e){case 1:return s.getUint8(0);case 2:return s.getUint16(0);case 3:return s.getUint8(0)*2**16+s.getUint16(1);case 4:return s.getUint32(0);case 5:return s.getUint8(0)*2**32+s.getUint32(1);case 6:return s.getUint16(0)*2**32+s.getUint32(2);case 7:{let t=s.getUint8(0)*281474976710656+s.getUint16(1)*4294967296+s.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},vt=(s,e)=>{switch(e){case"int":return s.getInt8(0);case"uint":return Xs(s);case"float":return s.byteLength===4?s.getFloat32(0):s.getFloat64(0);case"string":return new TextDecoder("ascii").decode(s);case"utf8":return new TextDecoder("utf-8").decode(s);case"date":return new Date(Date.UTC(2001,0)+s.getInt8(0)).getTime();case"master":return s;case"binary":return s;default:(0,US.assertNever)(e)}},Oi=(s,e)=>{let t=0;for(;t<s.byteLength;){let i=new DataView(s.buffer,s.byteOffset+t),r=HS(i);if(!e(r))return;r.type==="master"&&Oi(r.value,e),t=r.value.byteOffset-s.byteOffset+r.valueSize}},jS=s=>{if(s.getUint32(0)!==440786851)return!1;let e,t,i,r=HS(s);return Oi(r.value,({tag:a,type:n,value:o})=>(a===17143?e=vt(o,n):a===17026?t=vt(o,n):a===17029&&(i=vt(o,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var QS=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],eL=[231,22612,22743,167,171,163,160,175],tL=s=>{let e,t,i,r,a=!1,n=!1,o=!1,u,l,c=!1,d=0;return Oi(s,({tag:f,type:p,value:h,valueSize:b})=>{if(f===21419){let S=vt(h,p);l=Xs(S)}else f!==21420&&(l=void 0);return f===408125543?(e=h.byteOffset,t=h.byteOffset+b):f===357149030?a=!0:f===290298740?n=!0:f===2807729?i=vt(h,p):f===17545?r=vt(h,p):f===21420&&l===475249515?u=vt(h,p):f===374648427?Oi(h,({tag:S,type:g,value:y})=>S===30321?(c=vt(y,g)===1,!1):!0):a&&n&&(0,Js.default)(QS,f)&&(o=!0),!o}),(0,jt.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,jt.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,jt.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i!=null?i:1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:u,is3dVideo:c,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},iL=s=>{if((0,jt.isNullable)(s.cuesSeekPosition))return;let e=s.segmentStart+s.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},rL=(s,e)=>{let t=!1,i=!1,r=o=>(0,jt.isNonNullable)(o.time)&&(0,jt.isNonNullable)(o.position),a=[],n;return Oi(s,({tag:o,type:u,value:l})=>{switch(o){case 475249515:t=!0;break;case 187:n&&r(n)&&a.push(n),n={};break;case 179:n&&(n.time=vt(l,u));break;case 183:break;case 241:n&&(n.position=vt(l,u));break;default:t&&(0,Js.default)(QS,o)&&(i=!0)}return!(t&&i)}),n&&r(n)&&a.push(n),a.map((o,u)=>{let{time:l,position:c}=o,d=a[u+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+c,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},sL=s=>{let e=0,t=!1;try{Oi(s,i=>i.tag===524531317?i.tagSize<=s.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Js.default)(eL,i.tag)?(e+i.tagSize<=s.byteLength&&(e+=i.tagSize,t||(t=(0,Js.default)([163,160,175],i.tag))),!0):!1)}catch(i){}return e>0&&e<=s.byteLength&&t?new DataView(s.buffer,s.byteOffset,e):null},WS={validateData:jS,parseInit:tL,getIndexRange:iL,parseSegments:rL,parseFeedableSegmentChunk:sL};var Dt=s=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(s);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return WS;case"mp4":return NS}}throw new ReferenceError(`Unsupported mime type ${s}`)};var Ct=s=>s instanceof DOMException&&(s.name==="AbortError"||s.code===20);var zl=K(mv(),1),Vv=K(ar(),1),_v=K($v(),1),Ov=K(St(),1),Yl=K(Pi(),1);var Mv=K(Ue(),1),Gl=s=>{let e=s.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,a,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,a,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[a,n]=r.toUpperCase(),o=a+n;return(0,Mv.default)(["6E","7A","F4"],o)}}return!1};var Zs=require("@vkontakte/videoplayer-shared/es2018");var Dv=s=>{if(s.includes("/")){let e=s.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(s)};var Cv=s=>{var e;try{let t=r$(),i=s.match(t),{groups:r}=i!=null?i:{};if(r){let a={};if(r.extensions){let u=r.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(l=>{a[l[0]]=l.slice(2)})}let n=(e=r.variants)==null?void 0:e.split(/-/).filter(u=>u!==""),o={extlang:r.extlang,langtag:r.langtag,language:r.language,privateuse:r.privateuse||r.privateuse2,region:r.region,script:r.script,extensions:a,variants:n};return Object.keys(o).forEach(u=>{let l=o[u];(typeof l=="undefined"||l==="")&&delete o[u]}),o}return null}catch(t){return null}};function r$(){let s="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",c=`^(?:(?<langtag>${`
|
|
118
118
|
(?<language>${`(?:[a-z]{2,3}(?:-${s})?|[a-z]{4}|[a-z]{5,8})`})
|
|
119
119
|
(-(?<script>[a-z]{4}))?
|
|
120
120
|
(-(?<region>(?:[a-z]{2}|[0-9]{3})))?
|