@vkontakte/videoplayer-interactive 1.0.29-dev.0a39e662.0 → 1.0.29-dev.e881d3ff.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/esnext.esm.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @vkontakte/videoplayer-interactive v1.0.29-dev.0a39e662.0
3
- * Tue, 17 Dec 2024 08:02:54 GMT
2
+ * @vkontakte/videoplayer-interactive v1.0.29-dev.e881d3ff.0
3
+ * Tue, 17 Dec 2024 13:28:13 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-29/doc/
5
5
  */
6
- var to=Object.create;var Nr=Object.defineProperty;var ro=Object.getOwnPropertyDescriptor;var io=Object.getOwnPropertyNames;var no=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var c=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ao=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of io(e))!so.call(t,n)&&n!==r&&Nr(t,n,{get:()=>e[n],enumerable:!(i=ro(e,n))||i.enumerable});return t};var D=(t,e,r)=>(r=t!=null?to(no(t)):{},ao(e||!t||!t.__esModule?Nr(r,"default",{value:t,enumerable:!0}):r,t));var q=c((_t,Wr)=>{"use strict";var pe=function(t){return t&&t.Math===Math&&t};Wr.exports=pe(typeof globalThis=="object"&&globalThis)||pe(typeof window=="object"&&window)||pe(typeof self=="object"&&self)||pe(typeof global=="object"&&global)||pe(typeof _t=="object"&&_t)||function(){return this}()||Function("return this")()});var j=c((fh,Kr)=>{"use strict";Kr.exports=function(t){try{return!!t()}catch{return!0}}});var he=c((mh,Qr)=>{"use strict";var lo=j();Qr.exports=!lo(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")})});var ei=c((yh,Jr)=>{"use strict";var co=he(),Xr=Function.prototype,Yr=Xr.apply,Zr=Xr.call;Jr.exports=typeof Reflect=="object"&&Reflect.apply||(co?Zr.bind(Yr):function(){return Zr.apply(Yr,arguments)})});var $=c((vh,ii)=>{"use strict";var ti=he(),ri=Function.prototype,$t=ri.call,uo=ti&&ri.bind.bind($t,$t);ii.exports=ti?uo:function(t){return function(){return $t.apply(t,arguments)}}});var de=c((gh,si)=>{"use strict";var ni=$(),po=ni({}.toString),ho=ni("".slice);si.exports=function(t){return ho(po(t),8,-1)}});var Ft=c((bh,ai)=>{"use strict";var fo=de(),mo=$();ai.exports=function(t){if(fo(t)==="Function")return mo(t)}});var _=c((Ch,oi)=>{"use strict";var qt=typeof document=="object"&&document.all;oi.exports=typeof qt>"u"&&qt!==void 0?function(t){return typeof t=="function"||t===qt}:function(t){return typeof t=="function"}});var W=c((Eh,li)=>{"use strict";var yo=j();li.exports=!yo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Qe=c((Ih,ci)=>{"use strict";var vo=he(),Ke=Function.prototype.call;ci.exports=vo?Ke.bind(Ke):function(){return Ke.apply(Ke,arguments)}});var Nt=c(hi=>{"use strict";var ui={}.propertyIsEnumerable,pi=Object.getOwnPropertyDescriptor,go=pi&&!ui.call({1:2},1);hi.f=go?function(e){var r=pi(this,e);return!!r&&r.enumerable}:ui});var Bt=c((Th,di)=>{"use strict";di.exports=function(t,e){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:e}}});var mi=c((Sh,fi)=>{"use strict";var bo=$(),Co=j(),Eo=de(),Dt=Object,Io=bo("".split);fi.exports=Co(function(){return!Dt("z").propertyIsEnumerable(0)})?function(t){return Eo(t)==="String"?Io(t,""):Dt(t)}:Dt});var Ht=c((wh,yi)=>{"use strict";yi.exports=function(t){return t==null}});var Gt=c((Ah,vi)=>{"use strict";var xo=Ht(),To=TypeError;vi.exports=function(t){if(xo(t))throw new To("Can't call method on "+t);return t}});var fe=c((Rh,gi)=>{"use strict";var So=mi(),wo=Gt();gi.exports=function(t){return So(wo(t))}});var re=c((Ph,bi)=>{"use strict";var Ao=_();bi.exports=function(t){return typeof t=="object"?t!==null:Ao(t)}});var Ye=c((Oh,Ci)=>{"use strict";Ci.exports={}});var Ze=c((kh,Ii)=>{"use strict";var Ut=Ye(),zt=q(),Ro=_(),Ei=function(t){return Ro(t)?t:void 0};Ii.exports=function(t,e){return arguments.length<2?Ei(Ut[t])||Ei(zt[t]):Ut[t]&&Ut[t][e]||zt[t]&&zt[t][e]}});var Ti=c((Mh,xi)=>{"use strict";var Po=$();xi.exports=Po({}.isPrototypeOf)});var Ri=c((Vh,Ai)=>{"use strict";var Oo=q(),Si=Oo.navigator,wi=Si&&Si.userAgent;Ai.exports=wi?String(wi):""});var ji=c((Lh,Li)=>{"use strict";var Vi=q(),Wt=Ri(),Pi=Vi.process,Oi=Vi.Deno,ki=Pi&&Pi.versions||Oi&&Oi.version,Mi=ki&&ki.v8,F,Xe;Mi&&(F=Mi.split("."),Xe=F[0]>0&&F[0]<4?1:+(F[0]+F[1]));!Xe&&Wt&&(F=Wt.match(/Edge\/(\d+)/),(!F||F[1]>=74)&&(F=Wt.match(/Chrome\/(\d+)/),F&&(Xe=+F[1])));Li.exports=Xe});var Kt=c((jh,$i)=>{"use strict";var _i=ji(),ko=j(),Mo=q(),Vo=Mo.String;$i.exports=!!Object.getOwnPropertySymbols&&!ko(function(){var t=Symbol("symbol detection");return!Vo(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&_i&&_i<41})});var Qt=c((_h,Fi)=>{"use strict";var Lo=Kt();Fi.exports=Lo&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Yt=c(($h,qi)=>{"use strict";var jo=Ze(),_o=_(),$o=Ti(),Fo=Qt(),qo=Object;qi.exports=Fo?function(t){return typeof t=="symbol"}:function(t){var e=jo("Symbol");return _o(e)&&$o(e.prototype,qo(t))}});var Bi=c((Fh,Ni)=>{"use strict";var No=String;Ni.exports=function(t){try{return No(t)}catch{return"Object"}}});var Zt=c((qh,Di)=>{"use strict";var Bo=_(),Do=Bi(),Ho=TypeError;Di.exports=function(t){if(Bo(t))return t;throw new Ho(Do(t)+" is not a function")}});var Gi=c((Nh,Hi)=>{"use strict";var Go=Zt(),Uo=Ht();Hi.exports=function(t,e){var r=t[e];return Uo(r)?void 0:Go(r)}});var zi=c((Bh,Ui)=>{"use strict";var Xt=Qe(),Jt=_(),er=re(),zo=TypeError;Ui.exports=function(t,e){var r,i;if(e==="string"&&Jt(r=t.toString)&&!er(i=Xt(r,t))||Jt(r=t.valueOf)&&!er(i=Xt(r,t))||e!=="string"&&Jt(r=t.toString)&&!er(i=Xt(r,t)))return i;throw new zo("Can't convert object to primitive value")}});var Ki=c((Dh,Wi)=>{"use strict";Wi.exports=!0});var Zi=c((Hh,Yi)=>{"use strict";var Qi=q(),Wo=Object.defineProperty;Yi.exports=function(t,e){try{Wo(Qi,t,{value:e,configurable:!0,writable:!0})}catch{Qi[t]=e}return e}});var Je=c((Gh,en)=>{"use strict";var Ko=Ki(),Qo=q(),Yo=Zi(),Xi="__core-js_shared__",Ji=en.exports=Qo[Xi]||Yo(Xi,{});(Ji.versions||(Ji.versions=[])).push({version:"3.38.0",mode:Ko?"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 tr=c((Uh,rn)=>{"use strict";var tn=Je();rn.exports=function(t,e){return tn[t]||(tn[t]=e||{})}});var me=c((zh,nn)=>{"use strict";var Zo=Gt(),Xo=Object;nn.exports=function(t){return Xo(Zo(t))}});var ie=c((Wh,sn)=>{"use strict";var Jo=$(),el=me(),tl=Jo({}.hasOwnProperty);sn.exports=Object.hasOwn||function(e,r){return tl(el(e),r)}});var rr=c((Kh,an)=>{"use strict";var rl=$(),il=0,nl=Math.random(),sl=rl(1 .toString);an.exports=function(t){return"Symbol("+(t===void 0?"":t)+")_"+sl(++il+nl,36)}});var ye=c((Qh,ln)=>{"use strict";var al=q(),ol=tr(),on=ie(),ll=rr(),cl=Kt(),ul=Qt(),ne=al.Symbol,ir=ol("wks"),pl=ul?ne.for||ne:ne&&ne.withoutSetter||ll;ln.exports=function(t){return on(ir,t)||(ir[t]=cl&&on(ne,t)?ne[t]:pl("Symbol."+t)),ir[t]}});var hn=c((Yh,pn)=>{"use strict";var hl=Qe(),cn=re(),un=Yt(),dl=Gi(),fl=zi(),ml=ye(),yl=TypeError,vl=ml("toPrimitive");pn.exports=function(t,e){if(!cn(t)||un(t))return t;var r=dl(t,vl),i;if(r){if(e===void 0&&(e="default"),i=hl(r,t,e),!cn(i)||un(i))return i;throw new yl("Can't convert object to primitive value")}return e===void 0&&(e="number"),fl(t,e)}});var nr=c((Zh,dn)=>{"use strict";var gl=hn(),bl=Yt();dn.exports=function(t){var e=gl(t,"string");return bl(e)?e:e+""}});var yn=c((Xh,mn)=>{"use strict";var Cl=q(),fn=re(),sr=Cl.document,El=fn(sr)&&fn(sr.createElement);mn.exports=function(t){return El?sr.createElement(t):{}}});var ar=c((Jh,vn)=>{"use strict";var Il=W(),xl=j(),Tl=yn();vn.exports=!Il&&!xl(function(){return Object.defineProperty(Tl("div"),"a",{get:function(){return 7}}).a!==7})});var Cn=c(bn=>{"use strict";var Sl=W(),wl=Qe(),Al=Nt(),Rl=Bt(),Pl=fe(),Ol=nr(),kl=ie(),Ml=ar(),gn=Object.getOwnPropertyDescriptor;bn.f=Sl?gn:function(e,r){if(e=Pl(e),r=Ol(r),Ml)try{return gn(e,r)}catch{}if(kl(e,r))return Rl(!wl(Al.f,e,r),e[r])}});var In=c((td,En)=>{"use strict";var Vl=j(),Ll=_(),jl=/#|\.prototype\./,ve=function(t,e){var r=$l[_l(t)];return r===ql?!0:r===Fl?!1:Ll(e)?Vl(e):!!e},_l=ve.normalize=function(t){return String(t).replace(jl,".").toLowerCase()},$l=ve.data={},Fl=ve.NATIVE="N",ql=ve.POLYFILL="P";En.exports=ve});var or=c((rd,Tn)=>{"use strict";var xn=Ft(),Nl=Zt(),Bl=he(),Dl=xn(xn.bind);Tn.exports=function(t,e){return Nl(t),e===void 0?t:Bl?Dl(t,e):function(){return t.apply(e,arguments)}}});var wn=c((id,Sn)=>{"use strict";var Hl=W(),Gl=j();Sn.exports=Hl&&Gl(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Rn=c((nd,An)=>{"use strict";var Ul=re(),zl=String,Wl=TypeError;An.exports=function(t){if(Ul(t))return t;throw new Wl(zl(t)+" is not an object")}});var kn=c(On=>{"use strict";var Kl=W(),Ql=ar(),Yl=wn(),et=Rn(),Pn=nr(),Zl=TypeError,lr=Object.defineProperty,Xl=Object.getOwnPropertyDescriptor,cr="enumerable",ur="configurable",pr="writable";On.f=Kl?Yl?function(e,r,i){if(et(e),r=Pn(r),et(i),typeof e=="function"&&r==="prototype"&&"value"in i&&pr in i&&!i[pr]){var n=Xl(e,r);n&&n[pr]&&(e[r]=i.value,i={configurable:ur in i?i[ur]:n[ur],enumerable:cr in i?i[cr]:n[cr],writable:!1})}return lr(e,r,i)}:lr:function(e,r,i){if(et(e),r=Pn(r),et(i),Ql)try{return lr(e,r,i)}catch{}if("get"in i||"set"in i)throw new Zl("Accessors not supported");return"value"in i&&(e[r]=i.value),e}});var Vn=c((ad,Mn)=>{"use strict";var Jl=W(),ec=kn(),tc=Bt();Mn.exports=Jl?function(t,e,r){return ec.f(t,e,tc(1,r))}:function(t,e,r){return t[e]=r,t}});var be=c((od,jn)=>{"use strict";var ge=q(),rc=ei(),ic=Ft(),nc=_(),sc=Cn().f,ac=In(),se=Ye(),oc=or(),ae=Vn(),Ln=ie();Je();var lc=function(t){var e=function(r,i,n){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,n)}return rc(t,this,arguments)};return e.prototype=t.prototype,e};jn.exports=function(t,e){var r=t.target,i=t.global,n=t.stat,s=t.proto,l=i?ge:n?ge[r]:ge[r]&&ge[r].prototype,a=i?se:se[r]||ae(se,r,{})[r],o=a.prototype,u,m,y,f,b,S,B,E,h;for(f in e)u=ac(i?f:r+(n?".":"#")+f,t.forced),m=!u&&l&&Ln(l,f),S=a[f],m&&(t.dontCallGetSet?(h=sc(l,f),B=h&&h.value):B=l[f]),b=m&&B?B:e[f],!(!u&&!s&&typeof S==typeof b)&&(t.bind&&m?E=oc(b,ge):t.wrap&&m?E=lc(b):s&&nc(b)?E=ic(b):E=b,(t.sham||b&&b.sham||S&&S.sham)&&ae(E,"sham",!0),ae(a,f,E),s&&(y=r+"Prototype",Ln(se,y)||ae(se,y,{}),ae(se[y],f,b),t.real&&o&&(u||!o[f])&&ae(o,f,b)))}});var $n=c((ld,_n)=>{"use strict";var cc=Math.ceil,uc=Math.floor;_n.exports=Math.trunc||function(e){var r=+e;return(r>0?uc:cc)(r)}});var Ce=c((cd,Fn)=>{"use strict";var pc=$n();Fn.exports=function(t){var e=+t;return e!==e||e===0?0:pc(e)}});var Nn=c((ud,qn)=>{"use strict";var hc=Ce(),dc=Math.min;qn.exports=function(t){var e=hc(t);return e>0?dc(e,9007199254740991):0}});var Ee=c((pd,Bn)=>{"use strict";var fc=Nn();Bn.exports=function(t){return fc(t.length)}});var tt=c((hd,Dn)=>{"use strict";Dn.exports=function(){}});var Hn=c(()=>{"use strict";var mc=be(),yc=me(),vc=Ee(),gc=Ce(),bc=tt();mc({target:"Array",proto:!0},{at:function(e){var r=yc(this),i=vc(r),n=gc(e),s=n>=0?n:i+n;return s<0||s>=i?void 0:r[s]}});bc("at")});var rt=c((md,Gn)=>{"use strict";var Cc=Ze();Gn.exports=Cc});var zn=c((yd,Un)=>{"use strict";Hn();var Ec=rt();Un.exports=Ec("Array","at")});var Kn=c((vd,Wn)=>{"use strict";var Ic=zn();Wn.exports=Ic});var hr=c((gd,Qn)=>{"use strict";var xc=Kn();Qn.exports=xc});var us=c((kf,cs)=>{"use strict";var Vc=tr(),Lc=rr(),ls=Vc("keys");cs.exports=function(t){return ls[t]||(ls[t]=Lc(t))}});var hs=c((Mf,ps)=>{"use strict";var jc=j();ps.exports=!jc(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})});var ms=c((Vf,fs)=>{"use strict";var _c=ie(),$c=_(),Fc=me(),qc=us(),Nc=hs(),ds=qc("IE_PROTO"),Ir=Object,Bc=Ir.prototype;fs.exports=Nc?Ir.getPrototypeOf:function(t){var e=Fc(t);if(_c(e,ds))return e[ds];var r=e.constructor;return $c(r)&&e instanceof r?r.prototype:e instanceof Ir?Bc:null}});var vs=c((Lf,ys)=>{"use strict";var Dc=Ce(),Hc=Math.max,Gc=Math.min;ys.exports=function(t,e){var r=Dc(t);return r<0?Hc(r+e,0):Gc(r,e)}});var xr=c((jf,bs)=>{"use strict";var Uc=fe(),zc=vs(),Wc=Ee(),gs=function(t){return function(e,r,i){var n=Uc(e),s=Wc(n);if(s===0)return!t&&-1;var l=zc(i,s),a;if(t&&r!==r){for(;s>l;)if(a=n[l++],a!==a)return!0}else for(;s>l;l++)if((t||l in n)&&n[l]===r)return t||l||0;return!t&&-1}};bs.exports={includes:gs(!0),indexOf:gs(!1)}});var Es=c((_f,Cs)=>{"use strict";Cs.exports={}});var Ts=c(($f,xs)=>{"use strict";var Kc=$(),Tr=ie(),Qc=fe(),Yc=xr().indexOf,Zc=Es(),Is=Kc([].push);xs.exports=function(t,e){var r=Qc(t),i=0,n=[],s;for(s in r)!Tr(Zc,s)&&Tr(r,s)&&Is(n,s);for(;e.length>i;)Tr(r,s=e[i++])&&(~Yc(n,s)||Is(n,s));return n}});var ws=c((Ff,Ss)=>{"use strict";Ss.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Rs=c((qf,As)=>{"use strict";var Xc=Ts(),Jc=ws();As.exports=Object.keys||function(e){return Xc(e,Jc)}});var Ls=c((Nf,Vs)=>{"use strict";var Os=W(),eu=j(),ks=$(),tu=ms(),ru=Rs(),iu=fe(),nu=Nt().f,Ms=ks(nu),su=ks([].push),au=Os&&eu(function(){var t=Object.create(null);return t[2]=2,!Ms(t,2)}),Ps=function(t){return function(e){for(var r=iu(e),i=ru(r),n=au&&tu(r)===null,s=i.length,l=0,a=[],o;s>l;)o=i[l++],(!Os||(n?o in r:Ms(r,o)))&&su(a,t?[o,r[o]]:r[o]);return a}};Vs.exports={entries:Ps(!0),values:Ps(!1)}});var js=c(()=>{"use strict";var ou=be(),lu=Ls().values;ou({target:"Object",stat:!0},{values:function(e){return lu(e)}})});var $s=c((Hf,_s)=>{"use strict";js();var cu=Ye();_s.exports=cu.Object.values});var qs=c((Gf,Fs)=>{"use strict";var uu=$s();Fs.exports=uu});var gt=c((Uf,Ns)=>{"use strict";var pu=qs();Ns.exports=pu});var Hs=c(()=>{"use strict";var hu=be(),du=xr().includes,fu=j(),mu=tt(),yu=fu(function(){return!Array(1).includes()});hu({target:"Array",proto:!0,forced:yu},{includes:function(e){return du(this,e,arguments.length>1?arguments[1]:void 0)}});mu("includes")});var Us=c((Yf,Gs)=>{"use strict";Hs();var vu=rt();Gs.exports=vu("Array","includes")});var Ws=c((Zf,zs)=>{"use strict";var gu=Us();zs.exports=gu});var bt=c((Xf,Ks)=>{"use strict";var bu=Ws();Ks.exports=bu});var Pr=c((ym,Xs)=>{"use strict";var Su=de();Xs.exports=Array.isArray||function(e){return Su(e)==="Array"}});var ea=c((vm,Js)=>{"use strict";var wu=TypeError,Au=9007199254740991;Js.exports=function(t){if(t>Au)throw wu("Maximum allowed index exceeded");return t}});var ia=c((gm,ra)=>{"use strict";var Ru=Pr(),Pu=Ee(),Ou=ea(),ku=or(),ta=function(t,e,r,i,n,s,l,a){for(var o=n,u=0,m=l?ku(l,a):!1,y,f;u<i;)u in r&&(y=m?m(r[u],u,e):r[u],s>0&&Ru(y)?(f=Pu(y),o=ta(t,e,y,f,o,s-1)-1):(Ou(o+1),t[o]=y),o++),u++;return o};ra.exports=ta});var aa=c((bm,sa)=>{"use strict";var Mu=ye(),Vu=Mu("toStringTag"),na={};na[Vu]="z";sa.exports=String(na)==="[object z]"});var la=c((Cm,oa)=>{"use strict";var Lu=aa(),ju=_(),Et=de(),_u=ye(),$u=_u("toStringTag"),Fu=Object,qu=Et(function(){return arguments}())==="Arguments",Nu=function(t,e){try{return t[e]}catch{}};oa.exports=Lu?Et:function(t){var e,r,i;return t===void 0?"Undefined":t===null?"Null":typeof(r=Nu(e=Fu(t),$u))=="string"?r:qu?Et(e):(i=Et(e))==="Object"&&ju(e.callee)?"Arguments":i}});var ua=c((Em,ca)=>{"use strict";var Bu=$(),Du=_(),Or=Je(),Hu=Bu(Function.toString);Du(Or.inspectSource)||(Or.inspectSource=function(t){return Hu(t)});ca.exports=Or.inspectSource});var ya=c((Im,ma)=>{"use strict";var Gu=$(),Uu=j(),pa=_(),zu=la(),Wu=Ze(),Ku=ua(),ha=function(){},da=Wu("Reflect","construct"),kr=/^\s*(?:class|function)\b/,Qu=Gu(kr.exec),Yu=!kr.test(ha),Me=function(e){if(!pa(e))return!1;try{return da(ha,[],e),!0}catch{return!1}},fa=function(e){if(!pa(e))return!1;switch(zu(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Yu||!!Qu(kr,Ku(e))}catch{return!0}};fa.sham=!0;ma.exports=!da||Uu(function(){var t;return Me(Me.call)||!Me(Object)||!Me(function(){t=!0})||t})?fa:Me});var Ca=c((xm,ba)=>{"use strict";var va=Pr(),Zu=ya(),Xu=re(),Ju=ye(),ep=Ju("species"),ga=Array;ba.exports=function(t){var e;return va(t)&&(e=t.constructor,Zu(e)&&(e===ga||va(e.prototype))?e=void 0:Xu(e)&&(e=e[ep],e===null&&(e=void 0))),e===void 0?ga:e}});var Ia=c((Tm,Ea)=>{"use strict";var tp=Ca();Ea.exports=function(t,e){return new(tp(t))(e===0?0:e)}});var xa=c(()=>{"use strict";var rp=be(),ip=ia(),np=me(),sp=Ee(),ap=Ce(),op=Ia();rp({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,r=np(this),i=sp(r),n=op(r,0);return n.length=ip(n,r,r,i,0,e===void 0?1:ap(e)),n}})});var Ta=c(()=>{"use strict";var lp=tt();lp("flat")});var wa=c((Pm,Sa)=>{"use strict";xa();Ta();var cp=rt();Sa.exports=cp("Array","flat")});var Ra=c((Om,Aa)=>{"use strict";var up=wa();Aa.exports=up});var Oa=c((km,Pa)=>{"use strict";var pp=Ra();Pa.exports=pp});var Br="1.0.29-dev.0a39e662.0";function Pt(t,e=1){let r="0",i="0",n="0";return t.length===4?(r="0x"+t[1]+t[1],i="0x"+t[2]+t[2],n="0x"+t[3]+t[3]):t.length===7&&(r="0x"+t[1]+t[2],i="0x"+t[3]+t[4],n="0x"+t[5]+t[6]),`rgba(${+r},${+i},${+n},${e})`}var M="interactive",oo="interactive-controls-container",Fe=()=>document.querySelector(`.${oo}`),Dr=.4,O={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0},Hr=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(Hr||{}),Gr=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(Gr||{}),Ur=(i=>(i.start="left",i.end="right",i.center="center",i))(Ur||{}),qe=({target:t,props:e})=>{t.style.alignItems=(e?.gravityVertical&&Hr[e.gravityVertical])??"center",t.style.justifyContent=(e?.gravityHorizontal&&Gr[e.gravityHorizontal])??"center",t.style.textAlign=(e?.alignment&&Ur[e.alignment])??"left"},Ne=({target:t,props:e,fallback:r,dependsOn:i})=>{t.style.color=e?.text?.color??r.textColor,t.style.fontSize=`calc(${i.height} * ${e?.text?.size??r.textSize})`,t.textContent=e?.text?.value??r.textContent},Be=({target:t,props:e,fallback:r})=>{t.style.backgroundColor=Pt(e?.background?.color??r.backgroundColor,e?.background?.alpha??r.backgroundAlpha)},De=({target:t,props:e,fallback:r,dependsOn:i})=>{t.style.border=`calc(${i.height} * ${e?.shape?.border?.width??r.borderWidth}) solid ${Pt(e?.shape?.border?.color??r.borderColor,e?.shape?.border?.alpha??r.borderAlpha)}`,t.style.borderRadius=`calc(${i.height} * ${e?.shape?.roundCorners??r.roundCorners})`},ee=({target:t,layoutParams:e,fallback:r})=>{let i=e.angle??r.angle;i=i&&i*-1,t.style.transform=`rotate(${i}rad)`};var H=class{constructor(e){this.control=e;this.container=null;this.controlElement=null;this.clickListener=null}createContainerElement(e){let r=document.createElement("div");r.classList.add(`${M}-control-container-${this.control.id}`),e(r,this.control.layoutParams);let i=(this.control.layoutParams.innerSizesDependOn??O.innerSizesDependOn)==="self"?{height:r.style.height,width:r.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"};this.container={element:r,dimensions:i}}createClickListener(e){return r=>{r.stopPropagation(),e()}}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(r=>{switch(r.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:r.action,controlId:this.control.id,controlType:this.control.type})),this.container?.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){this.container?.element&&this.clickListener&&this.container?.element.removeEventListener("click",this.clickListener)}};var Ot="int",z=(i=>(i.AREA=`${Ot}_area`,i.TEXT=`${Ot}_text`,i.BUTTON=`${Ot}_bttn`,i))(z||{});var He=t=>{if(t.type.trim().toLowerCase()==="area")return new kt(t)},kt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.AREA),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",Be({target:i,props:this.control.props,fallback:{...O,backgroundColor:"transparent"}}),De({target:i,props:this.control.props,fallback:{...O,borderAlpha:0},dependsOn:this.container.dimensions}),ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var Ge=()=>{let t=document.createElement("span");return t.style.display="inline-block",t.style.whiteSpace="pre",t.style.overflow="hidden",t.style.textOverflow="ellipsis",t.style.maxWidth="100%",t.style.maxHeight="100%",t};var Ue=t=>{if(t.type.trim().toLowerCase()==="button")return new Mt(t)},Mt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.BUTTON),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",i.style.fontFamily="inherit",ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),Be({target:i,props:this.control.props,fallback:O}),De({target:i,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),qe({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=Ge();Ne({target:n,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var zr=t=>{if(t.type.trim().toLowerCase()==="text")return new Vt(t)},Vt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("div");i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.TEXT),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.fontFamily="inherit",ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),qe({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=Ge();Ne({target:n,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){}enable(){}getElement(){return this.controlElement}};var Lt=class{constructor(e){this.layout=e}},ze=class extends Lt{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,r){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${r.width})`,e.style.height=`calc(var(--interactive-content-height) * ${r.height})`,e.style.left=`calc(var(--interactive-content-width) * ${r.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${r.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}};var te=class{constructor(e){this.container=e,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,r){this.factories.set(e.trim().toLowerCase(),r),this.setControls()}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){return this.container.controls?.reduce((e,r)=>{let i=r.type.trim().toLowerCase(),n=this.factories.get(i);if(n){let s=n(r);if(s)return[...e,s]}return[...e]},[])||[]}};var We=(t,e)=>{if(t.type.trim().toLowerCase()==="choice")return new jt(t,e)},jt=class extends te{constructor(e,r){super(e),this.rootElement=r??Fe(),this.layout=new ze(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.addControlFactory("button",Ue),this.addControlFactory("text",zr),this.addControlFactory("area",He)}createView(e){let r=document.createElement("div");return r.classList.add(`${M}-${this.container.id}`),this.layout.setContainerLayout(r),this.controls.forEach(i=>{i.createView({parentElement:r,layoutCallback:this.layout.setControlLayout}),i.setEvents(e)}),this.rootElement.append(r),this.isRemoved=!1,r}hide(){let e=this.getElement();e&&(e.style.visibility="hidden")}show(){let e=this.getElement();e&&(e.style.visibility="visible")}enable(){let e=this.getElement();e&&(this.controls.forEach(r=>r.enable()),e.style.opacity="1",this.isDisabled=!1)}disable(){let e=this.getElement();e&&(this.controls.forEach(r=>r.disable()),e.style.opacity=`${Dr}`,this.isDisabled=!0)}removeView(){this.isRemoved||(this.controls.forEach(e=>e.removeListeners()),this.getElement()?.remove(),this.isRemoved=!0)}getElement(){return this.rootElement.querySelector(`.${M}-${this.container.id}`)}};var Ja=D(hr(),1);import{clientChecker as Ip,combine as xp,InterfaceLanguage as Tp,Observable as Ya,once as Sp,Subject as U,Subscription as Za,ValueSubject as V}from"@vkontakte/videoplayer-shared";import{InteractiveInterfaceClick as _e}from"@vkontakte/videoplayer-statistics";import{loadVKLangPack as Tc}from"@vkontakte/videoplayer-shared";function Ie(t,e){let r;return(...i)=>{clearTimeout(r),r=setTimeout(()=>t(...i),e)}}var K=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`,xe=t=>K(t,"Object"),it=t=>K(t,"String"),nt=t=>K(t,"Array"),st=t=>K(t,"Number"),Yn=t=>K(t,"Function");var dr=t=>st(t)&&!isNaN(t);var Q=t=>xe(t)&&Object.keys(t).length===0,fr=t=>nt(t)&&!t.length;var Te=(t,e)=>it(t)&&(e?t.trim():t).length;var Zn="video_interactive",Xn="videoint";var Jn=250,Se=class{constructor(e){this.handleZoomChange=Ie(e=>{this.lastZoomInfo=e},Jn);this.onResize=e=>{if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let r=this.getNextPoint();r&&this.ngEditor?.zoomTo(r),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{if(this.manifest){if(this.isHidden||this.hide(),!e?.id){this.onError?.("Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),this.ngEditor?.selectChapter(e.id),this.ngEditor?.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,r=[])=>{if(this.isReady=!1,!st(e.graph.edit.chapters[0].x)){this.onError?.("Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(r),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(r)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:r,onError:i,lang:n,visitedChapters:s=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(s),this.onOpenPreviewClick=r,this.onError=i,this.lang=n??"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=Sc(e),this.resizeObserver=new ResizeObserver(Ie(this.onResize,Jn)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),this.ngEditor?.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){this.ngEditor?.updateVideosInfo(e)}async show(){this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&this.ngEditor?.focusChapter(this.currentChapterId),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await Tc(this.lang,Zn,Xn)}catch{console.log("Unable to load graph language pack")}let{GraphEditor:r}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new r(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId&&this.ngEditor.selectChapter(this.currentChapterId),this.ngEditor.on("control",({name:i,...n})=>{i==="openPreview"&&"chapterId"in n&&this.onOpenPreviewClick?.(n.chapterId)}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){this.hide(),this.manifest=null,this.resizeObserver.disconnect(),this.ngEditor?.setVisitedChapters([]),this.onOpenPreviewClick=void 0,this.ngEditor?.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function Sc(t){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",t.append(e),e}var we=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(r=>r.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let r=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let s of this._containers){let l=s.startTime-e;if(l<=n&&(s.endTime&&n<=s.endTime||s.endTime===null)){i=!0;break}n<l&&(r=r===-1?l:Math.min(r,l))}return!i&&r!==-1?r:null}}};import{isSupportedManifest as ot,ContainerTypes as Gd,ControlTypes as lt,EventActionTypes as T,EventTypes as Ud,migrateManifestToLatestVersion as rs,compareVersions as zd}from"@interactiveplatform/movika-manifest";var es={metadata:"Object",chapters:"Array"},ts=t=>{if(!xe(t))return!1;for(let e in es)if(!t[e]||!K(t[e],es[e]))return!1;return ot(t.metadata.version)},at=t=>t.type===lt.Text,jd=t=>t.type===lt.Button,_d=t=>t.type===lt.Area,$d={Choice:"Choice",TextInput:"TextInput"},Fd={Button:"Button",Area:"Area",Text:"Text"},qd={onClick:"onClick",onSuspense:"onSuspense"},Nd={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var P=class{constructor(e,r,...i){this.severity=e;this.category=r;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var ct=class{constructor(){this.listeners={}}addListener(e,r){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(r),this}on(e,r){return this.addListener(e,r)}once(e,r){this.listeners[e]=this.listeners[e]||[];let i=()=>{r(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,r){return this.removeListener(e,r)}reset(){this.listeners={}}removeListener(e,r){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===r){i.splice(n,1);break}return this}emit(e,...r){let i=this.listeners[e];return i?(i.forEach(n=>{n(...r)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var ut=class{constructor(e){this.fns=[];this.addFn=(e,r=!1)=>{Yn(e)&&(this.fns.push(e),r&&this.updateFn())};this.removeFn=(e,r=!1)=>{this.fns=this.fns.filter(i=>i!==e),r&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};import{ValueSubject as Mc}from"@vkontakte/videoplayer-shared";var pt=class{constructor(e){this.loaders={chapterLoaders:e?.chapterLoaders??[],manifestLoaders:e?.manifestLoaders??[]}}async exec(e,r){return wc(...this.loaders[e])(r)}};function wc(...t){return async function(r){let i=[...t];for(;i.length>0;)r=await i.shift()(r);return r}}function Ae(t,e,r){return t?{...t,[e]:t[e]?[r,...t[e]]:[r]}:{[e]:[r]}}function ht({actions:t,errors:e,chapterId:r,...i}){if(r){let n=t.getManifest(),s=t.getChapter(n.chapters,r);if(s){let l=t.getMedia(n.media,s.videoId),a=t.getGraph(n.graph,s.id);return l?{...i,actions:t,errors:e,result:{chapter:s,media:l,graph:a}}:{...i,errors:Ae(e,ht.name,"Could not find media"),actions:t}}}return{...i,errors:Ae(e,ht.name,"Could not find chapter"),actions:t}}var dt=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,r,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:r,options:i})}removeEventListener(e,r){if(!(e in this.listeners))return;let i=this.listeners[e];for(let n=0,s=i.length;n<s;n++)if(i[n].callback===r){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,s=i.length;n<s;n++){let l=i[n];try{l.callback.call(this,e)}catch(a){Promise.resolve().then(()=>{throw a})}l.options&&l.options.once&&this.removeEventListener(e.type,l.callback)}return!e.defaultPrevented}},oe=class extends dt{constructor(){super(),this.listeners||dt.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)}},Re=class{constructor(){Object.defineProperty(this,"signal",{value:new oe,writable:!0,configurable:!0})}abort(e){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={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(r)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Re.prototype[Symbol.toStringTag]="AbortController",oe.prototype[Symbol.toStringTag]="AbortSignal");function ft(t){return t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof t.Request=="function"&&!t.Request.prototype.hasOwnProperty("signal")||!t.AbortController}function mr(t){typeof t=="function"&&(t={fetch:t});let{fetch:e,Request:r=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=t;if(!ft({fetch:e,Request:r,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:s};let s=r;(s&&!s.prototype.hasOwnProperty("signal")||n)&&(s=function(u,m){let y;m&&m.signal&&(y=m.signal,delete m.signal);let f=new r(u,m);return y&&Object.defineProperty(f,"signal",{writable:!1,enumerable:!1,configurable:!0,value:y}),f},s.prototype=r.prototype);let l=e;return{fetch:(o,u)=>{let m=s&&s.prototype.isPrototypeOf(o)?o.signal:u?u.signal:void 0;if(m){let y;try{y=new DOMException("Aborted","AbortError")}catch{y=new Error("Aborted"),y.name="AbortError"}if(m.aborted)return Promise.reject(y);let f=new Promise((b,S)=>{m.addEventListener("abort",()=>S(y),{once:!0})});return u&&u.signal&&delete u.signal,Promise.race([f,l(o,u)])}return l(o,u)},Request:s}}var Pe=ft({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),is=Pe?mr({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,yr=Pe?is.fetch:window.fetch,pf=Pe?is.Request:window.Request,hf=Pe?Re:window.AbortController,df=Pe?oe:window.AbortSignal;var vr=(t="",e="")=>{let r=t.split("."),i=e.split("."),n=0;for(let s=0;s<Math.max(r.length,i.length)&&!n;s++)r[s]>i[s]?n=1:r[s]<i[s]?n=-1:n=0;return n};var Ac=async t=>{try{let e={},r;if(it(t)){r=new URL(t).href;let n=await yr(r);if(!n.ok)return{};e=await n.json()}else if(xe(t))e=t;else return{};if(!ts(e))return{};let i=e.metadata.media;if(it(i)&&!("media"in e))try{let n;r?n=new URL(i,r).href:(n=new URL(i).href,r=n);let s=await yr(n);if(!s.ok)throw new Error;e.metadata.media=await s.json()}catch{return Oc(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:r}}catch{return{}}};async function ns(t){let{manifest:e,manifestURL:r}=await Ac(t);if(!e)throw new Error("Failed on fetch");let i=rs(e);return i.media=Rc(i.media,r),delete i.metadata.media,i}function mt(t,e){if(e)return t.find(r=>r.id===e)}function gr(t,e){return t.edit?.chapters?t.edit.chapters.find(r=>r.id===e):t.view?.chapters?t.view.chapters.find(r=>r.id===e):void 0}function br(t,e){return t.videos.find(r=>r.id===e)}function Rc(t,e){return{...t,videos:t.videos.map(r=>({...r,variants:r.variants.map(i=>{let n="url"in i?i.url:"",s=Pc(n,e);return{...i,url:s||n}})}))}}function Pc(t="",e){try{return new URL(t,e).href}catch{return""}}function Oc(t){return vr(t,"3.2.0")>=0}var yt=t=>nt(t)&&!fr(t),N=t=>t.order==="end",vt=t=>nt(t.containers)&&!fr(t.containers)&&N(t),ss=(t,e)=>{let r=t*1e3;return yt(e.controls)&&r<(e.startTime??0)},Cr=(t,e)=>{let r=t*1e3;return yt(e.controls)&&r>=(e.startTime??0)&&r<=(e.endTime??1/0)};var Y=(t=[])=>t.some(e=>e.action.type==="expect"),Er=(t=[])=>t.find(e=>e.action.type==="expect"),kc=t=>t?.length===1,le=t=>kc(t)&&at(t[0]);function as(t,...e){return r=>typeof e[0]=="object"&&typeof r=="object"?t({...e[0],...r}):t(...e,...r)}var os=(t,e)=>Y(t.events)?!1:e.some(({container:r})=>r.container.id!==t.id&&Y(r.container.events)&&r.container.endTime===t.endTime&&!r.isRemoved);var ce=class extends pt{constructor(r,i){super(r);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new Mc(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(r){this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:Ae},result:null,errors:null,source:r});return i.errors&&this.errorHandler(i.errors),this.manifest=await ns(i.result??r),this}async setInitial(){return this.setNext()}async setNext(r=this.manifest?.metadata.initChapterId){if(!r)return this;this.prevChapter$.next(this.chapter);let i=await this.exec("chapterLoaders",ht({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:gr,getChapter:mt,getMedia:br,getByBranches:this.getByBranches.bind(this),addErrorMessage:Ae},result:null,errors:null,chapterId:r}));return i.errors&&this.errorHandler(i.errors),this.chapter=i.result.chapter,this.media=i.result.media,this.graph=i.result.graph,this}errorHandler(r){this.onError(r),console.error("Something went wrong with loaders",{errors:r})}getInitial(){return this.getByChapterId(this.manifest?.metadata.initChapterId)||null}getByChapterId(r=this.manifest?.metadata.initChapterId){if(!r||!this.manifest)return null;let i=mt(this.manifest.chapters,r);if(i){let n=br(this.manifest.media,i.videoId),s=gr(this.manifest.graph,i.id);if(n)return{chapter:i,media:n,graph:s}}return null}getBranches(r=this.chapter?.id){if(r===this.chapter?.id)return this.getByBranches(this.chapter?.branches);{let i=mt(this.manifest?.chapters||[],r);return this.getByBranches(i?.branches)}}getByBranches(r=[]){return r.reduce((i,n)=>{let s=this.getByChapterId(n.chapterId);return s&&i.push(s),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){return this.chapter?.id===this.manifest?.metadata.initChapterId}isEndChapter(){return this.chapter?N(this.chapter):!1}};var Qs=D(gt(),1);import{Player as Cu}from"@vkontakte/videoplayer-core";import{Subscription as Ar,Tracer as Eu,ValueSubject as Iu}from"@vkontakte/videoplayer-shared";var Bs=t=>{let e=t.variants.find(r=>r.payload?.type==="vk");if(e&&e.payload){let[r,i]=e.payload.id.split("_");return[r,i]}return[]};var Ds=D(gt(),1);function Sr(){let t=new Map;function e({listId:s=Math.random().toString(),itemId:l=Math.random().toString(),...a}){let o=t.get(s),u={...a};return o?o[l]=u:t.set(s,{[l]:u}),{listId:s,itemId:l,...a}}function r(s){s.player.destroy(),s.container.remove(),s.subscription.unsubscribe(),s.statistics?.oneStat.destroy(),s.statistics?.statSubscription.unsubscribe()}function i(s,l){let a=t.get(s);if(!a)throw Error("Can't remove. Not find.");if(l){let o=a[l];o&&r(o),delete a[l],Object.keys(a).length||t.delete(s)}else{for(let o of(0,Ds.default)(a))r(o);t.delete(s)}}function n(){for(let s of t)i(s[0])}return{createPlayer:e,removePlayer:i,map:t,removeAll:n}}var ue=D(bt(),1);function wr(t,e=[]){let r={},i,n=!e.length;for(let s of t.variants)if(!i&&"cover"in s&&(i=s.cover),"url"in s)switch(s.type.toLowerCase()){case"mp4":(n||(0,ue.default)(e,"mp4"))&&(r.MPEG={...r.MPEG,[s.standard??"Invariant quality"]:s.url});break;case"mpeg":(n||(0,ue.default)(e,"mpeg"))&&(r.MPEG={...r.MPEG,[s.standard??"Invariant quality"]:s.url});break;case"hls":(n||(0,ue.default)(e,"hls"))&&(r={...r,HLS:{type:"url",url:s.url}});break;case"dash":(n||(0,ue.default)(e,"dash"))&&(r={...r,DASH_SEP:{compatibilityMode:!0,type:"url",url:s.url}});break;default:break}return{sources:r,thumbUrl:i,title:t.title??""}}var Oe=(t,e)=>{let r=t.info.currentQuality$.getValue(),i=t.info.availableQualities$.getValue();r!==e&&(0,ue.default)(i,e)&&(t.setQuality(e),t.setAutoQuality(!1))};var xu=2;function Rr(t){let e=Sr(),r=new Ar,i={},n=null,s=!1,l,a=new Iu(null);t&&o(t);function o(E){n=E}function u(E,h,p){if(!n)throw Error("need to set interactive controller");if(!n.options)return;let C=(e.map.get(E)??{})[h];if(C){i={chapterId:p,listId:E,itemId:h,...C};let v=i.player;i.subscription.add(v.info.currentQuality$.subscribe(A=>{let w=v.info.position$.getValue(),k=v.info.isAutoQualityEnabled$.getValue();if(!(!A||!w||k))for(let I of e.map)(0,Qs.default)(I[1]).forEach(({player:R})=>{Oe(R,A)})})).add(v.events.started$.subscribe(()=>{m(h)})),C.container.remove(),n.setPlayer(C.player),s||(n.init(),s=!0),a.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function m(E){if(!n)throw Error("need to set interactive controller");if(Q(i)||E!==i.itemId)return;let h=n.getChapterBranches(),p=new Set;for(let d of h)p.has(d.media.id)||(await f({media:d.media,chapterId:d.chapter.id,setAsActive:!1,title:d.chapter.label}),p.add(d.media.id))}async function y({chapter:{id:E},manifestVideo:h}){if(Q(i)||!n)return;let p=i.player.info.muted$.getValue(),d=i.player.info.currentQuality$.getValue(),C=i.player.info.isAutoQualityEnabled$.getValue(),v=i.player.info.volume$.getValue(),A=i.player.info.currentPlaybackRate$.getValue(),w=!C,k=!1;for(let I of e.map)if(I[0]===h.id&&!n.state.isReplay$.getValue()){let R=Object.keys(I[1]);for(let L of R)L===i.itemId?(R.length<xu||(k=!0),e.removePlayer(I[0],L)):(k=!0,u(I[0],L,E),w?Oe(i.player,d):i.player.setAutoQuality(!0),i.player.setVolume(v),i.player.setMuted(p),i.player.setPlaybackRate(A))}else e.removePlayer(I[0]);k||(await f({media:h,chapterId:E,setAsActive:!0,playbackRate:A}),w?Oe(i.player,d):i.player.setAutoQuality(!0),i.player.setVolume(v),i.player.setMuted(p))}async function f({media:E,chapterId:h,prefetch:p=!0,setAsActive:d=!0,autoplay:C=!1,preferredExt:v,title:A,playbackRate:w}){let k=Math.random().toString(),I=document.createElement("div");l.append(I);let R;if(n?.options?.vkVideoLoader){let $e=Bs(E);$e.length&&(R=await n.options.vkVideoLoader(...$e))}let L=n?.options?.coreConfig||void 0,Z={...L,configName:[...L?.configName??[],"interactive"]},X={container:I,...R?.videos?.[0]||{sources:wr(E,v).sources},title:A,failoverHosts:R?.failoverHosts||[]},G=new Cu(Z,Eu.createRootTracer());G.initVideo(X);let $r=null;if(R?.videos&&n?.options.createOneStat){let $e=R.videos[0],Rt=n.options.createOneStat($e),qr=new Ar;Rt&&(qr.add(Rt.attachTo(G)),$r={oneStat:Rt,statSubscription:qr})}let Fr=new Ar,eo=i?.player?.info.isAutoQualityEnabled$.getValue();Fr.add(G.events.canplay$.subscribe(function(){eo||Oe(G,i.player.info.currentQuality$.getValue()),w&&G.setPlaybackRate(w)}));let J=e.createPlayer({listId:E.id,itemId:k,player:G,container:I,sources:wr(E,v).sources,config:X,subscription:Fr,statistics:$r});return d&&u(E.id,J.itemId,h),C&&J.player.play(),p&&!C&&J.player.prepare(),{player:J.player,config:J.config,statistics:J.statistics}}function b(){S(),n=null,l.remove()}function S(){r.unsubscribe(),e.removeAll(),i={},s=!1}async function B(){if(!n)throw Error("need to set interactive controller");S(),l=document.createElement("div");let{media:E,chapter:h}=n.getCurrentChapter();E&&h?(r.add(n.events.chapterChanged$.subscribe(y)),await f({media:E,chapterId:h.id,title:h.label})):console.error("not found")}return{...e,init:B,setInteractiveController:o,createPlayer:f,removeAll:b,getActivePlayer:function(){return i},activePlayerChanged:a}}var g={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},ke={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},x={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Ys=D(bt(),1);import{Subscription as Tu}from"@vkontakte/videoplayer-shared";var Ct=class{constructor({player:e,container:r,branches:i,selectBranches:n,interactiveEvents:s,globalEvents:l,globalEventEmitter:a,ignoreContainerEvent:o,permanentTextControls:u,disabledControls$:m,onRemove:y}){this.hide=()=>{setTimeout(()=>{this.gameState!==4&&(Y(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&this.container.hide?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})))})};this.show=()=>{if(this.gameState===2&&!this.isSelectedControlEvent)if(this.container.getElement())this.container.show?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!0,isFirst:!1});else{let r=as(this.selectBranches.onControlEvent,{isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})},onEvent:(i,n)=>{this.isSelectedControlEvent=!0,i!==!1&&(this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),n(),this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1}))},isEOV:()=>this.gameState===4});this.container.createView(r),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!0,isFirst:!0}),this.disabledControls$.getValue()&&this.container.disable?.()}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{let e=this.player.experimental.element$.getValue(),i=e instanceof HTMLVideoElement?e.readyState:void 0,n=[6,5];if(!i||(0,Ys.default)(n,this.gameState)&&!this.isPermanentText)return;let s=this.player.getExactTime();if(ss(s,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(Cr(s,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let u=this.gameState;this.gameState=3,u===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let l=Cr(s,this.container.container),a=this.container.container.startTime?[this.container.container.startTime,this.container.container.endTime??1/0]:[],o={subjectId:this.container.container.id,subjectName:"container",range:a,currentTime:s,isInteractiveTime:l};this.globalEventEmitter.emit(g.eachTick,o),this.globalEvents.eachTick$.next(o)};this.container=r,this.branches=i,this.selectBranches=n,this.subscription=new Tu,this.player=e,this.interactiveEvents=s,this.ignoreContainerEvent=o,this.isPermanentText=u&&le(r.container.controls),this.disabledControls$=m,this.onRemove=y,this.globalEventEmitter=a,this.gameState=0,this.globalEvents=l,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{e?this.container.disable?.():this.container.enable?.()}))}selectContainerEvent(e=!1){this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:this.container.container.endTime,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec(this.container.container.endTime??1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=Y(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){this.container.hide?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}removeView(){this.container.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.containerRemoved,visibility:!1}),this.gameState=5,this.onRemove?.()}destroy(){this.reset(),this.removeView(),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:this.container.container.endTime??1/0,id:this.container.container.id})}};var Zs=(t=[])=>t.reduce((e,r,i)=>{let n=(r?.controls??[]).filter(s=>!at(s));if(yt(n)){let s=[r.startTime??0,r.endTime??1/0],l=r.id;if(!i)e.push({subjects:[l],range:s});else{let a=[],o=-1/0,u=1/0,m=[],y=[];for(let f=0;f<e.length;f++){let b=e[f];if(y.push(...b.subjects),b.range[0]<u&&(u=b.range[0]),b.range[1]>o&&(o=b.range[1]),s[0]>=b.range[0]&&s[1]<=b.range[1])return e[f].subjects.push(l),e;s[0]<b.range[0]&&s[1]>b.range[0]&&(a.push(f),m=m.concat(b.subjects)),s[0]>=b.range[0]&&s[0]<=b.range[1]&&(a.push(f),m=m.concat(b.subjects),s[0]=b.range[0]),s[1]>=b.range[0]&&s[1]<=b.range[1]&&(a.push(f),m=m.concat(b.subjects),s[1]=b.range[1])}if(y.push(l),s[0]<=u&&s[1]>=o)return[{subjects:y,range:s}];a.length&&a.reverse().forEach(f=>{e.splice(f,1)}),e.push({subjects:m.concat([l]),range:s})}}return e},[]).sort((e,r)=>e.range[0]-r.range[0]);var Ma=D(bt(),1),Mr=D(gt(),1),Va=D(Oa(),1);function ka(){let t={};function e(){for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&delete t[a]}function r(a){let o={};for(let u in t)+u<=a&&(o[u]=t[u]);return o}function i(a){let o={};for(let u in t)+u>=a&&(o[u]=t[u]);return o}function n({timestamp:a,priority:o,initiator:u}){if(dr(a)){let m=t[a]??null;if(m&&o&&Te(o,!0)){let y={},f=m[o];return f&&(y={...y,...f}),y=Q(y)?null:y,y&&Te(u,!0)?y[u]??null:y}return m}return null}function s({timestamp:a,priority:o,initiator:u}){if(dr(a))if(t[a]){if(o&&Te(o,!0))if(t[a][o]){if(u&&Te(u,!0))if(t[a][o][u]){if(delete t[a][o][u],!Q(t[a][o]))return!0}else return!1;if(delete t[a][o],!Q(t[a]))return!0}else return!1;return delete t[a]}else return!1;return!1}function l({timestamp:a,priority:o,initiator:u,...m}){t[a]?.[o]?.[u]?t[a][o][u].push({...m}):t[a]?.[o]?t[a][o]={...t[a][o],[u]:[{...m}]}:t[a]?t[a]={...t[a],[o]:{[u]:[{...m}]}}:t[a]={[o]:{[u]:[{...m}]}}}return{map:t,remove:s,add:l,removeAll:e,get:n,getLte:r,getGte:i}}var hp=[T.expect,T.setNextBranch],dp=1/0;function La(t){let e=t,r,i=fp(),n=ka(),s,l=()=>{f(),h()},a=p=>{n.add.call(void 0,p),S()},o=(p=[])=>{for(let d of p)if(d.action(),(0,Ma.default)(hp,d.actionType))break},u=(p=1/0)=>{let d=It(n.get({timestamp:p,priority:"control"})??{}),C=It(n.get({timestamp:p,priority:"container"})??{}),v=It(n.get({timestamp:p,priority:"chapter"})??{});return[...d,...C,...v]},m=p=>{i.isReady(p)&&o(u(p))},y=()=>{o([...It(n.get({timestamp:1/0,priority:"chapter"})??{})])},f=()=>{r&&(s?.unsubscribe(),r=void 0)},b=p=>{},S=()=>{r||(r=()=>setTimeout(()=>{m(1/0)}),s=e.events.ended$.subscribe(r))},B=p=>{f(),e=p},E=p=>{p.priority==="container"&&i.resetCalled(p.timestamp),n.remove(p)},h=()=>{i.release(),n.removeAll()};return{setPlayer:B,add:a,remove:E,exec:m,execEndOfVideo:y,listen:S,unlisten:f,release:l,containersEventsCallState:i,getPreparedToExecActions:u}}function fp(){let t=new Map;return{setCalled:({timestamp:l,id:a})=>{let o=t.get(l);o&&o[a]!==void 0&&(o[a]=!0)},setData:(l=[])=>{for(let a of l){let o=a.endTime??dp,u=t.get(o)??{};t.set(o,{...u,[a.id]:!1})}},resetCalled:l=>{let a=t.get(l);if(a)for(let o in a)a[o]=!1},isReady:l=>{let a=t.get(l);return a?!(0,Mr.default)(a).some(o=>!o):!0},release:()=>t.clear()}}function It(t){return(0,Va.default)((0,Mr.default)(t)).sort(e=>e.actionType===T.expect?-1:1)}var ja={videoContentHeight:0,videoContentWidth:0},_a=(t,e)=>{let{height:r,width:i}=e.info.intrinsicVideoSize$.getValue()||{};if(!(r&&i))return ja;let{clientHeight:n,clientWidth:s}=e.experimental.element$.getValue()||{};if(!(n&&s))return ja;let l=r/i,a=n/s,o,u;return a>l?(u=s,o=s*l):a<l?(u=n/l,o=n):(u=s,o=n),{videoContentWidth:u,videoContentHeight:o}};var mp=250;function $a(t){let e=()=>{},r=new ResizeObserver(a=>{s(a),e=s.bind(null,a)});function i(a){let{parentElement:o,player:u}=t();if(o&&u){let{videoContentWidth:m,videoContentHeight:y}=_a(o,u);o.style.setProperty("--interactive-content-width",`${m}px`),o.style.setProperty("--interactive-content-height",`${y}px`),o.style.setProperty("--interactive-width",`${a[0].contentRect.width}px`),o.style.setProperty("--interactive-height",`${a[0].contentRect.height}px`)}}function n(){let{parentElement:a}=t();a.removeAttribute("style")}let s=Ie(a=>{let{fns:o=[]}=t();i(a);for(let u of o)u()},mp);function l(){e=void 0,r.disconnect(),n()}return{resizeObserver:r,calc:()=>{e?.()},release:l}}var Ve=class{constructor(){this.map={}}push(e,r){e in this.map?this.map[e].push(r):this.map[e]=[r]}get(e){let r=this.map[e];return r?r.slice():null}getAll(){let e=[];for(let r in this.map)e.concat(this.map[r]);return e}remove(e,r){e in this.map&&(this.map[e]=this.map[e].filter(i=>i!==r),this.map[e].length===0&&delete this.map[e])}clear(){this.map={}}keys(){return Object.keys(this.map)}size(){return this.keys().length}};var yp=t=>Math.floor(Math.random()*t),qa=t=>{let e=t.length,r=1/0,i=null;for(;e--;){let n=t[e],s=n.weight??1;s<r&&(r=s,i=n)}return i},Na=t=>{let e=t.length,r=-1/0,i=null;for(;e--;){let n=t[e],s=n.weight??0;s>r&&(r=s,i=n)}return i};var Ba=t=>{let e=t.length,r=yp(e);return t[r]},Fa=1,Da=t=>{let e=0;for(let i=0;i<t.length;++i)e+=t[i].weight??Fa;let r=Math.random()*e;e=0;for(let i=0;i<t.length-1;++i)if(e+=t[i].weight??Fa,e>=r)return t[i];return t[t.length-1]};var Ha={shouldOpenNow:!0,isDetachContainer:!0};var Vr=(t,e=!1)=>({...t,args:e?{...t.args,...Ha}:{...Ha,...t.args}}),za=({globalEventEmitter:t,player:e,interactiveEvents:r,removeControllers:i})=>{let n={isExpect:!1},s=()=>{n.isExpect&&(n.isExpect=!1)},l=({action:h,controlType:p,controlId:d,containerId:C,branches:v=[],onEvent:A,isEOV:w=()=>!1,isDisabled:k=()=>!1})=>{let I=Vr(h,w()),R={timestamp:1/0,priority:"control",initiator:d,actionType:I.type},L=k(),Z=t.emit.bind(t,g.interactives,{subjectId:d,subjectType:p,subjectName:"control",type:L?x.actionChoiceCanceled:x.actionChoice,actionType:h.type,payload:{containerId:C,...I.args}});if(L){Z();return}switch(I.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let X=v.find(G=>G.id===I.args.branchId);if(!X)return;A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?S({subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{chapterId:X.chapterId,autoSelect:!1}}):(r.add({...R,action:S.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{chapterId:X.chapterId,autoSelect:!1}})}),i?.());return}case T.continuePlayback.trim().toLowerCase():{A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?b({subjectId:d,subjectName:"control",subjectType:p,action:h}):r.add({...R,action:b.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:h})});return}case T.openURI.trim().toLowerCase():{A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?E({subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{URI:h.args.uri}}):(r.add({...R,action:E.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{URI:h.args.uri}})}),i?.());return}default:console.error("Unexpected control event"),t.emit(g.errors,new P(1,1,{message:"Unexpected control event"}));return}},a=({action:h,container:{id:p,endTime:d},branches:C=[],isEOV:v=!1,autoSelected:A=!1})=>{let w=Vr(h,v),k={timestamp:!w.args.shouldOpenNow||v?1/0:d??1/0,priority:"container",initiator:p,actionType:w.type},I=t.emit.bind(t,g.interactives,{subjectId:p,subjectName:"container",type:x.actionChoice,actionType:w.type,payload:w.args});switch(w.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let R=C.find(L=>L.id===w.args.branchId);if(!R)return;I(),r.add({...k,action:S.bind(null,{subjectId:p,subjectName:"container",action:w,payload:{chapterId:R.chapterId,autoSelect:A}})}),i?.();return}case T.setMaxWeightBranch.trim().toLowerCase():return;case T.setMinWeightBranch.trim().toLowerCase():return;case T.setRandomBranch.trim().toLowerCase():return;case T.setWeightlessRandomBranch.trim().toLowerCase():return;case T.continuePlayback.trim().toLowerCase():{I(),r.add({...k,action:b.bind(null,{subjectId:p,subjectName:"container",action:w})});return}case T.openURI.trim().toLowerCase():{I(),r.add({...k,action:E.bind(null,{subjectId:p,subjectName:"container",action:w,payload:{URI:h.args.uri}})}),i?.();return}default:console.error("Unexpected container event"),t.emit(g.errors,new P(1,1,{message:"Unexpected container event"}));return}};function o({container:h,branches:p,isEOV:d=!1}){let C=Er(h.events);if(C){let v=Vr(C.action,d);t.emit(g.interactives,{subjectId:h.id,subjectName:"container",type:x.actionChoice,actionType:v.type,payload:v.args}),r.add({timestamp:d?1/0:h.endTime??1/0,priority:"container",initiator:h.id,actionType:T.expect,action:y.bind(null,{subjectId:h.id,subjectName:"container"})}),n.isExpect=!0}else for(let v of h.events??[])a({action:v.action,container:h,branches:p,isEOV:d})}let u=({chapterId:h,action:p,branches:d=[]})=>{let C=t.emit.bind(t,g.interactives,{subjectId:h,subjectName:"chapter",type:x.actionChoice,actionType:p.type,payload:p.args});switch(p.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let v=d.find(A=>A.id===p.args.branchId);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setWeightlessRandomBranch.trim().toLowerCase():{let v=Ba(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setRandomBranch.trim().toLowerCase():{let v=Da(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setMaxWeightBranch.trim().toLowerCase():{let v=Na(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setMinWeightBranch.trim().toLowerCase():{let v=qa(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.continuePlayback.trim().toLowerCase():return C(),b.bind(null,{subjectId:h,subjectName:"chapter",action:p});case T.openURI.trim().toLowerCase():return C(),E.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{URI:p.args.uri}});default:console.error("Unexpected chapter event"),t.emit(g.errors,new P(1,1,{message:"Unexpected chapter event"}));return}};function m(h){let p=Er(h.events);if(p){if(N(h))return;t.emit(g.interactives,{subjectId:h.id,subjectName:"chapter",type:x.actionChoice,actionType:p.action.type,payload:p.action.args}),r.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:T.expect,action:y.bind(null,{subjectId:h.id,subjectName:"chapter"})})}else h.events?.forEach(d=>{let C=u({chapterId:h.id,action:d.action,branches:h.branches});C&&r.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:d.action.type,action:C})})}let y=({subjectId:h,subjectName:p})=>{e.pause(),t.emit(g.interactives,{subjectId:h,subjectName:p,type:x.actionExecution,actionType:T.expect})},f=({subjectId:h,subjectName:p})=>{e.info.isEnded$.getValue()?r.execEndOfVideo():e.play(),t.emit(g.interactives,{subjectId:h,subjectName:p,type:x.actionExecution,actionType:"after-expect"})},b=({subjectId:h,subjectName:p,subjectType:d,action:C})=>{t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type})},S=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{v.behaviour="change-chapter",t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type,payload:v})},B=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{v.behaviour="change-manifest",t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type,payload:v})},E=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{if(!v.URI)return;let A=window.open(v.URI,"_blank","noopener,noreferrer");A&&(A.opener=null),t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type})};return{onControlEvent:l,onContainerEvent:a,onChapterEvent:u,onExpectEvent:y,expectEventHandler:f,setManifestChapterEvents:m,setManifestContainerEvents:o,stopExpect:s,state:n}};var _r=D(hr(),1);import{Subscription as Ep,Subject as jr,ValueSubject as Le}from"@vkontakte/videoplayer-shared";var Lr=(t,e)=>{let r={};return t.map(i=>{if(!r[i]){let n=e.chapters.find(l=>l.id===i);if(!n)return null;let s=e.media.videos.find(l=>n.videoId===l.id);if(!s)return null;r[i]=Wa(s)}return r[i]}).filter(Boolean)},gp=t=>{for(let e of t.variants)if(bp(e)&&e.payload)return e.payload.id},bp=t=>!!(t.type==="custom"&&t.payload&&t.payload.type==="vk"),Wa=t=>{let e=gp(t);if(!e)return null;let r=e.split("_").pop();return r?parseInt(r,10):null},Cp=(t,e)=>{for(let r of t.media.videos)if(e===Wa(r)){for(let i of t.chapters)if(i.videoId===r.id)return i.id;return}},Ka=(t,e)=>t.reduce((r,i)=>{let n=Cp(e,i);return n?[...r,n]:r},[]);var je=class{constructor({globalEventEmitter:e,videoId:r,interactiveController:i,historyApi:n,settings:s}){this.state={history$:new Le([]),hasPrevChapter$:new Le(!1),prevChapter$:new Le(null),isInitialChapter$:new Le(!1),isGoBackLimited$:new Le(!1)};this.#r=null;this.#a=!1;this.#e=null;this.#u=null;this.events={inited$:new jr,destroyed$:new jr,error$:new jr};this.#i=null;this.#n=null;this.#t=null;this.#o=new Ep;this.#l=!1;this.#c=0;this.#i=r,this.#t=e,this.#n=i,this.#r=n,this.#s=s,this.state.history$&&this.#o&&this.#o?.add(this.state.history$.subscribe(l=>{this.state.prevChapter$.next((0,_r.default)(l,-2)||null),this.state.hasPrevChapter$.next(l.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===this.#e?.metadata?.initChapterId),this.state.isGoBackLimited$.next(this.#c===this.#s.maxLength-1)}))}#r;#s;#a;#e;#u;#i;#n;#t;#o;#l;#c;async setManifest(e){if(!this.#n||!this.#t)return;this.#e=e,await this.getProjectHistory();let r=this.getInitialChapterId();await this.#n.setChapter({chapterId:r,pushToHistory:!1}),this.#a||(this.#a=!0,this.events.inited$.next({initChapterId:r}))}get inited(){return this.#a}async updateHistory(e,r=!0){if(!this.#e)return;this.#l?(this.#l=!1,this.#c++):this.#c=0;let i=this.#e,n=e.length-this.#s.maxLength,s=n>0?e.slice(n):e,l=Lr(s,i);if(this.#u=l,this.state.history$.next(s),!(!r||!this.#r||!this.#i))try{await this.#r.save(this.#i,l)}catch{let o=new P(1,5,"Unable to save interactive history");this.events.error$.next(o),this.#t?.emit(g.errors,o)}}async goBack(){if(!this.state||!this.#n){let i=new P(1,5,"Unable to save interactive history");return this.events.error$.next(i),this.#t?.emit(g.errors,i)}this.#l=!0;let e=this.state.history$.getValue().slice(0,-1),r=e.pop();this.state.history$.next(e),await this.#n.setChapter({chapterId:r,playPrev:!0})}async getProjectHistory(){if(!this.#e||!this.#i)return;let e=this.#e,r=[this.getInitialVideoId()];if(this.#r)try{let n=await this.#r.get(this.#i);n.length&&(r=n)}catch{let s=new P(1,5,"Error while trying to fetch data");this.events.error$.next(s),this.#t?.emit(g.errors,s)}let i=Ka(r,e);this.state.history$.next(i)}getInitialChapterId(){let e=this.state.history$.getValue();return(0,_r.default)(e,-1)||this.#s.initChapterId||this.#e?.metadata.initChapterId}getInitialVideoId(){if(this.#e){let e=this.getInitialChapterId();return Lr([e],this.#e).pop()}return null}destroy(){this.#i=null,this.#r=null,this.#n=null,this.#o?.unsubscribe(),this.#o=null,this.#a=!1,this.#t?.emit(g.historyDestroyed),this.events.destroyed$.next(),this.#t=null}};var xt=class t{constructor(e,r,i,n){this.target=e,this.type=r,this.listener=i,this.options=t._convertOptions(e,n),this.target.addEventListener(r,i,this.options)}unlisten(){this.type&&this.listener&&this.options&&this.target?.removeEventListener(this.type,this.listener,this.options),this.target=null,this.type=null,this.listener=null,this.options=!1}static _convertOptions(e,r){if(r===void 0)return!1;if(typeof r=="boolean")return r;{let i=new Set(["passive","capture"]),n=Object.keys(r).filter(l=>!i.has(l));return n.length===0&&console.warn("Unsupported flag(s) to addEventListener: "+n.join(",")),t._doesSupportObject(e)?r:r.capture||!1}}static{this._supportsObject=void 0}static _doesSupportObject(e){let r=t._supportsObject;if(r===void 0){r=!1;try{let i={},n={get:()=>(r=!0,!1)};Object.defineProperty(i,"passive",n),Object.defineProperty(i,"capture",n);let s=()=>{};e.addEventListener("test",s,i),e.removeEventListener("test",s,i)}catch{r=!1}t._supportsObject=r}return r||!1}};var Tt=class{constructor(){this.bindingMap=new Ve}release(){this.removeAll(),this.bindingMap=null}listen(e,r,i,n){if(!this.bindingMap)return;let s=new xt(e,r,i,n);this.bindingMap.push(r,s)}listenOnce(e,r,i,n){let s=l=>{this.unlisten(e,r,s),i(l)};this.listen(e,r,s,n)}unlisten(e,r,i){if(!this.bindingMap)return;let n=this.bindingMap.get(r)||[];for(let s of n)s.target===e&&(i===s.listener||!i)&&(s.unlisten(),this.bindingMap.remove(r,s))}removeAll(){if(!this.bindingMap)return;let e=this.bindingMap.getAll();for(let r of e)r.unlisten();this.bindingMap.clear()}};var St=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){this.rootElement.getContext("2d")?.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){let e=this.rootElement.getContext("2d")?.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let r=e.data,i=r.length;for(let n=3;n<i;n+=40)if(r[n]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){this.canvasImgSrc&&this.rootElement.getContext("2d")?.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height)}async updateCanvasDimensions(e,r=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;r&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,r&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),r=new Image;return r.crossOrigin="anonymous",r.src=e,await r.decode(),r}restore(e){this.rootElement&&this.rootElement.getContext("2d")?.drawImage(e,0,0,this.rootElement.width,this.rootElement.height)}};var wt=class{constructor({parentElement:e,endOffsetMs:r=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let r=e??this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(r);if(this.isContainerTime(r))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
6
+ var to=Object.create;var Nr=Object.defineProperty;var ro=Object.getOwnPropertyDescriptor;var io=Object.getOwnPropertyNames;var no=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty;var c=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ao=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of io(e))!so.call(t,n)&&n!==r&&Nr(t,n,{get:()=>e[n],enumerable:!(i=ro(e,n))||i.enumerable});return t};var D=(t,e,r)=>(r=t!=null?to(no(t)):{},ao(e||!t||!t.__esModule?Nr(r,"default",{value:t,enumerable:!0}):r,t));var q=c((_t,Wr)=>{"use strict";var pe=function(t){return t&&t.Math===Math&&t};Wr.exports=pe(typeof globalThis=="object"&&globalThis)||pe(typeof window=="object"&&window)||pe(typeof self=="object"&&self)||pe(typeof global=="object"&&global)||pe(typeof _t=="object"&&_t)||function(){return this}()||Function("return this")()});var j=c((fh,Kr)=>{"use strict";Kr.exports=function(t){try{return!!t()}catch{return!0}}});var he=c((mh,Qr)=>{"use strict";var lo=j();Qr.exports=!lo(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")})});var ei=c((yh,Jr)=>{"use strict";var co=he(),Xr=Function.prototype,Yr=Xr.apply,Zr=Xr.call;Jr.exports=typeof Reflect=="object"&&Reflect.apply||(co?Zr.bind(Yr):function(){return Zr.apply(Yr,arguments)})});var $=c((vh,ii)=>{"use strict";var ti=he(),ri=Function.prototype,$t=ri.call,uo=ti&&ri.bind.bind($t,$t);ii.exports=ti?uo:function(t){return function(){return $t.apply(t,arguments)}}});var de=c((gh,si)=>{"use strict";var ni=$(),po=ni({}.toString),ho=ni("".slice);si.exports=function(t){return ho(po(t),8,-1)}});var Ft=c((bh,ai)=>{"use strict";var fo=de(),mo=$();ai.exports=function(t){if(fo(t)==="Function")return mo(t)}});var _=c((Ch,oi)=>{"use strict";var qt=typeof document=="object"&&document.all;oi.exports=typeof qt>"u"&&qt!==void 0?function(t){return typeof t=="function"||t===qt}:function(t){return typeof t=="function"}});var W=c((Eh,li)=>{"use strict";var yo=j();li.exports=!yo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Qe=c((Ih,ci)=>{"use strict";var vo=he(),Ke=Function.prototype.call;ci.exports=vo?Ke.bind(Ke):function(){return Ke.apply(Ke,arguments)}});var Nt=c(hi=>{"use strict";var ui={}.propertyIsEnumerable,pi=Object.getOwnPropertyDescriptor,go=pi&&!ui.call({1:2},1);hi.f=go?function(e){var r=pi(this,e);return!!r&&r.enumerable}:ui});var Bt=c((Th,di)=>{"use strict";di.exports=function(t,e){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:e}}});var mi=c((Sh,fi)=>{"use strict";var bo=$(),Co=j(),Eo=de(),Dt=Object,Io=bo("".split);fi.exports=Co(function(){return!Dt("z").propertyIsEnumerable(0)})?function(t){return Eo(t)==="String"?Io(t,""):Dt(t)}:Dt});var Ht=c((wh,yi)=>{"use strict";yi.exports=function(t){return t==null}});var Gt=c((Ah,vi)=>{"use strict";var xo=Ht(),To=TypeError;vi.exports=function(t){if(xo(t))throw new To("Can't call method on "+t);return t}});var fe=c((Rh,gi)=>{"use strict";var So=mi(),wo=Gt();gi.exports=function(t){return So(wo(t))}});var re=c((Ph,bi)=>{"use strict";var Ao=_();bi.exports=function(t){return typeof t=="object"?t!==null:Ao(t)}});var Ye=c((Oh,Ci)=>{"use strict";Ci.exports={}});var Ze=c((kh,Ii)=>{"use strict";var Ut=Ye(),zt=q(),Ro=_(),Ei=function(t){return Ro(t)?t:void 0};Ii.exports=function(t,e){return arguments.length<2?Ei(Ut[t])||Ei(zt[t]):Ut[t]&&Ut[t][e]||zt[t]&&zt[t][e]}});var Ti=c((Mh,xi)=>{"use strict";var Po=$();xi.exports=Po({}.isPrototypeOf)});var Ri=c((Vh,Ai)=>{"use strict";var Oo=q(),Si=Oo.navigator,wi=Si&&Si.userAgent;Ai.exports=wi?String(wi):""});var ji=c((Lh,Li)=>{"use strict";var Vi=q(),Wt=Ri(),Pi=Vi.process,Oi=Vi.Deno,ki=Pi&&Pi.versions||Oi&&Oi.version,Mi=ki&&ki.v8,F,Xe;Mi&&(F=Mi.split("."),Xe=F[0]>0&&F[0]<4?1:+(F[0]+F[1]));!Xe&&Wt&&(F=Wt.match(/Edge\/(\d+)/),(!F||F[1]>=74)&&(F=Wt.match(/Chrome\/(\d+)/),F&&(Xe=+F[1])));Li.exports=Xe});var Kt=c((jh,$i)=>{"use strict";var _i=ji(),ko=j(),Mo=q(),Vo=Mo.String;$i.exports=!!Object.getOwnPropertySymbols&&!ko(function(){var t=Symbol("symbol detection");return!Vo(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&_i&&_i<41})});var Qt=c((_h,Fi)=>{"use strict";var Lo=Kt();Fi.exports=Lo&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Yt=c(($h,qi)=>{"use strict";var jo=Ze(),_o=_(),$o=Ti(),Fo=Qt(),qo=Object;qi.exports=Fo?function(t){return typeof t=="symbol"}:function(t){var e=jo("Symbol");return _o(e)&&$o(e.prototype,qo(t))}});var Bi=c((Fh,Ni)=>{"use strict";var No=String;Ni.exports=function(t){try{return No(t)}catch{return"Object"}}});var Zt=c((qh,Di)=>{"use strict";var Bo=_(),Do=Bi(),Ho=TypeError;Di.exports=function(t){if(Bo(t))return t;throw new Ho(Do(t)+" is not a function")}});var Gi=c((Nh,Hi)=>{"use strict";var Go=Zt(),Uo=Ht();Hi.exports=function(t,e){var r=t[e];return Uo(r)?void 0:Go(r)}});var zi=c((Bh,Ui)=>{"use strict";var Xt=Qe(),Jt=_(),er=re(),zo=TypeError;Ui.exports=function(t,e){var r,i;if(e==="string"&&Jt(r=t.toString)&&!er(i=Xt(r,t))||Jt(r=t.valueOf)&&!er(i=Xt(r,t))||e!=="string"&&Jt(r=t.toString)&&!er(i=Xt(r,t)))return i;throw new zo("Can't convert object to primitive value")}});var Ki=c((Dh,Wi)=>{"use strict";Wi.exports=!0});var Zi=c((Hh,Yi)=>{"use strict";var Qi=q(),Wo=Object.defineProperty;Yi.exports=function(t,e){try{Wo(Qi,t,{value:e,configurable:!0,writable:!0})}catch{Qi[t]=e}return e}});var Je=c((Gh,en)=>{"use strict";var Ko=Ki(),Qo=q(),Yo=Zi(),Xi="__core-js_shared__",Ji=en.exports=Qo[Xi]||Yo(Xi,{});(Ji.versions||(Ji.versions=[])).push({version:"3.38.0",mode:Ko?"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 tr=c((Uh,rn)=>{"use strict";var tn=Je();rn.exports=function(t,e){return tn[t]||(tn[t]=e||{})}});var me=c((zh,nn)=>{"use strict";var Zo=Gt(),Xo=Object;nn.exports=function(t){return Xo(Zo(t))}});var ie=c((Wh,sn)=>{"use strict";var Jo=$(),el=me(),tl=Jo({}.hasOwnProperty);sn.exports=Object.hasOwn||function(e,r){return tl(el(e),r)}});var rr=c((Kh,an)=>{"use strict";var rl=$(),il=0,nl=Math.random(),sl=rl(1 .toString);an.exports=function(t){return"Symbol("+(t===void 0?"":t)+")_"+sl(++il+nl,36)}});var ye=c((Qh,ln)=>{"use strict";var al=q(),ol=tr(),on=ie(),ll=rr(),cl=Kt(),ul=Qt(),ne=al.Symbol,ir=ol("wks"),pl=ul?ne.for||ne:ne&&ne.withoutSetter||ll;ln.exports=function(t){return on(ir,t)||(ir[t]=cl&&on(ne,t)?ne[t]:pl("Symbol."+t)),ir[t]}});var hn=c((Yh,pn)=>{"use strict";var hl=Qe(),cn=re(),un=Yt(),dl=Gi(),fl=zi(),ml=ye(),yl=TypeError,vl=ml("toPrimitive");pn.exports=function(t,e){if(!cn(t)||un(t))return t;var r=dl(t,vl),i;if(r){if(e===void 0&&(e="default"),i=hl(r,t,e),!cn(i)||un(i))return i;throw new yl("Can't convert object to primitive value")}return e===void 0&&(e="number"),fl(t,e)}});var nr=c((Zh,dn)=>{"use strict";var gl=hn(),bl=Yt();dn.exports=function(t){var e=gl(t,"string");return bl(e)?e:e+""}});var yn=c((Xh,mn)=>{"use strict";var Cl=q(),fn=re(),sr=Cl.document,El=fn(sr)&&fn(sr.createElement);mn.exports=function(t){return El?sr.createElement(t):{}}});var ar=c((Jh,vn)=>{"use strict";var Il=W(),xl=j(),Tl=yn();vn.exports=!Il&&!xl(function(){return Object.defineProperty(Tl("div"),"a",{get:function(){return 7}}).a!==7})});var Cn=c(bn=>{"use strict";var Sl=W(),wl=Qe(),Al=Nt(),Rl=Bt(),Pl=fe(),Ol=nr(),kl=ie(),Ml=ar(),gn=Object.getOwnPropertyDescriptor;bn.f=Sl?gn:function(e,r){if(e=Pl(e),r=Ol(r),Ml)try{return gn(e,r)}catch{}if(kl(e,r))return Rl(!wl(Al.f,e,r),e[r])}});var In=c((td,En)=>{"use strict";var Vl=j(),Ll=_(),jl=/#|\.prototype\./,ve=function(t,e){var r=$l[_l(t)];return r===ql?!0:r===Fl?!1:Ll(e)?Vl(e):!!e},_l=ve.normalize=function(t){return String(t).replace(jl,".").toLowerCase()},$l=ve.data={},Fl=ve.NATIVE="N",ql=ve.POLYFILL="P";En.exports=ve});var or=c((rd,Tn)=>{"use strict";var xn=Ft(),Nl=Zt(),Bl=he(),Dl=xn(xn.bind);Tn.exports=function(t,e){return Nl(t),e===void 0?t:Bl?Dl(t,e):function(){return t.apply(e,arguments)}}});var wn=c((id,Sn)=>{"use strict";var Hl=W(),Gl=j();Sn.exports=Hl&&Gl(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Rn=c((nd,An)=>{"use strict";var Ul=re(),zl=String,Wl=TypeError;An.exports=function(t){if(Ul(t))return t;throw new Wl(zl(t)+" is not an object")}});var kn=c(On=>{"use strict";var Kl=W(),Ql=ar(),Yl=wn(),et=Rn(),Pn=nr(),Zl=TypeError,lr=Object.defineProperty,Xl=Object.getOwnPropertyDescriptor,cr="enumerable",ur="configurable",pr="writable";On.f=Kl?Yl?function(e,r,i){if(et(e),r=Pn(r),et(i),typeof e=="function"&&r==="prototype"&&"value"in i&&pr in i&&!i[pr]){var n=Xl(e,r);n&&n[pr]&&(e[r]=i.value,i={configurable:ur in i?i[ur]:n[ur],enumerable:cr in i?i[cr]:n[cr],writable:!1})}return lr(e,r,i)}:lr:function(e,r,i){if(et(e),r=Pn(r),et(i),Ql)try{return lr(e,r,i)}catch{}if("get"in i||"set"in i)throw new Zl("Accessors not supported");return"value"in i&&(e[r]=i.value),e}});var Vn=c((ad,Mn)=>{"use strict";var Jl=W(),ec=kn(),tc=Bt();Mn.exports=Jl?function(t,e,r){return ec.f(t,e,tc(1,r))}:function(t,e,r){return t[e]=r,t}});var be=c((od,jn)=>{"use strict";var ge=q(),rc=ei(),ic=Ft(),nc=_(),sc=Cn().f,ac=In(),se=Ye(),oc=or(),ae=Vn(),Ln=ie();Je();var lc=function(t){var e=function(r,i,n){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,n)}return rc(t,this,arguments)};return e.prototype=t.prototype,e};jn.exports=function(t,e){var r=t.target,i=t.global,n=t.stat,s=t.proto,l=i?ge:n?ge[r]:ge[r]&&ge[r].prototype,a=i?se:se[r]||ae(se,r,{})[r],o=a.prototype,u,m,y,f,b,S,B,E,h;for(f in e)u=ac(i?f:r+(n?".":"#")+f,t.forced),m=!u&&l&&Ln(l,f),S=a[f],m&&(t.dontCallGetSet?(h=sc(l,f),B=h&&h.value):B=l[f]),b=m&&B?B:e[f],!(!u&&!s&&typeof S==typeof b)&&(t.bind&&m?E=oc(b,ge):t.wrap&&m?E=lc(b):s&&nc(b)?E=ic(b):E=b,(t.sham||b&&b.sham||S&&S.sham)&&ae(E,"sham",!0),ae(a,f,E),s&&(y=r+"Prototype",Ln(se,y)||ae(se,y,{}),ae(se[y],f,b),t.real&&o&&(u||!o[f])&&ae(o,f,b)))}});var $n=c((ld,_n)=>{"use strict";var cc=Math.ceil,uc=Math.floor;_n.exports=Math.trunc||function(e){var r=+e;return(r>0?uc:cc)(r)}});var Ce=c((cd,Fn)=>{"use strict";var pc=$n();Fn.exports=function(t){var e=+t;return e!==e||e===0?0:pc(e)}});var Nn=c((ud,qn)=>{"use strict";var hc=Ce(),dc=Math.min;qn.exports=function(t){var e=hc(t);return e>0?dc(e,9007199254740991):0}});var Ee=c((pd,Bn)=>{"use strict";var fc=Nn();Bn.exports=function(t){return fc(t.length)}});var tt=c((hd,Dn)=>{"use strict";Dn.exports=function(){}});var Hn=c(()=>{"use strict";var mc=be(),yc=me(),vc=Ee(),gc=Ce(),bc=tt();mc({target:"Array",proto:!0},{at:function(e){var r=yc(this),i=vc(r),n=gc(e),s=n>=0?n:i+n;return s<0||s>=i?void 0:r[s]}});bc("at")});var rt=c((md,Gn)=>{"use strict";var Cc=Ze();Gn.exports=Cc});var zn=c((yd,Un)=>{"use strict";Hn();var Ec=rt();Un.exports=Ec("Array","at")});var Kn=c((vd,Wn)=>{"use strict";var Ic=zn();Wn.exports=Ic});var hr=c((gd,Qn)=>{"use strict";var xc=Kn();Qn.exports=xc});var us=c((kf,cs)=>{"use strict";var Vc=tr(),Lc=rr(),ls=Vc("keys");cs.exports=function(t){return ls[t]||(ls[t]=Lc(t))}});var hs=c((Mf,ps)=>{"use strict";var jc=j();ps.exports=!jc(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})});var ms=c((Vf,fs)=>{"use strict";var _c=ie(),$c=_(),Fc=me(),qc=us(),Nc=hs(),ds=qc("IE_PROTO"),Ir=Object,Bc=Ir.prototype;fs.exports=Nc?Ir.getPrototypeOf:function(t){var e=Fc(t);if(_c(e,ds))return e[ds];var r=e.constructor;return $c(r)&&e instanceof r?r.prototype:e instanceof Ir?Bc:null}});var vs=c((Lf,ys)=>{"use strict";var Dc=Ce(),Hc=Math.max,Gc=Math.min;ys.exports=function(t,e){var r=Dc(t);return r<0?Hc(r+e,0):Gc(r,e)}});var xr=c((jf,bs)=>{"use strict";var Uc=fe(),zc=vs(),Wc=Ee(),gs=function(t){return function(e,r,i){var n=Uc(e),s=Wc(n);if(s===0)return!t&&-1;var l=zc(i,s),a;if(t&&r!==r){for(;s>l;)if(a=n[l++],a!==a)return!0}else for(;s>l;l++)if((t||l in n)&&n[l]===r)return t||l||0;return!t&&-1}};bs.exports={includes:gs(!0),indexOf:gs(!1)}});var Es=c((_f,Cs)=>{"use strict";Cs.exports={}});var Ts=c(($f,xs)=>{"use strict";var Kc=$(),Tr=ie(),Qc=fe(),Yc=xr().indexOf,Zc=Es(),Is=Kc([].push);xs.exports=function(t,e){var r=Qc(t),i=0,n=[],s;for(s in r)!Tr(Zc,s)&&Tr(r,s)&&Is(n,s);for(;e.length>i;)Tr(r,s=e[i++])&&(~Yc(n,s)||Is(n,s));return n}});var ws=c((Ff,Ss)=>{"use strict";Ss.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Rs=c((qf,As)=>{"use strict";var Xc=Ts(),Jc=ws();As.exports=Object.keys||function(e){return Xc(e,Jc)}});var Ls=c((Nf,Vs)=>{"use strict";var Os=W(),eu=j(),ks=$(),tu=ms(),ru=Rs(),iu=fe(),nu=Nt().f,Ms=ks(nu),su=ks([].push),au=Os&&eu(function(){var t=Object.create(null);return t[2]=2,!Ms(t,2)}),Ps=function(t){return function(e){for(var r=iu(e),i=ru(r),n=au&&tu(r)===null,s=i.length,l=0,a=[],o;s>l;)o=i[l++],(!Os||(n?o in r:Ms(r,o)))&&su(a,t?[o,r[o]]:r[o]);return a}};Vs.exports={entries:Ps(!0),values:Ps(!1)}});var js=c(()=>{"use strict";var ou=be(),lu=Ls().values;ou({target:"Object",stat:!0},{values:function(e){return lu(e)}})});var $s=c((Hf,_s)=>{"use strict";js();var cu=Ye();_s.exports=cu.Object.values});var qs=c((Gf,Fs)=>{"use strict";var uu=$s();Fs.exports=uu});var gt=c((Uf,Ns)=>{"use strict";var pu=qs();Ns.exports=pu});var Hs=c(()=>{"use strict";var hu=be(),du=xr().includes,fu=j(),mu=tt(),yu=fu(function(){return!Array(1).includes()});hu({target:"Array",proto:!0,forced:yu},{includes:function(e){return du(this,e,arguments.length>1?arguments[1]:void 0)}});mu("includes")});var Us=c((Yf,Gs)=>{"use strict";Hs();var vu=rt();Gs.exports=vu("Array","includes")});var Ws=c((Zf,zs)=>{"use strict";var gu=Us();zs.exports=gu});var bt=c((Xf,Ks)=>{"use strict";var bu=Ws();Ks.exports=bu});var Pr=c((ym,Xs)=>{"use strict";var Su=de();Xs.exports=Array.isArray||function(e){return Su(e)==="Array"}});var ea=c((vm,Js)=>{"use strict";var wu=TypeError,Au=9007199254740991;Js.exports=function(t){if(t>Au)throw wu("Maximum allowed index exceeded");return t}});var ia=c((gm,ra)=>{"use strict";var Ru=Pr(),Pu=Ee(),Ou=ea(),ku=or(),ta=function(t,e,r,i,n,s,l,a){for(var o=n,u=0,m=l?ku(l,a):!1,y,f;u<i;)u in r&&(y=m?m(r[u],u,e):r[u],s>0&&Ru(y)?(f=Pu(y),o=ta(t,e,y,f,o,s-1)-1):(Ou(o+1),t[o]=y),o++),u++;return o};ra.exports=ta});var aa=c((bm,sa)=>{"use strict";var Mu=ye(),Vu=Mu("toStringTag"),na={};na[Vu]="z";sa.exports=String(na)==="[object z]"});var la=c((Cm,oa)=>{"use strict";var Lu=aa(),ju=_(),Et=de(),_u=ye(),$u=_u("toStringTag"),Fu=Object,qu=Et(function(){return arguments}())==="Arguments",Nu=function(t,e){try{return t[e]}catch{}};oa.exports=Lu?Et:function(t){var e,r,i;return t===void 0?"Undefined":t===null?"Null":typeof(r=Nu(e=Fu(t),$u))=="string"?r:qu?Et(e):(i=Et(e))==="Object"&&ju(e.callee)?"Arguments":i}});var ua=c((Em,ca)=>{"use strict";var Bu=$(),Du=_(),Or=Je(),Hu=Bu(Function.toString);Du(Or.inspectSource)||(Or.inspectSource=function(t){return Hu(t)});ca.exports=Or.inspectSource});var ya=c((Im,ma)=>{"use strict";var Gu=$(),Uu=j(),pa=_(),zu=la(),Wu=Ze(),Ku=ua(),ha=function(){},da=Wu("Reflect","construct"),kr=/^\s*(?:class|function)\b/,Qu=Gu(kr.exec),Yu=!kr.test(ha),Me=function(e){if(!pa(e))return!1;try{return da(ha,[],e),!0}catch{return!1}},fa=function(e){if(!pa(e))return!1;switch(zu(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Yu||!!Qu(kr,Ku(e))}catch{return!0}};fa.sham=!0;ma.exports=!da||Uu(function(){var t;return Me(Me.call)||!Me(Object)||!Me(function(){t=!0})||t})?fa:Me});var Ca=c((xm,ba)=>{"use strict";var va=Pr(),Zu=ya(),Xu=re(),Ju=ye(),ep=Ju("species"),ga=Array;ba.exports=function(t){var e;return va(t)&&(e=t.constructor,Zu(e)&&(e===ga||va(e.prototype))?e=void 0:Xu(e)&&(e=e[ep],e===null&&(e=void 0))),e===void 0?ga:e}});var Ia=c((Tm,Ea)=>{"use strict";var tp=Ca();Ea.exports=function(t,e){return new(tp(t))(e===0?0:e)}});var xa=c(()=>{"use strict";var rp=be(),ip=ia(),np=me(),sp=Ee(),ap=Ce(),op=Ia();rp({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,r=np(this),i=sp(r),n=op(r,0);return n.length=ip(n,r,r,i,0,e===void 0?1:ap(e)),n}})});var Ta=c(()=>{"use strict";var lp=tt();lp("flat")});var wa=c((Pm,Sa)=>{"use strict";xa();Ta();var cp=rt();Sa.exports=cp("Array","flat")});var Ra=c((Om,Aa)=>{"use strict";var up=wa();Aa.exports=up});var Oa=c((km,Pa)=>{"use strict";var pp=Ra();Pa.exports=pp});var Br="1.0.29-dev.e881d3ff.0";function Pt(t,e=1){let r="0",i="0",n="0";return t.length===4?(r="0x"+t[1]+t[1],i="0x"+t[2]+t[2],n="0x"+t[3]+t[3]):t.length===7&&(r="0x"+t[1]+t[2],i="0x"+t[3]+t[4],n="0x"+t[5]+t[6]),`rgba(${+r},${+i},${+n},${e})`}var M="interactive",oo="interactive-controls-container",Fe=()=>document.querySelector(`.${oo}`),Dr=.4,O={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0},Hr=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(Hr||{}),Gr=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(Gr||{}),Ur=(i=>(i.start="left",i.end="right",i.center="center",i))(Ur||{}),qe=({target:t,props:e})=>{t.style.alignItems=(e?.gravityVertical&&Hr[e.gravityVertical])??"center",t.style.justifyContent=(e?.gravityHorizontal&&Gr[e.gravityHorizontal])??"center",t.style.textAlign=(e?.alignment&&Ur[e.alignment])??"left"},Ne=({target:t,props:e,fallback:r,dependsOn:i})=>{t.style.color=e?.text?.color??r.textColor,t.style.fontSize=`calc(${i.height} * ${e?.text?.size??r.textSize})`,t.textContent=e?.text?.value??r.textContent},Be=({target:t,props:e,fallback:r})=>{t.style.backgroundColor=Pt(e?.background?.color??r.backgroundColor,e?.background?.alpha??r.backgroundAlpha)},De=({target:t,props:e,fallback:r,dependsOn:i})=>{t.style.border=`calc(${i.height} * ${e?.shape?.border?.width??r.borderWidth}) solid ${Pt(e?.shape?.border?.color??r.borderColor,e?.shape?.border?.alpha??r.borderAlpha)}`,t.style.borderRadius=`calc(${i.height} * ${e?.shape?.roundCorners??r.roundCorners})`},ee=({target:t,layoutParams:e,fallback:r})=>{let i=e.angle??r.angle;i=i&&i*-1,t.style.transform=`rotate(${i}rad)`};var H=class{constructor(e){this.control=e;this.container=null;this.controlElement=null;this.clickListener=null}createContainerElement(e){let r=document.createElement("div");r.classList.add(`${M}-control-container-${this.control.id}`),e(r,this.control.layoutParams);let i=(this.control.layoutParams.innerSizesDependOn??O.innerSizesDependOn)==="self"?{height:r.style.height,width:r.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"};this.container={element:r,dimensions:i}}createClickListener(e){return r=>{r.stopPropagation(),e()}}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(r=>{switch(r.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:r.action,controlId:this.control.id,controlType:this.control.type})),this.container?.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){this.container?.element&&this.clickListener&&this.container?.element.removeEventListener("click",this.clickListener)}};var Ot="int",z=(i=>(i.AREA=`${Ot}_area`,i.TEXT=`${Ot}_text`,i.BUTTON=`${Ot}_bttn`,i))(z||{});var He=t=>{if(t.type.trim().toLowerCase()==="area")return new kt(t)},kt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.AREA),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",Be({target:i,props:this.control.props,fallback:{...O,backgroundColor:"transparent"}}),De({target:i,props:this.control.props,fallback:{...O,borderAlpha:0},dependsOn:this.container.dimensions}),ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var Ge=()=>{let t=document.createElement("span");return t.style.display="inline-block",t.style.whiteSpace="pre",t.style.overflow="hidden",t.style.textOverflow="ellipsis",t.style.maxWidth="100%",t.style.maxHeight="100%",t};var Ue=t=>{if(t.type.trim().toLowerCase()==="button")return new Mt(t)},Mt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.BUTTON),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",i.style.fontFamily="inherit",ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),Be({target:i,props:this.control.props,fallback:O}),De({target:i,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),qe({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=Ge();Ne({target:n,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var zr=t=>{if(t.type.trim().toLowerCase()==="text")return new Vt(t)},Vt=class extends H{constructor(e){super(e)}createView({parentElement:e,layoutCallback:r}){if(super.createContainerElement(r),!this.container)return;let i=document.createElement("div");i.classList.add(`${M}-${this.control.id}`),i.setAttribute("data-testid",z.TEXT),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.fontFamily="inherit",ee({target:i,layoutParams:this.control.layoutParams,fallback:O}),qe({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=Ge();Ne({target:n,props:this.control.props,fallback:O,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){}enable(){}getElement(){return this.controlElement}};var Lt=class{constructor(e){this.layout=e}},ze=class extends Lt{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,r){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${r.width})`,e.style.height=`calc(var(--interactive-content-height) * ${r.height})`,e.style.left=`calc(var(--interactive-content-width) * ${r.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${r.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}};var te=class{constructor(e){this.container=e,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,r){this.factories.set(e.trim().toLowerCase(),r),this.setControls()}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){return this.container.controls?.reduce((e,r)=>{let i=r.type.trim().toLowerCase(),n=this.factories.get(i);if(n){let s=n(r);if(s)return[...e,s]}return[...e]},[])||[]}};var We=(t,e)=>{if(t.type.trim().toLowerCase()==="choice")return new jt(t,e)},jt=class extends te{constructor(e,r){super(e),this.rootElement=r??Fe(),this.layout=new ze(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.addControlFactory("button",Ue),this.addControlFactory("text",zr),this.addControlFactory("area",He)}createView(e){let r=document.createElement("div");return r.classList.add(`${M}-${this.container.id}`),this.layout.setContainerLayout(r),this.controls.forEach(i=>{i.createView({parentElement:r,layoutCallback:this.layout.setControlLayout}),i.setEvents(e)}),this.rootElement.append(r),this.isRemoved=!1,r}hide(){let e=this.getElement();e&&(e.style.visibility="hidden")}show(){let e=this.getElement();e&&(e.style.visibility="visible")}enable(){let e=this.getElement();e&&(this.controls.forEach(r=>r.enable()),e.style.opacity="1",this.isDisabled=!1)}disable(){let e=this.getElement();e&&(this.controls.forEach(r=>r.disable()),e.style.opacity=`${Dr}`,this.isDisabled=!0)}removeView(){this.isRemoved||(this.controls.forEach(e=>e.removeListeners()),this.getElement()?.remove(),this.isRemoved=!0)}getElement(){return this.rootElement.querySelector(`.${M}-${this.container.id}`)}};var Ja=D(hr(),1);import{clientChecker as Ip,combine as xp,InterfaceLanguage as Tp,Observable as Ya,once as Sp,Subject as U,Subscription as Za,ValueSubject as V}from"@vkontakte/videoplayer-shared";import{InteractiveInterfaceClick as _e}from"@vkontakte/videoplayer-statistics";import{loadVKLangPack as Tc}from"@vkontakte/videoplayer-shared";function Ie(t,e){let r;return(...i)=>{clearTimeout(r),r=setTimeout(()=>t(...i),e)}}var K=(t,e)=>Object.prototype.toString.call(t)===`[object ${e}]`,xe=t=>K(t,"Object"),it=t=>K(t,"String"),nt=t=>K(t,"Array"),st=t=>K(t,"Number"),Yn=t=>K(t,"Function");var dr=t=>st(t)&&!isNaN(t);var Q=t=>xe(t)&&Object.keys(t).length===0,fr=t=>nt(t)&&!t.length;var Te=(t,e)=>it(t)&&(e?t.trim():t).length;var Zn="video_interactive",Xn="videoint";var Jn=250,Se=class{constructor(e){this.handleZoomChange=Ie(e=>{this.lastZoomInfo=e},Jn);this.onResize=e=>{if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let r=this.getNextPoint();r&&this.ngEditor?.zoomTo(r),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{if(this.manifest){if(this.isHidden||this.hide(),!e?.id){this.onError?.("Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),this.ngEditor?.selectChapter(e.id),this.ngEditor?.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,r=[])=>{if(this.isReady=!1,!st(e.graph.edit.chapters[0].x)){this.onError?.("Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(r),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(r)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:r,onError:i,lang:n,visitedChapters:s=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(s),this.onOpenPreviewClick=r,this.onError=i,this.lang=n??"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=Sc(e),this.resizeObserver=new ResizeObserver(Ie(this.onResize,Jn)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),this.ngEditor?.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){this.ngEditor?.updateVideosInfo(e)}async show(){this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&this.ngEditor?.focusChapter(this.currentChapterId),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await Tc(this.lang,Zn,Xn)}catch{console.log("Unable to load graph language pack")}let{GraphEditor:r}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new r(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId&&this.ngEditor.selectChapter(this.currentChapterId),this.ngEditor.on("control",({name:i,...n})=>{i==="openPreview"&&"chapterId"in n&&this.onOpenPreviewClick?.(n.chapterId)}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){this.hide(),this.manifest=null,this.resizeObserver.disconnect(),this.ngEditor?.setVisitedChapters([]),this.onOpenPreviewClick=void 0,this.ngEditor?.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function Sc(t){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",t.append(e),e}var we=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(r=>r.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let r=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let s of this._containers){let l=s.startTime-e;if(l<=n&&(s.endTime&&n<=s.endTime||s.endTime===null)){i=!0;break}n<l&&(r=r===-1?l:Math.min(r,l))}return!i&&r!==-1?r:null}}};import{isSupportedManifest as ot,ContainerTypes as Gd,ControlTypes as lt,EventActionTypes as T,EventTypes as Ud,migrateManifestToLatestVersion as rs,compareVersions as zd}from"@interactiveplatform/movika-manifest";var es={metadata:"Object",chapters:"Array"},ts=t=>{if(!xe(t))return!1;for(let e in es)if(!t[e]||!K(t[e],es[e]))return!1;return ot(t.metadata.version)},at=t=>t.type===lt.Text,jd=t=>t.type===lt.Button,_d=t=>t.type===lt.Area,$d={Choice:"Choice",TextInput:"TextInput"},Fd={Button:"Button",Area:"Area",Text:"Text"},qd={onClick:"onClick",onSuspense:"onSuspense"},Nd={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var P=class{constructor(e,r,...i){this.severity=e;this.category=r;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var ct=class{constructor(){this.listeners={}}addListener(e,r){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(r),this}on(e,r){return this.addListener(e,r)}once(e,r){this.listeners[e]=this.listeners[e]||[];let i=()=>{r(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,r){return this.removeListener(e,r)}reset(){this.listeners={}}removeListener(e,r){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===r){i.splice(n,1);break}return this}emit(e,...r){let i=this.listeners[e];return i?(i.forEach(n=>{n(...r)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var ut=class{constructor(e){this.fns=[];this.addFn=(e,r=!1)=>{Yn(e)&&(this.fns.push(e),r&&this.updateFn())};this.removeFn=(e,r=!1)=>{this.fns=this.fns.filter(i=>i!==e),r&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};import{ValueSubject as Mc}from"@vkontakte/videoplayer-shared";var pt=class{constructor(e){this.loaders={chapterLoaders:e?.chapterLoaders??[],manifestLoaders:e?.manifestLoaders??[]}}async exec(e,r){return wc(...this.loaders[e])(r)}};function wc(...t){return async function(r){let i=[...t];for(;i.length>0;)r=await i.shift()(r);return r}}function Ae(t,e,r){return t?{...t,[e]:t[e]?[r,...t[e]]:[r]}:{[e]:[r]}}function ht({actions:t,errors:e,chapterId:r,...i}){if(r){let n=t.getManifest(),s=t.getChapter(n.chapters,r);if(s){let l=t.getMedia(n.media,s.videoId),a=t.getGraph(n.graph,s.id);return l?{...i,actions:t,errors:e,result:{chapter:s,media:l,graph:a}}:{...i,errors:Ae(e,ht.name,"Could not find media"),actions:t}}}return{...i,errors:Ae(e,ht.name,"Could not find chapter"),actions:t}}var dt=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,r,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:r,options:i})}removeEventListener(e,r){if(!(e in this.listeners))return;let i=this.listeners[e];for(let n=0,s=i.length;n<s;n++)if(i[n].callback===r){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,s=i.length;n<s;n++){let l=i[n];try{l.callback.call(this,e)}catch(a){Promise.resolve().then(()=>{throw a})}l.options&&l.options.once&&this.removeEventListener(e.type,l.callback)}return!e.defaultPrevented}},oe=class extends dt{constructor(){super(),this.listeners||dt.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)}},Re=class{constructor(){Object.defineProperty(this,"signal",{value:new oe,writable:!0,configurable:!0})}abort(e){let r;try{r=new Event("abort")}catch{typeof document<"u"?document.createEvent?(r=document.createEvent("Event"),r.initEvent("abort",!1,!1)):(r=document.createEventObject(),r.type="abort"):r={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(r)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(Re.prototype[Symbol.toStringTag]="AbortController",oe.prototype[Symbol.toStringTag]="AbortSignal");function ft(t){return t.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof t.Request=="function"&&!t.Request.prototype.hasOwnProperty("signal")||!t.AbortController}function mr(t){typeof t=="function"&&(t={fetch:t});let{fetch:e,Request:r=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=t;if(!ft({fetch:e,Request:r,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:s};let s=r;(s&&!s.prototype.hasOwnProperty("signal")||n)&&(s=function(u,m){let y;m&&m.signal&&(y=m.signal,delete m.signal);let f=new r(u,m);return y&&Object.defineProperty(f,"signal",{writable:!1,enumerable:!1,configurable:!0,value:y}),f},s.prototype=r.prototype);let l=e;return{fetch:(o,u)=>{let m=s&&s.prototype.isPrototypeOf(o)?o.signal:u?u.signal:void 0;if(m){let y;try{y=new DOMException("Aborted","AbortError")}catch{y=new Error("Aborted"),y.name="AbortError"}if(m.aborted)return Promise.reject(y);let f=new Promise((b,S)=>{m.addEventListener("abort",()=>S(y),{once:!0})});return u&&u.signal&&delete u.signal,Promise.race([f,l(o,u)])}return l(o,u)},Request:s}}var Pe=ft({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),is=Pe?mr({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,yr=Pe?is.fetch:window.fetch,pf=Pe?is.Request:window.Request,hf=Pe?Re:window.AbortController,df=Pe?oe:window.AbortSignal;var vr=(t="",e="")=>{let r=t.split("."),i=e.split("."),n=0;for(let s=0;s<Math.max(r.length,i.length)&&!n;s++)r[s]>i[s]?n=1:r[s]<i[s]?n=-1:n=0;return n};var Ac=async t=>{try{let e={},r;if(it(t)){r=new URL(t).href;let n=await yr(r);if(!n.ok)return{};e=await n.json()}else if(xe(t))e=t;else return{};if(!ts(e))return{};let i=e.metadata.media;if(it(i)&&!("media"in e))try{let n;r?n=new URL(i,r).href:(n=new URL(i).href,r=n);let s=await yr(n);if(!s.ok)throw new Error;e.metadata.media=await s.json()}catch{return Oc(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:r}}catch{return{}}};async function ns(t){let{manifest:e,manifestURL:r}=await Ac(t);if(!e)throw new Error("Failed on fetch");let i=rs(e);return i.media=Rc(i.media,r),delete i.metadata.media,i}function mt(t,e){if(e)return t.find(r=>r.id===e)}function gr(t,e){return t.edit?.chapters?t.edit.chapters.find(r=>r.id===e):t.view?.chapters?t.view.chapters.find(r=>r.id===e):void 0}function br(t,e){return t.videos.find(r=>r.id===e)}function Rc(t,e){return{...t,videos:t.videos.map(r=>({...r,variants:r.variants.map(i=>{let n="url"in i?i.url:"",s=Pc(n,e);return{...i,url:s||n}})}))}}function Pc(t="",e){try{return new URL(t,e).href}catch{return""}}function Oc(t){return vr(t,"3.2.0")>=0}var yt=t=>nt(t)&&!fr(t),N=t=>t.order==="end",vt=t=>nt(t.containers)&&!fr(t.containers)&&N(t),ss=(t,e)=>{let r=t*1e3;return yt(e.controls)&&r<(e.startTime??0)},Cr=(t,e)=>{let r=t*1e3;return yt(e.controls)&&r>=(e.startTime??0)&&r<=(e.endTime??1/0)};var Y=(t=[])=>t.some(e=>e.action.type==="expect"),Er=(t=[])=>t.find(e=>e.action.type==="expect"),kc=t=>t?.length===1,le=t=>kc(t)&&at(t[0]);function as(t,...e){return r=>typeof e[0]=="object"&&typeof r=="object"?t({...e[0],...r}):t(...e,...r)}var os=(t,e)=>Y(t.events)?!1:e.some(({container:r})=>r.container.id!==t.id&&Y(r.container.events)&&r.container.endTime===t.endTime&&!r.isRemoved);var ce=class extends pt{constructor(r,i){super(r);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new Mc(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(r){this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:Ae},result:null,errors:null,source:r});return i.errors&&this.errorHandler(i.errors),this.manifest=await ns(i.result??r),this}async setInitial(){return this.setNext()}async setNext(r=this.manifest?.metadata.initChapterId){if(!r)return this;this.prevChapter$.next(this.chapter);let i=await this.exec("chapterLoaders",ht({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:gr,getChapter:mt,getMedia:br,getByBranches:this.getByBranches.bind(this),addErrorMessage:Ae},result:null,errors:null,chapterId:r}));return i.errors&&this.errorHandler(i.errors),this.chapter=i.result.chapter,this.media=i.result.media,this.graph=i.result.graph,this}errorHandler(r){this.onError(r),console.error("Something went wrong with loaders",{errors:r})}getInitial(){return this.getByChapterId(this.manifest?.metadata.initChapterId)||null}getByChapterId(r=this.manifest?.metadata.initChapterId){if(!r||!this.manifest)return null;let i=mt(this.manifest.chapters,r);if(i){let n=br(this.manifest.media,i.videoId),s=gr(this.manifest.graph,i.id);if(n)return{chapter:i,media:n,graph:s}}return null}getBranches(r=this.chapter?.id){if(r===this.chapter?.id)return this.getByBranches(this.chapter?.branches);{let i=mt(this.manifest?.chapters||[],r);return this.getByBranches(i?.branches)}}getByBranches(r=[]){return r.reduce((i,n)=>{let s=this.getByChapterId(n.chapterId);return s&&i.push(s),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){return this.chapter?.id===this.manifest?.metadata.initChapterId}isEndChapter(){return this.chapter?N(this.chapter):!1}};var Qs=D(gt(),1);import{Player as Cu}from"@vkontakte/videoplayer-core";import{Subscription as Ar,Tracer as Eu,ValueSubject as Iu}from"@vkontakte/videoplayer-shared";var Bs=t=>{let e=t.variants.find(r=>r.payload?.type==="vk");if(e&&e.payload){let[r,i]=e.payload.id.split("_");return[r,i]}return[]};var Ds=D(gt(),1);function Sr(){let t=new Map;function e({listId:s=Math.random().toString(),itemId:l=Math.random().toString(),...a}){let o=t.get(s),u={...a};return o?o[l]=u:t.set(s,{[l]:u}),{listId:s,itemId:l,...a}}function r(s){s.player.destroy(),s.container.remove(),s.subscription.unsubscribe(),s.statistics?.oneStat.destroy(),s.statistics?.statSubscription.unsubscribe()}function i(s,l){let a=t.get(s);if(!a)throw Error("Can't remove. Not find.");if(l){let o=a[l];o&&r(o),delete a[l],Object.keys(a).length||t.delete(s)}else{for(let o of(0,Ds.default)(a))r(o);t.delete(s)}}function n(){for(let s of t)i(s[0])}return{createPlayer:e,removePlayer:i,map:t,removeAll:n}}var ue=D(bt(),1);function wr(t,e=[]){let r={},i,n=!e.length;for(let s of t.variants)if(!i&&"cover"in s&&(i=s.cover),"url"in s)switch(s.type.toLowerCase()){case"mp4":(n||(0,ue.default)(e,"mp4"))&&(r.MPEG={...r.MPEG,[s.standard??"Invariant quality"]:s.url});break;case"mpeg":(n||(0,ue.default)(e,"mpeg"))&&(r.MPEG={...r.MPEG,[s.standard??"Invariant quality"]:s.url});break;case"hls":(n||(0,ue.default)(e,"hls"))&&(r={...r,HLS:{type:"url",url:s.url}});break;case"dash":(n||(0,ue.default)(e,"dash"))&&(r={...r,DASH_SEP:{compatibilityMode:!0,type:"url",url:s.url}});break;default:break}return{sources:r,thumbUrl:i,title:t.title??""}}var Oe=(t,e)=>{let r=t.info.currentQuality$.getValue(),i=t.info.availableQualities$.getValue();r!==e&&(0,ue.default)(i,e)&&(t.setQuality(e),t.setAutoQuality(!1))};var xu=2;function Rr(t){let e=Sr(),r=new Ar,i={},n=null,s=!1,l,a=new Iu(null);t&&o(t);function o(E){n=E}function u(E,h,p){if(!n)throw Error("need to set interactive controller");if(!n.options)return;let C=(e.map.get(E)??{})[h];if(C){i={chapterId:p,listId:E,itemId:h,...C};let v=i.player;i.subscription.add(v.info.currentQuality$.subscribe(A=>{let w=v.info.position$.getValue(),k=v.info.isAutoQualityEnabled$.getValue();if(!(!A||!w||k))for(let I of e.map)(0,Qs.default)(I[1]).forEach(({player:R})=>{Oe(R,A)})})).add(v.events.started$.subscribe(()=>{m(h)})),C.container.remove(),n.setPlayer(C.player),s||(n.init(),s=!0),a.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function m(E){if(!n)throw Error("need to set interactive controller");if(Q(i)||E!==i.itemId)return;let h=n.getChapterBranches(),p=new Set;for(let d of h)p.has(d.media.id)||(await f({media:d.media,chapterId:d.chapter.id,setAsActive:!1,title:d.chapter.label}),p.add(d.media.id))}async function y({chapter:{id:E},manifestVideo:h}){if(Q(i)||!n)return;let p=i.player.info.muted$.getValue(),d=i.player.info.currentQuality$.getValue(),C=i.player.info.isAutoQualityEnabled$.getValue(),v=i.player.info.volume$.getValue(),A=i.player.info.currentPlaybackRate$.getValue(),w=!C,k=!1;for(let I of e.map)if(I[0]===h.id&&!n.state.isReplay$.getValue()){let R=Object.keys(I[1]);for(let L of R)L===i.itemId?(R.length<xu||(k=!0),e.removePlayer(I[0],L)):(k=!0,u(I[0],L,E),w?Oe(i.player,d):i.player.setAutoQuality(!0),i.player.setVolume(v),i.player.setMuted(p),i.player.setPlaybackRate(A))}else e.removePlayer(I[0]);k||(await f({media:h,chapterId:E,setAsActive:!0,playbackRate:A}),w?Oe(i.player,d):i.player.setAutoQuality(!0),i.player.setVolume(v),i.player.setMuted(p))}async function f({media:E,chapterId:h,prefetch:p=!0,setAsActive:d=!0,autoplay:C=!1,preferredExt:v,title:A,playbackRate:w}){let k=Math.random().toString(),I=document.createElement("div");l.append(I);let R;if(n?.options?.vkVideoLoader){let $e=Bs(E);$e.length&&(R=await n.options.vkVideoLoader(...$e))}let L=n?.options?.coreConfig||void 0,Z={...L,configName:[...L?.configName??[],"interactive"]},X={container:I,...R?.videos?.[0]||{sources:wr(E,v).sources},title:A,failoverHosts:R?.failoverHosts||[]},G=new Cu(Z,Eu.createRootTracer());G.initVideo(X);let $r=null;if(R?.videos&&n?.options.createOneStat){let $e=R.videos[0],Rt=n.options.createOneStat($e),qr=new Ar;Rt&&(qr.add(Rt.attachTo(G)),$r={oneStat:Rt,statSubscription:qr})}let Fr=new Ar,eo=i?.player?.info.isAutoQualityEnabled$.getValue();Fr.add(G.events.canplay$.subscribe(function(){eo||Oe(G,i.player.info.currentQuality$.getValue()),w&&G.setPlaybackRate(w)}));let J=e.createPlayer({listId:E.id,itemId:k,player:G,container:I,sources:wr(E,v).sources,config:X,subscription:Fr,statistics:$r});return d&&u(E.id,J.itemId,h),C&&J.player.play(),p&&!C&&J.player.prepare(),{player:J.player,config:J.config,statistics:J.statistics}}function b(){S(),n=null,l.remove()}function S(){r.unsubscribe(),e.removeAll(),i={},s=!1}async function B(){if(!n)throw Error("need to set interactive controller");S(),l=document.createElement("div");let{media:E,chapter:h}=n.getCurrentChapter();E&&h?(r.add(n.events.chapterChanged$.subscribe(y)),await f({media:E,chapterId:h.id,title:h.label})):console.error("not found")}return{...e,init:B,setInteractiveController:o,createPlayer:f,removeAll:b,getActivePlayer:function(){return i},activePlayerChanged:a}}var g={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},ke={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},x={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Ys=D(bt(),1);import{Subscription as Tu}from"@vkontakte/videoplayer-shared";var Ct=class{constructor({player:e,container:r,branches:i,selectBranches:n,interactiveEvents:s,globalEvents:l,globalEventEmitter:a,ignoreContainerEvent:o,permanentTextControls:u,disabledControls$:m,onRemove:y}){this.hide=()=>{setTimeout(()=>{this.gameState!==4&&(Y(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&this.container.hide?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})))})};this.show=()=>{if(this.gameState===2&&!this.isSelectedControlEvent)if(this.container.getElement())this.container.show?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!0,isFirst:!1});else{let r=as(this.selectBranches.onControlEvent,{isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})},onEvent:(i,n)=>{this.isSelectedControlEvent=!0,i!==!1&&(this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),n(),this.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1}))},isEOV:()=>this.gameState===4});this.container.createView(r),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!0,isFirst:!0}),this.disabledControls$.getValue()&&this.container.disable?.()}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{let e=this.player.experimental.element$.getValue(),i=e instanceof HTMLVideoElement?e.readyState:void 0,n=[6,5];if(!i||(0,Ys.default)(n,this.gameState)&&!this.isPermanentText)return;let s=this.player.getExactTime();if(ss(s,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(Cr(s,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let u=this.gameState;this.gameState=3,u===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let l=Cr(s,this.container.container),a=this.container.container.startTime?[this.container.container.startTime,this.container.container.endTime??1/0]:[],o={subjectId:this.container.container.id,subjectName:"container",range:a,currentTime:s,isInteractiveTime:l};this.globalEventEmitter.emit(g.eachTick,o),this.globalEvents.eachTick$.next(o)};this.container=r,this.branches=i,this.selectBranches=n,this.subscription=new Tu,this.player=e,this.interactiveEvents=s,this.ignoreContainerEvent=o,this.isPermanentText=u&&le(r.container.controls),this.disabledControls$=m,this.onRemove=y,this.globalEventEmitter=a,this.gameState=0,this.globalEvents=l,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{e?this.container.disable?.():this.container.enable?.()}))}selectContainerEvent(e=!1){this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:this.container.container.endTime,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec(this.container.container.endTime??1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=Y(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){this.container.hide?.(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.visibility,visibility:!1})}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}removeView(){this.container.removeView(),this.globalEventEmitter.emit(g.interactives,{subjectId:this.container.container.id,subjectName:"container",type:x.containerRemoved,visibility:!1}),this.gameState=5,this.onRemove?.()}destroy(){this.reset(),this.removeView(),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:this.container.container.endTime??1/0,id:this.container.container.id})}};var Zs=(t=[])=>t.reduce((e,r,i)=>{let n=(r?.controls??[]).filter(s=>!at(s));if(yt(n)){let s=[r.startTime??0,r.endTime??1/0],l=r.id;if(!i)e.push({subjects:[l],range:s});else{let a=[],o=-1/0,u=1/0,m=[],y=[];for(let f=0;f<e.length;f++){let b=e[f];if(y.push(...b.subjects),b.range[0]<u&&(u=b.range[0]),b.range[1]>o&&(o=b.range[1]),s[0]>=b.range[0]&&s[1]<=b.range[1])return e[f].subjects.push(l),e;s[0]<b.range[0]&&s[1]>b.range[0]&&(a.push(f),m=m.concat(b.subjects)),s[0]>=b.range[0]&&s[0]<=b.range[1]&&(a.push(f),m=m.concat(b.subjects),s[0]=b.range[0]),s[1]>=b.range[0]&&s[1]<=b.range[1]&&(a.push(f),m=m.concat(b.subjects),s[1]=b.range[1])}if(y.push(l),s[0]<=u&&s[1]>=o)return[{subjects:y,range:s}];a.length&&a.reverse().forEach(f=>{e.splice(f,1)}),e.push({subjects:m.concat([l]),range:s})}}return e},[]).sort((e,r)=>e.range[0]-r.range[0]);var Ma=D(bt(),1),Mr=D(gt(),1),Va=D(Oa(),1);function ka(){let t={};function e(){for(let a in t)Object.prototype.hasOwnProperty.call(t,a)&&delete t[a]}function r(a){let o={};for(let u in t)+u<=a&&(o[u]=t[u]);return o}function i(a){let o={};for(let u in t)+u>=a&&(o[u]=t[u]);return o}function n({timestamp:a,priority:o,initiator:u}){if(dr(a)){let m=t[a]??null;if(m&&o&&Te(o,!0)){let y={},f=m[o];return f&&(y={...y,...f}),y=Q(y)?null:y,y&&Te(u,!0)?y[u]??null:y}return m}return null}function s({timestamp:a,priority:o,initiator:u}){if(dr(a))if(t[a]){if(o&&Te(o,!0))if(t[a][o]){if(u&&Te(u,!0))if(t[a][o][u]){if(delete t[a][o][u],!Q(t[a][o]))return!0}else return!1;if(delete t[a][o],!Q(t[a]))return!0}else return!1;return delete t[a]}else return!1;return!1}function l({timestamp:a,priority:o,initiator:u,...m}){t[a]?.[o]?.[u]?t[a][o][u].push({...m}):t[a]?.[o]?t[a][o]={...t[a][o],[u]:[{...m}]}:t[a]?t[a]={...t[a],[o]:{[u]:[{...m}]}}:t[a]={[o]:{[u]:[{...m}]}}}return{map:t,remove:s,add:l,removeAll:e,get:n,getLte:r,getGte:i}}var hp=[T.expect,T.setNextBranch],dp=1/0;function La(t){let e=t,r,i=fp(),n=ka(),s,l=()=>{f(),h()},a=p=>{n.add.call(void 0,p),S()},o=(p=[])=>{for(let d of p)if(d.action(),(0,Ma.default)(hp,d.actionType))break},u=(p=1/0)=>{let d=It(n.get({timestamp:p,priority:"control"})??{}),C=It(n.get({timestamp:p,priority:"container"})??{}),v=It(n.get({timestamp:p,priority:"chapter"})??{});return[...d,...C,...v]},m=p=>{i.isReady(p)&&o(u(p))},y=()=>{o([...It(n.get({timestamp:1/0,priority:"chapter"})??{})])},f=()=>{r&&(s?.unsubscribe(),r=void 0)},b=p=>{},S=()=>{r||(r=()=>setTimeout(()=>{m(1/0)}),s=e.events.ended$.subscribe(r))},B=p=>{f(),e=p},E=p=>{p.priority==="container"&&i.resetCalled(p.timestamp),n.remove(p)},h=()=>{i.release(),n.removeAll()};return{setPlayer:B,add:a,remove:E,exec:m,execEndOfVideo:y,listen:S,unlisten:f,release:l,containersEventsCallState:i,getPreparedToExecActions:u}}function fp(){let t=new Map;return{setCalled:({timestamp:l,id:a})=>{let o=t.get(l);o&&o[a]!==void 0&&(o[a]=!0)},setData:(l=[])=>{for(let a of l){let o=a.endTime??dp,u=t.get(o)??{};t.set(o,{...u,[a.id]:!1})}},resetCalled:l=>{let a=t.get(l);if(a)for(let o in a)a[o]=!1},isReady:l=>{let a=t.get(l);return a?!(0,Mr.default)(a).some(o=>!o):!0},release:()=>t.clear()}}function It(t){return(0,Va.default)((0,Mr.default)(t)).sort(e=>e.actionType===T.expect?-1:1)}var ja={videoContentHeight:0,videoContentWidth:0},_a=(t,e)=>{let{height:r,width:i}=e.info.intrinsicVideoSize$.getValue()||{};if(!(r&&i))return ja;let{clientHeight:n,clientWidth:s}=e.experimental.element$.getValue()||{};if(!(n&&s))return ja;let l=r/i,a=n/s,o,u;return a>l?(u=s,o=s*l):a<l?(u=n/l,o=n):(u=s,o=n),{videoContentWidth:u,videoContentHeight:o}};var mp=250;function $a(t){let e=()=>{},r=new ResizeObserver(a=>{s(a),e=s.bind(null,a)});function i(a){let{parentElement:o,player:u}=t();if(o&&u){let{videoContentWidth:m,videoContentHeight:y}=_a(o,u);o.style.setProperty("--interactive-content-width",`${m}px`),o.style.setProperty("--interactive-content-height",`${y}px`),o.style.setProperty("--interactive-width",`${a[0].contentRect.width}px`),o.style.setProperty("--interactive-height",`${a[0].contentRect.height}px`)}}function n(){let{parentElement:a}=t();a.removeAttribute("style")}let s=Ie(a=>{let{fns:o=[]}=t();i(a);for(let u of o)u()},mp);function l(){e=void 0,r.disconnect(),n()}return{resizeObserver:r,calc:()=>{e?.()},release:l}}var Ve=class{constructor(){this.map={}}push(e,r){e in this.map?this.map[e].push(r):this.map[e]=[r]}get(e){let r=this.map[e];return r?r.slice():null}getAll(){let e=[];for(let r in this.map)e.concat(this.map[r]);return e}remove(e,r){e in this.map&&(this.map[e]=this.map[e].filter(i=>i!==r),this.map[e].length===0&&delete this.map[e])}clear(){this.map={}}keys(){return Object.keys(this.map)}size(){return this.keys().length}};var yp=t=>Math.floor(Math.random()*t),qa=t=>{let e=t.length,r=1/0,i=null;for(;e--;){let n=t[e],s=n.weight??1;s<r&&(r=s,i=n)}return i},Na=t=>{let e=t.length,r=-1/0,i=null;for(;e--;){let n=t[e],s=n.weight??0;s>r&&(r=s,i=n)}return i};var Ba=t=>{let e=t.length,r=yp(e);return t[r]},Fa=1,Da=t=>{let e=0;for(let i=0;i<t.length;++i)e+=t[i].weight??Fa;let r=Math.random()*e;e=0;for(let i=0;i<t.length-1;++i)if(e+=t[i].weight??Fa,e>=r)return t[i];return t[t.length-1]};var Ha={shouldOpenNow:!0,isDetachContainer:!0};var Vr=(t,e=!1)=>({...t,args:e?{...t.args,...Ha}:{...Ha,...t.args}}),za=({globalEventEmitter:t,player:e,interactiveEvents:r,removeControllers:i})=>{let n={isExpect:!1},s=()=>{n.isExpect&&(n.isExpect=!1)},l=({action:h,controlType:p,controlId:d,containerId:C,branches:v=[],onEvent:A,isEOV:w=()=>!1,isDisabled:k=()=>!1})=>{let I=Vr(h,w()),R={timestamp:1/0,priority:"control",initiator:d,actionType:I.type},L=k(),Z=t.emit.bind(t,g.interactives,{subjectId:d,subjectType:p,subjectName:"control",type:L?x.actionChoiceCanceled:x.actionChoice,actionType:h.type,payload:{containerId:C,...I.args}});if(L){Z();return}switch(I.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let X=v.find(G=>G.id===I.args.branchId);if(!X)return;A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?S({subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{chapterId:X.chapterId,autoSelect:!1}}):(r.add({...R,action:S.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{chapterId:X.chapterId,autoSelect:!1}})}),i?.());return}case T.continuePlayback.trim().toLowerCase():{A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?b({subjectId:d,subjectName:"control",subjectType:p,action:h}):r.add({...R,action:b.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:h})});return}case T.openURI.trim().toLowerCase():{A(I.args.isDetachContainer,f.bind(null,{subjectId:d,subjectName:"control"})),Z(),I.args.shouldOpenNow?E({subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{URI:h.args.uri}}):(r.add({...R,action:E.bind(null,{subjectId:d,subjectName:"control",subjectType:p,action:I,payload:{URI:h.args.uri}})}),i?.());return}default:console.error("Unexpected control event"),t.emit(g.errors,new P(1,1,{message:"Unexpected control event"}));return}},a=({action:h,container:{id:p,endTime:d},branches:C=[],isEOV:v=!1,autoSelected:A=!1})=>{let w=Vr(h,v),k={timestamp:!w.args.shouldOpenNow||v?1/0:d??1/0,priority:"container",initiator:p,actionType:w.type},I=t.emit.bind(t,g.interactives,{subjectId:p,subjectName:"container",type:x.actionChoice,actionType:w.type,payload:w.args});switch(w.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let R=C.find(L=>L.id===w.args.branchId);if(!R)return;I(),r.add({...k,action:S.bind(null,{subjectId:p,subjectName:"container",action:w,payload:{chapterId:R.chapterId,autoSelect:A}})}),i?.();return}case T.setMaxWeightBranch.trim().toLowerCase():return;case T.setMinWeightBranch.trim().toLowerCase():return;case T.setRandomBranch.trim().toLowerCase():return;case T.setWeightlessRandomBranch.trim().toLowerCase():return;case T.continuePlayback.trim().toLowerCase():{I(),r.add({...k,action:b.bind(null,{subjectId:p,subjectName:"container",action:w})});return}case T.openURI.trim().toLowerCase():{I(),r.add({...k,action:E.bind(null,{subjectId:p,subjectName:"container",action:w,payload:{URI:h.args.uri}})}),i?.();return}default:console.error("Unexpected container event"),t.emit(g.errors,new P(1,1,{message:"Unexpected container event"}));return}};function o({container:h,branches:p,isEOV:d=!1}){let C=Er(h.events);if(C){let v=Vr(C.action,d);t.emit(g.interactives,{subjectId:h.id,subjectName:"container",type:x.actionChoice,actionType:v.type,payload:v.args}),r.add({timestamp:d?1/0:h.endTime??1/0,priority:"container",initiator:h.id,actionType:T.expect,action:y.bind(null,{subjectId:h.id,subjectName:"container"})}),n.isExpect=!0}else for(let v of h.events??[])a({action:v.action,container:h,branches:p,isEOV:d})}let u=({chapterId:h,action:p,branches:d=[]})=>{let C=t.emit.bind(t,g.interactives,{subjectId:h,subjectName:"chapter",type:x.actionChoice,actionType:p.type,payload:p.args});switch(p.type.trim().toLowerCase()){case T.setNextBranch.trim().toLowerCase():{let v=d.find(A=>A.id===p.args.branchId);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setWeightlessRandomBranch.trim().toLowerCase():{let v=Ba(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setRandomBranch.trim().toLowerCase():{let v=Da(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setMaxWeightBranch.trim().toLowerCase():{let v=Na(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.setMinWeightBranch.trim().toLowerCase():{let v=qa(d);return v?.chapterId?(C(),S.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{chapterId:v.chapterId,autoSelect:!0}})):void 0}case T.continuePlayback.trim().toLowerCase():return C(),b.bind(null,{subjectId:h,subjectName:"chapter",action:p});case T.openURI.trim().toLowerCase():return C(),E.bind(null,{subjectId:h,subjectName:"chapter",action:p,payload:{URI:p.args.uri}});default:console.error("Unexpected chapter event"),t.emit(g.errors,new P(1,1,{message:"Unexpected chapter event"}));return}};function m(h){let p=Er(h.events);if(p){if(N(h))return;t.emit(g.interactives,{subjectId:h.id,subjectName:"chapter",type:x.actionChoice,actionType:p.action.type,payload:p.action.args}),r.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:T.expect,action:y.bind(null,{subjectId:h.id,subjectName:"chapter"})})}else h.events?.forEach(d=>{let C=u({chapterId:h.id,action:d.action,branches:h.branches});C&&r.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:d.action.type,action:C})})}let y=({subjectId:h,subjectName:p})=>{e.pause(),t.emit(g.interactives,{subjectId:h,subjectName:p,type:x.actionExecution,actionType:T.expect})},f=({subjectId:h,subjectName:p})=>{e.info.isEnded$.getValue()?r.execEndOfVideo():e.play(),t.emit(g.interactives,{subjectId:h,subjectName:p,type:x.actionExecution,actionType:"after-expect"})},b=({subjectId:h,subjectName:p,subjectType:d,action:C})=>{t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type})},S=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{v.behaviour="change-chapter",t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type,payload:v})},B=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{v.behaviour="change-manifest",t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type,payload:v})},E=({subjectId:h,subjectName:p,subjectType:d,action:C,payload:v})=>{if(!v.URI)return;let A=window.open(v.URI,"_blank","noopener,noreferrer");A&&(A.opener=null),t.emit(g.interactives,{subjectId:h,subjectName:p,subjectType:d,type:x.actionExecution,actionType:C.type})};return{onControlEvent:l,onContainerEvent:a,onChapterEvent:u,onExpectEvent:y,expectEventHandler:f,setManifestChapterEvents:m,setManifestContainerEvents:o,stopExpect:s,state:n}};var _r=D(hr(),1);import{Subscription as Ep,Subject as jr,ValueSubject as Le}from"@vkontakte/videoplayer-shared";var Lr=(t,e)=>{let r={};return t.map(i=>{if(!r[i]){let n=e.chapters.find(l=>l.id===i);if(!n)return null;let s=e.media.videos.find(l=>n.videoId===l.id);if(!s)return null;r[i]=Wa(s)}return r[i]}).filter(Boolean)},gp=t=>{for(let e of t.variants)if(bp(e)&&e.payload)return e.payload.id},bp=t=>!!(t.type==="custom"&&t.payload&&t.payload.type==="vk"),Wa=t=>{let e=gp(t);if(!e)return null;let r=e.split("_").pop();return r?parseInt(r,10):null},Cp=(t,e)=>{for(let r of t.media.videos)if(e===Wa(r)){for(let i of t.chapters)if(i.videoId===r.id)return i.id;return}},Ka=(t,e)=>t.reduce((r,i)=>{let n=Cp(e,i);return n?[...r,n]:r},[]);var je=class{constructor({globalEventEmitter:e,videoId:r,interactiveController:i,historyApi:n,settings:s}){this.state={history$:new Le([]),hasPrevChapter$:new Le(!1),prevChapter$:new Le(null),isInitialChapter$:new Le(!1),isGoBackLimited$:new Le(!1)};this.#r=null;this.#a=!1;this.#e=null;this.#u=null;this.events={inited$:new jr,destroyed$:new jr,error$:new jr};this.#i=null;this.#n=null;this.#t=null;this.#o=new Ep;this.#l=!1;this.#c=0;this.#i=r,this.#t=e,this.#n=i,this.#r=n,this.#s=s,this.state.history$&&this.#o&&this.#o?.add(this.state.history$.subscribe(l=>{this.state.prevChapter$.next((0,_r.default)(l,-2)||null),this.state.hasPrevChapter$.next(l.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===this.#e?.metadata?.initChapterId),this.state.isGoBackLimited$.next(this.#c===this.#s.maxLength-1)}))}#r;#s;#a;#e;#u;#i;#n;#t;#o;#l;#c;async setManifest(e){if(!this.#n||!this.#t)return;this.#e=e,await this.getProjectHistory();let r=this.getInitialChapterId();await this.#n.setChapter({chapterId:r,pushToHistory:!1}),this.#a||(this.#a=!0,this.events.inited$.next({initChapterId:r}))}get inited(){return this.#a}async updateHistory(e,r=!0){if(!this.#e)return;this.#l?(this.#l=!1,this.#c++):this.#c=0;let i=this.#e,n=e.length-this.#s.maxLength,s=n>0?e.slice(n):e,l=Lr(s,i);if(this.#u=l,this.state.history$.next(s),!(!r||!this.#r||!this.#i))try{await this.#r.save(this.#i,l)}catch{let o=new P(1,5,"Unable to save interactive history");this.events.error$.next(o),this.#t?.emit(g.errors,o)}}async goBack(){if(!this.state||!this.#n){let i=new P(1,5,"Unable to save interactive history");return this.events.error$.next(i),this.#t?.emit(g.errors,i)}this.#l=!0;let e=this.state.history$.getValue().slice(0,-1),r=e.pop();this.state.history$.next(e),await this.#n.setChapter({chapterId:r,playPrev:!0})}async getProjectHistory(){if(!this.#e||!this.#i)return;let e=this.#e,r=[this.getInitialVideoId()];if(this.#r)try{let n=await this.#r.get(this.#i);n.length&&(r=n)}catch{let s=new P(1,5,"Error while trying to fetch data");this.events.error$.next(s),this.#t?.emit(g.errors,s)}let i=Ka(r,e);this.state.history$.next(i)}getInitialChapterId(){let e=this.state.history$.getValue();return(0,_r.default)(e,-1)||this.#s.initChapterId||this.#e?.metadata.initChapterId}getInitialVideoId(){if(this.#e){let e=this.getInitialChapterId();return Lr([e],this.#e).pop()}return null}destroy(){this.#i=null,this.#r=null,this.#n=null,this.#o?.unsubscribe(),this.#o=null,this.#a=!1,this.#t?.emit(g.historyDestroyed),this.events.destroyed$.next(),this.#t=null}};var xt=class t{constructor(e,r,i,n){this.target=e,this.type=r,this.listener=i,this.options=t._convertOptions(e,n),this.target.addEventListener(r,i,this.options)}unlisten(){this.type&&this.listener&&this.options&&this.target?.removeEventListener(this.type,this.listener,this.options),this.target=null,this.type=null,this.listener=null,this.options=!1}static _convertOptions(e,r){if(r===void 0)return!1;if(typeof r=="boolean")return r;{let i=new Set(["passive","capture"]),n=Object.keys(r).filter(l=>!i.has(l));return n.length===0&&console.warn("Unsupported flag(s) to addEventListener: "+n.join(",")),t._doesSupportObject(e)?r:r.capture||!1}}static{this._supportsObject=void 0}static _doesSupportObject(e){let r=t._supportsObject;if(r===void 0){r=!1;try{let i={},n={get:()=>(r=!0,!1)};Object.defineProperty(i,"passive",n),Object.defineProperty(i,"capture",n);let s=()=>{};e.addEventListener("test",s,i),e.removeEventListener("test",s,i)}catch{r=!1}t._supportsObject=r}return r||!1}};var Tt=class{constructor(){this.bindingMap=new Ve}release(){this.removeAll(),this.bindingMap=null}listen(e,r,i,n){if(!this.bindingMap)return;let s=new xt(e,r,i,n);this.bindingMap.push(r,s)}listenOnce(e,r,i,n){let s=l=>{this.unlisten(e,r,s),i(l)};this.listen(e,r,s,n)}unlisten(e,r,i){if(!this.bindingMap)return;let n=this.bindingMap.get(r)||[];for(let s of n)s.target===e&&(i===s.listener||!i)&&(s.unlisten(),this.bindingMap.remove(r,s))}removeAll(){if(!this.bindingMap)return;let e=this.bindingMap.getAll();for(let r of e)r.unlisten();this.bindingMap.clear()}};var St=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){this.rootElement.getContext("2d")?.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){let e=this.rootElement.getContext("2d")?.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let r=e.data,i=r.length;for(let n=3;n<i;n+=40)if(r[n]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){this.canvasImgSrc&&this.rootElement.getContext("2d")?.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height)}async updateCanvasDimensions(e,r=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;r&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,r&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),r=new Image;return r.crossOrigin="anonymous",r.src=e,await r.decode(),r}restore(e){this.rootElement&&this.rootElement.getContext("2d")?.drawImage(e,0,0,this.rootElement.width,this.rootElement.height)}};var wt=class{constructor({parentElement:e,endOffsetMs:r=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let r=e??this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(r);if(this.isContainerTime(r))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
7
7
  position: absolute;
8
8
  top: 0;
9
9
  left: 0;