@vkontakte/videoplayer-statistics 1.0.82-dev.a750248a.0 → 1.0.82-dev.addfb9fd.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/es2024.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @vkontakte/videoplayer-statistics v1.0.82-dev.a750248a.0
3
- * Thu, 10 Jul 2025 10:08:00 GMT
2
+ * @vkontakte/videoplayer-statistics v1.0.82-dev.addfb9fd.0
3
+ * Tue, 15 Jul 2025 09:27:26 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-82/doc/
5
5
  */
6
- var Fd=Object.create;var nt=Object.defineProperty;var Bd=Object.getOwnPropertyDescriptor;var Ud=Object.getOwnPropertyNames;var jd=Object.getPrototypeOf,Wd=Object.prototype.hasOwnProperty;var a=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Hd=(r,e)=>{for(var t in e)nt(r,t,{get:e[t],enumerable:!0})},Kd=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ud(e))!Wd.call(r,o)&&o!==t&&nt(r,o,{get:()=>e[o],enumerable:!(i=Bd(e,o))||i.enumerable});return r};var E=(r,e,t)=>(t=r!=null?Fd(jd(r)):{},Kd(e||!r||!r.__esModule?nt(t,"default",{value:r,enumerable:!0}):t,r));var I=a((at,wo)=>{"use strict";var qe=function(r){return r&&r.Math===Math&&r};wo.exports=qe(typeof globalThis=="object"&&globalThis)||qe(typeof window=="object"&&window)||qe(typeof self=="object"&&self)||qe(typeof global=="object"&&global)||qe(typeof at=="object"&&at)||function(){return this}()||Function("return this")()});var T=a((CI,Oo)=>{"use strict";Oo.exports=function(r){try{return!!r()}catch{return!0}}});var xe=a((kI,Ao)=>{"use strict";var Gd=T();Ao.exports=!Gd(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var st=a((NI,Co)=>{"use strict";var zd=xe(),Ro=Function.prototype,qo=Ro.apply,xo=Ro.call;Co.exports=typeof Reflect=="object"&&Reflect.apply||(zd?xo.bind(qo):function(){return xo.apply(qo,arguments)})});var O=a((LI,Lo)=>{"use strict";var ko=xe(),No=Function.prototype,ut=No.call,Qd=ko&&No.bind.bind(ut,ut);Lo.exports=ko?Qd:function(r){return function(){return ut.apply(r,arguments)}}});var Re=a((DI,$o)=>{"use strict";var Do=O(),Yd=Do({}.toString),Jd=Do("".slice);$o.exports=function(r){return Jd(Yd(r),8,-1)}});var ct=a(($I,Mo)=>{"use strict";var Xd=Re(),Zd=O();Mo.exports=function(r){if(Xd(r)==="Function")return Zd(r)}});var S=a((MI,Vo)=>{"use strict";var lt=typeof document=="object"&&document.all;Vo.exports=typeof lt>"u"&&lt!==void 0?function(r){return typeof r=="function"||r===lt}:function(r){return typeof r=="function"}});var q=a((VI,Fo)=>{"use strict";var ef=T();Fo.exports=!ef(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var N=a((FI,Bo)=>{"use strict";var rf=xe(),nr=Function.prototype.call;Bo.exports=rf?nr.bind(nr):function(){return nr.apply(nr,arguments)}});var dt=a(Wo=>{"use strict";var Uo={}.propertyIsEnumerable,jo=Object.getOwnPropertyDescriptor,tf=jo&&!Uo.call({1:2},1);Wo.f=tf?function(e){var t=jo(this,e);return!!t&&t.enumerable}:Uo});var Ce=a((UI,Ho)=>{"use strict";Ho.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Go=a((jI,Ko)=>{"use strict";var of=O(),nf=T(),af=Re(),ft=Object,sf=of("".split);Ko.exports=nf(function(){return!ft("z").propertyIsEnumerable(0)})?function(r){return af(r)==="String"?sf(r,""):ft(r)}:ft});var ke=a((WI,zo)=>{"use strict";zo.exports=function(r){return r==null}});var ae=a((HI,Qo)=>{"use strict";var uf=ke(),cf=TypeError;Qo.exports=function(r){if(uf(r))throw new cf("Can't call method on "+r);return r}});var J=a((KI,Yo)=>{"use strict";var lf=Go(),df=ae();Yo.exports=function(r){return lf(df(r))}});var L=a((GI,Jo)=>{"use strict";var ff=S();Jo.exports=function(r){return typeof r=="object"?r!==null:ff(r)}});var Ne=a((zI,Xo)=>{"use strict";Xo.exports={}});var W=a((QI,en)=>{"use strict";var pt=Ne(),ht=I(),pf=S(),Zo=function(r){return pf(r)?r:void 0};en.exports=function(r,e){return arguments.length<2?Zo(pt[r])||Zo(ht[r]):pt[r]&&pt[r][e]||ht[r]&&ht[r][e]}});var ar=a((YI,rn)=>{"use strict";var hf=O();rn.exports=hf({}.isPrototypeOf)});var X=a((JI,nn)=>{"use strict";var vf=I(),tn=vf.navigator,on=tn&&tn.userAgent;nn.exports=on?String(on):""});var gt=a((XI,dn)=>{"use strict";var ln=I(),vt=X(),an=ln.process,sn=ln.Deno,un=an&&an.versions||sn&&sn.version,cn=un&&un.v8,D,sr;cn&&(D=cn.split("."),sr=D[0]>0&&D[0]<4?1:+(D[0]+D[1]));!sr&&vt&&(D=vt.match(/Edge\/(\d+)/),(!D||D[1]>=74)&&(D=vt.match(/Chrome\/(\d+)/),D&&(sr=+D[1])));dn.exports=sr});var mt=a((ZI,pn)=>{"use strict";var fn=gt(),gf=T(),mf=I(),bf=mf.String;pn.exports=!!Object.getOwnPropertySymbols&&!gf(function(){var r=Symbol("symbol detection");return!bf(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&fn&&fn<41})});var bt=a((eS,hn)=>{"use strict";var yf=mt();hn.exports=yf&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var yt=a((rS,vn)=>{"use strict";var If=W(),Sf=S(),_f=ar(),Pf=bt(),Ef=Object;vn.exports=Pf?function(r){return typeof r=="symbol"}:function(r){var e=If("Symbol");return Sf(e)&&_f(e.prototype,Ef(r))}});var Le=a((tS,gn)=>{"use strict";var Tf=String;gn.exports=function(r){try{return Tf(r)}catch{return"Object"}}});var H=a((iS,mn)=>{"use strict";var wf=S(),Of=Le(),Af=TypeError;mn.exports=function(r){if(wf(r))return r;throw new Af(Of(r)+" is not a function")}});var ur=a((oS,bn)=>{"use strict";var qf=H(),xf=ke();bn.exports=function(r,e){var t=r[e];return xf(t)?void 0:qf(t)}});var In=a((nS,yn)=>{"use strict";var It=N(),St=S(),_t=L(),Rf=TypeError;yn.exports=function(r,e){var t,i;if(e==="string"&&St(t=r.toString)&&!_t(i=It(t,r))||St(t=r.valueOf)&&!_t(i=It(t,r))||e!=="string"&&St(t=r.toString)&&!_t(i=It(t,r)))return i;throw new Rf("Can't convert object to primitive value")}});var F=a((aS,Sn)=>{"use strict";Sn.exports=!0});var En=a((sS,Pn)=>{"use strict";var _n=I(),Cf=Object.defineProperty;Pn.exports=function(r,e){try{Cf(_n,r,{value:e,configurable:!0,writable:!0})}catch{_n[r]=e}return e}});var De=a((uS,On)=>{"use strict";var kf=F(),Nf=I(),Lf=En(),Tn="__core-js_shared__",wn=On.exports=Nf[Tn]||Lf(Tn,{});(wn.versions||(wn.versions=[])).push({version:"3.38.0",mode:kf?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Pt=a((cS,qn)=>{"use strict";var An=De();qn.exports=function(r,e){return An[r]||(An[r]=e||{})}});var Et=a((lS,xn)=>{"use strict";var Df=ae(),$f=Object;xn.exports=function(r){return $f(Df(r))}});var B=a((dS,Rn)=>{"use strict";var Mf=O(),Vf=Et(),Ff=Mf({}.hasOwnProperty);Rn.exports=Object.hasOwn||function(e,t){return Ff(Vf(e),t)}});var Tt=a((fS,Cn)=>{"use strict";var Bf=O(),Uf=0,jf=Math.random(),Wf=Bf(1 .toString);Cn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Wf(++Uf+jf,36)}});var x=a((pS,Nn)=>{"use strict";var Hf=I(),Kf=Pt(),kn=B(),Gf=Tt(),zf=mt(),Qf=bt(),se=Hf.Symbol,wt=Kf("wks"),Yf=Qf?se.for||se:se&&se.withoutSetter||Gf;Nn.exports=function(r){return kn(wt,r)||(wt[r]=zf&&kn(se,r)?se[r]:Yf("Symbol."+r)),wt[r]}});var Mn=a((hS,$n)=>{"use strict";var Jf=N(),Ln=L(),Dn=yt(),Xf=ur(),Zf=In(),ep=x(),rp=TypeError,tp=ep("toPrimitive");$n.exports=function(r,e){if(!Ln(r)||Dn(r))return r;var t=Xf(r,tp),i;if(t){if(e===void 0&&(e="default"),i=Jf(t,r,e),!Ln(i)||Dn(i))return i;throw new rp("Can't convert object to primitive value")}return e===void 0&&(e="number"),Zf(r,e)}});var Ot=a((vS,Vn)=>{"use strict";var ip=Mn(),op=yt();Vn.exports=function(r){var e=ip(r,"string");return op(e)?e:e+""}});var cr=a((gS,Bn)=>{"use strict";var np=I(),Fn=L(),At=np.document,ap=Fn(At)&&Fn(At.createElement);Bn.exports=function(r){return ap?At.createElement(r):{}}});var qt=a((mS,Un)=>{"use strict";var sp=q(),up=T(),cp=cr();Un.exports=!sp&&!up(function(){return Object.defineProperty(cp("div"),"a",{get:function(){return 7}}).a!==7})});var Hn=a(Wn=>{"use strict";var lp=q(),dp=N(),fp=dt(),pp=Ce(),hp=J(),vp=Ot(),gp=B(),mp=qt(),jn=Object.getOwnPropertyDescriptor;Wn.f=lp?jn:function(e,t){if(e=hp(e),t=vp(t),mp)try{return jn(e,t)}catch{}if(gp(e,t))return pp(!dp(fp.f,e,t),e[t])}});var xt=a((yS,Kn)=>{"use strict";var bp=T(),yp=S(),Ip=/#|\.prototype\./,$e=function(r,e){var t=_p[Sp(r)];return t===Ep?!0:t===Pp?!1:yp(e)?bp(e):!!e},Sp=$e.normalize=function(r){return String(r).replace(Ip,".").toLowerCase()},_p=$e.data={},Pp=$e.NATIVE="N",Ep=$e.POLYFILL="P";Kn.exports=$e});var Me=a((IS,zn)=>{"use strict";var Gn=ct(),Tp=H(),wp=xe(),Op=Gn(Gn.bind);zn.exports=function(r,e){return Tp(r),e===void 0?r:wp?Op(r,e):function(){return r.apply(e,arguments)}}});var Rt=a((SS,Qn)=>{"use strict";var Ap=q(),qp=T();Qn.exports=Ap&&qp(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var K=a((_S,Yn)=>{"use strict";var xp=L(),Rp=String,Cp=TypeError;Yn.exports=function(r){if(xp(r))return r;throw new Cp(Rp(r)+" is not an object")}});var Z=a(Xn=>{"use strict";var kp=q(),Np=qt(),Lp=Rt(),lr=K(),Jn=Ot(),Dp=TypeError,Ct=Object.defineProperty,$p=Object.getOwnPropertyDescriptor,kt="enumerable",Nt="configurable",Lt="writable";Xn.f=kp?Lp?function(e,t,i){if(lr(e),t=Jn(t),lr(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Lt in i&&!i[Lt]){var o=$p(e,t);o&&o[Lt]&&(e[t]=i.value,i={configurable:Nt in i?i[Nt]:o[Nt],enumerable:kt in i?i[kt]:o[kt],writable:!1})}return Ct(e,t,i)}:Ct:function(e,t,i){if(lr(e),t=Jn(t),lr(i),Np)try{return Ct(e,t,i)}catch{}if("get"in i||"set"in i)throw new Dp("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ue=a((ES,Zn)=>{"use strict";var Mp=q(),Vp=Z(),Fp=Ce();Zn.exports=Mp?function(r,e,t){return Vp.f(r,e,Fp(1,t))}:function(r,e,t){return r[e]=t,r}});var R=a((TS,ra)=>{"use strict";var Ve=I(),Bp=st(),Up=ct(),jp=S(),Wp=Hn().f,Hp=xt(),ce=Ne(),Kp=Me(),le=ue(),ea=B();De();var Gp=function(r){var e=function(t,i,o){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,o)}return Bp(r,this,arguments)};return e.prototype=r.prototype,e};ra.exports=function(r,e){var t=r.target,i=r.global,o=r.stat,n=r.proto,s=i?Ve:o?Ve[t]:Ve[t]&&Ve[t].prototype,u=i?ce:ce[t]||le(ce,t,{})[t],l=u.prototype,d,p,h,c,f,v,g,b,m;for(c in e)d=Hp(i?c:t+(o?".":"#")+c,r.forced),p=!d&&s&&ea(s,c),v=u[c],p&&(r.dontCallGetSet?(m=Wp(s,c),g=m&&m.value):g=s[c]),f=p&&g?g:e[c],!(!d&&!n&&typeof v==typeof f)&&(r.bind&&p?b=Kp(f,Ve):r.wrap&&p?b=Gp(f):n&&jp(f)?b=Up(f):b=f,(r.sham||f&&f.sham||v&&v.sham)&&le(b,"sham",!0),le(u,c,b),n&&(h=t+"Prototype",ea(ce,h)||le(ce,h,{}),le(ce[h],c,f),r.real&&l&&(d||!l[c])&&le(l,c,f)))}});var ia=a((wS,ta)=>{"use strict";var zp=Math.ceil,Qp=Math.floor;ta.exports=Math.trunc||function(e){var t=+e;return(t>0?Qp:zp)(t)}});var dr=a((OS,oa)=>{"use strict";var Yp=ia();oa.exports=function(r){var e=+r;return e!==e||e===0?0:Yp(e)}});var aa=a((AS,na)=>{"use strict";var Jp=dr(),Xp=Math.max,Zp=Math.min;na.exports=function(r,e){var t=Jp(r);return t<0?Xp(t+e,0):Zp(t,e)}});var Dt=a((qS,sa)=>{"use strict";var eh=dr(),rh=Math.min;sa.exports=function(r){var e=eh(r);return e>0?rh(e,9007199254740991):0}});var $t=a((xS,ua)=>{"use strict";var th=Dt();ua.exports=function(r){return th(r.length)}});var Mt=a((RS,la)=>{"use strict";var ih=J(),oh=aa(),nh=$t(),ca=function(r){return function(e,t,i){var o=ih(e),n=nh(o);if(n===0)return!r&&-1;var s=oh(i,n),u;if(r&&t!==t){for(;n>s;)if(u=o[s++],u!==u)return!0}else for(;n>s;s++)if((r||s in o)&&o[s]===t)return r||s||0;return!r&&-1}};la.exports={includes:ca(!0),indexOf:ca(!1)}});var Vt=a((CS,da)=>{"use strict";da.exports=function(){}});var fa=a(()=>{"use strict";var ah=R(),sh=Mt().includes,uh=T(),ch=Vt(),lh=uh(function(){return!Array(1).includes()});ah({target:"Array",proto:!0,forced:lh},{includes:function(e){return sh(this,e,arguments.length>1?arguments[1]:void 0)}});ch("includes")});var fr=a((LS,pa)=>{"use strict";var dh=W();pa.exports=dh});var va=a((DS,ha)=>{"use strict";fa();var fh=fr();ha.exports=fh("Array","includes")});var ma=a(($S,ga)=>{"use strict";var ph=va();ga.exports=ph});var de=a((MS,ba)=>{"use strict";var hh=ma();ba.exports=hh});var wa=a(()=>{"use strict"});var Kt=a((JS,Oa)=>{"use strict";var Be=I(),mh=X(),bh=Re(),pr=function(r){return mh.slice(0,r.length)===r};Oa.exports=function(){return pr("Bun/")?"BUN":pr("Cloudflare-Workers")?"CLOUDFLARE":pr("Deno/")?"DENO":pr("Node.js/")?"NODE":Be.Bun&&typeof Bun.version=="string"?"BUN":Be.Deno&&typeof Deno.version=="object"?"DENO":bh(Be.process)==="process"?"NODE":Be.window&&Be.document?"BROWSER":"REST"}()});var hr=a((XS,Aa)=>{"use strict";var yh=Kt();Aa.exports=yh==="NODE"});var fe=a((ZS,qa)=>{"use strict";var Ih=ue();qa.exports=function(r,e,t,i){return i&&i.enumerable?r[e]=t:Ih(r,e,t),r}});var Ra=a((e_,xa)=>{"use strict";var Sh=O(),_h=H();xa.exports=function(r,e,t){try{return Sh(_h(Object.getOwnPropertyDescriptor(r,e)[t]))}catch{}}});var ka=a((r_,Ca)=>{"use strict";var Ph=L();Ca.exports=function(r){return Ph(r)||r===null}});var La=a((t_,Na)=>{"use strict";var Eh=ka(),Th=String,wh=TypeError;Na.exports=function(r){if(Eh(r))return r;throw new wh("Can't set "+Th(r)+" as a prototype")}});var Gt=a((i_,Da)=>{"use strict";var Oh=Ra(),Ah=L(),qh=ae(),xh=La();Da.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Oh(Object.prototype,"__proto__","set"),t(e,[]),r=e instanceof Array}catch{}return function(o,n){return qh(o),xh(n),Ah(o)&&(r?t(o,n):o.__proto__=n),o}}():void 0)});var vr=a((o_,Ma)=>{"use strict";var Rh=x(),Ch=Rh("toStringTag"),$a={};$a[Ch]="z";Ma.exports=String($a)==="[object z]"});var Ue=a((n_,Va)=>{"use strict";var kh=vr(),Nh=S(),gr=Re(),Lh=x(),Dh=Lh("toStringTag"),$h=Object,Mh=gr(function(){return arguments}())==="Arguments",Vh=function(r,e){try{return r[e]}catch{}};Va.exports=kh?gr:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Vh(e=$h(r),Dh))=="string"?t:Mh?gr(e):(i=gr(e))==="Object"&&Nh(e.callee)?"Arguments":i}});var Ba=a((a_,Fa)=>{"use strict";var Fh=vr(),Bh=Ue();Fa.exports=Fh?{}.toString:function(){return"[object "+Bh(this)+"]"}});var je=a((s_,ja)=>{"use strict";var Uh=vr(),jh=Z().f,Wh=ue(),Hh=B(),Kh=Ba(),Gh=x(),Ua=Gh("toStringTag");ja.exports=function(r,e,t,i){var o=t?r:r&&r.prototype;o&&(Hh(o,Ua)||jh(o,Ua,{configurable:!0,value:e}),i&&!Uh&&Wh(o,"toString",Kh))}});var Ha=a((u_,Wa)=>{"use strict";var zh=Z();Wa.exports=function(r,e,t){return zh.f(r,e,t)}});var za=a((c_,Ga)=>{"use strict";var Qh=W(),Yh=Ha(),Jh=x(),Xh=q(),Ka=Jh("species");Ga.exports=function(r){var e=Qh(r);Xh&&e&&!e[Ka]&&Yh(e,Ka,{configurable:!0,get:function(){return this}})}});var Ya=a((l_,Qa)=>{"use strict";var Zh=ar(),ev=TypeError;Qa.exports=function(r,e){if(Zh(e,r))return r;throw new ev("Incorrect invocation")}});var Qt=a((d_,Ja)=>{"use strict";var rv=O(),tv=S(),zt=De(),iv=rv(Function.toString);tv(zt.inspectSource)||(zt.inspectSource=function(r){return iv(r)});Ja.exports=zt.inspectSource});var is=a((f_,ts)=>{"use strict";var ov=O(),nv=T(),Xa=S(),av=Ue(),sv=W(),uv=Qt(),Za=function(){},es=sv("Reflect","construct"),Yt=/^\s*(?:class|function)\b/,cv=ov(Yt.exec),lv=!Yt.test(Za),We=function(e){if(!Xa(e))return!1;try{return es(Za,[],e),!0}catch{return!1}},rs=function(e){if(!Xa(e))return!1;switch(av(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return lv||!!cv(Yt,uv(e))}catch{return!0}};rs.sham=!0;ts.exports=!es||nv(function(){var r;return We(We.call)||!We(Object)||!We(function(){r=!0})||r})?rs:We});var ns=a((p_,os)=>{"use strict";var dv=is(),fv=Le(),pv=TypeError;os.exports=function(r){if(dv(r))return r;throw new pv(fv(r)+" is not a constructor")}});var Jt=a((h_,ss)=>{"use strict";var as=K(),hv=ns(),vv=ke(),gv=x(),mv=gv("species");ss.exports=function(r,e){var t=as(r).constructor,i;return t===void 0||vv(i=as(t)[mv])?e:hv(i)}});var Xt=a((v_,us)=>{"use strict";var bv=W();us.exports=bv("document","documentElement")});var ls=a((g_,cs)=>{"use strict";var yv=O();cs.exports=yv([].slice)});var fs=a((m_,ds)=>{"use strict";var Iv=TypeError;ds.exports=function(r,e){if(r<e)throw new Iv("Not enough arguments");return r}});var Zt=a((b_,ps)=>{"use strict";var Sv=X();ps.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Sv)});var ui=a((y_,_s)=>{"use strict";var C=I(),_v=st(),Pv=Me(),hs=S(),Ev=B(),Ss=T(),vs=Xt(),Tv=ls(),gs=cr(),wv=fs(),Ov=Zt(),Av=hr(),ni=C.setImmediate,ai=C.clearImmediate,qv=C.process,ei=C.Dispatch,xv=C.Function,ms=C.MessageChannel,Rv=C.String,ri=0,He={},bs="onreadystatechange",Ke,ee,ti,ii;Ss(function(){Ke=C.location});var si=function(r){if(Ev(He,r)){var e=He[r];delete He[r],e()}},oi=function(r){return function(){si(r)}},ys=function(r){si(r.data)},Is=function(r){C.postMessage(Rv(r),Ke.protocol+"//"+Ke.host)};(!ni||!ai)&&(ni=function(e){wv(arguments.length,1);var t=hs(e)?e:xv(e),i=Tv(arguments,1);return He[++ri]=function(){_v(t,void 0,i)},ee(ri),ri},ai=function(e){delete He[e]},Av?ee=function(r){qv.nextTick(oi(r))}:ei&&ei.now?ee=function(r){ei.now(oi(r))}:ms&&!Ov?(ti=new ms,ii=ti.port2,ti.port1.onmessage=ys,ee=Pv(ii.postMessage,ii)):C.addEventListener&&hs(C.postMessage)&&!C.importScripts&&Ke&&Ke.protocol!=="file:"&&!Ss(Is)?(ee=Is,C.addEventListener("message",ys,!1)):bs in gs("script")?ee=function(r){vs.appendChild(gs("script"))[bs]=function(){vs.removeChild(this),si(r)}}:ee=function(r){setTimeout(oi(r),0)});_s.exports={set:ni,clear:ai}});var Ts=a((I_,Es)=>{"use strict";var Ps=I(),Cv=q(),kv=Object.getOwnPropertyDescriptor;Es.exports=function(r){if(!Cv)return Ps[r];var e=kv(Ps,r);return e&&e.value}});var ci=a((S_,Os)=>{"use strict";var ws=function(){this.head=null,this.tail=null};ws.prototype={add:function(r){var e={item:r,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var r=this.head;if(r){var e=this.head=r.next;return e===null&&(this.tail=null),r.item}}};Os.exports=ws});var qs=a((__,As)=>{"use strict";var Nv=X();As.exports=/ipad|iphone|ipod/i.test(Nv)&&typeof Pebble<"u"});var Rs=a((P_,xs)=>{"use strict";var Lv=X();xs.exports=/web0s(?!.*chrome)/i.test(Lv)});var Ms=a((E_,$s)=>{"use strict";var he=I(),Dv=Ts(),Cs=Me(),li=ui().set,$v=ci(),Mv=Zt(),Vv=qs(),Fv=Rs(),di=hr(),ks=he.MutationObserver||he.WebKitMutationObserver,Ns=he.document,Ls=he.process,mr=he.Promise,hi=Dv("queueMicrotask"),pe,fi,pi,br,Ds;hi||(Ge=new $v,ze=function(){var r,e;for(di&&(r=Ls.domain)&&r.exit();e=Ge.get();)try{e()}catch(t){throw Ge.head&&pe(),t}r&&r.enter()},!Mv&&!di&&!Fv&&ks&&Ns?(fi=!0,pi=Ns.createTextNode(""),new ks(ze).observe(pi,{characterData:!0}),pe=function(){pi.data=fi=!fi}):!Vv&&mr&&mr.resolve?(br=mr.resolve(void 0),br.constructor=mr,Ds=Cs(br.then,br),pe=function(){Ds(ze)}):di?pe=function(){Ls.nextTick(ze)}:(li=Cs(li,he),pe=function(){li(ze)}),hi=function(r){Ge.head||pe(),Ge.add(r)});var Ge,ze;$s.exports=hi});var Fs=a((T_,Vs)=>{"use strict";Vs.exports=function(r,e){try{arguments.length===1?console.error(r):console.error(r,e)}catch{}}});var yr=a((w_,Bs)=>{"use strict";Bs.exports=function(r){try{return{error:!1,value:r()}}catch(e){return{error:!0,value:e}}}});var Ws=a((O_,js)=>{"use strict";var Bv=I(),Uv=S(),Us=Bv.WeakMap;js.exports=Uv(Us)&&/native code/.test(String(Us))});var Ir=a((A_,Ks)=>{"use strict";var jv=Pt(),Wv=Tt(),Hs=jv("keys");Ks.exports=function(r){return Hs[r]||(Hs[r]=Wv(r))}});var Sr=a((q_,Gs)=>{"use strict";Gs.exports={}});var bi=a((x_,Ys)=>{"use strict";var Hv=Ws(),Qs=I(),Kv=L(),Gv=ue(),vi=B(),gi=De(),zv=Ir(),Qv=Sr(),zs="Object already initialized",mi=Qs.TypeError,Yv=Qs.WeakMap,_r,Qe,Pr,Jv=function(r){return Pr(r)?Qe(r):_r(r,{})},Xv=function(r){return function(e){var t;if(!Kv(e)||(t=Qe(e)).type!==r)throw new mi("Incompatible receiver, "+r+" required");return t}};Hv||gi.state?($=gi.state||(gi.state=new Yv),$.get=$.get,$.has=$.has,$.set=$.set,_r=function(r,e){if($.has(r))throw new mi(zs);return e.facade=r,$.set(r,e),e},Qe=function(r){return $.get(r)||{}},Pr=function(r){return $.has(r)}):(re=zv("state"),Qv[re]=!0,_r=function(r,e){if(vi(r,re))throw new mi(zs);return e.facade=r,Gv(r,re,e),e},Qe=function(r){return vi(r,re)?r[re]:{}},Pr=function(r){return vi(r,re)});var $,re;Ys.exports={set:_r,get:Qe,has:Pr,enforce:Jv,getterFor:Xv}});var te=a((R_,Js)=>{"use strict";var Zv=I();Js.exports=Zv.Promise});var ve=a((C_,ru)=>{"use strict";var eg=I(),Ye=te(),rg=S(),tg=xt(),ig=Qt(),og=x(),Xs=Kt(),ng=F(),yi=gt(),Zs=Ye&&Ye.prototype,ag=og("species"),Ii=!1,eu=rg(eg.PromiseRejectionEvent),sg=tg("Promise",function(){var r=ig(Ye),e=r!==String(Ye);if(!e&&yi===66||ng&&!(Zs.catch&&Zs.finally))return!0;if(!yi||yi<51||!/native code/.test(r)){var t=new Ye(function(n){n(1)}),i=function(n){n(function(){},function(){})},o=t.constructor={};if(o[ag]=i,Ii=t.then(function(){})instanceof i,!Ii)return!0}return!e&&(Xs==="BROWSER"||Xs==="DENO")&&!eu});ru.exports={CONSTRUCTOR:sg,REJECTION_EVENT:eu,SUBCLASSING:Ii}});var ge=a((k_,iu)=>{"use strict";var tu=H(),ug=TypeError,cg=function(r){var e,t;this.promise=new r(function(i,o){if(e!==void 0||t!==void 0)throw new ug("Bad Promise constructor");e=i,t=o}),this.resolve=tu(e),this.reject=tu(t)};iu.exports.f=function(r){return new cg(r)}});var _u=a(()=>{"use strict";var lg=R(),dg=F(),Or=hr(),Q=I(),Ie=N(),ou=fe(),nu=Gt(),fg=je(),pg=za(),hg=H(),wr=S(),vg=L(),gg=Ya(),mg=Jt(),lu=ui().set,Ti=Ms(),bg=Fs(),yg=yr(),Ig=ci(),du=bi(),Ar=te(),wi=ve(),fu=ge(),qr="Promise",pu=wi.CONSTRUCTOR,Sg=wi.REJECTION_EVENT,_g=wi.SUBCLASSING,Si=du.getterFor(qr),Pg=du.set,me=Ar&&Ar.prototype,ie=Ar,Er=me,hu=Q.TypeError,_i=Q.document,Oi=Q.process,Pi=fu.f,Eg=Pi,Tg=!!(_i&&_i.createEvent&&Q.dispatchEvent),vu="unhandledrejection",wg="rejectionhandled",au=0,gu=1,Og=2,Ai=1,mu=2,Tr,su,Ag,uu,bu=function(r){var e;return vg(r)&&wr(e=r.then)?e:!1},yu=function(r,e){var t=e.value,i=e.state===gu,o=i?r.ok:r.fail,n=r.resolve,s=r.reject,u=r.domain,l,d,p;try{o?(i||(e.rejection===mu&&xg(e),e.rejection=Ai),o===!0?l=t:(u&&u.enter(),l=o(t),u&&(u.exit(),p=!0)),l===r.promise?s(new hu("Promise-chain cycle")):(d=bu(l))?Ie(d,l,n,s):n(l)):s(t)}catch(h){u&&!p&&u.exit(),s(h)}},Iu=function(r,e){r.notified||(r.notified=!0,Ti(function(){for(var t=r.reactions,i;i=t.get();)yu(i,r);r.notified=!1,e&&!r.rejection&&qg(r)}))},Su=function(r,e,t){var i,o;Tg?(i=_i.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(r,!1,!0),Q.dispatchEvent(i)):i={promise:e,reason:t},!Sg&&(o=Q["on"+r])?o(i):r===vu&&bg("Unhandled promise rejection",t)},qg=function(r){Ie(lu,Q,function(){var e=r.facade,t=r.value,i=cu(r),o;if(i&&(o=yg(function(){Or?Oi.emit("unhandledRejection",t,e):Su(vu,e,t)}),r.rejection=Or||cu(r)?mu:Ai,o.error))throw o.value})},cu=function(r){return r.rejection!==Ai&&!r.parent},xg=function(r){Ie(lu,Q,function(){var e=r.facade;Or?Oi.emit("rejectionHandled",e):Su(wg,e,r.value)})},be=function(r,e,t){return function(i){r(e,i,t)}},ye=function(r,e,t){r.done||(r.done=!0,t&&(r=t),r.value=e,r.state=Og,Iu(r,!0))},Ei=function(r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(r.facade===e)throw new hu("Promise can't be resolved itself");var i=bu(e);i?Ti(function(){var o={done:!1};try{Ie(i,e,be(Ei,o,r),be(ye,o,r))}catch(n){ye(o,n,r)}}):(r.value=e,r.state=gu,Iu(r,!1))}catch(o){ye({done:!1},o,r)}}};if(pu&&(ie=function(e){gg(this,Er),hg(e),Ie(Tr,this);var t=Si(this);try{e(be(Ei,t),be(ye,t))}catch(i){ye(t,i)}},Er=ie.prototype,Tr=function(e){Pg(this,{type:qr,done:!1,notified:!1,parent:!1,reactions:new Ig,rejection:!1,state:au,value:void 0})},Tr.prototype=ou(Er,"then",function(e,t){var i=Si(this),o=Pi(mg(this,ie));return i.parent=!0,o.ok=wr(e)?e:!0,o.fail=wr(t)&&t,o.domain=Or?Oi.domain:void 0,i.state===au?i.reactions.add(o):Ti(function(){yu(o,i)}),o.promise}),su=function(){var r=new Tr,e=Si(r);this.promise=r,this.resolve=be(Ei,e),this.reject=be(ye,e)},fu.f=Pi=function(r){return r===ie||r===Ag?new su(r):Eg(r)},!dg&&wr(Ar)&&me!==Object.prototype)){uu=me.then,_g||ou(me,"then",function(e,t){var i=this;return new ie(function(o,n){Ie(uu,i,o,n)}).then(e,t)},{unsafe:!0});try{delete me.constructor}catch{}nu&&nu(me,Er)}lg({global:!0,constructor:!0,wrap:!0,forced:pu},{Promise:ie});fg(ie,qr,!1,!0);pg(qr)});var oe=a((D_,Pu)=>{"use strict";Pu.exports={}});var Tu=a(($_,Eu)=>{"use strict";var Rg=x(),Cg=oe(),kg=Rg("iterator"),Ng=Array.prototype;Eu.exports=function(r){return r!==void 0&&(Cg.Array===r||Ng[kg]===r)}});var qi=a((M_,Ou)=>{"use strict";var Lg=Ue(),wu=ur(),Dg=ke(),$g=oe(),Mg=x(),Vg=Mg("iterator");Ou.exports=function(r){if(!Dg(r))return wu(r,Vg)||wu(r,"@@iterator")||$g[Lg(r)]}});var qu=a((V_,Au)=>{"use strict";var Fg=N(),Bg=H(),Ug=K(),jg=Le(),Wg=qi(),Hg=TypeError;Au.exports=function(r,e){var t=arguments.length<2?Wg(r):e;if(Bg(t))return Ug(Fg(t,r));throw new Hg(jg(r)+" is not iterable")}});var Cu=a((F_,Ru)=>{"use strict";var Kg=N(),xu=K(),Gg=ur();Ru.exports=function(r,e,t){var i,o;xu(r);try{if(i=Gg(r,"return"),!i){if(e==="throw")throw t;return t}i=Kg(i,r)}catch(n){o=!0,i=n}if(e==="throw")throw t;if(o)throw i;return xu(i),t}});var Rr=a((B_,Du)=>{"use strict";var zg=Me(),Qg=N(),Yg=K(),Jg=Le(),Xg=Tu(),Zg=$t(),ku=ar(),em=qu(),rm=qi(),Nu=Cu(),tm=TypeError,xr=function(r,e){this.stopped=r,this.result=e},Lu=xr.prototype;Du.exports=function(r,e,t){var i=t&&t.that,o=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),s=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),l=zg(e,i),d,p,h,c,f,v,g,b=function(y){return d&&Nu(d,"normal",y),new xr(!0,y)},m=function(y){return o?(Yg(y),u?l(y[0],y[1],b):l(y[0],y[1])):u?l(y,b):l(y)};if(n)d=r.iterator;else if(s)d=r;else{if(p=rm(r),!p)throw new tm(Jg(r)+" is not iterable");if(Xg(p)){for(h=0,c=Zg(r);c>h;h++)if(f=m(r[h]),f&&ku(Lu,f))return f;return new xr(!1)}d=em(r,p)}for(v=n?r.next:d.next;!(g=Qg(v,d)).done;){try{f=m(g.value)}catch(y){Nu(d,"throw",y)}if(typeof f=="object"&&f&&ku(Lu,f))return f}return new xr(!1)}});var Bu=a((U_,Fu)=>{"use strict";var im=x(),Mu=im("iterator"),Vu=!1;try{$u=0,xi={next:function(){return{done:!!$u++}},return:function(){Vu=!0}},xi[Mu]=function(){return this},Array.from(xi,function(){throw 2})}catch{}var $u,xi;Fu.exports=function(r,e){try{if(!e&&!Vu)return!1}catch{return!1}var t=!1;try{var i={};i[Mu]=function(){return{next:function(){return{done:t=!0}}}},r(i)}catch{}return t}});var Ri=a((j_,Uu)=>{"use strict";var om=te(),nm=Bu(),am=ve().CONSTRUCTOR;Uu.exports=am||!nm(function(r){om.all(r).then(void 0,function(){})})});var ju=a(()=>{"use strict";var sm=R(),um=N(),cm=H(),lm=ge(),dm=yr(),fm=Rr(),pm=Ri();sm({target:"Promise",stat:!0,forced:pm},{all:function(e){var t=this,i=lm.f(t),o=i.resolve,n=i.reject,s=dm(function(){var u=cm(t.resolve),l=[],d=0,p=1;fm(e,function(h){var c=d++,f=!1;p++,um(u,t,h).then(function(v){f||(f=!0,l[c]=v,--p||o(l))},n)}),--p||o(l)});return s.error&&n(s.value),i.promise}})});var Hu=a(()=>{"use strict";var hm=R(),vm=F(),gm=ve().CONSTRUCTOR,ki=te(),mm=W(),bm=S(),ym=fe(),Wu=ki&&ki.prototype;hm({target:"Promise",proto:!0,forced:gm,real:!0},{catch:function(r){return this.then(void 0,r)}});!vm&&bm(ki)&&(Ci=mm("Promise").prototype.catch,Wu.catch!==Ci&&ym(Wu,"catch",Ci,{unsafe:!0}));var Ci});var Ku=a(()=>{"use strict";var Im=R(),Sm=N(),_m=H(),Pm=ge(),Em=yr(),Tm=Rr(),wm=Ri();Im({target:"Promise",stat:!0,forced:wm},{race:function(e){var t=this,i=Pm.f(t),o=i.reject,n=Em(function(){var s=_m(t.resolve);Tm(e,function(u){Sm(s,t,u).then(i.resolve,o)})});return n.error&&o(n.value),i.promise}})});var Gu=a(()=>{"use strict";var Om=R(),Am=ge(),qm=ve().CONSTRUCTOR;Om({target:"Promise",stat:!0,forced:qm},{reject:function(e){var t=Am.f(this),i=t.reject;return i(e),t.promise}})});var Ni=a((X_,zu)=>{"use strict";var xm=K(),Rm=L(),Cm=ge();zu.exports=function(r,e){if(xm(r),Rm(e)&&e.constructor===r)return e;var t=Cm.f(r),i=t.resolve;return i(e),t.promise}});var Ju=a(()=>{"use strict";var km=R(),Nm=W(),Qu=F(),Lm=te(),Yu=ve().CONSTRUCTOR,Dm=Ni(),$m=Nm("Promise"),Mm=Qu&&!Yu;km({target:"Promise",stat:!0,forced:Qu||Yu},{resolve:function(e){return Dm(Mm&&this===$m?Lm:this,e)}})});var Xu=a(()=>{"use strict";_u();ju();Hu();Ku();Gu();Ju()});var tc=a(()=>{"use strict";var Vm=R(),Fm=F(),Cr=te(),Bm=T(),ec=W(),rc=S(),Um=Jt(),Zu=Ni(),jm=fe(),Di=Cr&&Cr.prototype,Wm=!!Cr&&Bm(function(){Di.finally.call({then:function(){}},function(){})});Vm({target:"Promise",proto:!0,real:!0,forced:Wm},{finally:function(r){var e=Um(this,ec("Promise")),t=rc(r);return this.then(t?function(i){return Zu(e,r()).then(function(){return i})}:r,t?function(i){return Zu(e,r()).then(function(){throw i})}:r)}});!Fm&&rc(Cr)&&(Li=ec("Promise").prototype.finally,Di.finally!==Li&&jm(Di,"finally",Li,{unsafe:!0}));var Li});var oc=a((nP,ic)=>{"use strict";wa();Xu();tc();var Hm=fr();ic.exports=Hm("Promise","finally")});var ac=a((aP,nc)=>{"use strict";var Km=oc();nc.exports=Km});var $i=a((sP,sc)=>{"use strict";var Gm=ac();sc.exports=Gm});var cc=a((uP,uc)=>{"use strict";var zm=T();uc.exports=!zm(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var kr=a((cP,dc)=>{"use strict";var Qm=B(),Ym=S(),Jm=Et(),Xm=Ir(),Zm=cc(),lc=Xm("IE_PROTO"),Mi=Object,eb=Mi.prototype;dc.exports=Zm?Mi.getPrototypeOf:function(r){var e=Jm(r);if(Qm(e,lc))return e[lc];var t=e.constructor;return Ym(t)&&e instanceof t?t.prototype:e instanceof Mi?eb:null}});var hc=a((lP,pc)=>{"use strict";var rb=O(),Vi=B(),tb=J(),ib=Mt().indexOf,ob=Sr(),fc=rb([].push);pc.exports=function(r,e){var t=tb(r),i=0,o=[],n;for(n in t)!Vi(ob,n)&&Vi(t,n)&&fc(o,n);for(;e.length>i;)Vi(t,n=e[i++])&&(~ib(o,n)||fc(o,n));return o}});var Fi=a((dP,vc)=>{"use strict";vc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Bi=a((fP,gc)=>{"use strict";var nb=hc(),ab=Fi();gc.exports=Object.keys||function(e){return nb(e,ab)}});var _c=a((pP,Sc)=>{"use strict";var bc=q(),sb=T(),yc=O(),ub=kr(),cb=Bi(),lb=J(),db=dt().f,Ic=yc(db),fb=yc([].push),pb=bc&&sb(function(){var r=Object.create(null);return r[2]=2,!Ic(r,2)}),mc=function(r){return function(e){for(var t=lb(e),i=cb(t),o=pb&&ub(t)===null,n=i.length,s=0,u=[],l;n>s;)l=i[s++],(!bc||(o?l in t:Ic(t,l)))&&fb(u,r?[l,t[l]]:t[l]);return u}};Sc.exports={entries:mc(!0),values:mc(!1)}});var Pc=a(()=>{"use strict";var hb=R(),vb=_c().entries;hb({target:"Object",stat:!0},{entries:function(e){return vb(e)}})});var Tc=a((gP,Ec)=>{"use strict";Pc();var gb=Ne();Ec.exports=gb.Object.entries});var Oc=a((mP,wc)=>{"use strict";var mb=Tc();wc.exports=mb});var Se=a((bP,Ac)=>{"use strict";var bb=Oc();Ac.exports=bb});var Rc=a((yP,xc)=>{"use strict";var Ui=q(),yb=B(),qc=Function.prototype,Ib=Ui&&Object.getOwnPropertyDescriptor,ji=yb(qc,"name"),Sb=ji&&function(){}.name==="something",_b=ji&&(!Ui||Ui&&Ib(qc,"name").configurable);xc.exports={EXISTS:ji,PROPER:Sb,CONFIGURABLE:_b}});var kc=a(Cc=>{"use strict";var Pb=q(),Eb=Rt(),Tb=Z(),wb=K(),Ob=J(),Ab=Bi();Cc.f=Pb&&!Eb?Object.defineProperties:function(e,t){wb(e);for(var i=Ob(t),o=Ab(t),n=o.length,s=0,u;n>s;)Tb.f(e,u=o[s++],i[u]);return e}});var Gi=a((SP,Fc)=>{"use strict";var qb=K(),xb=kc(),Nc=Fi(),Rb=Sr(),Cb=Xt(),kb=cr(),Nb=Ir(),Lc=">",Dc="<",Hi="prototype",Ki="script",Mc=Nb("IE_PROTO"),Wi=function(){},Vc=function(r){return Dc+Ki+Lc+r+Dc+"/"+Ki+Lc},$c=function(r){r.write(Vc("")),r.close();var e=r.parentWindow.Object;return r=null,e},Lb=function(){var r=kb("iframe"),e="java"+Ki+":",t;return r.style.display="none",Cb.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Vc("document.F=Object")),t.close(),t.F},Nr,Lr=function(){try{Nr=new ActiveXObject("htmlfile")}catch{}Lr=typeof document<"u"?document.domain&&Nr?$c(Nr):Lb():$c(Nr);for(var r=Nc.length;r--;)delete Lr[Hi][Nc[r]];return Lr()};Rb[Mc]=!0;Fc.exports=Object.create||function(e,t){var i;return e!==null?(Wi[Hi]=qb(e),i=new Wi,Wi[Hi]=null,i[Mc]=e):i=Lr(),t===void 0?i:xb.f(i,t)}});var Ji=a((_P,jc)=>{"use strict";var Db=T(),$b=S(),Mb=L(),Vb=Gi(),Bc=kr(),Fb=fe(),Bb=x(),Ub=F(),Yi=Bb("iterator"),Uc=!1,G,zi,Qi;[].keys&&(Qi=[].keys(),"next"in Qi?(zi=Bc(Bc(Qi)),zi!==Object.prototype&&(G=zi)):Uc=!0);var jb=!Mb(G)||Db(function(){var r={};return G[Yi].call(r)!==r});jb?G={}:Ub&&(G=Vb(G));$b(G[Yi])||Fb(G,Yi,function(){return this});jc.exports={IteratorPrototype:G,BUGGY_SAFARI_ITERATORS:Uc}});var Hc=a((PP,Wc)=>{"use strict";var Wb=Ji().IteratorPrototype,Hb=Gi(),Kb=Ce(),Gb=je(),zb=oe(),Qb=function(){return this};Wc.exports=function(r,e,t,i){var o=e+" Iterator";return r.prototype=Hb(Wb,{next:Kb(+!i,t)}),Gb(r,o,!1,!0),zb[o]=Qb,r}});var tl=a((EP,rl)=>{"use strict";var Yb=R(),Jb=N(),Dr=F(),Zc=Rc(),Xb=S(),Zb=Hc(),Kc=kr(),Gc=Gt(),ey=je(),ry=ue(),Xi=fe(),ty=x(),zc=oe(),el=Ji(),iy=Zc.PROPER,oy=Zc.CONFIGURABLE,Qc=el.IteratorPrototype,$r=el.BUGGY_SAFARI_ITERATORS,Je=ty("iterator"),Yc="keys",Xe="values",Jc="entries",Xc=function(){return this};rl.exports=function(r,e,t,i,o,n,s){Zb(t,e,i);var u=function(m){if(m===o&&c)return c;if(!$r&&m&&m in p)return p[m];switch(m){case Yc:return function(){return new t(this,m)};case Xe:return function(){return new t(this,m)};case Jc:return function(){return new t(this,m)}}return function(){return new t(this)}},l=e+" Iterator",d=!1,p=r.prototype,h=p[Je]||p["@@iterator"]||o&&p[o],c=!$r&&h||u(o),f=e==="Array"&&p.entries||h,v,g,b;if(f&&(v=Kc(f.call(new r)),v!==Object.prototype&&v.next&&(!Dr&&Kc(v)!==Qc&&(Gc?Gc(v,Qc):Xb(v[Je])||Xi(v,Je,Xc)),ey(v,l,!0,!0),Dr&&(zc[l]=Xc))),iy&&o===Xe&&h&&h.name!==Xe&&(!Dr&&oy?ry(p,"name",Xe):(d=!0,c=function(){return Jb(h,this)})),o)if(g={values:u(Xe),keys:n?c:u(Yc),entries:u(Jc)},s)for(b in g)($r||d||!(b in p))&&Xi(p,b,g[b]);else Yb({target:e,proto:!0,forced:$r||d},g);return(!Dr||s)&&p[Je]!==c&&Xi(p,Je,c,{name:o}),zc[e]=c,g}});var ol=a((TP,il)=>{"use strict";il.exports=function(r,e){return{value:r,done:e}}});var eo=a((wP,cl)=>{"use strict";var ny=J(),Zi=Vt(),nl=oe(),sl=bi(),ay=Z().f,sy=tl(),Mr=ol(),uy=F(),cy=q(),ul="Array Iterator",ly=sl.set,dy=sl.getterFor(ul);cl.exports=sy(Array,"Array",function(r,e){ly(this,{type:ul,target:ny(r),index:0,kind:e})},function(){var r=dy(this),e=r.target,t=r.index++;if(!e||t>=e.length)return r.target=void 0,Mr(void 0,!0);switch(r.kind){case"keys":return Mr(t,!1);case"values":return Mr(e[t],!1)}return Mr([t,e[t]],!1)},"values");var al=nl.Arguments=nl.Array;Zi("keys");Zi("values");Zi("entries");if(!uy&&cy&&al.name!=="values")try{ay(al,"name",{value:"values"})}catch{}});var dl=a((OP,ll)=>{"use strict";var fy=q(),py=Z(),hy=Ce();ll.exports=function(r,e,t){fy?py.f(r,e,hy(0,t)):r[e]=t}});var fl=a(()=>{"use strict";var vy=R(),gy=Rr(),my=dl();vy({target:"Object",stat:!0},{fromEntries:function(e){var t={};return gy(e,function(i,o){my(t,i,o)},{AS_ENTRIES:!0}),t}})});var hl=a((xP,pl)=>{"use strict";eo();fl();var by=Ne();pl.exports=by.Object.fromEntries});var gl=a((RP,vl)=>{"use strict";vl.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 bl=a(()=>{"use strict";eo();var yy=gl(),Iy=I(),Sy=je(),ml=oe();for(Vr in yy)Sy(Iy[Vr],Vr),ml[Vr]=ml.Array;var Vr});var Il=a((NP,yl)=>{"use strict";var _y=hl();bl();yl.exports=_y});var _l=a((LP,Sl)=>{"use strict";var Py=Il();Sl.exports=Py});var ao=a((wE,Dl)=>{"use strict";var Ry=Ue(),Cy=String;Dl.exports=function(r){if(Ry(r)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Cy(r)}});var Ml=a((OE,$l)=>{"use strict";var ky=dr(),Ny=ao(),Ly=ae(),Dy=RangeError;$l.exports=function(e){var t=Ny(Ly(this)),i="",o=ky(e);if(o<0||o===1/0)throw new Dy("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(t+=t))o&1&&(i+=t);return i}});var jl=a((AE,Ul)=>{"use strict";var Bl=O(),$y=Dt(),Vl=ao(),My=Ml(),Vy=ae(),Fy=Bl(My),By=Bl("".slice),Uy=Math.ceil,Fl=function(r){return function(e,t,i){var o=Vl(Vy(e)),n=$y(t),s=o.length,u=i===void 0?" ":Vl(i),l,d;return n<=s||u===""?o:(l=n-s,d=Fy(u,Uy(l/u.length)),d.length>l&&(d=By(d,0,l)),r?o+d:d+o)}};Ul.exports={start:Fl(!1),end:Fl(!0)}});var Hl=a((qE,Wl)=>{"use strict";var jy=X();Wl.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(jy)});var Kl=a(()=>{"use strict";var Wy=R(),Hy=jl().start,Ky=Hl();Wy({target:"String",proto:!0,forced:Ky},{padStart:function(e){return Hy(this,e,arguments.length>1?arguments[1]:void 0)}})});var zl=a((CE,Gl)=>{"use strict";Kl();var Gy=fr();Gl.exports=Gy("String","padStart")});var Yl=a((kE,Ql)=>{"use strict";var zy=zl();Ql.exports=zy});var so=a((NE,Jl)=>{"use strict";var Qy=Yl();Jl.exports=Qy});var po=E(de(),1);var Fe=(s=>(s.PROD="prod",s.VK_ALIAS="vk_alias",s.VIDEOTEST="videotest",s.TEST="test",s.OKCDN="okcdn",s.AUTO="auto",s))(Fe||{}),Ft=(d=>(d.Q144P="mobile",d.Q240P="lowest",d.Q360P="low",d.Q480P="medium",d.Q720P="high",d.Q1080P="fullhd",d.Q1440P="quadhd",d.Q2160P="ultrahd",d.UNKNOWN="unknown",d))(Ft||{}),Bt=(f=>(f.MP4="mp4",f.DASH="dash",f.DASH_SEP="dash_sep",f.ONDEMAND_DASH="ondemand_dash",f.HLS="hls",f.ONDEMAND_HLS="ondemand_hls",f.WEBM="webm",f.AV1="av1",f.ONDEMAND_DASH_LIVE="ondemand_dash_live",f.ONDEMAND_HLS_LIVE="ondemand_hls_live",f.WEBRTC="webrtc",f.UNKNOWN="unknown",f.RTMP="rtmp",f))(Bt||{});var Ut=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.HTTP3="http3",i))(Ut||{});var jt=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(jt||{}),ya=(n=>(n.GRAPH_SHOW="iGraphShow",n.GRAPH_HIDE="iGraphHide",n.NEXT_AREA="iNextChapterArea",n.NEXT_BUTTON="iNextChapterBtn",n.WATCH_AGAIN="iWatchAgainBtn",n))(ya||{}),Ia={action_play:"ap",action_play_interactive:"api",first_bytes:"fb",player_ready:"pr",first_frame:"ff",seek:"sk",watch_coverage_record:"wr",watch_coverage_live:"wl",empty_buffer:"eb",action_stop:"as",close_at_empty_buffer:"cb",content_error:"er",player_interface_click:"pc",next_movie:"nm",track_switch:"ts",failover:"fo",quality:"qt"},Sa={vsid:"si",isid:"is",vid:"vi",place:"pl",quality:"qt",cdn_host:"ch",stat_type:"st",param:"pm",vk_app_id:"va",track_code:"tc",connection_type:"cnt",connection_reused:"cr",cached_data:"cd",live:"lv",muted:"mu",mode:"mo",subtitles:"sb",failover:"fo",download_speed:"ds",manual_quality:"mq",ref_domain:"rd",direct_url:"du"},_a={unknown:"un",mobile:"m",lowest:"ls",low:"l",medium:"md",high:"h",fullhd:"f",quadhd:"q",ultrahd:"u"},Pa={pip:"pi",fullscreen:"fs",external:"ex",prefetch:"pr",airplay:"ap",chromecast:"cc",invisible:"iv"};import{fillWithDefault as vh}from"@vkontakte/videoplayer-shared/es2024";var Ea="CIOPGQJGDIHBABABA",Wt={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var gh={apiEnv:"vk_alias",apiKey:Ea,requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageInterval:15e3,disabledOperations:["quality"],disabledCustomFields:[],shorten:!0,maxLoops:100,embedUrlParams:[],useBeacon:!0,synchronizeTime:!0,debugLog:!1,clearStorageAtUnload:!0,useVKComIsMobileLogic:!1,backoff:{start:1e3,factor:1.5,max:5*60*1e3,random:.1}},Ta=r=>vh(r,gh);function Ht(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}import{assertNonNullable as tI,combine as od,fromEvent as nd,isNonNullable as we,isNullable as ad,merge as iI,now as z,observableFrom as oI,once as nI,safeStorage as sd,Subject as aI,Subscription as ho,ValueSubject as zr,createURL as ud}from"@vkontakte/videoplayer-shared/es2024";import{Logger as sI,detectEmbed as uI}from"@vkontakte/videoplayer-shared/es2024";var Fr=E($i(),1);var Pl=E(Se(),1),El=E(_l(),1);var Tl=r=>{let{operation:e,custom:t}=r,i=(0,El.default)((0,Pl.default)(t).map(([o,n])=>{let s=Sa[o]??o,u=n;return n&&(o==="mode"?u=Pa[n]??n:o==="quality"&&(u=_a[n]??n)),[s,u]}));return{...r,operation:Ia[e]??e,custom:i}};var k="1.0.82-dev.a750248a.0";import{ValueSubject as Ey,getExponentialDelay as Ty,ErrorCategory as _e}from"@vkontakte/videoplayer-shared/es2024";var wy=/Mobile|mini|Fennec|Android|iP(ad|od|hone)|opera (mini|mobi)/i,Ze=class{constructor(e){this.consequentAuthErrors=0;this.authorized$=new Ey(!1);this.params=e}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this._authorizeWithBackoff()}logBeacon(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey??await this._authorizeWithBackoff();if(!o)return;let n=async(s,u=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,o)}catch(l){if(!l||!("error_code"in l)){this.params.error$.next({id:"logRequestUnknown",category:_e.NETWORK,message:`Unknown ${t} error`,thrown:l});return}let d=l?.error_code;switch(d){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;default:{this.params.error$.next({id:`LogRequest#${d}`,category:_e.EXTERNAL_API,message:`${t} error`,data:l});return}}}};return n(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,Fr.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){let t="WEB",i=!1,o=`@vkontakte/videoplayer-statistics:${k}`;if(this.params.config.useVKComIsMobileLogic){let{appVersion:n}=window.navigator;i=wy.test(n)}else this.params.mobile&&(i=!0);return i&&(t="M_WEB"),this.params.vktvVersion&&(t="SMART_TV",o=this.params.vktvVersion),{collector:"ok.mobile.apps.video",data:JSON.stringify({application:o,platform:t,items:this.params.config.shorten?e.map(Tl):e})}}_authorizeWithBackoff(){if(!this.consequentAuthErrors)return this._authorize();let e=Ty(this.consequentAuthErrors,this.params.config.backoff);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(()=>{(0,Fr.default)(this._authorize().then(t).catch(i=>this.params.error$.next({id:"AuthorizeBackoff",category:_e.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})),()=>this.backoffTimeoutId=0)},e))})}async _authorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:k.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,Fr.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:_e.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this._authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:_e.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:_e.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var Br=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 o=0,n=i.length;o<n;o++)if(i[o].callback===t){i.splice(o,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let o=0,n=i.length;o<n;o++){let s=i[o];try{s.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}s.options&&s.options.once&&this.removeEventListener(e.type,s.callback)}return!e.defaultPrevented}},Pe=class extends Br{constructor(){super(),this.listeners||Br.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)}},er=class{constructor(){Object.defineProperty(this,"signal",{value:new Pe,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch{typeof document<"u"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let i=e;if(i===void 0)if(typeof document>"u")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch{i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(er.prototype[Symbol.toStringTag]="AbortController",Pe.prototype[Symbol.toStringTag]="AbortSignal");function Ur(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function ro(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o=!1}=r;if(!Ur({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o}))return{fetch:e,Request:n};let n=t;(n&&!n.prototype.hasOwnProperty("signal")||o)&&(n=function(d,p){let h;p&&p.signal&&(h=p.signal,delete p.signal);let c=new t(d,p);return h&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:h}),c},n.prototype=t.prototype);let s=e;return{fetch:(l,d)=>{let p=n&&n.prototype.isPrototypeOf(l)?l.signal:d?d.signal:void 0;if(p){let h;try{h=new DOMException("Aborted","AbortError")}catch{h=new Error("Aborted"),h.name="AbortError"}if(p.aborted)return Promise.reject(h);let c=new Promise((f,v)=>{p.addEventListener("abort",()=>v(h),{once:!0})});return d&&d.signal&&delete d.signal,Promise.race([c,s(l,d)])}return s(l,d)},Request:n}}var Oy=()=>"fetch"in window,rr=Oy()&&Ur({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),wl=rr?ro({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Ee=rr?wl.fetch:window.fetch,rE=rr?wl.Request:window.Request,tE=rr?er:window.AbortController,iE=rr?Pe:window.AbortSignal;var Ol=E(de(),1),Al=E(Se(),1);import{ErrorCategory as jr,now as to}from"@vkontakte/videoplayer-shared/es2024";var tr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=Wt[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await Ee(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"OneStat:ApiTransport:resolveApiBaseUrl",category:jr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),Wt.vk_alias}finally{this.isApiBaseUrlFetched=!0}}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this._prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:jr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i){let o=to(),n=s=>{if(s instanceof TypeError&&(0,Ol.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],s.message)){this.params.error$.next({id:"Network",category:jr.NETWORK,message:"Request failed",thrown:s});return}this.params.error$.next({id:"OneStat:ApiTransport:sendRequest",category:jr.NETWORK,message:"Unhandled request error",thrown:s,data:{method:e,params:t,sessionKey:i,time:to()-o}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),Ee(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded"},body:this._prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(s=>{let u=Number(s.headers.get("content-length"))===0,l=new Date(s.headers.get("date")??"").getTime(),d=to()-o;if(isFinite(l)&&this.timeSynchronisation?.addServerTime(l,d),!u)return s.json().then(p=>Object.prototype.hasOwnProperty.call(p,"error_msg")?Promise.reject(p):p,n)},n)}_prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,Al.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var xl=E(de(),1),Rl=E(Se(),1);import{ErrorCategory as Ay,now as qy,safeStorage as ir,debounceFn as ql}from"@vkontakte/videoplayer-shared/es2024";var Wr="onestat_events",io=r=>e=>e.timestamp+r>=qy(),Hr=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{operation:t}=e;return(0,xl.default)(["action_play","watch_coverage_record","watch_coverage_live"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=ql(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=ir.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=ql(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:Ay.WTF,message:e?String(e):"Unknown logger error",thrown:e})}}readFromStorage(){let e=ir.get(Wr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(io(this.params.config.storageExpiration));ir.set(Wr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(io(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],ir.set(Wr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,Rl.default)(e)){let o=i.filter(io(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}ir.set(Wr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.custom.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.custom.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};import{HttpConnectionType as oo,Surface as Te,VideoFormat as w,VideoQuality as M}from"@vkontakte/videoplayer-core/es2024";import{assertNever as Cl}from"@vkontakte/videoplayer-shared/es2024";var kl=r=>r&&{[M.INVARIANT]:"unknown",[M.Q_144P]:"mobile",[M.Q_240P]:"lowest",[M.Q_360P]:"low",[M.Q_480P]:"medium",[M.Q_576P]:"unknown",[M.Q_720P]:"high",[M.Q_1080P]:"fullhd",[M.Q_1440P]:"quadhd",[M.Q_2160P]:"ultrahd",[M.Q_4320P]:"unknown"}[r],no=r=>r&&{[oo.HTTP1]:"http1",[oo.HTTP2]:"http2",[oo.QUIC]:"http3"}[r],Nl=r=>{if(r!==void 0)switch(r){case w.MPEG:return"mp4";case w.DASH:case w.DASH_LIVE:case w.DASH_STREAMS:return"dash";case w.DASH_SEP:return"dash_sep";case w.DASH_ONDEMAND:return"ondemand_dash";case w.DASH_WEBM:case w.DASH_LIVE_WEBM:return"webm";case w.DASH_WEBM_AV1:return"av1";case w.DASH_LIVE_CMAF:return"ondemand_dash_live";case w.HLS:case w.HLS_LIVE:return"hls";case w.HLS_ONDEMAND:return"ondemand_hls";case w.HLS_LIVE_CMAF:return"ondemand_hls_live";case w.WEB_RTC_LIVE:return"webrtc";default:return Cl(r)}},Kr=r=>{if(r!==void 0)switch(r){case Te.NONE:case Te.INLINE:return;case Te.FULLSCREEN:return"fullscreen";case Te.SECOND_SCREEN:return"chromecast";case Te.PIP:return"pip";case Te.INVISIBLE:return"invisible";default:return Cl(r)}},Ll=r=>{switch(r){case"slow-2g":return"poor";case"2g":return"poor";case"3g":return"good";case"4g":return"excellent"}};var Gr=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};var uo=E(so(),1),Xl=()=>(0,uo.default)(Math.floor(Math.random()*2**32).toString(36),7,"0"),Zl=()=>(0,uo.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");import{PlaybackState as ed}from"@vkontakte/videoplayer-core/es2024";import{filter as rd,filterChanged as Yy,fromEvent as Jy,isNullable as td,map as Xy,merge as co,Observable as Zy,Subject as lo,Subscription as eI,ValueSubject as rI}from"@vkontakte/videoplayer-shared/es2024";var id=(r,e)=>new Zy(t=>{let i=new eI,o=co(Jy(window,"beforeunload"),r.events.willDestruct$),n=new rI(void 0),s;i.add(r.info.isLive$.pipe(Yy()).subscribe(_=>{s&&(s.unsubscribe(),n.next(void 0)),_?s=r.info.liveTime$.pipe(Xy(A=>A&&A/1e3)).subscribe(n):s=r.info.position$.subscribe(n),i.add(s)}));let{playing$:u,paused$:l}=r.events,d=r.events.willSeek$.pipe(rd(()=>r.info.playbackState$.getValue()===ed.PLAYING)),p=r.events.seeked$.pipe(rd(()=>r.info.playbackState$.getValue()===ed.PLAYING)),h=!1,c=new lo;i.add(d.subscribe(()=>{h||c.next(),h=!0})),i.add(p.subscribe(()=>h=!1));let f=new lo,v=new lo,g=co(u,p,f),b=co(l,c,o,r.events.looped$,v),m,y=()=>m=n.getValue(),U=()=>{let _=n.getValue();td(m)||m===_||td(_)||(t.next({from:m,to:_}),m=void 0)},j=()=>{v.next(),f.next()};if(i.add(g.subscribe(y)),i.add(b.subscribe(U)),e.forceInterval&&isFinite(e.forceInterval)){let _=0;i.add(g.subscribe(()=>_=window.setTimeout(j,e.forceInterval))),i.add(b.subscribe(()=>window.clearTimeout(_)))}return i});var cI="_one-stat_",cd=`${cI}deviceId`,fo=()=>{let r=new ho;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},vo=class{constructor(e,t){this.subscription=new ho;this.debugLogger=new sI;this.oneStatDebugLog=this.debugLogger.createComponentLog("onestat");this.loopCounter=0;this.disabled=!1;this.vsid$=new zr(void 0);this.isid$=new zr(void 0);this.zenUid$=new zr(void 0);this.seekAction$=new zr("unknown");this.statContext=e,this.config=Ta(t.config??{}),we(t.apiEnv)&&(this.config.apiEnv=t.apiEnv),this.config.synchronizeTime&&(this.timeSynchronisation=new Gr);let i=new aI;this.experimental={error$:i};let o=sd.get(cd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Ht(),sd.set(cd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??Zl()),this.zenUid$.next(t.zenUid);let n=new tr({config:this.config,error$:i,timeSynchronisation:this.timeSynchronisation});this.api=new Ze({config:this.config,apiTransport:n,refreshAuthToken:t.refreshAuthToken,mobile:this.statContext.mobile??!1,deviceId:this.deviceId,error$:i,vktvVersion:t.vktvVersion}),this.logger=new Hr({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=uI();this.isEmbed=s,this.embedParent=u?new URL(u).hostname:void 0,this.subscribe()}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new ho,i=(c,f)=>t.add(c.subscribe(f));i(e.events.willStart$,()=>{let c=e.info.position$.getValue();this.logActionPlay({position:c}),this.statContext.projectId&&this.logActionPlayInteractive()}),i(e.events.looped$,()=>{this.resetViewSession(),++this.loopCounter>this.config.maxLoops&&(this.disabled=!0),this.logActionPlay({position:e.info.position$.getValue()})}),i(e.events.seeked$,()=>{this.logSeek({action:this.seekAction$.getValue(),time:e.info.position$.getValue()}),this.seekAction$.next("unknown")}),i(e.events.paused$,()=>{this.logPause({position:e.info.position$.getValue()})}),i(e.events.willResume$,()=>{this.logPlay()}),i(e.events.started$,()=>{this.statContext.clip&&this.logWatchCoverageRecord({start:0,end:0})}),i(e.events.playing$,()=>{this.logPlaying()}),i(id(e,{forceInterval:this.config.watchCoverageInterval}),c=>{let f=e.info.isLive$.getValue(),v=e.info.atLiveEdge$.getValue(),g={start:parseFloat(c.from.toFixed(3)),end:parseFloat(c.to.toFixed(3))};if(v){let b=e.info.liveLatency$.getValue()??0,m=e.info.currentBuffer$.getValue()?.end??0,y=e.info.liveBufferTime$.getValue()??0,U=Math.round((b-(m-y))*1e3),j=Math.round(b*1e3);U&&j&&(g.latency=U,g.bufferLatency=j)}f?this.logWatchCoverageLive(g):this.logWatchCoverageRecord(g)});let o;i(e.info.isStalled$,c=>{c?o=z():(we(o)&&this.logEmptyBuffer({duration:z()-o}),o=void 0)});let n=!1;t.add(e.events.fatalError$.pipe(nI()).subscribe(()=>n=!0)),i(e.events.willStop$,()=>{if(e.info.isStalled$.getValue()){let f=we(o)?z()-o:void 0;this.logCloseAtEmptyBuffer({duration:f??0}),o=void 0}else n||this.logActionStop()}),i(e.events.managedError$,({id:c})=>{this.logError({fatal:!1,errorType:c})}),i(e.events.fatalError$,({id:c})=>{this.logError({fatal:!0,errorType:c})});let s,u,l=!1;i(e.events.firstBytes$,c=>{s=z(),this.logFirstBytes({time:c})}),i(e.events.willStart$,()=>u=z()),i(e.info.currentBuffer$,c=>{!l&&c&&c.end-c.start>0&&we(s)&&(this.logPlayerReady({duration:z()-s}),l=!0)}),i(e.events.firstFrame$,()=>{we(s)&&!l&&(this.logPlayerReady({duration:z()-s}),l=!0),we(u)&&this.logFirstFrame({time:z()-u})});let d;i(e.info.currentVideoStream$,c=>{c&&(d&&c.id!==d&&this.logTrackSwitch(c),d=c.id)});let p;i(e.info.currentAudioStream$,c=>{c&&(p&&c.id!==p&&this.logTrackSwitch(c),p=c.id)}),i(e.info.atLiveEdge$,c=>this.updateContext({liveEdge:c})),i(od({muted:e.info.muted$,volume:e.info.volume$}),({muted:c,volume:f})=>this.updateContext({audible:!c&&f>0})),i(e.info.currentQuality$,c=>{let f=kl(c);this.updateContext({quality:f}),f&&this.logQuality(f)}),i(e.info.isAutoQualityEnabled$,c=>this.updateContext({autoQuality:c})),i(e.info.currentFormat$,c=>this.updateContext({contentType:Nl(c)})),i(e.info.currentPlaybackRate$,c=>this.updateContext({rate:c})),i(e.info.is3DVideo$,c=>this.updateContext({is3d:c}));let h;return i(e.info.hostname$,c=>{let f=h!==void 0&&h!==c;this.updateContext({cdnHostname:c,failover:f}),f&&this.logFailover(c),h=c}),i(e.info.throughputEstimation$,c=>this.updateContext({downloadSpeed:c})),i(e.info.httpConnectionType$,c=>{this.statContext.firstConnectionType||this.updateContext({firstConnectionType:no(c)}),this.updateContext({connectionType:no(c)})}),i(e.info.httpConnectionReused$,c=>{ad(this.statContext.firstConnectionReused)&&this.updateContext({firstConnectionReused:c}),this.updateContext({connectionReused:c})}),i(e.info.surface$,c=>this.updateContext({mode:Kr(c)})),i(od({current:e.info.currentTextTrack$,available:e.info.availableTextTracks$}),({current:c,available:f})=>{let v=f.find(({id:b})=>b===c),g=v&&(v.isAuto?`${v.language}_auto`:v.language);this.updateContext({subtitles:g?.split(".")[0]})}),this.player=e,this.uiEvents&&this.attachToUi(this.uiEvents),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){this.uiEvents=e;let{subscription:t,subscribe:i}=fo();return this.player&&(i(e.actionRewind$,()=>{this.player&&(this.resetViewSession(),this.logActionPlay({position:this.player.info.position$.getValue()}))}),i(e.actionSeek$,this.seekAction$),i(e.inPiP$,o=>{let n=o?"pip":Kr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.inFullscreen$,o=>{let n=o?"fullscreen":Kr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.actionSetSubtitle$,o=>this.updateContext({subtitles:o.split(".")[0]})),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t)),t}attachToAds(e){let{subscription:t,subscribe:i}=fo();return i(e.slotRequested$,()=>this.logAdSlotRequest()),i(e.started$,o=>this.logAdStarted(o)),i(e.paused$,()=>this.logAdPaused()),i(e.resumed$,()=>this.logAdResumed()),i(e.ended$,()=>this.logAdEnded()),i(e.skipped$,()=>this.logAdSkipped()),i(e.clicked$,()=>this.logAdClicked()),i(e.error$,o=>this.logError({errorType:o,fatal:!1})),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToInteractive(e){let{subscription:t,subscribe:i}=fo();return i(e.click$,o=>this.logInterfaceClick(o)),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t),t}authorize(e){return this.api.authorize(e)}pause(){this.logger.pause(),this.oneStatDebugLog({message:"paused"})}resume(){this.logger.resume(),this.oneStatDebugLog({message:"resumed"})}destroy(){this.logger.flush(),this.subscription.unsubscribe(),this.api.destroy(),this.logger.destroy()}resetViewSession(){this.oneStatDebugLog({message:"VSID reset"}),this.vsid$.next(Xl())}getDeviceId(){return this.deviceId}setFieldBlacklist(){}logInited(){}logReady(e){this.log({operation:"player_ready",param:String(e.time)})}logStarted(...e){this.logActionPlay(...e)}logPlay(){this.log({operation:"play_toggle"})}logPlaying(){this.log({operation:"playing"})}logPause(e){this.log({operation:"pause",param:String(Math.round(e.position))})}logSeek(e){this.log({operation:"seek",param:e.action,time:e.time})}logFirstBytes(e){this.log({operation:"first_bytes",param:String(e.time)})}logFirstFrame(e){this.log({operation:"first_frame",param:String(e.time)})}logError(e){this.log({operation:"content_error",param:`${e.fatal?"fatal":"recoverable"}_${e.errorType}`})}logWatchCoverageRecord(e){this.log({operation:"watch_coverage_record",param:`${e.start}-${e.end}`},{in_history:this.statContext.inHistory?1:void 0})}logWatchCoverageLive(e){let t=this.timeSynchronisation?.getOffset()??0,i=e.start+t,o=e.end+t;this.log({operation:"watch_coverage_live",param:`${i}-${o}`},{in_history:this.statContext.inHistory?1:void 0,latency:e.latency,buffer_latency:e.bufferLatency})}logEmptyBuffer(e){this.log({operation:"empty_buffer",param:String(e.duration)})}logDownloadSpeed(){}logAdSlotRequest(){this.log({operation:"adv",param:"slot_request"})}logAdStarted(e){this.log({operation:"adv",param:e})}logAdPaused(){this.log({operation:"adv",param:"pause"})}logAdResumed(){this.log({operation:"adv",param:"resume"})}logAdEnded(){this.log({operation:"adv",param:"ended"})}logAdSkipped(){this.log({operation:"adv",param:"skip"})}logAdClicked(){this.log({operation:"adv",param:"click"})}logInterfaceClick(e){this.log({operation:"player_interface_click",param:e})}logNextMovie(e){this.log({operation:"next_movie",param:String(e)})}subscribe(){this.resubscribeBeforeunload();let e=window.navigator.connection;e&&"onchange"in e&&"effectiveType"in e&&this.subscription.add(iI(nd(e,"change"),oI(["init"])).subscribe(()=>this.updateContext({network:Ll(e.effectiveType)}))),this.config.debugLog&&this.debugLogger.log$.subscribe(t=>{console.debug("%c stat ","background:#fa6470;",`component: ${t.component}.`,t.message)})}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=nd(window,"beforeunload").subscribe(()=>{console.log("[resubscribeBeforeunload][flush]"),this.logger.flush({wantBeacon:!0,clearStorage:this.config.clearStorageAtUnload})}),this.subscription.add(this.beforeunloadSubscription)}logPlayerReady(e){this.log({operation:"player_ready",param:String(Math.round(e.duration))})}logActionPlay(e){this.log({operation:"action_play",param:String(Math.round(e.position))})}logActionPlayInteractive(){this.statContext.projectId&&this.log({operation:"action_play_interactive",param:String(this.statContext.movieId)},{vid:this.statContext.projectId})}logFailover(e){this.log({operation:"failover",param:e})}logCloseAtEmptyBuffer(e){this.log({operation:"close_at_empty_buffer",param:String(Math.round(e.duration))})}logActionStop(){this.log({operation:"action_stop"})}logTrackSwitch(e){this.log({operation:"track_switch",param:e.id})}logQuality(e){this.log({operation:"quality",param:e})}log(e,t={}){if(this.disabled){this.oneStatDebugLog({message:`operation ${e.operation} but statistics is disabled`});return}if((0,po.default)(this.config.disabledOperations,e.operation)){this.oneStatDebugLog({message:`operation ${e.operation} but it is disabled`});return}this.oneStatDebugLog({message:`operation ${e.operation} ${e.param}`});let i=this.createLogItem(e,t);this.logger.log(i)}createLogItem({operation:e,param:t,time:i},o={}){let n=this.timeSynchronisation?.now()??z(),s=this.vsid$.getValue();tI(s);let u=this.isid$.getValue(),l=e==="empty_buffer"||e==="close_at_empty_buffer"?this.statContext.connectionType:this.statContext.firstConnectionType,d=this.statContext.firstConnectionReused,p,h;if(this.isEmbed||this.statContext.place==="embed"){p=this.embedParent;let f=[...new URLSearchParams(location.search).entries()].filter(([v,g])=>(0,po.default)(this.config.embedUrlParams,v));h=new URLSearchParams(f).toString()}else this.statContext.place==="direct"&&(this.statContext.refDomain?p=ud(this.statContext.refDomain)?.hostname??this.statContext.refDomain:document.referrer&&(p=ud(document.referrer)?.hostname??document.referrer),h=location.href.substring(0,1024));let c={vsid:s,isid:u,vid:this.statContext.movieId,uid:this.zenUid$.getValue(),ct:this.statContext.contentType,place:this.isEmbed?"embed":this.statContext.place,quality:this.statContext.quality,cdn_host:this.statContext.cdnHostname,stat_type:this.statContext.autoplay===!0?"auto":this.statContext.autoplay===!1?"":void 0,param:t,vk_app_id:this.statContext.vkAppId,track_code:this.statContext.trackCode,connection_type:l,connection_reused:d===!0?1:d===!1?0:void 0,cached_data:this.statContext.cached===!0?1:this.statContext.cached===!1?0:void 0,live:this.statContext.liveEdge?1:void 0,muted:this.statContext.audible===!1?1:void 0,mode:this.statContext.mode,subtitles:this.statContext.subtitles,download_speed:this.statContext.downloadSpeed,manual_quality:this.statContext.autoQuality?void 0:1,ref_domain:p,direct_url:h,rate:this.statContext.rate===1||ad(this.statContext.rate)?void 0:this.statContext.rate.toFixed(2),view_360:this.statContext.is3d?1:void 0,aid:this.statContext.albumId,vk_playlist_id:this.statContext.vkPlaylistId,...o};for(let f of this.config.disabledCustomFields)delete c[f];return{operation:e,type:1,time:i,network:this.statContext.network,timestamp:n,custom:c}}};var $d={};Hd($d,{SeekType:()=>Qr,ThinOneStat:()=>it,VERSION:()=>k});import{assertNonNullable as EI,detectEmbed as TI,fromEvent as wI,Logger as OI,merge as kd,safeStorage as Nd,Subject as AI,Subscription as To,ValueSubject as tt}from"@vkontakte/videoplayer-shared/es2024";import{clientChecker as ne,PlaybackState as Ld}from"@vkontakte/videoplayer-core/es2024";import{fillWithDefault as lI}from"@vkontakte/videoplayer-shared/es2024";var Qr=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Qr||{});var dd="CIOPGQJGDIHBABABA",go={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var dI={apiKey:dd,apiEnv:"vk_alias",requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageHeartbeatInterval:15,synchronizeTime:!0,useBeacon:!1,alwaysSendDesktop:!1},fd=r=>lI(r,dI);var mo=E($i(),1);import{getExponentialDelay as fI,ErrorCategory as Oe,ValueSubject as pI}from"@vkontakte/videoplayer-shared/es2024";var Yr=class{constructor(e){this.params=e,this.authorized$=new pI(!1),this.consequentAuthErrors=0}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this.authorizeWithBackoff()}logBeacon(e){let t="log.logUvStat",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.logUvStat",i=this.createLogParams(e),o={},n=this.sessionKey??await this.authorizeWithBackoff();if(!n)return;let s=async(u,l=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,n,o)}catch(d){if(!d||!("error_code"in d)){this.params.error$.next({id:"logRequestUnknown",category:Oe.NETWORK,message:`Unknown ${t} error`,thrown:d});return}let p=d?.error_code;switch(p){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;default:{this.params.error$.next({id:`LogRequest#${p}`,category:Oe.EXTERNAL_API,message:`${t} error`,data:d});return}}}};return s(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,mo.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){return{collector:"ok.mobile.apps.video",uv_stat_data:JSON.stringify({application:`@vkontakte/videoplayer-statistics:${k}`,platform:e[0].platform,product:e[0].product,events:e})}}authorizeWithBackoff(){if(!this.consequentAuthErrors)return this.doAuthorize();let e=fI(this.consequentAuthErrors);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(async()=>{try{let i=await this.doAuthorize();t(i)}catch(i){this.params.error$.next({id:"AuthorizeBackoff",category:Oe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})}finally{this.backoffTimeoutId=0}},e))})}doAuthorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:k.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,mo.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:Oe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this.authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:Oe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:Oe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var pd=E(de(),1);var hd=E(Se(),1);import{now as bo,ErrorCategory as Jr}from"@vkontakte/videoplayer-shared/es2024";var Xr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=go[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this.prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Jr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i,o){let n=bo(),s=u=>{if(u instanceof TypeError&&(0,pd.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],u.message)){this.params.error$.next({id:"Network",category:Jr.NETWORK,message:"Request failed",thrown:u});return}this.params.error$.next({id:"ThinOneStat:ApiTransport:sendRequest",category:Jr.NETWORK,message:"Unhandled request error",thrown:u,data:{method:e,params:t,sessionKey:i,time:bo()-n}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),Ee(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded",...o},body:this.prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(u=>{let l=Number(u.headers.get("content-length"))===0,d=new Date(u.headers.get("date")??"").getTime(),p=bo()-n;if(isFinite(d)&&this.timeSynchronisation?.addServerTime(d,p),!l)return u.json().then(h=>Object.prototype.hasOwnProperty.call(h,"error_msg")?Promise.reject(h):h,s)},s)}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await Ee(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"ThinOneStat:ApiTransport:resolveApiBaseUrl",category:Jr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),go.vk_alias}finally{this.isApiBaseUrlFetched=!0}}prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,hd.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var gd=E(de(),1),md=E(Se(),1);import{ErrorCategory as hI,now as vI,safeStorage as or,debounceFn as vd}from"@vkontakte/videoplayer-shared/es2024";var Zr="thinonestat_events",yo=r=>e=>e.client_time+r>=vI(),et=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{event_name:t}=e;return(0,gd.default)(["watch_coverage","watch_coverage_live","watched_n","playback_started"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=vd(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=or.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=vd(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:hI.WTF,message:String(e)||"Unknown logger error",thrown:e})}}readFromStorage(){let e=or.get(Zr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(yo(this.params.config.storageExpiration));or.set(Zr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(yo(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],or.set(Zr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,md.default)(e)){let o=i.filter(yo(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}or.set(Zr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};function Io(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}var rt=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};import{PlaybackState as bd}from"@vkontakte/videoplayer-core/es2024";import{Observable as gI,Subscription as mI,ValueSubject as bI,Subject as So,fromEvent as yI,isNullable as yd,merge as _o,filter as Id,filterChanged as Sd}from"@vkontakte/videoplayer-shared/es2024";var _d=(r,e)=>new gI(t=>{let i=new mI,o=new bI(void 0),n;i.add(r.info.isLive$.pipe(Sd()).subscribe(A=>{n&&(n.unsubscribe(),o.next(void 0)),A?n=r.info.liveTime$.pipe(Sd()).subscribe(o):n=r.info.position$.subscribe(o),i.add(n)}));let{playing$:s,paused$:u,ended$:l,looped$:d}=r.events,p=r.events.willSeek$.pipe(Id(()=>r.info.playbackState$.getValue()===bd.PLAYING)),h=r.events.seeked$.pipe(Id(()=>r.info.playbackState$.getValue()===bd.PLAYING)),c=!1,f=new So;i.add(p.subscribe(()=>{c||f.next(),c=!0})).add(h.subscribe(()=>c=!1));let v=_o(yI(window,"beforeunload"),r.events.willDestruct$),g,b=()=>g=o.getValue(),m=()=>{let A=o.getValue();yd(g)||yd(A)||g===A||(t.next({from:g,to:A}),g=void 0)},y=new So,U=new So,j=_o(s,f,y),_=_o(u,h,v,l,d,U);if(i.add(j.subscribe(b)).add(_.subscribe(m)),e.heartbeatInterval&&isFinite(e.heartbeatInterval)){let A=[],Md=e.heartbeatInterval*1e3,Vd=()=>{U.next(),y.next()};i.add(j.subscribe(()=>{let ot=window.setTimeout(Vd,Md);A.push(ot)})).add(_.subscribe(()=>{A.forEach(ot=>{window.clearTimeout(ot)}),A=[]}))}return i});import{Subscription as II}from"@vkontakte/videoplayer-core/es2024";import{Observable as SI}from"@vkontakte/videoplayer-shared/es2024";var Pd=(r,e)=>new SI(t=>{let i=new II,o=1e4,n=0;return i.add(r.info.position$.subscribe(()=>{let s=e.getTotalViewTime()*1e3;s>n&&s%o===0&&(n=s,t.next({target_duration:o,current_tvt:s}))})),i});import{Observable as _I,Subscription as PI,merge as Ed}from"@vkontakte/videoplayer-shared/es2024";var Td=r=>new _I(e=>{let t=new PI,i=0,o=1,n=0,s=!1,u=!1,l=()=>{if(!s)return;let _=Date.now();n+=(_-i)*o,i=_},d=()=>{(!s||u)&&(i=Date.now(),s=!0,u=!1)},p=()=>{s&&(l(),s=!1)},h=()=>{s&&(l(),s=!1,u=!0)},c=_=>{s&&l(),o=_,i=Date.now()},{started$:f,playing$:v,paused$:g,willSeek$:b,ended$:m,willDestruct$:y}=r.events,{currentPlaybackRate$:U}=r.info;t.add(b.subscribe(h)).add(Ed(f,v).subscribe(d)).add(Ed(g,m,y).subscribe(p)).add(U.subscribe(c));let j=()=>{let _=n;return s&&(_+=(Date.now()-i)*o),Math.floor(_/1e3)};return e.next(j),t});import{assertNever as wd}from"@vkontakte/videoplayer-shared/es2024";import{Surface as Ae,VideoFormat as P,VideoQuality as V}from"@vkontakte/videoplayer-core/es2024";var Po=r=>{if(r!==void 0)switch(r){case P.MPEG:return"MP4";case P.DASH:case P.DASH_LIVE:return"DASH";case P.DASH_SEP:return"DASH_SEP";case P.DASH_ONDEMAND:return"ONDEMAND_DASH";case P.HLS_ONDEMAND:return"ONDEMAND_HLS";case P.HLS:case P.HLS_LIVE:return"HLS";case P.DASH_WEBM:case P.DASH_LIVE_WEBM:return"WEBM";case P.DASH_LIVE_CMAF:return"ONDEMAND_DASH_LIVE";case P.HLS_LIVE_CMAF:return"ONDEMAND_HLS_LIVE";case P.WEB_RTC_LIVE:return"WEBRTC";case P.DASH_WEBM_AV1:return"AV1";case P.DASH_STREAMS:return"MULTI_DASH";default:return wd(r)}},Y=r=>{if(r!==void 0)switch(r){case V.Q_144P:return"144p";case V.Q_240P:return"240p";case V.Q_360P:return"360p";case V.Q_480P:return"480p";case V.Q_720P:return"720p";case V.Q_1080P:return"1080p";case V.Q_1440P:return"1440p";case V.Q_2160P:return"2160p";case V.INVARIANT:case V.Q_576P:case V.Q_4320P:return"UNKNOWN";default:return wd(r)}},Od=r=>{if(r!==void 0)switch(r){case"MP4":case"ONDEMAND_DASH":case"ONDEMAND_DASH_LIVE":case"ONDEMAND_HLS":case"ONDEMAND_HLS_LIVE":case"MULTI_DASH":case"WEBM":case"AV1":return"vod";case"DASH":case"HLS":case"WEBRTC":return"live";default:return}},Ad=(r,e,t)=>{if(r&&e)switch(r){case P.MPEG:return t&&e[r]&&e[r][t];default:return e[r]?.url}},qd=r=>{if(r!==void 0)switch(r){case Ae.NONE:return;case Ae.INLINE:return"inline";case Ae.FULLSCREEN:return"fullscreen";case Ae.SECOND_SCREEN:return"chromecast";case Ae.PIP:return"pip_external"}},xd=r=>{if(r!==void 0)return r===Ae.INVISIBLE?"background":"foreground"};var Eo=E(so(),1),Rd=()=>(0,Eo.default)(Math.floor(Math.random()*2**32).toString(36),13,"0"),Cd=()=>(0,Eo.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");var qI="_thin-one-stat_",Dd=`${qI}deviceId`,xI=()=>{let r=new To;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},it=class{constructor(e,t){this.debugLogger=new OI;this.thinOneStatDebugLog=this.debugLogger.createComponentLog("ThinOneStat");this.eventNumber=1;this.seekAction$=new tt("unknown");this.playerSize$=new tt({width:0,height:0});this.vsid$=new tt(void 0);this.isid$=new tt(void 0);this.statContext=e,this.config=fd(t.config??{}),this.subscription=new To,this.config.synchronizeTime&&(this.timeSynchronisation=new rt);let i=new AI,o=Nd.get(Dd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Io(),Nd.set(Dd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??Cd());let n=new Xr({error$:i,config:this.config,timeSynchronisation:this.timeSynchronisation});this.api=new Yr({config:this.config,apiTransport:n,error$:i,deviceId:this.deviceId,refreshAuthToken:t.refreshAuthToken}),this.logger=new et({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=TI();this.isEmbed=s,this.embedHostname=u?new URL(u).hostname:void 0}authorize(e){return this.api.authorize(e)}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new To,i=(n,s)=>t.add(n.subscribe(s));i(Td(e),n=>{this.getTotalViewTime=n}),i(e.info.isLive$,n=>this.isLive=n),i(e.info.position$,n=>this.position=n);let o;return i(e.info.hostname$,n=>{o!==void 0&&o!==n&&this.logFailover({cdn_host:n}),this.cdnHostname=o=n}),i(_d(e,{heartbeatInterval:this.config.watchCoverageHeartbeatInterval}),n=>{let s=Math.round(n.from*1e3),u=Math.round(n.to*1e3),l={watch_interval:`${s}-${u}`,in_history:!!this.statContext.inHistory,content_type:Po(e.info.currentFormat$.getValue()),playback_quality:Y(e.info.currentQuality$.getValue()),recom_info:this.statContext.recomInfo};if(!e.info.isLive$.getValue())this.logWatchCoverage(l);else{let p=e.info.atLiveEdge$.getValue();this.logWatchCoverageLive({...l,live:!!p})}}),i(Pd(e,{getTotalViewTime:this.getTotalViewTime}),n=>{this.logWatchedN(n)}),i(kd(e.events.willStart$,e.events.looped$),n=>{n&&this.resetViewSession();let s={isid:this.isid$.getValue(),stream_profile:Od(Po(e.info.currentFormat$.getValue())),dpi:ne.display.pixelRatio,web_layout:ne.device.isMobile?"mobile":"desktop",iframe_host:this.isEmbed?this.embedHostname??void 0:null,from_downloads:!0,preloaded:this.statContext.preload,navigation:this.statContext.navigation,recom_info:this.statContext.recomInfo};this.logStartSession(s)}),i(e.events.willReady$,()=>{if(this.statContext.preload){let n=e.info.currentFormat$.getValue(),s=e.info.availableSources$.getValue(),u=e.info.currentBuffer$.getValue(),l=e.info.currentQuality$.getValue(),d={target_buffer_time:u?u.end-u.start:void 0,playback_url:Ad(n,s,l),playback_quality:Y(l)};this.logPreloadStarted(d)}}),i(e.events.ready$,()=>{if(this.statContext.preload){let n=e.info.currentBuffer$.getValue(),s={buffer_time:n?n.end-n.start:void 0};this.logPreloadEnded(s)}}),i(e.events.playing$,()=>{this.logPlay()}),i(e.info.playbackState$,n=>{if(n===Ld.PLAYING){let s=e.info.currentBuffer$.getValue(),u={buffer_time:s?s.end-s.start:void 0};if(this.logPlaying(u),this.isStarted)this.logResume();else{this.isStarted=!0;let l=e.info.currentQuality$.getValue(),d=e.info.isAutoQualityEnabled$.getValue(),p=e.info.muted$.getValue(),h=e.info.volume$.getValue(),c=e.info.surface$.getValue(),f=e.info.availableTextTracks$.getValue(),v=e.info.currentTextTrack$.getValue(),g=e.info.currentAudioStream$.getValue(),b=e.info.currentPlaybackRate$.getValue(),m={playback_quality:Y(l),user_quality:d?"auto":Y(l),player_width:this.playerSize$.getValue().width,player_height:this.playerSize$.getValue().height,muted:p,sound_volume:h,buffer_time:s?Math.round(s.end-s.start):void 0,mode:qd(c),visibility:xd(c),subtitles_enabled:!!v,auto_subtitles:!!f.find(({id:y})=>y===v)?.isAuto,audio_track_lang:g?.language,playback_rate:b,recom_info:this.statContext.recomInfo};this.logPlaybackStarted(m)}}else n===Ld.PAUSED&&this.logPause()}),i(e.events.willSeek$,({to:n})=>{let s={target_position:n,seek_type:this.seekAction$.getValue()};this.logSeeking(s)}),i(e.events.seeked$,()=>{let s={target_position:e.info.position$.getValue(),seek_type:this.seekAction$.getValue()};this.logSeeked(s),this.seekAction$.next("unknown")}),i(kd(e.info.isBuffering$,e.info.isStalled$),n=>{n&&this.logShowLoader()}),i(e.info.currentQuality$,n=>{if(n){let s=e.info.isAutoQualityEnabled$.getValue(),u=e.info.currentVideoStream$.getValue()?.codec,l=e.info.currentAudioStream$.getValue()?.codec,d={user_quality:s?"auto":Y(n),playback_quality:Y(n),download_quality:Y(n),codec_info:u&&l?`${u},${l}`:void 0,manual_switch:!s};this.logQualityChanged(d)}}),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){let{subscribe:t,subscription:i}=xI();return t(e.actionSeek$,this.seekAction$),t(e.playerSize$,this.playerSize$),this.subscription.add(i),i}getDeviceId(){return this.deviceId}resetViewSession(){this.thinOneStatDebugLog({message:"VSID reset"}),this.vsid$.next(Rd()),this.eventNumber=0}destroy(){this.api.destroy()}createRequiredParams(e){let t=this.vsid$.getValue();EI(t);let i=this.eventNumber++;return{vsid:t,uv_movie_id:this.statContext.movieId,event_name:e,client_time:Date.now(),application:`@vkontakte/videoplayer-statistics:${k}`,platform:`web:${ne.device.isMobile?"mobile":"desktop"}`,product:this.statContext.product,event_number:i,playback_position:this.isLive?void 0:Math.round(this.position),current_tvt:this.getTotalViewTime(),cdn_host:this.cdnHostname}}createRequiredFatParams(){return{stats_version:k,browser:ne.browser.current,browser_version:String(ne.browser.currentVersion),os:ne.device.current,os_version:"",device_type:ne.device.isMobile?"mobile":"desktop",navigation:this.statContext.navigation}}log(e,t,i=!1){let o=this.createRequiredParams(e),n={};i&&(n=this.createRequiredFatParams()),this.logger.log({...o,...n,...t})}logWatchCoverage(e){this.log("watch_coverage",e,!0)}logWatchCoverageLive(e){this.log("watch_coverage_live",e,!0)}logWatchedN(e){this.log("watched_n",e,!0)}logStartSession(e){this.log("start_session",e,!0)}logPreloadStarted(e){this.log("preload_started",e)}logPreloadEnded(e){this.log("preload_ended",e)}logPlaybackStarted(e){this.log("playback_started",e,!0)}logPlay(){this.log("play")}logPlaying(e){this.log("playing",e)}logPause(){this.log("pause")}logResume(){this.log("resume")}logSeeking(e){this.log("seeking",e)}logSeeked(e){this.log("seeked",e)}logShowLoader(){this.log("show_loader")}logQualityChanged(e){this.log("quality_changed",e)}logFailover(e){this.log("failover",e)}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=wI(window,"beforeunload").subscribe(()=>{}),this.subscription.add(this.beforeunloadSubscription)}};export{Fe as ApiEnv,Ut as ConnectionType,Bt as ContentType,ya as InteractiveInterfaceClick,vo as OneStat,Ft as Quality,jt as SeekAction,$d as ThinOneStat,k as VERSION};
6
+ var jd=Object.create;var nt=Object.defineProperty;var Wd=Object.getOwnPropertyDescriptor;var Hd=Object.getOwnPropertyNames;var Kd=Object.getPrototypeOf,Gd=Object.prototype.hasOwnProperty;var a=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),zd=(r,e)=>{for(var t in e)nt(r,t,{get:e[t],enumerable:!0})},Qd=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Hd(e))!Gd.call(r,o)&&o!==t&&nt(r,o,{get:()=>e[o],enumerable:!(i=Wd(e,o))||i.enumerable});return r};var P=(r,e,t)=>(t=r!=null?jd(Kd(r)):{},Qd(e||!r||!r.__esModule?nt(t,"default",{value:r,enumerable:!0}):t,r));var I=a((at,wo)=>{"use strict";var Re=function(r){return r&&r.Math===Math&&r};wo.exports=Re(typeof globalThis=="object"&&globalThis)||Re(typeof window=="object"&&window)||Re(typeof self=="object"&&self)||Re(typeof global=="object"&&global)||Re(typeof at=="object"&&at)||function(){return this}()||Function("return this")()});var T=a((kI,Oo)=>{"use strict";Oo.exports=function(r){try{return!!r()}catch{return!0}}});var Ce=a((DI,Ao)=>{"use strict";var Yd=T();Ao.exports=!Yd(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var st=a(($I,Co)=>{"use strict";var Jd=Ce(),Ro=Function.prototype,qo=Ro.apply,xo=Ro.call;Co.exports=typeof Reflect=="object"&&Reflect.apply||(Jd?xo.bind(qo):function(){return xo.apply(qo,arguments)})});var O=a((MI,ko)=>{"use strict";var Lo=Ce(),No=Function.prototype,ut=No.call,Xd=Lo&&No.bind.bind(ut,ut);ko.exports=Lo?Xd:function(r){return function(){return ut.apply(r,arguments)}}});var Le=a((VI,$o)=>{"use strict";var Do=O(),Zd=Do({}.toString),ef=Do("".slice);$o.exports=function(r){return ef(Zd(r),8,-1)}});var ct=a((FI,Mo)=>{"use strict";var rf=Le(),tf=O();Mo.exports=function(r){if(rf(r)==="Function")return tf(r)}});var S=a((BI,Vo)=>{"use strict";var lt=typeof document=="object"&&document.all;Vo.exports=typeof lt>"u"&&lt!==void 0?function(r){return typeof r=="function"||r===lt}:function(r){return typeof r=="function"}});var q=a((UI,Fo)=>{"use strict";var of=T();Fo.exports=!of(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var N=a((jI,Bo)=>{"use strict";var nf=Ce(),nr=Function.prototype.call;Bo.exports=nf?nr.bind(nr):function(){return nr.apply(nr,arguments)}});var dt=a(Wo=>{"use strict";var Uo={}.propertyIsEnumerable,jo=Object.getOwnPropertyDescriptor,af=jo&&!Uo.call({1:2},1);Wo.f=af?function(e){var t=jo(this,e);return!!t&&t.enumerable}:Uo});var Ne=a((HI,Ho)=>{"use strict";Ho.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Go=a((KI,Ko)=>{"use strict";var sf=O(),uf=T(),cf=Le(),ft=Object,lf=sf("".split);Ko.exports=uf(function(){return!ft("z").propertyIsEnumerable(0)})?function(r){return cf(r)==="String"?lf(r,""):ft(r)}:ft});var ke=a((GI,zo)=>{"use strict";zo.exports=function(r){return r==null}});var se=a((zI,Qo)=>{"use strict";var df=ke(),ff=TypeError;Qo.exports=function(r){if(df(r))throw new ff("Can't call method on "+r);return r}});var J=a((QI,Yo)=>{"use strict";var pf=Go(),hf=se();Yo.exports=function(r){return pf(hf(r))}});var k=a((YI,Jo)=>{"use strict";var vf=S();Jo.exports=function(r){return typeof r=="object"?r!==null:vf(r)}});var ue=a((JI,Xo)=>{"use strict";Xo.exports={}});var W=a((XI,en)=>{"use strict";var pt=ue(),ht=I(),gf=S(),Zo=function(r){return gf(r)?r:void 0};en.exports=function(r,e){return arguments.length<2?Zo(pt[r])||Zo(ht[r]):pt[r]&&pt[r][e]||ht[r]&&ht[r][e]}});var ar=a((ZI,rn)=>{"use strict";var mf=O();rn.exports=mf({}.isPrototypeOf)});var X=a((eS,nn)=>{"use strict";var bf=I(),tn=bf.navigator,on=tn&&tn.userAgent;nn.exports=on?String(on):""});var gt=a((rS,dn)=>{"use strict";var ln=I(),vt=X(),an=ln.process,sn=ln.Deno,un=an&&an.versions||sn&&sn.version,cn=un&&un.v8,D,sr;cn&&(D=cn.split("."),sr=D[0]>0&&D[0]<4?1:+(D[0]+D[1]));!sr&&vt&&(D=vt.match(/Edge\/(\d+)/),(!D||D[1]>=74)&&(D=vt.match(/Chrome\/(\d+)/),D&&(sr=+D[1])));dn.exports=sr});var mt=a((tS,pn)=>{"use strict";var fn=gt(),yf=T(),If=I(),Sf=If.String;pn.exports=!!Object.getOwnPropertySymbols&&!yf(function(){var r=Symbol("symbol detection");return!Sf(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&fn&&fn<41})});var bt=a((iS,hn)=>{"use strict";var _f=mt();hn.exports=_f&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var yt=a((oS,vn)=>{"use strict";var Ef=W(),Pf=S(),Tf=ar(),wf=bt(),Of=Object;vn.exports=wf?function(r){return typeof r=="symbol"}:function(r){var e=Ef("Symbol");return Pf(e)&&Tf(e.prototype,Of(r))}});var De=a((nS,gn)=>{"use strict";var Af=String;gn.exports=function(r){try{return Af(r)}catch{return"Object"}}});var H=a((aS,mn)=>{"use strict";var qf=S(),xf=De(),Rf=TypeError;mn.exports=function(r){if(qf(r))return r;throw new Rf(xf(r)+" is not a function")}});var ur=a((sS,bn)=>{"use strict";var Cf=H(),Lf=ke();bn.exports=function(r,e){var t=r[e];return Lf(t)?void 0:Cf(t)}});var In=a((uS,yn)=>{"use strict";var It=N(),St=S(),_t=k(),Nf=TypeError;yn.exports=function(r,e){var t,i;if(e==="string"&&St(t=r.toString)&&!_t(i=It(t,r))||St(t=r.valueOf)&&!_t(i=It(t,r))||e!=="string"&&St(t=r.toString)&&!_t(i=It(t,r)))return i;throw new Nf("Can't convert object to primitive value")}});var F=a((cS,Sn)=>{"use strict";Sn.exports=!0});var Pn=a((lS,En)=>{"use strict";var _n=I(),kf=Object.defineProperty;En.exports=function(r,e){try{kf(_n,r,{value:e,configurable:!0,writable:!0})}catch{_n[r]=e}return e}});var $e=a((dS,On)=>{"use strict";var Df=F(),$f=I(),Mf=Pn(),Tn="__core-js_shared__",wn=On.exports=$f[Tn]||Mf(Tn,{});(wn.versions||(wn.versions=[])).push({version:"3.43.0",mode:Df?"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 Et=a((fS,qn)=>{"use strict";var An=$e();qn.exports=function(r,e){return An[r]||(An[r]=e||{})}});var Pt=a((pS,xn)=>{"use strict";var Vf=se(),Ff=Object;xn.exports=function(r){return Ff(Vf(r))}});var B=a((hS,Rn)=>{"use strict";var Bf=O(),Uf=Pt(),jf=Bf({}.hasOwnProperty);Rn.exports=Object.hasOwn||function(e,t){return jf(Uf(e),t)}});var Tt=a((vS,Cn)=>{"use strict";var Wf=O(),Hf=0,Kf=Math.random(),Gf=Wf(1.1.toString);Cn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Gf(++Hf+Kf,36)}});var x=a((gS,Nn)=>{"use strict";var zf=I(),Qf=Et(),Ln=B(),Yf=Tt(),Jf=mt(),Xf=bt(),ce=zf.Symbol,wt=Qf("wks"),Zf=Xf?ce.for||ce:ce&&ce.withoutSetter||Yf;Nn.exports=function(r){return Ln(wt,r)||(wt[r]=Jf&&Ln(ce,r)?ce[r]:Zf("Symbol."+r)),wt[r]}});var Mn=a((mS,$n)=>{"use strict";var ep=N(),kn=k(),Dn=yt(),rp=ur(),tp=In(),ip=x(),op=TypeError,np=ip("toPrimitive");$n.exports=function(r,e){if(!kn(r)||Dn(r))return r;var t=rp(r,np),i;if(t){if(e===void 0&&(e="default"),i=ep(t,r,e),!kn(i)||Dn(i))return i;throw new op("Can't convert object to primitive value")}return e===void 0&&(e="number"),tp(r,e)}});var Ot=a((bS,Vn)=>{"use strict";var ap=Mn(),sp=yt();Vn.exports=function(r){var e=ap(r,"string");return sp(e)?e:e+""}});var cr=a((yS,Bn)=>{"use strict";var up=I(),Fn=k(),At=up.document,cp=Fn(At)&&Fn(At.createElement);Bn.exports=function(r){return cp?At.createElement(r):{}}});var qt=a((IS,Un)=>{"use strict";var lp=q(),dp=T(),fp=cr();Un.exports=!lp&&!dp(function(){return Object.defineProperty(fp("div"),"a",{get:function(){return 7}}).a!==7})});var Hn=a(Wn=>{"use strict";var pp=q(),hp=N(),vp=dt(),gp=Ne(),mp=J(),bp=Ot(),yp=B(),Ip=qt(),jn=Object.getOwnPropertyDescriptor;Wn.f=pp?jn:function(e,t){if(e=mp(e),t=bp(t),Ip)try{return jn(e,t)}catch{}if(yp(e,t))return gp(!hp(vp.f,e,t),e[t])}});var xt=a((_S,Kn)=>{"use strict";var Sp=T(),_p=S(),Ep=/#|\.prototype\./,Me=function(r,e){var t=Tp[Pp(r)];return t===Op?!0:t===wp?!1:_p(e)?Sp(e):!!e},Pp=Me.normalize=function(r){return String(r).replace(Ep,".").toLowerCase()},Tp=Me.data={},wp=Me.NATIVE="N",Op=Me.POLYFILL="P";Kn.exports=Me});var Ve=a((ES,zn)=>{"use strict";var Gn=ct(),Ap=H(),qp=Ce(),xp=Gn(Gn.bind);zn.exports=function(r,e){return Ap(r),e===void 0?r:qp?xp(r,e):function(){return r.apply(e,arguments)}}});var Rt=a((PS,Qn)=>{"use strict";var Rp=q(),Cp=T();Qn.exports=Rp&&Cp(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var K=a((TS,Yn)=>{"use strict";var Lp=k(),Np=String,kp=TypeError;Yn.exports=function(r){if(Lp(r))return r;throw new kp(Np(r)+" is not an object")}});var Z=a(Xn=>{"use strict";var Dp=q(),$p=qt(),Mp=Rt(),lr=K(),Jn=Ot(),Vp=TypeError,Ct=Object.defineProperty,Fp=Object.getOwnPropertyDescriptor,Lt="enumerable",Nt="configurable",kt="writable";Xn.f=Dp?Mp?function(e,t,i){if(lr(e),t=Jn(t),lr(i),typeof e=="function"&&t==="prototype"&&"value"in i&&kt in i&&!i[kt]){var o=Fp(e,t);o&&o[kt]&&(e[t]=i.value,i={configurable:Nt in i?i[Nt]:o[Nt],enumerable:Lt in i?i[Lt]:o[Lt],writable:!1})}return Ct(e,t,i)}:Ct:function(e,t,i){if(lr(e),t=Jn(t),lr(i),$p)try{return Ct(e,t,i)}catch{}if("get"in i||"set"in i)throw new Vp("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var le=a((OS,Zn)=>{"use strict";var Bp=q(),Up=Z(),jp=Ne();Zn.exports=Bp?function(r,e,t){return Up.f(r,e,jp(1,t))}:function(r,e,t){return r[e]=t,r}});var R=a((AS,ra)=>{"use strict";var Fe=I(),Wp=st(),Hp=ct(),Kp=S(),Gp=Hn().f,zp=xt(),de=ue(),Qp=Ve(),fe=le(),ea=B();$e();var Yp=function(r){var e=function(t,i,o){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,o)}return Wp(r,this,arguments)};return e.prototype=r.prototype,e};ra.exports=function(r,e){var t=r.target,i=r.global,o=r.stat,n=r.proto,s=i?Fe:o?Fe[t]:Fe[t]&&Fe[t].prototype,u=i?de:de[t]||fe(de,t,{})[t],l=u.prototype,d,p,h,c,f,v,g,b,m;for(c in e)d=zp(i?c:t+(o?".":"#")+c,r.forced),p=!d&&s&&ea(s,c),v=u[c],p&&(r.dontCallGetSet?(m=Gp(s,c),g=m&&m.value):g=s[c]),f=p&&g?g:e[c],!(!d&&!n&&typeof v==typeof f)&&(r.bind&&p?b=Qp(f,Fe):r.wrap&&p?b=Yp(f):n&&Kp(f)?b=Hp(f):b=f,(r.sham||f&&f.sham||v&&v.sham)&&fe(b,"sham",!0),fe(u,c,b),n&&(h=t+"Prototype",ea(de,h)||fe(de,h,{}),fe(de[h],c,f),r.real&&l&&(d||!l[c])&&fe(l,c,f)))}});var ia=a((qS,ta)=>{"use strict";var Jp=Math.ceil,Xp=Math.floor;ta.exports=Math.trunc||function(e){var t=+e;return(t>0?Xp:Jp)(t)}});var dr=a((xS,oa)=>{"use strict";var Zp=ia();oa.exports=function(r){var e=+r;return e!==e||e===0?0:Zp(e)}});var aa=a((RS,na)=>{"use strict";var eh=dr(),rh=Math.max,th=Math.min;na.exports=function(r,e){var t=eh(r);return t<0?rh(t+e,0):th(t,e)}});var Dt=a((CS,sa)=>{"use strict";var ih=dr(),oh=Math.min;sa.exports=function(r){var e=ih(r);return e>0?oh(e,9007199254740991):0}});var $t=a((LS,ua)=>{"use strict";var nh=Dt();ua.exports=function(r){return nh(r.length)}});var Mt=a((NS,la)=>{"use strict";var ah=J(),sh=aa(),uh=$t(),ca=function(r){return function(e,t,i){var o=ah(e),n=uh(o);if(n===0)return!r&&-1;var s=sh(i,n),u;if(r&&t!==t){for(;n>s;)if(u=o[s++],u!==u)return!0}else for(;n>s;s++)if((r||s in o)&&o[s]===t)return r||s||0;return!r&&-1}};la.exports={includes:ca(!0),indexOf:ca(!1)}});var Vt=a((kS,da)=>{"use strict";da.exports=function(){}});var fa=a(()=>{"use strict";var ch=R(),lh=Mt().includes,dh=T(),fh=Vt(),ph=dh(function(){return!Array(1).includes()});ch({target:"Array",proto:!0,forced:ph},{includes:function(e){return lh(this,e,arguments.length>1?arguments[1]:void 0)}});fh("includes")});var fr=a((MS,pa)=>{"use strict";var hh=W();pa.exports=hh});var va=a((VS,ha)=>{"use strict";fa();var vh=fr();ha.exports=vh("Array","includes")});var ma=a((FS,ga)=>{"use strict";var gh=va();ga.exports=gh});var pe=a((BS,ba)=>{"use strict";var mh=ma();ba.exports=mh});var wa=a(()=>{"use strict"});var Kt=a((e_,Oa)=>{"use strict";var Ue=I(),Ih=X(),Sh=Le(),pr=function(r){return Ih.slice(0,r.length)===r};Oa.exports=function(){return pr("Bun/")?"BUN":pr("Cloudflare-Workers")?"CLOUDFLARE":pr("Deno/")?"DENO":pr("Node.js/")?"NODE":Ue.Bun&&typeof Bun.version=="string"?"BUN":Ue.Deno&&typeof Deno.version=="object"?"DENO":Sh(Ue.process)==="process"?"NODE":Ue.window&&Ue.document?"BROWSER":"REST"}()});var hr=a((r_,Aa)=>{"use strict";var _h=Kt();Aa.exports=_h==="NODE"});var he=a((t_,qa)=>{"use strict";var Eh=le();qa.exports=function(r,e,t,i){return i&&i.enumerable?r[e]=t:Eh(r,e,t),r}});var Ra=a((i_,xa)=>{"use strict";var Ph=O(),Th=H();xa.exports=function(r,e,t){try{return Ph(Th(Object.getOwnPropertyDescriptor(r,e)[t]))}catch{}}});var La=a((o_,Ca)=>{"use strict";var wh=k();Ca.exports=function(r){return wh(r)||r===null}});var ka=a((n_,Na)=>{"use strict";var Oh=La(),Ah=String,qh=TypeError;Na.exports=function(r){if(Oh(r))return r;throw new qh("Can't set "+Ah(r)+" as a prototype")}});var Gt=a((a_,Da)=>{"use strict";var xh=Ra(),Rh=k(),Ch=se(),Lh=ka();Da.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=xh(Object.prototype,"__proto__","set"),t(e,[]),r=e instanceof Array}catch{}return function(o,n){return Ch(o),Lh(n),Rh(o)&&(r?t(o,n):o.__proto__=n),o}}():void 0)});var vr=a((s_,Ma)=>{"use strict";var Nh=x(),kh=Nh("toStringTag"),$a={};$a[kh]="z";Ma.exports=String($a)==="[object z]"});var je=a((u_,Va)=>{"use strict";var Dh=vr(),$h=S(),gr=Le(),Mh=x(),Vh=Mh("toStringTag"),Fh=Object,Bh=gr(function(){return arguments}())==="Arguments",Uh=function(r,e){try{return r[e]}catch{}};Va.exports=Dh?gr:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Uh(e=Fh(r),Vh))=="string"?t:Bh?gr(e):(i=gr(e))==="Object"&&$h(e.callee)?"Arguments":i}});var Ba=a((c_,Fa)=>{"use strict";var jh=vr(),Wh=je();Fa.exports=jh?{}.toString:function(){return"[object "+Wh(this)+"]"}});var We=a((l_,ja)=>{"use strict";var Hh=vr(),Kh=Z().f,Gh=le(),zh=B(),Qh=Ba(),Yh=x(),Ua=Yh("toStringTag");ja.exports=function(r,e,t,i){var o=t?r:r&&r.prototype;o&&(zh(o,Ua)||Kh(o,Ua,{configurable:!0,value:e}),i&&!Hh&&Gh(o,"toString",Qh))}});var Ha=a((d_,Wa)=>{"use strict";var Jh=Z();Wa.exports=function(r,e,t){return Jh.f(r,e,t)}});var za=a((f_,Ga)=>{"use strict";var Xh=W(),Zh=Ha(),ev=x(),rv=q(),Ka=ev("species");Ga.exports=function(r){var e=Xh(r);rv&&e&&!e[Ka]&&Zh(e,Ka,{configurable:!0,get:function(){return this}})}});var Ya=a((p_,Qa)=>{"use strict";var tv=ar(),iv=TypeError;Qa.exports=function(r,e){if(tv(e,r))return r;throw new iv("Incorrect invocation")}});var Qt=a((h_,Ja)=>{"use strict";var ov=O(),nv=S(),zt=$e(),av=ov(Function.toString);nv(zt.inspectSource)||(zt.inspectSource=function(r){return av(r)});Ja.exports=zt.inspectSource});var is=a((v_,ts)=>{"use strict";var sv=O(),uv=T(),Xa=S(),cv=je(),lv=W(),dv=Qt(),Za=function(){},es=lv("Reflect","construct"),Yt=/^\s*(?:class|function)\b/,fv=sv(Yt.exec),pv=!Yt.test(Za),He=function(e){if(!Xa(e))return!1;try{return es(Za,[],e),!0}catch{return!1}},rs=function(e){if(!Xa(e))return!1;switch(cv(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return pv||!!fv(Yt,dv(e))}catch{return!0}};rs.sham=!0;ts.exports=!es||uv(function(){var r;return He(He.call)||!He(Object)||!He(function(){r=!0})||r})?rs:He});var ns=a((g_,os)=>{"use strict";var hv=is(),vv=De(),gv=TypeError;os.exports=function(r){if(hv(r))return r;throw new gv(vv(r)+" is not a constructor")}});var Jt=a((m_,ss)=>{"use strict";var as=K(),mv=ns(),bv=ke(),yv=x(),Iv=yv("species");ss.exports=function(r,e){var t=as(r).constructor,i;return t===void 0||bv(i=as(t)[Iv])?e:mv(i)}});var Xt=a((b_,us)=>{"use strict";var Sv=W();us.exports=Sv("document","documentElement")});var ls=a((y_,cs)=>{"use strict";var _v=O();cs.exports=_v([].slice)});var fs=a((I_,ds)=>{"use strict";var Ev=TypeError;ds.exports=function(r,e){if(r<e)throw new Ev("Not enough arguments");return r}});var Zt=a((S_,ps)=>{"use strict";var Pv=X();ps.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Pv)});var ui=a((__,_s)=>{"use strict";var C=I(),Tv=st(),wv=Ve(),hs=S(),Ov=B(),Ss=T(),vs=Xt(),Av=ls(),gs=cr(),qv=fs(),xv=Zt(),Rv=hr(),ni=C.setImmediate,ai=C.clearImmediate,Cv=C.process,ei=C.Dispatch,Lv=C.Function,ms=C.MessageChannel,Nv=C.String,ri=0,Ke={},bs="onreadystatechange",Ge,ee,ti,ii;Ss(function(){Ge=C.location});var si=function(r){if(Ov(Ke,r)){var e=Ke[r];delete Ke[r],e()}},oi=function(r){return function(){si(r)}},ys=function(r){si(r.data)},Is=function(r){C.postMessage(Nv(r),Ge.protocol+"//"+Ge.host)};(!ni||!ai)&&(ni=function(e){qv(arguments.length,1);var t=hs(e)?e:Lv(e),i=Av(arguments,1);return Ke[++ri]=function(){Tv(t,void 0,i)},ee(ri),ri},ai=function(e){delete Ke[e]},Rv?ee=function(r){Cv.nextTick(oi(r))}:ei&&ei.now?ee=function(r){ei.now(oi(r))}:ms&&!xv?(ti=new ms,ii=ti.port2,ti.port1.onmessage=ys,ee=wv(ii.postMessage,ii)):C.addEventListener&&hs(C.postMessage)&&!C.importScripts&&Ge&&Ge.protocol!=="file:"&&!Ss(Is)?(ee=Is,C.addEventListener("message",ys,!1)):bs in gs("script")?ee=function(r){vs.appendChild(gs("script"))[bs]=function(){vs.removeChild(this),si(r)}}:ee=function(r){setTimeout(oi(r),0)});_s.exports={set:ni,clear:ai}});var Ts=a((E_,Ps)=>{"use strict";var Es=I(),kv=q(),Dv=Object.getOwnPropertyDescriptor;Ps.exports=function(r){if(!kv)return Es[r];var e=Dv(Es,r);return e&&e.value}});var ci=a((P_,Os)=>{"use strict";var ws=function(){this.head=null,this.tail=null};ws.prototype={add:function(r){var e={item:r,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var r=this.head;if(r){var e=this.head=r.next;return e===null&&(this.tail=null),r.item}}};Os.exports=ws});var qs=a((T_,As)=>{"use strict";var $v=X();As.exports=/ipad|iphone|ipod/i.test($v)&&typeof Pebble<"u"});var Rs=a((w_,xs)=>{"use strict";var Mv=X();xs.exports=/web0s(?!.*chrome)/i.test(Mv)});var Ms=a((O_,$s)=>{"use strict";var ge=I(),Vv=Ts(),Cs=Ve(),li=ui().set,Fv=ci(),Bv=Zt(),Uv=qs(),jv=Rs(),di=hr(),Ls=ge.MutationObserver||ge.WebKitMutationObserver,Ns=ge.document,ks=ge.process,mr=ge.Promise,hi=Vv("queueMicrotask"),ve,fi,pi,br,Ds;hi||(ze=new Fv,Qe=function(){var r,e;for(di&&(r=ks.domain)&&r.exit();e=ze.get();)try{e()}catch(t){throw ze.head&&ve(),t}r&&r.enter()},!Bv&&!di&&!jv&&Ls&&Ns?(fi=!0,pi=Ns.createTextNode(""),new Ls(Qe).observe(pi,{characterData:!0}),ve=function(){pi.data=fi=!fi}):!Uv&&mr&&mr.resolve?(br=mr.resolve(void 0),br.constructor=mr,Ds=Cs(br.then,br),ve=function(){Ds(Qe)}):di?ve=function(){ks.nextTick(Qe)}:(li=Cs(li,ge),ve=function(){li(Qe)}),hi=function(r){ze.head||ve(),ze.add(r)});var ze,Qe;$s.exports=hi});var Fs=a((A_,Vs)=>{"use strict";Vs.exports=function(r,e){try{arguments.length===1?console.error(r):console.error(r,e)}catch{}}});var yr=a((q_,Bs)=>{"use strict";Bs.exports=function(r){try{return{error:!1,value:r()}}catch(e){return{error:!0,value:e}}}});var Ws=a((x_,js)=>{"use strict";var Wv=I(),Hv=S(),Us=Wv.WeakMap;js.exports=Hv(Us)&&/native code/.test(String(Us))});var Ir=a((R_,Ks)=>{"use strict";var Kv=Et(),Gv=Tt(),Hs=Kv("keys");Ks.exports=function(r){return Hs[r]||(Hs[r]=Gv(r))}});var Sr=a((C_,Gs)=>{"use strict";Gs.exports={}});var bi=a((L_,Ys)=>{"use strict";var zv=Ws(),Qs=I(),Qv=k(),Yv=le(),vi=B(),gi=$e(),Jv=Ir(),Xv=Sr(),zs="Object already initialized",mi=Qs.TypeError,Zv=Qs.WeakMap,_r,Ye,Er,eg=function(r){return Er(r)?Ye(r):_r(r,{})},rg=function(r){return function(e){var t;if(!Qv(e)||(t=Ye(e)).type!==r)throw new mi("Incompatible receiver, "+r+" required");return t}};zv||gi.state?($=gi.state||(gi.state=new Zv),$.get=$.get,$.has=$.has,$.set=$.set,_r=function(r,e){if($.has(r))throw new mi(zs);return e.facade=r,$.set(r,e),e},Ye=function(r){return $.get(r)||{}},Er=function(r){return $.has(r)}):(re=Jv("state"),Xv[re]=!0,_r=function(r,e){if(vi(r,re))throw new mi(zs);return e.facade=r,Yv(r,re,e),e},Ye=function(r){return vi(r,re)?r[re]:{}},Er=function(r){return vi(r,re)});var $,re;Ys.exports={set:_r,get:Ye,has:Er,enforce:eg,getterFor:rg}});var te=a((N_,Js)=>{"use strict";var tg=I();Js.exports=tg.Promise});var me=a((k_,ru)=>{"use strict";var ig=I(),Je=te(),og=S(),ng=xt(),ag=Qt(),sg=x(),Xs=Kt(),ug=F(),yi=gt(),Zs=Je&&Je.prototype,cg=sg("species"),Ii=!1,eu=og(ig.PromiseRejectionEvent),lg=ng("Promise",function(){var r=ag(Je),e=r!==String(Je);if(!e&&yi===66||ug&&!(Zs.catch&&Zs.finally))return!0;if(!yi||yi<51||!/native code/.test(r)){var t=new Je(function(n){n(1)}),i=function(n){n(function(){},function(){})},o=t.constructor={};if(o[cg]=i,Ii=t.then(function(){})instanceof i,!Ii)return!0}return!e&&(Xs==="BROWSER"||Xs==="DENO")&&!eu});ru.exports={CONSTRUCTOR:lg,REJECTION_EVENT:eu,SUBCLASSING:Ii}});var be=a((D_,iu)=>{"use strict";var tu=H(),dg=TypeError,fg=function(r){var e,t;this.promise=new r(function(i,o){if(e!==void 0||t!==void 0)throw new dg("Bad Promise constructor");e=i,t=o}),this.resolve=tu(e),this.reject=tu(t)};iu.exports.f=function(r){return new fg(r)}});var Eu=a(()=>{"use strict";var pg=R(),hg=F(),Or=hr(),Q=I(),vg=ue(),_e=N(),ou=he(),nu=Gt(),gg=We(),mg=za(),bg=H(),wr=S(),yg=k(),Ig=Ya(),Sg=Jt(),lu=ui().set,Ti=Ms(),_g=Fs(),Eg=yr(),Pg=ci(),du=bi(),Ar=te(),wi=me(),fu=be(),qr="Promise",pu=wi.CONSTRUCTOR,Tg=wi.REJECTION_EVENT,wg=wi.SUBCLASSING,Si=du.getterFor(qr),Og=du.set,ye=Ar&&Ar.prototype,ie=Ar,Pr=ye,hu=Q.TypeError,_i=Q.document,Oi=Q.process,Ei=fu.f,Ag=Ei,qg=!!(_i&&_i.createEvent&&Q.dispatchEvent),vu="unhandledrejection",xg="rejectionhandled",au=0,gu=1,Rg=2,Ai=1,mu=2,Tr,su,bu,uu,yu=function(r){var e;return yg(r)&&wr(e=r.then)?e:!1},Iu=function(r,e){var t=e.value,i=e.state===gu,o=i?r.ok:r.fail,n=r.resolve,s=r.reject,u=r.domain,l,d,p;try{o?(i||(e.rejection===mu&&Lg(e),e.rejection=Ai),o===!0?l=t:(u&&u.enter(),l=o(t),u&&(u.exit(),p=!0)),l===r.promise?s(new hu("Promise-chain cycle")):(d=yu(l))?_e(d,l,n,s):n(l)):s(t)}catch(h){u&&!p&&u.exit(),s(h)}},Su=function(r,e){r.notified||(r.notified=!0,Ti(function(){for(var t=r.reactions,i;i=t.get();)Iu(i,r);r.notified=!1,e&&!r.rejection&&Cg(r)}))},_u=function(r,e,t){var i,o;qg?(i=_i.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(r,!1,!0),Q.dispatchEvent(i)):i={promise:e,reason:t},!Tg&&(o=Q["on"+r])?o(i):r===vu&&_g("Unhandled promise rejection",t)},Cg=function(r){_e(lu,Q,function(){var e=r.facade,t=r.value,i=cu(r),o;if(i&&(o=Eg(function(){Or?Oi.emit("unhandledRejection",t,e):_u(vu,e,t)}),r.rejection=Or||cu(r)?mu:Ai,o.error))throw o.value})},cu=function(r){return r.rejection!==Ai&&!r.parent},Lg=function(r){_e(lu,Q,function(){var e=r.facade;Or?Oi.emit("rejectionHandled",e):_u(xg,e,r.value)})},Ie=function(r,e,t){return function(i){r(e,i,t)}},Se=function(r,e,t){r.done||(r.done=!0,t&&(r=t),r.value=e,r.state=Rg,Su(r,!0))},Pi=function(r,e,t){if(!r.done){r.done=!0,t&&(r=t);try{if(r.facade===e)throw new hu("Promise can't be resolved itself");var i=yu(e);i?Ti(function(){var o={done:!1};try{_e(i,e,Ie(Pi,o,r),Ie(Se,o,r))}catch(n){Se(o,n,r)}}):(r.value=e,r.state=gu,Su(r,!1))}catch(o){Se({done:!1},o,r)}}};if(pu&&(ie=function(e){Ig(this,Pr),bg(e),_e(Tr,this);var t=Si(this);try{e(Ie(Pi,t),Ie(Se,t))}catch(i){Se(t,i)}},Pr=ie.prototype,Tr=function(e){Og(this,{type:qr,done:!1,notified:!1,parent:!1,reactions:new Pg,rejection:!1,state:au,value:null})},Tr.prototype=ou(Pr,"then",function(e,t){var i=Si(this),o=Ei(Sg(this,ie));return i.parent=!0,o.ok=wr(e)?e:!0,o.fail=wr(t)&&t,o.domain=Or?Oi.domain:void 0,i.state===au?i.reactions.add(o):Ti(function(){Iu(o,i)}),o.promise}),su=function(){var r=new Tr,e=Si(r);this.promise=r,this.resolve=Ie(Pi,e),this.reject=Ie(Se,e)},fu.f=Ei=function(r){return r===ie||r===bu?new su(r):Ag(r)},!hg&&wr(Ar)&&ye!==Object.prototype)){uu=ye.then,wg||ou(ye,"then",function(e,t){var i=this;return new ie(function(o,n){_e(uu,i,o,n)}).then(e,t)},{unsafe:!0});try{delete ye.constructor}catch{}nu&&nu(ye,Pr)}pg({global:!0,constructor:!0,wrap:!0,forced:pu},{Promise:ie});bu=vg.Promise;gg(ie,qr,!1,!0);mg(qr)});var oe=a((V_,Pu)=>{"use strict";Pu.exports={}});var wu=a((F_,Tu)=>{"use strict";var Ng=x(),kg=oe(),Dg=Ng("iterator"),$g=Array.prototype;Tu.exports=function(r){return r!==void 0&&(kg.Array===r||$g[Dg]===r)}});var qi=a((B_,Au)=>{"use strict";var Mg=je(),Ou=ur(),Vg=ke(),Fg=oe(),Bg=x(),Ug=Bg("iterator");Au.exports=function(r){if(!Vg(r))return Ou(r,Ug)||Ou(r,"@@iterator")||Fg[Mg(r)]}});var xu=a((U_,qu)=>{"use strict";var jg=N(),Wg=H(),Hg=K(),Kg=De(),Gg=qi(),zg=TypeError;qu.exports=function(r,e){var t=arguments.length<2?Gg(r):e;if(Wg(t))return Hg(jg(t,r));throw new zg(Kg(r)+" is not iterable")}});var Lu=a((j_,Cu)=>{"use strict";var Qg=N(),Ru=K(),Yg=ur();Cu.exports=function(r,e,t){var i,o;Ru(r);try{if(i=Yg(r,"return"),!i){if(e==="throw")throw t;return t}i=Qg(i,r)}catch(n){o=!0,i=n}if(e==="throw")throw t;if(o)throw i;return Ru(i),t}});var Rr=a((W_,$u)=>{"use strict";var Jg=Ve(),Xg=N(),Zg=K(),em=De(),rm=wu(),tm=$t(),Nu=ar(),im=xu(),om=qi(),ku=Lu(),nm=TypeError,xr=function(r,e){this.stopped=r,this.result=e},Du=xr.prototype;$u.exports=function(r,e,t){var i=t&&t.that,o=!!(t&&t.AS_ENTRIES),n=!!(t&&t.IS_RECORD),s=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),l=Jg(e,i),d,p,h,c,f,v,g,b=function(y){return d&&ku(d,"normal"),new xr(!0,y)},m=function(y){return o?(Zg(y),u?l(y[0],y[1],b):l(y[0],y[1])):u?l(y,b):l(y)};if(n)d=r.iterator;else if(s)d=r;else{if(p=om(r),!p)throw new nm(em(r)+" is not iterable");if(rm(p)){for(h=0,c=tm(r);c>h;h++)if(f=m(r[h]),f&&Nu(Du,f))return f;return new xr(!1)}d=im(r,p)}for(v=n?r.next:d.next;!(g=Xg(v,d)).done;){try{f=m(g.value)}catch(y){ku(d,"throw",y)}if(typeof f=="object"&&f&&Nu(Du,f))return f}return new xr(!1)}});var Uu=a((H_,Bu)=>{"use strict";var am=x(),Vu=am("iterator"),Fu=!1;try{Mu=0,xi={next:function(){return{done:!!Mu++}},return:function(){Fu=!0}},xi[Vu]=function(){return this},Array.from(xi,function(){throw 2})}catch{}var Mu,xi;Bu.exports=function(r,e){try{if(!e&&!Fu)return!1}catch{return!1}var t=!1;try{var i={};i[Vu]=function(){return{next:function(){return{done:t=!0}}}},r(i)}catch{}return t}});var Ri=a((K_,ju)=>{"use strict";var sm=te(),um=Uu(),cm=me().CONSTRUCTOR;ju.exports=cm||!um(function(r){sm.all(r).then(void 0,function(){})})});var Wu=a(()=>{"use strict";var lm=R(),dm=N(),fm=H(),pm=be(),hm=yr(),vm=Rr(),gm=Ri();lm({target:"Promise",stat:!0,forced:gm},{all:function(e){var t=this,i=pm.f(t),o=i.resolve,n=i.reject,s=hm(function(){var u=fm(t.resolve),l=[],d=0,p=1;vm(e,function(h){var c=d++,f=!1;p++,dm(u,t,h).then(function(v){f||(f=!0,l[c]=v,--p||o(l))},n)}),--p||o(l)});return s.error&&n(s.value),i.promise}})});var Ku=a(()=>{"use strict";var mm=R(),bm=F(),ym=me().CONSTRUCTOR,Li=te(),Im=W(),Sm=S(),_m=he(),Hu=Li&&Li.prototype;mm({target:"Promise",proto:!0,forced:ym,real:!0},{catch:function(r){return this.then(void 0,r)}});!bm&&Sm(Li)&&(Ci=Im("Promise").prototype.catch,Hu.catch!==Ci&&_m(Hu,"catch",Ci,{unsafe:!0}));var Ci});var Gu=a(()=>{"use strict";var Em=R(),Pm=N(),Tm=H(),wm=be(),Om=yr(),Am=Rr(),qm=Ri();Em({target:"Promise",stat:!0,forced:qm},{race:function(e){var t=this,i=wm.f(t),o=i.reject,n=Om(function(){var s=Tm(t.resolve);Am(e,function(u){Pm(s,t,u).then(i.resolve,o)})});return n.error&&o(n.value),i.promise}})});var zu=a(()=>{"use strict";var xm=R(),Rm=be(),Cm=me().CONSTRUCTOR;xm({target:"Promise",stat:!0,forced:Cm},{reject:function(e){var t=Rm.f(this),i=t.reject;return i(e),t.promise}})});var Ni=a((rE,Qu)=>{"use strict";var Lm=K(),Nm=k(),km=be();Qu.exports=function(r,e){if(Lm(r),Nm(e)&&e.constructor===r)return e;var t=km.f(r),i=t.resolve;return i(e),t.promise}});var Xu=a(()=>{"use strict";var Dm=R(),$m=W(),Yu=F(),Mm=te(),Ju=me().CONSTRUCTOR,Vm=Ni(),Fm=$m("Promise"),Bm=Yu&&!Ju;Dm({target:"Promise",stat:!0,forced:Yu||Ju},{resolve:function(e){return Vm(Bm&&this===Fm?Mm:this,e)}})});var Zu=a(()=>{"use strict";Eu();Wu();Ku();Gu();zu();Xu()});var ic=a(()=>{"use strict";var Um=R(),jm=F(),Cr=te(),Wm=T(),rc=W(),tc=S(),Hm=Jt(),ec=Ni(),Km=he(),Di=Cr&&Cr.prototype,Gm=!!Cr&&Wm(function(){Di.finally.call({then:function(){}},function(){})});Um({target:"Promise",proto:!0,real:!0,forced:Gm},{finally:function(r){var e=Hm(this,rc("Promise")),t=tc(r);return this.then(t?function(i){return ec(e,r()).then(function(){return i})}:r,t?function(i){return ec(e,r()).then(function(){throw i})}:r)}});!jm&&tc(Cr)&&(ki=rc("Promise").prototype.finally,Di.finally!==ki&&Km(Di,"finally",ki,{unsafe:!0}));var ki});var nc=a((uE,oc)=>{"use strict";wa();Zu();ic();var zm=fr();oc.exports=zm("Promise","finally")});var sc=a((cE,ac)=>{"use strict";var Qm=nc();ac.exports=Qm});var $i=a((lE,uc)=>{"use strict";var Ym=sc();uc.exports=Ym});var lc=a((dE,cc)=>{"use strict";var Jm=T();cc.exports=!Jm(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Lr=a((fE,fc)=>{"use strict";var Xm=B(),Zm=S(),eb=Pt(),rb=Ir(),tb=lc(),dc=rb("IE_PROTO"),Mi=Object,ib=Mi.prototype;fc.exports=tb?Mi.getPrototypeOf:function(r){var e=eb(r);if(Xm(e,dc))return e[dc];var t=e.constructor;return Zm(t)&&e instanceof t?t.prototype:e instanceof Mi?ib:null}});var vc=a((pE,hc)=>{"use strict";var ob=O(),Vi=B(),nb=J(),ab=Mt().indexOf,sb=Sr(),pc=ob([].push);hc.exports=function(r,e){var t=nb(r),i=0,o=[],n;for(n in t)!Vi(sb,n)&&Vi(t,n)&&pc(o,n);for(;e.length>i;)Vi(t,n=e[i++])&&(~ab(o,n)||pc(o,n));return o}});var Fi=a((hE,gc)=>{"use strict";gc.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Bi=a((vE,mc)=>{"use strict";var ub=vc(),cb=Fi();mc.exports=Object.keys||function(e){return ub(e,cb)}});var Ec=a((gE,_c)=>{"use strict";var yc=q(),lb=T(),Ic=O(),db=Lr(),fb=Bi(),pb=J(),hb=dt().f,Sc=Ic(hb),vb=Ic([].push),gb=yc&&lb(function(){var r=Object.create(null);return r[2]=2,!Sc(r,2)}),bc=function(r){return function(e){for(var t=pb(e),i=fb(t),o=gb&&db(t)===null,n=i.length,s=0,u=[],l;n>s;)l=i[s++],(!yc||(o?l in t:Sc(t,l)))&&vb(u,r?[l,t[l]]:t[l]);return u}};_c.exports={entries:bc(!0),values:bc(!1)}});var Pc=a(()=>{"use strict";var mb=R(),bb=Ec().entries;mb({target:"Object",stat:!0},{entries:function(e){return bb(e)}})});var wc=a((yE,Tc)=>{"use strict";Pc();var yb=ue();Tc.exports=yb.Object.entries});var Ac=a((IE,Oc)=>{"use strict";var Ib=wc();Oc.exports=Ib});var Ee=a((SE,qc)=>{"use strict";var Sb=Ac();qc.exports=Sb});var Cc=a((_E,Rc)=>{"use strict";var Ui=q(),_b=B(),xc=Function.prototype,Eb=Ui&&Object.getOwnPropertyDescriptor,ji=_b(xc,"name"),Pb=ji&&function(){}.name==="something",Tb=ji&&(!Ui||Ui&&Eb(xc,"name").configurable);Rc.exports={EXISTS:ji,PROPER:Pb,CONFIGURABLE:Tb}});var Nc=a(Lc=>{"use strict";var wb=q(),Ob=Rt(),Ab=Z(),qb=K(),xb=J(),Rb=Bi();Lc.f=wb&&!Ob?Object.defineProperties:function(e,t){qb(e);for(var i=xb(t),o=Rb(t),n=o.length,s=0,u;n>s;)Ab.f(e,u=o[s++],i[u]);return e}});var Gi=a((PE,Bc)=>{"use strict";var Cb=K(),Lb=Nc(),kc=Fi(),Nb=Sr(),kb=Xt(),Db=cr(),$b=Ir(),Dc=">",$c="<",Hi="prototype",Ki="script",Vc=$b("IE_PROTO"),Wi=function(){},Fc=function(r){return $c+Ki+Dc+r+$c+"/"+Ki+Dc},Mc=function(r){r.write(Fc("")),r.close();var e=r.parentWindow.Object;return r=null,e},Mb=function(){var r=Db("iframe"),e="java"+Ki+":",t;return r.style.display="none",kb.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(Fc("document.F=Object")),t.close(),t.F},Nr,kr=function(){try{Nr=new ActiveXObject("htmlfile")}catch{}kr=typeof document<"u"?document.domain&&Nr?Mc(Nr):Mb():Mc(Nr);for(var r=kc.length;r--;)delete kr[Hi][kc[r]];return kr()};Nb[Vc]=!0;Bc.exports=Object.create||function(e,t){var i;return e!==null?(Wi[Hi]=Cb(e),i=new Wi,Wi[Hi]=null,i[Vc]=e):i=kr(),t===void 0?i:Lb.f(i,t)}});var Ji=a((TE,Wc)=>{"use strict";var Vb=T(),Fb=S(),Bb=k(),Ub=Gi(),Uc=Lr(),jb=he(),Wb=x(),Hb=F(),Yi=Wb("iterator"),jc=!1,G,zi,Qi;[].keys&&(Qi=[].keys(),"next"in Qi?(zi=Uc(Uc(Qi)),zi!==Object.prototype&&(G=zi)):jc=!0);var Kb=!Bb(G)||Vb(function(){var r={};return G[Yi].call(r)!==r});Kb?G={}:Hb&&(G=Ub(G));Fb(G[Yi])||jb(G,Yi,function(){return this});Wc.exports={IteratorPrototype:G,BUGGY_SAFARI_ITERATORS:jc}});var Kc=a((wE,Hc)=>{"use strict";var Gb=Ji().IteratorPrototype,zb=Gi(),Qb=Ne(),Yb=We(),Jb=oe(),Xb=function(){return this};Hc.exports=function(r,e,t,i){var o=e+" Iterator";return r.prototype=zb(Gb,{next:Qb(+!i,t)}),Yb(r,o,!1,!0),Jb[o]=Xb,r}});var il=a((OE,tl)=>{"use strict";var Zb=R(),ey=N(),Dr=F(),el=Cc(),ry=S(),ty=Kc(),Gc=Lr(),zc=Gt(),iy=We(),oy=le(),Xi=he(),ny=x(),Qc=oe(),rl=Ji(),ay=el.PROPER,sy=el.CONFIGURABLE,Yc=rl.IteratorPrototype,$r=rl.BUGGY_SAFARI_ITERATORS,Xe=ny("iterator"),Jc="keys",Ze="values",Xc="entries",Zc=function(){return this};tl.exports=function(r,e,t,i,o,n,s){ty(t,e,i);var u=function(m){if(m===o&&c)return c;if(!$r&&m&&m in p)return p[m];switch(m){case Jc:return function(){return new t(this,m)};case Ze:return function(){return new t(this,m)};case Xc:return function(){return new t(this,m)}}return function(){return new t(this)}},l=e+" Iterator",d=!1,p=r.prototype,h=p[Xe]||p["@@iterator"]||o&&p[o],c=!$r&&h||u(o),f=e==="Array"&&p.entries||h,v,g,b;if(f&&(v=Gc(f.call(new r)),v!==Object.prototype&&v.next&&(!Dr&&Gc(v)!==Yc&&(zc?zc(v,Yc):ry(v[Xe])||Xi(v,Xe,Zc)),iy(v,l,!0,!0),Dr&&(Qc[l]=Zc))),ay&&o===Ze&&h&&h.name!==Ze&&(!Dr&&sy?oy(p,"name",Ze):(d=!0,c=function(){return ey(h,this)})),o)if(g={values:u(Ze),keys:n?c:u(Jc),entries:u(Xc)},s)for(b in g)($r||d||!(b in p))&&Xi(p,b,g[b]);else Zb({target:e,proto:!0,forced:$r||d},g);return(!Dr||s)&&p[Xe]!==c&&Xi(p,Xe,c,{name:o}),Qc[e]=c,g}});var nl=a((AE,ol)=>{"use strict";ol.exports=function(r,e){return{value:r,done:e}}});var eo=a((qE,ll)=>{"use strict";var uy=J(),Zi=Vt(),al=oe(),ul=bi(),cy=Z().f,ly=il(),Mr=nl(),dy=F(),fy=q(),cl="Array Iterator",py=ul.set,hy=ul.getterFor(cl);ll.exports=ly(Array,"Array",function(r,e){py(this,{type:cl,target:uy(r),index:0,kind:e})},function(){var r=hy(this),e=r.target,t=r.index++;if(!e||t>=e.length)return r.target=null,Mr(void 0,!0);switch(r.kind){case"keys":return Mr(t,!1);case"values":return Mr(e[t],!1)}return Mr([t,e[t]],!1)},"values");var sl=al.Arguments=al.Array;Zi("keys");Zi("values");Zi("entries");if(!dy&&fy&&sl.name!=="values")try{cy(sl,"name",{value:"values"})}catch{}});var fl=a((xE,dl)=>{"use strict";var vy=q(),gy=Z(),my=Ne();dl.exports=function(r,e,t){vy?gy.f(r,e,my(0,t)):r[e]=t}});var pl=a(()=>{"use strict";var by=R(),yy=Rr(),Iy=fl();by({target:"Object",stat:!0},{fromEntries:function(e){var t={};return yy(e,function(i,o){Iy(t,i,o)},{AS_ENTRIES:!0}),t}})});var vl=a((LE,hl)=>{"use strict";eo();pl();var Sy=ue();hl.exports=Sy.Object.fromEntries});var ml=a((NE,gl)=>{"use strict";gl.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 yl=a(()=>{"use strict";eo();var _y=ml(),Ey=I(),Py=We(),bl=oe();for(Vr in _y)Py(Ey[Vr],Vr),bl[Vr]=bl.Array;var Vr});var Sl=a(($E,Il)=>{"use strict";var Ty=vl();yl();Il.exports=Ty});var El=a((ME,_l)=>{"use strict";var wy=Sl();_l.exports=wy});var ao=a((LP,Vl)=>{"use strict";var Ny=je(),ky=String;Vl.exports=function(r){if(Ny(r)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return ky(r)}});var Bl=a((NP,Fl)=>{"use strict";var Dy=dr(),$y=ao(),My=se(),Vy=RangeError;Fl.exports=function(e){var t=$y(My(this)),i="",o=Dy(e);if(o<0||o===1/0)throw new Vy("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(t+=t))o&1&&(i+=t);return i}});var Kl=a((kP,Hl)=>{"use strict";var Wl=O(),Fy=Dt(),Ul=ao(),By=Bl(),Uy=se(),jy=Wl(By),Wy=Wl("".slice),Hy=Math.ceil,jl=function(r){return function(e,t,i){var o=Ul(Uy(e)),n=Fy(t),s=o.length,u=i===void 0?" ":Ul(i),l,d;return n<=s||u===""?o:(l=n-s,d=jy(u,Hy(l/u.length)),d.length>l&&(d=Wy(d,0,l)),r?o+d:d+o)}};Hl.exports={start:jl(!1),end:jl(!0)}});var zl=a((DP,Gl)=>{"use strict";var Ky=X();Gl.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Ky)});var Ql=a(()=>{"use strict";var Gy=R(),zy=Kl().start,Qy=zl();Gy({target:"String",proto:!0,forced:Qy},{padStart:function(e){return zy(this,e,arguments.length>1?arguments[1]:void 0)}})});var Jl=a((VP,Yl)=>{"use strict";Ql();var Yy=fr();Yl.exports=Yy("String","padStart")});var Zl=a((FP,Xl)=>{"use strict";var Jy=Jl();Xl.exports=Jy});var so=a((BP,ed)=>{"use strict";var Xy=Zl();ed.exports=Xy});var po=P(pe(),1);var Be=(s=>(s.PROD="prod",s.VK_ALIAS="vk_alias",s.VIDEOTEST="videotest",s.TEST="test",s.OKCDN="okcdn",s.AUTO="auto",s))(Be||{}),Ft=(d=>(d.Q144P="mobile",d.Q240P="lowest",d.Q360P="low",d.Q480P="medium",d.Q720P="high",d.Q1080P="fullhd",d.Q1440P="quadhd",d.Q2160P="ultrahd",d.UNKNOWN="unknown",d))(Ft||{}),Bt=(f=>(f.MP4="mp4",f.DASH="dash",f.DASH_SEP="dash_sep",f.ONDEMAND_DASH="ondemand_dash",f.HLS="hls",f.ONDEMAND_HLS="ondemand_hls",f.WEBM="webm",f.AV1="av1",f.ONDEMAND_DASH_LIVE="ondemand_dash_live",f.ONDEMAND_HLS_LIVE="ondemand_hls_live",f.WEBRTC="webrtc",f.UNKNOWN="unknown",f.RTMP="rtmp",f))(Bt||{});var Ut=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.HTTP3="http3",i))(Ut||{});var jt=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(jt||{}),ya=(n=>(n.GRAPH_SHOW="iGraphShow",n.GRAPH_HIDE="iGraphHide",n.NEXT_AREA="iNextChapterArea",n.NEXT_BUTTON="iNextChapterBtn",n.WATCH_AGAIN="iWatchAgainBtn",n))(ya||{}),Ia={action_play:"ap",action_play_interactive:"api",first_bytes:"fb",player_ready:"pr",first_frame:"ff",seek:"sk",watch_coverage_record:"wr",watch_coverage_live:"wl",empty_buffer:"eb",action_stop:"as",close_at_empty_buffer:"cb",content_error:"er",player_interface_click:"pc",next_movie:"nm",track_switch:"ts",failover:"fo",quality:"qt"},Sa={vsid:"si",isid:"is",vid:"vi",place:"pl",quality:"qt",cdn_host:"ch",stat_type:"st",param:"pm",vk_app_id:"va",track_code:"tc",connection_type:"cnt",connection_reused:"cr",cached_data:"cd",live:"lv",muted:"mu",mode:"mo",subtitles:"sb",failover:"fo",download_speed:"ds",manual_quality:"mq",ref_domain:"rd",direct_url:"du"},_a={unknown:"un",mobile:"m",lowest:"ls",low:"l",medium:"md",high:"h",fullhd:"f",quadhd:"q",ultrahd:"u"},Ea={pip:"pi",fullscreen:"fs",external:"ex",prefetch:"pr",airplay:"ap",chromecast:"cc",invisible:"iv"};import{fillWithDefault as bh}from"@vkontakte/videoplayer-shared/es2024";var Pa="CIOPGQJGDIHBABABA",Wt={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var yh={apiEnv:"vk_alias",apiKey:Pa,requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageInterval:15e3,disabledOperations:["quality"],disabledCustomFields:[],shorten:!0,maxLoops:100,embedUrlParams:[],useBeacon:!0,synchronizeTime:!0,debugLog:!1,clearStorageAtUnload:!0,useVKComIsMobileLogic:!1,backoff:{start:1e3,factor:1.5,max:5*60*1e3,random:.1}},Ta=r=>bh(r,yh);function Ht(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}import{assertNonNullable as nI,combine as sd,fromEvent as ud,isNonNullable as Ae,isNullable as cd,merge as aI,now as z,observableFrom as sI,once as uI,safeStorage as ld,Subject as cI,Subscription as ho,ValueSubject as zr,createURL as dd}from"@vkontakte/videoplayer-shared/es2024";import{Logger as lI,detectEmbed as dI}from"@vkontakte/videoplayer-shared/es2024";var Fr=P($i(),1);var Pl=P(Ee(),1),Tl=P(El(),1);var wl=r=>{let{operation:e,custom:t}=r,i=(0,Tl.default)((0,Pl.default)(t).map(([o,n])=>{let s=Sa[o]??o,u=n;return n&&(o==="mode"?u=Ea[n]??n:o==="quality"&&(u=_a[n]??n)),[s,u]}));return{...r,operation:Ia[e]??e,custom:i}};var L="1.0.82-dev.addfb9fd.0";import{ValueSubject as Oy,getExponentialDelay as Ay,ErrorCategory as Pe}from"@vkontakte/videoplayer-shared/es2024";var qy=/Mobile|mini|Fennec|Android|iP(ad|od|hone)|opera (mini|mobi)/i,er=class{constructor(e){this.consequentAuthErrors=0;this.authorized$=new Oy(!1);this.params=e}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this._authorizeWithBackoff()}logBeacon(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.externalLog",i=this.createLogParams(e),o=this.sessionKey??await this._authorizeWithBackoff();if(!o)return;let n=async(s,u=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,o)}catch(l){if(!l||!("error_code"in l)){this.params.error$.next({id:"logRequestUnknown",category:Pe.NETWORK,message:`Unknown ${t} error`,thrown:l});return}let d=l?.error_code;switch(d){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this._authorizeWithBackoff(),u>0?n(s,u-1):void 0;default:{this.params.error$.next({id:`LogRequest#${d}`,category:Pe.EXTERNAL_API,message:`${t} error`,data:l});return}}}};return n(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,Fr.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){let t="WEB",i=!1,o=`@vkontakte/videoplayer-statistics:${L}`;if(this.params.config.useVKComIsMobileLogic){let{appVersion:n}=window.navigator;i=qy.test(n)}else this.params.mobile&&(i=!0);return i&&(t="M_WEB"),this.params.vktvVersion&&(t="SMART_TV",o=this.params.vktvVersion),{collector:"ok.mobile.apps.video",data:JSON.stringify({application:o,platform:t,items:this.params.config.shorten?e.map(wl):e})}}_authorizeWithBackoff(){if(!this.consequentAuthErrors)return this._authorize();let e=Ay(this.consequentAuthErrors,this.params.config.backoff);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(()=>{(0,Fr.default)(this._authorize().then(t).catch(i=>this.params.error$.next({id:"AuthorizeBackoff",category:Pe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})),()=>this.backoffTimeoutId=0)},e))})}async _authorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:L.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,Fr.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:Pe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this._authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:Pe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:Pe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var{NativeAbortSignal:JE,NativeAbortController:XE}=function(r){return{NativeAbortSignal:r.AbortSignal,NativeAbortController:r.AbortController}}(typeof self<"u"?self:global);function Ol(r){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=r,e}function Al(r){if(r===void 0)if(typeof document>"u")r=new Error("This operation was aborted"),r.name="AbortError";else try{r=new DOMException("signal is aborted without reason"),Object.defineProperty(r,"name",{value:"AbortError"})}catch{r=new Error("This operation was aborted"),r.name="AbortError"}return r}var Br=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 o=0,n=i.length;o<n;o++)if(i[o].callback===t){i.splice(o,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let o=0,n=i.length;o<n;o++){let s=i[o];try{s.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}s.options&&s.options.once&&this.removeEventListener(e.type,s.callback)}return!e.defaultPrevented}},Te=class extends Br{constructor(){super(),this.listeners||Br.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 ne;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new ne;function i(){t.abort(this.reason),o()}function o(){for(let n of e)n.removeEventListener("abort",i)}for(let n of e)if(n.aborted){t.abort(n.reason);break}else n.addEventListener("abort",i);return t.signal}},ne=class{constructor(){Object.defineProperty(this,"signal",{value:new Te,writable:!0,configurable:!0})}abort(e){let t=Al(e),i=Ol(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(ne.prototype[Symbol.toStringTag]="AbortController",Te.prototype[Symbol.toStringTag]="AbortSignal");function Ur(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function ro(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o=!1}=r;if(!Ur({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:o}))return{fetch:e,Request:n};let n=t;(n&&!n.prototype.hasOwnProperty("signal")||o)&&(n=function(d,p){let h;p&&p.signal&&(h=p.signal,delete p.signal);let c=new t(d,p);return h&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:h}),c},n.prototype=t.prototype);let s=e;return{fetch:(l,d)=>{let p=n&&n.prototype.isPrototypeOf(l)?l.signal:d?d.signal:void 0;if(p){let h;try{h=new DOMException("Aborted","AbortError")}catch{h=new Error("Aborted"),h.name="AbortError"}if(p.aborted)return Promise.reject(h);let c=new Promise((f,v)=>{p.addEventListener("abort",()=>v(h),{once:!0})});return d&&d.signal&&delete d.signal,Promise.race([c,s(l,d)])}return s(l,d)},Request:n}}var xy=()=>"fetch"in window,rr=xy()&&Ur({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),ql=rr?ro({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,we=rr?ql.fetch:window.fetch,uP=rr?ql.Request:window.Request,cP=rr?ne:window.AbortController,lP=rr?Te:window.AbortSignal;var xl=P(pe(),1),Rl=P(Ee(),1);import{ErrorCategory as jr,now as to}from"@vkontakte/videoplayer-shared/es2024";var tr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=Wt[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await we(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"OneStat:ApiTransport:resolveApiBaseUrl",category:jr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),Wt.vk_alias}finally{this.isApiBaseUrlFetched=!0}}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this._prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:jr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i){let o=to(),n=s=>{if(s instanceof TypeError&&(0,xl.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],s.message)){this.params.error$.next({id:"Network",category:jr.NETWORK,message:"Request failed",thrown:s});return}this.params.error$.next({id:"OneStat:ApiTransport:sendRequest",category:jr.NETWORK,message:"Unhandled request error",thrown:s,data:{method:e,params:t,sessionKey:i,time:to()-o}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),we(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded"},body:this._prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(s=>{let u=Number(s.headers.get("content-length"))===0,l=new Date(s.headers.get("date")??"").getTime(),d=to()-o;if(isFinite(l)&&this.timeSynchronisation?.addServerTime(l,d),!u)return s.json().then(p=>Object.prototype.hasOwnProperty.call(p,"error_msg")?Promise.reject(p):p,n)},n)}_prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,Rl.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var Ll=P(pe(),1),Nl=P(Ee(),1);import{ErrorCategory as Ry,now as Cy,safeStorage as ir,debounceFn as Cl}from"@vkontakte/videoplayer-shared/es2024";var Wr="onestat_events",io=r=>e=>e.timestamp+r>=Cy(),Hr=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{operation:t}=e;return(0,Ll.default)(["action_play","watch_coverage_record","watch_coverage_live"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=Cl(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=ir.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=Cl(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:Ry.WTF,message:e?String(e):"Unknown logger error",thrown:e})}}readFromStorage(){let e=ir.get(Wr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(io(this.params.config.storageExpiration));ir.set(Wr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(io(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],ir.set(Wr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,Nl.default)(e)){let o=i.filter(io(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}ir.set(Wr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.custom.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.custom.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};import{HttpConnectionType as oo,Surface as Oe,VideoFormat as w,VideoQuality as M}from"@vkontakte/videoplayer-core/es2024";import{assertNever as kl}from"@vkontakte/videoplayer-shared/es2024";var Dl=r=>r&&{[M.INVARIANT]:"unknown",[M.Q_144P]:"mobile",[M.Q_240P]:"lowest",[M.Q_360P]:"low",[M.Q_480P]:"medium",[M.Q_576P]:"unknown",[M.Q_720P]:"high",[M.Q_1080P]:"fullhd",[M.Q_1440P]:"quadhd",[M.Q_2160P]:"ultrahd",[M.Q_4320P]:"unknown"}[r],no=r=>r&&{[oo.HTTP1]:"http1",[oo.HTTP2]:"http2",[oo.QUIC]:"http3"}[r],$l=r=>{if(r!==void 0)switch(r){case w.MPEG:return"mp4";case w.DASH:case w.DASH_LIVE:case w.DASH_STREAMS:return"dash";case w.DASH_SEP:return"dash_sep";case w.DASH_ONDEMAND:return"ondemand_dash";case w.DASH_WEBM:case w.DASH_LIVE_WEBM:return"webm";case w.DASH_WEBM_AV1:return"av1";case w.DASH_LIVE_CMAF:return"ondemand_dash_live";case w.HLS:case w.HLS_LIVE:return"hls";case w.HLS_ONDEMAND:return"ondemand_hls";case w.HLS_LIVE_CMAF:return"ondemand_hls_live";case w.WEB_RTC_LIVE:return"webrtc";default:return kl(r)}},Kr=r=>{if(r!==void 0)switch(r){case Oe.NONE:case Oe.INLINE:return;case Oe.FULLSCREEN:return"fullscreen";case Oe.SECOND_SCREEN:return"chromecast";case Oe.PIP:return"pip";case Oe.INVISIBLE:return"invisible";default:return kl(r)}},Ml=r=>{switch(r){case"slow-2g":return"poor";case"2g":return"poor";case"3g":return"good";case"4g":return"excellent"}};var Gr=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};var uo=P(so(),1),rd=()=>(0,uo.default)(Math.floor(Math.random()*2**32).toString(36),7,"0"),td=()=>(0,uo.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");import{PlaybackState as id}from"@vkontakte/videoplayer-core/es2024";import{filter as od,filterChanged as Zy,fromEvent as eI,isNullable as nd,map as rI,merge as co,Observable as tI,Subject as lo,Subscription as iI,ValueSubject as oI}from"@vkontakte/videoplayer-shared/es2024";var ad=(r,e)=>new tI(t=>{let i=new iI,o=co(eI(window,"beforeunload"),r.events.willDestruct$),n=new oI(void 0),s;i.add(r.info.isLive$.pipe(Zy()).subscribe(_=>{s&&(s.unsubscribe(),n.next(void 0)),_?s=r.info.liveTime$.pipe(rI(A=>A&&A/1e3)).subscribe(n):s=r.info.position$.subscribe(n),i.add(s)}));let{playing$:u,paused$:l}=r.events,d=r.events.willSeek$.pipe(od(()=>r.info.playbackState$.getValue()===id.PLAYING)),p=r.events.seeked$.pipe(od(()=>r.info.playbackState$.getValue()===id.PLAYING)),h=!1,c=new lo;i.add(d.subscribe(()=>{h||c.next(),h=!0})),i.add(p.subscribe(()=>h=!1));let f=new lo,v=new lo,g=co(u,p,f),b=co(l,c,o,r.events.looped$,v),m,y=()=>m=n.getValue(),U=()=>{let _=n.getValue();nd(m)||m===_||nd(_)||(t.next({from:m,to:_}),m=void 0)},j=()=>{v.next(),f.next()};if(i.add(g.subscribe(y)),i.add(b.subscribe(U)),e.forceInterval&&isFinite(e.forceInterval)){let _=0;i.add(g.subscribe(()=>_=window.setTimeout(j,e.forceInterval))),i.add(b.subscribe(()=>window.clearTimeout(_)))}return i});var fI="_one-stat_",fd=`${fI}deviceId`,fo=()=>{let r=new ho;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},vo=class{constructor(e,t){this.subscription=new ho;this.debugLogger=new lI;this.oneStatDebugLog=this.debugLogger.createComponentLog("onestat");this.loopCounter=0;this.disabled=!1;this.vsid$=new zr(void 0);this.isid$=new zr(void 0);this.zenUid$=new zr(void 0);this.seekAction$=new zr("unknown");this.statContext=e,this.config=Ta(t.config??{}),Ae(t.apiEnv)&&(this.config.apiEnv=t.apiEnv),this.config.synchronizeTime&&(this.timeSynchronisation=new Gr);let i=new cI;this.experimental={error$:i};let o=ld.get(fd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Ht(),ld.set(fd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??td()),this.zenUid$.next(t.zenUid);let n=new tr({config:this.config,error$:i,timeSynchronisation:this.timeSynchronisation});this.api=new er({config:this.config,apiTransport:n,refreshAuthToken:t.refreshAuthToken,mobile:this.statContext.mobile??!1,deviceId:this.deviceId,error$:i,vktvVersion:t.vktvVersion}),this.logger=new Hr({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=dI();this.isEmbed=s,this.embedParent=u?new URL(u).hostname:void 0,this.subscribe()}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new ho,i=(c,f)=>t.add(c.subscribe(f));i(e.events.willStart$,()=>{let c=e.info.position$.getValue();this.logActionPlay({position:c}),this.statContext.projectId&&this.logActionPlayInteractive()}),i(e.events.looped$,()=>{this.resetViewSession(),++this.loopCounter>this.config.maxLoops&&(this.disabled=!0),this.logActionPlay({position:e.info.position$.getValue()})}),i(e.events.seeked$,()=>{this.logSeek({action:this.seekAction$.getValue(),time:e.info.position$.getValue()}),this.seekAction$.next("unknown")}),i(e.events.paused$,()=>{this.logPause({position:e.info.position$.getValue()})}),i(e.events.willResume$,()=>{this.logPlay()}),i(e.events.started$,()=>{this.statContext.clip&&this.logWatchCoverageRecord({start:0,end:0})}),i(e.events.playing$,()=>{this.logPlaying()}),i(ad(e,{forceInterval:this.config.watchCoverageInterval}),c=>{let f=e.info.isLive$.getValue(),v=e.info.atLiveEdge$.getValue(),g={start:parseFloat(c.from.toFixed(3)),end:parseFloat(c.to.toFixed(3))};if(v){let b=e.info.liveLatency$.getValue()??0,m=e.info.currentBuffer$.getValue()?.end??0,y=e.info.liveBufferTime$.getValue()??0,U=Math.round((b-(m-y))*1e3),j=Math.round(b*1e3);U&&j&&(g.latency=U,g.bufferLatency=j)}f?this.logWatchCoverageLive(g):this.logWatchCoverageRecord(g)});let o;i(e.info.isStalled$,c=>{c?o=z():(Ae(o)&&this.logEmptyBuffer({duration:z()-o}),o=void 0)});let n=!1;t.add(e.events.fatalError$.pipe(uI()).subscribe(()=>n=!0)),i(e.events.willStop$,()=>{if(e.info.isStalled$.getValue()){let f=Ae(o)?z()-o:void 0;this.logCloseAtEmptyBuffer({duration:f??0}),o=void 0}else n||this.logActionStop()}),i(e.events.managedError$,({id:c})=>{this.logError({fatal:!1,errorType:c})}),i(e.events.fatalError$,({id:c})=>{this.logError({fatal:!0,errorType:c})});let s,u,l=!1;i(e.events.firstBytes$,c=>{s=z(),this.logFirstBytes({time:c})}),i(e.events.willStart$,()=>u=z()),i(e.info.currentBuffer$,c=>{!l&&c&&c.end-c.start>0&&Ae(s)&&(this.logPlayerReady({duration:z()-s}),l=!0)}),i(e.events.firstFrame$,()=>{Ae(s)&&!l&&(this.logPlayerReady({duration:z()-s}),l=!0),Ae(u)&&this.logFirstFrame({time:z()-u})});let d;i(e.info.currentVideoStream$,c=>{c&&(d&&c.id!==d&&this.logTrackSwitch(c),d=c.id)});let p;i(e.info.currentAudioStream$,c=>{c&&(p&&c.id!==p&&this.logTrackSwitch(c),p=c.id)}),i(e.info.atLiveEdge$,c=>this.updateContext({liveEdge:c})),i(sd({muted:e.info.muted$,volume:e.info.volume$}),({muted:c,volume:f})=>this.updateContext({audible:!c&&f>0})),i(e.info.currentQuality$,c=>{let f=Dl(c);this.updateContext({quality:f}),f&&this.logQuality(f)}),i(e.info.isAutoQualityEnabled$,c=>this.updateContext({autoQuality:c})),i(e.info.currentFormat$,c=>this.updateContext({contentType:$l(c)})),i(e.info.currentPlaybackRate$,c=>this.updateContext({rate:c})),i(e.info.is3DVideo$,c=>this.updateContext({is3d:c}));let h;return i(e.info.hostname$,c=>{let f=h!==void 0&&h!==c;this.updateContext({cdnHostname:c,failover:f}),f&&this.logFailover(c),h=c}),i(e.info.throughputEstimation$,c=>this.updateContext({downloadSpeed:c})),i(e.info.httpConnectionType$,c=>{this.statContext.firstConnectionType||this.updateContext({firstConnectionType:no(c)}),this.updateContext({connectionType:no(c)})}),i(e.info.httpConnectionReused$,c=>{cd(this.statContext.firstConnectionReused)&&this.updateContext({firstConnectionReused:c}),this.updateContext({connectionReused:c})}),i(e.info.surface$,c=>this.updateContext({mode:Kr(c)})),i(sd({current:e.info.currentTextTrack$,available:e.info.availableTextTracks$}),({current:c,available:f})=>{let v=f.find(({id:b})=>b===c),g=v&&(v.isAuto?`${v.language}_auto`:v.language);this.updateContext({subtitles:g?.split(".")[0]})}),this.player=e,this.uiEvents&&this.attachToUi(this.uiEvents),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){this.uiEvents=e;let{subscription:t,subscribe:i}=fo();return this.player&&(i(e.actionRewind$,()=>{this.player&&(this.resetViewSession(),this.logActionPlay({position:this.player.info.position$.getValue()}))}),i(e.actionSeek$,this.seekAction$),i(e.inPiP$,o=>{let n=o?"pip":Kr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.inFullscreen$,o=>{let n=o?"fullscreen":Kr(this.player?.info.surface$.getValue());this.updateContext({mode:n})}),i(e.actionSetSubtitle$,o=>this.updateContext({subtitles:o.split(".")[0]})),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t)),t}attachToAds(e){let{subscription:t,subscribe:i}=fo();return i(e.slotRequested$,()=>this.logAdSlotRequest()),i(e.started$,o=>this.logAdStarted(o)),i(e.paused$,()=>this.logAdPaused()),i(e.resumed$,()=>this.logAdResumed()),i(e.ended$,()=>this.logAdEnded()),i(e.skipped$,()=>this.logAdSkipped()),i(e.clicked$,()=>this.logAdClicked()),i(e.error$,o=>this.logError({errorType:o,fatal:!1})),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToInteractive(e){let{subscription:t,subscribe:i}=fo();return i(e.click$,o=>this.logInterfaceClick(o)),i(e.nextMovie$,o=>this.logNextMovie(o)),this.resubscribeBeforeunload(),this.subscription.add(t),t}authorize(e){return this.api.authorize(e)}pause(){this.logger.pause(),this.oneStatDebugLog({message:"paused"})}resume(){this.logger.resume(),this.oneStatDebugLog({message:"resumed"})}destroy(){this.logger.flush(),this.subscription.unsubscribe(),this.api.destroy(),this.logger.destroy()}resetViewSession(){this.oneStatDebugLog({message:"VSID reset"}),this.vsid$.next(rd())}getDeviceId(){return this.deviceId}setFieldBlacklist(){}logInited(){}logReady(e){this.log({operation:"player_ready",param:String(e.time)})}logStarted(...e){this.logActionPlay(...e)}logPlay(){this.log({operation:"play_toggle"})}logPlaying(){this.log({operation:"playing"})}logPause(e){this.log({operation:"pause",param:String(Math.round(e.position))})}logSeek(e){this.log({operation:"seek",param:e.action,time:e.time})}logFirstBytes(e){this.log({operation:"first_bytes",param:String(e.time)})}logFirstFrame(e){this.log({operation:"first_frame",param:String(e.time)})}logError(e){this.log({operation:"content_error",param:`${e.fatal?"fatal":"recoverable"}_${e.errorType}`})}logWatchCoverageRecord(e){this.log({operation:"watch_coverage_record",param:`${e.start}-${e.end}`},{in_history:this.statContext.inHistory?1:void 0})}logWatchCoverageLive(e){let t=this.timeSynchronisation?.getOffset()??0,i=e.start+t,o=e.end+t;this.log({operation:"watch_coverage_live",param:`${i}-${o}`},{in_history:this.statContext.inHistory?1:void 0,latency:e.latency,buffer_latency:e.bufferLatency})}logEmptyBuffer(e){this.log({operation:"empty_buffer",param:String(e.duration)})}logDownloadSpeed(){}logAdSlotRequest(){this.log({operation:"adv",param:"slot_request"})}logAdStarted(e){this.log({operation:"adv",param:e})}logAdPaused(){this.log({operation:"adv",param:"pause"})}logAdResumed(){this.log({operation:"adv",param:"resume"})}logAdEnded(){this.log({operation:"adv",param:"ended"})}logAdSkipped(){this.log({operation:"adv",param:"skip"})}logAdClicked(){this.log({operation:"adv",param:"click"})}logInterfaceClick(e){this.log({operation:"player_interface_click",param:e})}logNextMovie(e){this.log({operation:"next_movie",param:String(e)})}subscribe(){this.resubscribeBeforeunload();let e=window.navigator.connection;e&&"onchange"in e&&"effectiveType"in e&&this.subscription.add(aI(ud(e,"change"),sI(["init"])).subscribe(()=>this.updateContext({network:Ml(e.effectiveType)}))),this.config.debugLog&&this.debugLogger.log$.subscribe(t=>{console.debug("%c stat ","background:#fa6470;",`component: ${t.component}.`,t.message)})}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=ud(window,"beforeunload").subscribe(()=>this.logger.flush({wantBeacon:!0,clearStorage:this.config.clearStorageAtUnload})),this.subscription.add(this.beforeunloadSubscription)}logPlayerReady(e){this.log({operation:"player_ready",param:String(Math.round(e.duration))})}logActionPlay(e){this.log({operation:"action_play",param:String(Math.round(e.position))})}logActionPlayInteractive(){this.statContext.projectId&&this.log({operation:"action_play_interactive",param:String(this.statContext.movieId)},{vid:this.statContext.projectId})}logFailover(e){this.log({operation:"failover",param:e})}logCloseAtEmptyBuffer(e){this.log({operation:"close_at_empty_buffer",param:String(Math.round(e.duration))})}logActionStop(){this.log({operation:"action_stop"})}logTrackSwitch(e){this.log({operation:"track_switch",param:e.id})}logQuality(e){this.log({operation:"quality",param:e})}log(e,t={}){if(this.disabled){this.oneStatDebugLog({message:`operation ${e.operation} but statistics is disabled`});return}if((0,po.default)(this.config.disabledOperations,e.operation)){this.oneStatDebugLog({message:`operation ${e.operation} but it is disabled`});return}this.oneStatDebugLog({message:`operation ${e.operation} ${e.param}`});let i=this.createLogItem(e,t);this.logger.log(i)}createLogItem({operation:e,param:t,time:i},o={}){let n=this.timeSynchronisation?.now()??z(),s=this.vsid$.getValue();nI(s);let u=this.isid$.getValue(),l=e==="empty_buffer"||e==="close_at_empty_buffer"?this.statContext.connectionType:this.statContext.firstConnectionType,d=this.statContext.firstConnectionReused,p,h;if(this.isEmbed||this.statContext.place==="embed"){p=this.embedParent;let f=[...new URLSearchParams(location.search).entries()].filter(([v,g])=>(0,po.default)(this.config.embedUrlParams,v));h=new URLSearchParams(f).toString()}else this.statContext.place==="direct"&&(this.statContext.refDomain?p=dd(this.statContext.refDomain)?.hostname??this.statContext.refDomain:document.referrer&&(p=dd(document.referrer)?.hostname??document.referrer),h=location.href.substring(0,1024));let c={vsid:s,isid:u,vid:this.statContext.movieId,uid:this.zenUid$.getValue(),ct:this.statContext.contentType,place:this.isEmbed?"embed":this.statContext.place,quality:this.statContext.quality,cdn_host:this.statContext.cdnHostname,stat_type:this.statContext.autoplay===!0?"auto":this.statContext.autoplay===!1?"":void 0,param:t,vk_app_id:this.statContext.vkAppId,track_code:this.statContext.trackCode,connection_type:l,connection_reused:d===!0?1:d===!1?0:void 0,cached_data:this.statContext.cached===!0?1:this.statContext.cached===!1?0:void 0,live:this.statContext.liveEdge?1:void 0,muted:this.statContext.audible===!1?1:void 0,mode:this.statContext.mode,subtitles:this.statContext.subtitles,download_speed:this.statContext.downloadSpeed,manual_quality:this.statContext.autoQuality?void 0:1,ref_domain:p,direct_url:h,rate:this.statContext.rate===1||cd(this.statContext.rate)?void 0:this.statContext.rate.toFixed(2),view_360:this.statContext.is3d?1:void 0,aid:this.statContext.albumId,vk_playlist_id:this.statContext.vkPlaylistId,...o};for(let f of this.config.disabledCustomFields)delete c[f];return{operation:e,type:1,time:i,network:this.statContext.network,timestamp:n,custom:c}}};var Fd={};zd(Fd,{SeekType:()=>Qr,ThinOneStat:()=>it,VERSION:()=>L});import{assertNonNullable as OI,detectEmbed as AI,fromEvent as qI,Logger as xI,merge as Dd,safeStorage as $d,Subject as RI,Subscription as To,ValueSubject as tt}from"@vkontakte/videoplayer-shared/es2024";import{clientChecker as ae,PlaybackState as Md}from"@vkontakte/videoplayer-core/es2024";import{fillWithDefault as pI}from"@vkontakte/videoplayer-shared/es2024";var Qr=(u=>(u.SLIDER="slider",u.DOUBLE_TAP="double_tap",u.TIME_CODE="time_code",u.EPISODE="episode",u.REWIND="rewind",u.LIVE="live",u.UNKNOWN="unknown",u))(Qr||{});var hd="CIOPGQJGDIHBABABA",go={prod:"https://api.ok.ru",vk_alias:"https://api.mycdn.me",videotest:"https://videotestapi.ok.ru/api",test:"https://apitest.ok.ru",okcdn:"https://api.okcdn.ru",auto:""};var hI={apiKey:hd,apiEnv:"vk_alias",requestRetryCount:1,firstFlushTime:5e3,flushDebounceTime:1e4,flushMaxWait:6e4,storageExpiration:36*60*60*1e3,watchCoverageHeartbeatInterval:15,synchronizeTime:!0,useBeacon:!1,alwaysSendDesktop:!1},vd=r=>pI(r,hI);var mo=P($i(),1);import{getExponentialDelay as vI,ErrorCategory as qe,ValueSubject as gI}from"@vkontakte/videoplayer-shared/es2024";var Yr=class{constructor(e){this.params=e,this.authorized$=new gI(!1),this.consequentAuthErrors=0}async authorize(e){return this.authToken=e??await this.refreshAuthToken(),this.authorizeWithBackoff()}logBeacon(e){let t="log.logUvStat",i=this.createLogParams(e),o=this.sessionKey;if(!o)return;this.params.apiTransport.sendBeacon(t,i,o)||this.logRequest(e).catch(()=>{})}async logRequest(e){let t="log.logUvStat",i=this.createLogParams(e),o={},n=this.sessionKey??await this.authorizeWithBackoff();if(!n)return;let s=async(u,l=this.params.config.requestRetryCount)=>{try{return await this.params.apiTransport.sendRequest(t,i,n,o)}catch(d){if(!d||!("error_code"in d)){this.params.error$.next({id:"logRequestUnknown",category:qe.NETWORK,message:`Unknown ${t} error`,thrown:d});return}let p=d?.error_code;switch(p){case 102:case 103:case 104:return this.authorized$.next(!1),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;case 401:return this.authorized$.next(!1),this.authToken=await this.refreshAuthToken(),this.sessionKey=await this.authorizeWithBackoff(),l>0?s(u,l-1):void 0;default:{this.params.error$.next({id:`LogRequest#${p}`,category:qe.EXTERNAL_API,message:`${t} error`,data:d});return}}}};return s(e)}destroy(){window.clearTimeout(this.backoffTimeoutId),this.backoffTimeoutId=0}async refreshAuthToken(){if(this.params.refreshAuthToken)return this.refreshAuthTokenPromise||(this.refreshAuthTokenPromise=(0,mo.default)(this.params.refreshAuthToken(),()=>{this.refreshAuthTokenPromise=void 0})),this.refreshAuthTokenPromise}createLogParams(e){return{collector:"ok.mobile.apps.video",uv_stat_data:JSON.stringify({application:`@vkontakte/videoplayer-statistics:${L}`,platform:e[0].platform,product:e[0].product,events:e})}}authorizeWithBackoff(){if(!this.consequentAuthErrors)return this.doAuthorize();let e=vI(this.consequentAuthErrors);return new Promise(t=>{this.backoffTimeoutId||(this.backoffTimeoutId=window.setTimeout(async()=>{try{let i=await this.doAuthorize();t(i)}catch(i){this.params.error$.next({id:"AuthorizeBackoff",category:qe.NETWORK,message:"Otherwise unhandled error in authorization",thrown:i})}finally{this.backoffTimeoutId=0}},e))})}doAuthorize(){if(this.authorizePromise)return this.authorizePromise;this.sessionKey=void 0,this.authorized$.next(!1);let e="auth.anonymLogin",t={session_data:{version:2,device_id:this.params.deviceId,client_version:L.split("-")[0],client_type:"SDK_JS"}};return this.authToken!==void 0&&(t.session_data.auth_token=this.authToken,t.session_data.version=3),this.authorizePromise=(0,mo.default)(this.params.apiTransport.sendRequest(e,t).then(i=>((!i||!i.session_key)&&this.params.error$.next({id:"AuthorizeFailed",category:qe.EXTERNAL_API,message:"No session key",data:i}),this.sessionKey=i?.session_key??void 0,this.sessionKey)).catch(async i=>{this.sessionKey=void 0;let o=i?.error_code;switch(o){case 401:return this.authToken=await this.refreshAuthToken(),this.authorizeWithBackoff()}o?this.params.error$.next({id:`Authorize#${o}`,category:qe.EXTERNAL_API,message:"authorize error",data:i}):this.params.error$.next({id:"AuthorizeUnknown",category:qe.NETWORK,message:"authorize error",thrown:i})}),()=>{this.authorizePromise=void 0,this.consequentAuthErrors=this.sessionKey?0:this.consequentAuthErrors+1,this.authorized$.next(this.sessionKey!==void 0)}),this.authorizePromise}};var gd=P(pe(),1);var md=P(Ee(),1);import{now as bo,ErrorCategory as Jr}from"@vkontakte/videoplayer-shared/es2024";var Xr=class{constructor(e){this.params=e,this.apiKey=e.config.apiKey,this.apiEnv=e.config.apiEnv,this.apiBaseUrl=go[this.apiEnv],this.timeSynchronisation=e.timeSynchronisation,this.isApiBaseUrlFetched=!1}sendBeacon(e,t,i){if(!window.Blob||!window.navigator.sendBeacon)return!1;let o=this.prepareQueryParams({method:e,queryParams:t,sessionKey:i}),n=new window.Blob([o.toString()],{type:"application/x-www-form-urlencoded"});try{return window.navigator.sendBeacon(`${this.apiBaseUrl}/fb.do`,n)}catch(s){this.params.error$.next({id:"OneStat:ApiTransport:sendBeacon",category:Jr.NETWORK,message:"Unhandled beacon error",thrown:s,data:{method:e,params:t}})}return!1}async sendRequest(e,t,i,o){let n=bo(),s=u=>{if(u instanceof TypeError&&(0,gd.default)(["Failed to fetch","NetworkError when attempting to fetch resource."],u.message)){this.params.error$.next({id:"Network",category:Jr.NETWORK,message:"Request failed",thrown:u});return}this.params.error$.next({id:"ThinOneStat:ApiTransport:sendRequest",category:Jr.NETWORK,message:"Unhandled request error",thrown:u,data:{method:e,params:t,sessionKey:i,time:bo()-n}})};return this.apiBaseUrl=await this.resolveApiBaseUrl(),we(`${this.apiBaseUrl}/fb.do`,{method:"post",headers:{"Content-type":"application/x-www-form-urlencoded",...o},body:this.prepareQueryParams({method:e,queryParams:t,sessionKey:i})}).then(u=>{let l=Number(u.headers.get("content-length"))===0,d=new Date(u.headers.get("date")??"").getTime(),p=bo()-n;if(isFinite(d)&&this.timeSynchronisation?.addServerTime(d,p),!l)return u.json().then(h=>Object.prototype.hasOwnProperty.call(h,"error_msg")?Promise.reject(h):h,s)},s)}async resolveApiBaseUrl(){if(this.apiEnv!=="auto"||this.isApiBaseUrlFetched)return this.apiBaseUrl;try{let e=atob("aHR0cHM6Ly9kbnMuZ29vZ2xlL3Jlc29sdmU/bmFtZT12aWRlby5fZW5kcG9pbnQub2sucnUmdHlwZT1UWFQ="),o=(await(await we(e,{method:"GET",mode:"cors",cache:"no-cache"})).json())?.Answer[0]?.data;if(!o)throw new Error("Wrong DNS response");return o}catch(e){return this.params.error$.next({id:"ThinOneStat:ApiTransport:resolveApiBaseUrl",category:Jr.NETWORK,message:"Unhandled resolve api base url error",thrown:e}),go.vk_alias}finally{this.isApiBaseUrlFetched=!0}}prepareQueryParams(e){let t=new URLSearchParams({format:"JSON",method:e.method,application_key:this.apiKey});return e.sessionKey!==void 0&&t.append("session_key",e.sessionKey),(0,md.default)(e.queryParams).forEach(([i,o])=>t.append(i,typeof o=="string"?o:JSON.stringify(o))),t}};var yd=P(pe(),1),Id=P(Ee(),1);import{ErrorCategory as mI,now as bI,safeStorage as or,debounceFn as bd}from"@vkontakte/videoplayer-shared/es2024";var Zr="thinonestat_events",yo=r=>e=>e.client_time+r>=bI(),et=class{constructor(e){this.unsaltedStorage=[];this.isPaused=!1;this.isUrgent=e=>{let{event_name:t}=e;return(0,yd.default)(["watch_coverage","watch_coverage_live","watched_n","playback_started"],t)};this.params=e,this.api=e.api,this.error$=e.error$,this.userSalt=e.userSalt,this.loggerDebugLog=e.debugLogger.createComponentLog("stat logger"),this.firstFlush=bd(()=>this.safeFlush(),this.params.config.firstFlushTime,{maxWait:this.params.config.firstFlushTime});let t=or.isPersistent()?this.params.config.flushMaxWait:0;this.debouncedFlush=bd(()=>this.safeFlush(),this.params.config.flushDebounceTime,{maxWait:t}),this.subscription=this.api.authorized$.subscribe(i=>{i&&this.debouncedFlush()}),this.housekeepStorage()}safeFlush(){try{this.flush()}catch(e){this.error$.next({id:"LoggerError",category:mI.WTF,message:String(e)||"Unknown logger error",thrown:e})}}readFromStorage(){let e=or.get(Zr);try{return e?JSON.parse(e):{}}catch{}return{}}addToStorage(e){if(!this.userSalt){this.unsaltedStorage.push(e);return}let t=this.readFromStorage(),o=(t[this.userSalt]??[]).filter(yo(this.params.config.storageExpiration));or.set(Zr,JSON.stringify({...t,[this.userSalt]:[...o,e]}))}getFromStorage(){return this.userSalt?(this.readFromStorage()[this.userSalt]??[]).filter(yo(this.params.config.storageExpiration)):this.unsaltedStorage}markStorageSent(){if(!this.userSalt){this.unsaltedStorage=[];return}let e=this.readFromStorage();delete e[this.userSalt],or.set(Zr,JSON.stringify(e))}housekeepStorage(){let e=this.readFromStorage();for(let[t,i]of(0,Id.default)(e)){let o=i.filter(yo(this.params.config.storageExpiration));o.length?e[t]=o:delete e[t],this.loggerDebugLog({message:`${i.length} retrieved from storage, ${o.length} of them actual`})}or.set(Zr,JSON.stringify(e))}log(e){this.addToStorage(e),!this.isPaused&&(this.isUrgent(e)?this.flush():this.lastVsid!==e.vsid?this.firstFlush():this.debouncedFlush(),this.lastVsid=e.vsid)}flush({wantBeacon:e,clearStorage:t}={wantBeacon:!1,clearStorage:!0}){let i=this.getFromStorage();i.length!==0&&(this.api.authorized$.getValue()?(e&&this.params.config.useBeacon?(this.loggerDebugLog({message:`Flushing ${i.length} events through beacon`}),this.api.logBeacon(i)):(this.loggerDebugLog({message:`Flushing ${i.length} events`}),this.api.logRequest(i)),t&&this.markStorageSent()):this.api.authorize(),this.firstFlush.cancel(),this.debouncedFlush.cancel())}pause(){this.isPaused=!0,this.debouncedFlush.cancel()}resume(){this.isPaused=!1,this.debouncedFlush()}destroy(){this.subscription.unsubscribe(),this.firstFlush.cancel(),this.debouncedFlush.cancel()}};function Io(){let r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),e=new Array(36),t=0,i,o;for(o=0;o<36;o++)o===8||o===13||o===18||o===23?e[o]="-":o===14?e[o]="4":(t<=2&&(t=33554432+Math.random()*16777216|0),i=t&15,t=t>>4,e[o]=r[o===19?i&3|8:i]);return e.join("")}var rt=class{constructor(e){this.offset=void 0;this.offset=e}getOffset(){return this.offset??0}setOffset(e){this.offset=e}now(){return Date.now()+(this.offset??0)}date(e=new Date){return e.setTime(e.getTime()+(this.offset??0)),e}addServerTime(e,t){let i=Date.now(),o=e-i-t/2;if(Math.abs(o)<1e3){this.offset=0;return}this.offset===void 0?this.offset=Math.round(o):this.offset=Math.round(.2*o+(1-.2)*this.offset)}};import{PlaybackState as Sd}from"@vkontakte/videoplayer-core/es2024";import{Observable as yI,Subscription as II,ValueSubject as SI,Subject as So,fromEvent as _I,isNullable as _d,merge as _o,filter as Ed,filterChanged as Pd}from"@vkontakte/videoplayer-shared/es2024";var Td=(r,e)=>new yI(t=>{let i=new II,o=new SI(void 0),n;i.add(r.info.isLive$.pipe(Pd()).subscribe(A=>{n&&(n.unsubscribe(),o.next(void 0)),A?n=r.info.liveTime$.pipe(Pd()).subscribe(o):n=r.info.position$.subscribe(o),i.add(n)}));let{playing$:s,paused$:u,ended$:l,looped$:d}=r.events,p=r.events.willSeek$.pipe(Ed(()=>r.info.playbackState$.getValue()===Sd.PLAYING)),h=r.events.seeked$.pipe(Ed(()=>r.info.playbackState$.getValue()===Sd.PLAYING)),c=!1,f=new So;i.add(p.subscribe(()=>{c||f.next(),c=!0})).add(h.subscribe(()=>c=!1));let v=_o(_I(window,"beforeunload"),r.events.willDestruct$),g,b=()=>g=o.getValue(),m=()=>{let A=o.getValue();_d(g)||_d(A)||g===A||(t.next({from:g,to:A}),g=void 0)},y=new So,U=new So,j=_o(s,f,y),_=_o(u,h,v,l,d,U);if(i.add(j.subscribe(b)).add(_.subscribe(m)),e.heartbeatInterval&&isFinite(e.heartbeatInterval)){let A=[],Bd=e.heartbeatInterval*1e3,Ud=()=>{U.next(),y.next()};i.add(j.subscribe(()=>{let ot=window.setTimeout(Ud,Bd);A.push(ot)})).add(_.subscribe(()=>{A.forEach(ot=>{window.clearTimeout(ot)}),A=[]}))}return i});import{Subscription as EI}from"@vkontakte/videoplayer-core/es2024";import{Observable as PI}from"@vkontakte/videoplayer-shared/es2024";var wd=(r,e)=>new PI(t=>{let i=new EI,o=1e4,n=0;return i.add(r.info.position$.subscribe(()=>{let s=e.getTotalViewTime()*1e3;s>n&&s%o===0&&(n=s,t.next({target_duration:o,current_tvt:s}))})),i});import{Observable as TI,Subscription as wI,merge as Od}from"@vkontakte/videoplayer-shared/es2024";var Ad=r=>new TI(e=>{let t=new wI,i=0,o=1,n=0,s=!1,u=!1,l=()=>{if(!s)return;let _=Date.now();n+=(_-i)*o,i=_},d=()=>{(!s||u)&&(i=Date.now(),s=!0,u=!1)},p=()=>{s&&(l(),s=!1)},h=()=>{s&&(l(),s=!1,u=!0)},c=_=>{s&&l(),o=_,i=Date.now()},{started$:f,playing$:v,paused$:g,willSeek$:b,ended$:m,willDestruct$:y}=r.events,{currentPlaybackRate$:U}=r.info;t.add(b.subscribe(h)).add(Od(f,v).subscribe(d)).add(Od(g,m,y).subscribe(p)).add(U.subscribe(c));let j=()=>{let _=n;return s&&(_+=(Date.now()-i)*o),Math.floor(_/1e3)};return e.next(j),t});import{assertNever as qd}from"@vkontakte/videoplayer-shared/es2024";import{Surface as xe,VideoFormat as E,VideoQuality as V}from"@vkontakte/videoplayer-core/es2024";var Eo=r=>{if(r!==void 0)switch(r){case E.MPEG:return"MP4";case E.DASH:case E.DASH_LIVE:return"DASH";case E.DASH_SEP:return"DASH_SEP";case E.DASH_ONDEMAND:return"ONDEMAND_DASH";case E.HLS_ONDEMAND:return"ONDEMAND_HLS";case E.HLS:case E.HLS_LIVE:return"HLS";case E.DASH_WEBM:case E.DASH_LIVE_WEBM:return"WEBM";case E.DASH_LIVE_CMAF:return"ONDEMAND_DASH_LIVE";case E.HLS_LIVE_CMAF:return"ONDEMAND_HLS_LIVE";case E.WEB_RTC_LIVE:return"WEBRTC";case E.DASH_WEBM_AV1:return"AV1";case E.DASH_STREAMS:return"MULTI_DASH";default:return qd(r)}},Y=r=>{if(r!==void 0)switch(r){case V.Q_144P:return"144p";case V.Q_240P:return"240p";case V.Q_360P:return"360p";case V.Q_480P:return"480p";case V.Q_720P:return"720p";case V.Q_1080P:return"1080p";case V.Q_1440P:return"1440p";case V.Q_2160P:return"2160p";case V.INVARIANT:case V.Q_576P:case V.Q_4320P:return"UNKNOWN";default:return qd(r)}},xd=r=>{if(r!==void 0)switch(r){case"MP4":case"ONDEMAND_DASH":case"ONDEMAND_DASH_LIVE":case"ONDEMAND_HLS":case"ONDEMAND_HLS_LIVE":case"MULTI_DASH":case"WEBM":case"AV1":return"vod";case"DASH":case"HLS":case"WEBRTC":return"live";default:return}},Rd=(r,e,t)=>{if(r&&e)switch(r){case E.MPEG:return t&&e[r]&&e[r][t];default:return e[r]?.url}},Cd=r=>{if(r!==void 0)switch(r){case xe.NONE:return;case xe.INLINE:return"inline";case xe.FULLSCREEN:return"fullscreen";case xe.SECOND_SCREEN:return"chromecast";case xe.PIP:return"pip_external"}},Ld=r=>{if(r!==void 0)return r===xe.INVISIBLE?"background":"foreground"};var Po=P(so(),1),Nd=()=>(0,Po.default)(Math.floor(Math.random()*2**32).toString(36),13,"0"),kd=()=>(0,Po.default)(Math.floor(Math.random()*2**64).toString(36),13,"0");var CI="_thin-one-stat_",Vd=`${CI}deviceId`,LI=()=>{let r=new To;return{subscription:r,subscribe:(e,t)=>{e&&r.add(e.subscribe(t))}}},it=class{constructor(e,t){this.debugLogger=new xI;this.thinOneStatDebugLog=this.debugLogger.createComponentLog("ThinOneStat");this.eventNumber=1;this.seekAction$=new tt("unknown");this.playerSize$=new tt({width:0,height:0});this.vsid$=new tt(void 0);this.isid$=new tt(void 0);this.statContext=e,this.config=vd(t.config??{}),this.subscription=new To,this.config.synchronizeTime&&(this.timeSynchronisation=new rt);let i=new RI,o=$d.get(Vd);this.statContext.deviceId?this.deviceId=this.statContext.deviceId:o?this.deviceId=o:(this.deviceId=Io(),$d.set(Vd,this.deviceId)),this.resetViewSession(),t.useIsid&&this.isid$.next(t.isid??kd());let n=new Xr({error$:i,config:this.config,timeSynchronisation:this.timeSynchronisation});this.api=new Yr({config:this.config,apiTransport:n,error$:i,deviceId:this.deviceId,refreshAuthToken:t.refreshAuthToken}),this.logger=new et({config:this.config,debugLogger:this.debugLogger,api:this.api,error$:i,userSalt:t.userSalt});let{isEmbed:s,topOrigin:u}=AI();this.isEmbed=s,this.embedHostname=u?new URL(u).hostname:void 0}authorize(e){return this.api.authorize(e)}updateContext(e){this.statContext={...this.statContext,...e}}attachTo(e){let t=new To,i=(n,s)=>t.add(n.subscribe(s));i(Ad(e),n=>{this.getTotalViewTime=n}),i(e.info.isLive$,n=>this.isLive=n),i(e.info.position$,n=>this.position=n);let o;return i(e.info.hostname$,n=>{o!==void 0&&o!==n&&this.logFailover({cdn_host:n}),this.cdnHostname=o=n}),i(Td(e,{heartbeatInterval:this.config.watchCoverageHeartbeatInterval}),n=>{let s=Math.round(n.from*1e3),u=Math.round(n.to*1e3),l={watch_interval:`${s}-${u}`,in_history:!!this.statContext.inHistory,content_type:Eo(e.info.currentFormat$.getValue()),playback_quality:Y(e.info.currentQuality$.getValue()),recom_info:this.statContext.recomInfo};if(!e.info.isLive$.getValue())this.logWatchCoverage(l);else{let p=e.info.atLiveEdge$.getValue();this.logWatchCoverageLive({...l,live:!!p})}}),i(wd(e,{getTotalViewTime:this.getTotalViewTime}),n=>{this.logWatchedN(n)}),i(Dd(e.events.willStart$,e.events.looped$),n=>{n&&this.resetViewSession();let s={isid:this.isid$.getValue(),stream_profile:xd(Eo(e.info.currentFormat$.getValue())),dpi:ae.display.pixelRatio,web_layout:ae.device.isMobile?"mobile":"desktop",iframe_host:this.isEmbed?this.embedHostname??void 0:null,from_downloads:!0,preloaded:this.statContext.preload,navigation:this.statContext.navigation,recom_info:this.statContext.recomInfo};this.logStartSession(s)}),i(e.events.willReady$,()=>{if(this.statContext.preload){let n=e.info.currentFormat$.getValue(),s=e.info.availableSources$.getValue(),u=e.info.currentBuffer$.getValue(),l=e.info.currentQuality$.getValue(),d={target_buffer_time:u?u.end-u.start:void 0,playback_url:Rd(n,s,l),playback_quality:Y(l)};this.logPreloadStarted(d)}}),i(e.events.ready$,()=>{if(this.statContext.preload){let n=e.info.currentBuffer$.getValue(),s={buffer_time:n?n.end-n.start:void 0};this.logPreloadEnded(s)}}),i(e.events.playing$,()=>{this.logPlay()}),i(e.info.playbackState$,n=>{if(n===Md.PLAYING){let s=e.info.currentBuffer$.getValue(),u={buffer_time:s?s.end-s.start:void 0};if(this.logPlaying(u),this.isStarted)this.logResume();else{this.isStarted=!0;let l=e.info.currentQuality$.getValue(),d=e.info.isAutoQualityEnabled$.getValue(),p=e.info.muted$.getValue(),h=e.info.volume$.getValue(),c=e.info.surface$.getValue(),f=e.info.availableTextTracks$.getValue(),v=e.info.currentTextTrack$.getValue(),g=e.info.currentAudioStream$.getValue(),b=e.info.currentPlaybackRate$.getValue(),m={playback_quality:Y(l),user_quality:d?"auto":Y(l),player_width:this.playerSize$.getValue().width,player_height:this.playerSize$.getValue().height,muted:p,sound_volume:h,buffer_time:s?Math.round(s.end-s.start):void 0,mode:Cd(c),visibility:Ld(c),subtitles_enabled:!!v,auto_subtitles:!!f.find(({id:y})=>y===v)?.isAuto,audio_track_lang:g?.language,playback_rate:b,recom_info:this.statContext.recomInfo};this.logPlaybackStarted(m)}}else n===Md.PAUSED&&this.logPause()}),i(e.events.willSeek$,({to:n})=>{let s={target_position:n,seek_type:this.seekAction$.getValue()};this.logSeeking(s)}),i(e.events.seeked$,()=>{let s={target_position:e.info.position$.getValue(),seek_type:this.seekAction$.getValue()};this.logSeeked(s),this.seekAction$.next("unknown")}),i(Dd(e.info.isBuffering$,e.info.isStalled$),n=>{n&&this.logShowLoader()}),i(e.info.currentQuality$,n=>{if(n){let s=e.info.isAutoQualityEnabled$.getValue(),u=e.info.currentVideoStream$.getValue()?.codec,l=e.info.currentAudioStream$.getValue()?.codec,d={user_quality:s?"auto":Y(n),playback_quality:Y(n),download_quality:Y(n),codec_info:u&&l?`${u},${l}`:void 0,manual_switch:!s};this.logQualityChanged(d)}}),this.resubscribeBeforeunload(),this.subscription.add(t),t}attachToUi(e){let{subscribe:t,subscription:i}=LI();return t(e.actionSeek$,this.seekAction$),t(e.playerSize$,this.playerSize$),this.subscription.add(i),i}getDeviceId(){return this.deviceId}resetViewSession(){this.thinOneStatDebugLog({message:"VSID reset"}),this.vsid$.next(Nd()),this.eventNumber=0}destroy(){this.api.destroy()}createRequiredParams(e){let t=this.vsid$.getValue();OI(t);let i=this.eventNumber++;return{vsid:t,uv_movie_id:this.statContext.movieId,event_name:e,client_time:Date.now(),application:`@vkontakte/videoplayer-statistics:${L}`,platform:`web:${ae.device.isMobile?"mobile":"desktop"}`,product:this.statContext.product,event_number:i,playback_position:this.isLive?void 0:Math.round(this.position),current_tvt:this.getTotalViewTime(),cdn_host:this.cdnHostname}}createRequiredFatParams(){return{stats_version:L,browser:ae.browser.current,browser_version:String(ae.browser.currentVersion),os:ae.device.current,os_version:"",device_type:ae.device.isMobile?"mobile":"desktop",navigation:this.statContext.navigation}}log(e,t,i=!1){let o=this.createRequiredParams(e),n={};i&&(n=this.createRequiredFatParams()),this.logger.log({...o,...n,...t})}logWatchCoverage(e){this.log("watch_coverage",e,!0)}logWatchCoverageLive(e){this.log("watch_coverage_live",e,!0)}logWatchedN(e){this.log("watched_n",e,!0)}logStartSession(e){this.log("start_session",e,!0)}logPreloadStarted(e){this.log("preload_started",e)}logPreloadEnded(e){this.log("preload_ended",e)}logPlaybackStarted(e){this.log("playback_started",e,!0)}logPlay(){this.log("play")}logPlaying(e){this.log("playing",e)}logPause(){this.log("pause")}logResume(){this.log("resume")}logSeeking(e){this.log("seeking",e)}logSeeked(e){this.log("seeked",e)}logShowLoader(){this.log("show_loader")}logQualityChanged(e){this.log("quality_changed",e)}logFailover(e){this.log("failover",e)}resubscribeBeforeunload(){this.beforeunloadSubscription?.unsubscribe(),this.beforeunloadSubscription=qI(window,"beforeunload").subscribe(()=>{}),this.subscription.add(this.beforeunloadSubscription)}};export{Be as ApiEnv,Ut as ConnectionType,Bt as ContentType,ya as InteractiveInterfaceClick,vo as OneStat,Ft as Quality,jt as SeekAction,Fd as ThinOneStat,L as VERSION};