@vkontakte/videoplayer-core 2.0.138-dev.2ae4679e.0 → 2.0.138-dev.2ccb74c0.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 +3 -3
- package/es2015.esm.js +4 -4
- package/es2018.cjs.js +3 -3
- package/es2018.esm.js +4 -4
- package/es2024.cjs.js +3 -3
- package/es2024.esm.js +3 -3
- package/esnext.cjs.js +3 -3
- package/esnext.esm.js +3 -3
- package/evergreen.esm.js +3 -3
- package/package.json +2 -2
package/es2024.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.138-dev.
|
|
3
|
-
* Mon, 18 Aug 2025
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.138-dev.2ccb74c0.0
|
|
3
|
+
* Mon, 18 Aug 2025 18:48:09 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/2-0-138/doc/
|
|
5
5
|
*/
|
|
6
6
|
var FI=Object.create;var Fd=Object.defineProperty;var NI=Object.getOwnPropertyDescriptor;var qI=Object.getOwnPropertyNames;var UI=Object.getPrototypeOf,HI=Object.prototype.hasOwnProperty;var m=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var jI=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of qI(e))!HI.call(a,r)&&r!==t&&Fd(a,r,{get:()=>e[r],enumerable:!(i=NI(e,r))||i.enumerable});return a};var C=(a,e,t)=>(t=a!=null?FI(UI(a)):{},jI(e||!a||!a.__esModule?Fd(t,"default",{value:a,enumerable:!0}):t,a));var re=m((Xo,qd)=>{"use strict";var Fr=function(a){return a&&a.Math===Math&&a};qd.exports=Fr(typeof globalThis=="object"&&globalThis)||Fr(typeof window=="object"&&window)||Fr(typeof self=="object"&&self)||Fr(typeof global=="object"&&global)||Fr(typeof Xo=="object"&&Xo)||function(){return this}()||Function("return this")()});var ce=m((W0,Ud)=>{"use strict";Ud.exports=function(a){try{return!!a()}catch{return!0}}});var Nr=m((G0,Hd)=>{"use strict";var QI=ce();Hd.exports=!QI(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var Jo=m((z0,Gd)=>{"use strict";var WI=Nr(),Wd=Function.prototype,jd=Wd.apply,Qd=Wd.call;Gd.exports=typeof Reflect=="object"&&Reflect.apply||(WI?Qd.bind(jd):function(){return Qd.apply(jd,arguments)})});var de=m((Y0,Kd)=>{"use strict";var zd=Nr(),Yd=Function.prototype,Zo=Yd.call,GI=zd&&Yd.bind.bind(Zo,Zo);Kd.exports=zd?GI:function(a){return function(){return Zo.apply(a,arguments)}}});var si=m((K0,Jd)=>{"use strict";var Xd=de(),zI=Xd({}.toString),YI=Xd("".slice);Jd.exports=function(a){return YI(zI(a),8,-1)}});var eu=m((X0,Zd)=>{"use strict";var KI=si(),XI=de();Zd.exports=function(a){if(KI(a)==="Function")return XI(a)}});var ae=m((J0,ep)=>{"use strict";var tu=typeof document=="object"&&document.all;ep.exports=typeof tu>"u"&&tu!==void 0?function(a){return typeof a=="function"||a===tu}:function(a){return typeof a=="function"}});var Fe=m((Z0,tp)=>{"use strict";var JI=ce();tp.exports=!JI(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Ne=m((eV,ip)=>{"use strict";var ZI=Nr(),_s=Function.prototype.call;ip.exports=ZI?_s.bind(_s):function(){return _s.apply(_s,arguments)}});var iu=m(sp=>{"use strict";var rp={}.propertyIsEnumerable,ap=Object.getOwnPropertyDescriptor,eE=ap&&!rp.call({1:2},1);sp.f=eE?function(e){var t=ap(this,e);return!!t&&t.enumerable}:rp});var qr=m((iV,np)=>{"use strict";np.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var up=m((rV,op)=>{"use strict";var tE=de(),iE=ce(),rE=si(),ru=Object,aE=tE("".split);op.exports=iE(function(){return!ru("z").propertyIsEnumerable(0)})?function(a){return rE(a)==="String"?aE(a,""):ru(a)}:ru});var Ur=m((aV,lp)=>{"use strict";lp.exports=function(a){return a==null}});var Ft=m((sV,cp)=>{"use strict";var sE=Ur(),nE=TypeError;cp.exports=function(a){if(sE(a))throw new nE("Can't call method on "+a);return a}});var ni=m((nV,dp)=>{"use strict";var oE=up(),uE=Ft();dp.exports=function(a){return oE(uE(a))}});var Le=m((oV,pp)=>{"use strict";var lE=ae();pp.exports=function(a){return typeof a=="object"?a!==null:lE(a)}});var oi=m((uV,hp)=>{"use strict";hp.exports={}});var wt=m((lV,mp)=>{"use strict";var au=oi(),su=re(),cE=ae(),fp=function(a){return cE(a)?a:void 0};mp.exports=function(a,e){return arguments.length<2?fp(au[a])||fp(su[a]):au[a]&&au[a][e]||su[a]&&su[a][e]}});var Hr=m((cV,bp)=>{"use strict";var dE=de();bp.exports=dE({}.isPrototypeOf)});var ui=m((dV,vp)=>{"use strict";var pE=re(),gp=pE.navigator,Sp=gp&&gp.userAgent;vp.exports=Sp?String(Sp):""});var ou=m((pV,wp)=>{"use strict";var xp=re(),nu=ui(),yp=xp.process,Tp=xp.Deno,Ip=yp&&yp.versions||Tp&&Tp.version,Ep=Ip&&Ip.v8,et,Os;Ep&&(et=Ep.split("."),Os=et[0]>0&&et[0]<4?1:+(et[0]+et[1]));!Os&&nu&&(et=nu.match(/Edge\/(\d+)/),(!et||et[1]>=74)&&(et=nu.match(/Chrome\/(\d+)/),et&&(Os=+et[1])));wp.exports=Os});var uu=m((hV,Pp)=>{"use strict";var Ap=ou(),hE=ce(),fE=re(),mE=fE.String;Pp.exports=!!Object.getOwnPropertySymbols&&!hE(function(){var a=Symbol("symbol detection");return!mE(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Ap&&Ap<41})});var lu=m((fV,kp)=>{"use strict";var bE=uu();kp.exports=bE&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var cu=m((mV,Rp)=>{"use strict";var gE=wt(),SE=ae(),vE=Hr(),yE=lu(),TE=Object;Rp.exports=yE?function(a){return typeof a=="symbol"}:function(a){var e=gE("Symbol");return SE(e)&&vE(e.prototype,TE(a))}});var jr=m((bV,Lp)=>{"use strict";var IE=String;Lp.exports=function(a){try{return IE(a)}catch{return"Object"}}});var ht=m((gV,$p)=>{"use strict";var EE=ae(),xE=jr(),wE=TypeError;$p.exports=function(a){if(EE(a))return a;throw new wE(xE(a)+" is not a function")}});var Qr=m((SV,Mp)=>{"use strict";var AE=ht(),PE=Ur();Mp.exports=function(a,e){var t=a[e];return PE(t)?void 0:AE(t)}});var Cp=m((vV,Dp)=>{"use strict";var du=Ne(),pu=ae(),hu=Le(),kE=TypeError;Dp.exports=function(a,e){var t,i;if(e==="string"&&pu(t=a.toString)&&!hu(i=du(t,a))||pu(t=a.valueOf)&&!hu(i=du(t,a))||e!=="string"&&pu(t=a.toString)&&!hu(i=du(t,a)))return i;throw new kE("Can't convert object to primitive value")}});var tt=m((yV,Bp)=>{"use strict";Bp.exports=!0});var Op=m((TV,_p)=>{"use strict";var Vp=re(),RE=Object.defineProperty;_p.exports=function(a,e){try{RE(Vp,a,{value:e,configurable:!0,writable:!0})}catch{Vp[a]=e}return e}});var Wr=m((IV,qp)=>{"use strict";var LE=tt(),$E=re(),ME=Op(),Fp="__core-js_shared__",Np=qp.exports=$E[Fp]||ME(Fp,{});(Np.versions||(Np.versions=[])).push({version:"3.43.0",mode:LE?"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 fu=m((EV,Hp)=>{"use strict";var Up=Wr();Hp.exports=function(a,e){return Up[a]||(Up[a]=e||{})}});var Oi=m((xV,jp)=>{"use strict";var DE=Ft(),CE=Object;jp.exports=function(a){return CE(DE(a))}});var it=m((wV,Qp)=>{"use strict";var BE=de(),VE=Oi(),_E=BE({}.hasOwnProperty);Qp.exports=Object.hasOwn||function(e,t){return _E(VE(e),t)}});var mu=m((AV,Wp)=>{"use strict";var OE=de(),FE=0,NE=Math.random(),qE=OE(1.1.toString);Wp.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+qE(++FE+NE,36)}});var be=m((PV,zp)=>{"use strict";var UE=re(),HE=fu(),Gp=it(),jE=mu(),QE=uu(),WE=lu(),Fi=UE.Symbol,bu=HE("wks"),GE=WE?Fi.for||Fi:Fi&&Fi.withoutSetter||jE;zp.exports=function(a){return Gp(bu,a)||(bu[a]=QE&&Gp(Fi,a)?Fi[a]:GE("Symbol."+a)),bu[a]}});var Jp=m((kV,Xp)=>{"use strict";var zE=Ne(),Yp=Le(),Kp=cu(),YE=Qr(),KE=Cp(),XE=be(),JE=TypeError,ZE=XE("toPrimitive");Xp.exports=function(a,e){if(!Yp(a)||Kp(a))return a;var t=YE(a,ZE),i;if(t){if(e===void 0&&(e="default"),i=zE(t,a,e),!Yp(i)||Kp(i))return i;throw new JE("Can't convert object to primitive value")}return e===void 0&&(e="number"),KE(a,e)}});var gu=m((RV,Zp)=>{"use strict";var ex=Jp(),tx=cu();Zp.exports=function(a){var e=ex(a,"string");return tx(e)?e:e+""}});var Fs=m((LV,th)=>{"use strict";var ix=re(),eh=Le(),Su=ix.document,rx=eh(Su)&&eh(Su.createElement);th.exports=function(a){return rx?Su.createElement(a):{}}});var vu=m(($V,ih)=>{"use strict";var ax=Fe(),sx=ce(),nx=Fs();ih.exports=!ax&&!sx(function(){return Object.defineProperty(nx("div"),"a",{get:function(){return 7}}).a!==7})});var sh=m(ah=>{"use strict";var ox=Fe(),ux=Ne(),lx=iu(),cx=qr(),dx=ni(),px=gu(),hx=it(),fx=vu(),rh=Object.getOwnPropertyDescriptor;ah.f=ox?rh:function(e,t){if(e=dx(e),t=px(t),fx)try{return rh(e,t)}catch{}if(hx(e,t))return cx(!ux(lx.f,e,t),e[t])}});var yu=m((DV,nh)=>{"use strict";var mx=ce(),bx=ae(),gx=/#|\.prototype\./,Gr=function(a,e){var t=vx[Sx(a)];return t===Tx?!0:t===yx?!1:bx(e)?mx(e):!!e},Sx=Gr.normalize=function(a){return String(a).replace(gx,".").toLowerCase()},vx=Gr.data={},yx=Gr.NATIVE="N",Tx=Gr.POLYFILL="P";nh.exports=Gr});var Ni=m((CV,uh)=>{"use strict";var oh=eu(),Ix=ht(),Ex=Nr(),xx=oh(oh.bind);uh.exports=function(a,e){return Ix(a),e===void 0?a:Ex?xx(a,e):function(){return a.apply(e,arguments)}}});var Tu=m((BV,lh)=>{"use strict";var wx=Fe(),Ax=ce();lh.exports=wx&&Ax(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var ft=m((VV,ch)=>{"use strict";var Px=Le(),kx=String,Rx=TypeError;ch.exports=function(a){if(Px(a))return a;throw new Rx(kx(a)+" is not an object")}});var li=m(ph=>{"use strict";var Lx=Fe(),$x=vu(),Mx=Tu(),Ns=ft(),dh=gu(),Dx=TypeError,Iu=Object.defineProperty,Cx=Object.getOwnPropertyDescriptor,Eu="enumerable",xu="configurable",wu="writable";ph.f=Lx?Mx?function(e,t,i){if(Ns(e),t=dh(t),Ns(i),typeof e=="function"&&t==="prototype"&&"value"in i&&wu in i&&!i[wu]){var r=Cx(e,t);r&&r[wu]&&(e[t]=i.value,i={configurable:xu in i?i[xu]:r[xu],enumerable:Eu in i?i[Eu]:r[Eu],writable:!1})}return Iu(e,t,i)}:Iu:function(e,t,i){if(Ns(e),t=dh(t),Ns(i),$x)try{return Iu(e,t,i)}catch{}if("get"in i||"set"in i)throw new Dx("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var qi=m((OV,hh)=>{"use strict";var Bx=Fe(),Vx=li(),_x=qr();hh.exports=Bx?function(a,e,t){return Vx.f(a,e,_x(1,t))}:function(a,e,t){return a[e]=t,a}});var oe=m((FV,mh)=>{"use strict";var zr=re(),Ox=Jo(),Fx=eu(),Nx=ae(),qx=sh().f,Ux=yu(),Ui=oi(),Hx=Ni(),Hi=qi(),fh=it();Wr();var jx=function(a){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new a;case 1:return new a(t);case 2:return new a(t,i)}return new a(t,i,r)}return Ox(a,this,arguments)};return e.prototype=a.prototype,e};mh.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?zr:r?zr[t]:zr[t]&&zr[t].prototype,u=i?Ui:Ui[t]||Hi(Ui,t,{})[t],o=u.prototype,l,c,p,d,h,f,b,S,g;for(d in e)l=Ux(i?d:t+(r?".":"#")+d,a.forced),c=!l&&n&&fh(n,d),f=u[d],c&&(a.dontCallGetSet?(g=qx(n,d),b=g&&g.value):b=n[d]),h=c&&b?b:e[d],!(!l&&!s&&typeof f==typeof h)&&(a.bind&&c?S=Hx(h,zr):a.wrap&&c?S=jx(h):s&&Nx(h)?S=Fx(h):S=h,(a.sham||h&&h.sham||f&&f.sham)&&Hi(S,"sham",!0),Hi(u,d,S),s&&(p=t+"Prototype",fh(Ui,p)||Hi(Ui,p,{}),Hi(Ui[p],d,h),a.real&&o&&(l||!o[d])&&Hi(o,d,h)))}});var gh=m((NV,bh)=>{"use strict";var Qx=Math.ceil,Wx=Math.floor;bh.exports=Math.trunc||function(e){var t=+e;return(t>0?Wx:Qx)(t)}});var Yr=m((qV,Sh)=>{"use strict";var Gx=gh();Sh.exports=function(a){var e=+a;return e!==e||e===0?0:Gx(e)}});var yh=m((UV,vh)=>{"use strict";var zx=Yr(),Yx=Math.max,Kx=Math.min;vh.exports=function(a,e){var t=zx(a);return t<0?Yx(t+e,0):Kx(t,e)}});var Au=m((HV,Th)=>{"use strict";var Xx=Yr(),Jx=Math.min;Th.exports=function(a){var e=Xx(a);return e>0?Jx(e,9007199254740991):0}});var ji=m((jV,Ih)=>{"use strict";var Zx=Au();Ih.exports=function(a){return Zx(a.length)}});var Pu=m((QV,xh)=>{"use strict";var ew=ni(),tw=yh(),iw=ji(),Eh=function(a){return function(e,t,i){var r=ew(e),s=iw(r);if(s===0)return!a&&-1;var n=tw(i,s),u;if(a&&t!==t){for(;s>n;)if(u=r[n++],u!==u)return!0}else for(;s>n;n++)if((a||n in r)&&r[n]===t)return a||n||0;return!a&&-1}};xh.exports={includes:Eh(!0),indexOf:Eh(!1)}});var Kr=m((WV,wh)=>{"use strict";wh.exports=function(){}});var Ah=m(()=>{"use strict";var rw=oe(),aw=Pu().includes,sw=ce(),nw=Kr(),ow=sw(function(){return!Array(1).includes()});rw({target:"Array",proto:!0,forced:ow},{includes:function(e){return aw(this,e,arguments.length>1?arguments[1]:void 0)}});nw("includes")});var Nt=m((YV,Ph)=>{"use strict";var uw=wt();Ph.exports=uw});var Rh=m((KV,kh)=>{"use strict";Ah();var lw=Nt();kh.exports=lw("Array","includes")});var $h=m((XV,Lh)=>{"use strict";var cw=Rh();Lh.exports=cw});var Ee=m((JV,Mh)=>{"use strict";var dw=$h();Mh.exports=dw});var Hs=m((c_,Nh)=>{"use strict";var vw=fu(),yw=mu(),Fh=vw("keys");Nh.exports=function(a){return Fh[a]||(Fh[a]=yw(a))}});var Uh=m((d_,qh)=>{"use strict";var Tw=ce();qh.exports=!Tw(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var js=m((p_,jh)=>{"use strict";var Iw=it(),Ew=ae(),xw=Oi(),ww=Hs(),Aw=Uh(),Hh=ww("IE_PROTO"),Lu=Object,Pw=Lu.prototype;jh.exports=Aw?Lu.getPrototypeOf:function(a){var e=xw(a);if(Iw(e,Hh))return e[Hh];var t=e.constructor;return Ew(t)&&e instanceof t?t.prototype:e instanceof Lu?Pw:null}});var Qs=m((h_,Qh)=>{"use strict";Qh.exports={}});var zh=m((f_,Gh)=>{"use strict";var kw=de(),$u=it(),Rw=ni(),Lw=Pu().indexOf,$w=Qs(),Wh=kw([].push);Gh.exports=function(a,e){var t=Rw(a),i=0,r=[],s;for(s in t)!$u($w,s)&&$u(t,s)&&Wh(r,s);for(;e.length>i;)$u(t,s=e[i++])&&(~Lw(r,s)||Wh(r,s));return r}});var Mu=m((m_,Yh)=>{"use strict";Yh.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Du=m((b_,Kh)=>{"use strict";var Mw=zh(),Dw=Mu();Kh.exports=Object.keys||function(e){return Mw(e,Dw)}});var Cu=m((g_,tf)=>{"use strict";var Jh=Fe(),Cw=ce(),Zh=de(),Bw=js(),Vw=Du(),_w=ni(),Ow=iu().f,ef=Zh(Ow),Fw=Zh([].push),Nw=Jh&&Cw(function(){var a=Object.create(null);return a[2]=2,!ef(a,2)}),Xh=function(a){return function(e){for(var t=_w(e),i=Vw(t),r=Nw&&Bw(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!Jh||(r?o in t:ef(t,o)))&&Fw(u,a?[o,t[o]]:t[o]);return u}};tf.exports={entries:Xh(!0),values:Xh(!1)}});var rf=m(()=>{"use strict";var qw=oe(),Uw=Cu().entries;qw({target:"Object",stat:!0},{entries:function(e){return Uw(e)}})});var sf=m((y_,af)=>{"use strict";rf();var Hw=oi();af.exports=Hw.Object.entries});var of=m((T_,nf)=>{"use strict";var jw=sf();nf.exports=jw});var Qi=m((I_,uf)=>{"use strict";var Qw=of();uf.exports=Qw});var ci=m((E_,lf)=>{"use strict";lf.exports={}});var pf=m((x_,df)=>{"use strict";var Ww=re(),Gw=ae(),cf=Ww.WeakMap;df.exports=Gw(cf)&&/native code/.test(String(cf))});var Ou=m((w_,mf)=>{"use strict";var zw=pf(),ff=re(),Yw=Le(),Kw=qi(),Bu=it(),Vu=Wr(),Xw=Hs(),Jw=Qs(),hf="Object already initialized",_u=ff.TypeError,Zw=ff.WeakMap,Ws,Xr,Gs,eA=function(a){return Gs(a)?Xr(a):Ws(a,{})},tA=function(a){return function(e){var t;if(!Yw(e)||(t=Xr(e)).type!==a)throw new _u("Incompatible receiver, "+a+" required");return t}};zw||Vu.state?(rt=Vu.state||(Vu.state=new Zw),rt.get=rt.get,rt.has=rt.has,rt.set=rt.set,Ws=function(a,e){if(rt.has(a))throw new _u(hf);return e.facade=a,rt.set(a,e),e},Xr=function(a){return rt.get(a)||{}},Gs=function(a){return rt.has(a)}):(di=Xw("state"),Jw[di]=!0,Ws=function(a,e){if(Bu(a,di))throw new _u(hf);return e.facade=a,Kw(a,di,e),e},Xr=function(a){return Bu(a,di)?a[di]:{}},Gs=function(a){return Bu(a,di)});var rt,di;mf.exports={set:Ws,get:Xr,has:Gs,enforce:eA,getterFor:tA}});var qu=m((A_,gf)=>{"use strict";var Fu=Fe(),iA=it(),bf=Function.prototype,rA=Fu&&Object.getOwnPropertyDescriptor,Nu=iA(bf,"name"),aA=Nu&&function(){}.name==="something",sA=Nu&&(!Fu||Fu&&rA(bf,"name").configurable);gf.exports={EXISTS:Nu,PROPER:aA,CONFIGURABLE:sA}});var vf=m(Sf=>{"use strict";var nA=Fe(),oA=Tu(),uA=li(),lA=ft(),cA=ni(),dA=Du();Sf.f=nA&&!oA?Object.defineProperties:function(e,t){lA(e);for(var i=cA(t),r=dA(t),s=r.length,n=0,u;s>n;)uA.f(e,u=r[n++],i[u]);return e}});var Uu=m((k_,yf)=>{"use strict";var pA=wt();yf.exports=pA("document","documentElement")});var Wu=m((R_,Pf)=>{"use strict";var hA=ft(),fA=vf(),Tf=Mu(),mA=Qs(),bA=Uu(),gA=Fs(),SA=Hs(),If=">",Ef="<",ju="prototype",Qu="script",wf=SA("IE_PROTO"),Hu=function(){},Af=function(a){return Ef+Qu+If+a+Ef+"/"+Qu+If},xf=function(a){a.write(Af("")),a.close();var e=a.parentWindow.Object;return a=null,e},vA=function(){var a=gA("iframe"),e="java"+Qu+":",t;return a.style.display="none",bA.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Af("document.F=Object")),t.close(),t.F},zs,Ys=function(){try{zs=new ActiveXObject("htmlfile")}catch{}Ys=typeof document<"u"?document.domain&&zs?xf(zs):vA():xf(zs);for(var a=Tf.length;a--;)delete Ys[ju][Tf[a]];return Ys()};mA[wf]=!0;Pf.exports=Object.create||function(e,t){var i;return e!==null?(Hu[ju]=hA(e),i=new Hu,Hu[ju]=null,i[wf]=e):i=Ys(),t===void 0?i:fA.f(i,t)}});var Wi=m((L_,kf)=>{"use strict";var yA=qi();kf.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:yA(a,e,t),a}});var Ku=m(($_,$f)=>{"use strict";var TA=ce(),IA=ae(),EA=Le(),xA=Wu(),Rf=js(),wA=Wi(),AA=be(),PA=tt(),Yu=AA("iterator"),Lf=!1,At,Gu,zu;[].keys&&(zu=[].keys(),"next"in zu?(Gu=Rf(Rf(zu)),Gu!==Object.prototype&&(At=Gu)):Lf=!0);var kA=!EA(At)||TA(function(){var a={};return At[Yu].call(a)!==a});kA?At={}:PA&&(At=xA(At));IA(At[Yu])||wA(At,Yu,function(){return this});$f.exports={IteratorPrototype:At,BUGGY_SAFARI_ITERATORS:Lf}});var Ks=m((M_,Df)=>{"use strict";var RA=be(),LA=RA("toStringTag"),Mf={};Mf[LA]="z";Df.exports=String(Mf)==="[object z]"});var Jr=m((D_,Cf)=>{"use strict";var $A=Ks(),MA=ae(),Xs=si(),DA=be(),CA=DA("toStringTag"),BA=Object,VA=Xs(function(){return arguments}())==="Arguments",_A=function(a,e){try{return a[e]}catch{}};Cf.exports=$A?Xs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=_A(e=BA(a),CA))=="string"?t:VA?Xs(e):(i=Xs(e))==="Object"&&MA(e.callee)?"Arguments":i}});var Vf=m((C_,Bf)=>{"use strict";var OA=Ks(),FA=Jr();Bf.exports=OA?{}.toString:function(){return"[object "+FA(this)+"]"}});var Zr=m((B_,Of)=>{"use strict";var NA=Ks(),qA=li().f,UA=qi(),HA=it(),jA=Vf(),QA=be(),_f=QA("toStringTag");Of.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(HA(r,_f)||qA(r,_f,{configurable:!0,value:e}),i&&!NA&&UA(r,"toString",jA))}});var Nf=m((V_,Ff)=>{"use strict";var WA=Ku().IteratorPrototype,GA=Wu(),zA=qr(),YA=Zr(),KA=ci(),XA=function(){return this};Ff.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=GA(WA,{next:zA(+!i,t)}),YA(a,r,!1,!0),KA[r]=XA,a}});var Uf=m((__,qf)=>{"use strict";var JA=de(),ZA=ht();qf.exports=function(a,e,t){try{return JA(ZA(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var jf=m((O_,Hf)=>{"use strict";var eP=Le();Hf.exports=function(a){return eP(a)||a===null}});var Wf=m((F_,Qf)=>{"use strict";var tP=jf(),iP=String,rP=TypeError;Qf.exports=function(a){if(tP(a))return a;throw new rP("Can't set "+iP(a)+" as a prototype")}});var Xu=m((N_,Gf)=>{"use strict";var aP=Uf(),sP=Le(),nP=Ft(),oP=Wf();Gf.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=aP(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return nP(r),oP(s),sP(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var am=m((q_,rm)=>{"use strict";var uP=oe(),lP=Ne(),Js=tt(),tm=qu(),cP=ae(),dP=Nf(),zf=js(),Yf=Xu(),pP=Zr(),hP=qi(),Ju=Wi(),fP=be(),Kf=ci(),im=Ku(),mP=tm.PROPER,bP=tm.CONFIGURABLE,Xf=im.IteratorPrototype,Zs=im.BUGGY_SAFARI_ITERATORS,ea=fP("iterator"),Jf="keys",ta="values",Zf="entries",em=function(){return this};rm.exports=function(a,e,t,i,r,s,n){dP(t,e,i);var u=function(g){if(g===r&&d)return d;if(!Zs&&g&&g in c)return c[g];switch(g){case Jf:return function(){return new t(this,g)};case ta:return function(){return new t(this,g)};case Zf:return function(){return new t(this,g)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,c=a.prototype,p=c[ea]||c["@@iterator"]||r&&c[r],d=!Zs&&p||u(r),h=e==="Array"&&c.entries||p,f,b,S;if(h&&(f=zf(h.call(new a)),f!==Object.prototype&&f.next&&(!Js&&zf(f)!==Xf&&(Yf?Yf(f,Xf):cP(f[ea])||Ju(f,ea,em)),pP(f,o,!0,!0),Js&&(Kf[o]=em))),mP&&r===ta&&p&&p.name!==ta&&(!Js&&bP?hP(c,"name",ta):(l=!0,d=function(){return lP(p,this)})),r)if(b={values:u(ta),keys:s?d:u(Jf),entries:u(Zf)},n)for(S in b)(Zs||l||!(S in c))&&Ju(c,S,b[S]);else uP({target:e,proto:!0,forced:Zs||l},b);return(!Js||n)&&c[ea]!==d&&Ju(c,ea,d,{name:r}),Kf[e]=d,b}});var nm=m((U_,sm)=>{"use strict";sm.exports=function(a,e){return{value:a,done:e}}});var el=m((H_,dm)=>{"use strict";var gP=ni(),Zu=Kr(),om=ci(),lm=Ou(),SP=li().f,vP=am(),en=nm(),yP=tt(),TP=Fe(),cm="Array Iterator",IP=lm.set,EP=lm.getterFor(cm);dm.exports=vP(Array,"Array",function(a,e){IP(this,{type:cm,target:gP(a),index:0,kind:e})},function(){var a=EP(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,en(void 0,!0);switch(a.kind){case"keys":return en(t,!1);case"values":return en(e[t],!1)}return en([t,e[t]],!1)},"values");var um=om.Arguments=om.Array;Zu("keys");Zu("values");Zu("entries");if(!yP&&TP&&um.name!=="values")try{SP(um,"name",{value:"values"})}catch{}});var hm=m((j_,pm)=>{"use strict";var xP=be(),wP=ci(),AP=xP("iterator"),PP=Array.prototype;pm.exports=function(a){return a!==void 0&&(wP.Array===a||PP[AP]===a)}});var tl=m((Q_,mm)=>{"use strict";var kP=Jr(),fm=Qr(),RP=Ur(),LP=ci(),$P=be(),MP=$P("iterator");mm.exports=function(a){if(!RP(a))return fm(a,MP)||fm(a,"@@iterator")||LP[kP(a)]}});var gm=m((W_,bm)=>{"use strict";var DP=Ne(),CP=ht(),BP=ft(),VP=jr(),_P=tl(),OP=TypeError;bm.exports=function(a,e){var t=arguments.length<2?_P(a):e;if(CP(t))return BP(DP(t,a));throw new OP(VP(a)+" is not iterable")}});var ym=m((G_,vm)=>{"use strict";var FP=Ne(),Sm=ft(),NP=Qr();vm.exports=function(a,e,t){var i,r;Sm(a);try{if(i=NP(a,"return"),!i){if(e==="throw")throw t;return t}i=FP(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Sm(i),t}});var rn=m((z_,xm)=>{"use strict";var qP=Ni(),UP=Ne(),HP=ft(),jP=jr(),QP=hm(),WP=ji(),Tm=Hr(),GP=gm(),zP=tl(),Im=ym(),YP=TypeError,tn=function(a,e){this.stopped=a,this.result=e},Em=tn.prototype;xm.exports=function(a,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),o=qP(e,i),l,c,p,d,h,f,b,S=function(I){return l&&Im(l,"normal"),new tn(!0,I)},g=function(I){return r?(HP(I),u?o(I[0],I[1],S):o(I[0],I[1])):u?o(I,S):o(I)};if(s)l=a.iterator;else if(n)l=a;else{if(c=zP(a),!c)throw new YP(jP(a)+" is not iterable");if(QP(c)){for(p=0,d=WP(a);d>p;p++)if(h=g(a[p]),h&&Tm(Em,h))return h;return new tn(!1)}l=GP(a,c)}for(f=s?a.next:l.next;!(b=UP(f,l)).done;){try{h=g(b.value)}catch(I){Im(l,"throw",I)}if(typeof h=="object"&&h&&Tm(Em,h))return h}return new tn(!1)}});var Am=m((Y_,wm)=>{"use strict";var KP=Fe(),XP=li(),JP=qr();wm.exports=function(a,e,t){KP?XP.f(a,e,JP(0,t)):a[e]=t}});var Pm=m(()=>{"use strict";var ZP=oe(),ek=rn(),tk=Am();ZP({target:"Object",stat:!0},{fromEntries:function(e){var t={};return ek(e,function(i,r){tk(t,i,r)},{AS_ENTRIES:!0}),t}})});var Rm=m((J_,km)=>{"use strict";el();Pm();var ik=oi();km.exports=ik.Object.fromEntries});var $m=m((Z_,Lm)=>{"use strict";Lm.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 Dm=m(()=>{"use strict";el();var rk=$m(),ak=re(),sk=Zr(),Mm=ci();for(an in rk)sk(ak[an],an),Mm[an]=Mm.Array;var an});var Bm=m((iO,Cm)=>{"use strict";var nk=Rm();Dm();Cm.exports=nk});var il=m((rO,Vm)=>{"use strict";var ok=Bm();Vm.exports=ok});var _m=m(()=>{"use strict"});var rl=m((nO,Om)=>{"use strict";var ia=re(),uk=ui(),lk=si(),sn=function(a){return uk.slice(0,a.length)===a};Om.exports=function(){return sn("Bun/")?"BUN":sn("Cloudflare-Workers")?"CLOUDFLARE":sn("Deno/")?"DENO":sn("Node.js/")?"NODE":ia.Bun&&typeof Bun.version=="string"?"BUN":ia.Deno&&typeof Deno.version=="object"?"DENO":lk(ia.process)==="process"?"NODE":ia.window&&ia.document?"BROWSER":"REST"}()});var nn=m((oO,Fm)=>{"use strict";var ck=rl();Fm.exports=ck==="NODE"});var qm=m((uO,Nm)=>{"use strict";var dk=li();Nm.exports=function(a,e,t){return dk.f(a,e,t)}});var jm=m((lO,Hm)=>{"use strict";var pk=wt(),hk=qm(),fk=be(),mk=Fe(),Um=fk("species");Hm.exports=function(a){var e=pk(a);mk&&e&&!e[Um]&&hk(e,Um,{configurable:!0,get:function(){return this}})}});var Wm=m((cO,Qm)=>{"use strict";var bk=Hr(),gk=TypeError;Qm.exports=function(a,e){if(bk(e,a))return a;throw new gk("Incorrect invocation")}});var sl=m((dO,Gm)=>{"use strict";var Sk=de(),vk=ae(),al=Wr(),yk=Sk(Function.toString);vk(al.inspectSource)||(al.inspectSource=function(a){return yk(a)});Gm.exports=al.inspectSource});var ol=m((pO,Jm)=>{"use strict";var Tk=de(),Ik=ce(),zm=ae(),Ek=Jr(),xk=wt(),wk=sl(),Ym=function(){},Km=xk("Reflect","construct"),nl=/^\s*(?:class|function)\b/,Ak=Tk(nl.exec),Pk=!nl.test(Ym),ra=function(e){if(!zm(e))return!1;try{return Km(Ym,[],e),!0}catch{return!1}},Xm=function(e){if(!zm(e))return!1;switch(Ek(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Pk||!!Ak(nl,wk(e))}catch{return!0}};Xm.sham=!0;Jm.exports=!Km||Ik(function(){var a;return ra(ra.call)||!ra(Object)||!ra(function(){a=!0})||a})?Xm:ra});var eb=m((hO,Zm)=>{"use strict";var kk=ol(),Rk=jr(),Lk=TypeError;Zm.exports=function(a){if(kk(a))return a;throw new Lk(Rk(a)+" is not a constructor")}});var ul=m((fO,ib)=>{"use strict";var tb=ft(),$k=eb(),Mk=Ur(),Dk=be(),Ck=Dk("species");ib.exports=function(a,e){var t=tb(a).constructor,i;return t===void 0||Mk(i=tb(t)[Ck])?e:$k(i)}});var ab=m((mO,rb)=>{"use strict";var Bk=de();rb.exports=Bk([].slice)});var nb=m((bO,sb)=>{"use strict";var Vk=TypeError;sb.exports=function(a,e){if(a<e)throw new Vk("Not enough arguments");return a}});var ll=m((gO,ob)=>{"use strict";var _k=ui();ob.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(_k)});var Sl=m((SO,bb)=>{"use strict";var qe=re(),Ok=Jo(),Fk=Ni(),ub=ae(),Nk=it(),mb=ce(),lb=Uu(),qk=ab(),cb=Fs(),Uk=nb(),Hk=ll(),jk=nn(),ml=qe.setImmediate,bl=qe.clearImmediate,Qk=qe.process,cl=qe.Dispatch,Wk=qe.Function,db=qe.MessageChannel,Gk=qe.String,dl=0,aa={},pb="onreadystatechange",sa,pi,pl,hl;mb(function(){sa=qe.location});var gl=function(a){if(Nk(aa,a)){var e=aa[a];delete aa[a],e()}},fl=function(a){return function(){gl(a)}},hb=function(a){gl(a.data)},fb=function(a){qe.postMessage(Gk(a),sa.protocol+"//"+sa.host)};(!ml||!bl)&&(ml=function(e){Uk(arguments.length,1);var t=ub(e)?e:Wk(e),i=qk(arguments,1);return aa[++dl]=function(){Ok(t,void 0,i)},pi(dl),dl},bl=function(e){delete aa[e]},jk?pi=function(a){Qk.nextTick(fl(a))}:cl&&cl.now?pi=function(a){cl.now(fl(a))}:db&&!Hk?(pl=new db,hl=pl.port2,pl.port1.onmessage=hb,pi=Fk(hl.postMessage,hl)):qe.addEventListener&&ub(qe.postMessage)&&!qe.importScripts&&sa&&sa.protocol!=="file:"&&!mb(fb)?(pi=fb,qe.addEventListener("message",hb,!1)):pb in cb("script")?pi=function(a){lb.appendChild(cb("script"))[pb]=function(){lb.removeChild(this),gl(a)}}:pi=function(a){setTimeout(fl(a),0)});bb.exports={set:ml,clear:bl}});var vb=m((vO,Sb)=>{"use strict";var gb=re(),zk=Fe(),Yk=Object.getOwnPropertyDescriptor;Sb.exports=function(a){if(!zk)return gb[a];var e=Yk(gb,a);return e&&e.value}});var vl=m((yO,Tb)=>{"use strict";var yb=function(){this.head=null,this.tail=null};yb.prototype={add:function(a){var e={item:a,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var a=this.head;if(a){var e=this.head=a.next;return e===null&&(this.tail=null),a.item}}};Tb.exports=yb});var Eb=m((TO,Ib)=>{"use strict";var Kk=ui();Ib.exports=/ipad|iphone|ipod/i.test(Kk)&&typeof Pebble<"u"});var wb=m((IO,xb)=>{"use strict";var Xk=ui();xb.exports=/web0s(?!.*chrome)/i.test(Xk)});var Mb=m((EO,$b)=>{"use strict";var zi=re(),Jk=vb(),Ab=Ni(),yl=Sl().set,Zk=vl(),eR=ll(),tR=Eb(),iR=wb(),Tl=nn(),Pb=zi.MutationObserver||zi.WebKitMutationObserver,kb=zi.document,Rb=zi.process,on=zi.Promise,xl=Jk("queueMicrotask"),Gi,Il,El,un,Lb;xl||(na=new Zk,oa=function(){var a,e;for(Tl&&(a=Rb.domain)&&a.exit();e=na.get();)try{e()}catch(t){throw na.head&&Gi(),t}a&&a.enter()},!eR&&!Tl&&!iR&&Pb&&kb?(Il=!0,El=kb.createTextNode(""),new Pb(oa).observe(El,{characterData:!0}),Gi=function(){El.data=Il=!Il}):!tR&&on&&on.resolve?(un=on.resolve(void 0),un.constructor=on,Lb=Ab(un.then,un),Gi=function(){Lb(oa)}):Tl?Gi=function(){Rb.nextTick(oa)}:(yl=Ab(yl,zi),Gi=function(){yl(oa)}),xl=function(a){na.head||Gi(),na.add(a)});var na,oa;$b.exports=xl});var Cb=m((xO,Db)=>{"use strict";Db.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var ln=m((wO,Bb)=>{"use strict";Bb.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var hi=m((AO,Vb)=>{"use strict";var rR=re();Vb.exports=rR.Promise});var Yi=m((PO,Nb)=>{"use strict";var aR=re(),ua=hi(),sR=ae(),nR=yu(),oR=sl(),uR=be(),_b=rl(),lR=tt(),wl=ou(),Ob=ua&&ua.prototype,cR=uR("species"),Al=!1,Fb=sR(aR.PromiseRejectionEvent),dR=nR("Promise",function(){var a=oR(ua),e=a!==String(ua);if(!e&&wl===66||lR&&!(Ob.catch&&Ob.finally))return!0;if(!wl||wl<51||!/native code/.test(a)){var t=new ua(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[cR]=i,Al=t.then(function(){})instanceof i,!Al)return!0}return!e&&(_b==="BROWSER"||_b==="DENO")&&!Fb});Nb.exports={CONSTRUCTOR:dR,REJECTION_EVENT:Fb,SUBCLASSING:Al}});var Ki=m((kO,Ub)=>{"use strict";var qb=ht(),pR=TypeError,hR=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new pR("Bad Promise constructor");e=i,t=r}),this.resolve=qb(e),this.reject=qb(t)};Ub.exports.f=function(a){return new hR(a)}});var ug=m(()=>{"use strict";var fR=oe(),mR=tt(),hn=nn(),qt=re(),bR=oi(),er=Ne(),Hb=Wi(),jb=Xu(),gR=Zr(),SR=jm(),vR=ht(),pn=ae(),yR=Le(),TR=Wm(),IR=ul(),Yb=Sl().set,$l=Mb(),ER=Cb(),xR=ln(),wR=vl(),Kb=Ou(),fn=hi(),Ml=Yi(),Xb=Ki(),mn="Promise",Jb=Ml.CONSTRUCTOR,AR=Ml.REJECTION_EVENT,PR=Ml.SUBCLASSING,Pl=Kb.getterFor(mn),kR=Kb.set,Xi=fn&&fn.prototype,fi=fn,cn=Xi,Zb=qt.TypeError,kl=qt.document,Dl=qt.process,Rl=Xb.f,RR=Rl,LR=!!(kl&&kl.createEvent&&qt.dispatchEvent),eg="unhandledrejection",$R="rejectionhandled",Qb=0,tg=1,MR=2,Cl=1,ig=2,dn,Wb,rg,Gb,ag=function(a){var e;return yR(a)&&pn(e=a.then)?e:!1},sg=function(a,e){var t=e.value,i=e.state===tg,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,c;try{r?(i||(e.rejection===ig&&CR(e),e.rejection=Cl),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),c=!0)),o===a.promise?n(new Zb("Promise-chain cycle")):(l=ag(o))?er(l,o,s,n):s(o)):n(t)}catch(p){u&&!c&&u.exit(),n(p)}},ng=function(a,e){a.notified||(a.notified=!0,$l(function(){for(var t=a.reactions,i;i=t.get();)sg(i,a);a.notified=!1,e&&!a.rejection&&DR(a)}))},og=function(a,e,t){var i,r;LR?(i=kl.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),qt.dispatchEvent(i)):i={promise:e,reason:t},!AR&&(r=qt["on"+a])?r(i):a===eg&&ER("Unhandled promise rejection",t)},DR=function(a){er(Yb,qt,function(){var e=a.facade,t=a.value,i=zb(a),r;if(i&&(r=xR(function(){hn?Dl.emit("unhandledRejection",t,e):og(eg,e,t)}),a.rejection=hn||zb(a)?ig:Cl,r.error))throw r.value})},zb=function(a){return a.rejection!==Cl&&!a.parent},CR=function(a){er(Yb,qt,function(){var e=a.facade;hn?Dl.emit("rejectionHandled",e):og($R,e,a.value)})},Ji=function(a,e,t){return function(i){a(e,i,t)}},Zi=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=MR,ng(a,!0))},Ll=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new Zb("Promise can't be resolved itself");var i=ag(e);i?$l(function(){var r={done:!1};try{er(i,e,Ji(Ll,r,a),Ji(Zi,r,a))}catch(s){Zi(r,s,a)}}):(a.value=e,a.state=tg,ng(a,!1))}catch(r){Zi({done:!1},r,a)}}};if(Jb&&(fi=function(e){TR(this,cn),vR(e),er(dn,this);var t=Pl(this);try{e(Ji(Ll,t),Ji(Zi,t))}catch(i){Zi(t,i)}},cn=fi.prototype,dn=function(e){kR(this,{type:mn,done:!1,notified:!1,parent:!1,reactions:new wR,rejection:!1,state:Qb,value:null})},dn.prototype=Hb(cn,"then",function(e,t){var i=Pl(this),r=Rl(IR(this,fi));return i.parent=!0,r.ok=pn(e)?e:!0,r.fail=pn(t)&&t,r.domain=hn?Dl.domain:void 0,i.state===Qb?i.reactions.add(r):$l(function(){sg(r,i)}),r.promise}),Wb=function(){var a=new dn,e=Pl(a);this.promise=a,this.resolve=Ji(Ll,e),this.reject=Ji(Zi,e)},Xb.f=Rl=function(a){return a===fi||a===rg?new Wb(a):RR(a)},!mR&&pn(fn)&&Xi!==Object.prototype)){Gb=Xi.then,PR||Hb(Xi,"then",function(e,t){var i=this;return new fi(function(r,s){er(Gb,i,r,s)}).then(e,t)},{unsafe:!0});try{delete Xi.constructor}catch{}jb&&jb(Xi,cn)}fR({global:!0,constructor:!0,wrap:!0,forced:Jb},{Promise:fi});rg=bR.Promise;gR(fi,mn,!1,!0);SR(mn)});var hg=m(($O,pg)=>{"use strict";var BR=be(),cg=BR("iterator"),dg=!1;try{lg=0,Bl={next:function(){return{done:!!lg++}},return:function(){dg=!0}},Bl[cg]=function(){return this},Array.from(Bl,function(){throw 2})}catch{}var lg,Bl;pg.exports=function(a,e){try{if(!e&&!dg)return!1}catch{return!1}var t=!1;try{var i={};i[cg]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Vl=m((MO,fg)=>{"use strict";var VR=hi(),_R=hg(),OR=Yi().CONSTRUCTOR;fg.exports=OR||!_R(function(a){VR.all(a).then(void 0,function(){})})});var mg=m(()=>{"use strict";var FR=oe(),NR=Ne(),qR=ht(),UR=Ki(),HR=ln(),jR=rn(),QR=Vl();FR({target:"Promise",stat:!0,forced:QR},{all:function(e){var t=this,i=UR.f(t),r=i.resolve,s=i.reject,n=HR(function(){var u=qR(t.resolve),o=[],l=0,c=1;jR(e,function(p){var d=l++,h=!1;c++,NR(u,t,p).then(function(f){h||(h=!0,o[d]=f,--c||r(o))},s)}),--c||r(o)});return n.error&&s(n.value),i.promise}})});var gg=m(()=>{"use strict";var WR=oe(),GR=tt(),zR=Yi().CONSTRUCTOR,Ol=hi(),YR=wt(),KR=ae(),XR=Wi(),bg=Ol&&Ol.prototype;WR({target:"Promise",proto:!0,forced:zR,real:!0},{catch:function(a){return this.then(void 0,a)}});!GR&&KR(Ol)&&(_l=YR("Promise").prototype.catch,bg.catch!==_l&&XR(bg,"catch",_l,{unsafe:!0}));var _l});var Sg=m(()=>{"use strict";var JR=oe(),ZR=Ne(),eL=ht(),tL=Ki(),iL=ln(),rL=rn(),aL=Vl();JR({target:"Promise",stat:!0,forced:aL},{race:function(e){var t=this,i=tL.f(t),r=i.reject,s=iL(function(){var n=eL(t.resolve);rL(e,function(u){ZR(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var vg=m(()=>{"use strict";var sL=oe(),nL=Ki(),oL=Yi().CONSTRUCTOR;sL({target:"Promise",stat:!0,forced:oL},{reject:function(e){var t=nL.f(this),i=t.reject;return i(e),t.promise}})});var Fl=m((qO,yg)=>{"use strict";var uL=ft(),lL=Le(),cL=Ki();yg.exports=function(a,e){if(uL(a),lL(e)&&e.constructor===a)return e;var t=cL.f(a),i=t.resolve;return i(e),t.promise}});var Eg=m(()=>{"use strict";var dL=oe(),pL=wt(),Tg=tt(),hL=hi(),Ig=Yi().CONSTRUCTOR,fL=Fl(),mL=pL("Promise"),bL=Tg&&!Ig;dL({target:"Promise",stat:!0,forced:Tg||Ig},{resolve:function(e){return fL(bL&&this===mL?hL:this,e)}})});var xg=m(()=>{"use strict";ug();mg();gg();Sg();vg();Eg()});var kg=m(()=>{"use strict";var gL=oe(),SL=tt(),bn=hi(),vL=ce(),Ag=wt(),Pg=ae(),yL=ul(),wg=Fl(),TL=Wi(),ql=bn&&bn.prototype,IL=!!bn&&vL(function(){ql.finally.call({then:function(){}},function(){})});gL({target:"Promise",proto:!0,real:!0,forced:IL},{finally:function(a){var e=yL(this,Ag("Promise")),t=Pg(a);return this.then(t?function(i){return wg(e,a()).then(function(){return i})}:a,t?function(i){return wg(e,a()).then(function(){throw i})}:a)}});!SL&&Pg(bn)&&(Nl=Ag("Promise").prototype.finally,ql.finally!==Nl&&TL(ql,"finally",Nl,{unsafe:!0}));var Nl});var Lg=m((zO,Rg)=>{"use strict";_m();xg();kg();var EL=Nt();Rg.exports=EL("Promise","finally")});var Mg=m((YO,$g)=>{"use strict";var xL=Lg();$g.exports=xL});var gn=m((KO,Dg)=>{"use strict";var wL=Mg();Dg.exports=wL});var Jg=m(()=>{"use strict";var WL=oe(),GL=Cu().values;WL({target:"Object",stat:!0},{values:function(e){return GL(e)}})});var eS=m((fN,Zg)=>{"use strict";Jg();var zL=oi();Zg.exports=zL.Object.values});var iS=m((mN,tS)=>{"use strict";var YL=eS();tS.exports=YL});var rr=m((bN,rS)=>{"use strict";var KL=iS();rS.exports=KL});var fS=m(()=>{"use strict";var p$=oe(),h$=Oi(),f$=ji(),m$=Yr(),b$=Kr();p$({target:"Array",proto:!0},{at:function(e){var t=h$(this),i=f$(t),r=m$(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});b$("at")});var bS=m((WN,mS)=>{"use strict";fS();var g$=Nt();mS.exports=g$("Array","at")});var SS=m((GN,gS)=>{"use strict";var S$=bS();gS.exports=S$});var at=m((zN,vS)=>{"use strict";var v$=SS();vS.exports=v$});var pc=m((FU,ev)=>{"use strict";var Z$=si();ev.exports=Array.isArray||function(e){return Z$(e)==="Array"}});var iv=m((NU,tv)=>{"use strict";var eM=TypeError,tM=9007199254740991;tv.exports=function(a){if(a>tM)throw eM("Maximum allowed index exceeded");return a}});var sv=m((qU,av)=>{"use strict";var iM=pc(),rM=ji(),aM=iv(),sM=Ni(),rv=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,c=n?sM(n,u):!1,p,d;l<i;)l in t&&(p=c?c(t[l],l,e):t[l],s>0&&iM(p)?(d=rM(p),o=rv(a,e,p,d,o,s-1)-1):(aM(o+1),a[o]=p),o++),l++;return o};av.exports=rv});var lv=m((UU,uv)=>{"use strict";var nv=pc(),nM=ol(),oM=Le(),uM=be(),lM=uM("species"),ov=Array;uv.exports=function(a){var e;return nv(a)&&(e=a.constructor,nM(e)&&(e===ov||nv(e.prototype))?e=void 0:oM(e)&&(e=e[lM],e===null&&(e=void 0))),e===void 0?ov:e}});var dv=m((HU,cv)=>{"use strict";var cM=lv();cv.exports=function(a,e){return new(cM(a))(e===0?0:e)}});var pv=m(()=>{"use strict";var dM=oe(),pM=sv(),hM=ht(),fM=Oi(),mM=ji(),bM=dv();dM({target:"Array",proto:!0},{flatMap:function(e){var t=fM(this),i=mM(t),r;return hM(e),r=bM(t,0),r.length=pM(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var hv=m(()=>{"use strict";var gM=Kr();gM("flatMap")});var mv=m((zU,fv)=>{"use strict";pv();hv();var SM=Nt();fv.exports=SM("Array","flatMap")});var gv=m((YU,bv)=>{"use strict";var vM=mv();bv.exports=vM});var xa=m((KU,Sv)=>{"use strict";var yM=gv();Sv.exports=yM});var wa=m((XU,vv)=>{"use strict";var TM=Jr(),IM=String;vv.exports=function(a){if(TM(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return IM(a)}});var hc=m((JU,yv)=>{"use strict";yv.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 Ev=m((ZU,Iv)=>{"use strict";var EM=de(),xM=Ft(),wM=wa(),mc=hc(),Tv=EM("".replace),AM=RegExp("^["+mc+"]+"),PM=RegExp("(^|[^"+mc+"])["+mc+"]+$"),fc=function(a){return function(e){var t=wM(xM(e));return a&1&&(t=Tv(t,AM,"")),a&2&&(t=Tv(t,PM,"$1")),t}};Iv.exports={start:fc(1),end:fc(2),trim:fc(3)}});var Pv=m((e1,Av)=>{"use strict";var kM=qu().PROPER,RM=ce(),xv=hc(),wv="\u200B\x85\u180E";Av.exports=function(a){return RM(function(){return!!xv[a]()||wv[a]()!==wv||kM&&xv[a].name!==a})}});var bc=m((t1,kv)=>{"use strict";var LM=Ev().start,$M=Pv();kv.exports=$M("trimStart")?function(){return LM(this)}:"".trimStart});var Lv=m(()=>{"use strict";var MM=oe(),Rv=bc();MM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Rv},{trimLeft:Rv})});var Mv=m(()=>{"use strict";Lv();var DM=oe(),$v=bc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==$v},{trimStart:$v})});var Cv=m((n1,Dv)=>{"use strict";Mv();var CM=Nt();Dv.exports=CM("String","trimLeft")});var Vv=m((o1,Bv)=>{"use strict";var BM=Cv();Bv.exports=BM});var Ov=m((u1,_v)=>{"use strict";var VM=Vv();_v.exports=VM});var ey=m(()=>{"use strict"});var ty=m(()=>{"use strict"});var ry=m((zj,iy)=>{"use strict";var nD=Le(),oD=si(),uD=be(),lD=uD("match");iy.exports=function(a){var e;return nD(a)&&((e=a[lD])!==void 0?!!e:oD(a)==="RegExp")}});var ny=m((Yj,sy)=>{"use strict";var cD=re(),dD=ce(),ay=cD.RegExp,pD=!dD(function(){var a=!0;try{ay(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(ay.prototype,"flags").get.call(e);return u!==i||t!==i});sy.exports={correct:pD}});var uy=m((Kj,oy)=>{"use strict";var hD=ft();oy.exports=function(){var a=hD(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var dy=m((Xj,cy)=>{"use strict";var fD=Ne(),mD=it(),bD=Hr(),ly=ny(),gD=uy(),SD=RegExp.prototype;cy.exports=ly.correct?function(a){return a.flags}:function(a){return!ly.correct&&bD(SD,a)&&!mD(a,"flags")?fD(gD,a):a.flags}});var hy=m((Jj,py)=>{"use strict";var Tc=de(),vD=Oi(),yD=Math.floor,vc=Tc("".charAt),TD=Tc("".replace),yc=Tc("".slice),ID=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,ED=/\$([$&'`]|\d{1,2})/g;py.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=ED;return r!==void 0&&(r=vD(r),o=ID),TD(s,o,function(l,c){var p;switch(vc(c,0)){case"$":return"$";case"&":return a;case"`":return yc(e,0,t);case"'":return yc(e,n);case"<":p=r[yc(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=yD(d/10);return h===0?l:h<=u?i[h-1]===void 0?vc(c,1):i[h-1]+vc(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var by=m(()=>{"use strict";var xD=oe(),wD=Ne(),Ec=de(),fy=Ft(),AD=ae(),PD=Le(),kD=ry(),mr=wa(),RD=Qr(),LD=dy(),$D=hy(),MD=be(),DD=tt(),CD=MD("replace"),BD=TypeError,Ic=Ec("".indexOf),VD=Ec("".replace),my=Ec("".slice),_D=Math.max;xD({target:"String",proto:!0},{replaceAll:function(e,t){var i=fy(this),r,s,n,u,o,l,c,p,d,h,f=0,b="";if(PD(e)){if(r=kD(e),r&&(s=mr(fy(LD(e))),!~Ic(s,"g")))throw new BD("`.replaceAll` does not allow non-global regexes");if(n=RD(e,CD),n)return wD(n,e,i,t);if(DD&&r)return VD(mr(i),e,t)}for(u=mr(i),o=mr(e),l=AD(t),l||(t=mr(t)),c=o.length,p=_D(1,c),d=Ic(u,o);d!==-1;)h=l?mr(t(o,d,u)):$D(o,u,d,[],void 0,t),b+=my(u,f,d)+h,f=d+c,d=d+p>u.length?-1:Ic(u,o,d+p);return f<u.length&&(b+=my(u,f)),b}})});var Sy=m((tQ,gy)=>{"use strict";ey();ty();by();var OD=Nt();gy.exports=OD("String","replaceAll")});var yy=m((iQ,vy)=>{"use strict";var FD=Sy();vy.exports=FD});var Iy=m((rQ,Ty)=>{"use strict";var ND=yy();Ty.exports=ND});var xy=m((aQ,Ey)=>{"use strict";var qD=Yr(),UD=wa(),HD=Ft(),jD=RangeError;Ey.exports=function(e){var t=UD(HD(this)),i="",r=qD(e);if(r<0||r===1/0)throw new jD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Ry=m((sQ,ky)=>{"use strict";var Py=de(),QD=Au(),wy=wa(),WD=xy(),GD=Ft(),zD=Py(WD),YD=Py("".slice),KD=Math.ceil,Ay=function(a){return function(e,t,i){var r=wy(GD(e)),s=QD(t),n=r.length,u=i===void 0?" ":wy(i),o,l;return s<=n||u===""?r:(o=s-n,l=zD(u,KD(o/u.length)),l.length>o&&(l=YD(l,0,o)),a?r+l:l+r)}};ky.exports={start:Ay(!1),end:Ay(!0)}});var $y=m((nQ,Ly)=>{"use strict";var XD=ui();Ly.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(XD)});var My=m(()=>{"use strict";var JD=oe(),ZD=Ry().start,eC=$y();JD({target:"String",proto:!0,forced:eC},{padStart:function(e){return ZD(this,e,arguments.length>1?arguments[1]:void 0)}})});var Cy=m((lQ,Dy)=>{"use strict";My();var tC=Nt();Dy.exports=tC("String","padStart")});var Vy=m((cQ,By)=>{"use strict";var iC=Cy();By.exports=iC});var Oy=m((dQ,_y)=>{"use strict";var rC=Vy();_y.exports=rC});var Nd="2.0.138-dev.2ae4679e.0";var Re=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Re||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var Bs=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Bs||{}),Yo=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Yo||{});var Ko=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ko||{}),Vs=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Vs||{});var CI=C(Ee(),1);import{assertNever as Oh,assertNonNullable as pw,isNonNullable as qs,ValueSubject as ku,Subject as hw,Subscription as fw,merge as mw,observableFrom as bw,fromEvent as Ch,map as Bh,tap as Vh,filterChanged as gw,isNullable as Ru,ErrorCategory as _h}from"@vkontakte/videoplayer-shared/es2024";var Dh=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Us=class{constructor(e){this.connection$=new ku(void 0);this.castState$=new ku("NOT_AVAILABLE");this.errorEvent$=new hw;this.realCastState$=new ku("NOT_AVAILABLE");this.subscription=new fw;this.isDestroyed=!1;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=qs(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||Dh("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:_h.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){qs(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Ru(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Ru(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(Ch(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.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 Oh(r.sessionState)}})).add(mw(Ch(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(Vh(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),Bh(r=>r.castState)),bw([i.getCastState()])).pipe(gw(),Bh(Sw),Vh(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=qs(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();pw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Ru(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?qs(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){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{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:_h.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Sw=a=>{switch(a){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 Oh(a)}};var Ld=C(Ee(),1),mI=C(Qi(),1),bI=C(il(),1);var Yg=C(gn(),1);import{assertNever as Cg}from"@vkontakte/videoplayer-shared/es2024";var se=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:Cg(t)}return a},Ut=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:Cg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as AL,Subject as Sn,merge as Bg}from"@vkontakte/videoplayer-shared/es2024";var F=class{constructor(e){this.transitionStarted$=new Sn;this.transitionEnded$=new Sn;this.transitionUpdated$=new Sn;this.forceChanged$=new Sn;this.stateChangeStarted$=Bg(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Bg(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||AL(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}};import{assertNever as Ug}from"@vkontakte/videoplayer-shared/es2024";var vn=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,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/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||o||l||r||s||u||"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],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}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 Vg=C(Ee(),1);var la=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var yn=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,Vg.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=la()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(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,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);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 Tn=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(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}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(t){console.error(t)}}};var Ue=()=>window.ManagedMediaSource||window.MediaSource,tr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),_g=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),In=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var PL=document.createElement("video"),kL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',RL='video/mp4; codecs="hev1.1.6.L93.B0"',Og='video/webm; codecs="vp09.00.10.08"',Fg='video/webm; codecs="av01.0.00M.08"',LL='audio/mp4; codecs="mp4a.40.2"',$L='audio/webm; codecs="opus"',Ng,ML=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Fg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Og}})]);Ng={DASH_WEBM_AV1:e,DASH_WEBM:t}};ML().catch(a=>{console.log(PL),console.error(a)});var En=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 Ng}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:tr(),mse:_g(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ue()?.isTypeSupported?.(kL),t=!!Ue()?.isTypeSupported?.(RL),i=!!Ue()?.isTypeSupported?.(LL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Og),av1:!!Ue()?.isTypeSupported?.(Fg),aac:i,opus:!!Ue()?.isTypeSupported?.($L),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){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);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var qg="audio/mpeg",xn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(qg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(qg)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){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);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};import{ValueSubject as DL}from"@vkontakte/videoplayer-shared/es2024";var Ul=class{constructor(){this.isInited$=new DL(!1);this._displayChecker=new Tn,this._deviceChecker=new yn(this._displayChecker),this._browserChecker=new vn,this._videoChecker=new En(this._deviceChecker,this._browserChecker),this._audioChecker=new xn,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)}},B=new Ul;var Hl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=B.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;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&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;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 Ug(u)}})},jl=a=>{switch(a){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 Ug(a)}},CL=a=>{let t=Object.keys(a).filter(i=>!jl(i));return Hl(t).length>0};import{assertNever as ir,assertNonNullable as mi,debounce as Hg,ErrorCategory as jg,fromEvent as bi,isNonNullable as Qg,map as Wg,merge as Gg,observableFrom as BL,Subject as VL,Subscription as Ql,timeout as _L,getHighestQuality as OL}from"@vkontakte/videoplayer-shared/es2024";var FL=5,NL=5,qL=500,zg=7e3,ca=class{constructor(e){this.subscription=new Ql;this.loadMediaTimeoutSubscription=new Ql;this.videoState=new F("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=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(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.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:ir(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:ir(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:ir(e)}break}default:ir(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(jl(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 Ql;this.subscription.add(e),this.subscription.add(Gg(this.videoState.stateChangeStarted$.pipe(Wg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Wg(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new VL;e.add(r.pipe(Hg(qL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>FL)&&r.next(u),s=u})),e.add(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<NL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(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:ir(n)}}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=Gg(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,BL(["init"])).pipe(Hg(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"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(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();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??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){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];mi(l);let c=OL(Object.keys(l));mi(c);let p=l[c];mi(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];mi(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];mi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];mi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];mi(l),i=se(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:jg.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return ir(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return Qg(u)&&(n.metadata.title=u),Qg(o)&&(n.metadata.subtitle=o),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,s)=>{this.loadMediaTimeoutSubscription.add(_L(zg).subscribe(()=>s(`timeout(${zg})`)))});(0,Yg.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 s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:jg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cc=C(Ee(),1);import{clearVideoElement as Xg}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as UL}from"@vkontakte/videoplayer-shared/es2024";var Kg=a=>{try{a.pause(),a.playbackRate=0,UL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as HL,Subscription as jL}from"@vkontakte/videoplayer-shared/es2024";var Wl=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)}},Gl=window.WeakMap?new WeakMap:new Wl,zl=window.WeakMap?new WeakMap:new Map,QL=(a,e=20)=>{let t=0;return HL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},$e=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?Xg(i):(i=document.createElement("video"),a.appendChild(i)),Gl.set(i,r);let s=new jL;return s.add(QL(i,e)),zl.set(i,s),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},Me=a=>{zl.get(a)?.unsubscribe(),zl.delete(a);let t=Gl.get(a);Gl.delete(a),t?Xg(a):Kg(a)};var Kl=C(rr(),1);import{assertNonNullable as pa,isNonNullable as bt,isNullable as ZL,fromEvent as ar,merge as aS,observableFrom as sS,filterChanged as nS,map as ha,Subject as oS,Subscription as e$,ValueSubject as t$,ErrorCategory as i$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as Yl,isNullable as XL,Subscription as JL}from"@vkontakte/videoplayer-shared/es2024";var wn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=XL(r),l=new JL;return r&&l.add(r.subscribe(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},mt=(a,e,t)=>wn(e,()=>a.loop,i=>{Yl(i)&&(a.loop=i)},{onError:t}),De=(a,e,t,i)=>wn(e,()=>({muted:a.muted,volume:a.volume}),r=>{Yl(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),ze=(a,e,t,i)=>wn(e,()=>a.playbackRate,r=>{Yl(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),da=wn;var r$=a=>["__",a.language,a.label].join("|"),a$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},Xl=class a{constructor(e){this.available$=new oS;this.current$=new t$(void 0);this.error$=new oS;this.subscription=new e$;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=s=>{this.error$.next({id:"TextTracksManager",category:i$.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};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(da(t.internalTextTracks,()=>(0,Kl.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(da(t.externalTextTracks,()=>(0,Kl.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(da(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(da(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){pa(this.video);let{textTracks:e}=this.video;this.subscription.add(ar(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(aS(ar(e,"addtrack"),ar(e,"removetrack"),sS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),nS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(aS(ar(e,"change"),sS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),ha(i=>i&&this.htmlTextTrackToITextTrack(i).id),nS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(ar(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add(ar(e,"removetrack").subscribe(i=>{i.track?.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;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){pa(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:r$(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.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:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){pa(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(ZL(e)||!a$(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){pa(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){pa(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)}},Ye=Xl;var gi=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 uS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Jl=a=>{let e=uS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},lS=a=>{let e=uS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as An,filterChanged as dS,isNonNullable as pS,Subject as n$,filter as Zl,mapTo as ec,combine as o$,once as u$,shareReplay as we,throttle as l$,ErrorCategory as c$,ValueSubject as hS,Subscription as d$}from"@vkontakte/videoplayer-shared/es2024";var s$=3,cS=(a,e,t=s$)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Ce=a=>{let e=T=>xe(a,T).pipe(ec(void 0),we(1)),t=new d$,i=()=>t.unsubscribe(),r=An(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>cS(a.buffered,a.currentTime)),we(1)),s=B.browser.isSafari?o$({play:e("play").pipe(u$()),playing:e("playing")}).pipe(ec(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(Zl(()=>!!(a.error||a.played.length)),gt(()=>{let T=a.error;return{id:T?`MediaError#${T.code}`:"HtmlVideoError",category:c$.VIDEO_PIPELINE,message:T?T.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),c=["waiting","seeking","seeked","timeupdate"],p=new n$,d=.3,h;t.add(An(...c.map(T=>xe(a,T))).subscribe(T=>{let q=a.currentTime;a.loop&&pS(h)&&pS(q)&&h>=a.duration-d&&q<=d&&p.next(h),h=q}));let f=e("pause").pipe(Zl(()=>!a.error&&h!==a.duration),we(1)),b=xe(a,"enterpictureinpicture").pipe(we(1)),S=xe(a,"leavepictureinpicture").pipe(we(1)),g=new hS(lS(a));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let I=new hS(Jl(a)),x=xe(a,"fullscreenchange").pipe(we(1));t.add(x.pipe(gt(()=>Jl(a))).subscribe(I));let y=.1,w=1e3,D=xe(a,"timeupdate").pipe(gt(T=>a.duration-a.currentTime<y),dS(),we(1)),L=An(D.pipe(Zl(T=>!a.loop&&T)),xe(a,"ended")).pipe(l$(w),ec(void 0),we(1)),R=An(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(T=>xe(a,T)),D.pipe(gt(T=>({type:T?"ended":"unknown"})))).pipe(gt(T=>B.browser.isFirefox&&T.type==="ended"?a.readyState<2:a.readyState<3),dS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:L,looped$:p,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:R,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:g,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=C(at(),1),rc=C(Ee(),1),Si=C(Qi(),1);import{isNonNullable as K,isNullable as $n,now as RS,isHigher as Mn,isHigherOrEqual as nr,isInvariantQuality as Dn,isLowerOrEqual as or,videoSizeToQuality as LS,assertNotEmptyArray as Cn,assertNonNullable as $S}from"@vkontakte/videoplayer-shared/es2024";var tc=!1,kt={},yS=a=>{tc=a},TS=()=>{kt={}},IS=a=>{a(kt)},fa=(a,e)=>{tc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!tc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as y$,isHigherOrEqual as eq,isLower as ES,isLowerOrEqual as tq,isNonNullable as Pn,isNullable as T$,videoHeightToQuality as kn}from"@vkontakte/videoplayer-shared/es2024";function ic(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Rn(a,e,t){return!!a&&ic(a,e,t)==="high_quality"}function sr(a,e,t){return T$(a)||Pn(a.min)&&Pn(a.max)&&ES(a.max,a.min)||Pn(a.min)&&e&&y$(a.min,e)||Pn(a.max)&&t&&ES(a.max,t)}function xS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?kn(a.max):void 0,min:a?.min?kn(a.min):void 0},e?kn(e):void 0,t?kn(t):void 0)}var MS=new Ae("best_bitrate"),Bn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var ur=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Qt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=RS()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},Vn='Assertion "ABR Tracks is empty array" failed',Ln=new WeakMap,wS=new WeakMap,AS=new WeakMap,ma=(a,e,t,i)=>{let r=[...e].sort(ur(1)),s=[...t].sort(ur(1)),n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ba=(a,e,t,i)=>{let r=Ln.get(e);r||(r=[...e].sort(ur(1)),Ln.set(e,r));let s=Ln.get(t);s||(s=[...t].sort(ur(1)),Ln.set(t,s));let n=AS.get(a);n||(n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),AS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},PS=a=>"quality"in a,_n=(a,e,t,i)=>{let r=K(i?.last?.bitrate)&&K(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&RS()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=PS(n)?"video":"audio",o=PS(n)?n.quality:n.bitrate;return e({message:`
|
|
7
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var Ev=m((ZU,Iv)=>{"use strict";var EM=de(),xM=Ft(),wM=wa(),mc=hc(),Tv=EM("".replace),AM=RegExp("^["+mc+"]+"),PM=RegExp("(^|[^"+mc+"])["+mc+"]+$"),fc=function(a){return function(e){var t=wM(xM(e));return a&1&&(t=Tv(t,AM,"")),a&2&&(t=Tv(t,PM,"$1")),t}};Iv.exports={start:fc(1),end:fc(2),trim:fc(3)}});var Pv=m((e1,Av)=>{"use strict";var kM=qu().PROPER,RM=ce(),xv=hc(),wv="\u200B\x85\u180E";Av.exports=function(a){return RM(function(){return!!xv[a]()||wv[a]()!==wv||kM&&xv[a].name!==a})}});var bc=m((t1,kv)=>{"use strict";var LM=Ev().start,$M=Pv();kv.exports=$M("trimStart")?function(){return LM(this)}:"".trimStart});var Lv=m(()=>{"use strict";var MM=oe(),Rv=bc();MM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Rv},{trimLeft:Rv})});var Mv=m(()=>{"use strict";Lv();var DM=oe(),$v=bc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==$v},{trimStart:$v})});var Cv=m((n1,Dv)=>{"use strict";Mv();var CM=Nt();Dv.exports=CM("String","trimLeft")});var Vv=m((o1,Bv)=>{"use strict";var BM=Cv();Bv.exports=BM});var Ov=m((u1,_v)=>{"use strict";var VM=Vv();_v.exports=VM});var ey=m(()=>{"use strict"});var ty=m(()=>{"use strict"});var ry=m((zj,iy)=>{"use strict";var nD=Le(),oD=si(),uD=be(),lD=uD("match");iy.exports=function(a){var e;return nD(a)&&((e=a[lD])!==void 0?!!e:oD(a)==="RegExp")}});var ny=m((Yj,sy)=>{"use strict";var cD=re(),dD=ce(),ay=cD.RegExp,pD=!dD(function(){var a=!0;try{ay(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(ay.prototype,"flags").get.call(e);return u!==i||t!==i});sy.exports={correct:pD}});var uy=m((Kj,oy)=>{"use strict";var hD=ft();oy.exports=function(){var a=hD(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var dy=m((Xj,cy)=>{"use strict";var fD=Ne(),mD=it(),bD=Hr(),ly=ny(),gD=uy(),SD=RegExp.prototype;cy.exports=ly.correct?function(a){return a.flags}:function(a){return!ly.correct&&bD(SD,a)&&!mD(a,"flags")?fD(gD,a):a.flags}});var hy=m((Jj,py)=>{"use strict";var Tc=de(),vD=Oi(),yD=Math.floor,vc=Tc("".charAt),TD=Tc("".replace),yc=Tc("".slice),ID=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,ED=/\$([$&'`]|\d{1,2})/g;py.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=ED;return r!==void 0&&(r=vD(r),o=ID),TD(s,o,function(l,c){var p;switch(vc(c,0)){case"$":return"$";case"&":return a;case"`":return yc(e,0,t);case"'":return yc(e,n);case"<":p=r[yc(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=yD(d/10);return h===0?l:h<=u?i[h-1]===void 0?vc(c,1):i[h-1]+vc(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var by=m(()=>{"use strict";var xD=oe(),wD=Ne(),Ec=de(),fy=Ft(),AD=ae(),PD=Le(),kD=ry(),mr=wa(),RD=Qr(),LD=dy(),$D=hy(),MD=be(),DD=tt(),CD=MD("replace"),BD=TypeError,Ic=Ec("".indexOf),VD=Ec("".replace),my=Ec("".slice),_D=Math.max;xD({target:"String",proto:!0},{replaceAll:function(e,t){var i=fy(this),r,s,n,u,o,l,c,p,d,h,f=0,b="";if(PD(e)){if(r=kD(e),r&&(s=mr(fy(LD(e))),!~Ic(s,"g")))throw new BD("`.replaceAll` does not allow non-global regexes");if(n=RD(e,CD),n)return wD(n,e,i,t);if(DD&&r)return VD(mr(i),e,t)}for(u=mr(i),o=mr(e),l=AD(t),l||(t=mr(t)),c=o.length,p=_D(1,c),d=Ic(u,o);d!==-1;)h=l?mr(t(o,d,u)):$D(o,u,d,[],void 0,t),b+=my(u,f,d)+h,f=d+c,d=d+p>u.length?-1:Ic(u,o,d+p);return f<u.length&&(b+=my(u,f)),b}})});var Sy=m((tQ,gy)=>{"use strict";ey();ty();by();var OD=Nt();gy.exports=OD("String","replaceAll")});var yy=m((iQ,vy)=>{"use strict";var FD=Sy();vy.exports=FD});var Iy=m((rQ,Ty)=>{"use strict";var ND=yy();Ty.exports=ND});var xy=m((aQ,Ey)=>{"use strict";var qD=Yr(),UD=wa(),HD=Ft(),jD=RangeError;Ey.exports=function(e){var t=UD(HD(this)),i="",r=qD(e);if(r<0||r===1/0)throw new jD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var Ry=m((sQ,ky)=>{"use strict";var Py=de(),QD=Au(),wy=wa(),WD=xy(),GD=Ft(),zD=Py(WD),YD=Py("".slice),KD=Math.ceil,Ay=function(a){return function(e,t,i){var r=wy(GD(e)),s=QD(t),n=r.length,u=i===void 0?" ":wy(i),o,l;return s<=n||u===""?r:(o=s-n,l=zD(u,KD(o/u.length)),l.length>o&&(l=YD(l,0,o)),a?r+l:l+r)}};ky.exports={start:Ay(!1),end:Ay(!0)}});var $y=m((nQ,Ly)=>{"use strict";var XD=ui();Ly.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(XD)});var My=m(()=>{"use strict";var JD=oe(),ZD=Ry().start,eC=$y();JD({target:"String",proto:!0,forced:eC},{padStart:function(e){return ZD(this,e,arguments.length>1?arguments[1]:void 0)}})});var Cy=m((lQ,Dy)=>{"use strict";My();var tC=Nt();Dy.exports=tC("String","padStart")});var Vy=m((cQ,By)=>{"use strict";var iC=Cy();By.exports=iC});var Oy=m((dQ,_y)=>{"use strict";var rC=Vy();_y.exports=rC});var Nd="2.0.138-dev.2ccb74c0.0";var Re=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Re||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var Bs=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Bs||{}),Yo=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(Yo||{});var Ko=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(Ko||{}),Vs=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Vs||{});var CI=C(Ee(),1);import{assertNever as Oh,assertNonNullable as pw,isNonNullable as qs,ValueSubject as ku,Subject as hw,Subscription as fw,merge as mw,observableFrom as bw,fromEvent as Ch,map as Bh,tap as Vh,filterChanged as gw,isNullable as Ru,ErrorCategory as _h}from"@vkontakte/videoplayer-shared/es2024";var Dh=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Us=class{constructor(e){this.connection$=new ku(void 0);this.castState$=new ku("NOT_AVAILABLE");this.errorEvent$=new hw;this.realCastState$=new ku("NOT_AVAILABLE");this.subscription=new fw;this.isDestroyed=!1;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=qs(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||Dh("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:_h.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){qs(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Ru(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Ru(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(Ch(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.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 Oh(r.sessionState)}})).add(mw(Ch(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(Vh(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),Bh(r=>r.castState)),bw([i.getCastState()])).pipe(gw(),Bh(Sw),Vh(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=qs(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();pw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Ru(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?qs(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){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{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:_h.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Sw=a=>{switch(a){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 Oh(a)}};var Ld=C(Ee(),1),mI=C(Qi(),1),bI=C(il(),1);var Yg=C(gn(),1);import{assertNever as Cg}from"@vkontakte/videoplayer-shared/es2024";var se=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:Cg(t)}return a},Ut=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:Cg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as AL,Subject as Sn,merge as Bg}from"@vkontakte/videoplayer-shared/es2024";var F=class{constructor(e){this.transitionStarted$=new Sn;this.transitionEnded$=new Sn;this.transitionUpdated$=new Sn;this.forceChanged$=new Sn;this.stateChangeStarted$=Bg(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Bg(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||AL(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}};import{assertNever as Ug}from"@vkontakte/videoplayer-shared/es2024";var vn=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,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/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||o||l||r||s||u||"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],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}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 Vg=C(Ee(),1);var la=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var yn=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,Vg.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=la()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(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,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);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 Tn=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(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}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(t){console.error(t)}}};var Ue=()=>window.ManagedMediaSource||window.MediaSource,tr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),_g=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),In=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var PL=document.createElement("video"),kL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',RL='video/mp4; codecs="hev1.1.6.L93.B0"',Og='video/webm; codecs="vp09.00.10.08"',Fg='video/webm; codecs="av01.0.00M.08"',LL='audio/mp4; codecs="mp4a.40.2"',$L='audio/webm; codecs="opus"',Ng,ML=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Fg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Og}})]);Ng={DASH_WEBM_AV1:e,DASH_WEBM:t}};ML().catch(a=>{console.log(PL),console.error(a)});var En=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 Ng}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:tr(),mse:_g(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ue()?.isTypeSupported?.(kL),t=!!Ue()?.isTypeSupported?.(RL),i=!!Ue()?.isTypeSupported?.(LL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Og),av1:!!Ue()?.isTypeSupported?.(Fg),aac:i,opus:!!Ue()?.isTypeSupported?.($L),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){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);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var qg="audio/mpeg",xn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(qg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(qg)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){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);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};import{ValueSubject as DL}from"@vkontakte/videoplayer-shared/es2024";var Ul=class{constructor(){this.isInited$=new DL(!1);this._displayChecker=new Tn,this._deviceChecker=new yn(this._displayChecker),this._browserChecker=new vn,this._videoChecker=new En(this._deviceChecker,this._browserChecker),this._audioChecker=new xn,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)}},B=new Ul;var Hl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=B.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;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&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;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 Ug(u)}})},jl=a=>{switch(a){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 Ug(a)}},CL=a=>{let t=Object.keys(a).filter(i=>!jl(i));return Hl(t).length>0};import{assertNever as ir,assertNonNullable as mi,debounce as Hg,ErrorCategory as jg,fromEvent as bi,isNonNullable as Qg,map as Wg,merge as Gg,observableFrom as BL,Subject as VL,Subscription as Ql,timeout as _L,getHighestQuality as OL}from"@vkontakte/videoplayer-shared/es2024";var FL=5,NL=5,qL=500,zg=7e3,ca=class{constructor(e){this.subscription=new Ql;this.loadMediaTimeoutSubscription=new Ql;this.videoState=new F("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=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(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.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:ir(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:ir(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:ir(e)}break}default:ir(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(jl(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 Ql;this.subscription.add(e),this.subscription.add(Gg(this.videoState.stateChangeStarted$.pipe(Wg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Wg(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new VL;e.add(r.pipe(Hg(qL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>FL)&&r.next(u),s=u})),e.add(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<NL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(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:ir(n)}}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(bi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=Gg(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,BL(["init"])).pipe(Hg(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"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(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();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??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){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];mi(l);let c=OL(Object.keys(l));mi(c);let p=l[c];mi(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];mi(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];mi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];mi(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];mi(l),i=se(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:jg.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return ir(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return Qg(u)&&(n.metadata.title=u),Qg(o)&&(n.metadata.subtitle=o),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,s)=>{this.loadMediaTimeoutSubscription.add(_L(zg).subscribe(()=>s(`timeout(${zg})`)))});(0,Yg.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 s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:jg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cc=C(Ee(),1);import{clearVideoElement as Xg}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as UL}from"@vkontakte/videoplayer-shared/es2024";var Kg=a=>{try{a.pause(),a.playbackRate=0,UL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as HL,Subscription as jL}from"@vkontakte/videoplayer-shared/es2024";var Wl=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)}},Gl=window.WeakMap?new WeakMap:new Wl,zl=window.WeakMap?new WeakMap:new Map,QL=(a,e=20)=>{let t=0;return HL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},$e=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?Xg(i):(i=document.createElement("video"),a.appendChild(i)),Gl.set(i,r);let s=new jL;return s.add(QL(i,e)),zl.set(i,s),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},Me=a=>{zl.get(a)?.unsubscribe(),zl.delete(a);let t=Gl.get(a);Gl.delete(a),t?Xg(a):Kg(a)};var Kl=C(rr(),1);import{assertNonNullable as pa,isNonNullable as bt,isNullable as ZL,fromEvent as ar,merge as aS,observableFrom as sS,filterChanged as nS,map as ha,Subject as oS,Subscription as e$,ValueSubject as t$,ErrorCategory as i$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as Yl,isNullable as XL,Subscription as JL}from"@vkontakte/videoplayer-shared/es2024";var wn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=XL(r),l=new JL;return r&&l.add(r.subscribe(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},mt=(a,e,t)=>wn(e,()=>a.loop,i=>{Yl(i)&&(a.loop=i)},{onError:t}),De=(a,e,t,i)=>wn(e,()=>({muted:a.muted,volume:a.volume}),r=>{Yl(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),ze=(a,e,t,i)=>wn(e,()=>a.playbackRate,r=>{Yl(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),da=wn;var r$=a=>["__",a.language,a.label].join("|"),a$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},Xl=class a{constructor(e){this.available$=new oS;this.current$=new t$(void 0);this.error$=new oS;this.subscription=new e$;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=s=>{this.error$.next({id:"TextTracksManager",category:i$.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};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(da(t.internalTextTracks,()=>(0,Kl.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(da(t.externalTextTracks,()=>(0,Kl.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(ha(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(da(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(da(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){pa(this.video);let{textTracks:e}=this.video;this.subscription.add(ar(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(aS(ar(e,"addtrack"),ar(e,"removetrack"),sS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),nS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(aS(ar(e,"change"),sS(["init"])).pipe(ha(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),ha(i=>i&&this.htmlTextTrackToITextTrack(i).id),nS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(ar(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add(ar(e,"removetrack").subscribe(i=>{i.track?.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;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){pa(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:r$(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.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:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){pa(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(ZL(e)||!a$(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){pa(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){pa(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)}},Ye=Xl;var gi=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 uS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},Jl=a=>{let e=uS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},lS=a=>{let e=uS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as An,filterChanged as dS,isNonNullable as pS,Subject as n$,filter as Zl,mapTo as ec,combine as o$,once as u$,shareReplay as we,throttle as l$,ErrorCategory as c$,ValueSubject as hS,Subscription as d$}from"@vkontakte/videoplayer-shared/es2024";var s$=3,cS=(a,e,t=s$)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Ce=a=>{let e=T=>xe(a,T).pipe(ec(void 0),we(1)),t=new d$,i=()=>t.unsubscribe(),r=An(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>cS(a.buffered,a.currentTime)),we(1)),s=B.browser.isSafari?o$({play:e("play").pipe(u$()),playing:e("playing")}).pipe(ec(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(Zl(()=>!!(a.error||a.played.length)),gt(()=>{let T=a.error;return{id:T?`MediaError#${T.code}`:"HtmlVideoError",category:c$.VIDEO_PIPELINE,message:T?T.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),c=["waiting","seeking","seeked","timeupdate"],p=new n$,d=.3,h;t.add(An(...c.map(T=>xe(a,T))).subscribe(T=>{let q=a.currentTime;a.loop&&pS(h)&&pS(q)&&h>=a.duration-d&&q<=d&&p.next(h),h=q}));let f=e("pause").pipe(Zl(()=>!a.error&&h!==a.duration),we(1)),b=xe(a,"enterpictureinpicture").pipe(we(1)),S=xe(a,"leavepictureinpicture").pipe(we(1)),g=new hS(lS(a));t.add(b.subscribe(()=>g.next(!0))),t.add(S.subscribe(()=>g.next(!1)));let I=new hS(Jl(a)),x=xe(a,"fullscreenchange").pipe(we(1));t.add(x.pipe(gt(()=>Jl(a))).subscribe(I));let y=.1,w=1e3,D=xe(a,"timeupdate").pipe(gt(T=>a.duration-a.currentTime<y),dS(),we(1)),L=An(D.pipe(Zl(T=>!a.loop&&T)),xe(a,"ended")).pipe(l$(w),ec(void 0),we(1)),R=An(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(T=>xe(a,T)),D.pipe(gt(T=>({type:T?"ended":"unknown"})))).pipe(gt(T=>B.browser.isFirefox&&T.type==="ended"?a.readyState<2:a.readyState<3),dS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:L,looped$:p,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:R,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:g,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=C(at(),1),rc=C(Ee(),1),Si=C(Qi(),1);import{isNonNullable as K,isNullable as $n,now as RS,isHigher as Mn,isHigherOrEqual as nr,isInvariantQuality as Dn,isLowerOrEqual as or,videoSizeToQuality as LS,assertNotEmptyArray as Cn,assertNonNullable as $S}from"@vkontakte/videoplayer-shared/es2024";var tc=!1,kt={},yS=a=>{tc=a},TS=()=>{kt={}},IS=a=>{a(kt)},fa=(a,e)=>{tc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!tc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as y$,isHigherOrEqual as eq,isLower as ES,isLowerOrEqual as tq,isNonNullable as Pn,isNullable as T$,videoHeightToQuality as kn}from"@vkontakte/videoplayer-shared/es2024";function ic(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Rn(a,e,t){return!!a&&ic(a,e,t)==="high_quality"}function sr(a,e,t){return T$(a)||Pn(a.min)&&Pn(a.max)&&ES(a.max,a.min)||Pn(a.min)&&e&&y$(a.min,e)||Pn(a.max)&&t&&ES(a.max,t)}function xS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?kn(a.max):void 0,min:a?.min?kn(a.min):void 0},e?kn(e):void 0,t?kn(t):void 0)}var MS=new Ae("best_bitrate"),Bn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var ur=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Qt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=RS()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},Vn='Assertion "ABR Tracks is empty array" failed',Ln=new WeakMap,wS=new WeakMap,AS=new WeakMap,ma=(a,e,t,i)=>{let r=[...e].sort(ur(1)),s=[...t].sort(ur(1)),n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ba=(a,e,t,i)=>{let r=Ln.get(e);r||(r=[...e].sort(ur(1)),Ln.set(e,r));let s=Ln.get(t);s||(s=[...t].sort(ur(1)),Ln.set(t,s));let n=AS.get(a);n||(n=s.filter(o=>K(o.bitrate)&&K(a.bitrate)?a.bitrate/o.bitrate>i:!0),AS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,rc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},PS=a=>"quality"in a,_n=(a,e,t,i)=>{let r=K(i?.last?.bitrate)&&K(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&RS()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=PS(n)?"video":"audio",o=PS(n)?n.quality:n.bitrate;return e({message:`
|
|
8
8
|
[last ${u} selected] ${o}
|
|
9
9
|
`}),n}return i?.recordSwitch(t),t},I$=(a,e)=>Math.log(e)/Math.log(a),DS=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&B.display.pixelRatio){let s=B.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,c=I$(n,u*s+o)+l;Number.isFinite(c)&&(r*=c)}}return Rn(t,a.highQualityLimit,a.trafficSavingLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},kS=new WeakMap,St=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:c,droppedVideoMaxQualityLimit:p,stallsVideoMaxQualityLimit:d,stallsPredictedThroughput:h,abrLogger:f,panelSize:b})=>{Cn(a,Vn);let{containerSizeFactor:S,containerSizeLimit:g}=DS({container:e,tuning:i,limits:r,panelSize:b}),I=i.considerPlaybackRate&&K(u)?u:1,x=kS.get(a);x||(x=a.filter(v=>!Dn(v.quality)).sort((v,E)=>Mn(v.quality,E.quality)?-1:1),kS.set(a,x));let y=(0,Pe.default)(x,-1)?.quality,w=(0,Pe.default)(x,0)?.quality,D=sr(r,w,y),L=I*Bn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),A={},R=null;for(let v of x){let E=!0;if(g)if(v.size)E=v.size.width<=g.width&&v.size.height<=g.height;else{let j=g&&LS(g);E=j?or(v.quality,j):!0}if(!E){A[v.quality]="FitsContainer";continue}let z=h||t,M=K(z)&&isFinite(z)&&K(v.bitrate)?z-s>=v.bitrate*L:!0,H=Rn(r,i.highQualityLimit,i.trafficSavingLimit)&&r?.min===v.quality;if(!M&&!H){A[v.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&K(i.minBufferToSwitchUp)&&o&&!Dn(o.quality)&&(n??0)<i.minBufferToSwitchUp&&Mn(v.quality,o.quality)){A[v.quality]="Buffer";continue}if(!!p&&nr(v.quality,p)&&!H){A[v.quality]="DroppedFramesLimit";continue}if(!!d&&nr(v.quality,d)&&!H){A[v.quality]="StallsLimit";continue}let fe=D||($n(r?.max)||or(v.quality,r.max))&&($n(r?.min)||nr(v.quality,r.min)),me=K(c)&&!c?or(v.quality,i.backgroundVideoQualityLimit):!0;if(!fe||!me){A[v.quality]="FitsQualityLimits";continue}R||(R=v)}R&&R.bitrate&&MS.next(R.bitrate);let T=R??(0,Pe.default)(x,-1)??a[0],q=l?.last,$=_n(i,f,T,l);return K(l)&&$.quality!==q?.quality&&f({message:`
|
|
10
10
|
[VIDEO TRACKS ABR]
|