@vkontakte/videoplayer-core 2.0.143-dev.d6be401b.0 → 2.0.143-dev.e771e267.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015.cjs.js +4 -4
- package/es2015.esm.js +7 -7
- package/es2018.cjs.js +4 -4
- package/es2018.esm.js +8 -8
- package/es2024.cjs.js +5 -5
- package/es2024.esm.js +5 -5
- package/esnext.cjs.js +5 -5
- package/esnext.esm.js +5 -5
- package/evergreen.esm.js +3 -3
- package/package.json +2 -2
package/es2024.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.143-dev.
|
|
3
|
-
* Tue,
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.143-dev.e771e267.0
|
|
3
|
+
* Tue, 21 Oct 2025 08:07:03 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/2-0-143/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";var kv=Object.create;var hs=Object.defineProperty;var Rv=Object.getOwnPropertyDescriptor;var Lv=Object.getOwnPropertyNames;var $v=Object.getPrototypeOf,Mv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Dv=(a,e)=>{for(var t in e)hs(a,t,{get:e[t],enumerable:!0})},ic=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lv(e))!Mv.call(a,r)&&r!==t&&hs(a,r,{get:()=>e[r],enumerable:!(i=Rv(e,r))||i.enumerable});return a};var Q=(a,e,t)=>(t=a!=null?kv($v(a)):{},ic(e||!a||!a.__esModule?hs(t,"default",{value:a,enumerable:!0}):t,a)),Cv=a=>ic(hs({},"__esModule",{value:!0}),a);var Se=g((ao,rc)=>{"use strict";var Lr=function(a){return a&&a.Math===Math&&a};rc.exports=Lr(typeof globalThis=="object"&&globalThis)||Lr(typeof window=="object"&&window)||Lr(typeof self=="object"&&self)||Lr(typeof global=="object"&&global)||Lr(typeof ao=="object"&&ao)||function(){return this}()||Function("return this")()});var we=g((xL,ac)=>{"use strict";ac.exports=function(a){try{return!!a()}catch{return!0}}});var $r=g((wL,sc)=>{"use strict";var Bv=we();sc.exports=!Bv(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var so=g((AL,lc)=>{"use strict";var Vv=$r(),uc=Function.prototype,nc=uc.apply,oc=uc.call;lc.exports=typeof Reflect=="object"&&Reflect.apply||(Vv?oc.bind(nc):function(){return oc.apply(nc,arguments)})});var Ae=g((PL,pc)=>{"use strict";var cc=$r(),dc=Function.prototype,no=dc.call,_v=cc&&dc.bind.bind(no,no);pc.exports=cc?_v:function(a){return function(){return no.apply(a,arguments)}}});var hi=g((kL,fc)=>{"use strict";var hc=Ae(),Ov=hc({}.toString),Fv=hc("".slice);fc.exports=function(a){return Fv(Ov(a),8,-1)}});var oo=g((RL,mc)=>{"use strict";var Nv=hi(),qv=Ae();mc.exports=function(a){if(Nv(a)==="Function")return qv(a)}});var ve=g((LL,bc)=>{"use strict";var uo=typeof document=="object"&&document.all;bc.exports=typeof uo>"u"&&uo!==void 0?function(a){return typeof a=="function"||a===uo}:function(a){return typeof a=="function"}});var Ke=g(($L,gc)=>{"use strict";var Uv=we();gc.exports=!Uv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((ML,Sc)=>{"use strict";var Hv=$r(),bs=Function.prototype.call;Sc.exports=Hv?bs.bind(bs):function(){return bs.apply(bs,arguments)}});var lo=g(Tc=>{"use strict";var vc={}.propertyIsEnumerable,yc=Object.getOwnPropertyDescriptor,jv=yc&&!vc.call({1:2},1);Tc.f=jv?function(e){var t=yc(this,e);return!!t&&t.enumerable}:vc});var Mr=g((CL,Ic)=>{"use strict";Ic.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var xc=g((BL,Ec)=>{"use strict";var Wv=Ae(),Qv=we(),Gv=hi(),co=Object,zv=Wv("".split);Ec.exports=Qv(function(){return!co("z").propertyIsEnumerable(0)})?function(a){return Gv(a)==="String"?zv(a,""):co(a)}:co});var Dr=g((VL,wc)=>{"use strict";wc.exports=function(a){return a==null}});var Xt=g((_L,Ac)=>{"use strict";var Yv=Dr(),Kv=TypeError;Ac.exports=function(a){if(Yv(a))throw new Kv("Can't call method on "+a);return a}});var fi=g((OL,Pc)=>{"use strict";var Xv=xc(),Jv=Xt();Pc.exports=function(a){return Xv(Jv(a))}});var Ne=g((FL,kc)=>{"use strict";var Zv=ve();kc.exports=function(a){return typeof a=="object"?a!==null:Zv(a)}});var mi=g((NL,Rc)=>{"use strict";Rc.exports={}});var Vt=g((qL,$c)=>{"use strict";var po=mi(),ho=Se(),ey=ve(),Lc=function(a){return ey(a)?a:void 0};$c.exports=function(a,e){return arguments.length<2?Lc(po[a])||Lc(ho[a]):po[a]&&po[a][e]||ho[a]&&ho[a][e]}});var Cr=g((UL,Mc)=>{"use strict";var ty=Ae();Mc.exports=ty({}.isPrototypeOf)});var bi=g((HL,Bc)=>{"use strict";var iy=Se(),Dc=iy.navigator,Cc=Dc&&Dc.userAgent;Bc.exports=Cc?String(Cc):""});var mo=g((jL,qc)=>{"use strict";var Nc=Se(),fo=bi(),Vc=Nc.process,_c=Nc.Deno,Oc=Vc&&Vc.versions||_c&&_c.version,Fc=Oc&&Oc.v8,ht,gs;Fc&&(ht=Fc.split("."),gs=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!gs&&fo&&(ht=fo.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=fo.match(/Chrome\/(\d+)/),ht&&(gs=+ht[1])));qc.exports=gs});var bo=g((WL,Hc)=>{"use strict";var Uc=mo(),ry=we(),ay=Se(),sy=ay.String;Hc.exports=!!Object.getOwnPropertySymbols&&!ry(function(){var a=Symbol("symbol detection");return!sy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Uc&&Uc<41})});var go=g((QL,jc)=>{"use strict";var ny=bo();jc.exports=ny&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var So=g((GL,Wc)=>{"use strict";var oy=Vt(),uy=ve(),ly=Cr(),cy=go(),dy=Object;Wc.exports=cy?function(a){return typeof a=="symbol"}:function(a){var e=oy("Symbol");return uy(e)&&ly(e.prototype,dy(a))}});var Br=g((zL,Qc)=>{"use strict";var py=String;Qc.exports=function(a){try{return py(a)}catch{return"Object"}}});var wt=g((YL,Gc)=>{"use strict";var hy=ve(),fy=Br(),my=TypeError;Gc.exports=function(a){if(hy(a))return a;throw new my(fy(a)+" is not a function")}});var Vr=g((KL,zc)=>{"use strict";var by=wt(),gy=Dr();zc.exports=function(a,e){var t=a[e];return gy(t)?void 0:by(t)}});var Kc=g((XL,Yc)=>{"use strict";var vo=Xe(),yo=ve(),To=Ne(),Sy=TypeError;Yc.exports=function(a,e){var t,i;if(e==="string"&&yo(t=a.toString)&&!To(i=vo(t,a))||yo(t=a.valueOf)&&!To(i=vo(t,a))||e!=="string"&&yo(t=a.toString)&&!To(i=vo(t,a)))return i;throw new Sy("Can't convert object to primitive value")}});var ft=g((JL,Xc)=>{"use strict";Xc.exports=!0});var ed=g((ZL,Zc)=>{"use strict";var Jc=Se(),vy=Object.defineProperty;Zc.exports=function(a,e){try{vy(Jc,a,{value:e,configurable:!0,writable:!0})}catch{Jc[a]=e}return e}});var _r=g((e$,rd)=>{"use strict";var yy=ft(),Ty=Se(),Iy=ed(),td="__core-js_shared__",id=rd.exports=Ty[td]||Iy(td,{});(id.versions||(id.versions=[])).push({version:"3.43.0",mode:yy?"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 Io=g((t$,sd)=>{"use strict";var ad=_r();sd.exports=function(a,e){return ad[a]||(ad[a]=e||{})}});var qi=g((i$,nd)=>{"use strict";var Ey=Xt(),xy=Object;nd.exports=function(a){return xy(Ey(a))}});var mt=g((r$,od)=>{"use strict";var wy=Ae(),Ay=qi(),Py=wy({}.hasOwnProperty);od.exports=Object.hasOwn||function(e,t){return Py(Ay(e),t)}});var Eo=g((a$,ud)=>{"use strict";var ky=Ae(),Ry=0,Ly=Math.random(),$y=ky(1.1.toString);ud.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$y(++Ry+Ly,36)}});var $e=g((s$,cd)=>{"use strict";var My=Se(),Dy=Io(),ld=mt(),Cy=Eo(),By=bo(),Vy=go(),Ui=My.Symbol,xo=Dy("wks"),_y=Vy?Ui.for||Ui:Ui&&Ui.withoutSetter||Cy;cd.exports=function(a){return ld(xo,a)||(xo[a]=By&&ld(Ui,a)?Ui[a]:_y("Symbol."+a)),xo[a]}});var fd=g((n$,hd)=>{"use strict";var Oy=Xe(),dd=Ne(),pd=So(),Fy=Vr(),Ny=Kc(),qy=$e(),Uy=TypeError,Hy=qy("toPrimitive");hd.exports=function(a,e){if(!dd(a)||pd(a))return a;var t=Fy(a,Hy),i;if(t){if(e===void 0&&(e="default"),i=Oy(t,a,e),!dd(i)||pd(i))return i;throw new Uy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ny(a,e)}});var wo=g((o$,md)=>{"use strict";var jy=fd(),Wy=So();md.exports=function(a){var e=jy(a,"string");return Wy(e)?e:e+""}});var Ss=g((u$,gd)=>{"use strict";var Qy=Se(),bd=Ne(),Ao=Qy.document,Gy=bd(Ao)&&bd(Ao.createElement);gd.exports=function(a){return Gy?Ao.createElement(a):{}}});var Po=g((l$,Sd)=>{"use strict";var zy=Ke(),Yy=we(),Ky=Ss();Sd.exports=!zy&&!Yy(function(){return Object.defineProperty(Ky("div"),"a",{get:function(){return 7}}).a!==7})});var Td=g(yd=>{"use strict";var Xy=Ke(),Jy=Xe(),Zy=lo(),eT=Mr(),tT=fi(),iT=wo(),rT=mt(),aT=Po(),vd=Object.getOwnPropertyDescriptor;yd.f=Xy?vd:function(e,t){if(e=tT(e),t=iT(t),aT)try{return vd(e,t)}catch{}if(rT(e,t))return eT(!Jy(Zy.f,e,t),e[t])}});var ko=g((d$,Id)=>{"use strict";var sT=we(),nT=ve(),oT=/#|\.prototype\./,Or=function(a,e){var t=lT[uT(a)];return t===dT?!0:t===cT?!1:nT(e)?sT(e):!!e},uT=Or.normalize=function(a){return String(a).replace(oT,".").toLowerCase()},lT=Or.data={},cT=Or.NATIVE="N",dT=Or.POLYFILL="P";Id.exports=Or});var Hi=g((p$,xd)=>{"use strict";var Ed=oo(),pT=wt(),hT=$r(),fT=Ed(Ed.bind);xd.exports=function(a,e){return pT(a),e===void 0?a:hT?fT(a,e):function(){return a.apply(e,arguments)}}});var Ro=g((h$,wd)=>{"use strict";var mT=Ke(),bT=we();wd.exports=mT&&bT(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((f$,Ad)=>{"use strict";var gT=Ne(),ST=String,vT=TypeError;Ad.exports=function(a){if(gT(a))return a;throw new vT(ST(a)+" is not an object")}});var gi=g(kd=>{"use strict";var yT=Ke(),TT=Po(),IT=Ro(),vs=At(),Pd=wo(),ET=TypeError,Lo=Object.defineProperty,xT=Object.getOwnPropertyDescriptor,$o="enumerable",Mo="configurable",Do="writable";kd.f=yT?IT?function(e,t,i){if(vs(e),t=Pd(t),vs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Do in i&&!i[Do]){var r=xT(e,t);r&&r[Do]&&(e[t]=i.value,i={configurable:Mo in i?i[Mo]:r[Mo],enumerable:$o in i?i[$o]:r[$o],writable:!1})}return Lo(e,t,i)}:Lo:function(e,t,i){if(vs(e),t=Pd(t),vs(i),TT)try{return Lo(e,t,i)}catch{}if("get"in i||"set"in i)throw new ET("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ji=g((b$,Rd)=>{"use strict";var wT=Ke(),AT=gi(),PT=Mr();Rd.exports=wT?function(a,e,t){return AT.f(a,e,PT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((g$,$d)=>{"use strict";var Fr=Se(),kT=so(),RT=oo(),LT=ve(),$T=Td().f,MT=ko(),Wi=mi(),DT=Hi(),Qi=ji(),Ld=mt();_r();var CT=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 kT(a,this,arguments)};return e.prototype=a.prototype,e};$d.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?Fr:r?Fr[t]:Fr[t]&&Fr[t].prototype,u=i?Wi:Wi[t]||Qi(Wi,t,{})[t],o=u.prototype,l,p,c,d,h,m,b,S,v;for(d in e)l=MT(i?d:t+(r?".":"#")+d,a.forced),p=!l&&n&&Ld(n,d),m=u[d],p&&(a.dontCallGetSet?(v=$T(n,d),b=v&&v.value):b=n[d]),h=p&&b?b:e[d],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=DT(h,Fr):a.wrap&&p?S=CT(h):s&<(h)?S=RT(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Qi(S,"sham",!0),Qi(u,d,S),s&&(c=t+"Prototype",Ld(Wi,c)||Qi(Wi,c,{}),Qi(Wi[c],d,h),a.real&&o&&(l||!o[d])&&Qi(o,d,h)))}});var ys=g((S$,Dd)=>{"use strict";var BT=Io(),VT=Eo(),Md=BT("keys");Dd.exports=function(a){return Md[a]||(Md[a]=VT(a))}});var Bd=g((v$,Cd)=>{"use strict";var _T=we();Cd.exports=!_T(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Ts=g((y$,_d)=>{"use strict";var OT=mt(),FT=ve(),NT=qi(),qT=ys(),UT=Bd(),Vd=qT("IE_PROTO"),Co=Object,HT=Co.prototype;_d.exports=UT?Co.getPrototypeOf:function(a){var e=NT(a);if(OT(e,Vd))return e[Vd];var t=e.constructor;return FT(t)&&e instanceof t?t.prototype:e instanceof Co?HT:null}});var Fd=g((T$,Od)=>{"use strict";var jT=Math.ceil,WT=Math.floor;Od.exports=Math.trunc||function(e){var t=+e;return(t>0?WT:jT)(t)}});var Nr=g((I$,Nd)=>{"use strict";var QT=Fd();Nd.exports=function(a){var e=+a;return e!==e||e===0?0:QT(e)}});var Ud=g((E$,qd)=>{"use strict";var GT=Nr(),zT=Math.max,YT=Math.min;qd.exports=function(a,e){var t=GT(a);return t<0?zT(t+e,0):YT(t,e)}});var Bo=g((x$,Hd)=>{"use strict";var KT=Nr(),XT=Math.min;Hd.exports=function(a){var e=KT(a);return e>0?XT(e,9007199254740991):0}});var Gi=g((w$,jd)=>{"use strict";var JT=Bo();jd.exports=function(a){return JT(a.length)}});var Vo=g((A$,Qd)=>{"use strict";var ZT=fi(),eI=Ud(),tI=Gi(),Wd=function(a){return function(e,t,i){var r=ZT(e),s=tI(r);if(s===0)return!a&&-1;var n=eI(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}};Qd.exports={includes:Wd(!0),indexOf:Wd(!1)}});var Is=g((P$,Gd)=>{"use strict";Gd.exports={}});var Kd=g((k$,Yd)=>{"use strict";var iI=Ae(),_o=mt(),rI=fi(),aI=Vo().indexOf,sI=Is(),zd=iI([].push);Yd.exports=function(a,e){var t=rI(a),i=0,r=[],s;for(s in t)!_o(sI,s)&&_o(t,s)&&zd(r,s);for(;e.length>i;)_o(t,s=e[i++])&&(~aI(r,s)||zd(r,s));return r}});var Oo=g((R$,Xd)=>{"use strict";Xd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Fo=g((L$,Jd)=>{"use strict";var nI=Kd(),oI=Oo();Jd.exports=Object.keys||function(e){return nI(e,oI)}});var No=g(($$,rp)=>{"use strict";var ep=Ke(),uI=we(),tp=Ae(),lI=Ts(),cI=Fo(),dI=fi(),pI=lo().f,ip=tp(pI),hI=tp([].push),fI=ep&&uI(function(){var a=Object.create(null);return a[2]=2,!ip(a,2)}),Zd=function(a){return function(e){for(var t=dI(e),i=cI(t),r=fI&&lI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!ep||(r?o in t:ip(t,o)))&&hI(u,a?[o,t[o]]:t[o]);return u}};rp.exports={entries:Zd(!0),values:Zd(!1)}});var ap=g(()=>{"use strict";var mI=Te(),bI=No().values;mI({target:"Object",stat:!0},{values:function(e){return bI(e)}})});var np=g((C$,sp)=>{"use strict";ap();var gI=mi();sp.exports=gI.Object.values});var up=g((B$,op)=>{"use strict";var SI=np();op.exports=SI});var Si=g((V$,lp)=>{"use strict";var vI=up();lp.exports=vI});var qr=g((_$,cp)=>{"use strict";cp.exports=function(){}});var dp=g(()=>{"use strict";var yI=Te(),TI=Vo().includes,II=we(),EI=qr(),xI=II(function(){return!Array(1).includes()});yI({target:"Array",proto:!0,forced:xI},{includes:function(e){return TI(this,e,arguments.length>1?arguments[1]:void 0)}});EI("includes")});var Jt=g((N$,pp)=>{"use strict";var wI=Vt();pp.exports=wI});var fp=g((q$,hp)=>{"use strict";dp();var AI=Jt();hp.exports=AI("Array","includes")});var bp=g((U$,mp)=>{"use strict";var PI=fp();mp.exports=PI});var qe=g((H$,gp)=>{"use strict";var kI=bp();gp.exports=kI});var vp=g(()=>{"use strict";var LI=Te(),$I=No().entries;LI({target:"Object",stat:!0},{entries:function(e){return $I(e)}})});var Tp=g((iM,yp)=>{"use strict";vp();var MI=mi();yp.exports=MI.Object.entries});var Ep=g((rM,Ip)=>{"use strict";var DI=Tp();Ip.exports=DI});var zi=g((aM,xp)=>{"use strict";var CI=Ep();xp.exports=CI});var vi=g((sM,wp)=>{"use strict";wp.exports={}});var kp=g((nM,Pp)=>{"use strict";var BI=Se(),VI=ve(),Ap=BI.WeakMap;Pp.exports=VI(Ap)&&/native code/.test(String(Ap))});var jo=g((oM,$p)=>{"use strict";var _I=kp(),Lp=Se(),OI=Ne(),FI=ji(),qo=mt(),Uo=_r(),NI=ys(),qI=Is(),Rp="Object already initialized",Ho=Lp.TypeError,UI=Lp.WeakMap,xs,Ur,ws,HI=function(a){return ws(a)?Ur(a):xs(a,{})},jI=function(a){return function(e){var t;if(!OI(e)||(t=Ur(e)).type!==a)throw new Ho("Incompatible receiver, "+a+" required");return t}};_I||Uo.state?(bt=Uo.state||(Uo.state=new UI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,xs=function(a,e){if(bt.has(a))throw new Ho(Rp);return e.facade=a,bt.set(a,e),e},Ur=function(a){return bt.get(a)||{}},ws=function(a){return bt.has(a)}):(yi=NI("state"),qI[yi]=!0,xs=function(a,e){if(qo(a,yi))throw new Ho(Rp);return e.facade=a,FI(a,yi,e),e},Ur=function(a){return qo(a,yi)?a[yi]:{}},ws=function(a){return qo(a,yi)});var bt,yi;$p.exports={set:xs,get:Ur,has:ws,enforce:HI,getterFor:jI}});var Go=g((uM,Dp)=>{"use strict";var Wo=Ke(),WI=mt(),Mp=Function.prototype,QI=Wo&&Object.getOwnPropertyDescriptor,Qo=WI(Mp,"name"),GI=Qo&&function(){}.name==="something",zI=Qo&&(!Wo||Wo&&QI(Mp,"name").configurable);Dp.exports={EXISTS:Qo,PROPER:GI,CONFIGURABLE:zI}});var Bp=g(Cp=>{"use strict";var YI=Ke(),KI=Ro(),XI=gi(),JI=At(),ZI=fi(),eE=Fo();Cp.f=YI&&!KI?Object.defineProperties:function(e,t){JI(e);for(var i=ZI(t),r=eE(t),s=r.length,n=0,u;s>n;)XI.f(e,u=r[n++],i[u]);return e}});var zo=g((cM,Vp)=>{"use strict";var tE=Vt();Vp.exports=tE("document","documentElement")});var Jo=g((dM,Hp)=>{"use strict";var iE=At(),rE=Bp(),_p=Oo(),aE=Is(),sE=zo(),nE=Ss(),oE=ys(),Op=">",Fp="<",Ko="prototype",Xo="script",qp=oE("IE_PROTO"),Yo=function(){},Up=function(a){return Fp+Xo+Op+a+Fp+"/"+Xo+Op},Np=function(a){a.write(Up("")),a.close();var e=a.parentWindow.Object;return a=null,e},uE=function(){var a=nE("iframe"),e="java"+Xo+":",t;return a.style.display="none",sE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Up("document.F=Object")),t.close(),t.F},As,Ps=function(){try{As=new ActiveXObject("htmlfile")}catch{}Ps=typeof document<"u"?document.domain&&As?Np(As):uE():Np(As);for(var a=_p.length;a--;)delete Ps[Ko][_p[a]];return Ps()};aE[qp]=!0;Hp.exports=Object.create||function(e,t){var i;return e!==null?(Yo[Ko]=iE(e),i=new Yo,Yo[Ko]=null,i[qp]=e):i=Ps(),t===void 0?i:rE.f(i,t)}});var Yi=g((pM,jp)=>{"use strict";var lE=ji();jp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:lE(a,e,t),a}});var iu=g((hM,Gp)=>{"use strict";var cE=we(),dE=ve(),pE=Ne(),hE=Jo(),Wp=Ts(),fE=Yi(),mE=$e(),bE=ft(),tu=mE("iterator"),Qp=!1,_t,Zo,eu;[].keys&&(eu=[].keys(),"next"in eu?(Zo=Wp(Wp(eu)),Zo!==Object.prototype&&(_t=Zo)):Qp=!0);var gE=!pE(_t)||cE(function(){var a={};return _t[tu].call(a)!==a});gE?_t={}:bE&&(_t=hE(_t));dE(_t[tu])||fE(_t,tu,function(){return this});Gp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Qp}});var ks=g((fM,Yp)=>{"use strict";var SE=$e(),vE=SE("toStringTag"),zp={};zp[vE]="z";Yp.exports=String(zp)==="[object z]"});var Hr=g((mM,Kp)=>{"use strict";var yE=ks(),TE=ve(),Rs=hi(),IE=$e(),EE=IE("toStringTag"),xE=Object,wE=Rs(function(){return arguments}())==="Arguments",AE=function(a,e){try{return a[e]}catch{}};Kp.exports=yE?Rs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=AE(e=xE(a),EE))=="string"?t:wE?Rs(e):(i=Rs(e))==="Object"&&TE(e.callee)?"Arguments":i}});var Jp=g((bM,Xp)=>{"use strict";var PE=ks(),kE=Hr();Xp.exports=PE?{}.toString:function(){return"[object "+kE(this)+"]"}});var jr=g((gM,eh)=>{"use strict";var RE=ks(),LE=gi().f,$E=ji(),ME=mt(),DE=Jp(),CE=$e(),Zp=CE("toStringTag");eh.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(ME(r,Zp)||LE(r,Zp,{configurable:!0,value:e}),i&&!RE&&$E(r,"toString",DE))}});var ih=g((SM,th)=>{"use strict";var BE=iu().IteratorPrototype,VE=Jo(),_E=Mr(),OE=jr(),FE=vi(),NE=function(){return this};th.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=VE(BE,{next:_E(+!i,t)}),OE(a,r,!1,!0),FE[r]=NE,a}});var ah=g((vM,rh)=>{"use strict";var qE=Ae(),UE=wt();rh.exports=function(a,e,t){try{return qE(UE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var nh=g((yM,sh)=>{"use strict";var HE=Ne();sh.exports=function(a){return HE(a)||a===null}});var uh=g((TM,oh)=>{"use strict";var jE=nh(),WE=String,QE=TypeError;oh.exports=function(a){if(jE(a))return a;throw new QE("Can't set "+WE(a)+" as a prototype")}});var ru=g((IM,lh)=>{"use strict";var GE=ah(),zE=Ne(),YE=Xt(),KE=uh();lh.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=GE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return YE(r),KE(s),zE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var yh=g((EM,vh)=>{"use strict";var XE=Te(),JE=Xe(),Ls=ft(),gh=Go(),ZE=ve(),ex=ih(),ch=Ts(),dh=ru(),tx=jr(),ix=ji(),au=Yi(),rx=$e(),ph=vi(),Sh=iu(),ax=gh.PROPER,sx=gh.CONFIGURABLE,hh=Sh.IteratorPrototype,$s=Sh.BUGGY_SAFARI_ITERATORS,Wr=rx("iterator"),fh="keys",Qr="values",mh="entries",bh=function(){return this};vh.exports=function(a,e,t,i,r,s,n){ex(t,e,i);var u=function(v){if(v===r&&d)return d;if(!$s&&v&&v in p)return p[v];switch(v){case fh:return function(){return new t(this,v)};case Qr:return function(){return new t(this,v)};case mh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,c=p[Wr]||p["@@iterator"]||r&&p[r],d=!$s&&c||u(r),h=e==="Array"&&p.entries||c,m,b,S;if(h&&(m=ch(h.call(new a)),m!==Object.prototype&&m.next&&(!Ls&&ch(m)!==hh&&(dh?dh(m,hh):ZE(m[Wr])||au(m,Wr,bh)),tx(m,o,!0,!0),Ls&&(ph[o]=bh))),ax&&r===Qr&&c&&c.name!==Qr&&(!Ls&&sx?ix(p,"name",Qr):(l=!0,d=function(){return JE(c,this)})),r)if(b={values:u(Qr),keys:s?d:u(fh),entries:u(mh)},n)for(S in b)($s||l||!(S in p))&&au(p,S,b[S]);else XE({target:e,proto:!0,forced:$s||l},b);return(!Ls||n)&&p[Wr]!==d&&au(p,Wr,d,{name:r}),ph[e]=d,b}});var Ih=g((xM,Th)=>{"use strict";Th.exports=function(a,e){return{value:a,done:e}}});var nu=g((wM,Ph)=>{"use strict";var nx=fi(),su=qr(),Eh=vi(),wh=jo(),ox=gi().f,ux=yh(),Ms=Ih(),lx=ft(),cx=Ke(),Ah="Array Iterator",dx=wh.set,px=wh.getterFor(Ah);Ph.exports=ux(Array,"Array",function(a,e){dx(this,{type:Ah,target:nx(a),index:0,kind:e})},function(){var a=px(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ms(void 0,!0);switch(a.kind){case"keys":return Ms(t,!1);case"values":return Ms(e[t],!1)}return Ms([t,e[t]],!1)},"values");var xh=Eh.Arguments=Eh.Array;su("keys");su("values");su("entries");if(!lx&&cx&&xh.name!=="values")try{ox(xh,"name",{value:"values"})}catch{}});var Rh=g((AM,kh)=>{"use strict";var hx=$e(),fx=vi(),mx=hx("iterator"),bx=Array.prototype;kh.exports=function(a){return a!==void 0&&(fx.Array===a||bx[mx]===a)}});var ou=g((PM,$h)=>{"use strict";var gx=Hr(),Lh=Vr(),Sx=Dr(),vx=vi(),yx=$e(),Tx=yx("iterator");$h.exports=function(a){if(!Sx(a))return Lh(a,Tx)||Lh(a,"@@iterator")||vx[gx(a)]}});var Dh=g((kM,Mh)=>{"use strict";var Ix=Xe(),Ex=wt(),xx=At(),wx=Br(),Ax=ou(),Px=TypeError;Mh.exports=function(a,e){var t=arguments.length<2?Ax(a):e;if(Ex(t))return xx(Ix(t,a));throw new Px(wx(a)+" is not iterable")}});var Vh=g((RM,Bh)=>{"use strict";var kx=Xe(),Ch=At(),Rx=Vr();Bh.exports=function(a,e,t){var i,r;Ch(a);try{if(i=Rx(a,"return"),!i){if(e==="throw")throw t;return t}i=kx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Ch(i),t}});var Cs=g((LM,Nh)=>{"use strict";var Lx=Hi(),$x=Xe(),Mx=At(),Dx=Br(),Cx=Rh(),Bx=Gi(),_h=Cr(),Vx=Dh(),_x=ou(),Oh=Vh(),Ox=TypeError,Ds=function(a,e){this.stopped=a,this.result=e},Fh=Ds.prototype;Nh.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=Lx(e,i),l,p,c,d,h,m,b,S=function(I){return l&&Oh(l,"normal"),new Ds(!0,I)},v=function(I){return r?(Mx(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(p=_x(a),!p)throw new Ox(Dx(a)+" is not iterable");if(Cx(p)){for(c=0,d=Bx(a);d>c;c++)if(h=v(a[c]),h&&_h(Fh,h))return h;return new Ds(!1)}l=Vx(a,p)}for(m=s?a.next:l.next;!(b=$x(m,l)).done;){try{h=v(b.value)}catch(I){Oh(l,"throw",I)}if(typeof h=="object"&&h&&_h(Fh,h))return h}return new Ds(!1)}});var Uh=g(($M,qh)=>{"use strict";var Fx=Ke(),Nx=gi(),qx=Mr();qh.exports=function(a,e,t){Fx?Nx.f(a,e,qx(0,t)):a[e]=t}});var Hh=g(()=>{"use strict";var Ux=Te(),Hx=Cs(),jx=Uh();Ux({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Hx(e,function(i,r){jx(t,i,r)},{AS_ENTRIES:!0}),t}})});var Wh=g((CM,jh)=>{"use strict";nu();Hh();var Wx=mi();jh.exports=Wx.Object.fromEntries});var Gh=g((BM,Qh)=>{"use strict";Qh.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 Yh=g(()=>{"use strict";nu();var Qx=Gh(),Gx=Se(),zx=jr(),zh=vi();for(Bs in Qx)zx(Gx[Bs],Bs),zh[Bs]=zh.Array;var Bs});var Xh=g((OM,Kh)=>{"use strict";var Yx=Wh();Yh();Kh.exports=Yx});var uu=g((FM,Jh)=>{"use strict";var Kx=Xh();Jh.exports=Kx});var Zh=g(()=>{"use strict"});var lu=g((UM,ef)=>{"use strict";var Gr=Se(),Xx=bi(),Jx=hi(),Vs=function(a){return Xx.slice(0,a.length)===a};ef.exports=function(){return Vs("Bun/")?"BUN":Vs("Cloudflare-Workers")?"CLOUDFLARE":Vs("Deno/")?"DENO":Vs("Node.js/")?"NODE":Gr.Bun&&typeof Bun.version=="string"?"BUN":Gr.Deno&&typeof Deno.version=="object"?"DENO":Jx(Gr.process)==="process"?"NODE":Gr.window&&Gr.document?"BROWSER":"REST"}()});var _s=g((HM,tf)=>{"use strict";var Zx=lu();tf.exports=Zx==="NODE"});var af=g((jM,rf)=>{"use strict";var ew=gi();rf.exports=function(a,e,t){return ew.f(a,e,t)}});var of=g((WM,nf)=>{"use strict";var tw=Vt(),iw=af(),rw=$e(),aw=Ke(),sf=rw("species");nf.exports=function(a){var e=tw(a);aw&&e&&!e[sf]&&iw(e,sf,{configurable:!0,get:function(){return this}})}});var lf=g((QM,uf)=>{"use strict";var sw=Cr(),nw=TypeError;uf.exports=function(a,e){if(sw(e,a))return a;throw new nw("Incorrect invocation")}});var du=g((GM,cf)=>{"use strict";var ow=Ae(),uw=ve(),cu=_r(),lw=ow(Function.toString);uw(cu.inspectSource)||(cu.inspectSource=function(a){return lw(a)});cf.exports=cu.inspectSource});var hu=g((zM,mf)=>{"use strict";var cw=Ae(),dw=we(),df=ve(),pw=Hr(),hw=Vt(),fw=du(),pf=function(){},hf=hw("Reflect","construct"),pu=/^\s*(?:class|function)\b/,mw=cw(pu.exec),bw=!pu.test(pf),zr=function(e){if(!df(e))return!1;try{return hf(pf,[],e),!0}catch{return!1}},ff=function(e){if(!df(e))return!1;switch(pw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return bw||!!mw(pu,fw(e))}catch{return!0}};ff.sham=!0;mf.exports=!hf||dw(function(){var a;return zr(zr.call)||!zr(Object)||!zr(function(){a=!0})||a})?ff:zr});var gf=g((YM,bf)=>{"use strict";var gw=hu(),Sw=Br(),vw=TypeError;bf.exports=function(a){if(gw(a))return a;throw new vw(Sw(a)+" is not a constructor")}});var fu=g((KM,vf)=>{"use strict";var Sf=At(),yw=gf(),Tw=Dr(),Iw=$e(),Ew=Iw("species");vf.exports=function(a,e){var t=Sf(a).constructor,i;return t===void 0||Tw(i=Sf(t)[Ew])?e:yw(i)}});var Tf=g((XM,yf)=>{"use strict";var xw=Ae();yf.exports=xw([].slice)});var Ef=g((JM,If)=>{"use strict";var ww=TypeError;If.exports=function(a,e){if(a<e)throw new ww("Not enough arguments");return a}});var mu=g((ZM,xf)=>{"use strict";var Aw=bi();xf.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Aw)});var xu=g((eD,Df)=>{"use strict";var Je=Se(),Pw=so(),kw=Hi(),wf=ve(),Rw=mt(),Mf=we(),Af=zo(),Lw=Tf(),Pf=Ss(),$w=Ef(),Mw=mu(),Dw=_s(),Tu=Je.setImmediate,Iu=Je.clearImmediate,Cw=Je.process,bu=Je.Dispatch,Bw=Je.Function,kf=Je.MessageChannel,Vw=Je.String,gu=0,Yr={},Rf="onreadystatechange",Kr,Ti,Su,vu;Mf(function(){Kr=Je.location});var Eu=function(a){if(Rw(Yr,a)){var e=Yr[a];delete Yr[a],e()}},yu=function(a){return function(){Eu(a)}},Lf=function(a){Eu(a.data)},$f=function(a){Je.postMessage(Vw(a),Kr.protocol+"//"+Kr.host)};(!Tu||!Iu)&&(Tu=function(e){$w(arguments.length,1);var t=wf(e)?e:Bw(e),i=Lw(arguments,1);return Yr[++gu]=function(){Pw(t,void 0,i)},Ti(gu),gu},Iu=function(e){delete Yr[e]},Dw?Ti=function(a){Cw.nextTick(yu(a))}:bu&&bu.now?Ti=function(a){bu.now(yu(a))}:kf&&!Mw?(Su=new kf,vu=Su.port2,Su.port1.onmessage=Lf,Ti=kw(vu.postMessage,vu)):Je.addEventListener&&wf(Je.postMessage)&&!Je.importScripts&&Kr&&Kr.protocol!=="file:"&&!Mf($f)?(Ti=$f,Je.addEventListener("message",Lf,!1)):Rf in Pf("script")?Ti=function(a){Af.appendChild(Pf("script"))[Rf]=function(){Af.removeChild(this),Eu(a)}}:Ti=function(a){setTimeout(yu(a),0)});Df.exports={set:Tu,clear:Iu}});var Vf=g((tD,Bf)=>{"use strict";var Cf=Se(),_w=Ke(),Ow=Object.getOwnPropertyDescriptor;Bf.exports=function(a){if(!_w)return Cf[a];var e=Ow(Cf,a);return e&&e.value}});var wu=g((iD,Of)=>{"use strict";var _f=function(){this.head=null,this.tail=null};_f.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}}};Of.exports=_f});var Nf=g((rD,Ff)=>{"use strict";var Fw=bi();Ff.exports=/ipad|iphone|ipod/i.test(Fw)&&typeof Pebble<"u"});var Uf=g((aD,qf)=>{"use strict";var Nw=bi();qf.exports=/web0s(?!.*chrome)/i.test(Nw)});var Yf=g((sD,zf)=>{"use strict";var Xi=Se(),qw=Vf(),Hf=Hi(),Au=xu().set,Uw=wu(),Hw=mu(),jw=Nf(),Ww=Uf(),Pu=_s(),jf=Xi.MutationObserver||Xi.WebKitMutationObserver,Wf=Xi.document,Qf=Xi.process,Os=Xi.Promise,Lu=qw("queueMicrotask"),Ki,ku,Ru,Fs,Gf;Lu||(Xr=new Uw,Jr=function(){var a,e;for(Pu&&(a=Qf.domain)&&a.exit();e=Xr.get();)try{e()}catch(t){throw Xr.head&&Ki(),t}a&&a.enter()},!Hw&&!Pu&&!Ww&&jf&&Wf?(ku=!0,Ru=Wf.createTextNode(""),new jf(Jr).observe(Ru,{characterData:!0}),Ki=function(){Ru.data=ku=!ku}):!jw&&Os&&Os.resolve?(Fs=Os.resolve(void 0),Fs.constructor=Os,Gf=Hf(Fs.then,Fs),Ki=function(){Gf(Jr)}):Pu?Ki=function(){Qf.nextTick(Jr)}:(Au=Hf(Au,Xi),Ki=function(){Au(Jr)}),Lu=function(a){Xr.head||Ki(),Xr.add(a)});var Xr,Jr;zf.exports=Lu});var Xf=g((nD,Kf)=>{"use strict";Kf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Ns=g((oD,Jf)=>{"use strict";Jf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ii=g((uD,Zf)=>{"use strict";var Qw=Se();Zf.exports=Qw.Promise});var Ji=g((lD,rm)=>{"use strict";var Gw=Se(),Zr=Ii(),zw=ve(),Yw=ko(),Kw=du(),Xw=$e(),em=lu(),Jw=ft(),$u=mo(),tm=Zr&&Zr.prototype,Zw=Xw("species"),Mu=!1,im=zw(Gw.PromiseRejectionEvent),eA=Yw("Promise",function(){var a=Kw(Zr),e=a!==String(Zr);if(!e&&$u===66||Jw&&!(tm.catch&&tm.finally))return!0;if(!$u||$u<51||!/native code/.test(a)){var t=new Zr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[Zw]=i,Mu=t.then(function(){})instanceof i,!Mu)return!0}return!e&&(em==="BROWSER"||em==="DENO")&&!im});rm.exports={CONSTRUCTOR:eA,REJECTION_EVENT:im,SUBCLASSING:Mu}});var Zi=g((cD,sm)=>{"use strict";var am=wt(),tA=TypeError,iA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new tA("Bad Promise constructor");e=i,t=r}),this.resolve=am(e),this.reject=am(t)};sm.exports.f=function(a){return new iA(a)}});var wm=g(()=>{"use strict";var rA=Te(),aA=ft(),js=_s(),Zt=Se(),sA=mi(),rr=Xe(),nm=Yi(),om=ru(),nA=jr(),oA=of(),uA=wt(),Hs=ve(),lA=Ne(),cA=lf(),dA=fu(),pm=xu().set,_u=Yf(),pA=Xf(),hA=Ns(),fA=wu(),hm=jo(),Ws=Ii(),Ou=Ji(),fm=Zi(),Qs="Promise",mm=Ou.CONSTRUCTOR,mA=Ou.REJECTION_EVENT,bA=Ou.SUBCLASSING,Du=hm.getterFor(Qs),gA=hm.set,er=Ws&&Ws.prototype,Ei=Ws,qs=er,bm=Zt.TypeError,Cu=Zt.document,Fu=Zt.process,Bu=fm.f,SA=Bu,vA=!!(Cu&&Cu.createEvent&&Zt.dispatchEvent),gm="unhandledrejection",yA="rejectionhandled",um=0,Sm=1,TA=2,Nu=1,vm=2,Us,lm,ym,cm,Tm=function(a){var e;return lA(a)&&Hs(e=a.then)?e:!1},Im=function(a,e){var t=e.value,i=e.state===Sm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===vm&&EA(e),e.rejection=Nu),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new bm("Promise-chain cycle")):(l=Tm(o))?rr(l,o,s,n):s(o)):n(t)}catch(c){u&&!p&&u.exit(),n(c)}},Em=function(a,e){a.notified||(a.notified=!0,_u(function(){for(var t=a.reactions,i;i=t.get();)Im(i,a);a.notified=!1,e&&!a.rejection&&IA(a)}))},xm=function(a,e,t){var i,r;vA?(i=Cu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!mA&&(r=Zt["on"+a])?r(i):a===gm&&pA("Unhandled promise rejection",t)},IA=function(a){rr(pm,Zt,function(){var e=a.facade,t=a.value,i=dm(a),r;if(i&&(r=hA(function(){js?Fu.emit("unhandledRejection",t,e):xm(gm,e,t)}),a.rejection=js||dm(a)?vm:Nu,r.error))throw r.value})},dm=function(a){return a.rejection!==Nu&&!a.parent},EA=function(a){rr(pm,Zt,function(){var e=a.facade;js?Fu.emit("rejectionHandled",e):xm(yA,e,a.value)})},tr=function(a,e,t){return function(i){a(e,i,t)}},ir=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=TA,Em(a,!0))},Vu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new bm("Promise can't be resolved itself");var i=Tm(e);i?_u(function(){var r={done:!1};try{rr(i,e,tr(Vu,r,a),tr(ir,r,a))}catch(s){ir(r,s,a)}}):(a.value=e,a.state=Sm,Em(a,!1))}catch(r){ir({done:!1},r,a)}}};if(mm&&(Ei=function(e){cA(this,qs),uA(e),rr(Us,this);var t=Du(this);try{e(tr(Vu,t),tr(ir,t))}catch(i){ir(t,i)}},qs=Ei.prototype,Us=function(e){gA(this,{type:Qs,done:!1,notified:!1,parent:!1,reactions:new fA,rejection:!1,state:um,value:null})},Us.prototype=nm(qs,"then",function(e,t){var i=Du(this),r=Bu(dA(this,Ei));return i.parent=!0,r.ok=Hs(e)?e:!0,r.fail=Hs(t)&&t,r.domain=js?Fu.domain:void 0,i.state===um?i.reactions.add(r):_u(function(){Im(r,i)}),r.promise}),lm=function(){var a=new Us,e=Du(a);this.promise=a,this.resolve=tr(Vu,e),this.reject=tr(ir,e)},fm.f=Bu=function(a){return a===Ei||a===ym?new lm(a):SA(a)},!aA&&Hs(Ws)&&er!==Object.prototype)){cm=er.then,bA||nm(er,"then",function(e,t){var i=this;return new Ei(function(r,s){rr(cm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete er.constructor}catch{}om&&om(er,qs)}rA({global:!0,constructor:!0,wrap:!0,forced:mm},{Promise:Ei});ym=sA.Promise;nA(Ei,Qs,!1,!0);oA(Qs)});var Lm=g((hD,Rm)=>{"use strict";var xA=$e(),Pm=xA("iterator"),km=!1;try{Am=0,qu={next:function(){return{done:!!Am++}},return:function(){km=!0}},qu[Pm]=function(){return this},Array.from(qu,function(){throw 2})}catch{}var Am,qu;Rm.exports=function(a,e){try{if(!e&&!km)return!1}catch{return!1}var t=!1;try{var i={};i[Pm]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Uu=g((fD,$m)=>{"use strict";var wA=Ii(),AA=Lm(),PA=Ji().CONSTRUCTOR;$m.exports=PA||!AA(function(a){wA.all(a).then(void 0,function(){})})});var Mm=g(()=>{"use strict";var kA=Te(),RA=Xe(),LA=wt(),$A=Zi(),MA=Ns(),DA=Cs(),CA=Uu();kA({target:"Promise",stat:!0,forced:CA},{all:function(e){var t=this,i=$A.f(t),r=i.resolve,s=i.reject,n=MA(function(){var u=LA(t.resolve),o=[],l=0,p=1;DA(e,function(c){var d=l++,h=!1;p++,RA(u,t,c).then(function(m){h||(h=!0,o[d]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Cm=g(()=>{"use strict";var BA=Te(),VA=ft(),_A=Ji().CONSTRUCTOR,ju=Ii(),OA=Vt(),FA=ve(),NA=Yi(),Dm=ju&&ju.prototype;BA({target:"Promise",proto:!0,forced:_A,real:!0},{catch:function(a){return this.then(void 0,a)}});!VA&&FA(ju)&&(Hu=OA("Promise").prototype.catch,Dm.catch!==Hu&&NA(Dm,"catch",Hu,{unsafe:!0}));var Hu});var Bm=g(()=>{"use strict";var qA=Te(),UA=Xe(),HA=wt(),jA=Zi(),WA=Ns(),QA=Cs(),GA=Uu();qA({target:"Promise",stat:!0,forced:GA},{race:function(e){var t=this,i=jA.f(t),r=i.reject,s=WA(function(){var n=HA(t.resolve);QA(e,function(u){UA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Vm=g(()=>{"use strict";var zA=Te(),YA=Zi(),KA=Ji().CONSTRUCTOR;zA({target:"Promise",stat:!0,forced:KA},{reject:function(e){var t=YA.f(this),i=t.reject;return i(e),t.promise}})});var Wu=g((ED,_m)=>{"use strict";var XA=At(),JA=Ne(),ZA=Zi();_m.exports=function(a,e){if(XA(a),JA(e)&&e.constructor===a)return e;var t=ZA.f(a),i=t.resolve;return i(e),t.promise}});var Nm=g(()=>{"use strict";var eP=Te(),tP=Vt(),Om=ft(),iP=Ii(),Fm=Ji().CONSTRUCTOR,rP=Wu(),aP=tP("Promise"),sP=Om&&!Fm;eP({target:"Promise",stat:!0,forced:Om||Fm},{resolve:function(e){return rP(sP&&this===aP?iP:this,e)}})});var qm=g(()=>{"use strict";wm();Mm();Cm();Bm();Vm();Nm()});var Wm=g(()=>{"use strict";var nP=Te(),oP=ft(),Gs=Ii(),uP=we(),Hm=Vt(),jm=ve(),lP=fu(),Um=Wu(),cP=Yi(),Gu=Gs&&Gs.prototype,dP=!!Gs&&uP(function(){Gu.finally.call({then:function(){}},function(){})});nP({target:"Promise",proto:!0,real:!0,forced:dP},{finally:function(a){var e=lP(this,Hm("Promise")),t=jm(a);return this.then(t?function(i){return Um(e,a()).then(function(){return i})}:a,t?function(i){return Um(e,a()).then(function(){throw i})}:a)}});!oP&&jm(Gs)&&(Qu=Hm("Promise").prototype.finally,Gu.finally!==Qu&&cP(Gu,"finally",Qu,{unsafe:!0}));var Qu});var Gm=g((LD,Qm)=>{"use strict";Zh();qm();Wm();var pP=Jt();Qm.exports=pP("Promise","finally")});var Ym=g(($D,zm)=>{"use strict";var hP=Gm();zm.exports=hP});var zs=g((MD,Km)=>{"use strict";var fP=Ym();Km.exports=fP});var pb=g(()=>{"use strict";var kP=Te(),RP=qi(),LP=Gi(),$P=Nr(),MP=qr();kP({target:"Array",proto:!0},{at:function(e){var t=RP(this),i=LP(t),r=$P(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});MP("at")});var fb=g((dB,hb)=>{"use strict";pb();var DP=Jt();hb.exports=DP("Array","at")});var bb=g((pB,mb)=>{"use strict";var CP=fb();mb.exports=CP});var gt=g((hB,gb)=>{"use strict";var BP=bb();gb.exports=BP});var fl=g((G0,Ub)=>{"use strict";var QP=hi();Ub.exports=Array.isArray||function(e){return QP(e)==="Array"}});var jb=g((z0,Hb)=>{"use strict";var GP=TypeError,zP=9007199254740991;Hb.exports=function(a){if(a>zP)throw GP("Maximum allowed index exceeded");return a}});var Gb=g((Y0,Qb)=>{"use strict";var YP=fl(),KP=Gi(),XP=jb(),JP=Hi(),Wb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?JP(n,u):!1,c,d;l<i;)l in t&&(c=p?p(t[l],l,e):t[l],s>0&&YP(c)?(d=KP(c),o=Wb(a,e,c,d,o,s-1)-1):(XP(o+1),a[o]=c),o++),l++;return o};Qb.exports=Wb});var Xb=g((K0,Kb)=>{"use strict";var zb=fl(),ZP=hu(),ek=Ne(),tk=$e(),ik=tk("species"),Yb=Array;Kb.exports=function(a){var e;return zb(a)&&(e=a.constructor,ZP(e)&&(e===Yb||zb(e.prototype))?e=void 0:ek(e)&&(e=e[ik],e===null&&(e=void 0))),e===void 0?Yb:e}});var Zb=g((X0,Jb)=>{"use strict";var rk=Xb();Jb.exports=function(a,e){return new(rk(a))(e===0?0:e)}});var eg=g(()=>{"use strict";var ak=Te(),sk=Gb(),nk=wt(),ok=qi(),uk=Gi(),lk=Zb();ak({target:"Array",proto:!0},{flatMap:function(e){var t=ok(this),i=uk(t),r;return nk(e),r=lk(t,0),r.length=sk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var tg=g(()=>{"use strict";var ck=qr();ck("flatMap")});var rg=g((iV,ig)=>{"use strict";eg();tg();var dk=Jt();ig.exports=dk("Array","flatMap")});var sg=g((rV,ag)=>{"use strict";var pk=rg();ag.exports=pk});var da=g((aV,ng)=>{"use strict";var hk=sg();ng.exports=hk});var pa=g((sV,og)=>{"use strict";var fk=Hr(),mk=String;og.exports=function(a){if(fk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return mk(a)}});var ml=g((nV,ug)=>{"use strict";ug.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 dg=g((oV,cg)=>{"use strict";var bk=Ae(),gk=Xt(),Sk=pa(),gl=ml(),lg=bk("".replace),vk=RegExp("^["+gl+"]+"),yk=RegExp("(^|[^"+gl+"])["+gl+"]+$"),bl=function(a){return function(e){var t=Sk(gk(e));return a&1&&(t=lg(t,vk,"")),a&2&&(t=lg(t,yk,"$1")),t}};cg.exports={start:bl(1),end:bl(2),trim:bl(3)}});var mg=g((uV,fg)=>{"use strict";var Tk=Go().PROPER,Ik=we(),pg=ml(),hg="\u200B\x85\u180E";fg.exports=function(a){return Ik(function(){return!!pg[a]()||hg[a]()!==hg||Tk&&pg[a].name!==a})}});var Sl=g((lV,bg)=>{"use strict";var Ek=dg().start,xk=mg();bg.exports=xk("trimStart")?function(){return Ek(this)}:"".trimStart});var Sg=g(()=>{"use strict";var wk=Te(),gg=Sl();wk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==gg},{trimLeft:gg})});var yg=g(()=>{"use strict";Sg();var Ak=Te(),vg=Sl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==vg},{trimStart:vg})});var Ig=g((fV,Tg)=>{"use strict";yg();var Pk=Jt();Tg.exports=Pk("String","trimLeft")});var xg=g((mV,Eg)=>{"use strict";var kk=Ig();Eg.exports=kk});var Ag=g((bV,wg)=>{"use strict";var Rk=xg();wg.exports=Rk});var qg=g(()=>{"use strict"});var Ug=g(()=>{"use strict"});var jg=g((XO,Hg)=>{"use strict";var Yk=Ne(),Kk=hi(),Xk=$e(),Jk=Xk("match");Hg.exports=function(a){var e;return Yk(a)&&((e=a[Jk])!==void 0?!!e:Kk(a)==="RegExp")}});var Gg=g((JO,Qg)=>{"use strict";var Zk=Se(),eR=we(),Wg=Zk.RegExp,tR=!eR(function(){var a=!0;try{Wg(".","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(Wg.prototype,"flags").get.call(e);return u!==i||t!==i});Qg.exports={correct:tR}});var Yg=g((ZO,zg)=>{"use strict";var iR=At();zg.exports=function(){var a=iR(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 Jg=g((eF,Xg)=>{"use strict";var rR=Xe(),aR=mt(),sR=Cr(),Kg=Gg(),nR=Yg(),oR=RegExp.prototype;Xg.exports=Kg.correct?function(a){return a.flags}:function(a){return!Kg.correct&&sR(oR,a)&&!aR(a,"flags")?rR(nR,a):a.flags}});var eS=g((tF,Zg)=>{"use strict";var Il=Ae(),uR=qi(),lR=Math.floor,yl=Il("".charAt),cR=Il("".replace),Tl=Il("".slice),dR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,pR=/\$([$&'`]|\d{1,2})/g;Zg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=pR;return r!==void 0&&(r=uR(r),o=dR),cR(s,o,function(l,p){var c;switch(yl(p,0)){case"$":return"$";case"&":return a;case"`":return Tl(e,0,t);case"'":return Tl(e,n);case"<":c=r[Tl(p,1,-1)];break;default:var d=+p;if(d===0)return l;if(d>u){var h=lR(d/10);return h===0?l:h<=u?i[h-1]===void 0?yl(p,1):i[h-1]+yl(p,1):l}c=i[d-1]}return c===void 0?"":c})}});var rS=g(()=>{"use strict";var hR=Te(),fR=Xe(),xl=Ae(),tS=Xt(),mR=ve(),bR=Ne(),gR=jg(),mr=pa(),SR=Vr(),vR=Jg(),yR=eS(),TR=$e(),IR=ft(),ER=TR("replace"),xR=TypeError,El=xl("".indexOf),wR=xl("".replace),iS=xl("".slice),AR=Math.max;hR({target:"String",proto:!0},{replaceAll:function(e,t){var i=tS(this),r,s,n,u,o,l,p,c,d,h,m=0,b="";if(bR(e)){if(r=gR(e),r&&(s=mr(tS(vR(e))),!~El(s,"g")))throw new xR("`.replaceAll` does not allow non-global regexes");if(n=SR(e,ER),n)return fR(n,e,i,t);if(IR&&r)return wR(mr(i),e,t)}for(u=mr(i),o=mr(e),l=mR(t),l||(t=mr(t)),p=o.length,c=AR(1,p),d=El(u,o);d!==-1;)h=l?mr(t(o,d,u)):yR(o,u,d,[],void 0,t),b+=iS(u,m,d)+h,m=d+p,d=d+c>u.length?-1:El(u,o,d+c);return m<u.length&&(b+=iS(u,m)),b}})});var sS=g((aF,aS)=>{"use strict";qg();Ug();rS();var PR=Jt();aS.exports=PR("String","replaceAll")});var oS=g((sF,nS)=>{"use strict";var kR=sS();nS.exports=kR});var lS=g((nF,uS)=>{"use strict";var RR=oS();uS.exports=RR});var dS=g((oF,cS)=>{"use strict";var LR=Nr(),$R=pa(),MR=Xt(),DR=RangeError;cS.exports=function(e){var t=$R(MR(this)),i="",r=LR(e);if(r<0||r===1/0)throw new DR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var bS=g((uF,mS)=>{"use strict";var fS=Ae(),CR=Bo(),pS=pa(),BR=dS(),VR=Xt(),_R=fS(BR),OR=fS("".slice),FR=Math.ceil,hS=function(a){return function(e,t,i){var r=pS(VR(e)),s=CR(t),n=r.length,u=i===void 0?" ":pS(i),o,l;return s<=n||u===""?r:(o=s-n,l=_R(u,FR(o/u.length)),l.length>o&&(l=OR(l,0,o)),a?r+l:l+r)}};mS.exports={start:hS(!1),end:hS(!0)}});var SS=g((lF,gS)=>{"use strict";var NR=bi();gS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(NR)});var vS=g(()=>{"use strict";var qR=Te(),UR=bS().start,HR=SS();qR({target:"String",proto:!0,forced:HR},{padStart:function(e){return UR(this,e,arguments.length>1?arguments[1]:void 0)}})});var TS=g((pF,yS)=>{"use strict";vS();var jR=Jt();yS.exports=jR("String","padStart")});var ES=g((hF,IS)=>{"use strict";var WR=TS();IS.exports=WR});var wS=g((fF,xS)=>{"use strict";var QR=ES();xS.exports=QR});var yL={};Dv(yL,{ChromecastState:()=>kr,HttpConnectionType:()=>fs,Observable:()=>Ct.Observable,PlaybackState:()=>_e,Player:()=>as,PredefinedQualityLimits:()=>Rr,SDK_VERSION:()=>vL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ms,VERSION:()=>ro,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>ab,clientChecker:()=>j,isMobile:()=>ar});module.exports=Cv(yL);var ro="2.0.143-dev.d6be401b.0";var _e=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(_e||{}),xt=(x=>(x.MPEG="MPEG",x.DASH="DASH",x.DASH_SEP="DASH_SEP",x.DASH_SEP_VK="DASH_SEP",x.DASH_WEBM="DASH_WEBM",x.DASH_WEBM_AV1="DASH_WEBM_AV1",x.DASH_STREAMS="DASH_STREAMS",x.DASH_WEBM_VK="DASH_WEBM",x.DASH_ONDEMAND="DASH_ONDEMAND",x.DASH_ONDEMAND_VK="DASH_ONDEMAND",x.DASH_LIVE="DASH_LIVE",x.DASH_LIVE_CMAF="DASH_LIVE_CMAF",x.DASH_LIVE_WEBM="DASH_LIVE_WEBM",x.HLS="HLS",x.HLS_ONDEMAND="HLS_ONDEMAND",x.HLS_JS="HLS",x.HLS_FMP4="HLS_FMP4",x.HLS_LIVE="HLS_LIVE",x.HLS_LIVE_CMAF="HLS_LIVE_CMAF",x.WEB_RTC_LIVE="WEB_RTC_LIVE",x))(xt||{});var kr=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(kr||{}),fs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(fs||{});var ms=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ms||{}),Rr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Rr||{});var ec=Q(Si(),1),Ev=Q(qe(),1);var J=require("@vkontakte/videoplayer-shared/es2024");var Sp=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 Es=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;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=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||Sp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.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(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,J.fromEvent)(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(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)(RI),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(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"?(0,J.isNonNullable)(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:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},RI=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(0,J.assertNever)(a)}};var Xl=Q(qe(),1),cv=Q(zi(),1),dv=Q(uu(),1);var nb=Q(zs(),1);var zu=require("@vkontakte/videoplayer-shared/es2024");var ye=(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:(0,zu.assertNever)(t)}return a},ei=(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:(0,zu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared/es2024"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Ku=require("@vkontakte/videoplayer-shared/es2024");var Ys=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 Xm=Q(qe(),1);var ar=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ks=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,Xm.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=ar()}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 Xs=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 Ze=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Jm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Js=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var mP=document.createElement("video"),bP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',gP='video/mp4; codecs="hev1.1.6.L93.B0"',Zm='video/webm; codecs="vp09.00.10.08"',eb='video/webm; codecs="av01.0.00M.08"',SP='audio/mp4; codecs="mp4a.40.2"',vP='audio/webm; codecs="opus"',tb,yP=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:eb}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Zm}})]);tb={DASH_WEBM_AV1:e,DASH_WEBM:t}};yP().catch(a=>{console.log(mP),console.error(a)});var Zs=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 tb}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:sr(),mse:Jm(),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=!!Ze()?.isTypeSupported?.(bP),t=!!Ze()?.isTypeSupported?.(gP),i=!!Ze()?.isTypeSupported?.(SP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Zm),av1:!!Ze()?.isTypeSupported?.(eb),aac:i,opus:!!Ze()?.isTypeSupported?.(vP),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 ib="audio/mpeg",en=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(ib)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(ib)}}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}};var rb=require("@vkontakte/videoplayer-shared/es2024"),Yu=class{constructor(){this.isInited$=new rb.ValueSubject(!1);this._displayChecker=new Xs,this._deviceChecker=new Ks(this._displayChecker),this._browserChecker=new Ys,this._videoChecker=new Zs(this._deviceChecker,this._browserChecker),this._audioChecker=new en,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)}},j=new Yu;var Xu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=j.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(0,Ku.assertNever)(u)}})},Ju=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(0,Ku.assertNever)(a)}},ab=a=>{let t=Object.keys(a).filter(i=>!Ju(i));return Xu(t).length>0};var N=require("@vkontakte/videoplayer-shared/es2024");var TP=5,IP=5,EP=500,sb=7e3,ea=class{constructor(e){this.subscription=new N.Subscription;this.loadMediaTimeoutSubscription=new N.Subscription;this.videoState=new Z("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:(0,N.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,N.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,N.assertNever)(e)}break}default:(0,N.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ju(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 N.Subscription;this.subscription.add(e),this.subscription.add((0,N.merge)(this.videoState.stateChangeStarted$.pipe((0,N.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,N.map)(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 N.Subject;e.add(r.pipe((0,N.debounce)(EP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,N.fromEvent)(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)>TP)&&r.next(u),s=u})),e.add((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,N.fromEvent)(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<IP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,N.assertNever)(n)}}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,N.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,N.observableFrom)(["init"])).pipe((0,N.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(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"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(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];(0,N.assertNonNullable)(l);let p=(0,N.getHighestQuality)(Object.keys(l));(0,N.assertNonNullable)(p);let c=l[p];(0,N.assertNonNullable)(c),i=c,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,N.assertNonNullable)(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];(0,N.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,N.assertNonNullable)(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];(0,N.assertNonNullable)(l),i=ye(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",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:N.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,N.assertNever)(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(0,N.isNonNullable)(u)&&(n.metadata.title=u),(0,N.isNonNullable)(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((0,N.timeout)(sb).subscribe(()=>s(`timeout(${sb})`)))});(0,nb.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:N.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var pl=Q(qe(),1);var il=require("@vkontakte/videoplayer-shared/es2024");var ob=require("@vkontakte/videoplayer-shared/es2024"),ub=a=>{try{a.pause(),a.playbackRate=0,(0,ob.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var tn=require("@vkontakte/videoplayer-shared/es2024"),Zu=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)}},el=window.WeakMap?new WeakMap:new Zu,tl=window.WeakMap?new WeakMap:new Map,xP=(a,e=20)=>{let t=0;return(0,tn.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,il.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),el.set(i,r);let s=new tn.Subscription;return s.add(xP(i,e)),tl.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},He=a=>{tl.get(a)?.unsubscribe(),tl.delete(a);let t=el.get(a);el.delete(a),t?(0,il.clearVideoElement)(a):ub(a)};var rl=Q(Si(),1),q=require("@vkontakte/videoplayer-shared/es2024");var ti=require("@vkontakte/videoplayer-shared/es2024"),rn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let c=a.getState();i(p,c)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>rn(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>rn(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(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}),nt=(a,e,t,i)=>rn(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),ta=rn;var wP=a=>["__",a.language,a.label].join("|"),AP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},al=class a{constructor(e){this.available$=new q.Subject;this.current$=new q.ValueSubject(void 0);this.error$=new q.Subject;this.subscription=new q.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:q.ErrorCategory.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(ta(t.internalTextTracks,()=>(0,rl.default)(this.internalTracks),s=>{(0,q.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ta(t.externalTextTracks,()=>(0,rl.default)(this.externalTracks),s=>{(0,q.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ta(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(ta(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,q.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,q.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"addtrack"),(0,q.fromEvent)(e,"removetrack"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,q.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"change"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,q.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,q.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,q.fromEvent)(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((0,q.fromEvent)(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;(0,q.isNonNullable)(t.align)&&(r.align=t.align),(0,q.isNonNullable)(t.position)&&(r.position=t.position),(0,q.isNonNullable)(t.size)&&(r.size=t.size),(0,q.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,q.assertNonNullable)(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:wP(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){(0,q.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,q.isNullable)(e)||!AP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,q.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,q.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=al;var xi=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 lb=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},sl=a=>{let e=lb(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cb=a=>{let e=lb(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var L=require("@vkontakte/videoplayer-shared/es2024");var PP=3,db=(a,e,t=PP)=>{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 We=a=>{let e=$=>(0,L.fromEvent)(a,$).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)),t=new L.Subscription,i=()=>t.unsubscribe(),r=(0,L.merge)((0,L.fromEvent)(a,"progress"),(0,L.fromEvent)(a,"timeupdate")).pipe((0,L.map)(()=>db(a.buffered,a.currentTime)),(0,L.shareReplay)(1)),s=j.browser.isSafari?(0,L.combine)({play:e("play").pipe((0,L.once)()),playing:e("playing")}).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)):e("playing"),n=(0,L.fromEvent)(a,"volumechange").pipe((0,L.map)(()=>({muted:a.muted,volume:a.volume})),(0,L.shareReplay)(1)),u=(0,L.fromEvent)(a,"ratechange").pipe((0,L.map)(()=>a.playbackRate),(0,L.shareReplay)(1)),o=(0,L.fromEvent)(a,"error").pipe((0,L.filter)(()=>!!(a.error||a.played.length)),(0,L.map)(()=>{let $=a.error;return{id:$?`MediaError#${$.code}`:"HtmlVideoError",category:L.ErrorCategory.VIDEO_PIPELINE,message:$?$.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,L.shareReplay)(1)),l=(0,L.fromEvent)(a,"timeupdate").pipe((0,L.map)(()=>a.currentTime),(0,L.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],c=new L.Subject,d=.3,h;t.add((0,L.merge)(...p.map($=>(0,L.fromEvent)(a,$))).subscribe($=>{let ee=a.currentTime;a.loop&&(0,L.isNonNullable)(h)&&(0,L.isNonNullable)(ee)&&h>=a.duration-d&&ee<=d&&c.next(h),h=ee}));let m=e("pause").pipe((0,L.filter)(()=>!a.error&&h!==a.duration),(0,L.shareReplay)(1)),b=(0,L.fromEvent)(a,"enterpictureinpicture").pipe((0,L.shareReplay)(1)),S=(0,L.fromEvent)(a,"leavepictureinpicture").pipe((0,L.shareReplay)(1)),v=new L.ValueSubject(cb(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new L.ValueSubject(sl(a)),P=(0,L.fromEvent)(a,"fullscreenchange").pipe((0,L.shareReplay)(1));t.add(P.pipe((0,L.map)(()=>sl(a))).subscribe(I));let x=.1,M=1e3,_=(0,L.fromEvent)(a,"timeupdate").pipe((0,L.map)($=>a.duration-a.currentTime<x),(0,L.filterChanged)(),(0,L.shareReplay)(1)),V=(0,L.merge)(_.pipe((0,L.filter)($=>!a.loop&&$)),(0,L.fromEvent)(a,"ended")).pipe((0,L.throttle)(M),(0,L.mapTo)(void 0),(0,L.shareReplay)(1)),H=(0,L.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map($=>(0,L.fromEvent)(a,$)),_.pipe((0,L.map)($=>({type:$?"ended":"unknown"})))).pipe((0,L.map)($=>j.browser.isFirefox&&$.type==="ended"?a.readyState<2:a.readyState<3),(0,L.filterChanged)(),(0,L.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:V,looped$:c,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,L.fromEvent)(a,"durationchange").pipe((0,L.map)(()=>a.duration),(0,L.shareReplay)(1)),isBuffering$:H,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared/es2024"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Fe=Q(gt(),1),ol=Q(qe(),1),wi=Q(zi(),1),D=require("@vkontakte/videoplayer-shared/es2024");var nl=!1,Nt={},Sb=a=>{nl=a},vb=()=>{Nt={}},yb=a=>{a(Nt)},ia=(a,e)=>{nl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},Oe=class{constructor(e){this.name=e}next(e){if(!nl)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared/es2024");function Tb(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function nr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Ib({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return nr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var Pb=new Oe("best_bitrate"),sn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var or=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},nn='Assertion "ABR Tracks is empty array" failed',an=new WeakMap,Eb=new WeakMap,xb=new WeakMap,ra=(a,e,t,i)=>{let r=[...e].sort(or(1)),s=[...t].sort(or(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},aa=(a,e,t,i)=>{let r=an.get(e);r||(r=[...e].sort(or(1)),an.set(e,r));let s=an.get(t);s||(s=[...t].sort(or(1)),an.set(t,s));let n=xb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),xb.set(a,n));let u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},wb=a=>"quality"in a,on=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-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=wb(n)?"video":"audio",o=wb(n)?n.quality:n.bitrate;return e({message:`
|
|
6
|
+
"use strict";var kv=Object.create;var hs=Object.defineProperty;var Rv=Object.getOwnPropertyDescriptor;var Lv=Object.getOwnPropertyNames;var $v=Object.getPrototypeOf,Mv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Dv=(a,e)=>{for(var t in e)hs(a,t,{get:e[t],enumerable:!0})},ic=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lv(e))!Mv.call(a,r)&&r!==t&&hs(a,r,{get:()=>e[r],enumerable:!(i=Rv(e,r))||i.enumerable});return a};var Q=(a,e,t)=>(t=a!=null?kv($v(a)):{},ic(e||!a||!a.__esModule?hs(t,"default",{value:a,enumerable:!0}):t,a)),Cv=a=>ic(hs({},"__esModule",{value:!0}),a);var Se=g((ao,rc)=>{"use strict";var Lr=function(a){return a&&a.Math===Math&&a};rc.exports=Lr(typeof globalThis=="object"&&globalThis)||Lr(typeof window=="object"&&window)||Lr(typeof self=="object"&&self)||Lr(typeof global=="object"&&global)||Lr(typeof ao=="object"&&ao)||function(){return this}()||Function("return this")()});var we=g((xL,ac)=>{"use strict";ac.exports=function(a){try{return!!a()}catch{return!0}}});var $r=g((wL,sc)=>{"use strict";var Bv=we();sc.exports=!Bv(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var so=g((AL,lc)=>{"use strict";var Vv=$r(),uc=Function.prototype,nc=uc.apply,oc=uc.call;lc.exports=typeof Reflect=="object"&&Reflect.apply||(Vv?oc.bind(nc):function(){return oc.apply(nc,arguments)})});var Ae=g((PL,pc)=>{"use strict";var cc=$r(),dc=Function.prototype,no=dc.call,_v=cc&&dc.bind.bind(no,no);pc.exports=cc?_v:function(a){return function(){return no.apply(a,arguments)}}});var hi=g((kL,fc)=>{"use strict";var hc=Ae(),Ov=hc({}.toString),Fv=hc("".slice);fc.exports=function(a){return Fv(Ov(a),8,-1)}});var oo=g((RL,mc)=>{"use strict";var Nv=hi(),qv=Ae();mc.exports=function(a){if(Nv(a)==="Function")return qv(a)}});var ve=g((LL,bc)=>{"use strict";var uo=typeof document=="object"&&document.all;bc.exports=typeof uo>"u"&&uo!==void 0?function(a){return typeof a=="function"||a===uo}:function(a){return typeof a=="function"}});var Ke=g(($L,gc)=>{"use strict";var Uv=we();gc.exports=!Uv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((ML,Sc)=>{"use strict";var Hv=$r(),bs=Function.prototype.call;Sc.exports=Hv?bs.bind(bs):function(){return bs.apply(bs,arguments)}});var lo=g(Tc=>{"use strict";var vc={}.propertyIsEnumerable,yc=Object.getOwnPropertyDescriptor,jv=yc&&!vc.call({1:2},1);Tc.f=jv?function(e){var t=yc(this,e);return!!t&&t.enumerable}:vc});var Mr=g((CL,Ic)=>{"use strict";Ic.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var xc=g((BL,Ec)=>{"use strict";var Wv=Ae(),Qv=we(),Gv=hi(),co=Object,zv=Wv("".split);Ec.exports=Qv(function(){return!co("z").propertyIsEnumerable(0)})?function(a){return Gv(a)==="String"?zv(a,""):co(a)}:co});var Dr=g((VL,wc)=>{"use strict";wc.exports=function(a){return a==null}});var Xt=g((_L,Ac)=>{"use strict";var Yv=Dr(),Kv=TypeError;Ac.exports=function(a){if(Yv(a))throw new Kv("Can't call method on "+a);return a}});var fi=g((OL,Pc)=>{"use strict";var Xv=xc(),Jv=Xt();Pc.exports=function(a){return Xv(Jv(a))}});var Ne=g((FL,kc)=>{"use strict";var Zv=ve();kc.exports=function(a){return typeof a=="object"?a!==null:Zv(a)}});var mi=g((NL,Rc)=>{"use strict";Rc.exports={}});var Vt=g((qL,$c)=>{"use strict";var po=mi(),ho=Se(),ey=ve(),Lc=function(a){return ey(a)?a:void 0};$c.exports=function(a,e){return arguments.length<2?Lc(po[a])||Lc(ho[a]):po[a]&&po[a][e]||ho[a]&&ho[a][e]}});var Cr=g((UL,Mc)=>{"use strict";var ty=Ae();Mc.exports=ty({}.isPrototypeOf)});var bi=g((HL,Bc)=>{"use strict";var iy=Se(),Dc=iy.navigator,Cc=Dc&&Dc.userAgent;Bc.exports=Cc?String(Cc):""});var mo=g((jL,qc)=>{"use strict";var Nc=Se(),fo=bi(),Vc=Nc.process,_c=Nc.Deno,Oc=Vc&&Vc.versions||_c&&_c.version,Fc=Oc&&Oc.v8,ht,gs;Fc&&(ht=Fc.split("."),gs=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!gs&&fo&&(ht=fo.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=fo.match(/Chrome\/(\d+)/),ht&&(gs=+ht[1])));qc.exports=gs});var bo=g((WL,Hc)=>{"use strict";var Uc=mo(),ry=we(),ay=Se(),sy=ay.String;Hc.exports=!!Object.getOwnPropertySymbols&&!ry(function(){var a=Symbol("symbol detection");return!sy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Uc&&Uc<41})});var go=g((QL,jc)=>{"use strict";var ny=bo();jc.exports=ny&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var So=g((GL,Wc)=>{"use strict";var oy=Vt(),uy=ve(),ly=Cr(),cy=go(),dy=Object;Wc.exports=cy?function(a){return typeof a=="symbol"}:function(a){var e=oy("Symbol");return uy(e)&&ly(e.prototype,dy(a))}});var Br=g((zL,Qc)=>{"use strict";var py=String;Qc.exports=function(a){try{return py(a)}catch{return"Object"}}});var wt=g((YL,Gc)=>{"use strict";var hy=ve(),fy=Br(),my=TypeError;Gc.exports=function(a){if(hy(a))return a;throw new my(fy(a)+" is not a function")}});var Vr=g((KL,zc)=>{"use strict";var by=wt(),gy=Dr();zc.exports=function(a,e){var t=a[e];return gy(t)?void 0:by(t)}});var Kc=g((XL,Yc)=>{"use strict";var vo=Xe(),yo=ve(),To=Ne(),Sy=TypeError;Yc.exports=function(a,e){var t,i;if(e==="string"&&yo(t=a.toString)&&!To(i=vo(t,a))||yo(t=a.valueOf)&&!To(i=vo(t,a))||e!=="string"&&yo(t=a.toString)&&!To(i=vo(t,a)))return i;throw new Sy("Can't convert object to primitive value")}});var ft=g((JL,Xc)=>{"use strict";Xc.exports=!0});var ed=g((ZL,Zc)=>{"use strict";var Jc=Se(),vy=Object.defineProperty;Zc.exports=function(a,e){try{vy(Jc,a,{value:e,configurable:!0,writable:!0})}catch{Jc[a]=e}return e}});var _r=g((e$,rd)=>{"use strict";var yy=ft(),Ty=Se(),Iy=ed(),td="__core-js_shared__",id=rd.exports=Ty[td]||Iy(td,{});(id.versions||(id.versions=[])).push({version:"3.43.0",mode:yy?"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 Io=g((t$,sd)=>{"use strict";var ad=_r();sd.exports=function(a,e){return ad[a]||(ad[a]=e||{})}});var qi=g((i$,nd)=>{"use strict";var Ey=Xt(),xy=Object;nd.exports=function(a){return xy(Ey(a))}});var mt=g((r$,od)=>{"use strict";var wy=Ae(),Ay=qi(),Py=wy({}.hasOwnProperty);od.exports=Object.hasOwn||function(e,t){return Py(Ay(e),t)}});var Eo=g((a$,ud)=>{"use strict";var ky=Ae(),Ry=0,Ly=Math.random(),$y=ky(1.1.toString);ud.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$y(++Ry+Ly,36)}});var $e=g((s$,cd)=>{"use strict";var My=Se(),Dy=Io(),ld=mt(),Cy=Eo(),By=bo(),Vy=go(),Ui=My.Symbol,xo=Dy("wks"),_y=Vy?Ui.for||Ui:Ui&&Ui.withoutSetter||Cy;cd.exports=function(a){return ld(xo,a)||(xo[a]=By&&ld(Ui,a)?Ui[a]:_y("Symbol."+a)),xo[a]}});var fd=g((n$,hd)=>{"use strict";var Oy=Xe(),dd=Ne(),pd=So(),Fy=Vr(),Ny=Kc(),qy=$e(),Uy=TypeError,Hy=qy("toPrimitive");hd.exports=function(a,e){if(!dd(a)||pd(a))return a;var t=Fy(a,Hy),i;if(t){if(e===void 0&&(e="default"),i=Oy(t,a,e),!dd(i)||pd(i))return i;throw new Uy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ny(a,e)}});var wo=g((o$,md)=>{"use strict";var jy=fd(),Wy=So();md.exports=function(a){var e=jy(a,"string");return Wy(e)?e:e+""}});var Ss=g((u$,gd)=>{"use strict";var Qy=Se(),bd=Ne(),Ao=Qy.document,Gy=bd(Ao)&&bd(Ao.createElement);gd.exports=function(a){return Gy?Ao.createElement(a):{}}});var Po=g((l$,Sd)=>{"use strict";var zy=Ke(),Yy=we(),Ky=Ss();Sd.exports=!zy&&!Yy(function(){return Object.defineProperty(Ky("div"),"a",{get:function(){return 7}}).a!==7})});var Td=g(yd=>{"use strict";var Xy=Ke(),Jy=Xe(),Zy=lo(),eT=Mr(),tT=fi(),iT=wo(),rT=mt(),aT=Po(),vd=Object.getOwnPropertyDescriptor;yd.f=Xy?vd:function(e,t){if(e=tT(e),t=iT(t),aT)try{return vd(e,t)}catch{}if(rT(e,t))return eT(!Jy(Zy.f,e,t),e[t])}});var ko=g((d$,Id)=>{"use strict";var sT=we(),nT=ve(),oT=/#|\.prototype\./,Or=function(a,e){var t=lT[uT(a)];return t===dT?!0:t===cT?!1:nT(e)?sT(e):!!e},uT=Or.normalize=function(a){return String(a).replace(oT,".").toLowerCase()},lT=Or.data={},cT=Or.NATIVE="N",dT=Or.POLYFILL="P";Id.exports=Or});var Hi=g((p$,xd)=>{"use strict";var Ed=oo(),pT=wt(),hT=$r(),fT=Ed(Ed.bind);xd.exports=function(a,e){return pT(a),e===void 0?a:hT?fT(a,e):function(){return a.apply(e,arguments)}}});var Ro=g((h$,wd)=>{"use strict";var mT=Ke(),bT=we();wd.exports=mT&&bT(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((f$,Ad)=>{"use strict";var gT=Ne(),ST=String,vT=TypeError;Ad.exports=function(a){if(gT(a))return a;throw new vT(ST(a)+" is not an object")}});var gi=g(kd=>{"use strict";var yT=Ke(),TT=Po(),IT=Ro(),vs=At(),Pd=wo(),ET=TypeError,Lo=Object.defineProperty,xT=Object.getOwnPropertyDescriptor,$o="enumerable",Mo="configurable",Do="writable";kd.f=yT?IT?function(e,t,i){if(vs(e),t=Pd(t),vs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Do in i&&!i[Do]){var r=xT(e,t);r&&r[Do]&&(e[t]=i.value,i={configurable:Mo in i?i[Mo]:r[Mo],enumerable:$o in i?i[$o]:r[$o],writable:!1})}return Lo(e,t,i)}:Lo:function(e,t,i){if(vs(e),t=Pd(t),vs(i),TT)try{return Lo(e,t,i)}catch{}if("get"in i||"set"in i)throw new ET("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ji=g((b$,Rd)=>{"use strict";var wT=Ke(),AT=gi(),PT=Mr();Rd.exports=wT?function(a,e,t){return AT.f(a,e,PT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((g$,$d)=>{"use strict";var Fr=Se(),kT=so(),RT=oo(),LT=ve(),$T=Td().f,MT=ko(),Wi=mi(),DT=Hi(),Qi=ji(),Ld=mt();_r();var CT=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 kT(a,this,arguments)};return e.prototype=a.prototype,e};$d.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?Fr:r?Fr[t]:Fr[t]&&Fr[t].prototype,u=i?Wi:Wi[t]||Qi(Wi,t,{})[t],o=u.prototype,l,p,c,d,h,m,b,S,v;for(d in e)l=MT(i?d:t+(r?".":"#")+d,a.forced),p=!l&&n&&Ld(n,d),m=u[d],p&&(a.dontCallGetSet?(v=$T(n,d),b=v&&v.value):b=n[d]),h=p&&b?b:e[d],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=DT(h,Fr):a.wrap&&p?S=CT(h):s&<(h)?S=RT(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Qi(S,"sham",!0),Qi(u,d,S),s&&(c=t+"Prototype",Ld(Wi,c)||Qi(Wi,c,{}),Qi(Wi[c],d,h),a.real&&o&&(l||!o[d])&&Qi(o,d,h)))}});var ys=g((S$,Dd)=>{"use strict";var BT=Io(),VT=Eo(),Md=BT("keys");Dd.exports=function(a){return Md[a]||(Md[a]=VT(a))}});var Bd=g((v$,Cd)=>{"use strict";var _T=we();Cd.exports=!_T(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Ts=g((y$,_d)=>{"use strict";var OT=mt(),FT=ve(),NT=qi(),qT=ys(),UT=Bd(),Vd=qT("IE_PROTO"),Co=Object,HT=Co.prototype;_d.exports=UT?Co.getPrototypeOf:function(a){var e=NT(a);if(OT(e,Vd))return e[Vd];var t=e.constructor;return FT(t)&&e instanceof t?t.prototype:e instanceof Co?HT:null}});var Fd=g((T$,Od)=>{"use strict";var jT=Math.ceil,WT=Math.floor;Od.exports=Math.trunc||function(e){var t=+e;return(t>0?WT:jT)(t)}});var Nr=g((I$,Nd)=>{"use strict";var QT=Fd();Nd.exports=function(a){var e=+a;return e!==e||e===0?0:QT(e)}});var Ud=g((E$,qd)=>{"use strict";var GT=Nr(),zT=Math.max,YT=Math.min;qd.exports=function(a,e){var t=GT(a);return t<0?zT(t+e,0):YT(t,e)}});var Bo=g((x$,Hd)=>{"use strict";var KT=Nr(),XT=Math.min;Hd.exports=function(a){var e=KT(a);return e>0?XT(e,9007199254740991):0}});var Gi=g((w$,jd)=>{"use strict";var JT=Bo();jd.exports=function(a){return JT(a.length)}});var Vo=g((A$,Qd)=>{"use strict";var ZT=fi(),eI=Ud(),tI=Gi(),Wd=function(a){return function(e,t,i){var r=ZT(e),s=tI(r);if(s===0)return!a&&-1;var n=eI(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}};Qd.exports={includes:Wd(!0),indexOf:Wd(!1)}});var Is=g((P$,Gd)=>{"use strict";Gd.exports={}});var Kd=g((k$,Yd)=>{"use strict";var iI=Ae(),_o=mt(),rI=fi(),aI=Vo().indexOf,sI=Is(),zd=iI([].push);Yd.exports=function(a,e){var t=rI(a),i=0,r=[],s;for(s in t)!_o(sI,s)&&_o(t,s)&&zd(r,s);for(;e.length>i;)_o(t,s=e[i++])&&(~aI(r,s)||zd(r,s));return r}});var Oo=g((R$,Xd)=>{"use strict";Xd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Fo=g((L$,Jd)=>{"use strict";var nI=Kd(),oI=Oo();Jd.exports=Object.keys||function(e){return nI(e,oI)}});var No=g(($$,rp)=>{"use strict";var ep=Ke(),uI=we(),tp=Ae(),lI=Ts(),cI=Fo(),dI=fi(),pI=lo().f,ip=tp(pI),hI=tp([].push),fI=ep&&uI(function(){var a=Object.create(null);return a[2]=2,!ip(a,2)}),Zd=function(a){return function(e){for(var t=dI(e),i=cI(t),r=fI&&lI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!ep||(r?o in t:ip(t,o)))&&hI(u,a?[o,t[o]]:t[o]);return u}};rp.exports={entries:Zd(!0),values:Zd(!1)}});var ap=g(()=>{"use strict";var mI=Te(),bI=No().values;mI({target:"Object",stat:!0},{values:function(e){return bI(e)}})});var np=g((C$,sp)=>{"use strict";ap();var gI=mi();sp.exports=gI.Object.values});var up=g((B$,op)=>{"use strict";var SI=np();op.exports=SI});var Si=g((V$,lp)=>{"use strict";var vI=up();lp.exports=vI});var qr=g((_$,cp)=>{"use strict";cp.exports=function(){}});var dp=g(()=>{"use strict";var yI=Te(),TI=Vo().includes,II=we(),EI=qr(),xI=II(function(){return!Array(1).includes()});yI({target:"Array",proto:!0,forced:xI},{includes:function(e){return TI(this,e,arguments.length>1?arguments[1]:void 0)}});EI("includes")});var Jt=g((N$,pp)=>{"use strict";var wI=Vt();pp.exports=wI});var fp=g((q$,hp)=>{"use strict";dp();var AI=Jt();hp.exports=AI("Array","includes")});var bp=g((U$,mp)=>{"use strict";var PI=fp();mp.exports=PI});var qe=g((H$,gp)=>{"use strict";var kI=bp();gp.exports=kI});var vp=g(()=>{"use strict";var LI=Te(),$I=No().entries;LI({target:"Object",stat:!0},{entries:function(e){return $I(e)}})});var Tp=g((iM,yp)=>{"use strict";vp();var MI=mi();yp.exports=MI.Object.entries});var Ep=g((rM,Ip)=>{"use strict";var DI=Tp();Ip.exports=DI});var zi=g((aM,xp)=>{"use strict";var CI=Ep();xp.exports=CI});var vi=g((sM,wp)=>{"use strict";wp.exports={}});var kp=g((nM,Pp)=>{"use strict";var BI=Se(),VI=ve(),Ap=BI.WeakMap;Pp.exports=VI(Ap)&&/native code/.test(String(Ap))});var jo=g((oM,$p)=>{"use strict";var _I=kp(),Lp=Se(),OI=Ne(),FI=ji(),qo=mt(),Uo=_r(),NI=ys(),qI=Is(),Rp="Object already initialized",Ho=Lp.TypeError,UI=Lp.WeakMap,xs,Ur,ws,HI=function(a){return ws(a)?Ur(a):xs(a,{})},jI=function(a){return function(e){var t;if(!OI(e)||(t=Ur(e)).type!==a)throw new Ho("Incompatible receiver, "+a+" required");return t}};_I||Uo.state?(bt=Uo.state||(Uo.state=new UI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,xs=function(a,e){if(bt.has(a))throw new Ho(Rp);return e.facade=a,bt.set(a,e),e},Ur=function(a){return bt.get(a)||{}},ws=function(a){return bt.has(a)}):(yi=NI("state"),qI[yi]=!0,xs=function(a,e){if(qo(a,yi))throw new Ho(Rp);return e.facade=a,FI(a,yi,e),e},Ur=function(a){return qo(a,yi)?a[yi]:{}},ws=function(a){return qo(a,yi)});var bt,yi;$p.exports={set:xs,get:Ur,has:ws,enforce:HI,getterFor:jI}});var Go=g((uM,Dp)=>{"use strict";var Wo=Ke(),WI=mt(),Mp=Function.prototype,QI=Wo&&Object.getOwnPropertyDescriptor,Qo=WI(Mp,"name"),GI=Qo&&function(){}.name==="something",zI=Qo&&(!Wo||Wo&&QI(Mp,"name").configurable);Dp.exports={EXISTS:Qo,PROPER:GI,CONFIGURABLE:zI}});var Bp=g(Cp=>{"use strict";var YI=Ke(),KI=Ro(),XI=gi(),JI=At(),ZI=fi(),eE=Fo();Cp.f=YI&&!KI?Object.defineProperties:function(e,t){JI(e);for(var i=ZI(t),r=eE(t),s=r.length,n=0,u;s>n;)XI.f(e,u=r[n++],i[u]);return e}});var zo=g((cM,Vp)=>{"use strict";var tE=Vt();Vp.exports=tE("document","documentElement")});var Jo=g((dM,Hp)=>{"use strict";var iE=At(),rE=Bp(),_p=Oo(),aE=Is(),sE=zo(),nE=Ss(),oE=ys(),Op=">",Fp="<",Ko="prototype",Xo="script",qp=oE("IE_PROTO"),Yo=function(){},Up=function(a){return Fp+Xo+Op+a+Fp+"/"+Xo+Op},Np=function(a){a.write(Up("")),a.close();var e=a.parentWindow.Object;return a=null,e},uE=function(){var a=nE("iframe"),e="java"+Xo+":",t;return a.style.display="none",sE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Up("document.F=Object")),t.close(),t.F},As,Ps=function(){try{As=new ActiveXObject("htmlfile")}catch{}Ps=typeof document<"u"?document.domain&&As?Np(As):uE():Np(As);for(var a=_p.length;a--;)delete Ps[Ko][_p[a]];return Ps()};aE[qp]=!0;Hp.exports=Object.create||function(e,t){var i;return e!==null?(Yo[Ko]=iE(e),i=new Yo,Yo[Ko]=null,i[qp]=e):i=Ps(),t===void 0?i:rE.f(i,t)}});var Yi=g((pM,jp)=>{"use strict";var lE=ji();jp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:lE(a,e,t),a}});var iu=g((hM,Gp)=>{"use strict";var cE=we(),dE=ve(),pE=Ne(),hE=Jo(),Wp=Ts(),fE=Yi(),mE=$e(),bE=ft(),tu=mE("iterator"),Qp=!1,_t,Zo,eu;[].keys&&(eu=[].keys(),"next"in eu?(Zo=Wp(Wp(eu)),Zo!==Object.prototype&&(_t=Zo)):Qp=!0);var gE=!pE(_t)||cE(function(){var a={};return _t[tu].call(a)!==a});gE?_t={}:bE&&(_t=hE(_t));dE(_t[tu])||fE(_t,tu,function(){return this});Gp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Qp}});var ks=g((fM,Yp)=>{"use strict";var SE=$e(),vE=SE("toStringTag"),zp={};zp[vE]="z";Yp.exports=String(zp)==="[object z]"});var Hr=g((mM,Kp)=>{"use strict";var yE=ks(),TE=ve(),Rs=hi(),IE=$e(),EE=IE("toStringTag"),xE=Object,wE=Rs(function(){return arguments}())==="Arguments",AE=function(a,e){try{return a[e]}catch{}};Kp.exports=yE?Rs:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=AE(e=xE(a),EE))=="string"?t:wE?Rs(e):(i=Rs(e))==="Object"&&TE(e.callee)?"Arguments":i}});var Jp=g((bM,Xp)=>{"use strict";var PE=ks(),kE=Hr();Xp.exports=PE?{}.toString:function(){return"[object "+kE(this)+"]"}});var jr=g((gM,eh)=>{"use strict";var RE=ks(),LE=gi().f,$E=ji(),ME=mt(),DE=Jp(),CE=$e(),Zp=CE("toStringTag");eh.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(ME(r,Zp)||LE(r,Zp,{configurable:!0,value:e}),i&&!RE&&$E(r,"toString",DE))}});var ih=g((SM,th)=>{"use strict";var BE=iu().IteratorPrototype,VE=Jo(),_E=Mr(),OE=jr(),FE=vi(),NE=function(){return this};th.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=VE(BE,{next:_E(+!i,t)}),OE(a,r,!1,!0),FE[r]=NE,a}});var ah=g((vM,rh)=>{"use strict";var qE=Ae(),UE=wt();rh.exports=function(a,e,t){try{return qE(UE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var nh=g((yM,sh)=>{"use strict";var HE=Ne();sh.exports=function(a){return HE(a)||a===null}});var uh=g((TM,oh)=>{"use strict";var jE=nh(),WE=String,QE=TypeError;oh.exports=function(a){if(jE(a))return a;throw new QE("Can't set "+WE(a)+" as a prototype")}});var ru=g((IM,lh)=>{"use strict";var GE=ah(),zE=Ne(),YE=Xt(),KE=uh();lh.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=GE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return YE(r),KE(s),zE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var yh=g((EM,vh)=>{"use strict";var XE=Te(),JE=Xe(),Ls=ft(),gh=Go(),ZE=ve(),ex=ih(),ch=Ts(),dh=ru(),tx=jr(),ix=ji(),au=Yi(),rx=$e(),ph=vi(),Sh=iu(),ax=gh.PROPER,sx=gh.CONFIGURABLE,hh=Sh.IteratorPrototype,$s=Sh.BUGGY_SAFARI_ITERATORS,Wr=rx("iterator"),fh="keys",Qr="values",mh="entries",bh=function(){return this};vh.exports=function(a,e,t,i,r,s,n){ex(t,e,i);var u=function(v){if(v===r&&d)return d;if(!$s&&v&&v in p)return p[v];switch(v){case fh:return function(){return new t(this,v)};case Qr:return function(){return new t(this,v)};case mh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,c=p[Wr]||p["@@iterator"]||r&&p[r],d=!$s&&c||u(r),h=e==="Array"&&p.entries||c,m,b,S;if(h&&(m=ch(h.call(new a)),m!==Object.prototype&&m.next&&(!Ls&&ch(m)!==hh&&(dh?dh(m,hh):ZE(m[Wr])||au(m,Wr,bh)),tx(m,o,!0,!0),Ls&&(ph[o]=bh))),ax&&r===Qr&&c&&c.name!==Qr&&(!Ls&&sx?ix(p,"name",Qr):(l=!0,d=function(){return JE(c,this)})),r)if(b={values:u(Qr),keys:s?d:u(fh),entries:u(mh)},n)for(S in b)($s||l||!(S in p))&&au(p,S,b[S]);else XE({target:e,proto:!0,forced:$s||l},b);return(!Ls||n)&&p[Wr]!==d&&au(p,Wr,d,{name:r}),ph[e]=d,b}});var Ih=g((xM,Th)=>{"use strict";Th.exports=function(a,e){return{value:a,done:e}}});var nu=g((wM,Ph)=>{"use strict";var nx=fi(),su=qr(),Eh=vi(),wh=jo(),ox=gi().f,ux=yh(),Ms=Ih(),lx=ft(),cx=Ke(),Ah="Array Iterator",dx=wh.set,px=wh.getterFor(Ah);Ph.exports=ux(Array,"Array",function(a,e){dx(this,{type:Ah,target:nx(a),index:0,kind:e})},function(){var a=px(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ms(void 0,!0);switch(a.kind){case"keys":return Ms(t,!1);case"values":return Ms(e[t],!1)}return Ms([t,e[t]],!1)},"values");var xh=Eh.Arguments=Eh.Array;su("keys");su("values");su("entries");if(!lx&&cx&&xh.name!=="values")try{ox(xh,"name",{value:"values"})}catch{}});var Rh=g((AM,kh)=>{"use strict";var hx=$e(),fx=vi(),mx=hx("iterator"),bx=Array.prototype;kh.exports=function(a){return a!==void 0&&(fx.Array===a||bx[mx]===a)}});var ou=g((PM,$h)=>{"use strict";var gx=Hr(),Lh=Vr(),Sx=Dr(),vx=vi(),yx=$e(),Tx=yx("iterator");$h.exports=function(a){if(!Sx(a))return Lh(a,Tx)||Lh(a,"@@iterator")||vx[gx(a)]}});var Dh=g((kM,Mh)=>{"use strict";var Ix=Xe(),Ex=wt(),xx=At(),wx=Br(),Ax=ou(),Px=TypeError;Mh.exports=function(a,e){var t=arguments.length<2?Ax(a):e;if(Ex(t))return xx(Ix(t,a));throw new Px(wx(a)+" is not iterable")}});var Vh=g((RM,Bh)=>{"use strict";var kx=Xe(),Ch=At(),Rx=Vr();Bh.exports=function(a,e,t){var i,r;Ch(a);try{if(i=Rx(a,"return"),!i){if(e==="throw")throw t;return t}i=kx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Ch(i),t}});var Cs=g((LM,Nh)=>{"use strict";var Lx=Hi(),$x=Xe(),Mx=At(),Dx=Br(),Cx=Rh(),Bx=Gi(),_h=Cr(),Vx=Dh(),_x=ou(),Oh=Vh(),Ox=TypeError,Ds=function(a,e){this.stopped=a,this.result=e},Fh=Ds.prototype;Nh.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=Lx(e,i),l,p,c,d,h,m,b,S=function(I){return l&&Oh(l,"normal"),new Ds(!0,I)},v=function(I){return r?(Mx(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(p=_x(a),!p)throw new Ox(Dx(a)+" is not iterable");if(Cx(p)){for(c=0,d=Bx(a);d>c;c++)if(h=v(a[c]),h&&_h(Fh,h))return h;return new Ds(!1)}l=Vx(a,p)}for(m=s?a.next:l.next;!(b=$x(m,l)).done;){try{h=v(b.value)}catch(I){Oh(l,"throw",I)}if(typeof h=="object"&&h&&_h(Fh,h))return h}return new Ds(!1)}});var Uh=g(($M,qh)=>{"use strict";var Fx=Ke(),Nx=gi(),qx=Mr();qh.exports=function(a,e,t){Fx?Nx.f(a,e,qx(0,t)):a[e]=t}});var Hh=g(()=>{"use strict";var Ux=Te(),Hx=Cs(),jx=Uh();Ux({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Hx(e,function(i,r){jx(t,i,r)},{AS_ENTRIES:!0}),t}})});var Wh=g((CM,jh)=>{"use strict";nu();Hh();var Wx=mi();jh.exports=Wx.Object.fromEntries});var Gh=g((BM,Qh)=>{"use strict";Qh.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 Yh=g(()=>{"use strict";nu();var Qx=Gh(),Gx=Se(),zx=jr(),zh=vi();for(Bs in Qx)zx(Gx[Bs],Bs),zh[Bs]=zh.Array;var Bs});var Xh=g((OM,Kh)=>{"use strict";var Yx=Wh();Yh();Kh.exports=Yx});var uu=g((FM,Jh)=>{"use strict";var Kx=Xh();Jh.exports=Kx});var Zh=g(()=>{"use strict"});var lu=g((UM,ef)=>{"use strict";var Gr=Se(),Xx=bi(),Jx=hi(),Vs=function(a){return Xx.slice(0,a.length)===a};ef.exports=function(){return Vs("Bun/")?"BUN":Vs("Cloudflare-Workers")?"CLOUDFLARE":Vs("Deno/")?"DENO":Vs("Node.js/")?"NODE":Gr.Bun&&typeof Bun.version=="string"?"BUN":Gr.Deno&&typeof Deno.version=="object"?"DENO":Jx(Gr.process)==="process"?"NODE":Gr.window&&Gr.document?"BROWSER":"REST"}()});var _s=g((HM,tf)=>{"use strict";var Zx=lu();tf.exports=Zx==="NODE"});var af=g((jM,rf)=>{"use strict";var ew=gi();rf.exports=function(a,e,t){return ew.f(a,e,t)}});var of=g((WM,nf)=>{"use strict";var tw=Vt(),iw=af(),rw=$e(),aw=Ke(),sf=rw("species");nf.exports=function(a){var e=tw(a);aw&&e&&!e[sf]&&iw(e,sf,{configurable:!0,get:function(){return this}})}});var lf=g((QM,uf)=>{"use strict";var sw=Cr(),nw=TypeError;uf.exports=function(a,e){if(sw(e,a))return a;throw new nw("Incorrect invocation")}});var du=g((GM,cf)=>{"use strict";var ow=Ae(),uw=ve(),cu=_r(),lw=ow(Function.toString);uw(cu.inspectSource)||(cu.inspectSource=function(a){return lw(a)});cf.exports=cu.inspectSource});var hu=g((zM,mf)=>{"use strict";var cw=Ae(),dw=we(),df=ve(),pw=Hr(),hw=Vt(),fw=du(),pf=function(){},hf=hw("Reflect","construct"),pu=/^\s*(?:class|function)\b/,mw=cw(pu.exec),bw=!pu.test(pf),zr=function(e){if(!df(e))return!1;try{return hf(pf,[],e),!0}catch{return!1}},ff=function(e){if(!df(e))return!1;switch(pw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return bw||!!mw(pu,fw(e))}catch{return!0}};ff.sham=!0;mf.exports=!hf||dw(function(){var a;return zr(zr.call)||!zr(Object)||!zr(function(){a=!0})||a})?ff:zr});var gf=g((YM,bf)=>{"use strict";var gw=hu(),Sw=Br(),vw=TypeError;bf.exports=function(a){if(gw(a))return a;throw new vw(Sw(a)+" is not a constructor")}});var fu=g((KM,vf)=>{"use strict";var Sf=At(),yw=gf(),Tw=Dr(),Iw=$e(),Ew=Iw("species");vf.exports=function(a,e){var t=Sf(a).constructor,i;return t===void 0||Tw(i=Sf(t)[Ew])?e:yw(i)}});var Tf=g((XM,yf)=>{"use strict";var xw=Ae();yf.exports=xw([].slice)});var Ef=g((JM,If)=>{"use strict";var ww=TypeError;If.exports=function(a,e){if(a<e)throw new ww("Not enough arguments");return a}});var mu=g((ZM,xf)=>{"use strict";var Aw=bi();xf.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Aw)});var xu=g((eD,Df)=>{"use strict";var Je=Se(),Pw=so(),kw=Hi(),wf=ve(),Rw=mt(),Mf=we(),Af=zo(),Lw=Tf(),Pf=Ss(),$w=Ef(),Mw=mu(),Dw=_s(),Tu=Je.setImmediate,Iu=Je.clearImmediate,Cw=Je.process,bu=Je.Dispatch,Bw=Je.Function,kf=Je.MessageChannel,Vw=Je.String,gu=0,Yr={},Rf="onreadystatechange",Kr,Ti,Su,vu;Mf(function(){Kr=Je.location});var Eu=function(a){if(Rw(Yr,a)){var e=Yr[a];delete Yr[a],e()}},yu=function(a){return function(){Eu(a)}},Lf=function(a){Eu(a.data)},$f=function(a){Je.postMessage(Vw(a),Kr.protocol+"//"+Kr.host)};(!Tu||!Iu)&&(Tu=function(e){$w(arguments.length,1);var t=wf(e)?e:Bw(e),i=Lw(arguments,1);return Yr[++gu]=function(){Pw(t,void 0,i)},Ti(gu),gu},Iu=function(e){delete Yr[e]},Dw?Ti=function(a){Cw.nextTick(yu(a))}:bu&&bu.now?Ti=function(a){bu.now(yu(a))}:kf&&!Mw?(Su=new kf,vu=Su.port2,Su.port1.onmessage=Lf,Ti=kw(vu.postMessage,vu)):Je.addEventListener&&wf(Je.postMessage)&&!Je.importScripts&&Kr&&Kr.protocol!=="file:"&&!Mf($f)?(Ti=$f,Je.addEventListener("message",Lf,!1)):Rf in Pf("script")?Ti=function(a){Af.appendChild(Pf("script"))[Rf]=function(){Af.removeChild(this),Eu(a)}}:Ti=function(a){setTimeout(yu(a),0)});Df.exports={set:Tu,clear:Iu}});var Vf=g((tD,Bf)=>{"use strict";var Cf=Se(),_w=Ke(),Ow=Object.getOwnPropertyDescriptor;Bf.exports=function(a){if(!_w)return Cf[a];var e=Ow(Cf,a);return e&&e.value}});var wu=g((iD,Of)=>{"use strict";var _f=function(){this.head=null,this.tail=null};_f.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}}};Of.exports=_f});var Nf=g((rD,Ff)=>{"use strict";var Fw=bi();Ff.exports=/ipad|iphone|ipod/i.test(Fw)&&typeof Pebble<"u"});var Uf=g((aD,qf)=>{"use strict";var Nw=bi();qf.exports=/web0s(?!.*chrome)/i.test(Nw)});var Yf=g((sD,zf)=>{"use strict";var Xi=Se(),qw=Vf(),Hf=Hi(),Au=xu().set,Uw=wu(),Hw=mu(),jw=Nf(),Ww=Uf(),Pu=_s(),jf=Xi.MutationObserver||Xi.WebKitMutationObserver,Wf=Xi.document,Qf=Xi.process,Os=Xi.Promise,Lu=qw("queueMicrotask"),Ki,ku,Ru,Fs,Gf;Lu||(Xr=new Uw,Jr=function(){var a,e;for(Pu&&(a=Qf.domain)&&a.exit();e=Xr.get();)try{e()}catch(t){throw Xr.head&&Ki(),t}a&&a.enter()},!Hw&&!Pu&&!Ww&&jf&&Wf?(ku=!0,Ru=Wf.createTextNode(""),new jf(Jr).observe(Ru,{characterData:!0}),Ki=function(){Ru.data=ku=!ku}):!jw&&Os&&Os.resolve?(Fs=Os.resolve(void 0),Fs.constructor=Os,Gf=Hf(Fs.then,Fs),Ki=function(){Gf(Jr)}):Pu?Ki=function(){Qf.nextTick(Jr)}:(Au=Hf(Au,Xi),Ki=function(){Au(Jr)}),Lu=function(a){Xr.head||Ki(),Xr.add(a)});var Xr,Jr;zf.exports=Lu});var Xf=g((nD,Kf)=>{"use strict";Kf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Ns=g((oD,Jf)=>{"use strict";Jf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ii=g((uD,Zf)=>{"use strict";var Qw=Se();Zf.exports=Qw.Promise});var Ji=g((lD,rm)=>{"use strict";var Gw=Se(),Zr=Ii(),zw=ve(),Yw=ko(),Kw=du(),Xw=$e(),em=lu(),Jw=ft(),$u=mo(),tm=Zr&&Zr.prototype,Zw=Xw("species"),Mu=!1,im=zw(Gw.PromiseRejectionEvent),eA=Yw("Promise",function(){var a=Kw(Zr),e=a!==String(Zr);if(!e&&$u===66||Jw&&!(tm.catch&&tm.finally))return!0;if(!$u||$u<51||!/native code/.test(a)){var t=new Zr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[Zw]=i,Mu=t.then(function(){})instanceof i,!Mu)return!0}return!e&&(em==="BROWSER"||em==="DENO")&&!im});rm.exports={CONSTRUCTOR:eA,REJECTION_EVENT:im,SUBCLASSING:Mu}});var Zi=g((cD,sm)=>{"use strict";var am=wt(),tA=TypeError,iA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new tA("Bad Promise constructor");e=i,t=r}),this.resolve=am(e),this.reject=am(t)};sm.exports.f=function(a){return new iA(a)}});var wm=g(()=>{"use strict";var rA=Te(),aA=ft(),js=_s(),Zt=Se(),sA=mi(),rr=Xe(),nm=Yi(),om=ru(),nA=jr(),oA=of(),uA=wt(),Hs=ve(),lA=Ne(),cA=lf(),dA=fu(),pm=xu().set,_u=Yf(),pA=Xf(),hA=Ns(),fA=wu(),hm=jo(),Ws=Ii(),Ou=Ji(),fm=Zi(),Qs="Promise",mm=Ou.CONSTRUCTOR,mA=Ou.REJECTION_EVENT,bA=Ou.SUBCLASSING,Du=hm.getterFor(Qs),gA=hm.set,er=Ws&&Ws.prototype,Ei=Ws,qs=er,bm=Zt.TypeError,Cu=Zt.document,Fu=Zt.process,Bu=fm.f,SA=Bu,vA=!!(Cu&&Cu.createEvent&&Zt.dispatchEvent),gm="unhandledrejection",yA="rejectionhandled",um=0,Sm=1,TA=2,Nu=1,vm=2,Us,lm,ym,cm,Tm=function(a){var e;return lA(a)&&Hs(e=a.then)?e:!1},Im=function(a,e){var t=e.value,i=e.state===Sm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===vm&&EA(e),e.rejection=Nu),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new bm("Promise-chain cycle")):(l=Tm(o))?rr(l,o,s,n):s(o)):n(t)}catch(c){u&&!p&&u.exit(),n(c)}},Em=function(a,e){a.notified||(a.notified=!0,_u(function(){for(var t=a.reactions,i;i=t.get();)Im(i,a);a.notified=!1,e&&!a.rejection&&IA(a)}))},xm=function(a,e,t){var i,r;vA?(i=Cu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!mA&&(r=Zt["on"+a])?r(i):a===gm&&pA("Unhandled promise rejection",t)},IA=function(a){rr(pm,Zt,function(){var e=a.facade,t=a.value,i=dm(a),r;if(i&&(r=hA(function(){js?Fu.emit("unhandledRejection",t,e):xm(gm,e,t)}),a.rejection=js||dm(a)?vm:Nu,r.error))throw r.value})},dm=function(a){return a.rejection!==Nu&&!a.parent},EA=function(a){rr(pm,Zt,function(){var e=a.facade;js?Fu.emit("rejectionHandled",e):xm(yA,e,a.value)})},tr=function(a,e,t){return function(i){a(e,i,t)}},ir=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=TA,Em(a,!0))},Vu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new bm("Promise can't be resolved itself");var i=Tm(e);i?_u(function(){var r={done:!1};try{rr(i,e,tr(Vu,r,a),tr(ir,r,a))}catch(s){ir(r,s,a)}}):(a.value=e,a.state=Sm,Em(a,!1))}catch(r){ir({done:!1},r,a)}}};if(mm&&(Ei=function(e){cA(this,qs),uA(e),rr(Us,this);var t=Du(this);try{e(tr(Vu,t),tr(ir,t))}catch(i){ir(t,i)}},qs=Ei.prototype,Us=function(e){gA(this,{type:Qs,done:!1,notified:!1,parent:!1,reactions:new fA,rejection:!1,state:um,value:null})},Us.prototype=nm(qs,"then",function(e,t){var i=Du(this),r=Bu(dA(this,Ei));return i.parent=!0,r.ok=Hs(e)?e:!0,r.fail=Hs(t)&&t,r.domain=js?Fu.domain:void 0,i.state===um?i.reactions.add(r):_u(function(){Im(r,i)}),r.promise}),lm=function(){var a=new Us,e=Du(a);this.promise=a,this.resolve=tr(Vu,e),this.reject=tr(ir,e)},fm.f=Bu=function(a){return a===Ei||a===ym?new lm(a):SA(a)},!aA&&Hs(Ws)&&er!==Object.prototype)){cm=er.then,bA||nm(er,"then",function(e,t){var i=this;return new Ei(function(r,s){rr(cm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete er.constructor}catch{}om&&om(er,qs)}rA({global:!0,constructor:!0,wrap:!0,forced:mm},{Promise:Ei});ym=sA.Promise;nA(Ei,Qs,!1,!0);oA(Qs)});var Lm=g((hD,Rm)=>{"use strict";var xA=$e(),Pm=xA("iterator"),km=!1;try{Am=0,qu={next:function(){return{done:!!Am++}},return:function(){km=!0}},qu[Pm]=function(){return this},Array.from(qu,function(){throw 2})}catch{}var Am,qu;Rm.exports=function(a,e){try{if(!e&&!km)return!1}catch{return!1}var t=!1;try{var i={};i[Pm]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Uu=g((fD,$m)=>{"use strict";var wA=Ii(),AA=Lm(),PA=Ji().CONSTRUCTOR;$m.exports=PA||!AA(function(a){wA.all(a).then(void 0,function(){})})});var Mm=g(()=>{"use strict";var kA=Te(),RA=Xe(),LA=wt(),$A=Zi(),MA=Ns(),DA=Cs(),CA=Uu();kA({target:"Promise",stat:!0,forced:CA},{all:function(e){var t=this,i=$A.f(t),r=i.resolve,s=i.reject,n=MA(function(){var u=LA(t.resolve),o=[],l=0,p=1;DA(e,function(c){var d=l++,h=!1;p++,RA(u,t,c).then(function(m){h||(h=!0,o[d]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Cm=g(()=>{"use strict";var BA=Te(),VA=ft(),_A=Ji().CONSTRUCTOR,ju=Ii(),OA=Vt(),FA=ve(),NA=Yi(),Dm=ju&&ju.prototype;BA({target:"Promise",proto:!0,forced:_A,real:!0},{catch:function(a){return this.then(void 0,a)}});!VA&&FA(ju)&&(Hu=OA("Promise").prototype.catch,Dm.catch!==Hu&&NA(Dm,"catch",Hu,{unsafe:!0}));var Hu});var Bm=g(()=>{"use strict";var qA=Te(),UA=Xe(),HA=wt(),jA=Zi(),WA=Ns(),QA=Cs(),GA=Uu();qA({target:"Promise",stat:!0,forced:GA},{race:function(e){var t=this,i=jA.f(t),r=i.reject,s=WA(function(){var n=HA(t.resolve);QA(e,function(u){UA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Vm=g(()=>{"use strict";var zA=Te(),YA=Zi(),KA=Ji().CONSTRUCTOR;zA({target:"Promise",stat:!0,forced:KA},{reject:function(e){var t=YA.f(this),i=t.reject;return i(e),t.promise}})});var Wu=g((ED,_m)=>{"use strict";var XA=At(),JA=Ne(),ZA=Zi();_m.exports=function(a,e){if(XA(a),JA(e)&&e.constructor===a)return e;var t=ZA.f(a),i=t.resolve;return i(e),t.promise}});var Nm=g(()=>{"use strict";var eP=Te(),tP=Vt(),Om=ft(),iP=Ii(),Fm=Ji().CONSTRUCTOR,rP=Wu(),aP=tP("Promise"),sP=Om&&!Fm;eP({target:"Promise",stat:!0,forced:Om||Fm},{resolve:function(e){return rP(sP&&this===aP?iP:this,e)}})});var qm=g(()=>{"use strict";wm();Mm();Cm();Bm();Vm();Nm()});var Wm=g(()=>{"use strict";var nP=Te(),oP=ft(),Gs=Ii(),uP=we(),Hm=Vt(),jm=ve(),lP=fu(),Um=Wu(),cP=Yi(),Gu=Gs&&Gs.prototype,dP=!!Gs&&uP(function(){Gu.finally.call({then:function(){}},function(){})});nP({target:"Promise",proto:!0,real:!0,forced:dP},{finally:function(a){var e=lP(this,Hm("Promise")),t=jm(a);return this.then(t?function(i){return Um(e,a()).then(function(){return i})}:a,t?function(i){return Um(e,a()).then(function(){throw i})}:a)}});!oP&&jm(Gs)&&(Qu=Hm("Promise").prototype.finally,Gu.finally!==Qu&&cP(Gu,"finally",Qu,{unsafe:!0}));var Qu});var Gm=g((LD,Qm)=>{"use strict";Zh();qm();Wm();var pP=Jt();Qm.exports=pP("Promise","finally")});var Ym=g(($D,zm)=>{"use strict";var hP=Gm();zm.exports=hP});var zs=g((MD,Km)=>{"use strict";var fP=Ym();Km.exports=fP});var pb=g(()=>{"use strict";var kP=Te(),RP=qi(),LP=Gi(),$P=Nr(),MP=qr();kP({target:"Array",proto:!0},{at:function(e){var t=RP(this),i=LP(t),r=$P(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});MP("at")});var fb=g((dB,hb)=>{"use strict";pb();var DP=Jt();hb.exports=DP("Array","at")});var bb=g((pB,mb)=>{"use strict";var CP=fb();mb.exports=CP});var gt=g((hB,gb)=>{"use strict";var BP=bb();gb.exports=BP});var fl=g((GV,Ub)=>{"use strict";var QP=hi();Ub.exports=Array.isArray||function(e){return QP(e)==="Array"}});var jb=g((zV,Hb)=>{"use strict";var GP=TypeError,zP=9007199254740991;Hb.exports=function(a){if(a>zP)throw GP("Maximum allowed index exceeded");return a}});var Gb=g((YV,Qb)=>{"use strict";var YP=fl(),KP=Gi(),XP=jb(),JP=Hi(),Wb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?JP(n,u):!1,c,d;l<i;)l in t&&(c=p?p(t[l],l,e):t[l],s>0&&YP(c)?(d=KP(c),o=Wb(a,e,c,d,o,s-1)-1):(XP(o+1),a[o]=c),o++),l++;return o};Qb.exports=Wb});var Xb=g((KV,Kb)=>{"use strict";var zb=fl(),ZP=hu(),ek=Ne(),tk=$e(),ik=tk("species"),Yb=Array;Kb.exports=function(a){var e;return zb(a)&&(e=a.constructor,ZP(e)&&(e===Yb||zb(e.prototype))?e=void 0:ek(e)&&(e=e[ik],e===null&&(e=void 0))),e===void 0?Yb:e}});var Zb=g((XV,Jb)=>{"use strict";var rk=Xb();Jb.exports=function(a,e){return new(rk(a))(e===0?0:e)}});var eg=g(()=>{"use strict";var ak=Te(),sk=Gb(),nk=wt(),ok=qi(),uk=Gi(),lk=Zb();ak({target:"Array",proto:!0},{flatMap:function(e){var t=ok(this),i=uk(t),r;return nk(e),r=lk(t,0),r.length=sk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var tg=g(()=>{"use strict";var ck=qr();ck("flatMap")});var rg=g((i0,ig)=>{"use strict";eg();tg();var dk=Jt();ig.exports=dk("Array","flatMap")});var sg=g((r0,ag)=>{"use strict";var pk=rg();ag.exports=pk});var da=g((a0,ng)=>{"use strict";var hk=sg();ng.exports=hk});var pa=g((s0,og)=>{"use strict";var fk=Hr(),mk=String;og.exports=function(a){if(fk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return mk(a)}});var ml=g((n0,ug)=>{"use strict";ug.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 dg=g((o0,cg)=>{"use strict";var bk=Ae(),gk=Xt(),Sk=pa(),gl=ml(),lg=bk("".replace),vk=RegExp("^["+gl+"]+"),yk=RegExp("(^|[^"+gl+"])["+gl+"]+$"),bl=function(a){return function(e){var t=Sk(gk(e));return a&1&&(t=lg(t,vk,"")),a&2&&(t=lg(t,yk,"$1")),t}};cg.exports={start:bl(1),end:bl(2),trim:bl(3)}});var mg=g((u0,fg)=>{"use strict";var Tk=Go().PROPER,Ik=we(),pg=ml(),hg="\u200B\x85\u180E";fg.exports=function(a){return Ik(function(){return!!pg[a]()||hg[a]()!==hg||Tk&&pg[a].name!==a})}});var Sl=g((l0,bg)=>{"use strict";var Ek=dg().start,xk=mg();bg.exports=xk("trimStart")?function(){return Ek(this)}:"".trimStart});var Sg=g(()=>{"use strict";var wk=Te(),gg=Sl();wk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==gg},{trimLeft:gg})});var yg=g(()=>{"use strict";Sg();var Ak=Te(),vg=Sl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==vg},{trimStart:vg})});var Ig=g((f0,Tg)=>{"use strict";yg();var Pk=Jt();Tg.exports=Pk("String","trimLeft")});var xg=g((m0,Eg)=>{"use strict";var kk=Ig();Eg.exports=kk});var Ag=g((b0,wg)=>{"use strict";var Rk=xg();wg.exports=Rk});var qg=g(()=>{"use strict"});var Ug=g(()=>{"use strict"});var jg=g((XO,Hg)=>{"use strict";var Yk=Ne(),Kk=hi(),Xk=$e(),Jk=Xk("match");Hg.exports=function(a){var e;return Yk(a)&&((e=a[Jk])!==void 0?!!e:Kk(a)==="RegExp")}});var Gg=g((JO,Qg)=>{"use strict";var Zk=Se(),eR=we(),Wg=Zk.RegExp,tR=!eR(function(){var a=!0;try{Wg(".","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(Wg.prototype,"flags").get.call(e);return u!==i||t!==i});Qg.exports={correct:tR}});var Yg=g((ZO,zg)=>{"use strict";var iR=At();zg.exports=function(){var a=iR(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 Jg=g((eF,Xg)=>{"use strict";var rR=Xe(),aR=mt(),sR=Cr(),Kg=Gg(),nR=Yg(),oR=RegExp.prototype;Xg.exports=Kg.correct?function(a){return a.flags}:function(a){return!Kg.correct&&sR(oR,a)&&!aR(a,"flags")?rR(nR,a):a.flags}});var eS=g((tF,Zg)=>{"use strict";var Il=Ae(),uR=qi(),lR=Math.floor,yl=Il("".charAt),cR=Il("".replace),Tl=Il("".slice),dR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,pR=/\$([$&'`]|\d{1,2})/g;Zg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=pR;return r!==void 0&&(r=uR(r),o=dR),cR(s,o,function(l,p){var c;switch(yl(p,0)){case"$":return"$";case"&":return a;case"`":return Tl(e,0,t);case"'":return Tl(e,n);case"<":c=r[Tl(p,1,-1)];break;default:var d=+p;if(d===0)return l;if(d>u){var h=lR(d/10);return h===0?l:h<=u?i[h-1]===void 0?yl(p,1):i[h-1]+yl(p,1):l}c=i[d-1]}return c===void 0?"":c})}});var rS=g(()=>{"use strict";var hR=Te(),fR=Xe(),xl=Ae(),tS=Xt(),mR=ve(),bR=Ne(),gR=jg(),mr=pa(),SR=Vr(),vR=Jg(),yR=eS(),TR=$e(),IR=ft(),ER=TR("replace"),xR=TypeError,El=xl("".indexOf),wR=xl("".replace),iS=xl("".slice),AR=Math.max;hR({target:"String",proto:!0},{replaceAll:function(e,t){var i=tS(this),r,s,n,u,o,l,p,c,d,h,m=0,b="";if(bR(e)){if(r=gR(e),r&&(s=mr(tS(vR(e))),!~El(s,"g")))throw new xR("`.replaceAll` does not allow non-global regexes");if(n=SR(e,ER),n)return fR(n,e,i,t);if(IR&&r)return wR(mr(i),e,t)}for(u=mr(i),o=mr(e),l=mR(t),l||(t=mr(t)),p=o.length,c=AR(1,p),d=El(u,o);d!==-1;)h=l?mr(t(o,d,u)):yR(o,u,d,[],void 0,t),b+=iS(u,m,d)+h,m=d+p,d=d+c>u.length?-1:El(u,o,d+c);return m<u.length&&(b+=iS(u,m)),b}})});var sS=g((aF,aS)=>{"use strict";qg();Ug();rS();var PR=Jt();aS.exports=PR("String","replaceAll")});var oS=g((sF,nS)=>{"use strict";var kR=sS();nS.exports=kR});var lS=g((nF,uS)=>{"use strict";var RR=oS();uS.exports=RR});var dS=g((oF,cS)=>{"use strict";var LR=Nr(),$R=pa(),MR=Xt(),DR=RangeError;cS.exports=function(e){var t=$R(MR(this)),i="",r=LR(e);if(r<0||r===1/0)throw new DR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var bS=g((uF,mS)=>{"use strict";var fS=Ae(),CR=Bo(),pS=pa(),BR=dS(),VR=Xt(),_R=fS(BR),OR=fS("".slice),FR=Math.ceil,hS=function(a){return function(e,t,i){var r=pS(VR(e)),s=CR(t),n=r.length,u=i===void 0?" ":pS(i),o,l;return s<=n||u===""?r:(o=s-n,l=_R(u,FR(o/u.length)),l.length>o&&(l=OR(l,0,o)),a?r+l:l+r)}};mS.exports={start:hS(!1),end:hS(!0)}});var SS=g((lF,gS)=>{"use strict";var NR=bi();gS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(NR)});var vS=g(()=>{"use strict";var qR=Te(),UR=bS().start,HR=SS();qR({target:"String",proto:!0,forced:HR},{padStart:function(e){return UR(this,e,arguments.length>1?arguments[1]:void 0)}})});var TS=g((pF,yS)=>{"use strict";vS();var jR=Jt();yS.exports=jR("String","padStart")});var ES=g((hF,IS)=>{"use strict";var WR=TS();IS.exports=WR});var wS=g((fF,xS)=>{"use strict";var QR=ES();xS.exports=QR});var yL={};Dv(yL,{ChromecastState:()=>kr,HttpConnectionType:()=>fs,Observable:()=>Ct.Observable,PlaybackState:()=>_e,Player:()=>as,PredefinedQualityLimits:()=>Rr,SDK_VERSION:()=>vL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ms,VERSION:()=>ro,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>ab,clientChecker:()=>j,isMobile:()=>ar});module.exports=Cv(yL);var ro="2.0.143-dev.e771e267.0";var _e=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(_e||{}),xt=(x=>(x.MPEG="MPEG",x.DASH="DASH",x.DASH_SEP="DASH_SEP",x.DASH_SEP_VK="DASH_SEP",x.DASH_WEBM="DASH_WEBM",x.DASH_WEBM_AV1="DASH_WEBM_AV1",x.DASH_STREAMS="DASH_STREAMS",x.DASH_WEBM_VK="DASH_WEBM",x.DASH_ONDEMAND="DASH_ONDEMAND",x.DASH_ONDEMAND_VK="DASH_ONDEMAND",x.DASH_LIVE="DASH_LIVE",x.DASH_LIVE_CMAF="DASH_LIVE_CMAF",x.DASH_LIVE_WEBM="DASH_LIVE_WEBM",x.HLS="HLS",x.HLS_ONDEMAND="HLS_ONDEMAND",x.HLS_JS="HLS",x.HLS_FMP4="HLS_FMP4",x.HLS_LIVE="HLS_LIVE",x.HLS_LIVE_CMAF="HLS_LIVE_CMAF",x.WEB_RTC_LIVE="WEB_RTC_LIVE",x))(xt||{});var kr=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(kr||{}),fs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(fs||{});var ms=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ms||{}),Rr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Rr||{});var ec=Q(Si(),1),Ev=Q(qe(),1);var J=require("@vkontakte/videoplayer-shared/es2024");var Sp=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 Es=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;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=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||Sp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.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(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,J.fromEvent)(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(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)(RI),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(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"?(0,J.isNonNullable)(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:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},RI=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(0,J.assertNever)(a)}};var Xl=Q(qe(),1),cv=Q(zi(),1),dv=Q(uu(),1);var nb=Q(zs(),1);var zu=require("@vkontakte/videoplayer-shared/es2024");var ye=(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:(0,zu.assertNever)(t)}return a},ei=(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:(0,zu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared/es2024"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var Ku=require("@vkontakte/videoplayer-shared/es2024");var Ys=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 Xm=Q(qe(),1);var ar=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ks=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,Xm.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=ar()}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 Xs=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 Ze=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Jm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Js=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var mP=document.createElement("video"),bP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',gP='video/mp4; codecs="hev1.1.6.L93.B0"',Zm='video/webm; codecs="vp09.00.10.08"',eb='video/webm; codecs="av01.0.00M.08"',SP='audio/mp4; codecs="mp4a.40.2"',vP='audio/webm; codecs="opus"',tb,yP=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:eb}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Zm}})]);tb={DASH_WEBM_AV1:e,DASH_WEBM:t}};yP().catch(a=>{console.log(mP),console.error(a)});var Zs=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 tb}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:sr(),mse:Jm(),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=!!Ze()?.isTypeSupported?.(bP),t=!!Ze()?.isTypeSupported?.(gP),i=!!Ze()?.isTypeSupported?.(SP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Zm),av1:!!Ze()?.isTypeSupported?.(eb),aac:i,opus:!!Ze()?.isTypeSupported?.(vP),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 ib="audio/mpeg",en=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(ib)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(ib)}}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}};var rb=require("@vkontakte/videoplayer-shared/es2024"),Yu=class{constructor(){this.isInited$=new rb.ValueSubject(!1);this._displayChecker=new Xs,this._deviceChecker=new Ks(this._displayChecker),this._browserChecker=new Ys,this._videoChecker=new Zs(this._deviceChecker,this._browserChecker),this._audioChecker=new en,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)}},j=new Yu;var Xu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=j.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(0,Ku.assertNever)(u)}})},Ju=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(0,Ku.assertNever)(a)}},ab=a=>{let t=Object.keys(a).filter(i=>!Ju(i));return Xu(t).length>0};var N=require("@vkontakte/videoplayer-shared/es2024");var TP=5,IP=5,EP=500,sb=7e3,ea=class{constructor(e){this.subscription=new N.Subscription;this.loadMediaTimeoutSubscription=new N.Subscription;this.videoState=new Z("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:(0,N.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,N.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,N.assertNever)(e)}break}default:(0,N.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ju(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 N.Subscription;this.subscription.add(e),this.subscription.add((0,N.merge)(this.videoState.stateChangeStarted$.pipe((0,N.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,N.map)(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 N.Subject;e.add(r.pipe((0,N.debounce)(EP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,N.fromEvent)(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)>TP)&&r.next(u),s=u})),e.add((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,N.fromEvent)(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<IP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,N.assertNever)(n)}}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,N.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,N.observableFrom)(["init"])).pipe((0,N.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(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"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(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];(0,N.assertNonNullable)(l);let p=(0,N.getHighestQuality)(Object.keys(l));(0,N.assertNonNullable)(p);let c=l[p];(0,N.assertNonNullable)(c),i=c,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,N.assertNonNullable)(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];(0,N.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,N.assertNonNullable)(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];(0,N.assertNonNullable)(l),i=ye(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",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:N.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,N.assertNever)(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(0,N.isNonNullable)(u)&&(n.metadata.title=u),(0,N.isNonNullable)(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((0,N.timeout)(sb).subscribe(()=>s(`timeout(${sb})`)))});(0,nb.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:N.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var pl=Q(qe(),1);var il=require("@vkontakte/videoplayer-shared/es2024");var ob=require("@vkontakte/videoplayer-shared/es2024"),ub=a=>{try{a.pause(),a.playbackRate=0,(0,ob.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var tn=require("@vkontakte/videoplayer-shared/es2024"),Zu=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)}},el=window.WeakMap?new WeakMap:new Zu,tl=window.WeakMap?new WeakMap:new Map,xP=(a,e=20)=>{let t=0;return(0,tn.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,il.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),el.set(i,r);let s=new tn.Subscription;return s.add(xP(i,e)),tl.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},He=a=>{tl.get(a)?.unsubscribe(),tl.delete(a);let t=el.get(a);el.delete(a),t?(0,il.clearVideoElement)(a):ub(a)};var rl=Q(Si(),1),q=require("@vkontakte/videoplayer-shared/es2024");var ti=require("@vkontakte/videoplayer-shared/es2024"),rn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let c=a.getState();i(p,c)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>rn(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>rn(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(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}),nt=(a,e,t,i)=>rn(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),ta=rn;var wP=a=>["__",a.language,a.label].join("|"),AP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},al=class a{constructor(e){this.available$=new q.Subject;this.current$=new q.ValueSubject(void 0);this.error$=new q.Subject;this.subscription=new q.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:q.ErrorCategory.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(ta(t.internalTextTracks,()=>(0,rl.default)(this.internalTracks),s=>{(0,q.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(ta(t.externalTextTracks,()=>(0,rl.default)(this.externalTracks),s=>{(0,q.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(ta(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(ta(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,q.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,q.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"addtrack"),(0,q.fromEvent)(e,"removetrack"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,q.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"change"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,q.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,q.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,q.fromEvent)(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((0,q.fromEvent)(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;(0,q.isNonNullable)(t.align)&&(r.align=t.align),(0,q.isNonNullable)(t.position)&&(r.position=t.position),(0,q.isNonNullable)(t.size)&&(r.size=t.size),(0,q.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,q.assertNonNullable)(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:wP(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){(0,q.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,q.isNullable)(e)||!AP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,q.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,q.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=al;var xi=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 lb=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},sl=a=>{let e=lb(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cb=a=>{let e=lb(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var L=require("@vkontakte/videoplayer-shared/es2024");var PP=3,db=(a,e,t=PP)=>{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 We=a=>{let e=$=>(0,L.fromEvent)(a,$).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)),t=new L.Subscription,i=()=>t.unsubscribe(),r=(0,L.merge)((0,L.fromEvent)(a,"progress"),(0,L.fromEvent)(a,"timeupdate")).pipe((0,L.map)(()=>db(a.buffered,a.currentTime)),(0,L.shareReplay)(1)),s=j.browser.isSafari?(0,L.combine)({play:e("play").pipe((0,L.once)()),playing:e("playing")}).pipe((0,L.mapTo)(void 0),(0,L.shareReplay)(1)):e("playing"),n=(0,L.fromEvent)(a,"volumechange").pipe((0,L.map)(()=>({muted:a.muted,volume:a.volume})),(0,L.shareReplay)(1)),u=(0,L.fromEvent)(a,"ratechange").pipe((0,L.map)(()=>a.playbackRate),(0,L.shareReplay)(1)),o=(0,L.fromEvent)(a,"error").pipe((0,L.filter)(()=>!!(a.error||a.played.length)),(0,L.map)(()=>{let $=a.error;return{id:$?`MediaError#${$.code}`:"HtmlVideoError",category:L.ErrorCategory.VIDEO_PIPELINE,message:$?$.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,L.shareReplay)(1)),l=(0,L.fromEvent)(a,"timeupdate").pipe((0,L.map)(()=>a.currentTime),(0,L.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],c=new L.Subject,d=.3,h;t.add((0,L.merge)(...p.map($=>(0,L.fromEvent)(a,$))).subscribe($=>{let ee=a.currentTime;a.loop&&(0,L.isNonNullable)(h)&&(0,L.isNonNullable)(ee)&&h>=a.duration-d&&ee<=d&&c.next(h),h=ee}));let m=e("pause").pipe((0,L.filter)(()=>!a.error&&h!==a.duration),(0,L.shareReplay)(1)),b=(0,L.fromEvent)(a,"enterpictureinpicture").pipe((0,L.shareReplay)(1)),S=(0,L.fromEvent)(a,"leavepictureinpicture").pipe((0,L.shareReplay)(1)),v=new L.ValueSubject(cb(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new L.ValueSubject(sl(a)),P=(0,L.fromEvent)(a,"fullscreenchange").pipe((0,L.shareReplay)(1));t.add(P.pipe((0,L.map)(()=>sl(a))).subscribe(I));let x=.1,M=1e3,_=(0,L.fromEvent)(a,"timeupdate").pipe((0,L.map)($=>a.duration-a.currentTime<x),(0,L.filterChanged)(),(0,L.shareReplay)(1)),V=(0,L.merge)(_.pipe((0,L.filter)($=>!a.loop&&$)),(0,L.fromEvent)(a,"ended")).pipe((0,L.throttle)(M),(0,L.mapTo)(void 0),(0,L.shareReplay)(1)),H=(0,L.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map($=>(0,L.fromEvent)(a,$)),_.pipe((0,L.map)($=>({type:$?"ended":"unknown"})))).pipe((0,L.map)($=>j.browser.isFirefox&&$.type==="ended"?a.readyState<2:a.readyState<3),(0,L.filterChanged)(),(0,L.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:V,looped$:c,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,L.fromEvent)(a,"durationchange").pipe((0,L.map)(()=>a.duration),(0,L.shareReplay)(1)),isBuffering$:H,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared/es2024"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Fe=Q(gt(),1),ol=Q(qe(),1),wi=Q(zi(),1),D=require("@vkontakte/videoplayer-shared/es2024");var nl=!1,Nt={},Sb=a=>{nl=a},vb=()=>{Nt={}},yb=a=>{a(Nt)},ia=(a,e)=>{nl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},Oe=class{constructor(e){this.name=e}next(e){if(!nl)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared/es2024");function Tb(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function nr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Ib({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return nr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var Pb=new Oe("best_bitrate"),sn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var or=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},nn='Assertion "ABR Tracks is empty array" failed',an=new WeakMap,Eb=new WeakMap,xb=new WeakMap,ra=(a,e,t,i)=>{let r=[...e].sort(or(1)),s=[...t].sort(or(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},aa=(a,e,t,i)=>{let r=an.get(e);r||(r=[...e].sort(or(1)),an.set(e,r));let s=an.get(t);s||(s=[...t].sort(or(1)),an.set(t,s));let n=xb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),xb.set(a,n));let u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,ol.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},wb=a=>"quality"in a,on=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-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=wb(n)?"video":"audio",o=wb(n)?n.quality:n.bitrate;return e({message:`
|
|
8
8
|
[last ${u} selected] ${o}
|
|
9
9
|
`}),n}return i?.recordSwitch(t),t},VP=(a,e)=>Math.log(e)/Math.log(a),kb=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&j.display.pixelRatio){let s=j.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,p=VP(n,u*s+o)+l;Number.isFinite(p)&&(r*=p)}}return(0,D.isNonNullable)(t?.min)&&(0,D.isHigherOrEqual)(t.min,a.highQualityLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},Ab=new WeakMap,Rt=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:p,droppedVideoMaxQualityLimit:c,stallsVideoMaxQualityLimit:d,stallsPredictedThroughput:h,abrLogger:m,panelSize:b})=>{(0,D.assertNotEmptyArray)(a,nn);let{containerSizeFactor:S,containerSizeLimit:v}=kb({container:e,tuning:i,limits:r,panelSize:b}),I=i.considerPlaybackRate&&(0,D.isNonNullable)(u)?u:1,P=Ab.get(a);P||(P=a.filter(w=>!(0,D.isInvariantQuality)(w.quality)).sort((w,R)=>(0,D.isHigher)(w.quality,R.quality)?-1:1),Ab.set(a,P));let x=(0,Fe.default)(P,-1)?.quality,M=(0,Fe.default)(P,0)?.quality,_=nr(r,M,x),V=I*sn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),C={},H=null;for(let w of P){let R=!0;if(v)if(w.size)R=w.size.width<=v.width&&w.size.height<=v.height;else{let ae=v&&(0,D.videoSizeToQuality)(v);R=ae?(0,D.isLowerOrEqual)(w.quality,ae):!0}if(!R){C[w.quality]="FitsContainer";continue}let oe=h||t,F=(0,D.isNonNullable)(oe)&&isFinite(oe)&&(0,D.isNonNullable)(w.bitrate)?oe-s>=w.bitrate*V:!0,re=r?.min===w.quality;if(!F&&!re){C[w.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&(0,D.isNonNullable)(i.minBufferToSwitchUp)&&o&&!(0,D.isInvariantQuality)(o.quality)&&(n??0)<i.minBufferToSwitchUp&&(0,D.isHigher)(w.quality,o.quality)){C[w.quality]="Buffer";continue}if(!!c&&(0,D.isHigherOrEqual)(w.quality,c)&&!re){C[w.quality]="DroppedFramesLimit";continue}if(!!d&&(0,D.isHigherOrEqual)(w.quality,d)&&!re){C[w.quality]="StallsLimit";continue}let ke=_||((0,D.isNullable)(r?.max)||(0,D.isLowerOrEqual)(w.quality,r.max))&&((0,D.isNullable)(r?.min)||(0,D.isHigherOrEqual)(w.quality,r.min)),Re=(0,D.isNonNullable)(p)&&!p?(0,D.isLowerOrEqual)(w.quality,i.backgroundVideoQualityLimit):!0;if(!ke||!Re){C[w.quality]="FitsQualityLimits";continue}H||(H=w)}H&&H.bitrate&&Pb.next(H.bitrate);let $=H??(0,Fe.default)(P,-1)??a[0],ee=l?.last,W=on(i,m,$,l);return(0,D.isNonNullable)(l)&&W.quality!==ee?.quality&&m({message:`
|
|
10
10
|
[VIDEO TRACKS ABR]
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
minBufferToSwitchUp: ${r.minBufferToSwitchUp},
|
|
115
115
|
|
|
116
116
|
[selected audio track] ${I?.id}
|
|
117
|
-
`}),I};var Me=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared/es2024");var Cb=Q(gt(),1);var Lb=Q(qe(),1),Rb=a=>{if(a instanceof DOMException&&(0,Lb.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},Qe=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!Rb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return Rb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared/es2024");var $b=Q(Si(),1),Lt=require("@vkontakte/videoplayer-shared/es2024");function Pe(){return(0,Lt.now)()}function ul(a){return Pe()-a}function ll(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Mb(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function ur(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,c,d=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let W=ul(p),w;if(W<b){w=b-W,setTimeout(S,w);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,_()},v=W=>(s=W,ee),I=W=>(c=W,ee),P=()=>(h="json",ee),x=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,c&&c(),t&&t()}},M=W=>(d=W,ee),_=()=>{p=Pe(),n=new r,n.open("get",a);let W=0,w,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(w||0,R||0)));if(s&&n.addEventListener("progress",F=>{let re=Pe();s.updateChunk&&F.loaded>W&&(s.updateChunk(oe(),F.loaded-W),W=F.loaded,w=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>x())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let F=n.status;if(F>=200&&F<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-W;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,$b.default)(re).length)?x():(c&&c(),e(re))}else x()}),n.addEventListener("error",()=>{x()}),d){let F=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",F))};n.addEventListener("readystatechange",F)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:M,withJSONResponse:P,withRetryCount:W=>(l=W,ee),withRetryInterval:(W,w)=>((0,Lt.isNonNullable)(W)&&(b=W),(0,Lt.isNonNullable)(w)&&(m=w),ee),withTimeout:W=>(u=W,ee),withFinally:I,send:_,abort:()=>{n&&(n.abort(),n=void 0),o=!0,c&&c()}};return ee}var sa=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Db=Q(Si(),1);var na=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=ur(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Db.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Bb=require("@vkontakte/videoplayer-shared/es2024");var dn=1e4,cl=3;var OP=6e4,FP=10,NP=1,qP=500,oa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Bb.Subject,this.chunkRateEstimator=new sa(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ll(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ll(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(j.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Ib({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Cb.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Mb(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new na(cl,dn,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,c=()=>{let x=s&&(!p||p===this.rep);return x||t("Not running!"),x},d=(x,M,_)=>{o&&o.abort(),o=ur(this.urlResolver.resolve(x,!1),M,_,()=>this._retryCallback()).withTimeout(dn).withBitrateReporting(this.bitrateSwitcher).withRetryCount(cl).withFinally(()=>{o=null}).send()},h=(x,M,_)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(x,!1),M,_,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=x=>{let M=i.playbackRate;i.playbackRate!==x&&(t(`Playback rate switch: ${M}=>${x}`),i.playbackRate=x)},b=x=>{this.lowLatency=x,t(`lowLatency changed to ${x}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let x=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let _=Pe()-1e4,V=0;for(let H=0;H<this.bufferStates.length;H++){let $=this.bufferStates[H];x=Math.min(x,$.buf),$.ts<_&&V++}this.bufferStates.splice(0,V),t(`update playback rate; minBuffer=${x} drop=${V} jitter=${this.sourceJitter}`);let C=x-NP;this.sourceJitter>=0?C-=this.sourceJitter/2:this.sourceJitter-=1,C>3?m(1.15):C>1?m(1.1):C>.3?m(1.05):m(1)}},v=x=>{let M,_=()=>M&&M.start?M.start.length:0,V=F=>M.start[F]/1e3,C=F=>M.dur[F]/1e3,H=F=>M.fragIndex+F,$=(F,re)=>({chunkIdx:H(F),startTS:V(F),dur:C(F),discontinuity:re}),ee=()=>{let F=0;if(M&&M.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=M.dur.length-1;for(;Ee>=0&&(ge-=M.dur[Ee],!(ge<=0));--Ee);F=Math.min(Ee,M.dur.length-1-le),F=Math.max(F,0)}return $(F,!0)},W=F=>{let re=_();if(!(re<=0)){if((0,et.isNonNullable)(F)){for(let le=0;le<re;le++)if(V(le)>F)return $(le)}return ee()}},w=F=>{let re=_(),le=F?F.chunkIdx+1:0,ge=le-M.fragIndex;if(!(re<=0)){if(!F||ge<0||ge-re>FP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(F)),ee();if(!(ge>=re))return $(le-M.fragIndex,!1)}},R=(F,re,le)=>{l&&l.abort(),l=ur(this.urlResolver.resolve(F,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(dn).withRetryCount(cl).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(F,re)=>{R(x,le=>{if(!c())return;M=le;let ge=!!M.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<M.dur.length;++ke)Ee+=M.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/M.dur.length)),r({name:"index",zeroTime:M.zeroTime,shiftDuration:M.shiftDuration}),this.sourceJitter=M.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,M.jitter/1e3)):1,F(W(re))},()=>this._handleNetworkError())},nextChunk:w}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:x=>{let{videoElement:M,logger:_}=this.params,V=v(e.jidxUrl),C,H,$,ee,W=0,w,R,oe,F=()=>{w&&(clearTimeout(w),w=void 0);let te=Math.max(qP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Le=W+te,Be=Pe(),xe=Math.min(1e4,Le-Be);W=Be;let at=()=>{l||c()&&V.seek(()=>{c()&&(W=Pe(),re(),F())})};xe>0?w=window.setTimeout(()=>{this.paused?F():at()},xe):at()},re=()=>{let te;for(;te=V.nextChunk(ee);)ee=te,Re(te);let Le=V.nextChunk($);if(Le){if($&&Le.discontinuity){_("Detected discontinuity; restarting playback"),this.paused?F():(I(),this._initPlayerWith(e));return}ke(Le)}else F()},le=(te,Le)=>{if(!c()||!this.sourceBuffer)return;let Be,xe,at,Gt=yt=>{window.setTimeout(()=>{c()&&le(te,Le)},yt)};if(this.sourceBuffer.updating)_("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=M.currentTime;!this.paused&&M.buffered.length>1&&R===Ye&&yt-oe>500&&(_("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)_(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Le&&Le()}catch(Tt){if(Tt.name==="QuotaExceededError")_("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Be=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Be>4&&this.sourceBuffer.remove(Be,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{H&&C&&(_([`Appending chunk, sz=${H.byteLength}:`,JSON.stringify($)]),le(H,function(){H=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{c()&&h(Ee(te),(Le,Be)=>{if(c()){if(Be/=1e3,H=Le,$=te,n=te.startTS,Be){let xe=Math.min(10,te.dur/Be);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{c()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{c()&&(e.cachedHeader=te,le(te,()=>{C=!0,ge()}))};s=!0,V.seek(te=>{if(c()){if(W=Pe(),!te){F();return}ee=te,!(0,et.isNullable)(x)||te.startTS>x?ke(te):($=te,re())}},x),e.cachedHeader?ae(e.cachedHeader):d(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=c=>{if(!this.autoQuality)return;let d,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&c<this.bitrate&&(h=this._getBufferSizeSec(),m=c/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(c)}`);return}d=this._selectQuality(c),d?this._switchToQuality(d):e(`Could not find quality by bitrate ${c}`)},s={updateChunk:(d,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(d,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-d,speed:S}),!0}},get:()=>{let d=this.chunkRateEstimator.getBitRate();return d?d*.85:0}},n=-1/0,u,o=!0,l=()=>{let c=s.get();if(c&&u&&this.autoQuality){if(o&&c>u&&ul(n)<3e4)return;i(c)}o=this.autoQuality};return{updateChunk:(c,d)=>{let h=s.updateChunk(c,d);return h&&l(),h},notifySwitch:c=>{let d=Pe();c<u&&(n=d),u=c}}}_fetchManifest(e,t,i){this.manifestRequest=ur(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(dn).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Qe(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},OP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Vb=Q(zi(),1),be=require("@vkontakte/videoplayer-shared/es2024"),dl=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,Vb.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},lr=dl;var pn=require("@vkontakte/videoplayer-shared/es2024"),_b=require("@vkontakte/videoplayer-shared/es2024");var ua=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var UP=(a,e)=>new pn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||ua()))},{...i,...e});r.observe(a);let s=(0,_b.fromEvent)(document,"visibilitychange").pipe((0,pn.map)(n=>!document.hidden||ua())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=UP;var HP=["paused","playing","ready"],jP=["paused","playing","ready"],la=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new lr;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new xi;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,pl.default)(jP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,pl.default)(HP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(Me(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=We(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new oa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var Ob=la;var De=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared/es2024");var{NativeAbortSignal:D0,NativeAbortController:C0}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Fb(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function Nb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var hn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},cr=class extends hn{constructor(){super(),this.listeners||hn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Ai;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Ai;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},Ai=class{constructor(){Object.defineProperty(this,"signal",{value:new cr,writable:!0,configurable:!0})}abort(e){let t=Nb(e),i=Fb(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Ai.prototype[Symbol.toStringTag]="AbortController",cr.prototype[Symbol.toStringTag]="AbortSignal");function fn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function hl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!fn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let c;p&&p.signal&&(c=p.signal,delete p.signal);let d=new t(l,p);return c&&Object.defineProperty(d,"signal",{writable:!1,enumerable:!1,configurable:!0,value:c}),d},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let c;try{c=new DOMException("Aborted","AbortError")}catch{c=new Error("Aborted"),c.name="AbortError"}if(p.aborted)return Promise.reject(c);let d=new Promise((h,m)=>{p.addEventListener("abort",()=>m(c),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([d,n(o,l)])}return n(o,l)},Request:s}}var WP=()=>"fetch"in window,ca=WP()&&fn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),qb=ca?hl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ca?qb.fetch:window.fetch,j0=ca?qb.Request:window.Request,ue=ca?Ai:window.AbortController,W0=ca?cr:window.AbortSignal;var US=Q(qe(),1),Vl=Q(da(),1);var Pg=Q(Ag(),1),dr=require("@vkontakte/videoplayer-shared/es2024"),mn=a=>{if(!a)return{id:"EmptyResponse",category:dr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:dr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,Pg.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:dr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:dr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:dr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Ce=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared/es2024");var Sn=Q(qe(),1),Ri=Q(gt(),1),vn=Q(da(),1);var Lk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},$k=a=>window.clearTimeout(a),kg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),Rg=!kg(window.requestIdleCallback)||!kg(window.cancelIdleCallback),pr=Rg?Lk:window.requestIdleCallback,$t=Rg?$k:window.cancelIdleCallback;var _S=Q(zs(),1);var ai=require("@vkontakte/videoplayer-shared/es2024");var Mk=18,Lg=!1;try{Lg=j.browser.isSafari&&!!j.browser.safariVersion&&j.browser.safariVersion<=Mk}catch(a){console.error(a)}var vl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};Lg&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},$g=vl;var hr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared/es2024");var Dg=Q(gt(),1);var bn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var fr=class extends se{};var Mg=require("@vkontakte/videoplayer-shared/es2024");var ha=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,Mg.assertNever)(e)}}};var fa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var ba=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Pi=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var va=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ya=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ta=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Ia=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ea=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Aa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Ra=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var La=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var $a=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ma=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Da=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ca=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ba=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Ck={ftyp:fa,moov:ma,mvhd:ba,moof:ga,mdat:Sa,sidx:Pi,trak:va,mdia:xa,mfhd:ka,tkhd:wa,traf:Ra,tfhd:La,tfdt:$a,trun:Ma,minf:Aa,sv3d:ya,st3d:Ta,prhd:Ia,proj:Pa,equi:Ea,uuid:ha,stbl:Da,stsd:Ca,avc1:Ba,unknown:fr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Ck[e];return i?new i(t,new a):new fr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{bn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Vk=new TextDecoder("ascii"),_k=a=>Vk.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Ok=a=>{let e=new Pi(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},Fk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,c=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,c)},Nk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Dg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},qk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},Uk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(c=>c.type==="tfhd"),u=s[s.length-1].children.find(c=>c.type==="tfdt"),o=s[s.length-1].children.find(c=>c.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((c,d)=>c+d,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Hk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Cg={validateData:_k,parseInit:Hk,getIndexRange:()=>{},parseSegments:Ok,parseFeedableSegmentChunk:Fk,getChunkEndTime:Uk,getServerLatencyTimestamps:Nk,getTimescaleFromIndex:qk};var Oa=Q(qe(),1),Ut=require("@vkontakte/videoplayer-shared/es2024");var Vg=require("@vkontakte/videoplayer-shared/es2024");var Bg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},_g=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=_a(a,t),r=i in Bg,s=r?Bg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=_a(o),c=l*2**((u-1)*8)+p,d=t+u,h;return d+c>a.byteLength?h=new DataView(a.buffer,a.byteOffset+d):h=new DataView(a.buffer,a.byteOffset+d,c),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:d,tagSize:d+c,value:h,valueSize:c}},_a=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return _a(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,Vg.assertNever)(e)}},ki=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=_g(i);if(!e(r))return;r.type==="master"&&ki(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},Og=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=_g(a);return ki(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Fg=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],jk=[231,22612,22743,167,171,163,160,175],Wk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,c=0;return ki(a,({tag:d,type:h,value:m,valueSize:b})=>{if(d===21419){let S=St(m,h);l=_a(S)}else d!==21420&&(l=void 0);return d===408125543?(e=m.byteOffset,t=m.byteOffset+b):d===357149030?s=!0:d===290298740?n=!0:d===2807729?i=St(m,h):d===17545?r=St(m,h):d===21420&&l===475249515?o=St(m,h):d===374648427?ki(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Oa.default)(Fg,d)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:c,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Qk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Gk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return ki(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Oa.default)(Fg,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,c=s[o+1];return{status:"none",time:{from:l,to:c?c.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:c?e.segmentStart+c.position-1:e.segmentEnd-1}}})},zk=a=>{let e=0,t=!1;try{ki(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Oa.default)(jk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Oa.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},Ng={validateData:Og,parseInit:Wk,getIndexRange:Qk,parseSegments:Gk,parseFeedableSegmentChunk:zk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return Ng;case"mp4":return Cg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var Al=Q(lS(),1),LS=Q(zi(),1),$S=Q(wS(),1),MS=Q(gt(),1),Pl=Q(Si(),1);var AS=Q(qe(),1),wl=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,AS.default)(["6E","7A","F4"],u)}}return!1};var Fa=require("@vkontakte/videoplayer-shared/es2024");var PS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var kS=a=>{try{let e=GR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function GR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
|
|
117
|
+
`}),I};var Me=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared/es2024");var Cb=Q(gt(),1);var Lb=Q(qe(),1),Rb=a=>{if(a instanceof DOMException&&(0,Lb.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},Qe=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!Rb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return Rb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared/es2024");var $b=Q(Si(),1),Lt=require("@vkontakte/videoplayer-shared/es2024");function Pe(){return(0,Lt.now)()}function ul(a){return Pe()-a}function ll(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function Mb(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function ur(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,c,d=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let W=ul(p),w;if(W<b){w=b-W,setTimeout(S,w);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,_()},v=W=>(s=W,ee),I=W=>(c=W,ee),P=()=>(h="json",ee),x=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,c&&c(),t&&t()}},M=W=>(d=W,ee),_=()=>{p=Pe(),n=new r,n.open("get",a);let W=0,w,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(w||0,R||0)));if(s&&n.addEventListener("progress",F=>{let re=Pe();s.updateChunk&&F.loaded>W&&(s.updateChunk(oe(),F.loaded-W),W=F.loaded,w=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>x())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let F=n.status;if(F>=200&&F<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-W;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,$b.default)(re).length)?x():(c&&c(),e(re))}else x()}),n.addEventListener("error",()=>{x()}),d){let F=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",F))};n.addEventListener("readystatechange",F)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:M,withJSONResponse:P,withRetryCount:W=>(l=W,ee),withRetryInterval:(W,w)=>((0,Lt.isNonNullable)(W)&&(b=W),(0,Lt.isNonNullable)(w)&&(m=w),ee),withTimeout:W=>(u=W,ee),withFinally:I,send:_,abort:()=>{n&&(n.abort(),n=void 0),o=!0,c&&c()}};return ee}var sa=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Db=Q(Si(),1);var na=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=ur(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Db.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Bb=require("@vkontakte/videoplayer-shared/es2024");var dn=1e4,cl=3;var OP=6e4,FP=10,NP=1,qP=500,oa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Bb.Subject,this.chunkRateEstimator=new sa(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ll(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ll(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(j.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Ib({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Cb.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{Mb(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new na(cl,dn,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,c=()=>{let x=s&&(!p||p===this.rep);return x||t("Not running!"),x},d=(x,M,_)=>{o&&o.abort(),o=ur(this.urlResolver.resolve(x,!1),M,_,()=>this._retryCallback()).withTimeout(dn).withBitrateReporting(this.bitrateSwitcher).withRetryCount(cl).withFinally(()=>{o=null}).send()},h=(x,M,_)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(x,!1),M,_,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=x=>{let M=i.playbackRate;i.playbackRate!==x&&(t(`Playback rate switch: ${M}=>${x}`),i.playbackRate=x)},b=x=>{this.lowLatency=x,t(`lowLatency changed to ${x}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let x=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let _=Pe()-1e4,V=0;for(let H=0;H<this.bufferStates.length;H++){let $=this.bufferStates[H];x=Math.min(x,$.buf),$.ts<_&&V++}this.bufferStates.splice(0,V),t(`update playback rate; minBuffer=${x} drop=${V} jitter=${this.sourceJitter}`);let C=x-NP;this.sourceJitter>=0?C-=this.sourceJitter/2:this.sourceJitter-=1,C>3?m(1.15):C>1?m(1.1):C>.3?m(1.05):m(1)}},v=x=>{let M,_=()=>M&&M.start?M.start.length:0,V=F=>M.start[F]/1e3,C=F=>M.dur[F]/1e3,H=F=>M.fragIndex+F,$=(F,re)=>({chunkIdx:H(F),startTS:V(F),dur:C(F),discontinuity:re}),ee=()=>{let F=0;if(M&&M.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=M.dur.length-1;for(;Ee>=0&&(ge-=M.dur[Ee],!(ge<=0));--Ee);F=Math.min(Ee,M.dur.length-1-le),F=Math.max(F,0)}return $(F,!0)},W=F=>{let re=_();if(!(re<=0)){if((0,et.isNonNullable)(F)){for(let le=0;le<re;le++)if(V(le)>F)return $(le)}return ee()}},w=F=>{let re=_(),le=F?F.chunkIdx+1:0,ge=le-M.fragIndex;if(!(re<=0)){if(!F||ge<0||ge-re>FP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(F)),ee();if(!(ge>=re))return $(le-M.fragIndex,!1)}},R=(F,re,le)=>{l&&l.abort(),l=ur(this.urlResolver.resolve(F,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(dn).withRetryCount(cl).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(F,re)=>{R(x,le=>{if(!c())return;M=le;let ge=!!M.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<M.dur.length;++ke)Ee+=M.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/M.dur.length)),r({name:"index",zeroTime:M.zeroTime,shiftDuration:M.shiftDuration}),this.sourceJitter=M.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,M.jitter/1e3)):1,F(W(re))},()=>this._handleNetworkError())},nextChunk:w}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:x=>{let{videoElement:M,logger:_}=this.params,V=v(e.jidxUrl),C,H,$,ee,W=0,w,R,oe,F=()=>{w&&(clearTimeout(w),w=void 0);let te=Math.max(qP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Le=W+te,Be=Pe(),xe=Math.min(1e4,Le-Be);W=Be;let at=()=>{l||c()&&V.seek(()=>{c()&&(W=Pe(),re(),F())})};xe>0?w=window.setTimeout(()=>{this.paused?F():at()},xe):at()},re=()=>{let te;for(;te=V.nextChunk(ee);)ee=te,Re(te);let Le=V.nextChunk($);if(Le){if($&&Le.discontinuity){_("Detected discontinuity; restarting playback"),this.paused?F():(I(),this._initPlayerWith(e));return}ke(Le)}else F()},le=(te,Le)=>{if(!c()||!this.sourceBuffer)return;let Be,xe,at,Gt=yt=>{window.setTimeout(()=>{c()&&le(te,Le)},yt)};if(this.sourceBuffer.updating)_("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=M.currentTime;!this.paused&&M.buffered.length>1&&R===Ye&&yt-oe>500&&(_("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)_(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Le&&Le()}catch(Tt){if(Tt.name==="QuotaExceededError")_("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Be=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Be>4&&this.sourceBuffer.remove(Be,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{H&&C&&(_([`Appending chunk, sz=${H.byteLength}:`,JSON.stringify($)]),le(H,function(){H=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{c()&&h(Ee(te),(Le,Be)=>{if(c()){if(Be/=1e3,H=Le,$=te,n=te.startTS,Be){let xe=Math.min(10,te.dur/Be);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{c()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{c()&&(e.cachedHeader=te,le(te,()=>{C=!0,ge()}))};s=!0,V.seek(te=>{if(c()){if(W=Pe(),!te){F();return}ee=te,!(0,et.isNullable)(x)||te.startTS>x?ke(te):($=te,re())}},x),e.cachedHeader?ae(e.cachedHeader):d(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=c=>{if(!this.autoQuality)return;let d,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&c<this.bitrate&&(h=this._getBufferSizeSec(),m=c/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(c)}`);return}d=this._selectQuality(c),d?this._switchToQuality(d):e(`Could not find quality by bitrate ${c}`)},s={updateChunk:(d,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(d,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-d,speed:S}),!0}},get:()=>{let d=this.chunkRateEstimator.getBitRate();return d?d*.85:0}},n=-1/0,u,o=!0,l=()=>{let c=s.get();if(c&&u&&this.autoQuality){if(o&&c>u&&ul(n)<3e4)return;i(c)}o=this.autoQuality};return{updateChunk:(c,d)=>{let h=s.updateChunk(c,d);return h&&l(),h},notifySwitch:c=>{let d=Pe();c<u&&(n=d),u=c}}}_fetchManifest(e,t,i){this.manifestRequest=ur(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(dn).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;Qe(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},OP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Vb=Q(zi(),1),be=require("@vkontakte/videoplayer-shared/es2024"),dl=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,Vb.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},lr=dl;var pn=require("@vkontakte/videoplayer-shared/es2024"),_b=require("@vkontakte/videoplayer-shared/es2024");var ua=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var UP=(a,e)=>new pn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||ua()))},{...i,...e});r.observe(a);let s=(0,_b.fromEvent)(document,"visibilitychange").pipe((0,pn.map)(n=>!document.hidden||ua())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=UP;var HP=["paused","playing","ready"],jP=["paused","playing","ready"],la=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new lr;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new xi;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,pl.default)(jP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,pl.default)(HP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next(Me(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=We(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new oa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var Ob=la;var De=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared/es2024");var{NativeAbortSignal:DV,NativeAbortController:CV}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Fb(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function Nb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var hn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},cr=class extends hn{constructor(){super(),this.listeners||hn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new Ai;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new Ai;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},Ai=class{constructor(){Object.defineProperty(this,"signal",{value:new cr,writable:!0,configurable:!0})}abort(e){let t=Nb(e),i=Fb(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Ai.prototype[Symbol.toStringTag]="AbortController",cr.prototype[Symbol.toStringTag]="AbortSignal");function fn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function hl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!fn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let c;p&&p.signal&&(c=p.signal,delete p.signal);let d=new t(l,p);return c&&Object.defineProperty(d,"signal",{writable:!1,enumerable:!1,configurable:!0,value:c}),d},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let c;try{c=new DOMException("Aborted","AbortError")}catch{c=new Error("Aborted"),c.name="AbortError"}if(p.aborted)return Promise.reject(c);let d=new Promise((h,m)=>{p.addEventListener("abort",()=>m(c),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([d,n(o,l)])}return n(o,l)},Request:s}}var WP=()=>"fetch"in window,ca=WP()&&fn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),qb=ca?hl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ca?qb.fetch:window.fetch,jV=ca?qb.Request:window.Request,ue=ca?Ai:window.AbortController,WV=ca?cr:window.AbortSignal;var US=Q(qe(),1),Vl=Q(da(),1);var Pg=Q(Ag(),1),dr=require("@vkontakte/videoplayer-shared/es2024"),mn=a=>{if(!a)return{id:"EmptyResponse",category:dr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:dr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,Pg.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:dr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:dr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:dr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var Ce=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared/es2024");var Sn=Q(qe(),1),Ri=Q(gt(),1),vn=Q(da(),1);var Lk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},$k=a=>window.clearTimeout(a),kg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),Rg=!kg(window.requestIdleCallback)||!kg(window.cancelIdleCallback),pr=Rg?Lk:window.requestIdleCallback,$t=Rg?$k:window.cancelIdleCallback;var _S=Q(zs(),1);var ai=require("@vkontakte/videoplayer-shared/es2024");var Mk=18,Lg=!1;try{Lg=j.browser.isSafari&&!!j.browser.safariVersion&&j.browser.safariVersion<=Mk}catch(a){console.error(a)}var vl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};Lg&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},$g=vl;var hr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared/es2024");var Dg=Q(gt(),1);var bn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var fr=class extends se{};var Mg=require("@vkontakte/videoplayer-shared/es2024");var ha=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,Mg.assertNever)(e)}}};var fa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var ba=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Pi=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var va=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ya=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ta=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var Ia=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ea=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var Aa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Ra=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var La=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var $a=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var Ma=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var Da=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ca=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Ba=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Ck={ftyp:fa,moov:ma,mvhd:ba,moof:ga,mdat:Sa,sidx:Pi,trak:va,mdia:xa,mfhd:ka,tkhd:wa,traf:Ra,tfhd:La,tfdt:$a,trun:Ma,minf:Aa,sv3d:ya,st3d:Ta,prhd:Ia,proj:Pa,equi:Ea,uuid:ha,stbl:Da,stsd:Ca,avc1:Ba,unknown:fr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!bn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Ck[e];return i?new i(t,new a):new fr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{bn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Vk=new TextDecoder("ascii"),_k=a=>Vk.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Ok=a=>{let e=new Pi(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},Fk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,c=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,c)},Nk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Dg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},qk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},Uk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(c=>c.type==="tfhd"),u=s[s.length-1].children.find(c=>c.type==="tfdt"),o=s[s.length-1].children.find(c=>c.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((c,d)=>c+d,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Hk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Cg={validateData:_k,parseInit:Hk,getIndexRange:()=>{},parseSegments:Ok,parseFeedableSegmentChunk:Fk,getChunkEndTime:Uk,getServerLatencyTimestamps:Nk,getTimescaleFromIndex:qk};var Oa=Q(qe(),1),Ut=require("@vkontakte/videoplayer-shared/es2024");var Vg=require("@vkontakte/videoplayer-shared/es2024");var Bg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},_g=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=_a(a,t),r=i in Bg,s=r?Bg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=_a(o),c=l*2**((u-1)*8)+p,d=t+u,h;return d+c>a.byteLength?h=new DataView(a.buffer,a.byteOffset+d):h=new DataView(a.buffer,a.byteOffset+d,c),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:d,tagSize:d+c,value:h,valueSize:c}},_a=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return _a(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,Vg.assertNever)(e)}},ki=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=_g(i);if(!e(r))return;r.type==="master"&&ki(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},Og=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=_g(a);return ki(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Fg=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],jk=[231,22612,22743,167,171,163,160,175],Wk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,c=0;return ki(a,({tag:d,type:h,value:m,valueSize:b})=>{if(d===21419){let S=St(m,h);l=_a(S)}else d!==21420&&(l=void 0);return d===408125543?(e=m.byteOffset,t=m.byteOffset+b):d===357149030?s=!0:d===290298740?n=!0:d===2807729?i=St(m,h):d===17545?r=St(m,h):d===21420&&l===475249515?o=St(m,h):d===374648427?ki(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Oa.default)(Fg,d)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:c,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Qk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Gk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return ki(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Oa.default)(Fg,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,c=s[o+1];return{status:"none",time:{from:l,to:c?c.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:c?e.segmentStart+c.position-1:e.segmentEnd-1}}})},zk=a=>{let e=0,t=!1;try{ki(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Oa.default)(jk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Oa.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},Ng={validateData:Og,parseInit:Wk,getIndexRange:Qk,parseSegments:Gk,parseFeedableSegmentChunk:zk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return Ng;case"mp4":return Cg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var Al=Q(lS(),1),LS=Q(zi(),1),$S=Q(wS(),1),MS=Q(gt(),1),Pl=Q(Si(),1);var AS=Q(qe(),1),wl=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,AS.default)(["6E","7A","F4"],u)}}return!1};var Fa=require("@vkontakte/videoplayer-shared/es2024");var PS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var kS=a=>{try{let e=GR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function GR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
|
|
118
118
|
(?<language>${`(?:[a-z]{2,3}(?:-${a})?|[a-z]{4}|[a-z]{5,8})`})
|
|
119
119
|
(-(?<script>[a-z]{4}))?
|
|
120
120
|
(-(?<region>(?:[a-z]{2}|[0-9]{3})))?
|