trtc-sdk-v5 5.10.1-wasm.3 → 5.10.1-wasm.5
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/assets/worker.js +7 -7
- package/package.json +1 -1
- package/plugins/cdn-streaming/package.json +1 -1
- package/plugins/cross-room/package.json +1 -1
- package/plugins/custom-encryption/package.json +1 -1
- package/plugins/device-detector/package.json +1 -1
- package/plugins/video-decoder/package.json +1 -1
- package/plugins/video-effect/basic-beauty/package.json +1 -1
- package/plugins/video-effect/beauty/package.json +1 -1
- package/plugins/video-effect/virtual-background/package.json +1 -1
- package/plugins/video-effect/watermark/package.json +1 -1
- package/plugins/voice-changer/package.json +1 -1
- package/trtc.esm.js +42 -42
- package/trtc.js +1 -1
package/trtc.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},u={},d={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!d.call({1:2},1);u.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:d;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,D=Object,C=T("".split),N=b((function(){return!D("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?C(e,""):D(e)}:D,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},j=r,G=F,W=function(e,t){return arguments.length<2?(r=j[e],G(r)?r:void 0):j[e]&&j[e][t];var r},K=T({}.isPrototypeOf),z=r.navigator,q=z&&z.userAgent,J=q?String(q):"",Y=r,X=J,$=Y.process,Q=Y.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=W,ce=F,le=K,ue=Object,de=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,ue(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={},be={get exports(){return Re},set exports(e){Re=e}},we=r,De=Object.defineProperty,Ce=function(e,t){try{De(we,e,{value:t,configurable:!0,writable:!0})}catch(r){we[e]=t}return t},Ne=r,ke=Ce,Oe="__core-js_shared__",Me=be.exports=Ne[Oe]||ke(Oe,{});(Me.versions||(Me.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Le=Re,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},je=T,Ge=0,We=Math.random(),Ke=je(1..toString),ze=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ke(++Ge+We,36)},qe=Pe,Je=He,Ye=ze,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Ye,tt=function(e){return Je(Ze,e)||(Ze[e]=Xe&&Je(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=de,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},ut=lt,dt=de,ht=function(e){var t=ut(e,"string");return dt(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=u,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Dt={},Ct=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Ct,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,jt="enumerable",Gt="configurable",Wt="writable";Dt.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Wt in r&&!r[Wt]){var i=Ht(e,t);i&&i[Wt]&&(e[t]=r.value,r={configurable:Gt in r?r[Gt]:i[Gt],enumerable:jt in r?r[jt]:i[jt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var Kt=Dt,zt=_,qt=n?function(e,t,r){return Kt.f(e,t,zt(1,r))}:function(e,t,r){return e[t]=r,e},Jt={},Yt={get exports(){return Jt},set exports(e){Jt=e}},Xt=n,$t=He,Qt=Function.prototype,Zt=Xt&&Object.getOwnPropertyDescriptor,er=$t(Qt,"name"),tr={EXISTS:er,PROPER:er&&"something"===function(){}.name,CONFIGURABLE:er&&(!Xt||Xt&&Zt(Qt,"name").configurable)},rr=F,ir=Re,or=T(Function.toString);rr(ir.inspectSource)||(ir.inspectSource=function(e){return or(e)});var nr,ar,sr,cr=ir.inspectSource,lr=F,ur=r.WeakMap,dr=lr(ur)&&/native code/.test(String(ur)),hr=ze,pr=Pe("keys"),mr=function(e){return pr[e]||(pr[e]=hr(e))},fr={},_r=dr,gr=r,Er=H,vr=qt,yr=He,Tr=Re,Ir=mr,Ar=fr,Sr="Object already initialized",Rr=gr.TypeError,br=gr.WeakMap;if(_r||Tr.state){var wr=Tr.state||(Tr.state=new br);wr.get=wr.get,wr.has=wr.has,wr.set=wr.set,nr=function(e,t){if(wr.has(e))throw new Rr(Sr);return t.facade=e,wr.set(e,t),t},ar=function(e){return wr.get(e)||{}},sr=function(e){return wr.has(e)}}else{var Dr=Ir("state");Ar[Dr]=!0,nr=function(e,t){if(yr(e,Dr))throw new Rr(Sr);return t.facade=e,vr(e,Dr,t),t},ar=function(e){return yr(e,Dr)?e[Dr]:{}},sr=function(e){return yr(e,Dr)}}var Cr={set:nr,get:ar,has:sr,enforce:function(e){return sr(e)?ar(e):nr(e,{})},getterFor:function(e){return function(t){var r;if(!Er(t)||(r=ar(t)).type!==e)throw new Rr("Incompatible receiver, "+e+" required");return r}}},Nr=T,kr=o,Or=F,Mr=He,Lr=n,Pr=tr.CONFIGURABLE,xr=cr,Ur=Cr.enforce,Vr=Cr.get,Fr=String,Br=Object.defineProperty,Hr=Nr("".slice),jr=Nr("".replace),Gr=Nr([].join),Wr=Lr&&!kr((function(){return 8!==Br((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Hr(Fr(t),0,7)&&(t="["+jr(Fr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Mr(e,"name")||Pr&&e.name!==t)&&(Lr?Br(e,"name",{value:t,configurable:!0}):e.name=t),Wr&&r&&Mr(r,"arity")&&e.length!==r.arity&&Br(e,"length",{value:r.arity});try{r&&Mr(r,"constructor")&&r.constructor?Lr&&Br(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=Ur(e);return Mr(i,"source")||(i.source=Gr(Kr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return Or(this)&&Vr(this).source||xr(this)}),"toString");var qr=F,Jr=Dt,Yr=Jt,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Yr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Jr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,ui=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},di=ui,hi=function(e){return di(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=fr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Di=W,Ci=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Di("Reflect","ownKeys")||function(e){var t=Ci.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Dt,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,ji=function(e,t){var r=Wi[Gi(e)];return r===zi||r!==Ki&&(Bi(t)?Fi(t):!!t)},Gi=ji.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Wi=ji.data={},Ki=ji.NATIVE="N",zi=ji.POLYFILL="P",qi=ji,Ji=r,Yi=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Ji:l?Ji[s]||Qi(s,{}):Ji[s]&&Ji[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Yi(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Jt,fo=Dt,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=K,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Do={},Co=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Do[t]=!0),t};Ro(Co,bo),Co.prototype=wo,wo.constructor=Co;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Do,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Co})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,jo=Dt.f,Go=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||jo(t,e,{value:Ho.f(e)})};Go("asyncIterator");var Wo=R,Ko=Array.isArray||function(e){return"Array"===Wo(e)},zo=TypeError,qo=R,Jo=T,Yo=function(e){if("Function"===qo(e))return Jo(e)},Xo=ge,$o=a,Qo=Yo(Yo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=Ko,tn=hi,rn=function(e){if(e>9007199254740991)throw zo("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,u=o,d=0,h=!!a&&on(a,s);d<i;)d in r&&(c=h?h(r[d],d,t):r[d],n>0&&en(c)?(l=tn(c),u=nn(e,t,c,l,u,n-1)-1):(rn(u+1),e[u]=c),u++),d++;return u},an=nn,sn=T,cn=o,ln=F,un=lo,dn=cr,hn=function(){},pn=W("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(un(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,dn(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=Ko,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Dn=Ve,Cn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Dn(this),r=Cn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Ct,Vn=Dt,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var jn,Gn=W("document","documentElement"),Wn=Mt,Kn=On,zn=Si,qn=fr,Jn=Gn,Yn=_t,Xn="prototype",$n="script",Qn=mr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{jn=new ActiveXObject("htmlfile")}catch(o){}var e,t,r;ra="undefined"!=typeof document?document.domain&&jn?ta(jn):(t=Yn("iframe"),r="java"+$n+":",t.style.display="none",Jn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F):ta(jn);for(var i=zn.length;i--;)delete ra[Xn][zn[i]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Wn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:Kn.f(r,t)},oa=tt,na=ia,aa=Dt.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},ua=gi.includes,da=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return ua(this,e,arguments.length>1?arguments[1]:void 0)}}),da("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=mr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Da=Sa,Ca=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Da(Da(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Ca(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Dt.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,ja=fa,Ga=function(){return this},Wa=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),ja[o]=Ga,e},Ka=T,za=ge,qa=H,Ja=function(e){return qa(e)||null===e},Ya=String,Xa=TypeError,$a=function(e,t,r){try{return Ka(za(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ja(e))return e;throw new Xa("Can't set "+Ya(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Wa,as=Sa,ss=ts,cs=Ua,ls=qt,us=$r,ds=fa,hs=tr.PROPER,ps=tr.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,u=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},d=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||u(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||us(s,_s,ys)),cs(s,d,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:u(Es),keys:n?f:u(gs),entries:u(vs)},a)for(l in c)(fs||h||!(l in p))&&us(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&us(p,_s,f,{name:o}),ds[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Dt.f,Ds=Ts,Cs=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Ds(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Cs(void 0,!0);switch(e.kind){case"keys":return Cs(r,!1);case"values":return Cs(t[r],!1)}return Cs([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(uj){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",js=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},Gs={left:js(!1),right:js(!0)},Ws=o,Ks=function(e,t){var r=[][e];return!!r&&Ws((function(){r.call(null,t||function(){return 1},1)}))},zs=r,qs=J,Js=R,Ys=function(e){return qs.slice(0,e.length)===e},Xs=Ys("Bun/")?"BUN":Ys("Cloudflare-Workers")?"CLOUDFLARE":Ys("Deno/")?"DENO":Ys("Node.js/")?"NODE":zs.Bun&&"string"==typeof Bun.version?"BUN":zs.Deno&&"object"==typeof Deno.version?"DENO":"process"===Js(zs.process)?"NODE":zs.window&&zs.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=Gs.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=Gs.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=Ko,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,u=c.length,d=0,h=0;d<l||h<u;)e[d+h]=d<l&&h<u?t(s[d],c[h])<=0?s[d++]:c[h++]:d<l?s[d++]:c[h++];return e},uc=lc,dc=J.match(/firefox\/(\d+)/i),hc=!!dc&&+dc[1],pc=/MSIE|Trident/.test(J),mc=J.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=uc,Rc=Ks,bc=hc,wc=pc,Dc=te,Cc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Dc)return Dc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Cc)return Cc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=K,Hc=TypeError,jc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},Gc=ii,Wc=ui,Kc=RangeError,zc=function(e){if(void 0===e)return 0;var t=Gc(e),r=Wc(t);if(t!==r)throw new Kc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Jc=qc,Yc=Math.abs,Xc=2220446049250313e-31,$c=1/Xc,Qc=function(e,t,r,i){var o=+e,n=Yc(o),a=Jc(o);if(n<i)return a*function(e){return e+$c-$c}(n/i/t)*i*t;var s=(1+t/Xc)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,u=23===t?rl(2,-24)-rl(2,-77):0,d=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?u/n:u*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*d,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],u=127&l;for(l>>=7;s>0;)u=256*u+e[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===u)u=1-a;else{if(u===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),u-=a}return(l?-1:1)*r*rl(2,u-t)}},sl=Ve,cl=si,ll=hi,ul=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},dl=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&dl(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=jc,Sl=ii,Rl=ui,bl=zc,wl=Zc,Dl=al,Cl=Sa,Nl=ts,kl=ul,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=tr.PROPER,Vl=tr.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",jl="Wrong index",Gl=xl.getterFor(Fl),Wl=xl.getterFor(Bl),Kl=xl.set,zl=fl[Fl],ql=zl,Jl=ql&&ql[Hl],Yl=fl[Bl],Xl=Yl&&Yl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,eu=_l(kl),tu=_l([].reverse),ru=Dl.pack,iu=Dl.unpack,ou=function(e){return[255&e]},nu=function(e){return[255&e,e>>8&255]},au=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},su=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cu=function(e){return ru(wl(e),23,4)},lu=function(e){return ru(e,52,8)},uu=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},du=function(e,t,r,i){var o=Wl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(jl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:tu(l)},hu=function(e,t,r,i,o,n){var a=Wl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(jl);for(var u=a.bytes,d=s+a.byteOffset,h=0;h<t;h++)u[d+h]=c[l?h:t-h-1]};if(El){var pu=Ul&&zl.name!==Fl;Il((function(){zl(1)}))&&Il((function(){new zl(-1)}))&&!Il((function(){return new zl,new zl(1.5),new zl(NaN),1!==zl.length||pu&&!Vl}))?pu&&Vl&&vl(zl,"name",Fl):((ql=function(e){return Al(this,Jl),Ml(new zl(bl(e)),this,ql)})[Hl]=Jl,Jl.constructor=ql,Ll(ql,zl)),Nl&&Cl(Xl)!==$l&&Nl(Xl,$l);var mu=new Yl(new ql(2)),fu=_l(Xl.setInt8);mu.setInt8(0,2147483648),mu.setInt8(1,2147483649),!mu.getInt8(0)&&mu.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fu(this,e,t<<24>>24)},setUint8:function(e,t){fu(this,e,t<<24>>24)}},{unsafe:!0})}else Jl=(ql=function(e){Al(this,Jl);var t=bl(e);Kl(this,{type:Fl,bytes:eu(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Yl=function(e,t,r){Al(this,Xl),Al(e,Jl);var i=Gl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");Kl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(uu(ql,"byteLength",Gl),uu(Yl,"buffer",Wl),uu(Yl,"byteLength",Wl),uu(Yl,"byteOffset",Wl)),Tl(Xl,{getInt8:function(e){return du(this,1,e)[0]<<24>>24},getUint8:function(e){return du(this,1,e)[0]},getInt16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return iu(du(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return iu(du(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hu(this,1,e,ou,t)},setUint8:function(e,t){hu(this,1,e,ou,t)},setInt16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hu(this,4,e,cu,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hu(this,8,e,lu,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Yl,Bl);var _u={ArrayBuffer:ql,DataView:Yl},gu=W,Eu=_o,vu=n,yu=tt("species"),Tu=function(e){var t=gu(e);vu&&t&&!t[yu]&&Eu(t,yu,{configurable:!0,get:function(){return this}})},Iu=Tu,Au="ArrayBuffer",Su=_u[Au];to({global:!0,constructor:!0,forced:r[Au]!==Su},{ArrayBuffer:Su}),Iu(Au);var Ru=vn,bu=pe,wu=TypeError,Du=function(e){if(Ru(e))return e;throw new wu(bu(e)+" is not a constructor")},Cu=Mt,Nu=Du,ku=k,Ou=tt("species"),Mu=function(e,t){var r,i=Cu(e).constructor;return void 0===i||ku(r=Cu(i)[Ou])?t:Nu(r)},Lu=to,Pu=Yo,xu=o,Uu=Mt,Vu=si,Fu=ui,Bu=Mu,Hu=_u.ArrayBuffer,ju=_u.DataView,Gu=ju.prototype,Wu=Pu(Hu.prototype.slice),Ku=Pu(Gu.getUint8),zu=Pu(Gu.setUint8);Lu({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:xu((function(){return!new Hu(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Wu&&void 0===t)return Wu(Uu(this),e);for(var r=Uu(this).byteLength,i=Vu(e,r),o=Vu(void 0===t?r:t,r),n=new(Bu(this,Hu))(Fu(o-i)),a=new ju(this),s=new ju(n),c=0;i<o;)zu(s,c++,Ku(a,i++));return n}});var qu,Ju,Yu,Xu,$u=a,Qu=Function.prototype,Zu=Qu.apply,ed=Qu.call,td="object"==typeof Reflect&&Reflect.apply||($u?ed.bind(Zu):function(){return ed.apply(Zu,arguments)}),rd=TypeError,id=function(e,t){if(e<t)throw new rd("Not enough arguments");return e},od=/(?:ipad|iphone|ipod).*applewebkit/i.test(J),nd=r,ad=td,sd=Zo,cd=F,ld=He,ud=o,dd=Gn,hd=ac,pd=_t,md=id,fd=od,_d=$s,gd=nd.setImmediate,Ed=nd.clearImmediate,vd=nd.process,yd=nd.Dispatch,Td=nd.Function,Id=nd.MessageChannel,Ad=nd.String,Sd=0,Rd={},bd="onreadystatechange";ud((function(){qu=nd.location}));var wd=function(e){if(ld(Rd,e)){var t=Rd[e];delete Rd[e],t()}},Dd=function(e){return function(){wd(e)}},Cd=function(e){wd(e.data)},Nd=function(e){nd.postMessage(Ad(e),qu.protocol+"//"+qu.host)};gd&&Ed||(gd=function(e){md(arguments.length,1);var t=cd(e)?e:Td(e),r=hd(arguments,1);return Rd[++Sd]=function(){ad(t,void 0,r)},Ju(Sd),Sd},Ed=function(e){delete Rd[e]},_d?Ju=function(e){vd.nextTick(Dd(e))}:yd&&yd.now?Ju=function(e){yd.now(Dd(e))}:Id&&!fd?(Xu=(Yu=new Id).port2,Yu.port1.onmessage=Cd,Ju=sd(Xu.postMessage,Xu)):nd.addEventListener&&cd(nd.postMessage)&&!nd.importScripts&&qu&&"file:"!==qu.protocol&&!ud(Nd)?(Ju=Nd,nd.addEventListener("message",Cd,!1)):Ju=bd in pd("script")?function(e){dd.appendChild(pd("script"))[bd]=function(){dd.removeChild(this),wd(e)}}:function(e){setTimeout(Dd(e),0)});var kd={set:gd,clear:Ed},Od=r,Md=n,Ld=Object.getOwnPropertyDescriptor,Pd=function(e){if(!Md)return Od[e];var t=Ld(Od,e);return t&&t.value},xd=function(){this.head=null,this.tail=null};xd.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var Ud,Vd,Fd,Bd,Hd,jd=xd,Gd=/ipad|iphone|ipod/i.test(J)&&"undefined"!=typeof Pebble,Wd=/web0s(?!.*chrome)/i.test(J),Kd=r,zd=Pd,qd=Zo,Jd=kd.set,Yd=jd,Xd=od,$d=Gd,Qd=Wd,Zd=$s,eh=Kd.MutationObserver||Kd.WebKitMutationObserver,th=Kd.document,rh=Kd.process,ih=Kd.Promise,oh=zd("queueMicrotask");if(!oh){var nh=new Yd,ah=function(){var e,t;for(Zd&&(e=rh.domain)&&e.exit();t=nh.get();)try{t()}catch(uj){throw nh.head&&Ud(),uj}e&&e.enter()};Xd||Zd||Qd||!eh||!th?!$d&&ih&&ih.resolve?((Bd=ih.resolve(void 0)).constructor=ih,Hd=qd(Bd.then,Bd),Ud=function(){Hd(ah)}):Zd?Ud=function(){rh.nextTick(ah)}:(Jd=qd(Jd,Kd),Ud=function(){Jd(ah)}):(Vd=!0,Fd=th.createTextNode(""),new eh(ah).observe(Fd,{characterData:!0}),Ud=function(){Fd.data=Vd=!Vd}),oh=function(e){nh.head||Ud(),nh.add(e)}}var sh=oh,ch=function(e){try{return{error:!1,value:e()}}catch(uj){return{error:!0,value:uj}}},lh=r.Promise,uh=r,dh=lh,hh=F,ph=qi,mh=cr,fh=tt,_h=Xs,gh=te;dh&&dh.prototype;var Eh=fh("species"),vh=!1,yh=hh(uh.PromiseRejectionEvent),Th=ph("Promise",(function(){var e=mh(dh),t=e!==String(dh);if(!t&&66===gh)return!0;if(!gh||gh<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[Eh]=i,!(vh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==_h&&"DENO"!==_h||yh)})),Ih={CONSTRUCTOR:Th,REJECTION_EVENT:yh,SUBCLASSING:vh},Ah={},Sh=ge,Rh=TypeError,bh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Rh("Bad Promise constructor");t=e,r=i})),this.resolve=Sh(t),this.reject=Sh(r)};Ah.f=function(e){return new bh(e)};var wh,Dh,Ch,Nh=to,kh=$s,Oh=r,Mh=l,Lh=$r,Ph=ts,xh=Ua,Uh=Tu,Vh=ge,Fh=F,Bh=H,Hh=jc,jh=Mu,Gh=kd.set,Wh=sh,Kh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(uj){}},zh=ch,qh=jd,Jh=Cr,Yh=lh,Xh=Ah,$h="Promise",Qh=Ih.CONSTRUCTOR,Zh=Ih.REJECTION_EVENT,ep=Ih.SUBCLASSING,tp=Jh.getterFor($h),rp=Jh.set,ip=Yh&&Yh.prototype,op=Yh,np=ip,ap=Oh.TypeError,sp=Oh.document,cp=Oh.process,lp=Xh.f,up=lp,dp=!!(sp&&sp.createEvent&&Oh.dispatchEvent),hp="unhandledrejection",pp=function(e){var t;return!(!Bh(e)||!Fh(t=e.then))&&t},mp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,u=e.domain;try{s?(a||(2===t.rejection&&vp(t),t.rejection=1),!0===s?r=n:(u&&u.enter(),r=s(n),u&&(u.exit(),o=!0)),r===e.promise?l(new ap("Promise-chain cycle")):(i=pp(r))?Mh(i,r,c,l):c(r)):l(n)}catch(uj){u&&!o&&u.exit(),l(uj)}},fp=function(e,t){e.notified||(e.notified=!0,Wh((function(){for(var r,i=e.reactions;r=i.get();)mp(r,e);e.notified=!1,t&&!e.rejection&&gp(e)})))},_p=function(e,t,r){var i,o;dp?((i=sp.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),Oh.dispatchEvent(i)):i={promise:t,reason:r},!Zh&&(o=Oh["on"+e])?o(i):e===hp&&Kh("Unhandled promise rejection",r)},gp=function(e){Mh(Gh,Oh,(function(){var t,r=e.facade,i=e.value;if(Ep(e)&&(t=zh((function(){kh?cp.emit("unhandledRejection",i,r):_p(hp,r,i)})),e.rejection=kh||Ep(e)?2:1,t.error))throw t.value}))},Ep=function(e){return 1!==e.rejection&&!e.parent},vp=function(e){Mh(Gh,Oh,(function(){var t=e.facade;kh?cp.emit("rejectionHandled",t):_p("rejectionhandled",t,e.value)}))},yp=function(e,t,r){return function(i){e(t,i,r)}},Tp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,fp(e,!0))},Ip=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new ap("Promise can't be resolved itself");var i=pp(t);i?Wh((function(){var r={done:!1};try{Mh(i,t,yp(Ip,r,e),yp(Tp,r,e))}catch(uj){Tp(r,uj,e)}})):(e.value=t,e.state=1,fp(e,!1))}catch(uj){Tp({done:!1},uj,e)}}};if(Qh&&(np=(op=function(e){Hh(this,np),Vh(e),Mh(wh,this);var t=tp(this);try{e(yp(Ip,t),yp(Tp,t))}catch(uj){Tp(t,uj)}}).prototype,(wh=function(e){rp(this,{type:$h,done:!1,notified:!1,parent:!1,reactions:new qh,rejection:!1,state:0,value:null})}).prototype=Lh(np,"then",(function(e,t){var r=tp(this),i=lp(jh(this,op));return r.parent=!0,i.ok=!Fh(e)||e,i.fail=Fh(t)&&t,i.domain=kh?cp.domain:void 0,0===r.state?r.reactions.add(i):Wh((function(){mp(i,r)})),i.promise})),Dh=function(){var e=new wh,t=tp(e);this.promise=e,this.resolve=yp(Ip,t),this.reject=yp(Tp,t)},Xh.f=lp=function(e){return e===op||undefined===e?new Dh(e):up(e)},Fh(Yh)&&ip!==Object.prototype)){Ch=ip.then,ep||Lh(ip,"then",(function(e,t){var r=this;return new op((function(e,t){Mh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete ip.constructor}catch(uj){}Ph&&Ph(ip,np)}Nh({global:!0,constructor:!0,wrap:!0,forced:Qh},{Promise:op}),xh(op,$h,!1),Uh($h);var Ap=fa,Sp=tt("iterator"),Rp=Array.prototype,bp=function(e){return void 0!==e&&(Ap.Array===e||Rp[Sp]===e)},wp=lo,Dp=ye,Cp=k,Np=fa,kp=tt("iterator"),Op=function(e){if(!Cp(e))return Dp(e,kp)||Dp(e,"@@iterator")||Np[wp(e)]},Mp=l,Lp=ge,Pp=Mt,xp=pe,Up=Op,Vp=TypeError,Fp=function(e,t){var r=arguments.length<2?Up(e):t;if(Lp(r))return Pp(Mp(r,e));throw new Vp(xp(e)+" is not iterable")},Bp=l,Hp=Mt,jp=ye,Gp=function(e,t,r){var i,o;Hp(e);try{if(!(i=jp(e,"return"))){if("throw"===t)throw r;return r}i=Bp(i,e)}catch(uj){o=!0,i=uj}if("throw"===t)throw r;if(o)throw i;return Hp(i),r},Wp=Zo,Kp=l,zp=Mt,qp=pe,Jp=bp,Yp=hi,Xp=K,$p=Fp,Qp=Op,Zp=Gp,em=TypeError,tm=function(e,t){this.stopped=e,this.result=t},rm=tm.prototype,im=function(e,t,r){var i,o,n,a,s,c,l,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=Wp(t,u),_=function(e){return i&&Zp(i,"normal",e),new tm(!0,e)},g=function(e){return d?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=Qp(e)))throw new em(qp(e)+" is not iterable");if(Jp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Xp(rm,s))return s;return new tm(!1)}i=$p(e,o)}for(c=h?e.next:i.next;!(l=Kp(c,i)).done;){try{s=g(l.value)}catch(uj){Zp(i,"throw",uj)}if("object"==typeof s&&s&&Xp(rm,s))return s}return new tm(!1)},om=tt("iterator"),nm=!1;try{var am=0,sm={next:function(){return{done:!!am++}},return:function(){nm=!0}};sm[om]=function(){return this},Array.from(sm,(function(){throw 2}))}catch(uj){}var cm=function(e,t){try{if(!t&&!nm)return!1}catch(uj){return!1}var r=!1;try{var i={};i[om]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(uj){}return r},lm=lh,um=Ih.CONSTRUCTOR||!cm((function(e){lm.all(e).then(void 0,(function(){}))})),dm=l,hm=ge,pm=Ah,mm=ch,fm=im;to({target:"Promise",stat:!0,forced:um},{all:function(e){var t=this,r=pm.f(t),i=r.resolve,o=r.reject,n=mm((function(){var r=hm(t.resolve),n=[],a=0,s=1;fm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var _m=to,gm=Ih.CONSTRUCTOR,Em=lh,vm=W,ym=F,Tm=$r,Im=Em&&Em.prototype;if(_m({target:"Promise",proto:!0,forced:gm,real:!0},{catch:function(e){return this.then(void 0,e)}}),ym(Em)){var Am=vm("Promise").prototype.catch;Im.catch!==Am&&Tm(Im,"catch",Am,{unsafe:!0})}var Sm=l,Rm=ge,bm=Ah,wm=ch,Dm=im;to({target:"Promise",stat:!0,forced:um},{race:function(e){var t=this,r=bm.f(t),i=r.reject,o=wm((function(){var o=Rm(t.resolve);Dm(e,(function(e){Sm(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ah;to({target:"Promise",stat:!0,forced:Ih.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Nm=Mt,km=H,Om=Ah,Mm=function(e,t){if(Nm(e),km(t)&&t.constructor===e)return t;var r=Om.f(e);return(0,r.resolve)(t),r.promise},Lm=to,Pm=Ih.CONSTRUCTOR,xm=Mm;W("Promise"),Lm({target:"Promise",stat:!0,forced:Pm},{resolve:function(e){return xm(this,e)}});var Um=to,Vm=lh,Fm=o,Bm=W,Hm=F,jm=Mu,Gm=Mm,Wm=$r,Km=Vm&&Vm.prototype;if(Um({target:"Promise",proto:!0,real:!0,forced:!!Vm&&Fm((function(){Km.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=jm(this,Bm("Promise")),r=Hm(e);return this.then(r?function(r){return Gm(t,e()).then((function(){return r}))}:e,r?function(r){return Gm(t,e()).then((function(){throw r}))}:e)}}),Hm(Vm)){var zm=Bm("Promise").prototype.finally;Km.finally!==zm&&Wm(Km,"finally",zm,{unsafe:!0})}var qm=H,Jm=R,Ym=tt("match"),Xm=Mt,$m=function(){var e=Xm(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},Qm=l,Zm=He,ef=K,tf=$m,rf=RegExp.prototype,of=o,nf=r.RegExp,af=of((function(){var e=nf("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),sf=af||of((function(){return!nf("a","y").sticky})),cf={BROKEN_CARET:af||of((function(){var e=nf("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:sf,UNSUPPORTED_Y:af},lf=Dt.f,uf=o,df=r.RegExp,hf=uf((function(){var e=df(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),pf=o,mf=r.RegExp,ff=pf((function(){var e=mf("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),_f=n,gf=r,Ef=T,vf=qi,yf=ml,Tf=qt,If=ia,Af=Qr.f,Sf=K,Rf=function(e){var t;return qm(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===Jm(e))},bf=po,wf=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},Df=cf,Cf=function(e,t,r){r in e||lf(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Nf=$r,kf=o,Of=He,Mf=Cr.enforce,Lf=Tu,Pf=hf,xf=ff,Uf=tt("match"),Vf=gf.RegExp,Ff=Vf.prototype,Bf=gf.SyntaxError,Hf=Ef(Ff.exec),jf=Ef("".charAt),Gf=Ef("".replace),Wf=Ef("".indexOf),Kf=Ef("".slice),zf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,qf=/a/g,Jf=/a/g,Yf=new Vf(qf)!==qf,Xf=Df.MISSED_STICKY,$f=Df.UNSUPPORTED_Y,Qf=_f&&(!Yf||Xf||Pf||xf||kf((function(){return Jf[Uf]=!1,Vf(qf)!==qf||Vf(Jf)===Jf||"/a/i"!==String(Vf(qf,"i"))})));if(vf("RegExp",Qf)){for(var Zf=function(e,t){var r,i,o,n,a,s,c=Sf(Ff,this),l=Rf(e),u=void 0===t,d=[],h=e;if(!c&&l&&u&&e.constructor===Zf)return e;if((l||Sf(Ff,e))&&(e=e.source,u&&(t=wf(h))),e=void 0===e?"":bf(e),t=void 0===t?"":bf(t),h=e,Pf&&"dotAll"in qf&&(i=!!t&&Wf(t,"s")>-1)&&(t=Gf(t,/s/g,"")),r=t,Xf&&"sticky"in qf&&(o=!!t&&Wf(t,"y")>-1)&&$f&&(t=Gf(t,/y/g,"")),xf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=If(null),s=!1,c=!1,l=0,u="";i<=r;i++){if("\\"===(t=jf(e,i)))t+=jf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Kf(e,i+1,i+3))continue;Hf(zf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===u||Of(a,u))throw new Bf("Invalid capture group name");a[u]=!0,n[n.length]=[u,l],c=!1,u="";continue}c?u+=t:o+=t}return[o,n]}(e),e=n[0],d=n[1]),a=yf(Vf(e,t),c?this:Ff,Zf),(i||o||d.length)&&(s=Mf(a),i&&(s.dotAll=!0,s.raw=Zf(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=jf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+jf(e,++i);return o}(e),r)),o&&(s.sticky=!0),d.length&&(s.groups=d)),e!==h)try{Tf(a,"source",""===h?"(?:)":h)}catch(uj){}return a},e_=Af(Vf),t_=0;e_.length>t_;)Cf(Zf,Vf,e_[t_++]);Ff.constructor=Zf,Zf.prototype=Ff,Nf(gf,"RegExp",Zf,{constructor:!0})}Lf("RegExp");var r_=l,i_=T,o_=po,n_=$m,a_=cf,s_=ia,c_=Cr.get,l_=hf,u_=ff,d_=Pe("native-string-replace",String.prototype.replace),h_=RegExp.prototype.exec,p_=h_,m_=i_("".charAt),f_=i_("".indexOf),__=i_("".replace),g_=i_("".slice),E_=function(){var e=/a/,t=/b*/g;return r_(h_,e,"a"),r_(h_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),v_=a_.BROKEN_CARET,y_=void 0!==/()??/.exec("")[1];(E_||y_||v_||l_||u_)&&(p_=function(e){var t,r,i,o,n,a,s,c=this,l=c_(c),u=o_(e),d=l.raw;if(d)return d.lastIndex=c.lastIndex,t=r_(p_,d,u),c.lastIndex=d.lastIndex,t;var h=l.groups,p=v_&&c.sticky,m=r_(n_,c),f=c.source,_=0,g=u;if(p&&(m=__(m,"y",""),-1===f_(m,"g")&&(m+="g"),g=g_(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==m_(u,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),y_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),E_&&(i=c.lastIndex),o=r_(h_,p?r:c,g),p?o?(o.input=g_(o.input,_),o[0]=g_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:E_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),y_&&o&&o.length>1&&r_(d_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=s_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var T_=p_;to({target:"RegExp",proto:!0,forced:/./.exec!==T_},{exec:T_});var I_=n,A_=_o,S_=$m,R_=o,b_=r.RegExp,w_=b_.prototype,D_=I_&&R_((function(){var e=!0;try{b_(".","d")}catch(uj){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(w_,"flags").get.call(t)!==i||r!==i}));D_&&A_(w_,"flags",{configurable:!0,get:S_});var C_=ii,N_=po,k_=L,O_=RangeError,M_=T,L_=ui,P_=po,x_=function(e){var t=N_(k_(this)),r="",i=C_(e);if(i<0||Infinity===i)throw new O_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},U_=L,V_=M_(x_),F_=M_("".slice),B_=Math.ceil,H_=function(e){return function(t,r,i){var o,n,a=P_(U_(t)),s=L_(r),c=a.length,l=void 0===i?" ":P_(i);return s<=c||""===l?a:((n=V_(l,B_((o=s-c)/l.length))).length>o&&(n=F_(n,0,o)),e?a+n:n+a)}},j_={start:H_(!1),end:H_(!0)},G_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(J),W_=j_.start;to({target:"String",proto:!0,forced:G_},{padStart:function(e){return W_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,z_=$r,q_=T_,J_=o,Y_=tt,X_=qt,$_=Y_("species"),Q_=RegExp.prototype,Z_=T,eg=ii,tg=po,rg=L,ig=Z_("".charAt),og=Z_("".charCodeAt),ng=Z_("".slice),ag=function(e){return function(t,r){var i,o,n=tg(rg(t)),a=eg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=og(n,a))<55296||i>56319||a+1===s||(o=og(n,a+1))<56320||o>57343?e?ig(n,a):i:e?ng(n,a,a+2):o-56320+(i-55296<<10)+65536}},sg={codeAt:ag(!1),charAt:ag(!0)},cg=sg.charAt,lg=T,ug=Ve,dg=Math.floor,hg=lg("".charAt),pg=lg("".replace),mg=lg("".slice),fg=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,_g=/\$([$&'`]|\d{1,2})/g,gg=l,Eg=Mt,vg=F,yg=R,Tg=T_,Ig=TypeError,Ag=td,Sg=l,Rg=T,bg=function(e,t,r,i){var o=Y_(e),n=!J_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!J_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[$_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===q_||a===Q_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));z_(String.prototype,e,c[0]),z_(Q_,o,c[1])}i&&X_(Q_[o],"sham",!0)},wg=o,Dg=Mt,Cg=F,Ng=k,kg=ii,Og=ui,Mg=po,Lg=L,Pg=function(e,t,r){return t+(r?cg(e,t).length:1)},xg=ye,Ug=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=_g;return void 0!==o&&(o=ug(o),c=fg),pg(n,c,(function(n,c){var l;switch(hg(c,0)){case"$":return"$";case"&":return e;case"`":return mg(t,0,r);case"'":return mg(t,a);case"<":l=o[mg(c,1,-1)];break;default:var u=+c;if(0===u)return n;if(u>s){var d=dg(u/10);return 0===d?n:d<=s?void 0===i[d-1]?hg(c,1):i[d-1]+hg(c,1):n}l=i[u-1]}return void 0===l?"":l}))},Vg=function(e,t){var r=e.exec;if(vg(r)){var i=gg(r,e,t);return null!==i&&Eg(i),i}if("RegExp"===yg(e))return gg(Tg,e,t);throw new Ig("RegExp#exec called on incompatible receiver")},Fg=tt("replace"),Bg=Math.max,Hg=Math.min,jg=Rg([].concat),Gg=Rg([].push),Wg=Rg("".indexOf),Kg=Rg("".slice),zg=function(e){return void 0===e?e:String(e)},qg="$0"==="a".replace(/./,"$0"),Jg=!!/./[Fg]&&""===/./[Fg]("a","$0");bg("replace",(function(e,t,r){var i=Jg?"$":"$0";return[function(e,r){var i=Lg(this),o=Ng(e)?void 0:xg(e,Fg);return o?Sg(o,e,i,r):Sg(t,Mg(i),e,r)},function(e,o){var n=Dg(this),a=Mg(e);if("string"==typeof o&&-1===Wg(o,i)&&-1===Wg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=Cg(o);c||(o=Mg(o));var l,u=n.global;u&&(l=n.unicode,n.lastIndex=0);for(var d,h=[];null!==(d=Vg(n,a))&&(Gg(h,d),u);){""===Mg(d[0])&&(n.lastIndex=Pg(a,Og(n.lastIndex),l))}for(var p="",m=0,f=0;f<h.length;f++){for(var _,g=Mg((d=h[f])[0]),E=Bg(Hg(kg(d.index),a.length),0),v=[],y=1;y<d.length;y++)Gg(v,zg(d[y]));var T=d.groups;if(c){var I=jg([g],v,E,a);void 0!==T&&Gg(I,T),_=Mg(Ag(o,void 0,I))}else _=Ug(g,a,E,v,T,o);E>=m&&(p+=Kg(a,m,E)+_,m=E+g.length)}return p+Kg(a,m)}]}),!!wg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!qg||Jg);var Yg="\t\n\v\f\r \u2028\u2029\ufeff",Xg=L,$g=po,Qg=Yg,Zg=T("".replace),eE=RegExp("^["+Qg+"]+"),tE=RegExp("(^|[^"+Qg+"])["+Qg+"]+$"),rE=function(e){return function(t){var r=$g(Xg(t));return 1&e&&(r=Zg(r,eE,"")),2&e&&(r=Zg(r,tE,"$1")),r}},iE={start:rE(1),end:rE(2),trim:rE(3)},oE=tr.PROPER,nE=o,aE=Yg,sE=iE.trim;to({target:"String",proto:!0,forced:function(e){return nE((function(){return!!aE[e]()||"
"!=="
"[e]()||oE&&aE[e].name!==e}))}("trim")},{trim:function(){return sE(this)}});var cE,lE,uE,dE={},hE={get exports(){return dE},set exports(e){dE=e}},pE=Uc,mE=n,fE=r,_E=F,gE=H,EE=He,vE=lo,yE=pe,TE=qt,IE=$r,AE=_o,SE=K,RE=Sa,bE=ts,wE=tt,DE=ze,CE=Cr.enforce,NE=Cr.get,kE=fE.Int8Array,OE=kE&&kE.prototype,ME=fE.Uint8ClampedArray,LE=ME&&ME.prototype,PE=kE&&RE(kE),xE=OE&&RE(OE),UE=Object.prototype,VE=fE.TypeError,FE=wE("toStringTag"),BE=DE("TYPED_ARRAY_TAG"),HE="TypedArrayConstructor",jE=pE&&!!bE&&"Opera"!==vE(fE.opera),GE=!1,WE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},KE={BigInt64Array:8,BigUint64Array:8},zE=function(e){var t=RE(e);if(gE(t)){var r=NE(t);return r&&EE(r,HE)?r[HE]:zE(t)}},qE=function(e){if(!gE(e))return!1;var t=vE(e);return EE(WE,t)||EE(KE,t)};for(cE in WE)(uE=(lE=fE[cE])&&lE.prototype)?CE(uE)[HE]=lE:jE=!1;for(cE in KE)(uE=(lE=fE[cE])&&lE.prototype)&&(CE(uE)[HE]=lE);if((!jE||!_E(PE)||PE===Function.prototype)&&(PE=function(){throw new VE("Incorrect invocation")},jE))for(cE in WE)fE[cE]&&bE(fE[cE],PE);if((!jE||!xE||xE===UE)&&(xE=PE.prototype,jE))for(cE in WE)fE[cE]&&bE(fE[cE].prototype,xE);if(jE&&RE(LE)!==xE&&bE(LE,xE),mE&&!EE(xE,FE))for(cE in GE=!0,AE(xE,FE,{configurable:!0,get:function(){return gE(this)?this[BE]:void 0}}),WE)fE[cE]&&TE(fE[cE],BE,cE);var JE={NATIVE_ARRAY_BUFFER_VIEWS:jE,TYPED_ARRAY_TAG:GE&&BE,aTypedArray:function(e){if(qE(e))return e;throw new VE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_E(e)&&(!bE||SE(PE,e)))return e;throw new VE(yE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(mE){if(r)for(var o in WE){var n=fE[o];if(n&&EE(n.prototype,e))try{delete n.prototype[e]}catch(uj){try{n.prototype[e]=t}catch(a){}}}xE[e]&&!r||IE(xE,e,r?t:jE&&OE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(mE){if(bE){if(r)for(i in WE)if((o=fE[i])&&EE(o,e))try{delete o[e]}catch(uj){}if(PE[e]&&!r)return;try{return IE(PE,e,r?t:jE&&PE[e]||t)}catch(uj){}}for(i in WE)!(o=fE[i])||o[e]&&!r||IE(o,e,t)}},getTypedArrayConstructor:zE,isView:function(e){if(!gE(e))return!1;var t=vE(e);return"DataView"===t||EE(WE,t)||EE(KE,t)},isTypedArray:qE,TypedArray:PE,TypedArrayPrototype:xE},YE=r,XE=o,$E=cm,QE=JE.NATIVE_ARRAY_BUFFER_VIEWS,ZE=YE.ArrayBuffer,ev=YE.Int8Array,tv=!QE||!XE((function(){ev(1)}))||!XE((function(){new ev(-1)}))||!$E((function(e){new ev,new ev(null),new ev(1.5),new ev(e)}),!0)||XE((function(){return 1!==new ev(new ZE(2),1,void 0).length})),rv=H,iv=Math.floor,ov=Number.isInteger||function(e){return!rv(e)&&isFinite(e)&&iv(e)===e},nv=ii,av=RangeError,sv=function(e){var t=nv(e);if(t<0)throw new av("The argument can't be less than 0");return t},cv=RangeError,lv=function(e,t){var r=sv(e);if(r%t)throw new cv("Wrong offset");return r},uv=Math.round,dv=lo,hv=lt,pv=TypeError,mv=function(e){var t=hv(e,"number");if("number"==typeof t)throw new pv("Can't convert number to bigint");return BigInt(t)},fv=Zo,_v=l,gv=Du,Ev=Ve,vv=hi,yv=Fp,Tv=Op,Iv=bp,Av=function(e){var t=dv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Sv=JE.aTypedArrayConstructor,Rv=mv,bv=Zo,wv=N,Dv=Ve,Cv=hi,Nv=bn,kv=T([].push),Ov=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,u,d){for(var h,p,m=Dv(c),f=wv(m),_=Cv(f),g=bv(l,u),E=0,v=d||Nv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:kv(y,h)}else switch(e){case 4:return!1;case 7:kv(y,h)}return n?-1:i||o?o:y}},Mv={forEach:Ov(0),map:Ov(1),filter:Ov(2),some:Ov(3),every:Ov(4),find:Ov(5),findIndex:Ov(6),filterReject:Ov(7)},Lv=hi,Pv=to,xv=r,Uv=l,Vv=n,Fv=tv,Bv=JE,Hv=_u,jv=jc,Gv=_,Wv=qt,Kv=ov,zv=ui,qv=zc,Jv=lv,Yv=function(e){var t=uv(e);return t<0?0:t>255?255:255&t},Xv=ht,$v=He,Qv=lo,Zv=H,ey=de,ty=ia,ry=K,iy=ts,oy=Qr.f,ny=function(e){var t,r,i,o,n,a,s,c,l=gv(this),u=Ev(e),d=arguments.length,h=d>1?arguments[1]:void 0,p=void 0!==h,m=Tv(u);if(m&&!Iv(m))for(c=(s=yv(u,m)).next,u=[];!(a=_v(c,s)).done;)u.push(a.value);for(p&&d>2&&(h=fv(h,arguments[2])),r=vv(u),i=new(Sv(l))(r),o=Av(i),t=0;r>t;t++)n=p?h(u[t],t):u[t],i[t]=o?Rv(n):+n;return i},ay=Mv.forEach,sy=Tu,cy=_o,ly=Dt,uy=i,dy=function(e,t,r){for(var i=0,o=arguments.length>2?r:Lv(t),n=new e(o);o>i;)n[i]=t[i++];return n},hy=ml,py=Cr.get,my=Cr.set,fy=Cr.enforce,_y=ly.f,gy=uy.f,Ey=xv.RangeError,vy=Hv.ArrayBuffer,yy=vy.prototype,Ty=Hv.DataView,Iy=Bv.NATIVE_ARRAY_BUFFER_VIEWS,Ay=Bv.TYPED_ARRAY_TAG,Sy=Bv.TypedArray,Ry=Bv.TypedArrayPrototype,by=Bv.isTypedArray,wy="BYTES_PER_ELEMENT",Dy="Wrong length",Cy=function(e,t){cy(e,t,{configurable:!0,get:function(){return py(this)[t]}})},Ny=function(e){var t;return ry(yy,e)||"ArrayBuffer"===(t=Qv(e))||"SharedArrayBuffer"===t},ky=function(e,t){return by(e)&&!ey(t)&&t in e&&Kv(+t)&&t>=0},Oy=function(e,t){return t=Xv(t),ky(e,t)?Gv(2,e[t]):gy(e,t)},My=function(e,t,r){return t=Xv(t),!(ky(e,t)&&Zv(r)&&$v(r,"value"))||$v(r,"get")||$v(r,"set")||r.configurable||$v(r,"writable")&&!r.writable||$v(r,"enumerable")&&!r.enumerable?_y(e,t,r):(e[t]=r.value,e)};Vv?(Iy||(uy.f=Oy,ly.f=My,Cy(Ry,"buffer"),Cy(Ry,"byteOffset"),Cy(Ry,"byteLength"),Cy(Ry,"length")),Pv({target:"Object",stat:!0,forced:!Iy},{getOwnPropertyDescriptor:Oy,defineProperty:My}),hE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=xv[o],c=s,l=c&&c.prototype,u={},d=function(e,t){_y(e,t,{get:function(){return function(e,t){var r=py(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=py(e);n.view[a](t*i+n.byteOffset,r?Yv(o):o,!0)}(this,t,e)},enumerable:!0})};Iy?Fv&&(c=t((function(e,t,r,o){return jv(e,l),hy(Zv(t)?Ny(t)?void 0!==o?new s(t,Jv(r,i),o):void 0!==r?new s(t,Jv(r,i)):new s(t):by(t)?dy(c,t):Uv(ny,c,t):new s(qv(t)),e,c)})),iy&&iy(c,Sy),ay(oy(s),(function(e){e in c||Wv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){jv(e,l);var n,a,s,u=0,h=0;if(Zv(t)){if(!Ny(t))return by(t)?dy(c,t):Uv(ny,c,t);n=t,h=Jv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ey(Dy);if((a=p-h)<0)throw new Ey(Dy)}else if((a=zv(o)*i)+h>p)throw new Ey(Dy);s=a/i}else s=qv(t),n=new vy(a=s*i);for(my(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ty(n)});u<s;)d(e,u++)})),iy&&iy(c,Sy),l=c.prototype=ty(Ry)),l.constructor!==c&&Wv(l,"constructor",c),fy(l).TypedArrayConstructor=c,Ay&&Wv(l,Ay,o);var h=c!==s;u[o]=c,Pv({global:!0,constructor:!0,forced:h,sham:!Iy},u),wy in c||Wv(c,wy,i),wy in l||Wv(l,wy,i),sy(o)}):hE.exports=function(){},dE("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),dE("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Ly=ul,Py=mv,xy=lo,Uy=l,Vy=o,Fy=JE.aTypedArray,By=JE.exportTypedArrayMethod,Hy=T("".slice);By("fill",(function(e){var t=arguments.length;Fy(this);var r="Big"===Hy(xy(this),0,3)?Py(e):+e;return Uy(Ly,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Vy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var jy=r,Gy=l,Wy=JE,Ky=hi,zy=lv,qy=Ve,Jy=o,Yy=jy.RangeError,Xy=jy.Int8Array,$y=Xy&&Xy.prototype,Qy=$y&&$y.set,Zy=Wy.aTypedArray,eT=Wy.exportTypedArrayMethod,tT=!Jy((function(){var e=new Uint8ClampedArray(2);return Gy(Qy,e,{length:1,0:3},1),3!==e[1]})),rT=tT&&Wy.NATIVE_ARRAY_BUFFER_VIEWS&&Jy((function(){var e=new Xy(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));eT("set",(function(e){Zy(this);var t=zy(arguments.length>1?arguments[1]:void 0,1),r=qy(e);if(tT)return Gy(Qy,this,r,t);var i=this.length,o=Ky(r),n=0;if(o+t>i)throw new Yy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!tT||rT);var iT=Yo,oT=o,nT=ge,aT=uc,sT=hc,cT=pc,lT=te,uT=fc,dT=JE.aTypedArray,hT=JE.exportTypedArrayMethod,pT=r.Uint16Array,mT=pT&&iT(pT.prototype.sort),fT=!(!mT||oT((function(){mT(new pT(2),null)}))&&oT((function(){mT(new pT(2),{})}))),_T=!!mT&&!oT((function(){if(lT)return lT<74;if(sT)return sT<67;if(cT)return!0;if(uT)return uT<602;var e,t,r=new pT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(mT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));hT("sort",(function(e){return void 0!==e&&nT(e),_T?mT(this,e):aT(dT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!_T||fT);var gT={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ET=_t("span").classList,vT=ET&&ET.constructor&&ET.constructor.prototype,yT=vT===Object.prototype?void 0:vT,TT=Mv.forEach,IT=Ks("forEach")?[].forEach:function(e){return TT(this,e,arguments.length>1?arguments[1]:void 0)},AT=r,ST=gT,RT=yT,bT=IT,wT=qt,DT=function(e){if(e&&e.forEach!==bT)try{wT(e,"forEach",bT)}catch(uj){e.forEach=bT}};for(var CT in ST)ST[CT]&&DT(AT[CT]&&AT[CT].prototype);DT(RT);var NT=r,kT=gT,OT=yT,MT=Ls,LT=qt,PT=Ua,xT=tt("iterator"),UT=MT.values,VT=function(e,t){if(e){if(e[xT]!==UT)try{LT(e,xT,UT)}catch(uj){e[xT]=UT}if(PT(e,t,!0),kT[t])for(var r in MT)if(e[r]!==MT[r])try{LT(e,r,MT[r])}catch(uj){e[r]=MT[r]}}};for(var FT in kT)VT(NT[FT]&&NT[FT].prototype,FT);VT(OT,"DOMTokenList");var BT=sg.charAt,HT=po,jT=Cr,GT=Ts,WT=Is,KT="String Iterator",zT=jT.set,qT=jT.getterFor(KT);GT(String,"String",(function(e){zT(this,{type:KT,string:HT(e),index:0})}),(function(){var e,t=qT(this),r=t.string,i=t.index;return i>=r.length?WT(void 0,!0):(e=BT(r,i),t.index+=e.length,WT(e,!1))}));var JT=o,YT=n,XT=tt("iterator"),$T=!JT((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!YT||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[XT]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),QT=n,ZT=T,eI=l,tI=o,rI=Pn,iI=wi,oI=u,nI=Ve,aI=N,sI=Object.assign,cI=Object.defineProperty,lI=ZT([].concat),uI=!sI||tI((function(){if(QT&&1!==sI({b:1},sI(cI({},"a",{enumerable:!0,get:function(){cI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==sI({},e)[r]||rI(sI({},t)).join("")!==i}))?function(e,t){for(var r=nI(e),i=arguments.length,o=1,n=iI.f,a=oI.f;i>o;)for(var s,c=aI(arguments[o++]),l=n?lI(rI(c),n(c)):rI(c),u=l.length,d=0;u>d;)s=l[d++],QT&&!eI(a,c,s)||(r[s]=c[s]);return r}:sI,dI=Mt,hI=Gp,pI=n,mI=Dt,fI=_,_I=Zo,gI=l,EI=Ve,vI=function(e,t,r,i){try{return i?t(dI(r)[0],r[1]):t(r)}catch(uj){hI(e,"throw",uj)}},yI=bp,TI=vn,II=hi,AI=function(e,t,r){pI?mI.f(e,t,fI(0,r)):e[t]=r},SI=Fp,RI=Op,bI=Array,wI=T,DI=2147483647,CI=/[^\0-\u007E]/,NI=/[.\u3002\uFF0E\uFF61]/g,kI="Overflow: input needs wider integers to process",OI=RangeError,MI=wI(NI.exec),LI=Math.floor,PI=String.fromCharCode,xI=wI("".charCodeAt),UI=wI([].join),VI=wI([].push),FI=wI("".replace),BI=wI("".split),HI=wI("".toLowerCase),jI=function(e){return e+22+75*(e<26)},GI=function(e,t,r){var i=0;for(e=r?LI(e/700):e>>1,e+=LI(e/t);e>455;)e=LI(e/35),i+=36;return LI(i+36*e/(e+38))},WI=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=xI(e,r++);if(o>=55296&&o<=56319&&r<i){var n=xI(e,r++);56320==(64512&n)?VI(t,((1023&o)<<10)+(1023&n)+65536):(VI(t,o),r--)}else VI(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&VI(t,PI(i));var c=t.length,l=c;for(c&&VI(t,"-");l<o;){var u=DI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<u&&(u=i);var d=l+1;if(u-n>LI((DI-a)/d))throw new OI(kI);for(a+=(u-n)*d,n=u,r=0;r<e.length;r++){if((i=e[r])<n&&++a>DI)throw new OI(kI);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;VI(t,PI(jI(m+f%_))),h=LI(f/_),p+=36}VI(t,PI(jI(h))),s=GI(a,d,l===c),a=0,l++}}a++,n++}return UI(t,"")},KI=to,zI=T,qI=si,JI=RangeError,YI=String.fromCharCode,XI=String.fromCodePoint,$I=zI([].join);KI({target:"String",stat:!0,arity:1,forced:!!XI&&1!==XI.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],qI(t,1114111)!==t)throw new JI(t+" is not a valid code point");r[o]=t<65536?YI(t):YI(55296+((t-=65536)>>10),t%1024+56320)}return $I(r,"")}});var QI=to,ZI=r,eA=Pd,tA=W,rA=l,iA=T,oA=n,nA=$T,aA=$r,sA=_o,cA=Fc,lA=Ua,uA=Wa,dA=Cr,hA=jc,pA=F,mA=He,fA=Zo,_A=lo,gA=Mt,EA=H,vA=po,yA=ia,TA=_,IA=Fp,AA=Op,SA=Is,RA=id,bA=uc,wA=tt("iterator"),DA="URLSearchParams",CA=DA+"Iterator",NA=dA.set,kA=dA.getterFor(DA),OA=dA.getterFor(CA),MA=eA("fetch"),LA=eA("Request"),PA=eA("Headers"),xA=LA&&LA.prototype,UA=PA&&PA.prototype,VA=ZI.TypeError,FA=ZI.encodeURIComponent,BA=String.fromCharCode,HA=tA("String","fromCodePoint"),jA=parseInt,GA=iA("".charAt),WA=iA([].join),KA=iA([].push),zA=iA("".replace),qA=iA([].shift),JA=iA([].splice),YA=iA("".split),XA=iA("".slice),$A=iA(/./.exec),QA=/\+/g,ZA=/^[0-9a-f]+$/i,eS=function(e,t){var r=XA(e,t,t+2);return $A(ZA,r)?jA(r,16):NaN},tS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},rS=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},iS=function(e){for(var t=(e=zA(e,QA," ")).length,r="",i=0;i<t;){var o=GA(e,i);if("%"===o){if("%"===GA(e,i+1)||i+3>t){r+="%",i++;continue}var n=eS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=tS(n);if(0===a)o=BA(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==GA(e,i));){var l=eS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;KA(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var u=rS(s);null===u?r+="�":o=HA(u)}}r+=o,i++}return r},oS=/[!'()~]|%20/g,nS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},aS=function(e){return nS[e]},sS=function(e){return zA(FA(e),oS,aS)},cS=uA((function(e,t){NA(this,{type:CA,target:kA(e).entries,index:0,kind:t})}),DA,(function(){var e=OA(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,SA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return SA(i.key,!1);case"values":return SA(i.value,!1)}return SA([i.key,i.value],!1)}),!0),lS=function(e){this.entries=[],this.url=null,void 0!==e&&(EA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===GA(e,0)?XA(e,1):e:vA(e)))};lS.prototype={type:DA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=AA(e);if(l)for(r=(t=IA(e,l)).next;!(i=rA(r,t)).done;){if(n=(o=IA(gA(i.value))).next,(a=rA(n,o)).done||(s=rA(n,o)).done||!rA(n,o).done)throw new VA("Expected sequence with length 2");KA(c,{key:vA(a.value),value:vA(s.value)})}else for(var u in e)mA(e,u)&&KA(c,{key:u,value:vA(e[u])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=YA(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=YA(t,"="),KA(i,{key:iS(qA(r)),value:iS(WA(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],KA(r,sS(e.key)+"="+sS(e.value));return WA(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var uS=function(){hA(this,dS);var e=NA(this,new lS(arguments.length>0?arguments[0]:void 0));oA||(this.size=e.entries.length)},dS=uS.prototype;if(cA(dS,{append:function(e,t){var r=kA(this);RA(arguments.length,2),KA(r.entries,{key:vA(e),value:vA(t)}),oA||this.length++,r.updateURL()},delete:function(e){for(var t=kA(this),r=RA(arguments.length,1),i=t.entries,o=vA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:vA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(JA(i,s,1),void 0!==a)break}oA||(this.size=i.length),t.updateURL()},get:function(e){var t=kA(this).entries;RA(arguments.length,1);for(var r=vA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=kA(this).entries;RA(arguments.length,1);for(var r=vA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&KA(i,t[o].value);return i},has:function(e){for(var t=kA(this).entries,r=RA(arguments.length,1),i=vA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:vA(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=kA(this);RA(arguments.length,1);for(var i,o=r.entries,n=!1,a=vA(e),s=vA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?JA(o,c--,1):(n=!0,i.value=s));n||KA(o,{key:a,value:s}),oA||(this.size=o.length),r.updateURL()},sort:function(){var e=kA(this);bA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=kA(this).entries,i=fA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new cS(this,"keys")},values:function(){return new cS(this,"values")},entries:function(){return new cS(this,"entries")}},{enumerable:!0}),aA(dS,wA,dS.entries,{name:"entries"}),aA(dS,"toString",(function(){return kA(this).serialize()}),{enumerable:!0}),oA&&sA(dS,"size",{get:function(){return kA(this).entries.length},configurable:!0,enumerable:!0}),lA(uS,DA),QI({global:!0,constructor:!0,forced:!nA},{URLSearchParams:uS}),!nA&&pA(PA)){var hS=iA(UA.has),pS=iA(UA.set),mS=function(e){if(EA(e)){var t,r=e.body;if(_A(r)===DA)return t=e.headers?new PA(e.headers):new PA,hS(t,"content-type")||pS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),yA(e,{body:TA(0,vA(r)),headers:TA(0,t)})}return e};if(pA(MA)&&QI({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return MA(e,arguments.length>1?mS(arguments[1]):{})}}),pA(LA)){var fS=function(e){return hA(this,xA),new LA(e,arguments.length>1?mS(arguments[1]):{})};xA.constructor=fS,fS.prototype=xA,QI({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:fS})}}var _S,gS=to,ES=n,vS=$T,yS=r,TS=Zo,IS=T,AS=$r,SS=_o,RS=jc,bS=He,wS=uI,DS=function(e){var t=EI(e),r=TI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=_I(o,i>2?arguments[2]:void 0));var a,s,c,l,u,d,h=RI(t),p=0;if(!h||this===bI&&yI(h))for(a=II(t),s=r?new this(a):bI(a);a>p;p++)d=n?o(t[p],p):t[p],AI(s,p,d);else for(s=r?new this:[],u=(l=SI(t,h)).next;!(c=gI(u,l)).done;p++)d=n?vI(l,o,[c.value,p],!0):c.value,AI(s,p,d);return s.length=p,s},CS=ac,NS=sg.codeAt,kS=function(e){var t,r,i=[],o=BI(FI(HI(e),NI,"."),".");for(t=0;t<o.length;t++)r=o[t],VI(i,MI(CI,r)?"xn--"+WI(r):r);return UI(i,".")},OS=po,MS=Ua,LS=id,PS={URLSearchParams:uS,getState:kA},xS=Cr,US=xS.set,VS=xS.getterFor("URL"),FS=PS.URLSearchParams,BS=PS.getState,HS=yS.URL,jS=yS.TypeError,GS=yS.parseInt,WS=Math.floor,KS=Math.pow,zS=IS("".charAt),qS=IS(/./.exec),JS=IS([].join),YS=IS(1..toString),XS=IS([].pop),$S=IS([].push),QS=IS("".replace),ZS=IS([].shift),eR=IS("".split),tR=IS("".slice),rR=IS("".toLowerCase),iR=IS([].unshift),oR="Invalid scheme",nR="Invalid host",aR="Invalid port",sR=/[a-z]/i,cR=/[\d+-.a-z]/i,lR=/\d/,uR=/^0x/i,dR=/^[0-7]+$/,hR=/^\d+$/,pR=/^[\da-f]+$/i,mR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,fR=/[\0\t\n\r #/:<>?@[\\\]^|]/,_R=/^[\u0000-\u0020]+/,gR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,ER=/[\t\n\r]/g,vR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)iR(t,e%256),e=WS(e/256);return JS(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=YS(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},yR={},TR=wS({},yR,{" ":1,'"':1,"<":1,">":1,"`":1}),IR=wS({},TR,{"#":1,"?":1,"{":1,"}":1}),AR=wS({},IR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),SR=function(e,t){var r=NS(e,0);return r>32&&r<127&&!bS(t,e)?e:encodeURIComponent(e)},RR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},bR=function(e,t){var r;return 2===e.length&&qS(sR,zS(e,0))&&(":"===(r=zS(e,1))||!t&&"|"===r)},wR=function(e){var t;return e.length>1&&bR(tR(e,0,2))&&(2===e.length||"/"===(t=zS(e,2))||"\\"===t||"?"===t||"#"===t)},DR=function(e){return"."===e||"%2e"===rR(e)},CR={},NR={},kR={},OR={},MR={},LR={},PR={},xR={},UR={},VR={},FR={},BR={},HR={},jR={},GR={},WR={},KR={},zR={},qR={},JR={},YR={},XR=function(e,t,r){var i,o,n,a=OS(e);if(t){if(o=this.parse(a))throw new jS(o);this.searchParams=null}else{if(void 0!==r&&(i=new XR(r,!0)),o=this.parse(a,null,i))throw new jS(o);(n=BS(new FS)).bindURL(this),this.searchParams=n}};XR.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||CR,u=0,d="",h=!1,p=!1,m=!1;for(e=OS(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=QS(e,_R,""),e=QS(e,gR,"$1")),e=QS(e,ER,""),i=DS(e);u<=i.length;){switch(o=i[u],l){case CR:if(!o||!qS(sR,o)){if(t)return oR;l=kR;continue}d+=rR(o),l=NR;break;case NR:if(o&&(qS(cR,o)||"+"===o||"-"===o||"."===o))d+=rR(o);else{if(":"!==o){if(t)return oR;d="",l=kR,u=0;continue}if(t&&(c.isSpecial()!==bS(RR,d)||"file"===d&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=d,t)return void(c.isSpecial()&&RR[c.scheme]===c.port&&(c.port=null));d="","file"===c.scheme?l=jR:c.isSpecial()&&r&&r.scheme===c.scheme?l=OR:c.isSpecial()?l=xR:"/"===i[u+1]?(l=MR,u++):(c.cannotBeABaseURL=!0,$S(c.path,""),l=qR)}break;case kR:if(!r||r.cannotBeABaseURL&&"#"!==o)return oR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=CS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=YR;break}l="file"===r.scheme?jR:LR;continue;case OR:if("/"!==o||"/"!==i[u+1]){l=LR;continue}l=UR,u++;break;case MR:if("/"===o){l=VR;break}l=zR;continue;case LR:if(c.scheme=r.scheme,o===_S)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=PR;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query="",l=JR;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.path.length--,l=zR;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query=r.query,c.fragment="",l=YR}break;case PR:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=zR;continue}l=VR}else l=UR;break;case xR:if(l=UR,"/"!==o||"/"!==zS(d,u+1))continue;u++;break;case UR:if("/"!==o&&"\\"!==o){l=VR;continue}break;case VR:if("@"===o){h&&(d="%40"+d),h=!0,n=DS(d);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=SR(_,AR);m?c.password+=g:c.username+=g}else m=!0}d=""}else if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===d)return"Invalid authority";u-=DS(d).length+1,d="",l=FR}else d+=o;break;case FR:case BR:if(t&&"file"===c.scheme){l=WR;continue}if(":"!==o||p){if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===d)return nR;if(t&&""===d&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(d))return a;if(d="",l=KR,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),d+=o}else{if(""===d)return nR;if(a=c.parseHost(d))return a;if(d="",l=HR,t===BR)return}break;case HR:if(!qS(lR,o)){if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==d){var E=GS(d,10);if(E>65535)return aR;c.port=c.isSpecial()&&E===RR[c.scheme]?null:E,d=""}if(t)return;l=KR;continue}return aR}d+=o;break;case jR:if(c.scheme="file","/"===o||"\\"===o)l=GR;else{if(!r||"file"!==r.scheme){l=zR;continue}switch(o){case _S:c.host=r.host,c.path=CS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=CS(r.path),c.query="",l=JR;break;case"#":c.host=r.host,c.path=CS(r.path),c.query=r.query,c.fragment="",l=YR;break;default:wR(JS(CS(i,u),""))||(c.host=r.host,c.path=CS(r.path),c.shortenPath()),l=zR;continue}}break;case GR:if("/"===o||"\\"===o){l=WR;break}r&&"file"===r.scheme&&!wR(JS(CS(i,u),""))&&(bR(r.path[0],!0)?$S(c.path,r.path[0]):c.host=r.host),l=zR;continue;case WR:if(o===_S||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&bR(d))l=zR;else if(""===d){if(c.host="",t)return;l=KR}else{if(a=c.parseHost(d))return a;if("localhost"===c.host&&(c.host=""),t)return;d="",l=KR}continue}d+=o;break;case KR:if(c.isSpecial()){if(l=zR,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==_S&&(l=zR,"/"!==o))continue}else c.fragment="",l=YR;else c.query="",l=JR;break;case zR:if(o===_S||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=rR(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||$S(c.path,"")):DR(d)?"/"===o||"\\"===o&&c.isSpecial()||$S(c.path,""):("file"===c.scheme&&!c.path.length&&bR(d)&&(c.host&&(c.host=""),d=zS(d,0)+":"),$S(c.path,d)),d="","file"===c.scheme&&(o===_S||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)ZS(c.path);"?"===o?(c.query="",l=JR):"#"===o&&(c.fragment="",l=YR)}else d+=SR(o,IR);break;case qR:"?"===o?(c.query="",l=JR):"#"===o?(c.fragment="",l=YR):o!==_S&&(c.path[0]+=SR(o,yR));break;case JR:t||"#"!==o?o!==_S&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":SR(o,yR)):(c.fragment="",l=YR);break;case YR:o!==_S&&(c.fragment+=SR(o,TR))}u++}},parseHost:function(e){var t,r,i;if("["===zS(e,0)){if("]"!==zS(e,e.length-1))return nR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,d=0,h=function(){return zS(e,d)};if(":"===h()){if(":"!==zS(e,1))return;d+=2,u=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&qS(pR,h());)t=16*t+GS(h(),16),d++,r++;if("."===h()){if(0===r)return;if(d-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;d++}if(!qS(lR,h()))return;for(;qS(lR,h());){if(n=GS(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;d++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(d++,!h())return}else if(h())return;c[l++]=t}else{if(null!==u)return;d++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(tR(e,1,-1)),!t)return nR;this.host=t}else if(this.isSpecial()){if(e=kS(e),qS(mR,e))return nR;if(t=function(e){var t,r,i,o,n,a,s,c=eR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===zS(o,0)&&(n=qS(uR,o)?16:8,o=tR(o,8===n?1:2)),""===o)a=0;else{if(!qS(10===n?hR:8===n?dR:pR,o))return e;a=GS(o,n)}$S(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=KS(256,5-t))return null}else if(a>255)return null;for(s=XS(r),i=0;i<r.length;i++)s+=r[i]*KS(256,3-i);return s}(e),null===t)return nR;this.host=t}else{if(qS(fR,e))return nR;for(t="",r=DS(e),i=0;i<r.length;i++)t+=SR(r[i],yR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return bS(RR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&bR(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=vR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+JS(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new jS(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new $R(e.path[0]).origin}catch(uj){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+vR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(OS(e)+":",CR)},getUsername:function(){return this.username},setUsername:function(e){var t=DS(OS(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=SR(t[r],AR)}},getPassword:function(){return this.password},setPassword:function(e){var t=DS(OS(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=SR(t[r],AR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?vR(e):vR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,FR)},getHostname:function(){var e=this.host;return null===e?"":vR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,BR)},getPort:function(){var e=this.port;return null===e?"":OS(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=OS(e))?this.port=null:this.parse(e,HR))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+JS(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,KR))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=OS(e))?this.query=null:("?"===zS(e,0)&&(e=tR(e,1)),this.query="",this.parse(e,JR)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=OS(e))?("#"===zS(e,0)&&(e=tR(e,1)),this.fragment="",this.parse(e,YR)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var $R=function(e){var t=RS(this,QR),r=LS(arguments.length,1)>1?arguments[1]:void 0,i=US(t,new XR(e,!1,r));ES||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},QR=$R.prototype,ZR=function(e,t){return{get:function(){return VS(this)[e]()},set:t&&function(e){return VS(this)[t](e)},configurable:!0,enumerable:!0}};if(ES&&(SS(QR,"href",ZR("serialize","setHref")),SS(QR,"origin",ZR("getOrigin")),SS(QR,"protocol",ZR("getProtocol","setProtocol")),SS(QR,"username",ZR("getUsername","setUsername")),SS(QR,"password",ZR("getPassword","setPassword")),SS(QR,"host",ZR("getHost","setHost")),SS(QR,"hostname",ZR("getHostname","setHostname")),SS(QR,"port",ZR("getPort","setPort")),SS(QR,"pathname",ZR("getPathname","setPathname")),SS(QR,"search",ZR("getSearch","setSearch")),SS(QR,"searchParams",ZR("getSearchParams")),SS(QR,"hash",ZR("getHash","setHash"))),AS(QR,"toJSON",(function(){return VS(this).serialize()}),{enumerable:!0}),AS(QR,"toString",(function(){return VS(this).serialize()}),{enumerable:!0}),HS){var eb=HS.createObjectURL,tb=HS.revokeObjectURL;eb&&AS($R,"createObjectURL",TS(eb,HS)),tb&&AS($R,"revokeObjectURL",TS(tb,HS))}MS($R,"URL"),gS({global:!0,constructor:!0,forced:!vS,sham:!ES},{URL:$R});var rb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return rb(URL.prototype.toString,this)}});var ib,ob=Object.create,nb=Object.defineProperty,ab=Object.defineProperties,sb=Object.getOwnPropertyDescriptor,cb=Object.getOwnPropertyDescriptors,lb=Object.getOwnPropertyNames,ub=Object.getOwnPropertySymbols,db=Object.getPrototypeOf,hb=Object.prototype.hasOwnProperty,pb=Object.prototype.propertyIsEnumerable,mb=Reflect.get,fb=Math.pow,_b=(e,t,r)=>t in e?nb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gb=(e,t)=>{for(var r in t||(t={}))hb.call(t,r)&&_b(e,r,t[r]);if(ub)for(var r of ub(t))pb.call(t,r)&&_b(e,r,t[r]);return e},Eb=(e,t)=>ab(e,cb(t)),vb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yb=(e,t)=>{for(var r in t)nb(e,r,{get:t[r],enumerable:!0})},Tb=(e,t,r)=>(r=null!=e?ob(db(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of lb(t))!hb.call(e,o)&&o!==r&&nb(e,o,{get:()=>t[o],enumerable:!(i=sb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:nb(r,"default",{value:e,enumerable:!0}),e)),Ib=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?sb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&nb(t,r,n),n},Ab=(e,t,r)=>_b(e,"symbol"!=typeof t?t+"":t,r),Sb=(e,t,r)=>mb(db(e),r,t),Rb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(Dk){o(Dk)}},a=e=>{try{s(r.throw(e))}catch(Dk){o(Dk)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),bb=vb(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),wb=vb(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),Db=vb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=wb(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),Cb=vb(((e,t)=>{var r=wb(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),Nb=vb((e=>{var t=Db(),r=Cb();e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),kb=((ib=kb||{})[ib.INVALID_PARAMETER=4096]="INVALID_PARAMETER",ib[ib.INVALID_OPERATION=4097]="INVALID_OPERATION",ib[ib.NOT_SUPPORTED=4098]="NOT_SUPPORTED",ib[ib.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",ib[ib.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",ib[ib.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",ib[ib.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",ib[ib.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",ib[ib.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",ib[ib.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",ib[ib.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",ib[ib.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",ib[ib.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",ib[ib.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",ib[ib.CLIENT_BANNED=16448]="CLIENT_BANNED",ib[ib.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",ib[ib.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",ib[ib.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",ib[ib.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",ib[ib.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",ib[ib.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",ib[ib.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",ib[ib.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",ib[ib.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",ib[ib.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",ib[ib.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",ib[ib.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",ib[ib.API_CALL_ABORTED=16461]="API_CALL_ABORTED",ib[ib.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",ib[ib.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",ib[ib.UNKNOWN=65535]="UNKNOWN",ib),Ob=kb,Mb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=Ob.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in Ob)if(Ob[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),Ab(this,"code"),Ab(this,"extraCode"),Ab(this,"message"),Ab(this,"originMessage"),Ab(this,"name"),Ab(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},Lb=Mb;(new Date).getTime();var Pb=function(){return(new Date).getTime()+0},xb=function(){let e=new Date;return e.setTime(Pb()),e.toLocaleString()},Ub=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},Vb={};yb(Vb,{bytes2ms:()=>wD,convertObjectNumberToInt:()=>_C,copyProperties:()=>bD,deepClone:()=>aC,deepMerge:()=>nC,delay:()=>gC,fibonacci:()=>LD,formatedTime:()=>lC,getConstructorName:()=>JD,getContainerFromElement:()=>cC,getEnv:()=>ED,getInternalVersion:()=>ZD,getLoggerUrl:()=>yD,getMuteStateFromFlag:()=>rC,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>hC,getTurnServer:()=>iC,getUint32Version:()=>fC,getValueType:()=>xD,getViewListFromView:()=>sC,glog:()=>kD,ipv4ToUint32:()=>oC,isArray:()=>GD,isAudioWorkletSupported:()=>YD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>tC,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>WD,isNumber:()=>BD,isObject:()=>jD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>pC,isPromise:()=>zD,isRemoteTrack:()=>KD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>mC,ms2bytes:()=>CD,ms2samples:()=>ND,normalizeUrl:()=>vC,performanceNow:()=>$D,promiseAny:()=>XD,samples2ms:()=>DD,setNetworkType:()=>SD,stringify:()=>uC,stringifyIncludeValue:()=>dC,throttlePromise:()=>EC});var Fb={};yb(Fb,{AUDIO_MUTE_BIT:()=>Sw,AUDIO_STAT_BIT:()=>Aw,AUX_STAT_BIT:()=>Iw,AUX_STREAM_MSID:()=>Cw,BACKEND_ENV:()=>Ew,BASE_DOC_URL:()=>ew,BASE_HOST:()=>Xb,CAPABILITIES_KEYS:()=>_D,CLASS_NAME:()=>sD,CLOUD_CONSOLE_URL:()=>Zb,CROSS_ROOM_BIT:()=>ww,DATA_FREEZE_TIMING:()=>eD,DEFAULT_ASSETS_URL:()=>tw,DOC_URL:()=>rw,DTLS_STATE_UNKNOWN:()=>Fw,ENV_NAME:()=>sw,EXCHANGE_SDP_TIMEOUT:()=>Yw,IS_WORKER:()=>Kb,IS_WORKLET:()=>zb,KIBANA_EVENT:()=>zw,LOCAL_STREAM_PUBLISH_STATE:()=>Zw,LOGGER_CMD_TYPE:()=>aw,LOGGER_DOMAIN:()=>iw,LOGGER_DOMAIN_OVERSEA:()=>ow,LOG_LEVEL:()=>cw,LOG_LEVEL_NAME:()=>hD,MAIN_STREAM_MSID:()=>Dw,MAX_RTT:()=>gD,MICROPHONE_COMMUNICATIONS:()=>dD,MICROPHONE_DEFAULT:()=>lD,MUTE_ALL_BIT:()=>bw,NAME:()=>_w,NETWORK_TYPE:()=>dw,NOT_SUPPORTED_H264:()=>Qw,PAUSED_RETRY_COUNT:()=>cD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>oD,PEER_CONNECTION_STATE:()=>Bw,PEER_LEAVE_REASON:()=>pD,RECOVER_CAPTURE_INTERVAL:()=>fD,REMOTE_STREAM_TYPE_AUX:()=>kw,REMOTE_STREAM_TYPE_MAIN:()=>Nw,RENDER_FREEZE_TIMING:()=>tD,SCHEDULE_DOMAIN:()=>nD,SCHEDULE_TIMEOUT:()=>aD,SDP_SEMANTICS_PLAN_B:()=>$w,SDP_SEMANTICS_UNIFIED_PLAN:()=>Xw,SECOND_HOST:()=>$b,SIGNAL_PING_PONG_INTERVAL:()=>uw,SIGNAL_PING_TIMEOUT:()=>lw,SIGNAL_RECONNECTION_COUNT:()=>Kw,SMALL_STAT_BIT:()=>Tw,SPEAKER_DEFAULT:()=>uD,STORAGE_EXPIRES_TIME:()=>hw,STREAM_TYPE_BIG:()=>rD,STREAM_TYPE_SMALL:()=>iD,SUBSCRIBE_SMALL_RETRY_COUNT:()=>mD,SYNC_USER_LIST_INTERVAL:()=>qw,Scene:()=>vw,THIRD_HOST:()=>Qb,TRANSPORT_DIRECTION:()=>gw,TRTC_ERROR_ASSISTANCE:()=>nw,TRTC_QUALITY_BAD:()=>xw,TRTC_QUALITY_DISCONNECTED:()=>Vw,TRTC_QUALITY_EXCELLENT:()=>Mw,TRTC_QUALITY_GOOD:()=>Lw,TRTC_QUALITY_POOR:()=>Pw,TRTC_QUALITY_UNKNOWN:()=>Ow,TRTC_QUALITY_VERY_BAD:()=>Uw,UPDATE_OFFER_TIMEOUT:()=>Jw,VIDEO_MUTE_BIT:()=>Rw,VIDEO_STAT_BIT:()=>yw,audioProfileMap:()=>pw,getRetryCount:()=>Gw,getScriptDir:()=>qb,innerVersion:()=>Bb,loggerProxy:()=>Jb,screenProfileMap:()=>fw,setLoggerProxy:()=>Yb,setRetryCount:()=>jw,setVersion:()=>jb,version:()=>Hb,videoProfileMap:()=>mw});var Bb="4.15.00.1600",Hb="5.0.0";function jb(e){Hb=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));Bb="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var Gb,Wb,Kb="undefined"!=typeof importScripts,zb="undefined"!=typeof registerProcessor,qb=()=>{let e=Kb?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},Jb="",Yb=e=>Jb=e,Xb="web.sdk.qcloud.com",$b="web.sdk.tencent.cn",Qb="web.sdk.cloud.tencent.cn",Zb="https://console.cloud.tencent.com/trtc",ew="https://".concat(Xb,"/trtc/webrtc/v5/doc"),tw="https://web.sdk.qcloud.com/trtc/webrtc/v5/assets/",rw="".concat(ew,"/zh-cn/"),iw="https://yun.tim.qq.com",ow="https://apisgp.my-imcloud.com",nw="trtc_error_assistance",aw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},sw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},cw=((Wb=cw||{})[Wb.TRACE=0]="TRACE",Wb[Wb.DEBUG=1]="DEBUG",Wb[Wb.INFO=2]="INFO",Wb[Wb.WARN=3]="WARN",Wb[Wb.ERROR=4]="ERROR",Wb[Wb.NONE=5]="NONE",Wb),lw=18e3,uw=2e3,dw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},hw=6048e5,pw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},mw={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},fw={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},_w={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture"},gw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Ew={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},vw=((Gb=vw||{}).LIVE="live",Gb.RTC="rtc",Gb),yw=1,Tw=2,Iw=4,Aw=8,Sw=64,Rw=16,bw=112,ww=128,Dw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Cw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",Nw=_w.MAIN,kw=_w.AUXILIARY,Ow=0,Mw=1,Lw=2,Pw=3,xw=4,Uw=5,Vw=6,Fw="unknown",Bw={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},Hw=1/0;function jw(e){Hw=e}function Gw(){return Hw}var Ww,Kw=30,zw={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry"},qw=1e4,Jw=1e4,Yw=1e4,Xw="unified-plan",$w="plan-b",Qw=1028,Zw=((Ww=Zw||{})[Ww.UNPUBLISH=-1]="UNPUBLISH",Ww[Ww.PUBLISHING=0]="PUBLISHING",Ww[Ww.PUBLISHED=1]="PUBLISHED",Ww),eD=500,tD=1e3,rD=_w.BIG,iD=_w.SMALL,oD=1e4,nD={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},aD=2e3,sD={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},cD=5,lD="default",uD=lD,dD="communications",hD=Object.keys(cw),pD=["normal leave","timeout leave","kick","role change"],mD=10,fD=2e3,_D=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],gD=1e4,ED=function(){return new URLSearchParams(location.search).get("trtc_env")||""},vD=e=>Number(e)<14e8,yD=function(e,t){let r;r=Jb||(vD(e)?ow:iw);let i=Math.floor(Math.random()*fb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},TD="unknown";function ID(){if("unknown"!==TD)return TD;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(TD=AD(i,o)),TD}function AD(e,t){if(dw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function SD(e){TD=AD(e)}function RD(){return dw[ID()]}function bD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function wD(e){return DD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function DD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function CD(e){return 4*ND(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function ND(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var kD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},OD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},MD=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function LD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:LD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function PD(e){return e>8?3e4:1e3*LD(e)}function xD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var UD=e=>"function"==typeof e,VD=e=>void 0===e,FD=e=>"string"==typeof e,BD=e=>"number"==typeof e,HD=e=>"boolean"==typeof e,jD=e=>"object"===xD(e),GD=e=>"array"===xD(e),WD=e=>xD(e)==="MediaStreamTrack".toLowerCase(),KD=e=>e.isRemote,zD=e=>"promise"===xD(e),qD=e=>UD(e)&&e.prototype.constructor===e,JD=e=>qD(e)?e.prototype.constructor.name:"",YD="undefined"!=typeof AudioWorkletNode;function XD(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function $D(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var QD=e=>+e<10?"0".concat(e):e,ZD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=QD(r[1])+QD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},eC=Object.prototype.hasOwnProperty;function tC(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(eC.call(e,t))return!1;return!0}return!1}function rC(e,t){return{userId:t,hasAudio:!!(e&Aw),hasVideo:!!(e&yw),hasAuxiliary:!!(e&Iw),hasSmall:!!(e&Tw),audioMuted:!!(e&Sw),videoMuted:!!(e&Rw),audioAvailable:!(!(e&Aw)||e&Sw),videoAvailable:!(!(e&yw)||e&Rw)}}function iC(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!VD(e.username)&&!VD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",VD(e.credentialType)||(t.credentialType=e.credentialType)),t}function oC(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!FD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var nC=function(e,t,r,i){if(!jD(e)||!jD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(VD(t[o])||r&&r.includes(o)))if(jD(e[o])&&jD(t[o]))n+=nC(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=aC(t[o]),n+=1)}return n};function aC(e){if(GD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=aC(e)})),t}if(jD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=aC(e[r])})),t}return e}var sC=e=>{let t=[];if(GD(e))t=[...e];else if(FD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},cC=e=>FD(e)?document.getElementById(e):e,lC=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function uC(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(GD(e))return"[".concat(e.map((e=>uC(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!MD(e)||!GD(r)&&!GD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=MD(e[a])||GD(e[a])?JSON.parse(uC(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(Ww){return"{}"}}function dC(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),uC(e,{keysToInclude:r})}function hC(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var pC=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},mC=e=>Rb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(FD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new Lb({code:Ob.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),fC=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},_C=e=>(Object.keys(e).forEach((t=>{BD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(MD(e[t])||GD(e[t]))&&_C(e[t])})),e);function gC(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function EC(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function vC(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function yC(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.text())).then((t=>{try{e({data:JSON.parse(t)})}catch(Dk){e({data:t})}}),a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(t){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function TC(e){return Rb(this,null,(function*(){let t=$D(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return Ik.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat($D()-t,"ms")),i}catch(Ww){return r}}))}var IC=Object.prototype.hasOwnProperty,AC=e=>"function"==typeof e,SC=e=>e.isRemote;function RC(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)}(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(IC.call(e,t))return!1;return!0}return!1}var bC=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:u=5,timeout:d=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Rb(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(_){let t=()=>{clearTimeout(p),h=0,m=2,r(_)},a=()=>{2!==m&&h<(AC(u)?u():u)?(h++,m=1,AC(o)&&o.call(this,h,t),p=window.setTimeout((()=>{p=-1,f(e,r)}),AC(d)?d(h):d)):(t(),AC(n)&&n.call(this,_))};AC(i)?i.call(this,{error:_,retry:a,reject:r,retryFuncArgs:c,retriedCount:h}):a()}}));return new Promise(f)}},wC=class{constructor(e){Ab(this,"userId"),Ab(this,"remoteUserId"),Ab(this,"id"),Ab(this,"sdkAppId"),Ab(this,"type"),Ab(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),Ik.log(e,t,void 0===this.userId||RC(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},DC={};yb(DC,{ANDROID_VERSION:()=>HC,CHROME_MAJOR_VERSION:()=>KN,CHROME_VERSION:()=>zN,EDGE_VERSION:()=>JC,EDG_MAJOR_VERSION:()=>$C,EDG_VERSION:()=>XC,FIREFOX_MAJOR_VERSION:()=>zC,FIREFOX_VERSION:()=>KC,HUAWEI_VERSION:()=>ON,IE_VERSION:()=>cN,IOS_MAIN_VERSION:()=>QN,IOS_VERSION:()=>$N,IPADQQB_VERSION:()=>vN,IS_ANDROID:()=>BC,IS_ANDROID_WEBVIEW:()=>XN,IS_ANY_SAFARI:()=>JN,IS_CHROME:()=>GN,IS_CHROME_OS:()=>AN,IS_CHROMIUM_BASE:()=>jN,IS_EDG:()=>YC,IS_EDGE:()=>qC,IS_ELECTRON:()=>bN,IS_FIREFOX:()=>WC,IS_HEADLESS_CHROME:()=>WN,IS_HONOR:()=>kN,IS_HUAWEI:()=>NN,IS_HUAWEIBROWSER:()=>CN,IS_IE:()=>sN,IS_IE8:()=>aN,IS_IOS:()=>FC,IS_IOS_13_OR_14:()=>tk,IS_IOS_15_1:()=>ek,IS_IPAD:()=>PC,IS_IPADQQB:()=>EN,IS_IPAD_PRO:()=>xC,IS_IPHONE:()=>UC,IS_IPOD:()=>VC,IS_LINUX:()=>IN,IS_LOCAL:()=>rk,IS_MAC:()=>TN,IS_MACQQB:()=>_N,IS_MIBROWSER:()=>wN,IS_MQQB:()=>hN,IS_NATIVE_ANDROID:()=>GC,IS_OLD_ANDROID:()=>jC,IS_OPENHARMONY:()=>FN,IS_OPPOBROWSER:()=>PN,IS_SAFARI:()=>qN,IS_SAFARI_15_1:()=>ZN,IS_SAMSUNGBROWSER:()=>MN,IS_SOGOU:()=>eN,IS_SOGOUM:()=>QC,IS_TBS:()=>rN,IS_UCBROWSER:()=>RN,IS_VIVOBROWSER:()=>UN,IS_WECHAT:()=>lN,IS_WIN:()=>yN,IS_WQQB:()=>mN,IS_WX:()=>SN,IS_X5MQQB:()=>dN,IS_XWEB:()=>oN,MACQQB_VERSION:()=>gN,MI_VERSION:()=>DN,MQQB_VERSION:()=>pN,OPENHARMONY_VERSION:()=>BN,OPPO_VERSION:()=>xN,SAFARI_VERSION:()=>YN,SAMSUNG_VERSION:()=>LN,SOGOUM_VERSION:()=>ZC,SOGOU_VERSION:()=>tN,TBS_VERSION:()=>iN,UA_DATA_STRING:()=>ck,USER_AGENT:()=>CC,VIVO_VERSION:()=>VN,WECHAT_VERSION:()=>uN,WQQB_VERSION:()=>fN,XWEB_VERSION:()=>nN,browserInfo:()=>ok,getBrowserInfo:()=>nk,getChromeMajorVersion:()=>HN,getDeviceModel:()=>uk,getOSName:()=>hk,getOSNumber:()=>pk,getOSString:()=>mk,getOSType:()=>_k,getTerminalType:()=>fk,getUserAgentData:()=>lk,isLocalStorageEnabled:()=>ik,isMobile:()=>sk});var CC="undefined"==typeof navigator?"":navigator.userAgent,NC=e=>new RegExp(e,"i").test(CC),kC=e=>{if(NC(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=CC.match(t);if(r&&r[1])return r[1]}return""},OC=e=>{if(NC(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=CC.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},MC=/AppleWebKit\/([\d.]+)/i.exec(CC),LC=MC?parseFloat(MC[1]):NaN,PC=NC("iPad"),xC="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&NC("Macintosh"),UC=NC("iPhone")&&!PC,VC=NC("iPod"),FC=UC||PC||VC||xC,BC=NC("Android"),HC=function(){if(BC){let e=CC.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),jC=BC&&NC("webkit")&&HC<2.3,GC=BC&&HC<5&&LC<537,WC=NC("Firefox"),KC=kC("Firefox"),zC=OC("Firefox"),qC=NC("Edge"),JC=kC("Edge"),YC=NC("Edg"),XC=kC("Edg"),$C=OC("Edg"),QC=NC("SogouMobileBrowser"),ZC=kC("SogouMobileBrowser"),eN=NC("MetaSr\\s"),tN=kC("MetaSr\\s"),rN=NC("TBS"),iN=kC("TBS"),oN=NC("XWEB"),nN=kC("XWEB"),aN=NC("MSIE\\s8\\.0"),sN=NC("MSIE\\/\\d+"),cN=function(){if(sN){let e=/MSIE\s(\d+)\.\d/.exec(CC),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(CC)&&/rv:11.0/.test(CC)&&(t=11),t}return NaN}(),lN=NC("(micromessenger|webbrowser)"),uN=kC("MicroMessenger"),dN=!rN&&NC("MQQBrowser")&&NC("COVC"),hN=!rN&&NC("MQQBrowser")&&!NC("COVC"),pN=hN||dN?kC("MQQBrowser"):"",mN=!rN&&NC(" QQBrowser"),fN=kC(" QQBrowser"),_N=!rN&&NC("QQBrowserLite"),gN=kC("QQBrowserLite"),EN=!rN&&NC("MQBHD"),vN=kC("MQBHD"),yN=NC("Windows"),TN=!FC&&NC("MAC OS X"),IN=!BC&&NC("Linux"),AN=NC("CrOS"),SN=NC("MicroMessenger"),RN=NC("UCBrowser"),bN=NC("Electron"),wN=NC("MiuiBrowser"),DN=kC("MiuiBrowser"),CN=NC("HuaweiBrowser"),NN=NC("Huawei")||NC("HUAWEI"),kN=NC("Honor")||NC("HONOR"),ON=kC("HuaweiBrowser"),MN=NC("SamsungBrowser"),LN=kC("SamsungBrowser"),PN=NC("HeyTapBrowser"),xN=kC("HeyTapBrowser"),UN=NC("VivoBrowser"),VN=kC("VivoBrowser"),FN=NC("OpenHarmony"),BN=kC("OpenHarmony"),HN=()=>OC("Chrome"),jN=NC("Chrome"),GN=!qC&&!eN&&!QC&&!rN&&!oN&&!YC&&!mN&&!wN&&!CN&&!MN&&!PN&&!UN&&jN,WN=NC("HeadlessChrome"),KN=HN(),zN=kC("Chrome"),qN=!jN&&!hN&&!dN&&!_N&&!EN&&NC("Safari"),JN=qN||FC,YN=kC("Version"),XN=/Android.*(wv|.0.0.0)/.test(CC),$N=(()=>{if(xC)return YN;if(FC){let e=CC.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})(),QN=Number($N.split(".")[0]),ZN="15.1"===YN,ek="15.1"===$N,tk=(()=>{let e=Number($N.split(".")[0]);return 14===e||13===e})(),rk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),ik=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(Nk){e=!1}return e}})(),ok=nk();function nk(){let e=new Map([[WC,["Firefox",KC]],[YC,["Edg",XC]],[GN,["Chrome",zN]],[qN,["Safari",YN]],[rN,["TBS",iN]],[oN,["XWEB",nN]],[lN&&UC,["WeChat",uN]],[mN,["QQ(Win)",fN]],[hN,["QQ(Mobile)",pN]],[dN,["QQ(Mobile X5)",pN]],[_N,["QQ(Mac)",gN]],[EN,["QQ(iPad)",vN]],[wN,["MI",DN]],[CN,["HW",ON]],[MN,["Samsung",LN]],[PN,["OPPO",xN]],[UN,["VIVO",VN]],[qC,["EDGE",JC]],[QC,["SogouMobile",ZC]],[eN,["Sogou",tN]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var ak=null;function sk(){return ak&&"boolean"==typeof ak.mobile?ak.mobile:BC||FC||UC||PC||FN}var ck="";function lk(){return Rb(this,null,(function*(){if(ak)return ak;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(ak=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!ck&&(ck="UAData: ".concat(ak.platform,"/").concat(ak.platformVersion),ak.architecture&&ak.bitness&&(ck+=" ".concat(ak.architecture,"/").concat(ak.bitness)),ak.mobile&&(ck+=" mobile"),ak.model&&(ck+=" model: ".concat(ak.model)),ak.fullVersionList&&(ck+=" ".concat(ak.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),ak}catch(oF){return null}}))}function uk(){return(null==ak?void 0:ak.model)||""}var dk=new Map([[BC,"Android"],[FC,"iOS"],[yN,"Windows"],[TN,"MacOS"],[IN,"Linux"],[AN,"ChromeOS"]]),hk=function(){return dk.get(!0)?dk.get(!0):ak?ak.platform:"unknown"};function pk(){return yN?1:BC?2:TN?3:FC?4:IN?5:AN?6:0}var mk=()=>{let e=hk();return e+="/".concat(ok.name,"/").concat(qN?ok.version:ok.version.split(".")[0]),null!=ak&&ak.platformVersion&&(e+="/".concat(ak.platformVersion)),null!=ak&&ak.architecture&&(e+="/".concat(ak.architecture)),e};function fk(){return BC?4:UC?2:PC?3:TN?12:yN?5:IN?13:FN?22:1}function _k(){return BC?"Android":UC?"iPhone":PC?"iPad":TN?"Mac":yN?"Windows":IN?"Linux":"unknown"}var gk,Ek=new(Tb(bb(),1).default),vk=((gk=vk||{}).ROOM_DESTROY="1",gk.JOIN_START="21",gk.JOIN_SCHEDULE_SUCCESS="22",gk.JOIN_SIGNAL_CONNECTION_START="23",gk.JOIN_SIGNAL_CONNECTION_END="24",gk.JOIN_SEND_CMD="25",gk.JOIN_RECEIVED_CMD_RES="26",gk.JOIN_SUCCESS="27",gk.JOIN_FAILED="28",gk.LEAVE_START="51",gk.LEAVE_SEND_CMD="52",gk.LEAVE_SUCCESS="53",gk.PUBLISH_START="61",gk.SEND_FIRST_VIDEO_FRAME="62",gk.PUBLISH_FAILED="63",gk.SUBSCRIBE_START="81",gk.SUBSCRIBE_SUCCESS="82",gk.SUBSCRIBE_FAILED="84",gk.UNSUBSCRIBE_SUCCESS="83",gk.LOCAL_TRACK_CAPTURE_START="101",gk.LOCAL_TRACK_CAPTURE_SUCCESS="102",gk.LOCAL_TRACK_CAPTURE_FAILED="103",gk.LOCAL_TRACK_PUBLISHED="104",gk.LOCAL_TRACK_UNPUBLISHED="105",gk.LOCAL_TRACK_REPLACED="106",gk.SWITCH_DEVICE_SUCCESS="107",gk.TRACK_MUTED="108",gk.TRACK_UNMUTED="109",gk.REMOTE_TRACK_SUBSCRIBED="110",gk.REMOTE_TRACK_UNSUBSCRIBED="111",gk.LOCAL_TRACK_RECAPTURE="112",gk.PLAY_TRACK_START="151",gk.PLAYER_STATE_CHANGED="152",gk.VIDEO_LOADED_DATA="153",gk.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",gk.SIGNAL_CONNECTION_STATE_CHANGED="201",gk.PEER_CONNECTION_STATE_CHANGED="202",gk.SINGLE_CONNECTION_STAT="203",gk.SPC_RECONNECTED="204",gk.HEARTBEAT_REPORT="251",gk.RECEIVED_PUBLISHED_USER_LIST="252",gk.REMOTE_PUBLISH_STATE_CHANGED="253",gk.AUDIO_LEVEL_INTERVAL="260",gk.NETWORK_QUALITY="261",gk.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",gk.QUALITY_LIMITATION_CHANGED="263",gk.LOG="264",gk),yk=vk,Tk=class e{constructor(){Ab(this,"_isEnableUploadLog",!0),Ab(this,"_localJoinedUser",new Map),Ab(this,"_queue",[]),Ab(this,"_timeoutId",-1),Ab(this,"_logLevel",1),Ab(this,"_logLevelToUpload",2),!Kb&&!zb&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){Ek.on(yk.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&cw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),Ek.on(yk.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),Ek.once(yk.JOIN_FAILED,(()=>{this.startUpload()})),Ek.on(yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(FD(r.userId)&&BD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return Rb(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e];yield this.uploadLogWithRetry(JSON.stringify({timestamp:xb(),sdkAppId:String(i),userId:r,version:Hb,log:o.map((e=>e.log)).join("\n")}),i),o.forEach((e=>e.uploaded=!0))}}catch(kk){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t){return bC({retryFunction:()=>yC({url:yD(t,aw.LOG),body:e,timeout:5e3,priority:"low"}),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(Pb()),"[".concat(Ub(t),"] <").concat(cw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){VD(cw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(FD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Gb){return""}}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;r.unshift(this.getPrefix(t));let s={log:r.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:t,userId:o,sdkAppId:n,forAllJoinedClients:i};if(Ek.emit(yk.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),t<this._logLevel)return;let c=(null==(a=cw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[c]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[c](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new wC(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;cw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Ab(Tk,"PRINT_LOG_TAG",!(FC||BC||WN));var Ik=new Tk,Ak=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},Sk=new class{constructor(){Ab(this,"_prefix","TRTC"),Ab(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){ik()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(kk){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(ik())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(Nk){Ik.warn(Nk)}}getItem(e){if(!ik())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(Gb){Ik.warn(Gb)}}setItem(e,t){if(ik())try{let r={expiresIn:Date.now()+hw,value:t};this._queue.set(this.getRealKey(e),r)}catch(Ww){Ik.warn(Ww)}}deleteItem(e){if(!ik())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Gb){return Ik.warn(Gb),!1}}clear(){if(ik())try{localStorage.clear()}catch(Nk){Ik.warn(Nk)}}},Rk={};yb(Rk,{HTTPS_API:()=>rM,IS_GET_CAPABILITIES_SUPPORTED:()=>TM,IS_GET_SETTINGS_SUPPORTED:()=>yM,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>vM,IS_INSERTABLE_STREAM_SUPPORTED:()=>IM,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>LM,IS_RTC_RTP_SENDER_SUPPORTED:()=>_M,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>AM,IS_SEI_SUPPORTED:()=>SM,IS_SPC_SUPPORTED:()=>mM,basis:()=>NM,capabilityCheck:()=>OM,checkSystemRequirementsInternal:()=>QO,decodeSupportStatus:()=>$O,encodeSupportStatus:()=>XO,getBrowserInfo:()=>GO,getDisplayResolution:()=>oM,isAddTransceiverSupported:()=>pM,isBrowserSupported:()=>WO,isGetReceiversSupported:()=>uM,isGetSendersSupported:()=>dM,isGetTransceiversSupported:()=>hM,isGetUserMediaSupported:()=>nM,isMediaDevicesSupported:()=>zO,isMediaSessionSupported:()=>wM,isMediaStreamTrackProcessorSupported:()=>YO,isReplaceTrackSupported:()=>gM,isRequestVideoFrameCallbackSupported:()=>MM,isSIMDSupported:()=>CM,isScreenCaptureApiAvailable:()=>eM,isSelectedCandidatePair:()=>iM,isSetParametersSupported:()=>EM,isSmallStreamAPISupported:()=>sM,isSmallStreamSupported:()=>cM,isStopTransceiverSupported:()=>fM,isTRTCSupported:()=>ZO,isUnifiedPlanDefault:()=>lM,isUsedInHttpProtocol:()=>JO,isWebAudioSupported:()=>aM,isWebCodecSupported:()=>bM,isWebCodecsSupported:()=>KO,isWebRTCSupported:()=>RM,isWebTransportSupported:()=>DM});var bk={};yb(bk,{AUDIO_LEVEL_SCALE:()=>_O,AudioCodecPipelineType:()=>TO,AudioDecoderDowngradeState:()=>$k,AudioPlayerMode:()=>pO,AudioType:()=>iO,BASIC_TYPE:()=>EO,BannedReason:()=>mO,CONNECTION_CLOSED_REASON:()=>Vk,ClientEvent:()=>Fk,CodecType:()=>IO,ConnectionEvent:()=>Uk,ConnectionState:()=>Xk,DECODE_FAILED_ERROR_CODE:()=>AO,FacingMode:()=>dO,LeaveReason:()=>fO,LocalTrackEvent:()=>Hk,MULTI_VIDEO_DATA_TYPE:()=>sO,MediaType:()=>tO,MediaTypeLabel:()=>rO,MonitorEventId:()=>cO,MutedFlag:()=>zk,NetworkQualityValue:()=>lO,PlayerState:()=>jk,ReceiveMode:()=>uO,RemoteStreamType:()=>aO,RemoteTrackEvent:()=>Kk,RoomEvent:()=>Gk,SceneNumber:()=>qk,StreamEvent:()=>Bk,StreamType:()=>nO,SubscribeMediaType:()=>gO,TIMER_TYPE:()=>RO,TRACK_ACTION:()=>eO,TRACK_KIND:()=>Zk,TrackEvent:()=>Wk,UserRole:()=>Yk,UserRoleNumber:()=>Jk,VideoCodec:()=>vO,VideoCodecPipelineType:()=>yO,VideoContentHint:()=>SO,VideoDecoderDowngradeState:()=>Qk,VideoPlayerMode:()=>hO,VideoType:()=>oO});var wk,Dk,Ck,Nk,kk,Ok,Mk,Lk,Pk,xk,Uk=((xk=Uk||{}).TRACK_ADDED="track-added",xk.TRACK_UPDATED="track-updated",xk.TRACK_SUBSCRIBED="track-subscribed",xk.STREAM_ADDED="stream-added",xk.STREAM_REMOVED="stream-removed",xk.STREAM_UPDATED="stream-updated",xk.STREAM_PUBLISHED="stream-published",xk.STREAM_SUBSCRIBED="stream-subscribed",xk.STREAM_UNSUBSCRIBED="stream-unsubscribed",xk.STATE_CHANGED="state-changed",xk.ERROR="error",xk.CONNECTION_STATE_CHANGED="connection-state-changed",xk.FIREWALL_RESTRICTION="firewall-restriction",xk.SEI_MESSAGE="sei-message",xk.CLOSED="closed",xk),Vk=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(Vk||{}),Fk=((Pk=Fk||{}).STREAM_ADDED="stream-added",Pk.STREAM_REMOVED="stream-removed",Pk.STREAM_UPDATED="stream-updated",Pk.STREAM_SUBSCRIBED="stream-subscribed",Pk.CONNECTION_STATE_CHANGED="connection-state-changed",Pk.PEER_JOIN="peer-join",Pk.PEER_LEAVE="peer-leave",Pk.MUTE_AUDIO="mute-audio",Pk.MUTE_VIDEO="mute-video",Pk.UNMUTE_AUDIO="unmute-audio",Pk.UNMUTE_VIDEO="unmute-video",Pk.CLIENT_BANNED="client-banned",Pk.NETWORK_QUALITY="network-quality",Pk.AUDIO_VOLUME="audio-volume",Pk.SEI_MESSAGE="sei-message",Pk.ERROR="error",Pk),Bk=((Lk=Bk||{}).PLAYER_STATE_CHANGED="player-state-changed",Lk.SCREEN_SHARING_STOPPED="screen-sharing-stopped",Lk.CONNECTION_STATE_CHANGED="connection-state-changed",Lk.DEVICE_AUTO_RECOVERED="device-auto-recovered",Lk.ERROR="error",Lk),Hk=(e=>(e.DEVICE_AUTO_RECOVERED="1",e.DEVICE_RECOVER_FAILED="5",e.DEVICE_CHANGED="2",e.ERROR="3",e.PUBLISH_STATE_CHANGED="4",e.ENCODE_FAILED="6",e))(Hk||{}),jk=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(jk||{}),Gk=((Mk=Gk||{}).PEER_JOIN="peer-join",Mk.PEER_LEAVE="peer-leave",Mk.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",Mk.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",Mk.BANNED="banned",Mk.NETWORK_QUALITY="network-quality",Mk.AUDIO_VOLUME="audio-volume",Mk.SEI_MESSAGE="sei-message",Mk.ERROR="error",Mk.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",Mk.REMOTE_PUBLISHED="remote-published",Mk.REMOTE_UNPUBLISHED="remote-unpublished",Mk.FIREWALL_RESTRICTION="firewall-restriction",Mk.HEARTBEAT_REPORT="heartbeat-report",Mk.CUSTOM_MESSAGE="custom-message",Mk.LAYER_DATA="layerData",Mk.FIRST_VIDEO_FRAME="first-video-frame",Mk.DUMP="dump",Mk),Wk=((Ok=Wk||{}).PLAYER_STATE_CHANGED="player-state-changed",Ok.MUTE="mute",Ok.UNMUTE="unmute",Ok.ERROR="error",Ok.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",Ok.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",Ok.FIRST_VIDEO_FRAME="first-video-frame",Ok),Kk=(e=>(e.DECODE_FAILED="decode-failed",e.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",e))(Kk||{}),zk=(e=>(e[e.VIDEO=1]="VIDEO",e[e.SMALL=2]="SMALL",e[e.AUX=4]="AUX",e[e.AUDIO=8]="AUDIO",e[e.VIDEO_MUTE=16]="VIDEO_MUTE",e[e.AUX_MUTE=32]="AUX_MUTE",e[e.AUDIO_MUTE=64]="AUDIO_MUTE",e))(zk||{}),qk=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(qk||{}),Jk=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(Jk||{}),Yk=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(Yk||{}),Xk=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(Xk||{}),$k=((kk=$k||{}).INITIALIZED="INITIALIZED",kk.STARTING="STARTING",kk.STARTED="STARTED",kk.FAILED="FAILED",kk),Qk=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(Qk||{}),Zk=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(Zk||{}),eO=(e=>(e.ADD="add",e.REMOVE="remove",e))(eO||{}),tO=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(tO||{}),rO={1:"audio",2:"auxVideo",4:"video"},iO=((Nk=iO||{})[Nk.opus=111]="opus",Nk),oO=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(oO||{}),nO=(e=>(e.Big="big",e.Small="small",e))(nO||{}),aO=(e=>(e.Main="main",e.Aux="auxiliary",e))(aO||{}),sO=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(sO||{}),cO=((Ck=cO||{})[Ck.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",Ck[Ck.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",Ck[Ck.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",Ck[Ck.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",Ck[Ck.MUTE_AUDIO=32772]="MUTE_AUDIO",Ck[Ck.MUTE_VIDEO=32773]="MUTE_VIDEO",Ck[Ck.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",Ck[Ck.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",Ck[Ck.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",Ck[Ck.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",Ck[Ck.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",Ck[Ck.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",Ck[Ck.SWITCH_CAMERA=32780]="SWITCH_CAMERA",Ck[Ck.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",Ck[Ck.REPLACE_VIDEO=32782]="REPLACE_VIDEO",Ck[Ck.REPLACE_AUDIO=32783]="REPLACE_AUDIO",Ck[Ck.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",Ck[Ck.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",Ck[Ck.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",Ck[Ck.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",Ck[Ck.JOIN=32788]="JOIN",Ck[Ck.LEAVE=32789]="LEAVE",Ck[Ck.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",Ck[Ck.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",Ck[Ck.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",Ck[Ck.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",Ck[Ck.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",Ck[Ck.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",Ck[Ck.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",Ck[Ck.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",Ck[Ck.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",Ck[Ck.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",Ck[Ck.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",Ck[Ck.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",Ck[Ck.PUBLISH_AUX=32805]="PUBLISH_AUX",Ck[Ck.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",Ck[Ck.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",Ck[Ck.VIDEO_ENCODER=4004]="VIDEO_ENCODER",Ck[Ck.VIDEO_DECODER=4005]="VIDEO_DECODER",Ck),lO=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(lO||{}),uO=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(uO||{}),dO=(e=>(e.user="user",e.environment="environment",e))(dO||{}),hO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(hO||{}),pO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(pO||{}),mO=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(mO||{}),fO=((Dk=fO||{})[Dk.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",Dk[Dk.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",Dk[Dk.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",Dk[Dk.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",Dk[Dk.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",Dk[Dk.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",Dk),_O=1e8,gO=class{constructor(){Ab(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},EO=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(EO||{}),vO=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e))(vO||{}),yO=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(yO||{}),TO=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(TO||{}),IO=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(IO||{}),AO=((wk=AO||{})[wk.SUCCESS=0]="SUCCESS",wk[wk.FAILED=1]="FAILED",wk[wk.WEBCODEC_INIT=2]="WEBCODEC_INIT",wk[wk.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",wk[wk.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",wk[wk.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",wk[wk.WASM_INIT=6]="WASM_INIT",wk[wk.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",wk[wk.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",wk[wk.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",wk[wk.TEST=10]="TEST",wk),SO=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(SO||{}),RO=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(RO||{}),bO={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},wO={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},DO=(e,t)=>t?"".concat(ew,"/").concat(e,"/").concat(t):"".concat(ew,"/").concat(e,"/index.html"),CO=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(nw);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function NO(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";UD(wO[t])?n=wO[t](r):FD(wO[t])&&(n=wO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=CO();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(UD(l[t])?s=l[t](r):FD(l[t])&&(s=l[t]));let u=n;return OD()&&(c&&c[t]&&(UD(c[t])?a=c[t](r):FD(c[t])&&(a=c[t])),a&&(u=o?"".concat(a,"\n请查看文档: ").concat(DO("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),u+=n)),o&&(u+=" \nRefer to: ".concat(DO("en",s),"\n")),u}var kO,OO=Tb(Nb(),1),MO=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Ab(this,"countMap",new Map),Ab(this,"distributionMap",new Map),Ab(this,"version"),Ab(this,"log",Ik.createLogger({id:"kv"})),e&&(Ek.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===_w.AUDIO?501700:511700,cost:r})})),Ek.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===_w.AUDIO?501700:511700,error:r})})))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:fC(this.version||Hb),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}}))};return this.countMap.clear(),this.distributionMap.clear(),e}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1}=e;var n;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let a=(null==(n=this.distributionMap)?void 0:n.get(t))||new Map,s=0;if(BD(i))s=Math.floor(r/i);else for(let c=i.length-1;c>0;c--)if(r>i[c]){s=c;break}a.set(s,(a.get(s)||0)+1),this.distributionMap.set(t,a)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=Ob.UNKNOWN;r&&(BD(r)?i=r:(!VD(r.extraCode)||!VD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},LO=((kO=LO||{})[kO.enterRoom=500700]="enterRoom",kO[kO.exitRoom=500701]="exitRoom",kO[kO.switchRole=500702]="switchRole",kO[kO.destroy=500703]="destroy",kO[kO.startLocalAudio=500704]="startLocalAudio",kO[kO.updateLocalAudio=500705]="updateLocalAudio",kO[kO.stopLocalAudio=500706]="stopLocalAudio",kO[kO.startLocalVideo=500707]="startLocalVideo",kO[kO.updateLocalVideo=500708]="updateLocalVideo",kO[kO.stopLocalVideo=500709]="stopLocalVideo",kO[kO.startScreenShare=500710]="startScreenShare",kO[kO.updateScreenShare=500711]="updateScreenShare",kO[kO.stopScreenShare=500712]="stopScreenShare",kO[kO.startRemoteVideo=500713]="startRemoteVideo",kO[kO.updateRemoteVideo=500714]="updateRemoteVideo",kO[kO.stopRemoteVideo=500715]="stopRemoteVideo",kO[kO.muteRemoteAudio=500716]="muteRemoteAudio",kO[kO.setRemoteAudioVolume=500717]="setRemoteAudioVolume",kO[kO.use=500718]="use",kO[kO.sendSEIMessage=5e5]="sendSEIMessage",kO[kO.sendCustomMessage=500001]="sendCustomMessage",kO),PO=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e))(PO||{}),xO=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e))(xO||{}),UO=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e))(UO||{}),VO=new MO(!0),FO=new MO(!1),BO=VO,HO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},jO=new Map([[WC,["Firefox",KC]],[YC,["Edg",XC]],[GN,["Chrome",zN]],[qN,["Safari",YN]],[rN,["TBS",iN]],[oN,["XWEB",nN]],[lN&&UC,["WeChat",uN]],[mN,["QQ(Win)",fN]],[hN,["QQ(Mobile)",pN]],[dN,["QQ(Mobile X5)",pN]],[_N,["QQ(Mac)",gN]],[EN,["QQ(iPad)",vN]],[wN,["MI",DN]],[CN,["HW",ON]],[MN,["Samsung",LN]],[PN,["OPPO",xN]],[UN,["VIVO",VN]],[qC,["EDGE",JC]],[QC,["SogouMobile",ZC]],[eN,["Sogou",tN]]]);function GO(){let e=jO.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var WO=function(){return!(RN||qC||YC&&$C<80||WC&&zC<56)},KO=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder","MediaStreamTrackGenerator"].every((e=>e in window))},zO=function(){if(!navigator.mediaDevices)return JO()||Ik.error(wO.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},qO=!1;function JO(){return"http:"===location.protocol&&!rk&&(qO||Ik.error(NO({key:bO.NOT_SUPPORTED_HTTP})),qO=!0,!0)}var YO=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},XO=function(){return Rb(this,null,(function*(){if(HO.detail.isH264EncodeSupported&&HO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:HO.detail.isH264EncodeSupported,isVp8EncodeSupported:HO.detail.isVp8EncodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection,o=document.createElement(_w.CANVAS);o.getContext("2d");let n=o.captureStream(0);return i.addTrack(n.getVideoTracks()[0],n),e=yield i.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),HO.detail.isH264EncodeSupported=t,HO.detail.isVp8EncodeSupported=r,{isH264EncodeSupported:HO.detail.isH264EncodeSupported,isVp8EncodeSupported:HO.detail.isVp8EncodeSupported}}catch(Ww){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},$O=function(){return Rb(this,null,(function*(){if(HO.detail.isH264DecodeSupported&&HO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:HO.detail.isH264DecodeSupported,isVp8DecodeSupported:HO.detail.isVp8DecodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection;return e=yield i.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:r}}catch(Ww){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},QO=EC((()=>Rb(void 0,null,(function*(){if(HO.result&&HO.detail.isH264EncodeSupported&&HO.detail.isVp8EncodeSupported&&HO.detail.isH264DecodeSupported&&HO.detail.isVp8DecodeSupported)return HO;let e=Date.now(),t=WO(),r=RM(),i=KO(),o=zO(),{isH264EncodeSupported:n,isVp8EncodeSupported:a}=yield XO(),{isH264DecodeSupported:s,isVp8DecodeSupported:c}=yield $O();if(!n||!a){let e=yield XO();Ik.warn("detect encode again h264:".concat(n," vp8:").concat(a," result: ").concat(JSON.stringify(e))),n=e.isH264EncodeSupported,a=e.isVp8EncodeSupported}if(n&&s&&BC&&jN&&!oN&&!rN){let{encode:e,decode:t}=yield function(){return Rb(this,null,(function*(){return tM||(tM=new Promise((e=>Rb(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),u.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),u=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>u.addIceCandidate(e.candidate))),u.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let d=yield l.createOffer();yield l.setLocalDescription(d),yield u.setRemoteDescription(d);let h=yield u.createAnswer(),p=OO.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=OO.default.write(p),yield u.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Rb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),u.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===_w.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===_w.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),Ik.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&Ik.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(ck)),e))),tM)}))}();n=e,s=t}return HO.result=t&&r&&o&&(n||a)&&(s||c),HO.detail.isBrowserSupported=t,HO.detail.isWebRTCSupported=r,HO.detail.isWebCodecsSupported=i,HO.detail.isMediaDevicesSupported=o,HO.detail.isScreenShareSupported=eM(),HO.detail.isSmallStreamSupported=cM(),HO.detail.isH264EncodeSupported=n,HO.detail.isVp8EncodeSupported=a,HO.detail.isH264DecodeSupported=s,HO.detail.isVp8DecodeSupported=c,HO.result||Ik.error("".concat(navigator.userAgent," ").concat(dC(HO.detail,!1))),Sk.setItem(kM,{ua:navigator.userAgent,checkResult:HO}),BO.addNumber({key:523800,value:Date.now()-e}),HO})))),ZO=function(){return HO.result},eM=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},tM=null;var rM=(e,t,r)=>{"http:"===location.protocol&&!rk&&(e[t]=()=>{throw new Lb({code:Ob.INVALID_OPERATION,message:wO.NOT_SUPPORTED_HTTP})})},iM=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(HD(e.selected)&&!e.selected)};function oM(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function nM(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function aM(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function sM(){return"captureStream"in HTMLCanvasElement.prototype}function cM(){return!(lN||FC||KN&&KN<63)&&!(!WO()||!sM())}var lM=function(){if(VD(window.RTCRtpTransceiver)||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:Xw}),e.addTransceiver(_w.AUDIO),t=!0}catch(Gb){}return null==e||e.close(),t};function uM(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function dM(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function hM(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function pM(){return 11!==QN&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var mM=!(!pM()||jN&&KN<86);function fM(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var _M="RTCRtpSender"in window;function gM(){return _M&&"replaceTrack"in window.RTCRtpSender.prototype}function EM(){return _M&&"setParameters"in window.RTCRtpSender.prototype&&dM()}var vM="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,yM=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,TM=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,IM=_M&&"createEncodedStreams"in window.RTCRtpSender.prototype&&HN()>=86,AM="RTCRtpScriptTransform"in window,SM=_M&&(IM||AM),RM=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function bM(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return VD(window.AudioDecoder)||(e.AudioDecoder=!0),VD(window.AudioEncoder)||(e.AudioEncoder=!0),VD(window.VideoDecoder)||(e.VideoDecoder=!0),VD(window.VideoEncoder)||(e.VideoEncoder=!0),VD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function wM(){return"mediaSession"in navigator&&!VD(navigator.mediaSession.setActionHandler)}function DM(){return!VD(window.WebTransport)}function CM(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function NM(){let e={browser:"".concat(ok.name,"/").concat(ok.version),os:hk(),displayResolution:oM(),isScreenShareSupported:eM(),isWebRTCSupported:RM(),isGetUserMediaSupported:nM(),isWebAudioSupported:aM(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:bM(),isMediaSessionSupported:wM(),isWebTransportSupported:DM()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var kM="checkResult";function OM(){JO();let e=Sk.getItem(kM);e&&e.ua===navigator.userAgent&&(HO=e.checkResult),QO()}function MM(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var LM="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype,PM=Tb(bb(),1),xM=Symbol("instance"),UM=Symbol("cacheResult"),VM=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,GM.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},FM=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var BM=new Map;function HM(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=BM.get(i)||[];BM.has(i)||BM.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=WM.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[UM]:Promise.resolve(i[UM]);i.state instanceof VM&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof VM&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new FM(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new FM(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return u(l);let d=i.state,h=new VM(d,t,a);GM.call(i,h);let p=e=>{var o;return i[UM]=e,h.aborted||(GM.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[UM])),e},m=e=>(GM.call(i,d,e),u(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(Pk){return m(new FM(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(Pk),Pk instanceof Error?Pk:new Error(String(Pk))))}}}}var jM="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function GM(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(WM.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var WM=class e extends PM.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[xM];o?this.name=o.name+"-"+o.count++:i[xM]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=BM.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);BM.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};jM(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){GM.call(this,e)}};WM.STATECHANGED="stateChanged",WM.UPDATEAFSM="updateAFSM",WM.INIT="[*]",WM.ON="on",WM.OFF="off",WM.instances=new Map,WM.instances2=new WeakMap;var KM="undefined"!=typeof window,zM=KM&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},qM=KM&&window.cancelIdleCallback||function(e){clearTimeout(e)},JM=KM&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),YM=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=gb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=Eb(gb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(i.callback(),i.loopCount+=1,e.isBreakLoop(i)&&(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=$D(),o=()=>{if(r=$D()-i,r>=t.delay&&(i=$D()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=zM(o,{timeout:t.delay})};return t.ricID=zM(o,{timeout:t.delay})}static raf(t){let r,i=$D(),o=()=>document.hidden&&t.backgroundTask?(r=$D()-i,i=$D(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=$D()-i,r>=t.delay&&(i=$D()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=$D()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n,worker:a}=this.taskMap.get(e);return a&&a.terminate(),t&&clearInterval(t),r&&clearTimeout(r),i&&JM&&JM(i),o&&qM(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Ab(YM,"taskMap",new Map),Ab(YM,"currentTaskID",1),Ab(YM,"sharedWorker",null),Ab(YM,"workerTasks",new Map);var XM=YM;_w.SEI_MESSAGE;var $M={LOADED_DATA:_w.LOADEDDATA,LOADED_META_DATA:_w.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error"},QM={};yb(QM,{create:()=>eL,remove:()=>tL});var ZM=new WeakMap;function eL(e,t){ZM.has(e)||ZM.set(e,[]);let r=ZM.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function tL(e){let t=ZM.get(e);t&&(t.forEach((e=>e())),ZM.delete(e))}var rL=new class{constructor(){Ab(this,"_roomIdMap",new Map),Ab(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:Hb,env:sw.QCLOUD,browserVersion:ok.name+ok.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){rk||!Ik.isAbleToUpload||this._configs.env===sw.QCLOUD&&this.uploadEventToKibana(Eb(gb({},e),{result:"success"}))}logFailedEvent(e){if(rk||!Ik.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||Ob.UNKNOWN};this._configs.env===sw.QCLOUD&&this.uploadEventToKibana(Eb(gb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:xb(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:Hb,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack))),this.sendRequest(yD(this._configs.sdkAppId,aw.LOG),o)}sendRequest(e,t){setTimeout((()=>yC({url:e,body:JSON.stringify(t),priority:"low"}).catch((()=>{}))),2e3)}},iL=new WeakMap;function oL(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=bC({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=iL.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=iL.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;AC(i)&&i.call(this,t,r),null!=(o=iL.get(e))&&o.has(n)&&(iL.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=iL.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):iL.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=iL.get(e))?void 0:t.delete(n)}))},a}}var nL=class extends WM{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,Ab(this,"id"),Ab(this,"element",null),Ab(this,"track"),Ab(this,"url"),Ab(this,"attr"),Ab(this,"mode"),Ab(this,"muted"),Ab(this,"_log"),Ab(this,"_pausedRetryCount"),Ab(this,"_isElementPlayingFired",!1),Ab(this,"_interval"),Ab(this,"_delayDestroyTimeoutId",0),Ab(this,"_playSuccessResolve"),Ab(this,"_isReplayByRecreateMediaStreamCalled",!1),Ab(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=cD,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&(!1===(null==(e=this.element)?void 0:e.paused)||this.track&&"live"===this.track.readyState&&!this.track.muted)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return Rb(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(Gb){let t=NO({key:bO.PLAY_FAILED,data:{media:this.kind,error:Gb}});if(this.track&&!this.track.muted&&this._log.warn(Gb),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new Lb({code:Ob.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!JN?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(_w.ENDED),this._interval>0&&XM.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():ek?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return eL(this.element,this.element).add(_w.PLAYING,e).add(_w.ENDED,e).add(_w.PAUSE,e).add(_w.ERROR,e).add(_w.LOADEDDATA,e).add(_w.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==QM||QM.create(e,e).add(_w.ENDED,t).add(_w.MUTE,t).add(_w.UNMUTE,t),e.readyState===_w.ENDED&&this.handleTrackEvent({type:_w.ENDED}),e.muted&&this.handleTrackEvent({type:_w.MUTE})}}bindAutoPlayEvent(){Ek.on(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&tL(e)}unbindEvents(){this.element&&tL(this.element),this.unbindTrackEvents(),Ek.off(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case _w.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(_w.PLAYING),this._interval&&(XM.clearTask(this._interval),this._interval=-1);break;case _w.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(_w.ENDED);break;case _w.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(_w.PAUSE),FC&&(this._interval=XM.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case _w.ERROR:if(this.element&&this.element.error){this.handlePaused(_w.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),rL.uploadEvent({log:"stat-".concat(this.kind,"-").concat(zw.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),kN||NN?this.emit($M.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case _w.LOADEDDATA:this.kind===_w.VIDEO&&this.emit($M.LOADED_DATA);break;case _w.LOADEDMETADATA:this.kind===_w.VIDEO&&this.emit($M.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),rL.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),BO.addSuccessEvent({key:this.kind===_w.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),rL.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),BO.addFailedEvent({key:this.kind===_w.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit($M.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{gC(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),gC(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){switch(e.type){case _w.ENDED:this.handleStopped(_w.ENDED);break;case _w.MUTE:this.handlePaused(_w.MUTE);break;case _w.UNMUTE:this._isElementPlayingFired?this.handlePlaying(_w.UNMUTE):this.mode>0&&this.handlePlaying(this.mode.toString())}}handlePlaying(e){var t;null==(t=this._playSuccessResolve)||t.call(this,e),this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};Ib([oL({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],nL.prototype,"doReplayByRecreateMediaStream",1),Ib([HM([],"PLAYING",{sync:!0})],nL.prototype,"handlePlaying",1),Ib([HM("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],nL.prototype,"handlePaused",1),Ib([HM([],"STOPPED",{sync:!0})],nL.prototype,"handleStopped",1);var aL,sL="trtc_autoplay",cL="".concat(sL,"_mask"),lL="".concat(sL,"_wrapper"),uL="".concat(sL,"_header"),dL="".concat(sL,"_content"),hL="".concat(sL,"_action_wrapper"),pL="".concat(sL,"_question"),mL="".concat(sL,"_collapse"),fL="".concat(sL,"_action_confirm"),_L="".concat(sL,"_detail"),gL="#2473E8",EL="dialog",vL="".concat(EL,"-show"),yL="".concat(EL,"-1"),TL="".concat(EL,"-2"),IL=!1,AL=()=>!!document.querySelector(".".concat(lL)),SL="".concat(ew,"/").concat(OD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),RL="<br><a href='".concat(SL,"' target='_blank'>").concat(OD()?"其他方案?":"Any other solution?","</a>"),bL="".concat(OD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(RL):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(RL)),wL=class{constructor(){if(Ab(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Ab(this,"_dialogNode",null),Ab(this,"_bodyPosition",""),Ab(this,"_showDetail",!1),Ab(this,"_isCollapseClicked",!1),Ab(this,"_isQuestionClicked",!1),OD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!IL){let e=document.createElement("style");e.innerHTML=".".concat(cL,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(cL," div:not(.").concat(hL,"){display:block !important;}.").concat(lL,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(lL," a{color:").concat(gL,";}.").concat(uL,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(dL,"{margin:8px 0;}.").concat(hL,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(mL,"{margin-right:auto;cursor:pointer}.").concat(pL,"{height:100%;line-height:16px;cursor:pointer;}.").concat(fL,"{margin-left:8px;color:#fff;background:").concat(gL,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(fL,":hover{opacity:0.9;}.").concat(mL,",.").concat(fL,",.").concat(dL,",.").concat(pL,"{font-size:14px;}@media screen and (max-width:750px){.").concat(lL,"{width:80vw;}}"),document.head.appendChild(e),IL=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(cL,"\"><div class='").concat(lL,"'><div class='").concat(uL,"'>").concat(location.host,"</div><div class='").concat(dL,"'>").concat(this.content,"</div><div class='").concat(_L,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(bL,"</div><div class='").concat(hL,"'></div></div></div>").trim();let t=document.createElement("button");t.className=fL,t.innerText=OD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=pL,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=mL,i.innerText="".concat(OD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(hL));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){AL()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(lL)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",Ik.info("show autoplay dialog"),rL.uploadEvent({log:vL}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){Ik.warn("confirm clicked, try resume stream"),Ek.emit(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(_L));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||rL.uploadEvent({log:yL}),this._isCollapseClicked=!0}onQuestionClick(){window.open(SL,"_blank"),this._isQuestionClicked||rL.uploadEvent({log:TL}),this._isQuestionClicked=!0}},DL=class extends nL{constructor(e){super(e,_w.VIDEO),Ab(this,"stat",{}),Ab(this,"_calculateTimeout",-1),Ab(this,"viewMirror",!1),Ab(this,"objectFit"),Ab(this,"container"),Ab(this,"canvas"),Ab(this,"canvasTrack"),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,VD(e.viewMirror)||(this.viewMirror=e.viewMirror),VD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}initializeElement(){var e;let t=document.createElement(_w.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,(this.track||this.canvasTrack)&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(_w.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(_w.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleTrackEvent(e){var t;super.handleTrackEvent(e),e.type===_w.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0)}handleElementEvent(e){var t;if(2===this.mode)return;super.handleElementEvent(e);let r=e.type;if(r===_w.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this._pausedRetryCount>0&&!AL()&&(this._log.info("".concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;r===_w.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):r===_w.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(MM()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(Gb){this._log.warn("init stat failed",Gb)}}};function CL(e,t){return Rb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),Ik.info("worklet addModule success")}catch(Gb){throw Ik.info("worklet addModule catch error. ".concat(Gb.message)),Gb}}))}"undefined"!=typeof AudioContext?aL=AudioContext:"undefined"!=typeof webkitAudioContext?aL=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(aL=mozAudioContext);var NL,kL=-1;!function e(){try{if(NL)return;(NL=new aL({sampleRate:48e3})).onstatechange=()=>{Ik.info("context state: ".concat(NL.state).concat("running"!==NL.state?" visibilityState: ".concat(document.visibilityState):"")),OL()},clearTimeout(kL)}catch(oF){Ik.error("initAudioContext failed: ".concat(oF," typeof AudioContextClass: ").concat(typeof aL)),kL=setTimeout(e,1e3)}}();var OL=()=>{"suspended"===NL.state?(PL(),document.addEventListener("click",OL)):"interrupted"===NL.state?PL():(document.removeEventListener("visibilitychange",OL),document.removeEventListener("click",OL))},ML=0,LL=-1;function PL(){return new Promise(((e,t)=>{if("running"===NL.state)return e();Date.now()-ML<1e3?(clearTimeout(LL),LL=setTimeout((()=>{ML=Date.now(),NL.resume().then(e,t)}),1e3)):(clearTimeout(LL),ML=Date.now(),NL.resume().then(e,t))})).catch((e=>{Ik.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",OL)}))}document.addEventListener("click",OL);var xL=e=>NL,UL=class{constructor(){Ab(this,"node"),Ab(this,"node2"),Ab(this,"pre",new Set),Ab(this,"next",new Set),Ab(this,"context"),Ab(this,"connectedNodes",new Set)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.preNodeReconnect(),this.reconnect()}catch(Ww){Ik.error(Ww)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,t&&(this.node2=t),this.preNodeReconnect(),this.reconnect(),BO.addSuccessEvent({key:502701})}catch(kk){Ik.error(kk),BO.addFailedEvent({key:502701,error:kk})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),BO.addSuccessEvent({key:502702})}catch(Gb){Ik.error(Gb),BO.addFailedEvent({key:502702,error:Gb})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{e._connect(t.node)||t.connectNext(e)}))}_connect(e){return!(!this.node||!e)&&((this.node2||this.node).connect(e),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.forEach((e=>{this.next.add(e),e.pre.add(this)})),this}},VL=class extends UL{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Ab(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},FL=class{constructor(){Ab(this,"source",new UL),Ab(this,"gain",new UL),Ab(this,"destination",new UL)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(xL().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(GL(e))}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},BL=class extends FL{constructor(e){super(),this.context=e,Ab(this,"denoiser",new UL),Ab(this,"voiceChanger",new UL),this.source.pipeTo(this.denoiser.pipeTo(this.voiceChanger.pipeTo(this.gain.pipeTo(this.destination))))}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},HL=class{constructor(){Ab(this,"audioContext",xL()),Ab(this,"destination",this.audioContext.createMediaStreamDestination()),Ab(this,"inputs",new Set),Ab(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},jL=new WeakMap;function GL(e){let t=jL.get(e);if(t)return t;let r=xL();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return jL.set(e,t),t}var WL=class e{constructor(e){Ab(this,"_volume",0),Ab(this,"_volumeDb",0),Ab(this,"_log"),Ab(this,"_scriptProcessorNode",null),Ab(this,"_audioWorkletNode",null),Ab(this,"_interval",200),Ab(this,"ready",this.preload());let{log:t}=e;this._log=t,Ek.on(yk.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=CL(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(Nk){this._log.error("volumeMeter init audio worklet error: ".concat(Nk)),rL.logFailedEvent({userId:this._log.userId,eventType:zw.LOAD_WORKLET,error:Nk}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=xL().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(Nk){this._log.error("volumeMeter init script processor error: ".concat(Nk))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,Ek.off(yk.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};Ab(WL,"lastMessageTime",0),Ab(WL,"audioContext",xL()),Ab(WL,"workletReady");var KL=WL,zL=class extends UL{constructor(e){super(),Ab(this,"_volumeMeter"),this._volumeMeter=new KL(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Rb(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},qL=KL,JL=Tb(bb(),1),YL=e=>t=>t.deviceId===e,XL=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";Ab(this,"kind"),Ab(this,"type"),Ab(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&ZL(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(YL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");Ik.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(YL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");Ik.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},$L=class extends JL.EventEmitter{constructor(){super(),Ab(this,"audioInputs",new XL(_w.AUDIO)),Ab(this,"videoInputs",new XL(_w.VIDEO)),Ab(this,"audioOutputs",new XL(_w.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||XM.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){eP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield eP(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}},QL=zb||Kb?null:new $L;function ZL(e){return e.deviceId===e.groupId&&""===e.groupId}function eP(){return Rb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(JO()||!zO())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{ZL(e)&&(e.kind===_w.AUDIO_INPUT?r.audio=!0:e.kind===_w.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&PL()}catch(kk){Ik.debug("capture before getDevices failed: ",kk)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&nP.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function tP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return QL.update(e?1:0).then((e=>e.audioInputs.devices))}function rP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return QL.update(e?2:0).then((e=>e.videoInputs.devices))}var iP=!1;function oP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Rb(this,null,(function*(){return(FC||qN)&&(e=!1),QL.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var nP=new Set;function aP(e,t){return Rb(this,null,(function*(){let r=(yield tP()).find((e=>e.deviceId===lD));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var sP,cP=class extends FL{constructor(e){super(),this.log=e,Ab(this,"volumeMeter"),Ab(this,"volumeDestination"),Ab(this,"analyser",new VL),this.volumeMeter=new zL({log:this.log}),this.volumeDestination=new UL,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},lP=class e extends nL{constructor(e){super(e,_w.AUDIO),Ab(this,"_outputDeviceId"),Ab(this,"_volume",1),Ab(this,"_destination",xL().createMediaStreamDestination()),Ab(this,"pipeline"),Ab(this,"volumeMeterMode","worklet"),this.mode=0,this.pipeline=new cP(this._log)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===$N||"15.3"===$N||"15.4"===$N)&&this.muted)return void this._log.info("audioElement is muted.");let t=sP||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,BD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===sP&&(sP=void 0),this.bindElementEvents()}play(t){return Rb(this,null,(function*(){if(this.track)return this.pipeline.source.node||this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?this.pipeline.volumeMeter.init():"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(xL().createAnalyser()),function(){Rb(this,null,(function*(){try{iP||(iP=!0,Ik.info("speakers:".concat((yield oP()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),Sb(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setSinkId(e){return Rb(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}},uP=class extends lP{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}},dP=class extends lP{constructor(e){super(e),Ab(this,"_sourceElement"),Ab(this,"_output",new UL),this.pipeline.source.pipeTo(this.pipeline.gain.pipeTo(this.pipeline.volumeMeter.pipeTo(this._output),this.pipeline.destination))}setOutput(){this.mode=1,this._output.setNode(xL().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):FC||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),tL(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play()))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&JN&&(sP=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},hP=class extends WM{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?dP:DL)}=e;var a;super(),Ab(this,"id",Ak()),Ab(this,"userId",""),Ab(this,"isRemote"),Ab(this,"mediaType"),Ab(this,"room"),Ab(this,"user"),Ab(this,"_log"),Ab(this,"_inputTrack"),Ab(this,"_outputTrack"),Ab(this,"isPlayCalled"),Ab(this,"container",null),Ab(this,"player"),Ab(this,"subVideoPlayerMap"),Ab(this,"muted",!1),Ab(this,"abortCtrl"),Ab(this,"objectFit","cover"),Ab(this,"mirror"),Ab(this,"isScreen",!1),Ab(this,"manager"),Ab(this,"trackSettings"),Ab(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=Ik.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof NP?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof NP}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on($M.PLAYER_STATE_CHANGED,(e=>{Ek.emit(yk.PLAYER_STATE_CHANGED,gb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===_w.VIDEO&&(this.player.on($M.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent($M.LOADED_DATA),Ek.emit(yk.VIDEO_LOADED_DATA,{track:this})})),this.player.on($M.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent($M.LOADED_META_DATA)})),this.player.on($M.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on($M.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||Ik}get kind(){return 1===this.mediaType?_w.AUDIO:_w.VIDEO}get strMediaType(){return 4===this.mediaType?_w.VIDEO:2===this.mediaType?_w.SCREEN:_w.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return Rb(this,null,(function*(){let r=GD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!VD(t.muted)&&this.setPlayerMute(t.muted),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof DL&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),GD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!VD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===_w.VIDEO)&&this.setPlayerMute(!0),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof DL&&(this.player.setObjectFit(this.objectFit),t&&!VD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof DL&&this.player.setContainer(r)),Ek.emit(yk.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),GD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(Lk){throw this.handleAutoPlayFailed(Lk),Lk}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==_w.VIDEO||VD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(HD(this.mirror))return r.setViewMirror(this.mirror),void(i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return Rb(this,null,(function*(){if(!this._outputTrack||this.kind===_w.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(VD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new DL({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(SC(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Rb(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),Ek.emit(e?yk.TRACK_MUTED:yk.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){eL(e,e).add(_w.MUTE,this.onTrackMuted).add(_w.UNMUTE,this.onTrackUnmuted).add(_w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===_w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){tL(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(SC(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new wL;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof DL?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===$M.LOADED_META_DATA&&!n&&!a||(e===$M.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};Ib([HM([],WM.INIT,{sync:!0})],hP.prototype,"close",1);var pP=Object.prototype.hasOwnProperty;var mP=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(pP.call(e,t))return!1;return!0}return!1},fP=bC({retryFunction:function(e){return Rb(this,null,(function*(){let t=function(e){return{audio:gP(e),video:EP(e)}}(e);Ik.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield tP(),Ik.info("microphones: ".concat(uC(r.map((e=>Eb(gb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield rP(),Ik.info("cameras: ".concat(uC(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return TM&&e.getTracks().forEach((e=>{Ik.info("".concat(e.kind," capabilities: ").concat(uC(e.getCapabilities(),{keysToInclude:_D})))})),t.audio&&PL(),e}catch(Lk){let{message:o}=Lk;throw"NotFoundError"===Lk.name&&(e.video&&i&&0===i.length&&(o=NO({key:bO.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=NO({key:bO.MICROPHONE_NOT_FOUND}))),new Lb({code:Ob.INITIALIZE_FAILED,name:Lk.name,message:o,constraint:Lk.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!qN||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&_P(o[0].microphoneId,!1),o[0].cameraId&&_P(o[0].cameraId,!0)},onRetrying:e=>{Ik.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{rL.logFailedEvent({eventType:zw.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{rL.logSuccessEvent({eventType:zw.GET_USER_MEDIA_RETRY}),rL.uploadEvent({log:"stat-".concat(zw.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function _P(e,t){return Rb(this,null,(function*(){let r=(t?yield rP():yield tP()).find((t=>t.deviceId===e));r&&UD(r.getCapabilities)&&Ik.warn(uC(r.getCapabilities(),{keysToInclude:_D}))}))}function gP(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!mP(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(BD(e.channelCount)&&(t.channelCount=e.channelCount),HD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),HD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),HD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!mP(t)||t)}function EP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!mP(r)?r:(e.width&&(r.width={ideal:e.width},t&&!WC&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!WC&&(r.height.max=e.height)),WC&&TN&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!mP(r)||r)}var vP=fP;function yP(e){return TP(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Rb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function TP(e){return function(t,r,i){return i.value=e(i.value,r),i}}var IP=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&Ik.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{Ik.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),AP=0,SP=class{constructor(){Ab(this,"log",Ik.createLogger({id:"fq".concat(++AP)})),Ab(this,"isRunning",!1),Ab(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=gb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},RP=new WeakMap,bP=new WeakMap;function wP(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=bP.get(this)||new Map,a=i.get(n(t))||new SP;return i.set(n(t),a),bP.set(this,i),a.push({fn:o,args:t,context:this})},i}}function DP(e,t){return TP(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=$D();return zD(e)?e.then((e=>(t?BO.addSuccessEvent({key:i,cost:$D()-s}):BO.addSuccessEvent({key:i}),e))).catch((e=>{throw BO.addFailedEvent({key:i,error:e}),e})):(BO.addSuccessEvent({key:i}),e)}catch(Wb){throw BO.addFailedEvent({key:i,error:Wb}),Wb}}))}var CP=class e extends hP{constructor(e,t){super({mediaType:e,PlayerClass:t}),Ab(this,"isRemote",!1),Ab(this,"deviceId"),Ab(this,"groupId",""),Ab(this,"label",""),Ab(this,"_isRecapturing",!1),Ab(this,"_lastRecaptureTime",0),Ab(this,"_onMuteTimeoutId",-1),Ab(this,"_encodeCheckTimeoutId",-1),Ab(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){eL(e,e).add(_w.MUTE,this.onTrackMuted).add(_w.UNMUTE,this.onTrackUnmuted).add(_w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===_w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){tL(e)}setStateToCapture(){}capture(e){return Rb(this,null,(function*(){var t;try{let r,i=$D();Ek.emit(yk.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.mediaTrack)||t.stop(),r=yield vP(e));let o=r.getTracks()[0];return yield this.setInputMediaStreamTrack(o),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),Ek.emit(yk.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:$D()-i}),r}catch(kk){throw Ek.emit(yk.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:kk}),this.log.error("getUserMedia error observed ".concat(kk)),kk}}))}setInputMediaStreamTrack(e){return this.state===WM.INIT&&this.setStateToCapture(),super.setInputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),t}unpublish(){this.room&&this.room.localTracks.delete(this),Ek.emit(yk.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Rb(this,null,(function*(){if(this.mediaTrack&&yM){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:r}=this.mediaTrack;(yield function(e){return Rb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==_w.AUDIO||t!==lD||(yield aP(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),eP().then((t=>{let r=t.find((t=>t.deviceId===e));r&&this.emit("2",r)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===_w.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(_w.AUDIO_INPUT);return!!nP.has(r)}(this.mediaTrack)||this.kind===_w.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(_w.VIDEO_INPUT);return!!nP.has(r)}(this.mediaTrack)||this._isRecapturing||e&&TN&&qN)}onTrackMuted(){if(super.onTrackMuted(),IP(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<fD)return void setTimeout((()=>this.onTrackMuted()),fD);this._onMuteTimeoutId=setTimeout((()=>Rb(this,null,(function*(){var e;if(null!=(e=this.mediaTrack)&&e.muted){if((FC||BC)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Rb(this,null,(function*(){if(Sb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTime<fD)return void setTimeout((()=>this.onTrackEnded()),fD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return Rb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let r={useExactDeviceId:!0};if("user"===e||"environment"===e)r.facingMode=e;else{let t;("audio"===this.kind?yield tP():yield rP()).find((t=>t.deviceId===e))&&(t=e),r.deviceId=t}return this.capture(r).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),Ek.emit(yk.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),Ek.emit(yk.LOCAL_TRACK_RECAPTURE,{track:this,error:e})}))}))}getRecoverCaptureDeviceId(){return Rb(this,null,(function*(){let e=this instanceof xP;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(kP.get(t)||0)+1;if(kP.set(t,r),r>=3){let i=e?(yield rP()).find((e=>!kP.has(e.deviceId))):(yield tP()).find((e=>!kP.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};Ib([HM(WM.INIT,"capture",{ignoreError:!0,sync:!0})],CP.prototype,"setStateToCapture",1),Ib([function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=RP.get(this)||new SP;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return RP.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}()],CP.prototype,"capture",1),Ib([HM("capture","publish",{ignoreError:!0,success(){var e,t;this.room.localTracks.add(this),Ek.emit(yk.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"}),!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===_w.AUDIO,t=this.stat.bytesSent>0;BO[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),t||(BO.addEnum({key:e?503701:513703,value:pk()}),rL.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(uk()||mk()),userId:this.userId}),this.log.warn("encode failed"),this.emit("6",this))}}),5e3))},fail(e){let t="error";if(e.cause instanceof RTCError){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===Ob.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),DP(521714,!1)],CP.prototype,"publish",1),Ib([TP((e=>function(){return Rb(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),HM([],"capture",{sync:!0})],CP.prototype,"unpublish",1);var NP=CP,kP=new Map;Ek.on(yk.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&kP.delete(e.track.deviceId)}));var OP=class e extends NP{constructor(e){super(1,uP),Ab(this,"mediaType",1),Ab(this,"volume",0),Ab(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Ab(this,"playerMuted",!0),Ab(this,"pipeline"),Ab(this,"earMonitorGainNode",new UL),Ab(this,"_output",new UL),Ab(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),this.manager=e,this.pipeline=new BL(e),this.pipeline.gain.pipeTo(this.earMonitorGainNode.pipeTo(this._output),this.player.pipeline.volumeMeter),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this)}get dbVolume(){return qL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}setInputMediaStreamTrack(t){return Rb(this,null,(function*(){let r=this.trackSettings||{};BO.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),BO.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),BO.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.replaceSource(t),yield Sb(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(e){let{deviceId:t,customSource:r,useExactDeviceId:i=!0,retryWhenExactFailed:o=!0}=e;return super.capture({video:!1,audio:!0,microphoneId:t,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExactDeviceId:i,retryWhenExactFailed:o,customSource:r})}switchDevice(e){return Rb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==lD)return;if(yield aP(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),Ek.emit(yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(Ww){throw this.log.error("switch microphone failed ".concat(Ww)),this.deviceId&&this.recapture(this.deviceId),Ww}}}))}listenDeviceChange(){QL&&!QL.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&QL.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Rb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e))),wV(this.userId,{eventId:2003,param1:6,streamType:1});let t=yield tP();t[0]?this.recapture(t[0].deviceId):QL.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return Rb(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=!1;!VD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,e=!0),!VD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,e=!0),!VD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&BO.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),FC&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(xL().createGain()),this._output.setNode(xL().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){if(!this._inputTrack)return;let t=this._inputTrack.getConstraints();return t.noiseSuppression=e,this._inputTrack.applyConstraints(t).catch((t=>this._log.warn("".concat(e?"enable":"disable"," ANS failed "),t)))}addDenoiser(e){var t;KN<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(BO.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}removeDenoiser(e){this.pipeline.denoiser.node===e&&(this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0))}close(){this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),QL.off("audioInputAdded",this.handleMicrophoneAdded,this),QL.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}recapture(t){return Rb(this,null,(function*(){try{yield Sb(e.prototype,this,"recapture").call(this,t)}catch(Ww){let i=(yield tP()).find((e=>e.deviceId!==t));if(!i)throw Ww;yield Sb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}},MP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},LP=class{constructor(){Ab(this,"_seiMessageList",[]),Ab(this,"_smallSeiMessageList",[]),Ab(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new MP(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},PP=class e extends NP{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,DL),Ab(this,"profile",{width:640,height:480,frameRate:15,bitrate:500}),Ab(this,"avoidCropping",!1),Ab(this,"_scaleResolutionDownBy"),Ab(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),Ab(this,"small"),Ab(this,"isNeedToSetBandwidth"),Ab(this,"muteImage"),Ab(this,"manager"),Ab(this,"_seiCodec",new LP),this.manager=e;let t=()=>{this.isAllowed2k4k(this.profile)?this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),this.setProfile(Eb(gb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(yM&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return Rb(this,null,(function*(){var r,i,o;if(FD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t}),this.muteImage=t,Sb(e.prototype,this,"setMute").call(this,!1)}else yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0,Sb(e.prototype,this,"setMute").call(this,t)}))}capture(e){let{deviceId:t,facingMode:r,useExactDeviceId:i=!0,customSource:o,retryWhenExactFailed:n=!0}=e;return super.capture({audio:!1,video:!0,facingMode:r||this.facingMode,cameraId:t,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExactDeviceId:i,retryWhenExactFailed:n,customSource:o})}setProfile(e){let t=gb({},e),r=t.width>t.height;t.width*t.height<=19200&&BC&&jN&&(this.log.warn("resolution is ".concat(t.width,"*").concat(t.height,", fallback to 240*180")),t.width=r?240:180,t.height=r?180:240,t.bitrate=Math.max(t.bitrate,150)),t.width*t.height>921600&&tk&&(t.width=r?1280:720,t.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),this.avoidCropping&&(jN||WC)&&!sk()&&t.width*t.height<=230400&&t.width/t.height==16/9&&(this._scaleResolutionDownBy=1280/t.width,t.width=1280,t.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),t.bitrate&&(this.isNeedToSetBandwidth=t.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(t):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(Eb(gb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Rb(this,null,(function*(){var e;if(!this.mediaTrack)return;let t=this.settings;return(t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate)&&this.deviceId&&(16===QN?yield this.recapture(this.deviceId):(yield null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth)?(this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:_w.VIDEO,videoType:_w.BIG})):void 0}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return yM&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}get scaleResolutionDownBy(){if(this._scaleResolutionDownBy)return this._scaleResolutionDownBy;let{settings:e}=this;return e.width===this.profile.width&&e.height===this.profile.height?1:pC()&&this.profile.width>this.profile.height&&e.height>e.width?Math.max(e.width/this.profile.height,e.height/this.profile.width,1):Math.max(e.width/this.profile.width,e.height/this.profile.height,1)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return Rb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e))return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.mediaTrack.stop(),yield this.capture(t),Ek.emit(yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(Ww){throw this.log.error("switch camera failed ".concat(Ww)),this.deviceId&&this.recapture(this.deviceId),Ww}}))}listenDeviceChange(){QL&&!QL.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&QL.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Rb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e))),wV(this.userId,{eventId:2003,param1:7,streamType:2});let t=yield rP();t[0]?this.recapture(t[0].deviceId):QL.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Rb(this,null,(function*(){this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return VD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){QL.off("videoInputAdded",this.handleCameraAdded,this),QL.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Rb(this,null,(function*(){try{yield Sb(e.prototype,this,"recapture").call(this,t)}catch(Ww){let i=(yield rP()).find((e=>e.deviceId!==t));if(!i)throw Ww;yield Sb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}};Ib([yP((function(e){this.setContentHint(e.contentHint||"motion")}))],PP.prototype,"capture",1);var xP=PP,UP=Ak();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:UP,exposeOrigin:!0,permittedOrigins:["*"]})}catch(oF){}var VP=function(e){return Rb(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:qN?{max:e.width}:{ideal:e.width,max:e.width},height:qN?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);Ik.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(GN&&KN<74||qN||WC)&&Ik.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(Lk){Ik.warn("screen applyConstraints failed: ".concat(Lk))}e.captureElement&&(yield function(e,t){return Rb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&UD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==UP)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){Ik.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return VD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);Ik.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},FP=class extends xP{constructor(e){super(e,2),Ab(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Ab(this,"objectFit","contain"),Ab(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}capture(e){return Rb(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):e=yield VP({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(wk){throw t.log.error("getDisplayMedia error observed ".concat(wk)),wk instanceof Lb?wk:new Lb({code:Ob.INITIALIZE_FAILED,name:wk.name,message:wk.message})}}()}))}switchDevice(e){return Rb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Ib([yP((function(e){this.setContentHint(e.contentHint||"detail")}))],FP.prototype,"capture",1);var BP,HP=class extends OP{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}};function jP(e){return Rb(this,null,(function*(){let t=xL();BP||(BP=CL(t,URL.createObjectURL(new Blob(["registerProcessor('dumper', class extends AudioWorkletProcessor {process(inputs) {this.port.postMessage(inputs);return true;}});"],{type:"application/javascript"})))),yield BP;let r=new AudioWorkletNode(t,"dumper",{numberOfInputs:e.length,numberOfOutputs:0});return e.forEach(((e,t)=>e.connect(r,0,t))),new ReadableStream({start(e){r.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(r))),r.port.close()}})}))}var GP=class extends HL{constructor(e){super(),this.room=e,Ab(this,"_localAudioTrack"),Ab(this,"_localScreenAudioTrack"),Ab(this,"log",Ik.createLogger({id:"am"})),Ab(this,"denoiser"),Ab(this,"voiceChanger"),Ab(this,"mixChangedDebounce"),Ab(this,"encodePipeline",[]),Ab(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId))}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=jP(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e){var t;if(VD(WritableStream))return void this.log.warn("getPCM failed: browser not support WritableStream");if(null==(t=this._localAudioPipline)||!t.source.node)return void this.log.warn("getPCM failed: no local audio track");this.log.warn("getPCM");let r=new Float32Array(1920),i=0,o=new AbortController;return jP([this._localAudioPipline.source.node]).then((t=>t.pipeTo(new WritableStream({write(t){t[0][0]&&(r.set(t[0][0],i),i+=t[0][0].length,i>=1920&&(i=0,e(r),r=new Float32Array(1920)))}}),o).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),o}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return!VD(this._localAudioTrack)}changeInput(e){return e instanceof HP?(this._localScreenAudioTrack=e,e.pipeline.connect(),this.mixOnChange()):e instanceof OP?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),e.pipeline.connect(),this.mixOnChange()):e instanceof nV?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof HP?delete this._localScreenAudioTrack:e instanceof OP&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}removeDenoiser(e){var t;delete this.denoiser,null==(t=this._localAudioTrack)||t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}destroy(){this.close()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};var WP={};function KP(){}yb(WP,{Events:()=>ax,Inspect:()=>$P,LastSink:()=>QP,Sink:()=>ZP,Subscribe:()=>ex,TimeoutError:()=>sx,audit:()=>dU,bindCallback:()=>Bx,bindNodeCallback:()=>Hx,buffer:()=>yx,bufferCount:()=>vx,bufferTime:()=>JU,call:()=>zP,catchError:()=>XU,combineLatest:()=>fx,concat:()=>hx,concatMap:()=>xU,concatMapTo:()=>UU,count:()=>qx,create:()=>rx,debounce:()=>mU,debounceTime:()=>fU,defer:()=>Ax,delay:()=>YU,deliver:()=>ix,dispose:()=>JP,elementAt:()=>_U,empty:()=>Wx,every:()=>TU,exhaustMap:()=>WU,exhaustMapTo:()=>KU,filter:()=>$x,find:()=>gU,findIndex:()=>EU,first:()=>vU,fromAnimationFrame:()=>Vx,fromArray:()=>wx,fromEvent:()=>Ox,fromEventPattern:()=>kx,fromFetch:()=>Lx,fromIterable:()=>Px,fromPromise:()=>Mx,fromReadableStream:()=>Ux,fromReader:()=>xx,groupBy:()=>zU,identity:()=>qP,ignoreElements:()=>Qx,iif:()=>mx,inspect:()=>YP,interval:()=>Dx,last:()=>yU,map:()=>RU,mapTo:()=>bU,max:()=>Jx,merge:()=>ux,mergeMap:()=>BU,mergeMapTo:()=>HU,min:()=>Yx,never:()=>jx,nothing:()=>KP,of:()=>bx,pairwise:()=>AU,pipe:()=>tx,race:()=>dx,range:()=>Fx,reduce:()=>zx,retry:()=>rV,scan:()=>IU,share:()=>lx,shareReplay:()=>px,skip:()=>iU,skipUntil:()=>oU,skipWhile:()=>nU,startWith:()=>gx,subject:()=>Ix,subscribe:()=>ZU,sum:()=>Xx,switchMap:()=>kU,switchMapTo:()=>MU,take:()=>Zx,takeLast:()=>rU,takeUntil:()=>eU,takeWhile:()=>tU,tap:()=>eV,throttle:()=>lU,throwError:()=>Gx,timeInterval:()=>qU,timeout:()=>tV,timer:()=>Cx,toPromise:()=>$U,toReadableStream:()=>QU,withLatestFrom:()=>Ex,zip:()=>_x});var zP=e=>e(),qP=e=>e;function JP(){this.dispose()}var YP=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,XP=1,$P=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new nx(e,this,this.streamId++);return ax.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},QP=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=KP,this.error=KP,this.next=KP,this.dispose=KP,this.subscribe=KP,this.doDefer()}subscribe(e){return e instanceof $P?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(zP),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},ZP=class extends QP{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},ex=class extends QP{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:KP,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:KP,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:KP;if(super(),this._next=t,this._error=r,this._complete=i,this.then=KP,e instanceof $P){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{ax.defer(o,0)})),ax.create(o),ax.pipe(o),this.sourceId=o.id,this.subscribe(e),ax.subscribe({id:o.id,end:!0}),t==KP?this._next=e=>ax.next(o,0,e):this.next=e=>{ax.next(o,0,e),t(e)},i==KP?this._complete=()=>ax.complete(o,0):this.complete=()=>{this.dispose(),ax.complete(o,0),i()},r==KP?this._error=e=>ax.complete(o,0,e):this.error=e=>{this.dispose(),ax.complete(o,0,e),r()}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function tx(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function rx(e,t,r){if(YP()){let i=Object.defineProperties(Object.setPrototypeOf(e,$P.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});ax.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof $P&&ax.addSource(i,t)}return i}return e}function ix(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof $P){let o=rx((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,ax.pipe(o),o}return t=>r(new e(t,...i))}}}function ox(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var nx=class extends ZP{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{ax.defer(this.source,this.id)}))}next(e){ax.next(this.source,this.id,e),this.sink.next(e)}complete(){ax.complete(this.source,this.id),this.sink.complete()}error(e){ax.complete(this.source,this.id,e),this.sink.error(e)}},ax={addSource(e,t){ox("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){ox("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;ox("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){ox("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){ox("defer",{id:e.id,streamId:t})},pipe(e){ox("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){ox("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=XP++),ox("create",{name:e.toString(),id:e.id})}},sx=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},cx=class extends QP{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function lx(){return e=>{let t=new cx(e);if(e instanceof $P){let r=rx((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,ax.pipe(r),r}return rx(t.add.bind(t),"share",arguments)}}function ux(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=new ZP(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function dx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=new Map;t.forEach((t=>{let i=new ZP(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function hx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=0,i=t.length,o=new ZP(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function px(e){return t=>{let r=new cx(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},rx((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function mx(e,t,r){return rx((i=>e()?t(i):r(i)),"iif",arguments)}function fx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new ZP(e);o.next=t=>{0==--i?(o.next=t=>{n[r]=t,e.next(n)},o.next(t)):n[r]=t},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function _x(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new ZP(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function gx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>rx((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var Ex=ix(class extends ZP{constructor(e){super(e);let t=new ZP(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=KP,t.subscribe(fx(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),vx=ix(class extends ZP{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),yx=ix(class extends ZP{constructor(e,t){super(e),this.buffer=[];let r=new ZP(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=KP,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),Tx=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(wk){n(wk)}}function s(e){try{c(i.throw(e))}catch(wk){n(wk)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function Ix(e){let t=arguments,r=lx()(rx((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=KP,r.complete=KP,r.error=KP,r}function Ax(e){return rx((t=>t.subscribe(e())),"defer",arguments)}var Sx=e=>t=>{setTimeout((()=>e(t)))},Rx=e=>Sx((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function bx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx(Rx(t),"of",arguments)}function wx(e){return rx(Rx(e),"fromArray",arguments)}function Dx(e){return rx((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function Cx(e,t){return rx((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>{clearTimeout(o)};r.defer(n)}),"timer",arguments)}function Nx(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function kx(e,t){return rx(Nx(e,t),"fromEventPattern",arguments)}function Ox(e,t){if("on"in e&&"off"in e)return rx(Nx((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return rx(Nx((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return rx(Nx((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function Mx(e){return rx((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function Lx(e,t){return rx(Ax((()=>Mx(fetch(e,t)))),"fromFetch",arguments)}function Px(e){return rx(Sx((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Gb){t.error(Gb)}})),"fromIterable",arguments)}function xx(e){let t=r=>Tx(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return rx((e=>{t(e)}),"fromReader",arguments)}function Ux(e){return rx((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function Vx(){return rx((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function Fx(e,t){return rx((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function Bx(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return rx((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function Hx(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return rx((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function jx(){return rx((()=>{}),"never",arguments)}function Gx(e){return rx((t=>t.error(e)),"throwError",arguments)}function Wx(){return rx((e=>e.complete()),"empty",arguments)}var Kx=class extends ZP{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},zx=ix(Kx,"reduce"),qx=e=>ix(Kx,"count")(((t,r)=>e(r)?t+1:t),0),Jx=()=>ix(Kx,"max")(Math.max),Yx=()=>ix(Kx,"min")(Math.min),Xx=()=>ix(Kx,"sum")(((e,t)=>e+t),0),$x=ix(class extends ZP{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),Qx=ix(class extends ZP{next(e){}},"ignoreElements"),Zx=ix(class extends ZP{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),eU=ix(class extends ZP{constructor(e,t){super(e);let r=new ZP(e);r.next=()=>e.complete(),r.complete=JP,r.subscribe(t)}},"takeUntil"),tU=ix(class extends ZP{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),rU=e=>zx(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),iU=ix(class extends ZP{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),oU=ix(class extends ZP{constructor(e,t){super(e),e.next=KP;let r=new ZP(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=JP,r.subscribe(t)}},"skipUntil"),nU=ix(class extends ZP{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),aU={leading:!0,trailing:!1},sU=class extends ZP{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},cU=class extends ZP{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:aU;super(e),this.durationSelector=t,this.config=r,this._throttle=new sU(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=KP,this._throttle.complete(),super.complete()}},lU=ix(cU,"throttle"),uU={leading:!1,trailing:!0},dU=e=>ix(cU,"audit")(e,uU),hU=class extends ZP{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},pU=class extends ZP{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new hU(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},mU=ix(pU,"debounce"),fU=e=>ix(pU,"debounceTime")((t=>Cx(e))),_U=ix(class extends ZP{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),gU=e=>t=>Zx(1)(nU((t=>!e(t)))(t)),EU=ix(class extends ZP{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.complete()):++this.i}},"findIndex"),vU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),yU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),TU=ix(class extends ZP{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),IU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),AU=ix(class extends ZP{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),SU=class extends ZP{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},RU=ix(SU,"map"),bU=e=>ix(SU,"mapTo")((t=>e)),wU=class extends ZP{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},DU=class extends ZP{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(e,t){let r=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,r.complete=r.tryComplete,r.subscribe(this.makeSource(e,this.index++))}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},CU=class extends wU{},NU=class extends DU{next(e){this.subInner(e,CU),this.next=e=>{this.currentSink.dispose(),this.subInner(e,CU)}}},kU=ix(NU,"switchMap");function OU(e){return(t,r)=>e((()=>t),r)}var MU=OU(ix(NU,"switchMapTo")),LU=class extends wU{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},PU=class extends DU{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),LU),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},xU=ix(PU,"concatMap"),UU=OU(ix(PU,"concatMapTo")),VU=class extends wU{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},FU=class extends DU{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,VU),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},BU=ix(FU,"mergeMap"),HU=OU(ix(FU,"mergeMapTo")),jU=class extends wU{dispose(){this.context.resetNext(),super.dispose()}},GU=class extends DU{next(e){this.next=KP,this.subInner(e,jU)}},WU=ix(GU,"exhaustMap"),KU=OU(ix(GU,"exhaustMapTo")),zU=ix(class extends ZP{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=Ix(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),qU=ix(class extends ZP{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),JU=ix(class extends ZP{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),YU=ix(class extends ZP{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),XU=ix(class extends ZP{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),$U=()=>e=>new Promise(((t,r)=>{let i;new ex(e,(e=>i=e),r,(()=>t(i)))})),QU=()=>e=>{let t;return new ReadableStream({start(r){t=new ex(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},ZU=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:KP,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:KP,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:KP;return i=>new ex(i,e,t,r)},eV=ix(class extends ZP{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),tV=ix(class extends ZP{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new sx(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),rV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof $P){let r=rx((i=>{let o=e,n=new ZP(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,ax.pipe(r),r}return r=>{let i=e,o=new ZP(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},iV=class e extends hP{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Ab(this,"tinyId"),Ab(this,"isRemote",!0),Ab(this,"jitterBufferDelay",0),Ab(this,"availableState"),Ab(this,"remotePublishState"),Ab(this,"_triggerCheckDecodeSubject",Ix(Ox(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new WM("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new WM("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),tx(ux(Ox(this,WM.STATECHANGED),Ox(this.remotePublishState,WM.STATECHANGED)),RU((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),ZU((e=>{this.availableState.state!==(e?WM.ON:WM.OFF)&&(this.availableState.state=e?WM.ON:WM.OFF),this.updatePlayingState(e)})));let o=tx(Ox(this.player,$M.ERROR),$x((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=tx(Cx(5e3),$x((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===_w.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=tx(dx(o,n),eU(Ox(this,WM.INIT)));tx(this._triggerCheckDecodeSubject,$x((()=>!this.ignoreDecodeError)),MU(a),ZU((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===WM.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){let r=this.kind===_w.AUDIO;BO[e?"addSuccessEvent":"addFailedEvent"]({key:r?504700:514702}),e||(BO.addEnum({key:r?504701:514703,value:pk()}),rL.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(uk()||mk()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===_w.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?WM.ON:WM.OFF}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Ab(iV,"STATE_SUBSCRIBE","subscribe"),Ib([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return TP(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new Lb({code:Ob.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});Ik.warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],iV.prototype,"waitHasMediaTrack",1),Ib([HM(WM.INIT,iV.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),Ek.emit(yk.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),DP(521716,!1)],iV.prototype,"subscribe",1),Ib([HM(iV.STATE_SUBSCRIBE,WM.INIT,{sync:!0,success(){this.log.info("unsubscribed"),Ek.emit(yk.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],iV.prototype,"unsubscribe",1);var oV=iV,nV=class extends oV{constructor(e,t){super(e,t,1),Ab(this,"volume",0),Ab(this,"mediaType",1),Ab(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return qL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}decodeFrame(e){if(!this.manager)return e;let t=e;for(let r of this.manager.decodePipeline)if(r&&(t=r({frame:t,track:this}),!t))return;return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}},aV=[-1,-1,1,-1,-1,1,1,1],sV=[0,0,1,0,0,1,1,1],cV=class extends WM{constructor(e,t){if(super(),this.context=e,Ab(this,"name"),Ab(this,"input"),Ab(this,"output"),Ab(this,"texture"),Ab(this,"ctx2d",null),Ab(this,"fbo"),Ab(this,"width",0),Ab(this,"height",0),Ab(this,"x",0),Ab(this,"y",0),Ab(this,"program"),Ab(this,"vertexShader"),Ab(this,"fragmentShader"),Ab(this,"totalFrames",0),Ab(this,"dropFrames",0),Ab(this,"matchInputSize",!0),Ab(this,"texCoordBuffer"),Ab(this,"positionBuffer"),Ab(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Ab(this,"cost",0),Ab(this,"_canvas",null),Ab(this,"_image"),Ab(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof AV)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==QN?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(sV),this.positionBuffer=this.createBuffer(aV),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.PACK_ALIGNMENT,1),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(kk){this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(kk.message||kk)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof IV&&this.render(e)||this.context instanceof AV&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof IV){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(e,t,r,i,o){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,r):(this.ctx2d.drawImage(e,t,r,i,o),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close()),!0)}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},gb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};Ib([HM(WM.INIT,"connected",{sync:!0})],cV.prototype,"connect",1),Ib([HM("connected",WM.INIT,{ignoreError:!0,sync:!0})],cV.prototype,"disconnect",1),Ib([HM([],"closed",{sync:!0})],cV.prototype,"close",1);var lV=tx(Dx(250),RU((()=>performance.now())),lx()),uV=e=>t=>{let r=performance.now();tx(lV,nU((t=>t-r<e)),Zx(1))(t)},dV=[0,1,1,1,0,0,1,0],hV=class extends cV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Ab(this,"_intervalId",0),Ab(this,"_sequence",0),Ab(this,"checkGLError",!1),Ab(this,"checkVisibilityChange"),e instanceof AV?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(dV)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),XM.clearTask(this._intervalId),this._intervalId=XM.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(XM.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof IV){let e=this.context.ctx.getError();e&&this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this._intervalId&&(XM.clearTask(this._intervalId),this._intervalId=0,1===e)){this.log.info("".concat(this.name," use requestVideoFrameCallback"));let e=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",e))};document.addEventListener("visibilitychange",e)}this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),XM.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),XM.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},pV=class extends hV{constructor(e,t){super(e,t),Ab(this,"_videoTrack"),Ab(this,"_muteOb"),Ab(this,"_closedOb",Ox(this,"closed")),Ab(this,"_subscription"),Ab(this,"_canvasContainer"),Number(YN)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=Ox(this._videoTrack,"mute"),tx(Ox(this._videoTrack,"ended"),eU(this._closedOb),ZU((()=>{this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=tx(this._muteOb,eU(this._closedOb),MU(uV(5e3)),ZU((()=>{var e;null!=(e=this._videoTrack)&&e.muted&&this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},mV=class extends pV{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},fV=class extends pV{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},_V=class extends cV{constructor(e,t){super(e,gb({name:"imageSource"},t)),Ab(this,"_lastImage"),Ab(this,"_totalFrames",0),Ab(this,"_autoResize",!1),Ab(this,"_canvasRendered"),Ab(this,"_videoCallbackId",0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===QN&&(this._canvasRendered=Ix(),tx(this._canvasRendered,gx(this._image),kU((e=>e instanceof HTMLCanvasElement?Ox(e,"rendered"):Wx())),eU(Ox(this,"closed")),ZU((()=>{this.update()}))))}tryVideoFrameCallback(e){this._videoCallbackId&&e.cancelVideoFrameCallback(this._videoCallbackId),MM()&&!document.hidden&&(this._videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(n),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!1}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},gV=class extends _V{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",tx(Ox(this._player,$M.PLAYER_STATE_CHANGED),eU(Ox(this,"closed")),$x((e=>{let{state:t}=e;return"PLAYING"===t})),ZU((()=>{this.tryVideoFrameCallback(this._player.element)})))}get image(){return this._player.element}},EV=class extends gV{constructor(e,t,r){super(e,new DL({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},vV=class extends WM{constructor(e){super(),Ab(this,"frameRate"),Ab(this,"_canvas"),Ab(this,"log"),Ab(this,"hasAlpha",!1),Ab(this,"name"),Ab(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new EV(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new pV(this,e)}createVideoImageSource(e,t){return new _V(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new gV(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Ab(vV,"_ids",0);var yV={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},TV=class extends vV{constructor(){super(...arguments),Ab(this,"defaultProgam"),Ab(this,"defaultVShader"),Ab(this,"defaultFShader"),Ab(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(vV._ids++)),this.ctx=this._canvas.getContext("webgl2",yV),!this.ctx)throw new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,BO.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};Ab(TV,"UNAVAILABLE","unavailable"),Ib([HM(WM.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),BO.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),BO.addSuccessEvent({key:512700})}})],TV.prototype,"create",1),Ib([HM("created",WM.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(TV.UNAVAILABLE,e),this.removeAllListeners()}})],TV.prototype,"destroy",1);var IV=TV,AV=class extends vV{constructor(){super(...arguments),Ab(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(vV._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,BO.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),BO.addSuccessEvent({key:512703})}};Ib([HM(WM.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),BO.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),BO.addSuccessEvent({key:512701})}})],AV.prototype,"create",1),Ib([HM("created",WM.INIT,{ignoreError:!0,sync:!0})],AV.prototype,"destroy",1);var SV=class extends oV{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Ab(this,"mediaType",4),Ab(this,"source"),Ab(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(HD(null==t?void 0:t.canvasRender)?t.canvasRender:17===QN)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat()}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new AV({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new hV(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),MM()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!BD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},RV=class extends SV{constructor(e,t){super(e,t,2),Ab(this,"mediaType",2),Ab(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},bV=new Map;function wV(e,t){let r=Eb(gb({},t),{timestamp:Pb()});bV.has(e)?bV.get(e).push(r):bV.set(e,[r])}function DV(e){if(bV.has(e)){let t=bV.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return bV.delete(e),t}return[]}Ek.on(yk.JOIN_SUCCESS,(e=>{let{room:t}=e;wV(t.userId,{eventId:32788})})),Ek.on(yk.LEAVE_START,(e=>{let{room:t}=e;wV(t.userId,{eventId:32789})})),Ek.on(yk.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),wV(t.room.userId,{eventId:e})}})),Ek.on(yk.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),wV(t.room.userId,{eventId:e})}})),Ek.on(yk.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===_w.AUDIO?wV(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):wV(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),Ek.on(yk.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===_w.AUDIO?wV(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):wV(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),Ek.on(yk.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&wV(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&wV(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&wV(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),Ek.on(yk.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&wV(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&wV(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&wV(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),Ek.on(yk.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&wV(t.room.userId,{eventId:t.kind===_w.VIDEO?32780:32781})})),Ek.on(yk.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&wV(t.room.userId,{eventId:t.kind===_w.VIDEO?32782:32783})})),Ek.on(yk.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&wV(r.userId,{eventId:t})})),Ek.on(yk.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&wV(r.userId,{eventId:t,remoteUserId:n})})),Ek.on(yk.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l="h264"===o?0:2,u={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(u.remoteUserId=i,u.eventId=4005),wV(r,u),BO.addEnum({key:i?514701:513701,value:c}),BO.addEnum({key:i?514700:513700,value:l})})),Ek.on(yk.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===_w.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),wV(t.userId,e)}})),Tb(bb(),1);var CV=Object.create,NV=Object.defineProperty,kV=Object.defineProperties,OV=Object.getOwnPropertyDescriptor,MV=Object.getOwnPropertyDescriptors,LV=Object.getOwnPropertyNames,PV=Object.getOwnPropertySymbols,xV=Object.getPrototypeOf,UV=Object.prototype.hasOwnProperty,VV=Object.prototype.propertyIsEnumerable,FV=(e,t,r)=>t in e?NV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,BV=(e,t)=>{for(var r in t||(t={}))UV.call(t,r)&&FV(e,r,t[r]);if(PV)for(var r of PV(t))VV.call(t,r)&&FV(e,r,t[r]);return e},HV=(e,t)=>kV(e,MV(t)),jV=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?OV(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&NV(t,r,n),n},GV=(e,t,r)=>FV(e,"symbol"!=typeof t?t+"":t,r),WV=((e,t)=>function(){return t||(0,e[LV(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),KV=((e,t,r)=>(r=null!=e?CV(xV(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of LV(t))UV.call(e,o)||o===r||NV(e,o,{get:()=>t[o],enumerable:!(i=OV(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:NV(r,"default",{value:e,enumerable:!0}),e)))(WV(),1),zV=Symbol("instance"),qV=Symbol("cacheResult"),JV=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,ZV.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},YV=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var XV=new Map;function $V(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=XV.get(i)||[];XV.has(i)||XV.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=eF.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[qV]:Promise.resolve(i[qV]);i.state instanceof JV&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof JV&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new YV(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new YV(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return u(l);let d=i.state,h=new JV(d,t,a);ZV.call(i,h);let p=e=>{var o;return i[qV]=e,h.aborted||(ZV.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[qV])),e},m=e=>(ZV.call(i,d,e),u(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(Pk){return m(new YV(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(Pk),Pk instanceof Error?Pk:new Error(String(Pk))))}}}}var QV="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function ZV(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(eF.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var eF=class e extends KV.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[zV];o?this.name=o.name+"-"+o.count++:i[zV]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=XV.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);XV.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};QV(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){ZV.call(this,e)}};eF.STATECHANGED="stateChanged",eF.UPDATEAFSM="updateAFSM",eF.INIT="[*]",eF.ON="on",eF.OFF="off",eF.instances=new Map,eF.instances2=new WeakMap;var tF=class extends eF{constructor(){super(...arguments),GV(this,"decoder"),GV(this,"config")}initialize(){return Rb(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(HV(BV({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function rF(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],u=c.HEAPU32[1+(e>>2)],d=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(u,u+o),m=c.HEAPU8.subarray(d,d+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}jV([$V([eF.INIT,"closed"],"initialized")],tF.prototype,"initialize",1),jV([$V("initialized","configured",{sync:!0})],tF.prototype,"configure",1),jV([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new YV(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],tF.prototype,"decode",1),jV([$V([],eF.INIT,{sync:!0})],tF.prototype,"reset",1),jV([$V([],"closed",{ignoreError:!0,sync:!0})],tF.prototype,"close",1);var iF=class extends eF{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,GV(this,"worker"),GV(this,"decoder"),GV(this,"config"),GV(this,"module",{}),GV(this,"width",0),GV(this,"height",0)}initialize(e){return Rb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(rF.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let u=new Uint8Array(r+i+i);u.set(s),u.set(c,r),u.set(l,r+i),this.emit("videoFrame",new VideoFrame(u,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};jV([$V([eF.INIT,"closed"],"initialized")],iF.prototype,"initialize",1),jV([$V("initialized","configured",{sync:!0})],iF.prototype,"configure",1),jV([$V([],eF.INIT,{sync:!0})],iF.prototype,"reset",1),jV([$V([],"closed",{sync:!0})],iF.prototype,"close",1);var oF,nF=(oF="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,u="function"==typeof importScripts,d=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||u)&&(u?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),oF&&(d=oF),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,D,C=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!u||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,d):d+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function j(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(bt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var G={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=G.isAbs(e),r="/"===e.substr(-1);return(e=G.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=G.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=G.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return G.normalize(e.join("/"))},join2:(e,t)=>G.normalize(e+"/"+t)},W=e=>(W=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),K={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=G.isAbs(i)}return(t?"/":"")+(e=G.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=K.resolve(e).substr(1),t=K.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},z="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&z)return z.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},J=[],Y=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:Y(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!J.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;J=$(e,!0)}return J.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=K.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=G.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=K.resolve(G.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=G.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!K.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=G.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=G.dirname(e),n=G.dirname(t),a=G.basename(e),s=G.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),u=K.relative(e,n);if("."!==u.charAt(0))throw new ie.ErrnoError(28);if("."!==(u=K.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var d=ie.isDir(l.mode),h=ie.mayDelete(r,a,d);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,d):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=G.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=G.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return K.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=G.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(Y(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=W(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=G.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=G.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=G.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?G.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),u=0,d=r.length;u<d;++u)l[u]=r.charCodeAt(u);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=G.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function d(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),d(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return d(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(G.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return G.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&G.normalize(t)!==G.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,D=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=D[0],y[r+28>>2]=D[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return D=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=D[0],y[r+44>>2]=D[1],T[r+48>>2]=o%1e3*1e3,D=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=D[0],y[r+60>>2]=D[1],T[r+64>>2]=n%1e3*1e3,D=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=D[0],y[r+76>>2]=D[1],T[r+80>>2]=a%1e3*1e3,D=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=D[0],y[r+92>>2]=D[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},ue={},de={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){de[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{ue.hasOwnProperty(e)?o[t]=ue[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=ue[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),ue.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(ue[e]=t,delete de[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function De(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ce(Object.create(e,{$$:{value:t}}))}var Ce=function(e){return"undefined"==typeof FinalizationRegistry?(Ce=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(Ce=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,tt.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],je=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t},Ge=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):je(t).apply(null,r);var o,n,a})(e,t,r)}};function We(e,t){var r=(e=ce(e)).includes("j")?Ge(e,t):je(t);return"function"!=typeof r&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),r}var Ke=void 0;function ze(e){var t=Rt(e),r=ce(t);return At(t),r}function qe(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||ue[t]||(de[t]?de[t].forEach(e):(r.push(t),i[t]=!0))})),new Ke("".concat(e,": ")+r.map(ze).join([", "]))}function Je(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Xe(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function $e(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var u="void"!==t[0].name,d="",h="";for(l=0;l<a-2;++l)d+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(d,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(u||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return u&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Xe(Function,f).apply(null,_)}function Qe(){this.allocated=[void 0],this.freelist=[]}var Ze=new Qe;function et(e){e>=Ze.reserved&&0==--Ze.get(e).refcount&&Ze.free(e)}var tt={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Ze.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ze.allocate({refcount:1,value:e})}}};function rt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function it(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function ot(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var nt,at,st="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ct=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&st)return st.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},lt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},ut=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ht=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},pt=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},mt={},ft=[],_t=[],gt={},Et=()=>{if(!Et.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in gt)void 0===gt[t]?delete e[t]:e[t]=gt[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));Et.strings=r}return Et.strings},vt=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(vt.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=vt,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,u){var d=t?K.resolve(G.join2(e,t)):e;function h(r){function n(r){u&&u(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,d,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ce(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?De(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):De(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?De(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):De(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ke=i.UnboundTypeError=(nt=Error,(at=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(nt.prototype),at.prototype.constructor=at,at.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},at),Object.assign(Qe.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Ze.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ze.reserved=Ze.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Ze.reserved;t<Ze.allocated.length;++t)void 0!==Ze.allocated[t]&&++e;return e};var yt,Tt={p:function(e,t,r){throw new j(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[St()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,u,d,h,p){d=ce(d),a=We(n,a),c&&(c=We(s,c)),u&&(u=We(l,u)),p=We(h,p);var m,f,_,g=ke(d);m=g,f=function(){qe("Cannot construct ".concat(d," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+d);if(void 0===h.constructor_body)throw new he(d+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(d," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(d,s,l,p,r,a,c,u);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(d,h,!0,!1,!1),v=new Be(d+"*",h,!1,!1,!1),y=new Be(d+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=Je(t,r);o=We(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{qe("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=$e(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=Je(r,i);t=ce(t),n=We(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){qe("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,d=u[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,u[t]=o):(Me(u,t,i),u[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=$e(i,o,e,n,a,c);return void 0===u[t].overloadTable?(s.argCount=r-2,u[t]=s):u[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=tt.toValue(e);return et(e),t},toWireType:function(e,t){return tt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:it(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:ot(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return At(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?Y(t):t.length;var n=It(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(At(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(At,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){At(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=ct,o=lt,a=ut,n=()=>v,s=1):4===t&&(i=dt,o=ht,a=pt,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var u=e+4+l*t;if(l==o||0==a[u>>s]){var d=i(c,u-c);void 0===r?r=d:(r+="\0",r+=d),c=u+t}}return At(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=It(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(At,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){At(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=ft[e])(t=tt.toValue(t),r=void 0===(n=mt[o=r])?ce(o):n,null,i)},m:et,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=ue[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=_t[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var u,d,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),u=Xe(Function,a).apply(null,s),d=ft.length,ft.push(u),n=d,_t[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return Et().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=Et();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,D=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=D[0],y[t+12>>2]=D[1],D=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=D[0],y[t+20>>2]=D[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),D=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=D[0],y[o+4>>2]=D[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},It=(function(){var e,t,o,n,a={a:Tt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(It=p.G)(e)),At=e=>(At=p.I)(e),St=()=>(St=p.J)(),Rt=e=>(Rt=p.K)(e),bt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(bt=p.M)(e));function wt(){function e(){yt||(yt=!0,i.calledRun=!0,C||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){yt||wt(),yt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return wt(),e.ready}),aF=nF,sF=class extends iF{constructor(e){super(aF,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var cF=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(cF||{});function lF(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var uF=class e{constructor(e){this.core=e,GV(this,"contextMap",new Map),GV(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){switch(e){case"wasm":return new sF(HV(BV({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new tF;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(HV(BV({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=lF()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e);r&&this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1}),r&&this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1}),e.inputFrameCount&&this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1})}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(HV(BV({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?lF()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};GV(uF,"Name","TRTCVideoDecoder");var dF=uF,hF=Tb(bb());function pF(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return TP(((e,o)=>{let n=new WeakMap;return Ek.on(yk.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var mF,fF=!0,_F={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},gF={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},EF=((mF=EF||{})[mF.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",mF[mF.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",mF[mF.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",mF[mF.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",mF[mF.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",mF[mF.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",mF[mF.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",mF[mF.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",mF[mF.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",mF[mF.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",mF[mF.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",mF[mF.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",mF[mF.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",mF[mF.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",mF[mF.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",mF[mF.INVALID_ROOM_ID_REQUIED=5015]="INVALID_ROOM_ID_REQUIED",mF[mF.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",mF[mF.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",mF[mF.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",mF[mF.INVALID_OPERATION=5100]="INVALID_OPERATION",mF[mF.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",mF[mF.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",mF[mF.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",mF[mF.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",mF[mF.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",mF[mF.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",mF[mF.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",mF[mF.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",mF[mF.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",mF[mF.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",mF[mF.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",mF[mF.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",mF[mF.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",mF[mF.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",mF[mF.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",mF[mF.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",mF[mF.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",mF[mF.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",mF[mF.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",mF[mF.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",mF[mF.DEVICE_ERROR=5300]="DEVICE_ERROR",mF[mF.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",mF[mF.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",mF[mF.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",mF[mF.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",mF[mF.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",mF[mF.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",mF[mF.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",mF[mF.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",mF[mF.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",mF[mF.SERVER_ERROR=5400]="SERVER_ERROR",mF[mF.NEED_TO_BUY=5401]="NEED_TO_BUY",mF[mF.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",mF[mF.OPERATION_FAILED=5500]="OPERATION_FAILED",mF[mF.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",mF[mF.REJOIN_FAILED=5502]="REJOIN_FAILED",mF[mF.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",mF[mF.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",mF[mF.VIDEO_DECODE_ERROR=5505]="VIDEO_DECODE_ERROR",mF[mF.OPERATION_ABORT=5998]="OPERATION_ABORT",mF[mF.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",mF);var vF=Eb(gb({},wO),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function yF(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var TF=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a}=e;var s;let c;c=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=EF[r];try{t=vF[s]}catch(n){t=vF.UNKNOWN_ERROR}return UD(t)?a=t(i):FD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===gF.SERVER_ERROR?t:r||t,params:gb({fnName:n,error:a},o)}),super(c),Ab(this,"name","RtcError"),Ab(this,"code"),Ab(this,"extraCode"),Ab(this,"functionName"),Ab(this,"message"),Ab(this,"handler"),Ab(this,"originError"),this.name=EF[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=c,5302===this.extraCode&&null!=(s=this.originError)&&s.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");yN?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):TN&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof Lb){let{stack:n}=t,a={code:gF.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case Ob.INVALID_PARAMETER:a.code=gF.INVALID_PARAMETER,a.message=t.message;break;case Ob.INVALID_OPERATION:a.code=gF.INVALID_OPERATION;break;case Ob.NOT_SUPPORTED:case Ob.NOT_SUPPORTED_H264:a.code=gF.ENV_NOT_SUPPORTED,t.getCode()===Ob.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(wO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case Ob.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case Ob.SERVER_TIMEOUT:case Ob.SWITCH_ROLE_FAILED:a.code=gF.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case Ob.API_CALL_ABORTED:a.code=gF.OPERATION_ABORT;break;case Ob.DEVICE_NOT_FOUND:case Ob.DEVICE_AUTO_RECOVER_FAILED:case Ob.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case Ob.UNKNOWN:break;default:a.code=gF.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:gF.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var IF=TF,AF={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},SF={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},RF={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(FD(e)&&!document.getElementById(e))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},bF={name:"userId",required:!0,type:"string"},wF={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{values:[_F.AUDIO_PROFILE_STANDARD,_F.AUDIO_PROFILE_STANDARD_STEREO,_F.AUDIO_PROFILE_HIGH,_F.AUDIO_PROFILE_HIGH_STEREO]},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function DF(e,t){if(!e)throw new IF({code:gF.INVALID_OPERATION,extraCode:5101,fnName:t})}function CF(e,t,r){if(!e)throw new IF({code:gF.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}var NF={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new IF({code:gF.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(FD(e.roomId))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});if(!(/^[1-9]\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5013,fnName:r,messageParams:{key:t}})}else{if(!e.strRoomId)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5015,fnName:r});if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5012,fnName:r,messageParams:{key:t}})}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:RF,mute:{type:["boolean","string"]},publish:{type:"boolean"},option:AF},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Eb(gb({},RF),{required:!1}),publish:{type:"boolean"},mute:{type:["boolean","string"]},option:AF}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:wF},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:wF}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:RF,publish:{type:"boolean"},option:SF},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201});if(!eM())throw new IF({code:gF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:RF,publish:{type:"boolean"},option:SF}},muteRemoteAudio:[bF,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[bF,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:RF,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){DF(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(CF(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new IF({code:gF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Eb(gb({},RF),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){DF(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(CF(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new IF({code:gF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&VD(e.streamType))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){DF(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!SM)throw new IF({code:gF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new IF({code:gF.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});DF(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new IF({code:gF.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(DF(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new IF({code:gF.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}}},kF={TRTC:NF},OF=class extends Error{};function MF(e,t){let r=aC(e);for(let i=0;i<t.length;i++)nC(r[i],t[i]);return r}function LF(e){this._resolve=Promise.resolve(e)}function PF(e){this._reject=Promise.reject(e)}var xF=class e{constructor(t,r){this.instance=t,this.group=r,Ab(this,"started",!1),Ab(this,"ops",[]),Ab(this,"startSame",(()=>!0)),Ab(this,"mergeUpdate",MF);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new OF("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:LF,reject:PF};try{switch(this.state){case 1:if(0===e)throw new OF("already started");break;case 4:if(2===e)throw new OF("not started");break;default:return this.cacheOp(n)}}catch(Ok){return Promise.reject(Ok)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new OF("already start");break;case 3:switch(e.type){case 2:throw new OF("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new OF("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new OF("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new OF("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new OF("start not allowed after update");case 0:throw new OF("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new OF("keep start")),new OF("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};Ab(xF,"instances",new WeakMap);var UF=xF,VF=new WeakMap,FF=(e,t)=>{if(t instanceof OF){let{stack:r}=t;t=new IF({code:gF.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function BF(e,t){return TP(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=UF.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(FF.bind(null,i))):r.apply(this,n)}))}function HF(e,t){let{merge:r,debounce:i}=t||{};return TP(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=UF.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let u=null==(s=VF.get(this))?void 0:s.get(r(...a));if(u){let{timeoutId:e,resolve:t}=u;clearTimeout(e),t()}let d=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(FF.bind(null,o)).then(i,n)}),e);VF.has(this)?null==(l=VF.get(this))||l.set(r(...a),{timeoutId:d,resolve:i}):VF.set(this,new Map([[r(...a),{timeoutId:d,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(FF.bind(null,o))}))}function jF(e){return TP(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(UF.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=UF.get(this,a);return s?s.action(3,t.bind(this),o).catch(FF.bind(null,r)):t.apply(this,o)}))}var GF={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame"},WF=new Set([GF.ERROR,GF.AUTOPLAY_FAILED,GF.KICKED_OUT,GF.REMOTE_USER_ENTER,GF.REMOTE_USER_EXIT,GF.REMOTE_AUDIO_AVAILABLE,GF.REMOTE_AUDIO_UNAVAILABLE,GF.REMOTE_VIDEO_AVAILABLE,GF.REMOTE_VIDEO_UNAVAILABLE,GF.CONNECTION_STATE_CHANGED,GF.PUBLISH_STATE_CHANGED,GF.SCREEN_SHARE_STOPPED,GF.DEVICE_CHANGED,GF.FIRST_VIDEO_FRAME]);function KF(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function zF(e){return e===_F.QOS_PREFERENCE_CLEAR?"detail":e===_F.QOS_PREFERENCE_SMOOTH?"motion":""}var qF={};yb(qF,{bytes2ms:()=>wD,convertObjectNumberToInt:()=>_C,copyProperties:()=>bD,deepClone:()=>aC,deepMerge:()=>nC,delay:()=>gC,fibonacci:()=>LD,formatedTime:()=>lC,getConstructorName:()=>JD,getContainerFromElement:()=>cC,getEnv:()=>ED,getInternalVersion:()=>ZD,getLoggerUrl:()=>yD,getMuteStateFromFlag:()=>rC,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>hC,getTurnServer:()=>iC,getUint32Version:()=>fC,getValueType:()=>xD,getViewListFromView:()=>sC,glog:()=>kD,ipv4ToUint32:()=>oC,isArray:()=>GD,isAudioWorkletSupported:()=>YD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>tC,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>WD,isNumber:()=>BD,isObject:()=>jD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>pC,isPromise:()=>zD,isRemoteTrack:()=>KD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>mC,ms2bytes:()=>CD,ms2samples:()=>ND,normalizeUrl:()=>vC,performanceNow:()=>$D,promiseAny:()=>XD,samples2ms:()=>DD,setNetworkType:()=>SD,stringify:()=>uC,stringifyIncludeValue:()=>dC,throttlePromise:()=>EC});var JF={};yb(JF,{ScheduleRequestType:()=>tB,getAbilityConfig:()=>iB,getScheduleDomain:()=>oB,isNeedToSchedule:()=>XF,scheduleProxy:()=>ZF,sendScheduleRequest:()=>QF,setIsNeedToSchedule:()=>$F,setScheduleProxy:()=>eB});var YF=null,XF=!0;function $F(e){HD(e)&&e!==XF&&(XF=e,Ik.info("setIsNeedToSchedule ".concat(e)))}function QF(e){return Rb(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){if(!XF&&YF)return{isCached:!0,result:YF};let e={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n)),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let d=$D(),h=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;XD([aB((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=rB(r,"config",_w.MAIN,!0)),o())}))(rB(r,"config",_w.MAIN),e,{get timeout(){return 1e3*LD(2+t.count[0])}}),aB((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=rB(r,"config",_w.BACKUP,!0)),o())}))(rB(r,"config",_w.BACKUP),e,{get timeout(){return 1e3*LD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,e,r);h.config&&(h.config.loggerDomain&&Yb(h.config.loggerDomain),HD(h.config.scheduleCache)&&$F(!h.config.scheduleCache)),e.delta=$D()-d;let p=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=rB(e,"config",_w.MAIN),a=rB(e,"config",_w.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?_w.MAIN:_w.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),u=Math.round(e.requestStart-e.secureConnectionStart),d=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,u,d,h,p];rL.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Eb(gb({},i),{totalCost:o,local:a,dns:l,tcp:d,tls:u,request:h,response:p});break}}catch(n){Ik.error("getScheduleDetailCost error",n)}return i}(Number(r),t,d);return YF=h,{isCached:!1,result:h,detailCost:p}}catch(wk){let t=GD(wk)?wk[0]:wk,r=BD(t.code)?t.code:0,i="schedule failed".concat(t.message?": ".concat(t.message):""),o=new Lb({code:Ob.SCHEDULE_FAILED,extraCode:r,message:NO({key:bO.JOIN_ROOM_FAILED,data:{error:i,code:r}})});throw Ik.error(i,r),o}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(nD).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),Ek.on("28",(()=>$F(!0))),Ek.on("63",(()=>$F(!0))),Ek.on("84",(()=>$F(!0))),Ek.on("201",(e=>{"RECONNECTING"===e.state&&$F(!0)})),Ek.on("202",(e=>{"RECONNECTING"===e.state&&$F(!0)}));var ZF={main:"",backup:""};function eB(e){GD(e)?(ZF.main=e[0],ZF.backup=e[1]):ZF.main=e}var tB=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(tB||{});function rB(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_w.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(ZF[r]||oB(e,r,i),"/api/v1/").concat(t)}function iB(e,t,r){let i=rB(e,t),o=rB(e,t,_w.BACKUP),n=new URLSearchParams(r).toString();return XD([fetch("".concat(i,"?").concat(n)).then((e=>e.json())),fetch("".concat(o,"?").concat(n)).then((e=>e.json()))])}function oB(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_w.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=vD(e)?i?r===_w.MAIN?nD.MAIN_OVERSEA_BACKUP:nD.BACKUP_OVERSEA:r===_w.MAIN?nD.MAIN_OVERSEA:nD.BACKUP_OVERSEA:r===_w.MAIN?nD.MAIN:nD.BACKUP,t}function nB(e,t,r){return new Promise(((i,o)=>{yC({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var aB=(e,t)=>bC({retryFunction:nB,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var sB=class{constructor(){Ab(this,"_log"),this._log=Ik.createLogger({id:"fd"})}download(e,t){return Rb(this,null,(function*(){let{type:r="blob"}=t||{};e=vC(e);try{let t,i=$D();if(t=UD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=$D()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),BO.addSuccessEvent({key:522700,cost:$D()-i}),t.data}catch(kk){throw this._log.error("failed to download: ".concat(e,", error: ").concat(kk)),BO.addFailedEvent({key:522700,error:kk}),kk}}))}downloadWithFetch(e,t){return Rb(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok)throw new Error("network response was not ok");return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(Ww){throw Ww}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{200===o.status||0===o.status&&o.response?r({data:o.response}):i(new Error("XHR failed"))},o.onerror=i,o.send(null)}))}loadWasm(e,t){return Rb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=$D(),i=null,o=null;if(UD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&UD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(Wb){o=Wb}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(Wb){o=Wb}if(i){let t=$D()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),BO.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),BO.addFailedEvent({key:522701,error:o}),o}))}};Ib([oL({settings:{timeout:0,retries:3},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],sB.prototype,"download",1);var cB=new sB;function lB(e){let{TRTC:t,room:r,errorModule:i,assetsPath:o}=e;return{TRTC:t,room:r,assetsPath:o,fileDownloader:cB,innerEmitter:Ek,constants:Fb,environment:DC,utils:qF,eventLogger:rL,log:this.room.getLogger(),loggerManager:Ik,errorModule:i,kvStatManager:BO,rtcDectection:Rk,trtc:this,rx:WP,enums:bk,schedule:JF,clearStarted:(e,t)=>{let r=e.getAlias(),i=UF.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:jP,createAudioNode:GL}}var uB=new WeakMap;function dB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TP(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{pB.call(this,t,o,r,this._name)}catch(kk){return Promise.reject(kk)}return e.apply(this,o)}))}function hB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TP(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{pB.call(this,t,o,r,this._name)}catch(kk){throw kk}return e.apply(this,o)}))}function pB(e,t,r,i){if(GD(e))for(let o=0;o<e.length;o++)mB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else mB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function mB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:gF.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(VD(r)){if(t.required)throw new IF(a(5001));if(VD(t.defaultValue))return void(UD(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),UD(t.type[i])&&r instanceof t.type[i]&&(e=!0),FD(t.type[i])&&xD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>qD(e)?JD(e):FD(e)?e:xD(e)))},value:r}})}else if(!VD(t.type)&&xD(r)!==t.type)throw new IF(a(5002));if(!1===t.allowEmpty){let e=BD(r)&&(0===r||Number.isNaN(r)),t=FD(r)&&""===r.trim();if(e||t)throw new IF(a(5003))}if(t.notLessThanZero&&BD(r)&&r<0)throw new IF(a(5006));if(!VD(t.min)&&BD(r)&&r<t.min)throw new IF(a(5007));if(!VD(t.max)&&BD(r)&&r>t.max)throw new IF(a(5008));if(FD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new IF(a(5004))}else if(UD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new IF(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new IF(a(5005));let{properties:s}=t;MD(s)&&jD(r)&&Object.keys(s).forEach((e=>{mB.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;MD(c)&&GD(r)&&r.forEach(((e,t)=>{mB.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),UD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function fB(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o}=e;return TP(((e,n)=>function(){for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];var l;function u(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...s);if(s[e.argIndex]===t)return e.value}if(t===s||e in s)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(xD(t)):(JSON.stringify(t),t)}catch(xk){return"type:".concat(xD(t))}}let d=this._log||Ik;if(null!=o&&o(...s))return e.apply(this,s);s.length>0?d.info("".concat(n,"() ").concat(JSON.stringify(s,((e,t)=>u(e,t,["userSig","privateMapKey"]))))):d.info("".concat(n,"()"));let h=i?i(...s):LO[n];try{let r=e.apply(this,s),i=$D();return zD(r)?r.then((e=>(d.info("".concat(n,"() success ").concat(t.call(this,...s))),BO.addSuccessEvent({key:h,cost:$D()-i}),e))).catch((e=>{var r;let i=(e=IF.convertFrom.call(this,e,n,1===s.length?s[0]:s)).extraCode||e.code,o=null!=(r=e.message)&&r.includes(i)?"":" code:".concat(i);throw d.error("".concat(n,"() failed ").concat(t.call(this,...s)," ").concat(e).concat(o," params: ").concat(JSON.stringify(s,u))),BO.addFailedEvent({key:h,error:e}),e})):(BO.addSuccessEvent({key:h}),r)}catch(p){let e=(p=IF.convertFrom.call(this,p,n)).extraCode||p.code,t=null!=(l=p.message)&&l.includes(e)?"":" code:".concat(e);throw d.error("".concat(n,"() failed ").concat(p).concat(t," params: ").concat(JSON.stringify(s,u))),BO.addFailedEvent({key:h,error:p}),p}}))}var _B=e=>TP(((t,r)=>function(i,o){return Rb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new IF({code:gF.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(UD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new IF({code:gF.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return pB.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),gB=0,EB=class{constructor(e,t){Ab(this,"player"),Ab(this,"publisher"),Ab(this,"mixInput"),this.mixInput=new BL(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(VD(e.volume)||(this.volume=e.volume),VD(e.loop)||(this.loop=e.loop),VD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return null==(e=this.publisher)||e.play(),null==(t=this.player)?void 0:t.play()}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function vB(e,t){if(t&&"function"!=typeof t)throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var yB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"mixedMusicMap",new Map),Ab(this,"cacheMusicMap",new Map),gB+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(gB)}),this.log.info("[audioMixer] created id=".concat(this.getAlias()).concat(gB)),this.core=e}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Rb(this,null,(function*(){let{room:t}=this.core;this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new EB(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),this.mixedMusicMap.set(r,o),this.log.info("start mix audio track ".concat(r," success.")),BO.addEnum({key:502700,value:3}),this.kvUpload(e)}))}update(e){return Rb(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),VD(r)||n.setOperation(r),VD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Rb(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){var e;t.mixedMusicMap.has(r)&&(t.log.info("remove music source, music id: ".concat(r)),null==(e=t.mixedMusicMap.get(r))||e.stop(),t.mixedMusicMap.delete(r)),"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&BO.addCount({key:502711}),r&&BO.addCount({key:502703}),i&&BO.addCount({key:502704}),o&&BO.addCount({key:502705}),n&&BO.addCount({key:502706}),a&&BO.addCount({key:502707}),"function"!=typeof s&&BO.addCount({key:502709}),"function"!=typeof l&&BO.addCount({key:502710}),"function"!=typeof c&&BO.addCount({key:502708})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>this.stop({id:t})))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};Ab(yB,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});vB("onTimeUpdate",e.onTimeUpdate),vB("onEnded",e.onEnded),vB("onDurationChange",e.onDurationChange)}}),Ab(yB,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){vB("onTimeUpdate",e.onTimeUpdate),vB("onEnded",e.onEnded),vB("onDurationChange",e.onDurationChange)}}),Ab(yB,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Ab(yB,"Name","AudioMixer");var TB,IB=yB,AB=0,SB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"audioContext",xL()),Ab(this,"workletNode"),AB+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(AB)}),this.log.info("[audioDenoiser] created id=".concat(this.getAlias()).concat(AB)),e.assetsPath&&this.preload("".concat(e.assetsPath,"/denoiser-wasm.js")).catch((e=>{}))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new IF({code:gF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return TB||(TB=this.doPreload(e)),TB}doPreload(e){return Rb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield CL(this.audioContext,r)}catch(kk){throw this.log.error("load worklet failed",kk),kk}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser_".concat(Date.now())}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Rb(this,null,(function*(){let{room:t,schedule:r}=this.core;if(yield this.preload("".concat(e.assetsPath,"/denoiser-wasm.js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return Rb(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:o,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:n,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:o,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:n};let l="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 5:u="Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:n?"".concat(l," Reason: ").concat(n,". ").concat(u):"".concat(l,", ").concat(u)}}catch(n){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(n)}}}()}))}(r,Eb(gb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new IF({code:gF.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(Ub(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(){return Rb(this,null,(function*(){}))}stop(){return Rb(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};Ab(SB,"updateValidateRule",{type:"object"}),Ab(SB,"stopValidateRule",{type:"object"}),Ab(SB,"Name","AIDenoiser");var RB=SB;var bB=Tb(bb(),1),wB=class extends bB.EventEmitter{constructor(){super(),Ab(this,"observer"),Ab(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return Rb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!BC&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Gb){rL.uploadEvent({log:"stat-pressure-detector-start-failed",error:Gb})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&Ik.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(Ww){rL.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:Ww})}}},DB=new wB;function CB(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new MP(new DataView(new Uint8Array(a).buffer),!0)}function NB(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(CB),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let u=0;u<o.length;u++)for(let e=0;e<o[u].dataView.byteLength;e++)s.setInt8(l++,o[u].dataView.getInt8(e));for(let u=0;u<t.data.byteLength;u++)s.setInt8(l++,c.getInt8(u));return t.data=a,t}function kB(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new MP(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(Gb){}return t}var OB=0,MB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"_seiMessageList",[]),Ab(this,"_smallSeiMessageList",[]),Ab(this,"_subStreamSeiMessageList",[]),OB++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(OB)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(OB)),this.core=e,this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return NB({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(Ww){this.log.warn(Ww)}return t}decode(e){let{frame:t,track:r}=e;return kB({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(GF.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:IM?this.encode:NB,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:IM?this.decode:kB,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};Ab(MB,"autoStart",!0),Ab(MB,"Name","SEI");var LB=MB;function PB(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function xB(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var UB={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{UB["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var VB,FB=0,BB=class e{constructor(e){this.core=e,Ab(this,"_core"),Ab(this,"log"),Ab(this,"dumpLocalVideoMap",{}),Ab(this,"dumpRemoteVideoMap",{}),Ab(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++FB)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return Rb(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(){}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Rb(this,null,(function*(){var e;try{if(VB)yield VB;else{let t=Date.now(),r=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(Hb,"/assets/debug-dialog.js");VB=this.loadScript(r),yield VB,this.log.info("download debug dialog script cost: ".concat(Date.now()-t,"ms"))}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Gb){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Gb))}}))}closeDebugDiaLog(){var e;null==(e=this.dialog)||e.closeDialog(),this.dialog=null}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):PB,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):xB,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return PB({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return xB({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}loadScript(e){return new Promise(((t,r)=>{this.log.info("loading debug dialog from ".concat(e));let i=document.createElement("script");i.type="text/javascript",i.onload=t,i.onerror=r,i.crossOrigin="anonymous",i.src=e,document.head.append?document.head.append(i):document.getElementsByTagName("head")[0].appendChild(i)}))}};Ab(BB,"Name","Debug"),Ab(BB,"autoStart",!0),Ib([oL({settings:{timeout:3e3,retries:3},onError(e,t,r){var i;null!=(i=null==e?void 0:e.message)&&i.includes("timeout")?t():r(e)}})],BB.prototype,"loadScript",1);var HB=BB,jB=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},GB=class{constructor(e,t,r){Ab(this,"trackDoneOB"),Ab(this,"startOB"),Ab(this,"stopOB"),Ab(this,"inputFrameCount",0),Ab(this,"decodedFrameCount",0),Ab(this,"type","auto"),Ab(this,"config"),Ab(this,"decoder"),Ab(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=Ox(t,WM.INIT),this.stopOB=Ix(this.trackDoneOB),this.startOB=Ix(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=Ix();tx(this.startOB,gx(0),kU((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),tx(r,eU(this.stopOB),ZU((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:jB(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),tx(r,Zx(1),XU(Wx))})),eU(this.stopOB),ZU((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:jB(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return lx()((t=>Rb(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(kk){e.log.error(kk),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},WB={type:"object"},KB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"contextMap",new Map),Ab(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return WB}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new GB(this.core,i,e);return tx(o.trackDoneOB,Zx(1),ZU((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new GB(this.core,e.track,e))}}};Ab(KB,"Name","TRTCAudioDecoder");var zB=KB,qB=0,JB=new Set,YB=null;jb("5.10.1-wasm.3"),Sk.checkStorage(),OM();var XB={RtcError:IF,ErrorCode:gF,ErrorCodeDictionary:EF},$B=class e extends hF.EventEmitter{constructor(t,r){super(),Ab(this,"_room"),Ab(this,"_eventListened",new Set),Ab(this,"_localVideoTrack",null),Ab(this,"_localAudioTrack",null),Ab(this,"_localScreenTrack",null),Ab(this,"_localScreenAudioTrack",null),Ab(this,"_localVideoConfig",null),Ab(this,"_localScreenConfig",null),Ab(this,"_localAudioConfig",null),Ab(this,"_remoteVideoConfigMap",new Map),Ab(this,"_remoteAudioConfigMap",new Map),Ab(this,"_remoteAudioVolumeMap",new Map),Ab(this,"_remoteAudioMuteMap",new Map),Ab(this,"_mediaTrackMap",new WeakMap),Ab(this,"_log",Ik.createLogger({id:"t".concat(++qB)})),Ab(this,"_plugins",new Map),Ab(this,"_networkQuality",null),Ab(this,"_speakerId"),Ab(this,"_getPCMAbortCtrl"),this._room=new t(gb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(IB,r.assetsPath),this._use(RB,r.assetsPath),this._use(zB,r.assetsPath||tw),this._use(HB),r.enableSEI&&SM&&this._use(LB),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(GF.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new IF({code:gF.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(kk){let r=NO({key:bO.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return Ik.warn("".concat(r,"\n\n").concat(kk.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;fF&&(fF=!1,5!==Ik.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(ew,"/en/index.html")),console.info("* Changelog: ".concat(ew,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),Ik.info("TRTC Web SDK Version:",Hb),rk||Ik.debug("Build Time:","2025-04-18 14:55:50"),Ik.info("UA:",navigator.userAgent),Ik.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),lk().then((e=>{e&&Ik.info(ck)})))}();let i=new e(t,r||{});return JB.add(i),i}get room(){return this._room}_listenEvents(){eL(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(GF.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(GF.REMOTE_USER_EXIT,{userId:e}),this._remoteAudioVolumeMap.delete(e)})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(GF.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(GF.ERROR,IF.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(GF.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Eb(gb({},e),{uplinkRTT:Math.min(e.uplinkRTT,gD),downlinkRTT:Math.min(e.downlinkRTT,gD)});this.emit(GF.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{eL(t,t).add("player-state-changed",(r=>{let i=Eb(gb({},r),{userId:e.userId});t.kind===_w.VIDEO&&(i.streamType=KF(t.streamType)),this.emit(t.kind===_w.AUDIO?GF.AUDIO_PLAY_STATE_CHANGED:GF.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===Ob.PLAY_NOT_ALLOWED&&this.emit(GF.AUTOPLAY_FAILED,{userId:t.userId,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{tL(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._remoteVideoConfigMap.delete("".concat(i,"_main")),r.hasAuxiliary||this._remoteVideoConfigMap.delete("".concat(i,"_sub")),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?GF.REMOTE_VIDEO_AVAILABLE:GF.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?GF.REMOTE_AUDIO_AVAILABLE:GF.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?GF.REMOTE_VIDEO_AVAILABLE:GF.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(GF.SEI_MESSAGE,Eb(gb({},e),{streamType:KF(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(GF.ERROR,new IF({code:gF.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,gD),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/_O},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/_O},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type]})))})))};this.emit(GF.STATISTICS,l)})).add("custom-message",(e=>{this.emit(GF.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(GF.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},e),{streamType:KF(e.streamType)}))})),eL(this,QL).add("audioInputAdded",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Rb(this,null,(function*(){if(this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),YB&&YB.deviceId===uD){let e=(yield oP()).find((e=>e.deviceId===uD));e&&YB.groupId!==e.groupId&&(YB=e,this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Rb(this,null,(function*(){this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield oP())[0];if(!t||!YB||YB.groupId===t.groupId)return;let r=YB.deviceId===e.deviceId,i=YB.deviceId===uD&&YB.deviceId===t.deviceId;(r||i)&&(YB=t,this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))}))))}use(e){let t,r;"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,this._use(t,r||tw)}_use(t,r){if(this._plugins.get(t.Name))return void this._log.warn("duplicate install plugin",t.Name);let i=new t(lB.call(this,{TRTC:e,room:this._room,errorModule:XB,assetsPath:r}));this._plugins.set(t.Name,i),t.autoStart&&this.startPlugin(t.Name)}enterRoom(t){return Rb(this,null,(function*(){var r,i;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!FD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,HD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),DB.start()}))}exitRoom(){return Rb(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e,t){return Rb(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){tL(this),this.removeAllListeners(),this._room.destroy(),JB.delete(this),0===JB.size&&DB.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),Ek.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Rb(this,arguments,(function(){var t=this;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(t._localAudioTrack)return void t._log.warn("local audio is already started");let{publish:i=!0,mute:o,option:n}=r,a=new OP(t._room.audioManager),s={},c={muted:!0};n&&(VD(n.microphoneId)?VD(n.audioTrack)||(s.customSource=n.audioTrack):s.deviceId=n.microphoneId,n&&BD(n.captureVolume)&&a.setCaptureVolume(n.captureVolume),VD(n.profile)||(FD(n.profile)?pw[n.profile]&&a.setProfile(pw[n.profile]):a.setProfile(n.profile)),BD(n.earMonitorVolume)&&(c.muted=!(n.earMonitorVolume>0),c.volume=n.earMonitorVolume),VD(n.echoCancellation)||(a.profile.echoCancellation=n.echoCancellation),VD(n.noiseSuppression)||(a.profile.noiseSuppression=n.noiseSuppression),VD(n.autoGainControl)||(a.profile.autoGainControl=n.autoGainControl)),a.on("5",(e=>{t.emit(GF.ERROR,new IF({code:gF.DEVICE_ERROR,extraCode:5309,messageParams:{error:e}}))})),a.on("2",(e=>{t.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"active",device:e})})),a.on("4",(e=>{let r;e.error&&(r=IF.convertFrom(e.error)),t.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},e),{error:r}))})),t._listenOutputTrackChanged(a),t._speakerId&&a.setAudioOutput(t._speakerId),yield a.capture(s),VD(o)||a.setMute(o),eL(a,a).add("player-state-changed",(e=>{t.emit(GF.AUDIO_PLAY_STATE_CHANGED,Eb(gb({},e),{userId:""}))})),t.listeners(GF.AUDIO_FRAME).length>0&&(t._getPCMAbortCtrl=t._room.audioManager.getPCM((r=>{t.emit(e.EVENT.AUDIO_FRAME,{data:r})}))),t._getPCMAbortCtrl&&a.on("input-media-track-changed",(()=>{t._getPCMAbortCtrl&&(t._getPCMAbortCtrl.abort("inputMediaTrackChanged"),t._getPCMAbortCtrl=t._room.audioManager.getPCM((r=>{t.emit(e.EVENT.AUDIO_FRAME,{data:r})})))})),i&&t._room.isJoined&&t._room.publish(a).catch((()=>{})),t._localAudioTrack=a,t._localAudioConfig=Eb(gb({},r),{publish:i}),yield t._updateAudioPlayOption({playOption:c,track:a})}()}))}updateLocalAudio(e){return Rb(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):VD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),VD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),VD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!VD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),VD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),nC(this._localAudioConfig,e)}))}stopLocalAudio(){return Rb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),tL(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null,this._getPCMAbortCtrl&&(this._getPCMAbortCtrl.abort("stopLocalAudio"),delete this._getPCMAbortCtrl))}))}startLocalVideo(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:r,publish:i=!0,mute:o,option:n}=t,a=new xP(e._room.videoManager),s={},c={};HD(null==n?void 0:n.avoidCropping)&&(a.avoidCropping=n.avoidCropping),n&&(n.cameraId?s.deviceId=n.cameraId:VD(n.useFrontCamera)?VD(n.videoTrack)||(s.customSource=n.videoTrack):s.facingMode=n.useFrontCamera?_w.FACING_MODE_USER:_w.FACING_MODE_ENVIRONMENT,n.qosPreference&&(s.contentHint=zF(n.qosPreference)),VD(n.profile)||(FD(n.profile)?mw[n.profile]&&a.setProfile(mw[n.profile]):a.setProfile(n.profile)),VD(n.fillMode)||(c.objectFit=n.fillMode),VD(n.mirror)||(c.mirror=n.mirror),VD(n.small)||(cM()?FD(n.small)?a.small=mw[n.small]:!0===n.small?a.small=mw["120p"]:a.small=n.small:e._log.warn("small stream is not supported"))),a.once("first-video-frame",(t=>{e.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},t),{streamType:KF(t.streamType)}))})),a.on("5",(t=>{e.emit(GF.ERROR,new IF({code:gF.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),a.on("2",(t=>{e.emit(GF.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),a.on("4",(t=>{let r;t.error&&(r=IF.convertFrom(t.error)),e.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},t),{error:r}))})),e._listenOutputTrackChanged(a),yield a.capture(s),VD(o)||(yield a.setMute(o)),eL(a,a).add("player-state-changed",(t=>{e.emit(GF.VIDEO_PLAY_STATE_CHANGED,Eb(gb({},t),{userId:"",streamType:"main"}))})),i&&e._room.isJoined&&e._room.publish(a).catch((()=>{})),e._localVideoTrack=a,e._localVideoConfig=Eb(gb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:a})}()}))}updateLocalVideo(e){return Rb(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:r,mute:i,option:o}=e,n={};if(o)if(VD(o.profile)||(FD(o.profile)?mw[o.profile]&&this._localVideoTrack.setProfile(mw[o.profile]):this._localVideoTrack.setProfile(o.profile),(!o.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(o.cameraId))&&VD(o.useFrontCamera)&&this._localVideoTrack.applyProfile()),o.cameraId?yield this._localVideoTrack.switchDevice(o.cameraId):VD(o.useFrontCamera)?VD(o.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(o.videoTrack)):yield this._localVideoTrack.switchDevice(o.useFrontCamera?_w.FACING_MODE_USER:_w.FACING_MODE_ENVIRONMENT),VD(o.fillMode)||(n.objectFit=o.fillMode),VD(o.mirror)||(n.mirror=o.mirror),o.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(zF(o.qosPreference)),o.small){let e=!this._localVideoTrack.small;cM()?(!0===o.small?this._localVideoTrack.small=mw["120p"]:FD(o.small)?this._localVideoTrack.small=mw[o.small]:this._localVideoTrack.small=o.small,this._room.videoManager.update(),e&&this._room.enableSmall(!0)):this._log.warn("small stream is not supported")}else!1===o.small&&this._localVideoTrack.small&&(delete this._localVideoTrack.small,this._room.videoManager.update(),this._room.enableSmall(!1));this._room.isJoined&&!VD(r)&&(r&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!r&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),VD(i)||(yield this._localVideoTrack.setMute(i)),yield this._updateVideoPlayOption({view:t,playOption:n,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),nC(this._localVideoConfig,e)}))}stopLocalVideo(){return Rb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),tL(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:r=null,publish:i=!0,option:o}=t,n=new FP(e._room.videoManager);n.on("4",(t=>{let r;t.error&&(r=IF.convertFrom(t.error)),e.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},t),{error:r}))})),n.once("first-video-frame",(t=>{e.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},t),{streamType:KF(t.streamType)}))})),e._listenOutputTrackChanged(n),"main"===t.streamType&&(n.mediaType=4);let a=null,s={},c={};o&&(VD(o.profile)||(FD(o.profile)?fw[o.profile]&&n.setProfile(fw[o.profile]):n.setProfile(o.profile)),o.systemAudio&&(s.systemAudio=!0,s.echoCancellation=o.echoCancellation,s.noiseSuppression=o.noiseSuppression,s.autoGainControl=o.autoGainControl),VD(o.fillMode)||(c.objectFit=o.fillMode),o.videoTrack&&(s.videoTrack=o.videoTrack),o.audioTrack&&(s.audioTrack=o.audioTrack),o.captureElement&&(s.captureElement=o.captureElement),o.preferDisplaySurface&&(s.preferDisplaySurface=o.preferDisplaySurface),o.qosPreference&&(s.contentHint=zF(o.qosPreference)));let l=yield n.capture(s);if(n.mediaTrack.addEventListener(_w.ENDED,(()=>{e._stopScreenShare(),e.emit(GF.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(a=new HP(e._room.audioManager),yield a.setInputMediaStreamTrack(l.getAudioTracks()[0]),e._speakerId&&a.setAudioOutput(e._speakerId)),eL(n,n).add("player-state-changed",(t=>{e.emit(GF.VIDEO_PLAY_STATE_CHANGED,Eb(gb({},t),{userId:"",streamType:"sub"}))})),i&&e._room.isJoined){let t=[n];a&&t.push(a),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=n,e._localScreenAudioTrack=a,e._localScreenConfig=Eb(gb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:n})}()}))}updateScreenShare(e){return Rb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:r,option:i}=e,o={};if(i&&(VD(i.fillMode)||(o.objectFit=i.fillMode),i.qosPreference)){let e=zF(i.qosPreference);this._localScreenTrack.setContentHint(e)}this._room.isJoined&&!VD(r)&&(r&&!this._localScreenConfig.publish&&(this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.publish(this._localScreenAudioTrack).catch((()=>{}))),this._localScreenConfig.publish&&!r&&(this._room.unpublish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.unpublish(this._localScreenAudioTrack).catch((()=>{})))),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),nC(this._localScreenConfig,e)}))}stopScreenShare(){return Rb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Rb(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;this._listenOutputTrackChanged(c),o&&(VD(o.fillMode)||(s.objectFit=o.fillMode),VD(o.mirror)||(s.mirror=o.mirror),VD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!VD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!VD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Rb(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(VD(a.fillMode)||(l.objectFit=a.fillMode),VD(a.mirror)||(l.mirror=a.mirror));let u=null,d=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=d&&d.muteState.hasVideo&&(u=d.remoteVideoTrack),"sub"===n&&null!=d&&d.muteState.hasAuxiliary&&(u=d.remoteAuxiliaryTrack),!u)return;let{config:h}=c;"main"===n&&a&&!VD(a.small)&&this._room.changeType(a.small,u.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:u,prevConfig:h}),nC(h,e);let p=VD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=VD(i)?h.view:i,f=VD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:u,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Rb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Rb(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));let o=this._remoteVideoConfigMap.get("".concat(e.userId,"_").concat(e.streamType));o&&o.observer&&o.observer.disconnect(),this._remoteVideoConfigMap.delete("".concat(e.userId,"_").concat(e.streamType))}))}muteRemoteAudio(e,t){return Rb(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(kk){throw this._remoteAudioMuteMap.delete(e),kk}}))}setRemoteAudioVolume(e,t){if("*"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return Rb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Rb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Rb(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(t,r,i){return this.listeners(t).includes(r)||(this._log.debug("on",t),super.on(t,r,i),this._eventListened.add(t),t===e.EVENT.AUDIO_FRAME&&!this._getPCMAbortCtrl&&(this._getPCMAbortCtrl=this._room.audioManager.getPCM((t=>{this.emit(e.EVENT.AUDIO_FRAME,{data:t})})),this._localAudioTrack&&this._localAudioTrack.on("input-media-track-changed",(()=>{this._getPCMAbortCtrl&&(this._getPCMAbortCtrl.abort("inputMediaTrackChanged"),this._getPCMAbortCtrl=this._room.audioManager.getPCM((t=>{this.emit(e.EVENT.AUDIO_FRAME,{data:t})})))})))),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{WF.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(kk){}return super.emit(e,...r)}off(t,r,i){var o,n;return this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners(),null==(o=this._getPCMAbortCtrl)||o.abort("off"),delete this._getPCMAbortCtrl):(super.off(t,r,i),t===e.EVENT.AUDIO_FRAME&&(null==(n=this._getPCMAbortCtrl)||n.abort("off"),delete this._getPCMAbortCtrl)),this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(FD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return Rb(this,null,(function*(){(yield oP()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),YB=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return Rb(this,null,(function*(){let{userId:t}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let r=this._room.remotePublishedUserMap.get(t);if(!r)return;let i={},o=r.remoteAudioTrack;this._listenOutputTrackChanged(o),this._speakerId&&o.setAudioOutput(this._speakerId);try{let r=this._remoteAudioVolumeMap.get(t),n=BD(r)?r:100;i.volume=n,this._remoteAudioConfigMap.set(t,e),yield this._room.subscribe(o),tx(Ox(o,"decode-failed"),eU(Ox(o,WM.INIT)),ZU((()=>{this.startPlugin(zB.Name,{track:o,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:i,track:o})}catch(Ok){throw this._remoteAudioConfigMap.delete(t),Ok}this._emitTrackEvent(o)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Rb(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId))}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),tx(Ox(e,"decode-failed"),eU(Ox(e,WM.INIT)),eV((()=>{this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),MU(Ox(e,"decode-downgrade-state-changed")),ZU((i=>{r=i.state,this.emit(GF.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Eb(gb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Rb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),VD(t)&&o&&o.view&&!tC(r)){let e=sC(o.view);e.length>0&&(yield i.play(e,r))}if(!VD(t)){let e=sC(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Rb(this,arguments,(function(e){let{playOption:t={},track:r,prevConfig:i}=e;return function*(){if(!r.isPlayCalled)try{yield r.play(null,t)}catch(Wb){}VD(t.muted)||r.setPlayerMute(t.muted),VD(t.volume)||r.setAudioVolume(t.volume/100)}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(GF.TRACK,{userId:r,streamType:KF(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(VD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(KF(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||GD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting)})),clearTimeout(c),c=window.setTimeout((()=>{let e=[...s.values()].find((e=>e));t.log.info("view is".concat(e?"":" not"," visible")),e?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(sC(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return Rb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._remoteAudioVolumeMap.clear(),function(e){let t=uB.get(e);t&&(t.forEach((e=>clearTimeout(e))),uB.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{tL(e.remoteAudioTrack),tL(e.remoteVideoTrack),tL(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Rb(this,null,(function*(){var e;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),tL(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!YB||ZL(YB))&&(this._initActiveSpeaker(),Ek.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Rb(this,null,(function*(){if(YB&&!ZL(YB))this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:YB});else{let e=yield oP();e[0]&&!ZL(e[0])?(YB=e[0],this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):Ek.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:Eb(gb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),BO.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),BO.addCount({key:500001,useUV:!0})}static setLogLevel(e,t){Ik.setLogLevel(e),VD(t)||(t?Ik.enableUploadLog():Ik.disableUploadLog())}static isSupported(){return QO()}static getCameraList(){return rP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return tP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return oP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Rb(this,null,(function*(){if(!BC||t!==_F.SPEAKER&&t!==_F.HEADSET)(yield oP()).forEach((e=>{e.deviceId===t&&(JB.forEach((r=>{r._setCurrentSpeaker(t),r.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),YB=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;JB.forEach((e=>Rb(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a}=e;switch(a&&(FO.version=a),t){case"count":FO.addCount({key:r,useUV:n});break;case"enum":FO.addEnum({key:r,value:i,useUV:n});break;case"number":FO.addNumber({key:r,value:i,split:o})}}};Ab($B,"_loggerManager",Ik),Ab($B,"EVENT",GF),Ab($B,"ERROR_CODE",gF),Ab($B,"TYPE",_F),Ab($B,"frameWorkType",30),Ib([fB({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],$B.prototype,"use",1),Ib([dB(kF.TRTC.enterRoom),BF("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),TP((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),fB()],$B.prototype,"enterRoom",1),Ib([fB()],$B.prototype,"exitRoom",1),Ib([dB(kF.TRTC.switchRole),HF("room",{merge:(e,t)=>t}),fB()],$B.prototype,"switchRole",1),Ib([fB()],$B.prototype,"destroy",1),Ib([dB(kF.TRTC.startLocalAudio),BF("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),fB()],$B.prototype,"startLocalAudio",1),Ib([dB(kF.TRTC.updateLocalAudio),HF("audio",{debounce:{delay:200,getKey:()=>"".concat(qB,"-localAudio"),isNeedToDebounce:e=>{var t;return!VD(null==(t=e.option)?void 0:t.captureVolume)}}}),fB()],$B.prototype,"updateLocalAudio",1),Ib([jF("audio"),fB()],$B.prototype,"stopLocalAudio",1),Ib([dB(kF.TRTC.startLocalVideo),BF("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),fB()],$B.prototype,"startLocalVideo",1),Ib([dB(kF.TRTC.updateLocalVideo),HF("video"),fB()],$B.prototype,"updateLocalVideo",1),Ib([jF("video"),fB()],$B.prototype,"stopLocalVideo",1),Ib([dB(kF.TRTC.startScreenShare),BF("screen",(()=>!0)),fB()],$B.prototype,"startScreenShare",1),Ib([dB(kF.TRTC.updateScreenShare),HF("screen"),fB()],$B.prototype,"updateScreenShare",1),Ib([fB()],$B.prototype,"stopScreenShare",1),Ib([dB(kF.TRTC.startRemoteVideo),BF((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"startRemoteVideo",1),Ib([dB(kF.TRTC.updateRemoteVideo),HF((e=>"v".concat(e.userId).concat(e.streamType))),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"updateRemoteVideo",1),Ib([dB(kF.TRTC.stopRemoteVideo),TP((e=>function(t){return Rb(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"stopRemoteVideo",1),Ib([jF((e=>"v".concat(e.userId).concat(e.streamType)))],$B.prototype,"_stopRemoteVideo",1),Ib([dB(...kF.TRTC.muteRemoteAudio),fB({getRemoteId:e=>e})],$B.prototype,"muteRemoteAudio",1),Ib([hB(...kF.TRTC.setRemoteAudioVolume),function(e,t){return TP(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=uB.get(this);a||(a=new Map,uB.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=uB.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=uB.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),fB({getRemoteId:e=>e})],$B.prototype,"setRemoteAudioVolume",1),Ib([_B("start"),yP((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),BF(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>PO[e.getName()],ignoreLog:e=>"Debug"===e.getName()})],$B.prototype,"startPlugin",1),Ib([_B("update"),HF(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>xO[e.getName()]})],$B.prototype,"updatePlugin",1),Ib([_B("stop"),jF(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>UO[e.getName()]})],$B.prototype,"stopPlugin",1),Ib([hB(...kF.TRTC.enableAudioVolumeEvaluation)],$B.prototype,"enableAudioVolumeEvaluation",1),Ib([fB()],$B.prototype,"getVideoSnapshot",1),Ib([fB()],$B.prototype,"_setCurrentSpeaker",1),Ib([BF((e=>"a".concat(e.userId)),(()=>!0))],$B.prototype,"_startRemoteAudio",1),Ib([TP((e=>function(t){return Rb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Eb(gb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),jF((e=>"a".concat(e.userId)))],$B.prototype,"_stopRemoteAudio",1),Ib([jF("room")],$B.prototype,"_exitRoom",1),Ib([jF("screen")],$B.prototype,"_stopScreenShare",1),Ib([dB(...kF.TRTC.sendSEIMessage),pF({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],$B.prototype,"sendSEIMessage",1),Ib([dB(kF.TRTC.sendCustomMessage),pF({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],$B.prototype,"sendCustomMessage",1),Ib([dB(kF.TRTC.create)],$B,"_create",1);var QB=$B,ZB=class{constructor(e,t){Ab(this,"_flag"),Ab(this,"terminalType"),Ab(this,"userId"),Ab(this,"tinyId"),Ab(this,"role"),Ab(this,"remoteAudioTrack"),Ab(this,"remoteVideoTrack"),Ab(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new nV(e,this),this.remoteVideoTrack=new SV(e,this),this.remoteAuxiliaryTrack=new RV(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return rC(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},eH=class{constructor(){Ab(this,"_set",new Set),Ek.on(yk.LEAVE_SUCCESS,this.delete,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}};function tH(){return Rb(this,null,(function*(){let e,t;try{let t=yield tP();e=t&&t.length}catch(wk){}try{let e=yield rP();t=e&&e.length}catch(wk){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a}=this.checkSystemResult.detail,s=Rk.basis(),c={webRTC:s.isWebRTCSupported,getUserMedia:s.isGetUserMediaSupported,webSocket:s.isWebSocketsSupported,screenShare:s.isScreenShareSupported,webAudio:s.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a},l={browser:s.browser,os:s.os,trtc:c,devices:r},u={isWebCodecSupported:s.isWebCodecSupported,isMediaSessionSupported:s.isMediaSessionSupported,isWebTransportSupported:s.isWebTransportSupported};rL.uploadEvent({log:"trtcstats-".concat(JSON.stringify(l)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(l))),rL.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(u)),userId:this.userId})}))}var rH=class{constructor(e){Ab(this,"_frameWorkType"),Ab(this,"_component"),Ab(this,"_language"),Ab(this,"connectionType"),Ab(this,"_room"),Ab(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),Ab(this,"_keyPrefix"),Ab(this,"_log"),Ab(this,"_intervalId"),Ab(this,"_firstPublishedUserList"),Ab(this,"_networkQuality"),Ab(this,"_basicInfo"),Ab(this,"_pathJoinRoom"),Ab(this,"_pathLeaveRoom"),Ab(this,"_pathMainVideoMap"),Ab(this,"_pathMainAudioMap"),Ab(this,"_pathAuxiliaryMap"),Ab(this,"_remoteStreamStatMap"),Ab(this,"_localStreamStat"),Ab(this,"_eventMap",new Map),Ab(this,"_captureCostSum",0),Ab(this,"_captureCostCount",0),Ab(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=Ik.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&UD(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return zD(n)?n.catch((e=>Ik.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(Ww){Ik.error("".concat(t.name,"() error observed ").concat(Ww))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:Hb,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,lk().then((e=>{this._basicInfo.string_os_version=mk(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),Ek.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(yk.JOIN_START,this.handleJoinStart).addEvent(yk.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(yk.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(yk.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(yk.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(yk.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(yk.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(yk.JOIN_FAILED,this.handleJoinFailed).addEvent(yk.LEAVE_START,this.handleLeaveStart).addEvent(yk.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(yk.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(yk.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(yk.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(yk.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(yk.PUBLISH_START,this.handlePublishStart).addEvent(yk.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(yk.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(yk.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(yk.PLAY_TRACK_START,this.handlePlayStart).addEvent(yk.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===_w.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(yk.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(yk.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(yk.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(yk.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>Ek.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),XM.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(VD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),VD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),VD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof Lb?Number(r.getExtraCode()||r.getCode()):Ob.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time&&(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time?this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time:this._log.warn("pathJoinRoom endTime is 0"),this.report())}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:Eb(gb({},oH),{msg_user_info:new nH({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new nH({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),u="".concat(n,"_").concat(i),d=this._remoteStreamStatMap.get(u);d&&0===d.subscribeStartTime&&(d.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(u)&&this._pathMainVideoMap.set(u,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(u)&&this._pathMainAudioMap.set(u,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(u)&&this._pathAuxiliaryMap.set(u,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,BO.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/_O*100)>0&&(this._localStreamStat.totalAudioLevel+=e/_O,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*fb(10,6)))}})),!tC(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/_O*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/_O,t.audioLevelCount++))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0))}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof Lb?r.getExtraCode()||r.getCode():Ob.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&yw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Aw))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Iw))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,_w.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,_w.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,iH));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>iH&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+iH):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>iH&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+iH):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>iH&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+iH)}getReportData(){this._basicInfo.uint32_networkType=RD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new nH({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:oC(this._signalInfo.relayIp),uint32_client_ip:oC(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*fb(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:oC(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return _C(e),e}report(){return Rb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(Nk){this._log.warn(Nk)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Rb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=yield TC(e),i=r instanceof ArrayBuffer,o="".concat(yD(t,aw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(BO),this.uploadKVStat(FO)];n||a.push(yC({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Rb(this,null,(function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Eb(gb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=yield TC(t),i="".concat(yD(+this._room.sdkAppId,aw.KV_STAT),"&gzip=").concat(+(r instanceof ArrayBuffer)),o=!1;navigator.sendBeacon&&(o=navigator.sendBeacon(i,r)),o||yC({url:i,body:r})}))}};Ib([oL({settings:{timeout:500,retries:3}})],rH.prototype,"upload",1);var iH=5e3,oH={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},nH=class{constructor(e){Ab(this,"str_identifier"),Ab(this,"str_tinyid"),Ab(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},aH=rH,sH=class{constructor(){Ab(this,"_startTime"),Ab(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=$D())}stop(){0===this._endTime&&(this._endTime=$D())}getDuration(){return 0===this._endTime?$D()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},cH=class{constructor(e){Ab(this,"_room",null),Ab(this,"_durationMap"),Ab(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(yk.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(yk.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),_w.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),_w.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),_w.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,_w.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,_w.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,_w.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>Ek.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>Ek.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new sH,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===_w.AUDIO?[o]:[],video:t===_w.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},lH=class{constructor(e){Ab(this,"_room"),Ab(this,"_renderFreezeMap",new Map),Ab(this,"_isVideoPlayingEventFiredMap",new Map),Ab(this,"_dataFreezeMap",new Map),Ab(this,"_monitorFreezeData",new Map),Ab(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(yk.PLAY_TRACK_START,this.onPlayTrackStart).set(yk.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===_w.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===_w.MUTE?this.onVideoTrackMuted(t):i===_w.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(yk.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>Ek.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>Ek.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new sH;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;this.hitTest(t)&&r.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:r,muteState:i}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&i.hasVideo&&!i.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&i.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))}))}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();a>eD?this._monitorFreezeData.set(t,{userId:r,type:i,duration:a}):o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}handleRenderFreeze(e){return Rb(this,arguments,(function(e){var t=this;let{userId:r,fps:i,type:o}=e;return function*(){let e="".concat(r,"_").concat(o),n=t._renderFreezeMap.get(e);if(i<=2){let i=$D();n&&!n.isFreeze&&(n.freezeTimeline.push({startTime:i,endTime:0}),n.isFreeze=!0),n||t._renderFreezeMap.set(e,{userId:r,type:o,isFreeze:!0,freezeTimeline:[{startTime:i,endTime:0}],renderFreezeTotal:0})}else if(n&&n.isFreeze){n.isFreeze=!1;let e=n.freezeTimeline.pop();if(e){e.endTime=$D();let t=e.endTime-e.startTime;n.freezeTimeline.push(e),n.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==_w.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<eD&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t=this._renderFreezeMap.get(e),r=0,i=0;if(t)if(t.isFreeze){let e=$D()-t.freezeTimeline[t.freezeTimeline.length-1].startTime;r=t.renderFreezeTotal+Math.min(e,5e3),i=t.freezeTimeline.length}else r=t.renderFreezeTotal;return{renderFreeze:r,count:i}}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},uH=Tb(bb(),1),dH=[1,0,0,0,1,1,0,1],hH=class extends cV{constructor(e,t){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"mirror",logger:t}),e instanceof IV)try{this.setTexBuffer(dH)}catch(Ww){e.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(Ww.message||Ww)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.save(),this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0);let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}},pH=class{constructor(e,t){this.node=e,this.layout=t,Ab(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}},mH=class extends cV{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),Ab(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let r=new pH(e,t);this.inputs[t.zIndex]=r}resize(e,t){let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof IV&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.resize(0,0),e}removeInput(e){this.inputs[this.inputs.findIndex((t=>(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),!this.inputs.reduce(((t,r)=>(!r||!r.node.requestFrame(e))&&t),!0)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(!this.inputs.reduce(((t,r)=>(!r||!r.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&this.draw2d(t.node.image,t.x,t.y,t.width,t.height)}return!0}return!1}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},gb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t,r;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context instanceof IV))try{null==(r=this.context.ctx)||r.deleteBuffer(e.positionBuffer)}catch(Lk){}}))}},fH=class extends EV{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,logger:e.log}),Ab(this,"_bgTexture"),Ab(this,"_waterMarkTexture"),Ab(this,"_lastMaskTexture"),Ab(this,"_lastMaskFbo"),Ab(this,"_textureValid",!1),Ab(this,"_selfieTextureValid",!1),Ab(this,"_selfieSegmentation"),Ab(this,"wasm"),Ab(this,"_prePrograme"),Ab(this,"_segmentationMask"),Ab(this,"_weixin",!1),t.selfieSegmentation&&(this._selfieSegmentation=t.selfieSegmentation,this._selfieSegmentation.onResults=this.onPredict.bind(this));try{this.init(t)}catch(kk){e.log.error(kk),e.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(kk.message||kk)}))}}init(e){let t=e.Wasm,r=this.context.ctx;if(this.wasm=new t.AllIn1(r),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"green"===e.bg?3:0,e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}if(this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),r.uniform1i(r.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(r.uniform1i(r.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(r.uniform1i(r.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image)),r.uniform1i(r.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(r.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(r.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),r.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),r.uniform1i(r.getUniformLocation(this._prePrograme,"mask"),1)}}onPredict(e){var t;let r=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture))),this.useProgram(),this._weixin?this.useTexture():null==this||this._selfieSegmentation.bindTexture(),r.activeTexture(r.TEXTURE1),null==(t=this._selfieSegmentation)||t.bindTexture2d(e),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this._bgTexture||null),r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this._waterMarkTexture||null),this.useBufferFrame(),r.drawArrays(r.TRIANGLE_STRIP,0,4),this._segmentationMask=e,this.totalFrames++}render(e){var t,r,i,o;let n=this.context.ctx,{image:a}=this;this.tryVideoFrameCallback(a);let{videoWidth:s,videoHeight:c}=a;if(0===s||0===c)return!1;a.width=s,a.height=c;let l=!1;if(this.totalFrames)this._weixin?this.useTexture():null==(t=this._selfieSegmentation)||t.bindTexture(),l=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),l=this._textureValid,this._textureValid=!0}return this.width===s&&this.height===c&&l?n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,a):(this.resize(s,c),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,a)),this._weixin&&(n.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask&&(n.activeTexture(n.TEXTURE1),null==(r=this._selfieSegmentation)||r.bindTexture2d(this._segmentationMask),n.bindFramebuffer(n.FRAMEBUFFER,this._lastMaskFbo||null)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null==(i=this._selfieSegmentation)||i.bindTexture(),this._segmentationMask?n.copyTexSubImage2D(n.TEXTURE_2D,0,0,0,0,0,s,c):n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,0,0,s,c,0)),null==(o=this._selfieSegmentation)||o.send(s,c),this.totalFrames||(n.activeTexture(n.TEXTURE2),n.bindTexture(n.TEXTURE_2D,this._bgTexture||null),n.activeTexture(n.TEXTURE3),n.bindTexture(n.TEXTURE_2D,this._waterMarkTexture||null),n.drawArrays(n.TRIANGLE_STRIP,0,4)),!1}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),null==(e=this.wasm)||e.close()}},_H=class extends cV{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),Ab(this,"yTextureRef"),Ab(this,"uTextureRef"),Ab(this,"vTextureRef"),Ab(this,"Y"),Ab(this,"U"),Ab(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},gH=[e=>{e.codec="avc1.420028"},e=>{delete e.hardwareAcceleration}],EH=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var vH=0,yH=class{constructor(e){Ab(this,"id",vH++),Ab(this,"trackDoneOB"),Ab(this,"startOB"),Ab(this,"stopOB"),Ab(this,"decoder"),Ab(this,"videoContext"),Ab(this,"gop",0),Ab(this,"gop_helper",0),Ab(this,"waitFirstKeyFrame",!0),Ab(this,"startTimestamp",0),Ab(this,"startTime",0),Ab(this,"startPerformanceTime",0),Ab(this,"inputFrameCount",0),Ab(this,"decodedFrameCount",0),Ab(this,"decodeFrameCount",0),Ab(this,"downgradeLevel",0),Ab(this,"lastDowngradeTime",0),Ab(this,"lastFrameDiff",0),Ab(this,"lastDecodeFrameTimestamp",0),Ab(this,"config"),Ab(this,"gop_before_configure",[]),Ab(this,"videoElement"),Ab(this,"type","wasm"),Ab(this,"goodType"),Ab(this,"renderer","2d"),Ab(this,"wasmOption"),Ab(this,"createDecoder"),Ab(this,"_decodeSink"),Ab(this,"isReported",!1),Ab(this,"track"),Ab(this,"stateChangeOB"),Ab(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=Ix(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=Ox(t.availableState,WM.OFF),this.stopOB=Ix(this.trackDoneOB),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),tx(this.stateChangeOB,IU(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),eU(this.stopOB),ZU()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=tx(this.pipe(this.track),eU(this.stopOB),lx());tx(t,ZU((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),BO.addFailedEvent({key:EH(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED");else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),BO.addSuccessEvent({key:EH(this.type,this.renderer)}),BO.addSuccessEvent({key:514704})}))),tx(t,Zx(1),ZU((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!YO()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=$D()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>Rb(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;e.player.setCanvas(),e.setInputMediaStreamTrack(i),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":for(let e=0;e<=gH.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===gH.length)return void t.error(3);gH[e](this.config)}r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new IV({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(IV.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new _H(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new AV({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let t=this.videoContext.createVideoImageSource();r.on("videoFrame",(e=>{t.image=e,t.update()}));let i=new hV(this.videoContext,{name:"remotePlayer",logger:e.log});t.connect(i),e.source=t,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(Ok){e.log.error(Ok),t.error("webCodecs"===n?2:6)}}))}},TH=class extends uH.EventEmitter{constructor(e){super(),this.room=e,Ab(this,"videoContext"),Ab(this,"_glVideoContext"),Ab(this,"_2dVideoContext"),Ab(this,"destination"),Ab(this,"smallVideoContext"),Ab(this,"smallDestination"),Ab(this,"smallTrackSource"),Ab(this,"smallImageSource"),Ab(this,"_isMirror",!1),Ab(this,"cameraTrack"),Ab(this,"cameraNode"),Ab(this,"mirrorNode"),Ab(this,"mixNode"),Ab(this,"screenTrack"),Ab(this,"screenNode"),Ab(this,"selfModel",!1),Ab(this,"blurRadius",3),Ab(this,"arTrack"),Ab(this,"Wasm"),Ab(this,"waterMarkNode"),Ab(this,"_waterMarkOption"),Ab(this,"watermarkImageList",[]),Ab(this,"_beautyParams"),Ab(this,"isUsingArTrack",!1),Ab(this,"_isMixScreen",!1),Ab(this,"_virtualBackground"),Ab(this,"_virtualBackgroundAbortCallback"),Ab(this,"virtualBackgroundInstance"),Ab(this,"_bgAssetPath"),Ab(this,"log",Ik.createLogger({id:"vm"})),Ab(this,"_checkId",0),Ab(this,"_use2d",!1),Ab(this,"_autoSwitchRenderMode",!0),Ab(this,"_selfieSegmentation"),Ab(this,"encodePipeline",[]),Ab(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new AV({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new AV({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new IV({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(IV.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(Gb){this.emit("error",Gb)}}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=XM.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),XM.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(JN||this._isMixScreen||this._isMirror||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?BO.addFailedEvent({key:t,error:e}):BO.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new IV({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}initVirtualBackground(e){return this._selfieSegmentation=e,this._selfieSegmentation.changeModel()}setSmallVideo(e,t){if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new fV(this.smallVideoContext,e,this.log),this.smallVideoContext.on(IV.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource"),this.smallTrackSource.connect(this.smallDestination)))}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;this.setSmallVideo(i,e),JN&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this._selfieSegmentation&&e&&!this._use2d&&(this._selfieSegmentation._glName||this._selfieSegmentation.setCanvas(e)),this.log.info("set main output ".concat(n?n.label:"no output track")),r.setOutputMediaStreamTrack(n)}catch(kk){this.log.error("set main output failed",kk)}}update(){return Rb(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams?(this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log})),16===QN?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof EV?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof EV?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height)):(this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():this.destination=new mV(this.videoContext,{name:"mainDestination",logger:this.log}),this.cameraNode=new fH(this.videoContext,{input:this.cameraTrack.mediaTrack,width:r.width,height:r.height,mirror:this._isMirror,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,selfieSegmentation:this._selfieSegmentation,Wasm:this.Wasm}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute()),this.videoContext.frameRate=i.frameRate,this._use2d){let r=this.cameraNode;r.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new hH(this.videoContext,this.log)),r=r.connect(this.mirrorNode),r.disconnect(),this.log.info("start mirror")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new mH(this.videoContext,this.log),r.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource")),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),r=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))),r.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e){var t,r,i,o;if(e instanceof FP)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof xP)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof SV){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}this.log.warn("change unknown input",null==(o=e.mediaTrack)?void 0:o.label)}removeInput(e){var t;e instanceof FP?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof xP?(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof SV&&e.source&&e.source.context.destroy()}setCameraTrack(e){return Rb(this,null,(function*(){this.cameraTrack=e,this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}getWatermarkImage(e,t){return Rb(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new Lb({code:Ob.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((e=>{let{image:t,x:r,y:o,width:n,height:a}=e;i.drawImage(t,r,o,n,a)})),mC(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return Rb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Rb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return Rb(this,null,(function*(){var t,r;let i;try{i=yield mC((null==e?void 0:e.imageElement)||e.imageUrl)}catch(u){throw new Lb({code:Ob.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:o=0,y:n=0,width:a=i.width,height:s=i.height,type:c="watermark",zIndex:l=2}=e;this.watermarkImageList.some((e=>e.type===c))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==c)),this.pushWaterMarkImageList({x:o,y:n,width:a,height:s,image:i,zIndex:l,type:c,imageUrl:e.imageUrl}),i=yield this.getWatermarkImage(null==(t=this.cameraTrack)?void 0:t.settings.width,null==(r=this.cameraTrack)?void 0:r.settings.height),this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(i.width,i.height),this.waterMarkNode.image=i):this.update()):(this.pushWaterMarkImageList({x:o,y:n,width:a,height:s,image:i,zIndex:l,type:c,imageUrl:e.imageUrl}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return Rb(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return Rb(this,null,(function*(){var e,t,r;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let i=yield this.getWatermarkImage(null==(t=this.cameraTrack)?void 0:t.settings.width,null==(r=this.cameraTrack)?void 0:r.settings.height);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return Rb(this,null,(function*(){if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield mC(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type)}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new Lb({code:Ob.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isMirror||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update())}get mirror(){return this._isMirror}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return Rb(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new yH(e)}clear(){var e;null==(e=this.videoContext)||e.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};Ib([function(e){return TP(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Rb(this,null,(function*(){try{return yield t.apply(this,i)}catch(kk){e.call(this,kk)}}))}))}((function(e){this.log.error("update failed",e)}))],TH.prototype,"update",1);var IH=0,AH=class extends WM{constructor(e){super("room"),Ab(this,"seq",++IH),Ab(this,"sdkAppId"),Ab(this,"userId"),Ab(this,"userSig"),Ab(this,"privateMapKey"),Ab(this,"latencyLevel"),Ab(this,"tinyId"),Ab(this,"scene"),Ab(this,"roomId"),Ab(this,"useStringRoomId"),Ab(this,"role","anchor"),Ab(this,"joinParams",null),Ab(this,"localTracks",new Set),Ab(this,"enableAutoPlayDialog",!0),Ab(this,"autoReceiveAudio",!0),Ab(this,"autoReceiveVideo",!0),Ab(this,"proxy_ws"),Ab(this,"proxy_wt"),Ab(this,"proxy_unified"),Ab(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0}}),Ab(this,"keyPointManager"),Ab(this,"audioManager"),Ab(this,"videoManager"),Ab(this,"callDurationCalculator"),Ab(this,"badCaseDetector"),Ab(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Ab(this,"videoDecodeFallbackType"),Ab(this,"_isUsingCachedSchedule",!1),Ab(this,"_log",Ik.createLogger({id:"r".concat(this.seq)})),Ab(this,"_joinedTimestamp",0),Ab(this,"_sdkType"),Ab(this,"heartbeatReport"),Ab(this,"quality"),Ab(this,"enableSEI"),Ab(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,HD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),HD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),HD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new aH({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new cH({room:this}),this.badCaseDetector=new lH({room:this}),this.audioManager=new GP(this),this.videoManager=new TH(this)}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return Rb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Rb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Rb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(FD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(MD(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(eB([n,n]),Yb("https://".concat(n))):(i&&Yb(i),o&&eB(o))}Ek.once(yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:ZF.main,sched_back_domain:ZF.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Rb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Rb(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(wO.INVALID_DESTROY),new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,Ek.emit(yk.ROOM_DESTROY,{room:this})}schedule(e,t){return Rb(this,null,(function*(){var r,i,o;let n=$D();try{let{isCached:a,result:s,detailCost:c}=yield QF({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:Hb,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=a,this._log.info("schedule cache:".concat(+a," ").concat(uC(s,{keysToExclude:["username","credential"]}))),a&&Ek.once(yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=gb(gb({},this.scheduleResult),s),BD(null==(r=s.config)?void 0:r.retryCount)&&jw(s.config.retryCount),FD(null==(i=s.config)?void 0:i.loggerDomain)&&Yb(s.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=s.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,Ek.emit(yk.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),BO.addSuccessEvent({key:521700,cost:$D()-n,split:50})}catch(a){throw BO.addFailedEvent({key:521700,error:a}),a}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}};var SH={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},RH="__INLINE__WORKER__",bH="__INLINE__WASM__",{debug:wH}=console;SH.debug||(console.debug=()=>{});var DH,CH=!RH.startsWith("__"),NH=!bH.startsWith("__");function kH(){let e=vC("".concat(SH.assetsPath?"".concat(SH.assetsPath,"/"):"","worker.js"));return CH?URL.createObjectURL(new Blob([atob(RH)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function OH(){return Rb(this,null,(function*(){let e=SH.assetsPath?"".concat(SH.assetsPath,"/"):"";return DH||(DH=NH?(new TextEncoder).encode(atob(bH)).buffer:yield fetch(vC("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),DH)}))}var MH=new class{constructor(){Ab(this,"playPort"),Ab(this,"playPortSent",!1),Ab(this,"worklet"),Ab(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Rb(this,null,(function*(){let e=xL(),t=kH();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),Ik.info("global audio player worklet addModule success",t)}catch(Ww){throw Ik.error("global audio player worklet addModule failed:",Ww),Ww}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield OH(),flag:SH},numberOfInputs:2}),Ik.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Rb(this,null,(function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))}))}},LH="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";LH?Promise.resolve().then((function(){return VH})):Promise.resolve().then((function(){return WH})),LH?Promise.resolve().then((function(){return jH})):Promise.resolve().then((function(){return KH}));var PH=LH?Promise.resolve().then((function(){return GH})):Promise.resolve().then((function(){return zH}));function xH(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){return(yield PH).default(...t)}))}var UH=e=>Rb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),VH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(UH));return e[0].multiple?i:i[0]}()}))}};function FH(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return FH=function(e){this.s=e,this.n=e.next},FH.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new FH(e)}var BH,HH=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return Rb(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,u=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new FH(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield u.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(HH(a,t,s,i))}}catch(d){c=!0,a=d}finally{try{s&&null!=u.return&&(yield u.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},jH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return HH(t,e.recursive,void 0,e.skipDirectory)}()}))}},GH={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Rb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(wk){if(r=null,i)throw wk}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},WH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},KH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},zH={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Rb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return Rb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Rb(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},qH=class{constructor(e){this.name=e,Ab(this,"ready"),Ab(this,"worker"),Ab(this,"ports"),Ab(this,"ids",1),Ab(this,"transactions",new Map),Ab(this,"log"),Ab(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return Rb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=kH(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Rb(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(lC(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield OH(),flag:SH},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},JH=class{constructor(e,t,r){this.worker=e,Ab(this,"channel",new MessageChannel),Ab(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},YH=new class e extends qH{constructor(){super("main"),Ab(this,"switchValue",new Map),Ab(this,"extendChannel"),Ab(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Rb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield Sb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function XH(e){return Rb(this,null,(function*(){yield YH.create(),Ek.emit(yk.JOIN_SEND_CMD,{room:this});let t=new JH(YH,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(Ek.emit(yk.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new Lb({code:Ob.JOIN_ROOM_FAILED,extraCode:Number(r),message:NO({key:bO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function $H(e){return Rb(this,null,(function*(){YH.setSwitchValue("useAINS",e)}))}function QH(e){return Rb(this,null,(function*(){YH.setSwitchValue("useV2",e)}))}function ZH(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function ej(e){return Rb(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),tx(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(Ix(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=KP,e.onmessageerror=KP,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),eU(Ox(e,WM.INIT)),ZU((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:$H},useWt:{set:function(e){return Rb(this,null,(function*(){YH.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?wH:()=>{},YH.setSwitchValue("enableDebug",e)}},useV2:{set:QH},dump:{value(){if(BH||(console.warn("dump audio will be activated at next time join room"),BH=[]),!BH.length)return void console.warn("no audio data to dump,try it later");let e=[];return BH.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),xH(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;YH.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,YH.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return xH(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:SH.useHardDecoder="prefer-hardware";break;case!1:SH.useHardDecoder="prefer-software";break;default:SH.useHardDecoder="no-preference"}}}});var tj=[];function rj(e){var t;let r=Ix();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=tj.length;l++)if(!tj[l]){tj[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:gb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage(Eb(gb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=xL().createMediaStreamSource(s),a.connect(MH.worklet,0,this.index)};tx(Ox(e,"output-media-track-changed"),eU(Ox(e,"capture")),ZU(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),tj[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),tx(r,eV((t=>e.volume=t)),MU(uV(1e3)),ZU((()=>{e.volume=0}))),c(e.outMediaTrack)}var ij=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Ab(this,"track"),Ab(this,"label"),Ab(this,"insertKeyFrame",!0),Ab(this,"encoder"),Ab(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){let i=this.recreate(r);t.signal.addEventListener("abort",(()=>{i.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}encode(e){this.encoder.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){let i=this.recreate(r),o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.state&&(o<10&&console.log("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(console.log("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight})),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&console.log("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{console.warn(e),i.close()}))}recreate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t&&Ek.emit(yk.SEND_FIRST_VIDEO_FRAME,{room:e}),console.log("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{console.warn(r,this.config),setTimeout((()=>this.recreate(e,t+1)),100)}});return this.encoder=i,this.configure({}),i}configure(e){return Rb(this,null,(function*(){var t;Object.assign(this.config,e);for(let e=0;e<=gH.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===gH.length)return;gH[e](this.config)}null==(t=this.encoder)||t.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function oj(e,t){return Rb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.420028",avc:{format:"annexb"},hardwareAcceleration:SH.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},n=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[n.port1]);let a=new ij(e,t.type,o,n.port2);return n.port2.onmessage=e=>{if(260===e.data)a.insertKeyFrame=!0;else if(!r){let{bitrate:t}=e.data;kD({configureBr:[e.data.bitrate,t]}),a.configure({bitrate:t})}},this._log.info("start push",i,t),a}))}function nj(e){return Rb(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield oj.call(this,e,o);this._log.info("VideoEncoder created",o);let l,u=t=>Rb(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s=CC.match(/Chrome\/(\d+)/);"114"===(null==s?void 0:s[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings());let u=new MediaStreamTrackProcessor({track:t}).readable,d="small"in e&&e.small;d?(this.smallEncoder||(this.smallEncoder=yield oj.call(this,e,{profile:d,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",u=this.smallEncoder.trans(u,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(u,l,this)}));return tx(Ox(e,"output-media-track-changed"),eU(Ox(e,"capture")),ZU(u,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),u(e.outMediaTrack)}))}var aj=class e extends WM{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Ab(this,"enableInBackground",!1),Ab(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),tx(Ox(this,e.INTERVALCHANGED),kU((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):tx((e=>t=>{let r=0,i=performance.now();tx(lV,RU((t=>(t-i)/e|0)),$x((e=>e!=r&&(r=e,!0))))(t)})(e),RU((()=>[]))))),ZU((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==WM.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Ab(aj,"INTERVALCHANGED","intervalChanged"),Ib([HM([WM.INIT,WM.OFF],WM.ON)],aj.prototype,"start",1),Ib([HM([],WM.OFF)],aj.prototype,"stop",1);var sj=aj,cj=class extends AH{constructor(e){super(e),Ab(this,"index",0),Ab(this,"session"),Ab(this,"tinyid"),Ab(this,"roomid"),Ab(this,"openid"),Ab(this,"socketid"),Ab(this,"relayip"),Ab(this,"clientip"),Ab(this,"remotePublishedUserMap",new Map),Ab(this,"bussinessInfo"),Ab(this,"token"),Ab(this,"audioVolumeEvalution",new sj(this)),Ab(this,"enableAIVoice",$H),Ab(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:fk(),uint32_device_type:0,str_os_verion:_k(),uint32_link_type:1,str_client_version:Hb,uint32_net_type:dw[Vb.getNetworkType()],ua:navigator.userAgent,version:""}}),Ab(this,"joinAbortController",new AbortController),Ab(this,"smallAbortCtrl"),Ab(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,QH(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Rb(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return Rb(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return Rb(this,null,(function*(){var i,o,n;let a=Vb.getEnv(),s=GO(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:hk(),browserInfo:GO(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:Hb,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield XH.call(this,c),console.log(this),MH.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Rb(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish()))}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return Rb(this,null,(function*(){tx((e=>Rb(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),eU(Ox(this,"left")),ZU((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Eb(gb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case yk.RECEIVED_PUBLISHED_USER_LIST:return void Ek.emit(e,gb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new ZB(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return Ek.emit(yk.REMOTE_PUBLISH_STATE_CHANGED,gb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"network-quality":this.quality=gb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:Hb,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:dw[ID()]},msg_event_msg:DV(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};Ek.emit(yk.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),Ek.emit(yk.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void Ek.emit(yk.SIGNAL_CONNECTION_STATE_CHANGED,gb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>Rb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),eL(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))rj.call(this,e);else yield nj.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){t.forEach(tL)}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=gb({},n.subscribeState),s=Object.assign(new gO,a);s.mediaType|=e,Ek.emit(yk.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?ZH.call(this,e):ej.call(this,e)))),Ek.emit(yk.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType,r.unsubscribe();if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r}),Ek.emit(yk.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Rb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield oj.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId),i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:t.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};Ib([yP(cj.prototype.afterJoin),HM(["left",WM.INIT],"joined"),TP((e=>{let t=new eH;return function(r,i,o){return Rb(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),Ek.emit(yk.JOIN_START,{room:this,roomId:n,params:r});let a=Vb.getEnv();a||(a=sw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Ew.OLD_CLOUD_LADDER)?a=sw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Ew.WEBRTC)&&(a=sw.WEBRTC))),rL.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),Rk.checkSystemRequirementsInternal().then((e=>{this.checkSystemResult=e,tH.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Vb.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=Vb.performanceNow(),Ek.emit(yk.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&rL.uploadEvent({log:"stat-conv-".concat(Number(rk),"-").concat(location.hostname),userId:this.userId}),t}catch(Ok){throw t.delete({room:this,roomId:n}),Ek.emit(yk.JOIN_FAILED,{room:this,error:Ok}),Ok}}))}}))],cj.prototype,"join",1),Ib([HM("joined","left",{ignoreError:!0}),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Rb(this,null,(function*(){Ek.emit(yk.LEAVE_START,{room:this}),yield e.call(this,...r),Ek.emit(yk.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],cj.prototype,"leave",1),Ib([wP((function(){return 0})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Rb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"capture"===e.state)),!r.length))return;Ek.emit("61",{room:this});let t=e.apply(this,r);return r.forEach((e=>e.publish(this,t))),t}))}))],cj.prototype,"publish",1),Ib([wP((function(){return 0})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],cj.prototype,"unpublish",1),Ib([wP((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],cj.prototype,"subscribe",1);var lj=cj;return QB.frameWorkType=37,QB.create=function(e){let t=QB._create.call(this,lj,e);return t._use(dF,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(SH.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",Hb,"created",SH),t},Object.assign(QB.prototype,{_setCurrentSpeaker(e){let t=xL();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Rb(this,null,(function*(){return this.startPlugin(dF.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise(((t,r)=>{tx(Ox(e,"decode-downgrade-state-changed"),$x((e=>"STARTED"===e.state)),Zx(1),tV(1e4),eU(Ox(e,WM.INIT)),ZU(t,r))}))}))}}),QB}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},u={},d={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!d.call({1:2},1);u.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:d;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,D=Object,C=T("".split),N=b((function(){return!D("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?C(e,""):D(e)}:D,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},j=r,G=F,W=function(e,t){return arguments.length<2?(r=j[e],G(r)?r:void 0):j[e]&&j[e][t];var r},K=T({}.isPrototypeOf),z=r.navigator,q=z&&z.userAgent,J=q?String(q):"",Y=r,X=J,$=Y.process,Q=Y.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=W,ce=F,le=K,ue=Object,de=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,ue(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={},be={get exports(){return Re},set exports(e){Re=e}},we=r,De=Object.defineProperty,Ce=function(e,t){try{De(we,e,{value:t,configurable:!0,writable:!0})}catch(r){we[e]=t}return t},Ne=r,ke=Ce,Oe="__core-js_shared__",Me=be.exports=Ne[Oe]||ke(Oe,{});(Me.versions||(Me.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Le=Re,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},je=T,Ge=0,We=Math.random(),Ke=je(1..toString),ze=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ke(++Ge+We,36)},qe=Pe,Je=He,Ye=ze,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Ye,tt=function(e){return Je(Ze,e)||(Ze[e]=Xe&&Je(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=de,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},ut=lt,dt=de,ht=function(e){var t=ut(e,"string");return dt(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=u,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Dt={},Ct=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Ct,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,jt="enumerable",Gt="configurable",Wt="writable";Dt.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Wt in r&&!r[Wt]){var i=Ht(e,t);i&&i[Wt]&&(e[t]=r.value,r={configurable:Gt in r?r[Gt]:i[Gt],enumerable:jt in r?r[jt]:i[jt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var Kt=Dt,zt=_,qt=n?function(e,t,r){return Kt.f(e,t,zt(1,r))}:function(e,t,r){return e[t]=r,e},Jt={},Yt={get exports(){return Jt},set exports(e){Jt=e}},Xt=n,$t=He,Qt=Function.prototype,Zt=Xt&&Object.getOwnPropertyDescriptor,er=$t(Qt,"name"),tr={EXISTS:er,PROPER:er&&"something"===function(){}.name,CONFIGURABLE:er&&(!Xt||Xt&&Zt(Qt,"name").configurable)},rr=F,ir=Re,or=T(Function.toString);rr(ir.inspectSource)||(ir.inspectSource=function(e){return or(e)});var nr,ar,sr,cr=ir.inspectSource,lr=F,ur=r.WeakMap,dr=lr(ur)&&/native code/.test(String(ur)),hr=ze,pr=Pe("keys"),mr=function(e){return pr[e]||(pr[e]=hr(e))},fr={},_r=dr,gr=r,Er=H,vr=qt,yr=He,Tr=Re,Ir=mr,Ar=fr,Sr="Object already initialized",Rr=gr.TypeError,br=gr.WeakMap;if(_r||Tr.state){var wr=Tr.state||(Tr.state=new br);wr.get=wr.get,wr.has=wr.has,wr.set=wr.set,nr=function(e,t){if(wr.has(e))throw new Rr(Sr);return t.facade=e,wr.set(e,t),t},ar=function(e){return wr.get(e)||{}},sr=function(e){return wr.has(e)}}else{var Dr=Ir("state");Ar[Dr]=!0,nr=function(e,t){if(yr(e,Dr))throw new Rr(Sr);return t.facade=e,vr(e,Dr,t),t},ar=function(e){return yr(e,Dr)?e[Dr]:{}},sr=function(e){return yr(e,Dr)}}var Cr={set:nr,get:ar,has:sr,enforce:function(e){return sr(e)?ar(e):nr(e,{})},getterFor:function(e){return function(t){var r;if(!Er(t)||(r=ar(t)).type!==e)throw new Rr("Incompatible receiver, "+e+" required");return r}}},Nr=T,kr=o,Or=F,Mr=He,Lr=n,Pr=tr.CONFIGURABLE,xr=cr,Ur=Cr.enforce,Vr=Cr.get,Fr=String,Br=Object.defineProperty,Hr=Nr("".slice),jr=Nr("".replace),Gr=Nr([].join),Wr=Lr&&!kr((function(){return 8!==Br((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Hr(Fr(t),0,7)&&(t="["+jr(Fr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Mr(e,"name")||Pr&&e.name!==t)&&(Lr?Br(e,"name",{value:t,configurable:!0}):e.name=t),Wr&&r&&Mr(r,"arity")&&e.length!==r.arity&&Br(e,"length",{value:r.arity});try{r&&Mr(r,"constructor")&&r.constructor?Lr&&Br(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=Ur(e);return Mr(i,"source")||(i.source=Gr(Kr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return Or(this)&&Vr(this).source||xr(this)}),"toString");var qr=F,Jr=Dt,Yr=Jt,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Yr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Jr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,ui=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},di=ui,hi=function(e){return di(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=fr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Di=W,Ci=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Di("Reflect","ownKeys")||function(e){var t=Ci.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Dt,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,ji=function(e,t){var r=Wi[Gi(e)];return r===zi||r!==Ki&&(Bi(t)?Fi(t):!!t)},Gi=ji.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Wi=ji.data={},Ki=ji.NATIVE="N",zi=ji.POLYFILL="P",qi=ji,Ji=r,Yi=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Ji:l?Ji[s]||Qi(s,{}):Ji[s]&&Ji[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Yi(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Jt,fo=Dt,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=K,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Do={},Co=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Do[t]=!0),t};Ro(Co,bo),Co.prototype=wo,wo.constructor=Co;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Do,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Co})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,jo=Dt.f,Go=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||jo(t,e,{value:Ho.f(e)})};Go("asyncIterator");var Wo=R,Ko=Array.isArray||function(e){return"Array"===Wo(e)},zo=TypeError,qo=R,Jo=T,Yo=function(e){if("Function"===qo(e))return Jo(e)},Xo=ge,$o=a,Qo=Yo(Yo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=Ko,tn=hi,rn=function(e){if(e>9007199254740991)throw zo("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,u=o,d=0,h=!!a&&on(a,s);d<i;)d in r&&(c=h?h(r[d],d,t):r[d],n>0&&en(c)?(l=tn(c),u=nn(e,t,c,l,u,n-1)-1):(rn(u+1),e[u]=c),u++),d++;return u},an=nn,sn=T,cn=o,ln=F,un=lo,dn=cr,hn=function(){},pn=W("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(un(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,dn(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=Ko,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Dn=Ve,Cn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Dn(this),r=Cn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Ct,Vn=Dt,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var jn,Gn=W("document","documentElement"),Wn=Mt,Kn=On,zn=Si,qn=fr,Jn=Gn,Yn=_t,Xn="prototype",$n="script",Qn=mr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{jn=new ActiveXObject("htmlfile")}catch(o){}var e,t,r;ra="undefined"!=typeof document?document.domain&&jn?ta(jn):(t=Yn("iframe"),r="java"+$n+":",t.style.display="none",Jn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F):ta(jn);for(var i=zn.length;i--;)delete ra[Xn][zn[i]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Wn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:Kn.f(r,t)},oa=tt,na=ia,aa=Dt.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},ua=gi.includes,da=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return ua(this,e,arguments.length>1?arguments[1]:void 0)}}),da("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=mr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Da=Sa,Ca=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Da(Da(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Ca(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Dt.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,ja=fa,Ga=function(){return this},Wa=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),ja[o]=Ga,e},Ka=T,za=ge,qa=H,Ja=function(e){return qa(e)||null===e},Ya=String,Xa=TypeError,$a=function(e,t,r){try{return Ka(za(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ja(e))return e;throw new Xa("Can't set "+Ya(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Wa,as=Sa,ss=ts,cs=Ua,ls=qt,us=$r,ds=fa,hs=tr.PROPER,ps=tr.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,u=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},d=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||u(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||us(s,_s,ys)),cs(s,d,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:u(Es),keys:n?f:u(gs),entries:u(vs)},a)for(l in c)(fs||h||!(l in p))&&us(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&us(p,_s,f,{name:o}),ds[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Dt.f,Ds=Ts,Cs=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Ds(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Cs(void 0,!0);switch(e.kind){case"keys":return Cs(r,!1);case"values":return Cs(t[r],!1)}return Cs([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(uj){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",js=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},Gs={left:js(!1),right:js(!0)},Ws=o,Ks=function(e,t){var r=[][e];return!!r&&Ws((function(){r.call(null,t||function(){return 1},1)}))},zs=r,qs=J,Js=R,Ys=function(e){return qs.slice(0,e.length)===e},Xs=Ys("Bun/")?"BUN":Ys("Cloudflare-Workers")?"CLOUDFLARE":Ys("Deno/")?"DENO":Ys("Node.js/")?"NODE":zs.Bun&&"string"==typeof Bun.version?"BUN":zs.Deno&&"object"==typeof Deno.version?"DENO":"process"===Js(zs.process)?"NODE":zs.window&&zs.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=Gs.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=Gs.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=Ko,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,u=c.length,d=0,h=0;d<l||h<u;)e[d+h]=d<l&&h<u?t(s[d],c[h])<=0?s[d++]:c[h++]:d<l?s[d++]:c[h++];return e},uc=lc,dc=J.match(/firefox\/(\d+)/i),hc=!!dc&&+dc[1],pc=/MSIE|Trident/.test(J),mc=J.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=uc,Rc=Ks,bc=hc,wc=pc,Dc=te,Cc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Dc)return Dc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Cc)return Cc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=K,Hc=TypeError,jc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},Gc=ii,Wc=ui,Kc=RangeError,zc=function(e){if(void 0===e)return 0;var t=Gc(e),r=Wc(t);if(t!==r)throw new Kc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Jc=qc,Yc=Math.abs,Xc=2220446049250313e-31,$c=1/Xc,Qc=function(e,t,r,i){var o=+e,n=Yc(o),a=Jc(o);if(n<i)return a*function(e){return e+$c-$c}(n/i/t)*i*t;var s=(1+t/Xc)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,u=23===t?rl(2,-24)-rl(2,-77):0,d=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?u/n:u*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*d,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],u=127&l;for(l>>=7;s>0;)u=256*u+e[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===u)u=1-a;else{if(u===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),u-=a}return(l?-1:1)*r*rl(2,u-t)}},sl=Ve,cl=si,ll=hi,ul=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},dl=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&dl(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=jc,Sl=ii,Rl=ui,bl=zc,wl=Zc,Dl=al,Cl=Sa,Nl=ts,kl=ul,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=tr.PROPER,Vl=tr.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",jl="Wrong index",Gl=xl.getterFor(Fl),Wl=xl.getterFor(Bl),Kl=xl.set,zl=fl[Fl],ql=zl,Jl=ql&&ql[Hl],Yl=fl[Bl],Xl=Yl&&Yl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,eu=_l(kl),tu=_l([].reverse),ru=Dl.pack,iu=Dl.unpack,ou=function(e){return[255&e]},nu=function(e){return[255&e,e>>8&255]},au=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},su=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cu=function(e){return ru(wl(e),23,4)},lu=function(e){return ru(e,52,8)},uu=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},du=function(e,t,r,i){var o=Wl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(jl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:tu(l)},hu=function(e,t,r,i,o,n){var a=Wl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(jl);for(var u=a.bytes,d=s+a.byteOffset,h=0;h<t;h++)u[d+h]=c[l?h:t-h-1]};if(El){var pu=Ul&&zl.name!==Fl;Il((function(){zl(1)}))&&Il((function(){new zl(-1)}))&&!Il((function(){return new zl,new zl(1.5),new zl(NaN),1!==zl.length||pu&&!Vl}))?pu&&Vl&&vl(zl,"name",Fl):((ql=function(e){return Al(this,Jl),Ml(new zl(bl(e)),this,ql)})[Hl]=Jl,Jl.constructor=ql,Ll(ql,zl)),Nl&&Cl(Xl)!==$l&&Nl(Xl,$l);var mu=new Yl(new ql(2)),fu=_l(Xl.setInt8);mu.setInt8(0,2147483648),mu.setInt8(1,2147483649),!mu.getInt8(0)&&mu.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fu(this,e,t<<24>>24)},setUint8:function(e,t){fu(this,e,t<<24>>24)}},{unsafe:!0})}else Jl=(ql=function(e){Al(this,Jl);var t=bl(e);Kl(this,{type:Fl,bytes:eu(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Yl=function(e,t,r){Al(this,Xl),Al(e,Jl);var i=Gl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");Kl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(uu(ql,"byteLength",Gl),uu(Yl,"buffer",Wl),uu(Yl,"byteLength",Wl),uu(Yl,"byteOffset",Wl)),Tl(Xl,{getInt8:function(e){return du(this,1,e)[0]<<24>>24},getUint8:function(e){return du(this,1,e)[0]},getInt16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return iu(du(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return iu(du(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hu(this,1,e,ou,t)},setUint8:function(e,t){hu(this,1,e,ou,t)},setInt16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hu(this,4,e,cu,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hu(this,8,e,lu,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Yl,Bl);var _u={ArrayBuffer:ql,DataView:Yl},gu=W,Eu=_o,vu=n,yu=tt("species"),Tu=function(e){var t=gu(e);vu&&t&&!t[yu]&&Eu(t,yu,{configurable:!0,get:function(){return this}})},Iu=Tu,Au="ArrayBuffer",Su=_u[Au];to({global:!0,constructor:!0,forced:r[Au]!==Su},{ArrayBuffer:Su}),Iu(Au);var Ru=vn,bu=pe,wu=TypeError,Du=function(e){if(Ru(e))return e;throw new wu(bu(e)+" is not a constructor")},Cu=Mt,Nu=Du,ku=k,Ou=tt("species"),Mu=function(e,t){var r,i=Cu(e).constructor;return void 0===i||ku(r=Cu(i)[Ou])?t:Nu(r)},Lu=to,Pu=Yo,xu=o,Uu=Mt,Vu=si,Fu=ui,Bu=Mu,Hu=_u.ArrayBuffer,ju=_u.DataView,Gu=ju.prototype,Wu=Pu(Hu.prototype.slice),Ku=Pu(Gu.getUint8),zu=Pu(Gu.setUint8);Lu({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:xu((function(){return!new Hu(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Wu&&void 0===t)return Wu(Uu(this),e);for(var r=Uu(this).byteLength,i=Vu(e,r),o=Vu(void 0===t?r:t,r),n=new(Bu(this,Hu))(Fu(o-i)),a=new ju(this),s=new ju(n),c=0;i<o;)zu(s,c++,Ku(a,i++));return n}});var qu,Ju,Yu,Xu,$u=a,Qu=Function.prototype,Zu=Qu.apply,ed=Qu.call,td="object"==typeof Reflect&&Reflect.apply||($u?ed.bind(Zu):function(){return ed.apply(Zu,arguments)}),rd=TypeError,id=function(e,t){if(e<t)throw new rd("Not enough arguments");return e},od=/(?:ipad|iphone|ipod).*applewebkit/i.test(J),nd=r,ad=td,sd=Zo,cd=F,ld=He,ud=o,dd=Gn,hd=ac,pd=_t,md=id,fd=od,_d=$s,gd=nd.setImmediate,Ed=nd.clearImmediate,vd=nd.process,yd=nd.Dispatch,Td=nd.Function,Id=nd.MessageChannel,Ad=nd.String,Sd=0,Rd={},bd="onreadystatechange";ud((function(){qu=nd.location}));var wd=function(e){if(ld(Rd,e)){var t=Rd[e];delete Rd[e],t()}},Dd=function(e){return function(){wd(e)}},Cd=function(e){wd(e.data)},Nd=function(e){nd.postMessage(Ad(e),qu.protocol+"//"+qu.host)};gd&&Ed||(gd=function(e){md(arguments.length,1);var t=cd(e)?e:Td(e),r=hd(arguments,1);return Rd[++Sd]=function(){ad(t,void 0,r)},Ju(Sd),Sd},Ed=function(e){delete Rd[e]},_d?Ju=function(e){vd.nextTick(Dd(e))}:yd&&yd.now?Ju=function(e){yd.now(Dd(e))}:Id&&!fd?(Xu=(Yu=new Id).port2,Yu.port1.onmessage=Cd,Ju=sd(Xu.postMessage,Xu)):nd.addEventListener&&cd(nd.postMessage)&&!nd.importScripts&&qu&&"file:"!==qu.protocol&&!ud(Nd)?(Ju=Nd,nd.addEventListener("message",Cd,!1)):Ju=bd in pd("script")?function(e){dd.appendChild(pd("script"))[bd]=function(){dd.removeChild(this),wd(e)}}:function(e){setTimeout(Dd(e),0)});var kd={set:gd,clear:Ed},Od=r,Md=n,Ld=Object.getOwnPropertyDescriptor,Pd=function(e){if(!Md)return Od[e];var t=Ld(Od,e);return t&&t.value},xd=function(){this.head=null,this.tail=null};xd.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var Ud,Vd,Fd,Bd,Hd,jd=xd,Gd=/ipad|iphone|ipod/i.test(J)&&"undefined"!=typeof Pebble,Wd=/web0s(?!.*chrome)/i.test(J),Kd=r,zd=Pd,qd=Zo,Jd=kd.set,Yd=jd,Xd=od,$d=Gd,Qd=Wd,Zd=$s,eh=Kd.MutationObserver||Kd.WebKitMutationObserver,th=Kd.document,rh=Kd.process,ih=Kd.Promise,oh=zd("queueMicrotask");if(!oh){var nh=new Yd,ah=function(){var e,t;for(Zd&&(e=rh.domain)&&e.exit();t=nh.get();)try{t()}catch(uj){throw nh.head&&Ud(),uj}e&&e.enter()};Xd||Zd||Qd||!eh||!th?!$d&&ih&&ih.resolve?((Bd=ih.resolve(void 0)).constructor=ih,Hd=qd(Bd.then,Bd),Ud=function(){Hd(ah)}):Zd?Ud=function(){rh.nextTick(ah)}:(Jd=qd(Jd,Kd),Ud=function(){Jd(ah)}):(Vd=!0,Fd=th.createTextNode(""),new eh(ah).observe(Fd,{characterData:!0}),Ud=function(){Fd.data=Vd=!Vd}),oh=function(e){nh.head||Ud(),nh.add(e)}}var sh=oh,ch=function(e){try{return{error:!1,value:e()}}catch(uj){return{error:!0,value:uj}}},lh=r.Promise,uh=r,dh=lh,hh=F,ph=qi,mh=cr,fh=tt,_h=Xs,gh=te;dh&&dh.prototype;var Eh=fh("species"),vh=!1,yh=hh(uh.PromiseRejectionEvent),Th=ph("Promise",(function(){var e=mh(dh),t=e!==String(dh);if(!t&&66===gh)return!0;if(!gh||gh<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[Eh]=i,!(vh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==_h&&"DENO"!==_h||yh)})),Ih={CONSTRUCTOR:Th,REJECTION_EVENT:yh,SUBCLASSING:vh},Ah={},Sh=ge,Rh=TypeError,bh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Rh("Bad Promise constructor");t=e,r=i})),this.resolve=Sh(t),this.reject=Sh(r)};Ah.f=function(e){return new bh(e)};var wh,Dh,Ch,Nh=to,kh=$s,Oh=r,Mh=l,Lh=$r,Ph=ts,xh=Ua,Uh=Tu,Vh=ge,Fh=F,Bh=H,Hh=jc,jh=Mu,Gh=kd.set,Wh=sh,Kh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(uj){}},zh=ch,qh=jd,Jh=Cr,Yh=lh,Xh=Ah,$h="Promise",Qh=Ih.CONSTRUCTOR,Zh=Ih.REJECTION_EVENT,ep=Ih.SUBCLASSING,tp=Jh.getterFor($h),rp=Jh.set,ip=Yh&&Yh.prototype,op=Yh,np=ip,ap=Oh.TypeError,sp=Oh.document,cp=Oh.process,lp=Xh.f,up=lp,dp=!!(sp&&sp.createEvent&&Oh.dispatchEvent),hp="unhandledrejection",pp=function(e){var t;return!(!Bh(e)||!Fh(t=e.then))&&t},mp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,u=e.domain;try{s?(a||(2===t.rejection&&vp(t),t.rejection=1),!0===s?r=n:(u&&u.enter(),r=s(n),u&&(u.exit(),o=!0)),r===e.promise?l(new ap("Promise-chain cycle")):(i=pp(r))?Mh(i,r,c,l):c(r)):l(n)}catch(uj){u&&!o&&u.exit(),l(uj)}},fp=function(e,t){e.notified||(e.notified=!0,Wh((function(){for(var r,i=e.reactions;r=i.get();)mp(r,e);e.notified=!1,t&&!e.rejection&&gp(e)})))},_p=function(e,t,r){var i,o;dp?((i=sp.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),Oh.dispatchEvent(i)):i={promise:t,reason:r},!Zh&&(o=Oh["on"+e])?o(i):e===hp&&Kh("Unhandled promise rejection",r)},gp=function(e){Mh(Gh,Oh,(function(){var t,r=e.facade,i=e.value;if(Ep(e)&&(t=zh((function(){kh?cp.emit("unhandledRejection",i,r):_p(hp,r,i)})),e.rejection=kh||Ep(e)?2:1,t.error))throw t.value}))},Ep=function(e){return 1!==e.rejection&&!e.parent},vp=function(e){Mh(Gh,Oh,(function(){var t=e.facade;kh?cp.emit("rejectionHandled",t):_p("rejectionhandled",t,e.value)}))},yp=function(e,t,r){return function(i){e(t,i,r)}},Tp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,fp(e,!0))},Ip=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new ap("Promise can't be resolved itself");var i=pp(t);i?Wh((function(){var r={done:!1};try{Mh(i,t,yp(Ip,r,e),yp(Tp,r,e))}catch(uj){Tp(r,uj,e)}})):(e.value=t,e.state=1,fp(e,!1))}catch(uj){Tp({done:!1},uj,e)}}};if(Qh&&(np=(op=function(e){Hh(this,np),Vh(e),Mh(wh,this);var t=tp(this);try{e(yp(Ip,t),yp(Tp,t))}catch(uj){Tp(t,uj)}}).prototype,(wh=function(e){rp(this,{type:$h,done:!1,notified:!1,parent:!1,reactions:new qh,rejection:!1,state:0,value:null})}).prototype=Lh(np,"then",(function(e,t){var r=tp(this),i=lp(jh(this,op));return r.parent=!0,i.ok=!Fh(e)||e,i.fail=Fh(t)&&t,i.domain=kh?cp.domain:void 0,0===r.state?r.reactions.add(i):Wh((function(){mp(i,r)})),i.promise})),Dh=function(){var e=new wh,t=tp(e);this.promise=e,this.resolve=yp(Ip,t),this.reject=yp(Tp,t)},Xh.f=lp=function(e){return e===op||undefined===e?new Dh(e):up(e)},Fh(Yh)&&ip!==Object.prototype)){Ch=ip.then,ep||Lh(ip,"then",(function(e,t){var r=this;return new op((function(e,t){Mh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete ip.constructor}catch(uj){}Ph&&Ph(ip,np)}Nh({global:!0,constructor:!0,wrap:!0,forced:Qh},{Promise:op}),xh(op,$h,!1),Uh($h);var Ap=fa,Sp=tt("iterator"),Rp=Array.prototype,bp=function(e){return void 0!==e&&(Ap.Array===e||Rp[Sp]===e)},wp=lo,Dp=ye,Cp=k,Np=fa,kp=tt("iterator"),Op=function(e){if(!Cp(e))return Dp(e,kp)||Dp(e,"@@iterator")||Np[wp(e)]},Mp=l,Lp=ge,Pp=Mt,xp=pe,Up=Op,Vp=TypeError,Fp=function(e,t){var r=arguments.length<2?Up(e):t;if(Lp(r))return Pp(Mp(r,e));throw new Vp(xp(e)+" is not iterable")},Bp=l,Hp=Mt,jp=ye,Gp=function(e,t,r){var i,o;Hp(e);try{if(!(i=jp(e,"return"))){if("throw"===t)throw r;return r}i=Bp(i,e)}catch(uj){o=!0,i=uj}if("throw"===t)throw r;if(o)throw i;return Hp(i),r},Wp=Zo,Kp=l,zp=Mt,qp=pe,Jp=bp,Yp=hi,Xp=K,$p=Fp,Qp=Op,Zp=Gp,em=TypeError,tm=function(e,t){this.stopped=e,this.result=t},rm=tm.prototype,im=function(e,t,r){var i,o,n,a,s,c,l,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=Wp(t,u),_=function(e){return i&&Zp(i,"normal",e),new tm(!0,e)},g=function(e){return d?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=Qp(e)))throw new em(qp(e)+" is not iterable");if(Jp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Xp(rm,s))return s;return new tm(!1)}i=$p(e,o)}for(c=h?e.next:i.next;!(l=Kp(c,i)).done;){try{s=g(l.value)}catch(uj){Zp(i,"throw",uj)}if("object"==typeof s&&s&&Xp(rm,s))return s}return new tm(!1)},om=tt("iterator"),nm=!1;try{var am=0,sm={next:function(){return{done:!!am++}},return:function(){nm=!0}};sm[om]=function(){return this},Array.from(sm,(function(){throw 2}))}catch(uj){}var cm=function(e,t){try{if(!t&&!nm)return!1}catch(uj){return!1}var r=!1;try{var i={};i[om]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(uj){}return r},lm=lh,um=Ih.CONSTRUCTOR||!cm((function(e){lm.all(e).then(void 0,(function(){}))})),dm=l,hm=ge,pm=Ah,mm=ch,fm=im;to({target:"Promise",stat:!0,forced:um},{all:function(e){var t=this,r=pm.f(t),i=r.resolve,o=r.reject,n=mm((function(){var r=hm(t.resolve),n=[],a=0,s=1;fm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var _m=to,gm=Ih.CONSTRUCTOR,Em=lh,vm=W,ym=F,Tm=$r,Im=Em&&Em.prototype;if(_m({target:"Promise",proto:!0,forced:gm,real:!0},{catch:function(e){return this.then(void 0,e)}}),ym(Em)){var Am=vm("Promise").prototype.catch;Im.catch!==Am&&Tm(Im,"catch",Am,{unsafe:!0})}var Sm=l,Rm=ge,bm=Ah,wm=ch,Dm=im;to({target:"Promise",stat:!0,forced:um},{race:function(e){var t=this,r=bm.f(t),i=r.reject,o=wm((function(){var o=Rm(t.resolve);Dm(e,(function(e){Sm(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ah;to({target:"Promise",stat:!0,forced:Ih.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Nm=Mt,km=H,Om=Ah,Mm=function(e,t){if(Nm(e),km(t)&&t.constructor===e)return t;var r=Om.f(e);return(0,r.resolve)(t),r.promise},Lm=to,Pm=Ih.CONSTRUCTOR,xm=Mm;W("Promise"),Lm({target:"Promise",stat:!0,forced:Pm},{resolve:function(e){return xm(this,e)}});var Um=to,Vm=lh,Fm=o,Bm=W,Hm=F,jm=Mu,Gm=Mm,Wm=$r,Km=Vm&&Vm.prototype;if(Um({target:"Promise",proto:!0,real:!0,forced:!!Vm&&Fm((function(){Km.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=jm(this,Bm("Promise")),r=Hm(e);return this.then(r?function(r){return Gm(t,e()).then((function(){return r}))}:e,r?function(r){return Gm(t,e()).then((function(){throw r}))}:e)}}),Hm(Vm)){var zm=Bm("Promise").prototype.finally;Km.finally!==zm&&Wm(Km,"finally",zm,{unsafe:!0})}var qm=H,Jm=R,Ym=tt("match"),Xm=Mt,$m=function(){var e=Xm(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},Qm=l,Zm=He,ef=K,tf=$m,rf=RegExp.prototype,of=o,nf=r.RegExp,af=of((function(){var e=nf("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),sf=af||of((function(){return!nf("a","y").sticky})),cf={BROKEN_CARET:af||of((function(){var e=nf("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:sf,UNSUPPORTED_Y:af},lf=Dt.f,uf=o,df=r.RegExp,hf=uf((function(){var e=df(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),pf=o,mf=r.RegExp,ff=pf((function(){var e=mf("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),_f=n,gf=r,Ef=T,vf=qi,yf=ml,Tf=qt,If=ia,Af=Qr.f,Sf=K,Rf=function(e){var t;return qm(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===Jm(e))},bf=po,wf=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},Df=cf,Cf=function(e,t,r){r in e||lf(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Nf=$r,kf=o,Of=He,Mf=Cr.enforce,Lf=Tu,Pf=hf,xf=ff,Uf=tt("match"),Vf=gf.RegExp,Ff=Vf.prototype,Bf=gf.SyntaxError,Hf=Ef(Ff.exec),jf=Ef("".charAt),Gf=Ef("".replace),Wf=Ef("".indexOf),Kf=Ef("".slice),zf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,qf=/a/g,Jf=/a/g,Yf=new Vf(qf)!==qf,Xf=Df.MISSED_STICKY,$f=Df.UNSUPPORTED_Y,Qf=_f&&(!Yf||Xf||Pf||xf||kf((function(){return Jf[Uf]=!1,Vf(qf)!==qf||Vf(Jf)===Jf||"/a/i"!==String(Vf(qf,"i"))})));if(vf("RegExp",Qf)){for(var Zf=function(e,t){var r,i,o,n,a,s,c=Sf(Ff,this),l=Rf(e),u=void 0===t,d=[],h=e;if(!c&&l&&u&&e.constructor===Zf)return e;if((l||Sf(Ff,e))&&(e=e.source,u&&(t=wf(h))),e=void 0===e?"":bf(e),t=void 0===t?"":bf(t),h=e,Pf&&"dotAll"in qf&&(i=!!t&&Wf(t,"s")>-1)&&(t=Gf(t,/s/g,"")),r=t,Xf&&"sticky"in qf&&(o=!!t&&Wf(t,"y")>-1)&&$f&&(t=Gf(t,/y/g,"")),xf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=If(null),s=!1,c=!1,l=0,u="";i<=r;i++){if("\\"===(t=jf(e,i)))t+=jf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Kf(e,i+1,i+3))continue;Hf(zf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===u||Of(a,u))throw new Bf("Invalid capture group name");a[u]=!0,n[n.length]=[u,l],c=!1,u="";continue}c?u+=t:o+=t}return[o,n]}(e),e=n[0],d=n[1]),a=yf(Vf(e,t),c?this:Ff,Zf),(i||o||d.length)&&(s=Mf(a),i&&(s.dotAll=!0,s.raw=Zf(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=jf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+jf(e,++i);return o}(e),r)),o&&(s.sticky=!0),d.length&&(s.groups=d)),e!==h)try{Tf(a,"source",""===h?"(?:)":h)}catch(uj){}return a},e_=Af(Vf),t_=0;e_.length>t_;)Cf(Zf,Vf,e_[t_++]);Ff.constructor=Zf,Zf.prototype=Ff,Nf(gf,"RegExp",Zf,{constructor:!0})}Lf("RegExp");var r_=l,i_=T,o_=po,n_=$m,a_=cf,s_=ia,c_=Cr.get,l_=hf,u_=ff,d_=Pe("native-string-replace",String.prototype.replace),h_=RegExp.prototype.exec,p_=h_,m_=i_("".charAt),f_=i_("".indexOf),__=i_("".replace),g_=i_("".slice),E_=function(){var e=/a/,t=/b*/g;return r_(h_,e,"a"),r_(h_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),v_=a_.BROKEN_CARET,y_=void 0!==/()??/.exec("")[1];(E_||y_||v_||l_||u_)&&(p_=function(e){var t,r,i,o,n,a,s,c=this,l=c_(c),u=o_(e),d=l.raw;if(d)return d.lastIndex=c.lastIndex,t=r_(p_,d,u),c.lastIndex=d.lastIndex,t;var h=l.groups,p=v_&&c.sticky,m=r_(n_,c),f=c.source,_=0,g=u;if(p&&(m=__(m,"y",""),-1===f_(m,"g")&&(m+="g"),g=g_(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==m_(u,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),y_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),E_&&(i=c.lastIndex),o=r_(h_,p?r:c,g),p?o?(o.input=g_(o.input,_),o[0]=g_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:E_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),y_&&o&&o.length>1&&r_(d_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=s_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var T_=p_;to({target:"RegExp",proto:!0,forced:/./.exec!==T_},{exec:T_});var I_=n,A_=_o,S_=$m,R_=o,b_=r.RegExp,w_=b_.prototype,D_=I_&&R_((function(){var e=!0;try{b_(".","d")}catch(uj){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(w_,"flags").get.call(t)!==i||r!==i}));D_&&A_(w_,"flags",{configurable:!0,get:S_});var C_=ii,N_=po,k_=L,O_=RangeError,M_=T,L_=ui,P_=po,x_=function(e){var t=N_(k_(this)),r="",i=C_(e);if(i<0||Infinity===i)throw new O_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},U_=L,V_=M_(x_),F_=M_("".slice),B_=Math.ceil,H_=function(e){return function(t,r,i){var o,n,a=P_(U_(t)),s=L_(r),c=a.length,l=void 0===i?" ":P_(i);return s<=c||""===l?a:((n=V_(l,B_((o=s-c)/l.length))).length>o&&(n=F_(n,0,o)),e?a+n:n+a)}},j_={start:H_(!1),end:H_(!0)},G_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(J),W_=j_.start;to({target:"String",proto:!0,forced:G_},{padStart:function(e){return W_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,z_=$r,q_=T_,J_=o,Y_=tt,X_=qt,$_=Y_("species"),Q_=RegExp.prototype,Z_=T,eg=ii,tg=po,rg=L,ig=Z_("".charAt),og=Z_("".charCodeAt),ng=Z_("".slice),ag=function(e){return function(t,r){var i,o,n=tg(rg(t)),a=eg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=og(n,a))<55296||i>56319||a+1===s||(o=og(n,a+1))<56320||o>57343?e?ig(n,a):i:e?ng(n,a,a+2):o-56320+(i-55296<<10)+65536}},sg={codeAt:ag(!1),charAt:ag(!0)},cg=sg.charAt,lg=T,ug=Ve,dg=Math.floor,hg=lg("".charAt),pg=lg("".replace),mg=lg("".slice),fg=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,_g=/\$([$&'`]|\d{1,2})/g,gg=l,Eg=Mt,vg=F,yg=R,Tg=T_,Ig=TypeError,Ag=td,Sg=l,Rg=T,bg=function(e,t,r,i){var o=Y_(e),n=!J_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!J_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[$_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===q_||a===Q_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));z_(String.prototype,e,c[0]),z_(Q_,o,c[1])}i&&X_(Q_[o],"sham",!0)},wg=o,Dg=Mt,Cg=F,Ng=k,kg=ii,Og=ui,Mg=po,Lg=L,Pg=function(e,t,r){return t+(r?cg(e,t).length:1)},xg=ye,Ug=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=_g;return void 0!==o&&(o=ug(o),c=fg),pg(n,c,(function(n,c){var l;switch(hg(c,0)){case"$":return"$";case"&":return e;case"`":return mg(t,0,r);case"'":return mg(t,a);case"<":l=o[mg(c,1,-1)];break;default:var u=+c;if(0===u)return n;if(u>s){var d=dg(u/10);return 0===d?n:d<=s?void 0===i[d-1]?hg(c,1):i[d-1]+hg(c,1):n}l=i[u-1]}return void 0===l?"":l}))},Vg=function(e,t){var r=e.exec;if(vg(r)){var i=gg(r,e,t);return null!==i&&Eg(i),i}if("RegExp"===yg(e))return gg(Tg,e,t);throw new Ig("RegExp#exec called on incompatible receiver")},Fg=tt("replace"),Bg=Math.max,Hg=Math.min,jg=Rg([].concat),Gg=Rg([].push),Wg=Rg("".indexOf),Kg=Rg("".slice),zg=function(e){return void 0===e?e:String(e)},qg="$0"==="a".replace(/./,"$0"),Jg=!!/./[Fg]&&""===/./[Fg]("a","$0");bg("replace",(function(e,t,r){var i=Jg?"$":"$0";return[function(e,r){var i=Lg(this),o=Ng(e)?void 0:xg(e,Fg);return o?Sg(o,e,i,r):Sg(t,Mg(i),e,r)},function(e,o){var n=Dg(this),a=Mg(e);if("string"==typeof o&&-1===Wg(o,i)&&-1===Wg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=Cg(o);c||(o=Mg(o));var l,u=n.global;u&&(l=n.unicode,n.lastIndex=0);for(var d,h=[];null!==(d=Vg(n,a))&&(Gg(h,d),u);){""===Mg(d[0])&&(n.lastIndex=Pg(a,Og(n.lastIndex),l))}for(var p="",m=0,f=0;f<h.length;f++){for(var _,g=Mg((d=h[f])[0]),E=Bg(Hg(kg(d.index),a.length),0),v=[],y=1;y<d.length;y++)Gg(v,zg(d[y]));var T=d.groups;if(c){var I=jg([g],v,E,a);void 0!==T&&Gg(I,T),_=Mg(Ag(o,void 0,I))}else _=Ug(g,a,E,v,T,o);E>=m&&(p+=Kg(a,m,E)+_,m=E+g.length)}return p+Kg(a,m)}]}),!!wg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!qg||Jg);var Yg="\t\n\v\f\r \u2028\u2029\ufeff",Xg=L,$g=po,Qg=Yg,Zg=T("".replace),eE=RegExp("^["+Qg+"]+"),tE=RegExp("(^|[^"+Qg+"])["+Qg+"]+$"),rE=function(e){return function(t){var r=$g(Xg(t));return 1&e&&(r=Zg(r,eE,"")),2&e&&(r=Zg(r,tE,"$1")),r}},iE={start:rE(1),end:rE(2),trim:rE(3)},oE=tr.PROPER,nE=o,aE=Yg,sE=iE.trim;to({target:"String",proto:!0,forced:function(e){return nE((function(){return!!aE[e]()||"
"!=="
"[e]()||oE&&aE[e].name!==e}))}("trim")},{trim:function(){return sE(this)}});var cE,lE,uE,dE={},hE={get exports(){return dE},set exports(e){dE=e}},pE=Uc,mE=n,fE=r,_E=F,gE=H,EE=He,vE=lo,yE=pe,TE=qt,IE=$r,AE=_o,SE=K,RE=Sa,bE=ts,wE=tt,DE=ze,CE=Cr.enforce,NE=Cr.get,kE=fE.Int8Array,OE=kE&&kE.prototype,ME=fE.Uint8ClampedArray,LE=ME&&ME.prototype,PE=kE&&RE(kE),xE=OE&&RE(OE),UE=Object.prototype,VE=fE.TypeError,FE=wE("toStringTag"),BE=DE("TYPED_ARRAY_TAG"),HE="TypedArrayConstructor",jE=pE&&!!bE&&"Opera"!==vE(fE.opera),GE=!1,WE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},KE={BigInt64Array:8,BigUint64Array:8},zE=function(e){var t=RE(e);if(gE(t)){var r=NE(t);return r&&EE(r,HE)?r[HE]:zE(t)}},qE=function(e){if(!gE(e))return!1;var t=vE(e);return EE(WE,t)||EE(KE,t)};for(cE in WE)(uE=(lE=fE[cE])&&lE.prototype)?CE(uE)[HE]=lE:jE=!1;for(cE in KE)(uE=(lE=fE[cE])&&lE.prototype)&&(CE(uE)[HE]=lE);if((!jE||!_E(PE)||PE===Function.prototype)&&(PE=function(){throw new VE("Incorrect invocation")},jE))for(cE in WE)fE[cE]&&bE(fE[cE],PE);if((!jE||!xE||xE===UE)&&(xE=PE.prototype,jE))for(cE in WE)fE[cE]&&bE(fE[cE].prototype,xE);if(jE&&RE(LE)!==xE&&bE(LE,xE),mE&&!EE(xE,FE))for(cE in GE=!0,AE(xE,FE,{configurable:!0,get:function(){return gE(this)?this[BE]:void 0}}),WE)fE[cE]&&TE(fE[cE],BE,cE);var JE={NATIVE_ARRAY_BUFFER_VIEWS:jE,TYPED_ARRAY_TAG:GE&&BE,aTypedArray:function(e){if(qE(e))return e;throw new VE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_E(e)&&(!bE||SE(PE,e)))return e;throw new VE(yE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(mE){if(r)for(var o in WE){var n=fE[o];if(n&&EE(n.prototype,e))try{delete n.prototype[e]}catch(uj){try{n.prototype[e]=t}catch(a){}}}xE[e]&&!r||IE(xE,e,r?t:jE&&OE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(mE){if(bE){if(r)for(i in WE)if((o=fE[i])&&EE(o,e))try{delete o[e]}catch(uj){}if(PE[e]&&!r)return;try{return IE(PE,e,r?t:jE&&PE[e]||t)}catch(uj){}}for(i in WE)!(o=fE[i])||o[e]&&!r||IE(o,e,t)}},getTypedArrayConstructor:zE,isView:function(e){if(!gE(e))return!1;var t=vE(e);return"DataView"===t||EE(WE,t)||EE(KE,t)},isTypedArray:qE,TypedArray:PE,TypedArrayPrototype:xE},YE=r,XE=o,$E=cm,QE=JE.NATIVE_ARRAY_BUFFER_VIEWS,ZE=YE.ArrayBuffer,ev=YE.Int8Array,tv=!QE||!XE((function(){ev(1)}))||!XE((function(){new ev(-1)}))||!$E((function(e){new ev,new ev(null),new ev(1.5),new ev(e)}),!0)||XE((function(){return 1!==new ev(new ZE(2),1,void 0).length})),rv=H,iv=Math.floor,ov=Number.isInteger||function(e){return!rv(e)&&isFinite(e)&&iv(e)===e},nv=ii,av=RangeError,sv=function(e){var t=nv(e);if(t<0)throw new av("The argument can't be less than 0");return t},cv=RangeError,lv=function(e,t){var r=sv(e);if(r%t)throw new cv("Wrong offset");return r},uv=Math.round,dv=lo,hv=lt,pv=TypeError,mv=function(e){var t=hv(e,"number");if("number"==typeof t)throw new pv("Can't convert number to bigint");return BigInt(t)},fv=Zo,_v=l,gv=Du,Ev=Ve,vv=hi,yv=Fp,Tv=Op,Iv=bp,Av=function(e){var t=dv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Sv=JE.aTypedArrayConstructor,Rv=mv,bv=Zo,wv=N,Dv=Ve,Cv=hi,Nv=bn,kv=T([].push),Ov=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,u,d){for(var h,p,m=Dv(c),f=wv(m),_=Cv(f),g=bv(l,u),E=0,v=d||Nv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:kv(y,h)}else switch(e){case 4:return!1;case 7:kv(y,h)}return n?-1:i||o?o:y}},Mv={forEach:Ov(0),map:Ov(1),filter:Ov(2),some:Ov(3),every:Ov(4),find:Ov(5),findIndex:Ov(6),filterReject:Ov(7)},Lv=hi,Pv=to,xv=r,Uv=l,Vv=n,Fv=tv,Bv=JE,Hv=_u,jv=jc,Gv=_,Wv=qt,Kv=ov,zv=ui,qv=zc,Jv=lv,Yv=function(e){var t=uv(e);return t<0?0:t>255?255:255&t},Xv=ht,$v=He,Qv=lo,Zv=H,ey=de,ty=ia,ry=K,iy=ts,oy=Qr.f,ny=function(e){var t,r,i,o,n,a,s,c,l=gv(this),u=Ev(e),d=arguments.length,h=d>1?arguments[1]:void 0,p=void 0!==h,m=Tv(u);if(m&&!Iv(m))for(c=(s=yv(u,m)).next,u=[];!(a=_v(c,s)).done;)u.push(a.value);for(p&&d>2&&(h=fv(h,arguments[2])),r=vv(u),i=new(Sv(l))(r),o=Av(i),t=0;r>t;t++)n=p?h(u[t],t):u[t],i[t]=o?Rv(n):+n;return i},ay=Mv.forEach,sy=Tu,cy=_o,ly=Dt,uy=i,dy=function(e,t,r){for(var i=0,o=arguments.length>2?r:Lv(t),n=new e(o);o>i;)n[i]=t[i++];return n},hy=ml,py=Cr.get,my=Cr.set,fy=Cr.enforce,_y=ly.f,gy=uy.f,Ey=xv.RangeError,vy=Hv.ArrayBuffer,yy=vy.prototype,Ty=Hv.DataView,Iy=Bv.NATIVE_ARRAY_BUFFER_VIEWS,Ay=Bv.TYPED_ARRAY_TAG,Sy=Bv.TypedArray,Ry=Bv.TypedArrayPrototype,by=Bv.isTypedArray,wy="BYTES_PER_ELEMENT",Dy="Wrong length",Cy=function(e,t){cy(e,t,{configurable:!0,get:function(){return py(this)[t]}})},Ny=function(e){var t;return ry(yy,e)||"ArrayBuffer"===(t=Qv(e))||"SharedArrayBuffer"===t},ky=function(e,t){return by(e)&&!ey(t)&&t in e&&Kv(+t)&&t>=0},Oy=function(e,t){return t=Xv(t),ky(e,t)?Gv(2,e[t]):gy(e,t)},My=function(e,t,r){return t=Xv(t),!(ky(e,t)&&Zv(r)&&$v(r,"value"))||$v(r,"get")||$v(r,"set")||r.configurable||$v(r,"writable")&&!r.writable||$v(r,"enumerable")&&!r.enumerable?_y(e,t,r):(e[t]=r.value,e)};Vv?(Iy||(uy.f=Oy,ly.f=My,Cy(Ry,"buffer"),Cy(Ry,"byteOffset"),Cy(Ry,"byteLength"),Cy(Ry,"length")),Pv({target:"Object",stat:!0,forced:!Iy},{getOwnPropertyDescriptor:Oy,defineProperty:My}),hE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=xv[o],c=s,l=c&&c.prototype,u={},d=function(e,t){_y(e,t,{get:function(){return function(e,t){var r=py(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=py(e);n.view[a](t*i+n.byteOffset,r?Yv(o):o,!0)}(this,t,e)},enumerable:!0})};Iy?Fv&&(c=t((function(e,t,r,o){return jv(e,l),hy(Zv(t)?Ny(t)?void 0!==o?new s(t,Jv(r,i),o):void 0!==r?new s(t,Jv(r,i)):new s(t):by(t)?dy(c,t):Uv(ny,c,t):new s(qv(t)),e,c)})),iy&&iy(c,Sy),ay(oy(s),(function(e){e in c||Wv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){jv(e,l);var n,a,s,u=0,h=0;if(Zv(t)){if(!Ny(t))return by(t)?dy(c,t):Uv(ny,c,t);n=t,h=Jv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ey(Dy);if((a=p-h)<0)throw new Ey(Dy)}else if((a=zv(o)*i)+h>p)throw new Ey(Dy);s=a/i}else s=qv(t),n=new vy(a=s*i);for(my(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ty(n)});u<s;)d(e,u++)})),iy&&iy(c,Sy),l=c.prototype=ty(Ry)),l.constructor!==c&&Wv(l,"constructor",c),fy(l).TypedArrayConstructor=c,Ay&&Wv(l,Ay,o);var h=c!==s;u[o]=c,Pv({global:!0,constructor:!0,forced:h,sham:!Iy},u),wy in c||Wv(c,wy,i),wy in l||Wv(l,wy,i),sy(o)}):hE.exports=function(){},dE("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),dE("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),dE("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Ly=ul,Py=mv,xy=lo,Uy=l,Vy=o,Fy=JE.aTypedArray,By=JE.exportTypedArrayMethod,Hy=T("".slice);By("fill",(function(e){var t=arguments.length;Fy(this);var r="Big"===Hy(xy(this),0,3)?Py(e):+e;return Uy(Ly,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Vy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var jy=r,Gy=l,Wy=JE,Ky=hi,zy=lv,qy=Ve,Jy=o,Yy=jy.RangeError,Xy=jy.Int8Array,$y=Xy&&Xy.prototype,Qy=$y&&$y.set,Zy=Wy.aTypedArray,eT=Wy.exportTypedArrayMethod,tT=!Jy((function(){var e=new Uint8ClampedArray(2);return Gy(Qy,e,{length:1,0:3},1),3!==e[1]})),rT=tT&&Wy.NATIVE_ARRAY_BUFFER_VIEWS&&Jy((function(){var e=new Xy(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));eT("set",(function(e){Zy(this);var t=zy(arguments.length>1?arguments[1]:void 0,1),r=qy(e);if(tT)return Gy(Qy,this,r,t);var i=this.length,o=Ky(r),n=0;if(o+t>i)throw new Yy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!tT||rT);var iT=Yo,oT=o,nT=ge,aT=uc,sT=hc,cT=pc,lT=te,uT=fc,dT=JE.aTypedArray,hT=JE.exportTypedArrayMethod,pT=r.Uint16Array,mT=pT&&iT(pT.prototype.sort),fT=!(!mT||oT((function(){mT(new pT(2),null)}))&&oT((function(){mT(new pT(2),{})}))),_T=!!mT&&!oT((function(){if(lT)return lT<74;if(sT)return sT<67;if(cT)return!0;if(uT)return uT<602;var e,t,r=new pT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(mT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));hT("sort",(function(e){return void 0!==e&&nT(e),_T?mT(this,e):aT(dT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!_T||fT);var gT={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},ET=_t("span").classList,vT=ET&&ET.constructor&&ET.constructor.prototype,yT=vT===Object.prototype?void 0:vT,TT=Mv.forEach,IT=Ks("forEach")?[].forEach:function(e){return TT(this,e,arguments.length>1?arguments[1]:void 0)},AT=r,ST=gT,RT=yT,bT=IT,wT=qt,DT=function(e){if(e&&e.forEach!==bT)try{wT(e,"forEach",bT)}catch(uj){e.forEach=bT}};for(var CT in ST)ST[CT]&&DT(AT[CT]&&AT[CT].prototype);DT(RT);var NT=r,kT=gT,OT=yT,MT=Ls,LT=qt,PT=Ua,xT=tt("iterator"),UT=MT.values,VT=function(e,t){if(e){if(e[xT]!==UT)try{LT(e,xT,UT)}catch(uj){e[xT]=UT}if(PT(e,t,!0),kT[t])for(var r in MT)if(e[r]!==MT[r])try{LT(e,r,MT[r])}catch(uj){e[r]=MT[r]}}};for(var FT in kT)VT(NT[FT]&&NT[FT].prototype,FT);VT(OT,"DOMTokenList");var BT=sg.charAt,HT=po,jT=Cr,GT=Ts,WT=Is,KT="String Iterator",zT=jT.set,qT=jT.getterFor(KT);GT(String,"String",(function(e){zT(this,{type:KT,string:HT(e),index:0})}),(function(){var e,t=qT(this),r=t.string,i=t.index;return i>=r.length?WT(void 0,!0):(e=BT(r,i),t.index+=e.length,WT(e,!1))}));var JT=o,YT=n,XT=tt("iterator"),$T=!JT((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!YT||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[XT]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),QT=n,ZT=T,eI=l,tI=o,rI=Pn,iI=wi,oI=u,nI=Ve,aI=N,sI=Object.assign,cI=Object.defineProperty,lI=ZT([].concat),uI=!sI||tI((function(){if(QT&&1!==sI({b:1},sI(cI({},"a",{enumerable:!0,get:function(){cI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==sI({},e)[r]||rI(sI({},t)).join("")!==i}))?function(e,t){for(var r=nI(e),i=arguments.length,o=1,n=iI.f,a=oI.f;i>o;)for(var s,c=aI(arguments[o++]),l=n?lI(rI(c),n(c)):rI(c),u=l.length,d=0;u>d;)s=l[d++],QT&&!eI(a,c,s)||(r[s]=c[s]);return r}:sI,dI=Mt,hI=Gp,pI=n,mI=Dt,fI=_,_I=Zo,gI=l,EI=Ve,vI=function(e,t,r,i){try{return i?t(dI(r)[0],r[1]):t(r)}catch(uj){hI(e,"throw",uj)}},yI=bp,TI=vn,II=hi,AI=function(e,t,r){pI?mI.f(e,t,fI(0,r)):e[t]=r},SI=Fp,RI=Op,bI=Array,wI=T,DI=2147483647,CI=/[^\0-\u007E]/,NI=/[.\u3002\uFF0E\uFF61]/g,kI="Overflow: input needs wider integers to process",OI=RangeError,MI=wI(NI.exec),LI=Math.floor,PI=String.fromCharCode,xI=wI("".charCodeAt),UI=wI([].join),VI=wI([].push),FI=wI("".replace),BI=wI("".split),HI=wI("".toLowerCase),jI=function(e){return e+22+75*(e<26)},GI=function(e,t,r){var i=0;for(e=r?LI(e/700):e>>1,e+=LI(e/t);e>455;)e=LI(e/35),i+=36;return LI(i+36*e/(e+38))},WI=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=xI(e,r++);if(o>=55296&&o<=56319&&r<i){var n=xI(e,r++);56320==(64512&n)?VI(t,((1023&o)<<10)+(1023&n)+65536):(VI(t,o),r--)}else VI(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&VI(t,PI(i));var c=t.length,l=c;for(c&&VI(t,"-");l<o;){var u=DI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<u&&(u=i);var d=l+1;if(u-n>LI((DI-a)/d))throw new OI(kI);for(a+=(u-n)*d,n=u,r=0;r<e.length;r++){if((i=e[r])<n&&++a>DI)throw new OI(kI);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;VI(t,PI(jI(m+f%_))),h=LI(f/_),p+=36}VI(t,PI(jI(h))),s=GI(a,d,l===c),a=0,l++}}a++,n++}return UI(t,"")},KI=to,zI=T,qI=si,JI=RangeError,YI=String.fromCharCode,XI=String.fromCodePoint,$I=zI([].join);KI({target:"String",stat:!0,arity:1,forced:!!XI&&1!==XI.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],qI(t,1114111)!==t)throw new JI(t+" is not a valid code point");r[o]=t<65536?YI(t):YI(55296+((t-=65536)>>10),t%1024+56320)}return $I(r,"")}});var QI=to,ZI=r,eA=Pd,tA=W,rA=l,iA=T,oA=n,nA=$T,aA=$r,sA=_o,cA=Fc,lA=Ua,uA=Wa,dA=Cr,hA=jc,pA=F,mA=He,fA=Zo,_A=lo,gA=Mt,EA=H,vA=po,yA=ia,TA=_,IA=Fp,AA=Op,SA=Is,RA=id,bA=uc,wA=tt("iterator"),DA="URLSearchParams",CA=DA+"Iterator",NA=dA.set,kA=dA.getterFor(DA),OA=dA.getterFor(CA),MA=eA("fetch"),LA=eA("Request"),PA=eA("Headers"),xA=LA&&LA.prototype,UA=PA&&PA.prototype,VA=ZI.TypeError,FA=ZI.encodeURIComponent,BA=String.fromCharCode,HA=tA("String","fromCodePoint"),jA=parseInt,GA=iA("".charAt),WA=iA([].join),KA=iA([].push),zA=iA("".replace),qA=iA([].shift),JA=iA([].splice),YA=iA("".split),XA=iA("".slice),$A=iA(/./.exec),QA=/\+/g,ZA=/^[0-9a-f]+$/i,eS=function(e,t){var r=XA(e,t,t+2);return $A(ZA,r)?jA(r,16):NaN},tS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},rS=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},iS=function(e){for(var t=(e=zA(e,QA," ")).length,r="",i=0;i<t;){var o=GA(e,i);if("%"===o){if("%"===GA(e,i+1)||i+3>t){r+="%",i++;continue}var n=eS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=tS(n);if(0===a)o=BA(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==GA(e,i));){var l=eS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;KA(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var u=rS(s);null===u?r+="�":o=HA(u)}}r+=o,i++}return r},oS=/[!'()~]|%20/g,nS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},aS=function(e){return nS[e]},sS=function(e){return zA(FA(e),oS,aS)},cS=uA((function(e,t){NA(this,{type:CA,target:kA(e).entries,index:0,kind:t})}),DA,(function(){var e=OA(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,SA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return SA(i.key,!1);case"values":return SA(i.value,!1)}return SA([i.key,i.value],!1)}),!0),lS=function(e){this.entries=[],this.url=null,void 0!==e&&(EA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===GA(e,0)?XA(e,1):e:vA(e)))};lS.prototype={type:DA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=AA(e);if(l)for(r=(t=IA(e,l)).next;!(i=rA(r,t)).done;){if(n=(o=IA(gA(i.value))).next,(a=rA(n,o)).done||(s=rA(n,o)).done||!rA(n,o).done)throw new VA("Expected sequence with length 2");KA(c,{key:vA(a.value),value:vA(s.value)})}else for(var u in e)mA(e,u)&&KA(c,{key:u,value:vA(e[u])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=YA(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=YA(t,"="),KA(i,{key:iS(qA(r)),value:iS(WA(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],KA(r,sS(e.key)+"="+sS(e.value));return WA(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var uS=function(){hA(this,dS);var e=NA(this,new lS(arguments.length>0?arguments[0]:void 0));oA||(this.size=e.entries.length)},dS=uS.prototype;if(cA(dS,{append:function(e,t){var r=kA(this);RA(arguments.length,2),KA(r.entries,{key:vA(e),value:vA(t)}),oA||this.length++,r.updateURL()},delete:function(e){for(var t=kA(this),r=RA(arguments.length,1),i=t.entries,o=vA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:vA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(JA(i,s,1),void 0!==a)break}oA||(this.size=i.length),t.updateURL()},get:function(e){var t=kA(this).entries;RA(arguments.length,1);for(var r=vA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=kA(this).entries;RA(arguments.length,1);for(var r=vA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&KA(i,t[o].value);return i},has:function(e){for(var t=kA(this).entries,r=RA(arguments.length,1),i=vA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:vA(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=kA(this);RA(arguments.length,1);for(var i,o=r.entries,n=!1,a=vA(e),s=vA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?JA(o,c--,1):(n=!0,i.value=s));n||KA(o,{key:a,value:s}),oA||(this.size=o.length),r.updateURL()},sort:function(){var e=kA(this);bA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=kA(this).entries,i=fA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new cS(this,"keys")},values:function(){return new cS(this,"values")},entries:function(){return new cS(this,"entries")}},{enumerable:!0}),aA(dS,wA,dS.entries,{name:"entries"}),aA(dS,"toString",(function(){return kA(this).serialize()}),{enumerable:!0}),oA&&sA(dS,"size",{get:function(){return kA(this).entries.length},configurable:!0,enumerable:!0}),lA(uS,DA),QI({global:!0,constructor:!0,forced:!nA},{URLSearchParams:uS}),!nA&&pA(PA)){var hS=iA(UA.has),pS=iA(UA.set),mS=function(e){if(EA(e)){var t,r=e.body;if(_A(r)===DA)return t=e.headers?new PA(e.headers):new PA,hS(t,"content-type")||pS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),yA(e,{body:TA(0,vA(r)),headers:TA(0,t)})}return e};if(pA(MA)&&QI({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return MA(e,arguments.length>1?mS(arguments[1]):{})}}),pA(LA)){var fS=function(e){return hA(this,xA),new LA(e,arguments.length>1?mS(arguments[1]):{})};xA.constructor=fS,fS.prototype=xA,QI({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:fS})}}var _S,gS=to,ES=n,vS=$T,yS=r,TS=Zo,IS=T,AS=$r,SS=_o,RS=jc,bS=He,wS=uI,DS=function(e){var t=EI(e),r=TI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=_I(o,i>2?arguments[2]:void 0));var a,s,c,l,u,d,h=RI(t),p=0;if(!h||this===bI&&yI(h))for(a=II(t),s=r?new this(a):bI(a);a>p;p++)d=n?o(t[p],p):t[p],AI(s,p,d);else for(s=r?new this:[],u=(l=SI(t,h)).next;!(c=gI(u,l)).done;p++)d=n?vI(l,o,[c.value,p],!0):c.value,AI(s,p,d);return s.length=p,s},CS=ac,NS=sg.codeAt,kS=function(e){var t,r,i=[],o=BI(FI(HI(e),NI,"."),".");for(t=0;t<o.length;t++)r=o[t],VI(i,MI(CI,r)?"xn--"+WI(r):r);return UI(i,".")},OS=po,MS=Ua,LS=id,PS={URLSearchParams:uS,getState:kA},xS=Cr,US=xS.set,VS=xS.getterFor("URL"),FS=PS.URLSearchParams,BS=PS.getState,HS=yS.URL,jS=yS.TypeError,GS=yS.parseInt,WS=Math.floor,KS=Math.pow,zS=IS("".charAt),qS=IS(/./.exec),JS=IS([].join),YS=IS(1..toString),XS=IS([].pop),$S=IS([].push),QS=IS("".replace),ZS=IS([].shift),eR=IS("".split),tR=IS("".slice),rR=IS("".toLowerCase),iR=IS([].unshift),oR="Invalid scheme",nR="Invalid host",aR="Invalid port",sR=/[a-z]/i,cR=/[\d+-.a-z]/i,lR=/\d/,uR=/^0x/i,dR=/^[0-7]+$/,hR=/^\d+$/,pR=/^[\da-f]+$/i,mR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,fR=/[\0\t\n\r #/:<>?@[\\\]^|]/,_R=/^[\u0000-\u0020]+/,gR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,ER=/[\t\n\r]/g,vR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)iR(t,e%256),e=WS(e/256);return JS(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=YS(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},yR={},TR=wS({},yR,{" ":1,'"':1,"<":1,">":1,"`":1}),IR=wS({},TR,{"#":1,"?":1,"{":1,"}":1}),AR=wS({},IR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),SR=function(e,t){var r=NS(e,0);return r>32&&r<127&&!bS(t,e)?e:encodeURIComponent(e)},RR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},bR=function(e,t){var r;return 2===e.length&&qS(sR,zS(e,0))&&(":"===(r=zS(e,1))||!t&&"|"===r)},wR=function(e){var t;return e.length>1&&bR(tR(e,0,2))&&(2===e.length||"/"===(t=zS(e,2))||"\\"===t||"?"===t||"#"===t)},DR=function(e){return"."===e||"%2e"===rR(e)},CR={},NR={},kR={},OR={},MR={},LR={},PR={},xR={},UR={},VR={},FR={},BR={},HR={},jR={},GR={},WR={},KR={},zR={},qR={},JR={},YR={},XR=function(e,t,r){var i,o,n,a=OS(e);if(t){if(o=this.parse(a))throw new jS(o);this.searchParams=null}else{if(void 0!==r&&(i=new XR(r,!0)),o=this.parse(a,null,i))throw new jS(o);(n=BS(new FS)).bindURL(this),this.searchParams=n}};XR.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||CR,u=0,d="",h=!1,p=!1,m=!1;for(e=OS(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=QS(e,_R,""),e=QS(e,gR,"$1")),e=QS(e,ER,""),i=DS(e);u<=i.length;){switch(o=i[u],l){case CR:if(!o||!qS(sR,o)){if(t)return oR;l=kR;continue}d+=rR(o),l=NR;break;case NR:if(o&&(qS(cR,o)||"+"===o||"-"===o||"."===o))d+=rR(o);else{if(":"!==o){if(t)return oR;d="",l=kR,u=0;continue}if(t&&(c.isSpecial()!==bS(RR,d)||"file"===d&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=d,t)return void(c.isSpecial()&&RR[c.scheme]===c.port&&(c.port=null));d="","file"===c.scheme?l=jR:c.isSpecial()&&r&&r.scheme===c.scheme?l=OR:c.isSpecial()?l=xR:"/"===i[u+1]?(l=MR,u++):(c.cannotBeABaseURL=!0,$S(c.path,""),l=qR)}break;case kR:if(!r||r.cannotBeABaseURL&&"#"!==o)return oR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=CS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=YR;break}l="file"===r.scheme?jR:LR;continue;case OR:if("/"!==o||"/"!==i[u+1]){l=LR;continue}l=UR,u++;break;case MR:if("/"===o){l=VR;break}l=zR;continue;case LR:if(c.scheme=r.scheme,o===_S)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=PR;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query="",l=JR;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.path.length--,l=zR;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=CS(r.path),c.query=r.query,c.fragment="",l=YR}break;case PR:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=zR;continue}l=VR}else l=UR;break;case xR:if(l=UR,"/"!==o||"/"!==zS(d,u+1))continue;u++;break;case UR:if("/"!==o&&"\\"!==o){l=VR;continue}break;case VR:if("@"===o){h&&(d="%40"+d),h=!0,n=DS(d);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=SR(_,AR);m?c.password+=g:c.username+=g}else m=!0}d=""}else if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===d)return"Invalid authority";u-=DS(d).length+1,d="",l=FR}else d+=o;break;case FR:case BR:if(t&&"file"===c.scheme){l=WR;continue}if(":"!==o||p){if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===d)return nR;if(t&&""===d&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(d))return a;if(d="",l=KR,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),d+=o}else{if(""===d)return nR;if(a=c.parseHost(d))return a;if(d="",l=HR,t===BR)return}break;case HR:if(!qS(lR,o)){if(o===_S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==d){var E=GS(d,10);if(E>65535)return aR;c.port=c.isSpecial()&&E===RR[c.scheme]?null:E,d=""}if(t)return;l=KR;continue}return aR}d+=o;break;case jR:if(c.scheme="file","/"===o||"\\"===o)l=GR;else{if(!r||"file"!==r.scheme){l=zR;continue}switch(o){case _S:c.host=r.host,c.path=CS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=CS(r.path),c.query="",l=JR;break;case"#":c.host=r.host,c.path=CS(r.path),c.query=r.query,c.fragment="",l=YR;break;default:wR(JS(CS(i,u),""))||(c.host=r.host,c.path=CS(r.path),c.shortenPath()),l=zR;continue}}break;case GR:if("/"===o||"\\"===o){l=WR;break}r&&"file"===r.scheme&&!wR(JS(CS(i,u),""))&&(bR(r.path[0],!0)?$S(c.path,r.path[0]):c.host=r.host),l=zR;continue;case WR:if(o===_S||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&bR(d))l=zR;else if(""===d){if(c.host="",t)return;l=KR}else{if(a=c.parseHost(d))return a;if("localhost"===c.host&&(c.host=""),t)return;d="",l=KR}continue}d+=o;break;case KR:if(c.isSpecial()){if(l=zR,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==_S&&(l=zR,"/"!==o))continue}else c.fragment="",l=YR;else c.query="",l=JR;break;case zR:if(o===_S||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=rR(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||$S(c.path,"")):DR(d)?"/"===o||"\\"===o&&c.isSpecial()||$S(c.path,""):("file"===c.scheme&&!c.path.length&&bR(d)&&(c.host&&(c.host=""),d=zS(d,0)+":"),$S(c.path,d)),d="","file"===c.scheme&&(o===_S||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)ZS(c.path);"?"===o?(c.query="",l=JR):"#"===o&&(c.fragment="",l=YR)}else d+=SR(o,IR);break;case qR:"?"===o?(c.query="",l=JR):"#"===o?(c.fragment="",l=YR):o!==_S&&(c.path[0]+=SR(o,yR));break;case JR:t||"#"!==o?o!==_S&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":SR(o,yR)):(c.fragment="",l=YR);break;case YR:o!==_S&&(c.fragment+=SR(o,TR))}u++}},parseHost:function(e){var t,r,i;if("["===zS(e,0)){if("]"!==zS(e,e.length-1))return nR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,d=0,h=function(){return zS(e,d)};if(":"===h()){if(":"!==zS(e,1))return;d+=2,u=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&qS(pR,h());)t=16*t+GS(h(),16),d++,r++;if("."===h()){if(0===r)return;if(d-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;d++}if(!qS(lR,h()))return;for(;qS(lR,h());){if(n=GS(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;d++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(d++,!h())return}else if(h())return;c[l++]=t}else{if(null!==u)return;d++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(tR(e,1,-1)),!t)return nR;this.host=t}else if(this.isSpecial()){if(e=kS(e),qS(mR,e))return nR;if(t=function(e){var t,r,i,o,n,a,s,c=eR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===zS(o,0)&&(n=qS(uR,o)?16:8,o=tR(o,8===n?1:2)),""===o)a=0;else{if(!qS(10===n?hR:8===n?dR:pR,o))return e;a=GS(o,n)}$S(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=KS(256,5-t))return null}else if(a>255)return null;for(s=XS(r),i=0;i<r.length;i++)s+=r[i]*KS(256,3-i);return s}(e),null===t)return nR;this.host=t}else{if(qS(fR,e))return nR;for(t="",r=DS(e),i=0;i<r.length;i++)t+=SR(r[i],yR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return bS(RR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&bR(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=vR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+JS(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new jS(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new $R(e.path[0]).origin}catch(uj){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+vR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(OS(e)+":",CR)},getUsername:function(){return this.username},setUsername:function(e){var t=DS(OS(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=SR(t[r],AR)}},getPassword:function(){return this.password},setPassword:function(e){var t=DS(OS(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=SR(t[r],AR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?vR(e):vR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,FR)},getHostname:function(){var e=this.host;return null===e?"":vR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,BR)},getPort:function(){var e=this.port;return null===e?"":OS(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=OS(e))?this.port=null:this.parse(e,HR))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+JS(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,KR))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=OS(e))?this.query=null:("?"===zS(e,0)&&(e=tR(e,1)),this.query="",this.parse(e,JR)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=OS(e))?("#"===zS(e,0)&&(e=tR(e,1)),this.fragment="",this.parse(e,YR)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var $R=function(e){var t=RS(this,QR),r=LS(arguments.length,1)>1?arguments[1]:void 0,i=US(t,new XR(e,!1,r));ES||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},QR=$R.prototype,ZR=function(e,t){return{get:function(){return VS(this)[e]()},set:t&&function(e){return VS(this)[t](e)},configurable:!0,enumerable:!0}};if(ES&&(SS(QR,"href",ZR("serialize","setHref")),SS(QR,"origin",ZR("getOrigin")),SS(QR,"protocol",ZR("getProtocol","setProtocol")),SS(QR,"username",ZR("getUsername","setUsername")),SS(QR,"password",ZR("getPassword","setPassword")),SS(QR,"host",ZR("getHost","setHost")),SS(QR,"hostname",ZR("getHostname","setHostname")),SS(QR,"port",ZR("getPort","setPort")),SS(QR,"pathname",ZR("getPathname","setPathname")),SS(QR,"search",ZR("getSearch","setSearch")),SS(QR,"searchParams",ZR("getSearchParams")),SS(QR,"hash",ZR("getHash","setHash"))),AS(QR,"toJSON",(function(){return VS(this).serialize()}),{enumerable:!0}),AS(QR,"toString",(function(){return VS(this).serialize()}),{enumerable:!0}),HS){var eb=HS.createObjectURL,tb=HS.revokeObjectURL;eb&&AS($R,"createObjectURL",TS(eb,HS)),tb&&AS($R,"revokeObjectURL",TS(tb,HS))}MS($R,"URL"),gS({global:!0,constructor:!0,forced:!vS,sham:!ES},{URL:$R});var rb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return rb(URL.prototype.toString,this)}});var ib,ob=Object.create,nb=Object.defineProperty,ab=Object.defineProperties,sb=Object.getOwnPropertyDescriptor,cb=Object.getOwnPropertyDescriptors,lb=Object.getOwnPropertyNames,ub=Object.getOwnPropertySymbols,db=Object.getPrototypeOf,hb=Object.prototype.hasOwnProperty,pb=Object.prototype.propertyIsEnumerable,mb=Reflect.get,fb=Math.pow,_b=(e,t,r)=>t in e?nb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,gb=(e,t)=>{for(var r in t||(t={}))hb.call(t,r)&&_b(e,r,t[r]);if(ub)for(var r of ub(t))pb.call(t,r)&&_b(e,r,t[r]);return e},Eb=(e,t)=>ab(e,cb(t)),vb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yb=(e,t)=>{for(var r in t)nb(e,r,{get:t[r],enumerable:!0})},Tb=(e,t,r)=>(r=null!=e?ob(db(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of lb(t))!hb.call(e,o)&&o!==r&&nb(e,o,{get:()=>t[o],enumerable:!(i=sb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:nb(r,"default",{value:e,enumerable:!0}),e)),Ib=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?sb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&nb(t,r,n),n},Ab=(e,t,r)=>_b(e,"symbol"!=typeof t?t+"":t,r),Sb=(e,t,r)=>mb(db(e),r,t),Rb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(Dk){o(Dk)}},a=e=>{try{s(r.throw(e))}catch(Dk){o(Dk)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),bb=vb(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),wb=vb(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),Db=vb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=wb(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),Cb=vb(((e,t)=>{var r=wb(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),Nb=vb((e=>{var t=Db(),r=Cb();e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),kb=((ib=kb||{})[ib.INVALID_PARAMETER=4096]="INVALID_PARAMETER",ib[ib.INVALID_OPERATION=4097]="INVALID_OPERATION",ib[ib.NOT_SUPPORTED=4098]="NOT_SUPPORTED",ib[ib.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",ib[ib.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",ib[ib.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",ib[ib.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",ib[ib.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",ib[ib.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",ib[ib.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",ib[ib.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",ib[ib.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",ib[ib.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",ib[ib.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",ib[ib.CLIENT_BANNED=16448]="CLIENT_BANNED",ib[ib.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",ib[ib.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",ib[ib.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",ib[ib.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",ib[ib.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",ib[ib.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",ib[ib.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",ib[ib.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",ib[ib.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",ib[ib.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",ib[ib.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",ib[ib.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",ib[ib.API_CALL_ABORTED=16461]="API_CALL_ABORTED",ib[ib.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",ib[ib.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",ib[ib.UNKNOWN=65535]="UNKNOWN",ib),Ob=kb,Mb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=Ob.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in Ob)if(Ob[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),Ab(this,"code"),Ab(this,"extraCode"),Ab(this,"message"),Ab(this,"originMessage"),Ab(this,"name"),Ab(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},Lb=Mb;(new Date).getTime();var Pb=function(){return(new Date).getTime()+0},xb=function(){let e=new Date;return e.setTime(Pb()),e.toLocaleString()},Ub=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},Vb={};yb(Vb,{bytes2ms:()=>wD,convertObjectNumberToInt:()=>_C,copyProperties:()=>bD,deepClone:()=>aC,deepMerge:()=>nC,delay:()=>gC,fibonacci:()=>LD,formatedTime:()=>lC,getConstructorName:()=>JD,getContainerFromElement:()=>cC,getEnv:()=>ED,getInternalVersion:()=>ZD,getLoggerUrl:()=>yD,getMuteStateFromFlag:()=>rC,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>hC,getTurnServer:()=>iC,getUint32Version:()=>fC,getValueType:()=>xD,getViewListFromView:()=>sC,glog:()=>kD,ipv4ToUint32:()=>oC,isArray:()=>GD,isAudioWorkletSupported:()=>YD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>tC,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>WD,isNumber:()=>BD,isObject:()=>jD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>pC,isPromise:()=>zD,isRemoteTrack:()=>KD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>mC,ms2bytes:()=>CD,ms2samples:()=>ND,normalizeUrl:()=>vC,performanceNow:()=>$D,promiseAny:()=>XD,samples2ms:()=>DD,setNetworkType:()=>SD,stringify:()=>uC,stringifyIncludeValue:()=>dC,throttlePromise:()=>EC});var Fb={};yb(Fb,{AUDIO_MUTE_BIT:()=>Sw,AUDIO_STAT_BIT:()=>Aw,AUX_STAT_BIT:()=>Iw,AUX_STREAM_MSID:()=>Cw,BACKEND_ENV:()=>Ew,BASE_DOC_URL:()=>ew,BASE_HOST:()=>Xb,CAPABILITIES_KEYS:()=>_D,CLASS_NAME:()=>sD,CLOUD_CONSOLE_URL:()=>Zb,CROSS_ROOM_BIT:()=>ww,DATA_FREEZE_TIMING:()=>eD,DEFAULT_ASSETS_URL:()=>tw,DOC_URL:()=>rw,DTLS_STATE_UNKNOWN:()=>Fw,ENV_NAME:()=>sw,EXCHANGE_SDP_TIMEOUT:()=>Yw,IS_WORKER:()=>Kb,IS_WORKLET:()=>zb,KIBANA_EVENT:()=>zw,LOCAL_STREAM_PUBLISH_STATE:()=>Zw,LOGGER_CMD_TYPE:()=>aw,LOGGER_DOMAIN:()=>iw,LOGGER_DOMAIN_OVERSEA:()=>ow,LOG_LEVEL:()=>cw,LOG_LEVEL_NAME:()=>hD,MAIN_STREAM_MSID:()=>Dw,MAX_RTT:()=>gD,MICROPHONE_COMMUNICATIONS:()=>dD,MICROPHONE_DEFAULT:()=>lD,MUTE_ALL_BIT:()=>bw,NAME:()=>_w,NETWORK_TYPE:()=>dw,NOT_SUPPORTED_H264:()=>Qw,PAUSED_RETRY_COUNT:()=>cD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>oD,PEER_CONNECTION_STATE:()=>Bw,PEER_LEAVE_REASON:()=>pD,RECOVER_CAPTURE_INTERVAL:()=>fD,REMOTE_STREAM_TYPE_AUX:()=>kw,REMOTE_STREAM_TYPE_MAIN:()=>Nw,RENDER_FREEZE_TIMING:()=>tD,SCHEDULE_DOMAIN:()=>nD,SCHEDULE_TIMEOUT:()=>aD,SDP_SEMANTICS_PLAN_B:()=>$w,SDP_SEMANTICS_UNIFIED_PLAN:()=>Xw,SECOND_HOST:()=>$b,SIGNAL_PING_PONG_INTERVAL:()=>uw,SIGNAL_PING_TIMEOUT:()=>lw,SIGNAL_RECONNECTION_COUNT:()=>Kw,SMALL_STAT_BIT:()=>Tw,SPEAKER_DEFAULT:()=>uD,STORAGE_EXPIRES_TIME:()=>hw,STREAM_TYPE_BIG:()=>rD,STREAM_TYPE_SMALL:()=>iD,SUBSCRIBE_SMALL_RETRY_COUNT:()=>mD,SYNC_USER_LIST_INTERVAL:()=>qw,Scene:()=>vw,THIRD_HOST:()=>Qb,TRANSPORT_DIRECTION:()=>gw,TRTC_ERROR_ASSISTANCE:()=>nw,TRTC_QUALITY_BAD:()=>xw,TRTC_QUALITY_DISCONNECTED:()=>Vw,TRTC_QUALITY_EXCELLENT:()=>Mw,TRTC_QUALITY_GOOD:()=>Lw,TRTC_QUALITY_POOR:()=>Pw,TRTC_QUALITY_UNKNOWN:()=>Ow,TRTC_QUALITY_VERY_BAD:()=>Uw,UPDATE_OFFER_TIMEOUT:()=>Jw,VIDEO_MUTE_BIT:()=>Rw,VIDEO_STAT_BIT:()=>yw,audioProfileMap:()=>pw,getRetryCount:()=>Gw,getScriptDir:()=>qb,innerVersion:()=>Bb,loggerProxy:()=>Jb,screenProfileMap:()=>fw,setLoggerProxy:()=>Yb,setRetryCount:()=>jw,setVersion:()=>jb,version:()=>Hb,videoProfileMap:()=>mw});var Bb="4.15.00.1600",Hb="5.0.0";function jb(e){Hb=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));Bb="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var Gb,Wb,Kb="undefined"!=typeof importScripts,zb="undefined"!=typeof registerProcessor,qb=()=>{let e=Kb?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},Jb="",Yb=e=>Jb=e,Xb="web.sdk.qcloud.com",$b="web.sdk.tencent.cn",Qb="web.sdk.cloud.tencent.cn",Zb="https://console.cloud.tencent.com/trtc",ew="https://".concat(Xb,"/trtc/webrtc/v5/doc"),tw="https://web.sdk.qcloud.com/trtc/webrtc/v5/assets/",rw="".concat(ew,"/zh-cn/"),iw="https://yun.tim.qq.com",ow="https://apisgp.my-imcloud.com",nw="trtc_error_assistance",aw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},sw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},cw=((Wb=cw||{})[Wb.TRACE=0]="TRACE",Wb[Wb.DEBUG=1]="DEBUG",Wb[Wb.INFO=2]="INFO",Wb[Wb.WARN=3]="WARN",Wb[Wb.ERROR=4]="ERROR",Wb[Wb.NONE=5]="NONE",Wb),lw=18e3,uw=2e3,dw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},hw=6048e5,pw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},mw={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},fw={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},_w={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture"},gw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Ew={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},vw=((Gb=vw||{}).LIVE="live",Gb.RTC="rtc",Gb),yw=1,Tw=2,Iw=4,Aw=8,Sw=64,Rw=16,bw=112,ww=128,Dw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Cw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",Nw=_w.MAIN,kw=_w.AUXILIARY,Ow=0,Mw=1,Lw=2,Pw=3,xw=4,Uw=5,Vw=6,Fw="unknown",Bw={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},Hw=1/0;function jw(e){Hw=e}function Gw(){return Hw}var Ww,Kw=30,zw={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry"},qw=1e4,Jw=1e4,Yw=1e4,Xw="unified-plan",$w="plan-b",Qw=1028,Zw=((Ww=Zw||{})[Ww.UNPUBLISH=-1]="UNPUBLISH",Ww[Ww.PUBLISHING=0]="PUBLISHING",Ww[Ww.PUBLISHED=1]="PUBLISHED",Ww),eD=500,tD=1e3,rD=_w.BIG,iD=_w.SMALL,oD=1e4,nD={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},aD=2e3,sD={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},cD=5,lD="default",uD=lD,dD="communications",hD=Object.keys(cw),pD=["normal leave","timeout leave","kick","role change"],mD=10,fD=2e3,_D=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],gD=1e4,ED=function(){return new URLSearchParams(location.search).get("trtc_env")||""},vD=e=>Number(e)<14e8,yD=function(e,t){let r;r=Jb||(vD(e)?ow:iw);let i=Math.floor(Math.random()*fb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},TD="unknown";function ID(){if("unknown"!==TD)return TD;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(TD=AD(i,o)),TD}function AD(e,t){if(dw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function SD(e){TD=AD(e)}function RD(){return dw[ID()]}function bD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function wD(e){return DD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function DD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function CD(e){return 4*ND(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function ND(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var kD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},OD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},MD=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function LD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:LD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function PD(e){return e>8?3e4:1e3*LD(e)}function xD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var UD=e=>"function"==typeof e,VD=e=>void 0===e,FD=e=>"string"==typeof e,BD=e=>"number"==typeof e,HD=e=>"boolean"==typeof e,jD=e=>"object"===xD(e),GD=e=>"array"===xD(e),WD=e=>xD(e)==="MediaStreamTrack".toLowerCase(),KD=e=>e.isRemote,zD=e=>"promise"===xD(e),qD=e=>UD(e)&&e.prototype.constructor===e,JD=e=>qD(e)?e.prototype.constructor.name:"",YD="undefined"!=typeof AudioWorkletNode;function XD(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function $D(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var QD=e=>+e<10?"0".concat(e):e,ZD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=QD(r[1])+QD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},eC=Object.prototype.hasOwnProperty;function tC(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(eC.call(e,t))return!1;return!0}return!1}function rC(e,t){return{userId:t,hasAudio:!!(e&Aw),hasVideo:!!(e&yw),hasAuxiliary:!!(e&Iw),hasSmall:!!(e&Tw),audioMuted:!!(e&Sw),videoMuted:!!(e&Rw),audioAvailable:!(!(e&Aw)||e&Sw),videoAvailable:!(!(e&yw)||e&Rw)}}function iC(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!VD(e.username)&&!VD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",VD(e.credentialType)||(t.credentialType=e.credentialType)),t}function oC(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!FD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var nC=function(e,t,r,i){if(!jD(e)||!jD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(VD(t[o])||r&&r.includes(o)))if(jD(e[o])&&jD(t[o]))n+=nC(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=aC(t[o]),n+=1)}return n};function aC(e){if(GD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=aC(e)})),t}if(jD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=aC(e[r])})),t}return e}var sC=e=>{let t=[];if(GD(e))t=[...e];else if(FD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},cC=e=>FD(e)?document.getElementById(e):e,lC=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function uC(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(GD(e))return"[".concat(e.map((e=>uC(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!MD(e)||!GD(r)&&!GD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=MD(e[a])||GD(e[a])?JSON.parse(uC(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(Ww){return"{}"}}function dC(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),uC(e,{keysToInclude:r})}function hC(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var pC=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},mC=e=>Rb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(FD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new Lb({code:Ob.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),fC=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},_C=e=>(Object.keys(e).forEach((t=>{BD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(MD(e[t])||GD(e[t]))&&_C(e[t])})),e);function gC(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function EC(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function vC(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function yC(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.text())).then((t=>{try{e({data:JSON.parse(t)})}catch(Dk){e({data:t})}}),a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(t){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function TC(e){return Rb(this,null,(function*(){let t=$D(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return Ik.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat($D()-t,"ms")),i}catch(Ww){return r}}))}var IC=Object.prototype.hasOwnProperty,AC=e=>"function"==typeof e,SC=e=>e.isRemote;function RC(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)}(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(IC.call(e,t))return!1;return!0}return!1}var bC=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:u=5,timeout:d=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Rb(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(_){let t=()=>{clearTimeout(p),h=0,m=2,r(_)},a=()=>{2!==m&&h<(AC(u)?u():u)?(h++,m=1,AC(o)&&o.call(this,h,t),p=window.setTimeout((()=>{p=-1,f(e,r)}),AC(d)?d(h):d)):(t(),AC(n)&&n.call(this,_))};AC(i)?i.call(this,{error:_,retry:a,reject:r,retryFuncArgs:c,retriedCount:h}):a()}}));return new Promise(f)}},wC=class{constructor(e){Ab(this,"userId"),Ab(this,"remoteUserId"),Ab(this,"id"),Ab(this,"sdkAppId"),Ab(this,"type"),Ab(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),Ik.log(e,t,void 0===this.userId||RC(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},DC={};yb(DC,{ANDROID_VERSION:()=>HC,CHROME_MAJOR_VERSION:()=>KN,CHROME_VERSION:()=>zN,EDGE_VERSION:()=>JC,EDG_MAJOR_VERSION:()=>$C,EDG_VERSION:()=>XC,FIREFOX_MAJOR_VERSION:()=>zC,FIREFOX_VERSION:()=>KC,HUAWEI_VERSION:()=>ON,IE_VERSION:()=>cN,IOS_MAIN_VERSION:()=>QN,IOS_VERSION:()=>$N,IPADQQB_VERSION:()=>vN,IS_ANDROID:()=>BC,IS_ANDROID_WEBVIEW:()=>XN,IS_ANY_SAFARI:()=>JN,IS_CHROME:()=>GN,IS_CHROME_OS:()=>AN,IS_CHROMIUM_BASE:()=>jN,IS_EDG:()=>YC,IS_EDGE:()=>qC,IS_ELECTRON:()=>bN,IS_FIREFOX:()=>WC,IS_HEADLESS_CHROME:()=>WN,IS_HONOR:()=>kN,IS_HUAWEI:()=>NN,IS_HUAWEIBROWSER:()=>CN,IS_IE:()=>sN,IS_IE8:()=>aN,IS_IOS:()=>FC,IS_IOS_13_OR_14:()=>tk,IS_IOS_15_1:()=>ek,IS_IPAD:()=>PC,IS_IPADQQB:()=>EN,IS_IPAD_PRO:()=>xC,IS_IPHONE:()=>UC,IS_IPOD:()=>VC,IS_LINUX:()=>IN,IS_LOCAL:()=>rk,IS_MAC:()=>TN,IS_MACQQB:()=>_N,IS_MIBROWSER:()=>wN,IS_MQQB:()=>hN,IS_NATIVE_ANDROID:()=>GC,IS_OLD_ANDROID:()=>jC,IS_OPENHARMONY:()=>FN,IS_OPPOBROWSER:()=>PN,IS_SAFARI:()=>qN,IS_SAFARI_15_1:()=>ZN,IS_SAMSUNGBROWSER:()=>MN,IS_SOGOU:()=>eN,IS_SOGOUM:()=>QC,IS_TBS:()=>rN,IS_UCBROWSER:()=>RN,IS_VIVOBROWSER:()=>UN,IS_WECHAT:()=>lN,IS_WIN:()=>yN,IS_WQQB:()=>mN,IS_WX:()=>SN,IS_X5MQQB:()=>dN,IS_XWEB:()=>oN,MACQQB_VERSION:()=>gN,MI_VERSION:()=>DN,MQQB_VERSION:()=>pN,OPENHARMONY_VERSION:()=>BN,OPPO_VERSION:()=>xN,SAFARI_VERSION:()=>YN,SAMSUNG_VERSION:()=>LN,SOGOUM_VERSION:()=>ZC,SOGOU_VERSION:()=>tN,TBS_VERSION:()=>iN,UA_DATA_STRING:()=>ck,USER_AGENT:()=>CC,VIVO_VERSION:()=>VN,WECHAT_VERSION:()=>uN,WQQB_VERSION:()=>fN,XWEB_VERSION:()=>nN,browserInfo:()=>ok,getBrowserInfo:()=>nk,getChromeMajorVersion:()=>HN,getDeviceModel:()=>uk,getOSName:()=>hk,getOSNumber:()=>pk,getOSString:()=>mk,getOSType:()=>_k,getTerminalType:()=>fk,getUserAgentData:()=>lk,isLocalStorageEnabled:()=>ik,isMobile:()=>sk});var CC="undefined"==typeof navigator?"":navigator.userAgent,NC=e=>new RegExp(e,"i").test(CC),kC=e=>{if(NC(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=CC.match(t);if(r&&r[1])return r[1]}return""},OC=e=>{if(NC(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=CC.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},MC=/AppleWebKit\/([\d.]+)/i.exec(CC),LC=MC?parseFloat(MC[1]):NaN,PC=NC("iPad"),xC="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&NC("Macintosh"),UC=NC("iPhone")&&!PC,VC=NC("iPod"),FC=UC||PC||VC||xC,BC=NC("Android"),HC=function(){if(BC){let e=CC.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),jC=BC&&NC("webkit")&&HC<2.3,GC=BC&&HC<5&&LC<537,WC=NC("Firefox"),KC=kC("Firefox"),zC=OC("Firefox"),qC=NC("Edge"),JC=kC("Edge"),YC=NC("Edg"),XC=kC("Edg"),$C=OC("Edg"),QC=NC("SogouMobileBrowser"),ZC=kC("SogouMobileBrowser"),eN=NC("MetaSr\\s"),tN=kC("MetaSr\\s"),rN=NC("TBS"),iN=kC("TBS"),oN=NC("XWEB"),nN=kC("XWEB"),aN=NC("MSIE\\s8\\.0"),sN=NC("MSIE\\/\\d+"),cN=function(){if(sN){let e=/MSIE\s(\d+)\.\d/.exec(CC),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(CC)&&/rv:11.0/.test(CC)&&(t=11),t}return NaN}(),lN=NC("(micromessenger|webbrowser)"),uN=kC("MicroMessenger"),dN=!rN&&NC("MQQBrowser")&&NC("COVC"),hN=!rN&&NC("MQQBrowser")&&!NC("COVC"),pN=hN||dN?kC("MQQBrowser"):"",mN=!rN&&NC(" QQBrowser"),fN=kC(" QQBrowser"),_N=!rN&&NC("QQBrowserLite"),gN=kC("QQBrowserLite"),EN=!rN&&NC("MQBHD"),vN=kC("MQBHD"),yN=NC("Windows"),TN=!FC&&NC("MAC OS X"),IN=!BC&&NC("Linux"),AN=NC("CrOS"),SN=NC("MicroMessenger"),RN=NC("UCBrowser"),bN=NC("Electron"),wN=NC("MiuiBrowser"),DN=kC("MiuiBrowser"),CN=NC("HuaweiBrowser"),NN=NC("Huawei")||NC("HUAWEI"),kN=NC("Honor")||NC("HONOR"),ON=kC("HuaweiBrowser"),MN=NC("SamsungBrowser"),LN=kC("SamsungBrowser"),PN=NC("HeyTapBrowser"),xN=kC("HeyTapBrowser"),UN=NC("VivoBrowser"),VN=kC("VivoBrowser"),FN=NC("OpenHarmony"),BN=kC("OpenHarmony"),HN=()=>OC("Chrome"),jN=NC("Chrome"),GN=!qC&&!eN&&!QC&&!rN&&!oN&&!YC&&!mN&&!wN&&!CN&&!MN&&!PN&&!UN&&jN,WN=NC("HeadlessChrome"),KN=HN(),zN=kC("Chrome"),qN=!jN&&!hN&&!dN&&!_N&&!EN&&NC("Safari"),JN=qN||FC,YN=kC("Version"),XN=/Android.*(wv|.0.0.0)/.test(CC),$N=(()=>{if(xC)return YN;if(FC){let e=CC.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})(),QN=Number($N.split(".")[0]),ZN="15.1"===YN,ek="15.1"===$N,tk=(()=>{let e=Number($N.split(".")[0]);return 14===e||13===e})(),rk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),ik=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(Nk){e=!1}return e}})(),ok=nk();function nk(){let e=new Map([[WC,["Firefox",KC]],[YC,["Edg",XC]],[GN,["Chrome",zN]],[qN,["Safari",YN]],[rN,["TBS",iN]],[oN,["XWEB",nN]],[lN&&UC,["WeChat",uN]],[mN,["QQ(Win)",fN]],[hN,["QQ(Mobile)",pN]],[dN,["QQ(Mobile X5)",pN]],[_N,["QQ(Mac)",gN]],[EN,["QQ(iPad)",vN]],[wN,["MI",DN]],[CN,["HW",ON]],[MN,["Samsung",LN]],[PN,["OPPO",xN]],[UN,["VIVO",VN]],[qC,["EDGE",JC]],[QC,["SogouMobile",ZC]],[eN,["Sogou",tN]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var ak=null;function sk(){return ak&&"boolean"==typeof ak.mobile?ak.mobile:BC||FC||UC||PC||FN}var ck="";function lk(){return Rb(this,null,(function*(){if(ak)return ak;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(ak=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!ck&&(ck="UAData: ".concat(ak.platform,"/").concat(ak.platformVersion),ak.architecture&&ak.bitness&&(ck+=" ".concat(ak.architecture,"/").concat(ak.bitness)),ak.mobile&&(ck+=" mobile"),ak.model&&(ck+=" model: ".concat(ak.model)),ak.fullVersionList&&(ck+=" ".concat(ak.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),ak}catch(oF){return null}}))}function uk(){return(null==ak?void 0:ak.model)||""}var dk=new Map([[BC,"Android"],[FC,"iOS"],[yN,"Windows"],[TN,"MacOS"],[IN,"Linux"],[AN,"ChromeOS"]]),hk=function(){return dk.get(!0)?dk.get(!0):ak?ak.platform:"unknown"};function pk(){return yN?1:BC?2:TN?3:FC?4:IN?5:AN?6:0}var mk=()=>{let e=hk();return e+="/".concat(ok.name,"/").concat(qN?ok.version:ok.version.split(".")[0]),null!=ak&&ak.platformVersion&&(e+="/".concat(ak.platformVersion)),null!=ak&&ak.architecture&&(e+="/".concat(ak.architecture)),e};function fk(){return BC?4:UC?2:PC?3:TN?12:yN?5:IN?13:FN?22:1}function _k(){return BC?"Android":UC?"iPhone":PC?"iPad":TN?"Mac":yN?"Windows":IN?"Linux":"unknown"}var gk,Ek=new(Tb(bb(),1).default),vk=((gk=vk||{}).ROOM_DESTROY="1",gk.JOIN_START="21",gk.JOIN_SCHEDULE_SUCCESS="22",gk.JOIN_SIGNAL_CONNECTION_START="23",gk.JOIN_SIGNAL_CONNECTION_END="24",gk.JOIN_SEND_CMD="25",gk.JOIN_RECEIVED_CMD_RES="26",gk.JOIN_SUCCESS="27",gk.JOIN_FAILED="28",gk.LEAVE_START="51",gk.LEAVE_SEND_CMD="52",gk.LEAVE_SUCCESS="53",gk.PUBLISH_START="61",gk.SEND_FIRST_VIDEO_FRAME="62",gk.PUBLISH_FAILED="63",gk.SUBSCRIBE_START="81",gk.SUBSCRIBE_SUCCESS="82",gk.SUBSCRIBE_FAILED="84",gk.UNSUBSCRIBE_SUCCESS="83",gk.LOCAL_TRACK_CAPTURE_START="101",gk.LOCAL_TRACK_CAPTURE_SUCCESS="102",gk.LOCAL_TRACK_CAPTURE_FAILED="103",gk.LOCAL_TRACK_PUBLISHED="104",gk.LOCAL_TRACK_UNPUBLISHED="105",gk.LOCAL_TRACK_REPLACED="106",gk.SWITCH_DEVICE_SUCCESS="107",gk.TRACK_MUTED="108",gk.TRACK_UNMUTED="109",gk.REMOTE_TRACK_SUBSCRIBED="110",gk.REMOTE_TRACK_UNSUBSCRIBED="111",gk.LOCAL_TRACK_RECAPTURE="112",gk.PLAY_TRACK_START="151",gk.PLAYER_STATE_CHANGED="152",gk.VIDEO_LOADED_DATA="153",gk.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",gk.SIGNAL_CONNECTION_STATE_CHANGED="201",gk.PEER_CONNECTION_STATE_CHANGED="202",gk.SINGLE_CONNECTION_STAT="203",gk.SPC_RECONNECTED="204",gk.HEARTBEAT_REPORT="251",gk.RECEIVED_PUBLISHED_USER_LIST="252",gk.REMOTE_PUBLISH_STATE_CHANGED="253",gk.AUDIO_LEVEL_INTERVAL="260",gk.NETWORK_QUALITY="261",gk.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",gk.QUALITY_LIMITATION_CHANGED="263",gk.LOG="264",gk),yk=vk,Tk=class e{constructor(){Ab(this,"_isEnableUploadLog",!0),Ab(this,"_localJoinedUser",new Map),Ab(this,"_queue",[]),Ab(this,"_timeoutId",-1),Ab(this,"_logLevel",1),Ab(this,"_logLevelToUpload",2),!Kb&&!zb&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){Ek.on(yk.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&cw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),Ek.on(yk.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),Ek.once(yk.JOIN_FAILED,(()=>{this.startUpload()})),Ek.on(yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(FD(r.userId)&&BD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return Rb(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e];yield this.uploadLogWithRetry(JSON.stringify({timestamp:xb(),sdkAppId:String(i),userId:r,version:Hb,log:o.map((e=>e.log)).join("\n")}),i),o.forEach((e=>e.uploaded=!0))}}catch(kk){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t){return bC({retryFunction:()=>yC({url:yD(t,aw.LOG),body:e,timeout:5e3,priority:"low"}),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(Pb()),"[".concat(Ub(t),"] <").concat(cw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){VD(cw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(FD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Gb){return""}}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;r.unshift(this.getPrefix(t));let s={log:r.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:t,userId:o,sdkAppId:n,forAllJoinedClients:i};if(Ek.emit(yk.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),t<this._logLevel)return;let c=(null==(a=cw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[c]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[c](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new wC(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;cw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Ab(Tk,"PRINT_LOG_TAG",!(FC||BC||WN));var Ik=new Tk,Ak=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},Sk=new class{constructor(){Ab(this,"_prefix","TRTC"),Ab(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){ik()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(kk){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(ik())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(Nk){Ik.warn(Nk)}}getItem(e){if(!ik())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(Gb){Ik.warn(Gb)}}setItem(e,t){if(ik())try{let r={expiresIn:Date.now()+hw,value:t};this._queue.set(this.getRealKey(e),r)}catch(Ww){Ik.warn(Ww)}}deleteItem(e){if(!ik())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Gb){return Ik.warn(Gb),!1}}clear(){if(ik())try{localStorage.clear()}catch(Nk){Ik.warn(Nk)}}},Rk={};yb(Rk,{HTTPS_API:()=>rM,IS_GET_CAPABILITIES_SUPPORTED:()=>TM,IS_GET_SETTINGS_SUPPORTED:()=>yM,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>vM,IS_INSERTABLE_STREAM_SUPPORTED:()=>IM,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>LM,IS_RTC_RTP_SENDER_SUPPORTED:()=>_M,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>AM,IS_SEI_SUPPORTED:()=>SM,IS_SPC_SUPPORTED:()=>mM,basis:()=>NM,capabilityCheck:()=>OM,checkSystemRequirementsInternal:()=>QO,decodeSupportStatus:()=>$O,encodeSupportStatus:()=>XO,getBrowserInfo:()=>GO,getDisplayResolution:()=>oM,isAddTransceiverSupported:()=>pM,isBrowserSupported:()=>WO,isGetReceiversSupported:()=>uM,isGetSendersSupported:()=>dM,isGetTransceiversSupported:()=>hM,isGetUserMediaSupported:()=>nM,isMediaDevicesSupported:()=>zO,isMediaSessionSupported:()=>wM,isMediaStreamTrackProcessorSupported:()=>YO,isReplaceTrackSupported:()=>gM,isRequestVideoFrameCallbackSupported:()=>MM,isSIMDSupported:()=>CM,isScreenCaptureApiAvailable:()=>eM,isSelectedCandidatePair:()=>iM,isSetParametersSupported:()=>EM,isSmallStreamAPISupported:()=>sM,isSmallStreamSupported:()=>cM,isStopTransceiverSupported:()=>fM,isTRTCSupported:()=>ZO,isUnifiedPlanDefault:()=>lM,isUsedInHttpProtocol:()=>JO,isWebAudioSupported:()=>aM,isWebCodecSupported:()=>bM,isWebCodecsSupported:()=>KO,isWebRTCSupported:()=>RM,isWebTransportSupported:()=>DM});var bk={};yb(bk,{AUDIO_LEVEL_SCALE:()=>_O,AudioCodecPipelineType:()=>TO,AudioDecoderDowngradeState:()=>$k,AudioPlayerMode:()=>pO,AudioType:()=>iO,BASIC_TYPE:()=>EO,BannedReason:()=>mO,CONNECTION_CLOSED_REASON:()=>Vk,ClientEvent:()=>Fk,CodecType:()=>IO,ConnectionEvent:()=>Uk,ConnectionState:()=>Xk,DECODE_FAILED_ERROR_CODE:()=>AO,FacingMode:()=>dO,LeaveReason:()=>fO,LocalTrackEvent:()=>Hk,MULTI_VIDEO_DATA_TYPE:()=>sO,MediaType:()=>tO,MediaTypeLabel:()=>rO,MonitorEventId:()=>cO,MutedFlag:()=>zk,NetworkQualityValue:()=>lO,PlayerState:()=>jk,ReceiveMode:()=>uO,RemoteStreamType:()=>aO,RemoteTrackEvent:()=>Kk,RoomEvent:()=>Gk,SceneNumber:()=>qk,StreamEvent:()=>Bk,StreamType:()=>nO,SubscribeMediaType:()=>gO,TIMER_TYPE:()=>RO,TRACK_ACTION:()=>eO,TRACK_KIND:()=>Zk,TrackEvent:()=>Wk,UserRole:()=>Yk,UserRoleNumber:()=>Jk,VideoCodec:()=>vO,VideoCodecPipelineType:()=>yO,VideoContentHint:()=>SO,VideoDecoderDowngradeState:()=>Qk,VideoPlayerMode:()=>hO,VideoType:()=>oO});var wk,Dk,Ck,Nk,kk,Ok,Mk,Lk,Pk,xk,Uk=((xk=Uk||{}).TRACK_ADDED="track-added",xk.TRACK_UPDATED="track-updated",xk.TRACK_SUBSCRIBED="track-subscribed",xk.STREAM_ADDED="stream-added",xk.STREAM_REMOVED="stream-removed",xk.STREAM_UPDATED="stream-updated",xk.STREAM_PUBLISHED="stream-published",xk.STREAM_SUBSCRIBED="stream-subscribed",xk.STREAM_UNSUBSCRIBED="stream-unsubscribed",xk.STATE_CHANGED="state-changed",xk.ERROR="error",xk.CONNECTION_STATE_CHANGED="connection-state-changed",xk.FIREWALL_RESTRICTION="firewall-restriction",xk.SEI_MESSAGE="sei-message",xk.CLOSED="closed",xk),Vk=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(Vk||{}),Fk=((Pk=Fk||{}).STREAM_ADDED="stream-added",Pk.STREAM_REMOVED="stream-removed",Pk.STREAM_UPDATED="stream-updated",Pk.STREAM_SUBSCRIBED="stream-subscribed",Pk.CONNECTION_STATE_CHANGED="connection-state-changed",Pk.PEER_JOIN="peer-join",Pk.PEER_LEAVE="peer-leave",Pk.MUTE_AUDIO="mute-audio",Pk.MUTE_VIDEO="mute-video",Pk.UNMUTE_AUDIO="unmute-audio",Pk.UNMUTE_VIDEO="unmute-video",Pk.CLIENT_BANNED="client-banned",Pk.NETWORK_QUALITY="network-quality",Pk.AUDIO_VOLUME="audio-volume",Pk.SEI_MESSAGE="sei-message",Pk.ERROR="error",Pk),Bk=((Lk=Bk||{}).PLAYER_STATE_CHANGED="player-state-changed",Lk.SCREEN_SHARING_STOPPED="screen-sharing-stopped",Lk.CONNECTION_STATE_CHANGED="connection-state-changed",Lk.DEVICE_AUTO_RECOVERED="device-auto-recovered",Lk.ERROR="error",Lk),Hk=(e=>(e.DEVICE_AUTO_RECOVERED="1",e.DEVICE_RECOVER_FAILED="5",e.DEVICE_CHANGED="2",e.ERROR="3",e.PUBLISH_STATE_CHANGED="4",e.ENCODE_FAILED="6",e))(Hk||{}),jk=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(jk||{}),Gk=((Mk=Gk||{}).PEER_JOIN="peer-join",Mk.PEER_LEAVE="peer-leave",Mk.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",Mk.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",Mk.BANNED="banned",Mk.NETWORK_QUALITY="network-quality",Mk.AUDIO_VOLUME="audio-volume",Mk.SEI_MESSAGE="sei-message",Mk.ERROR="error",Mk.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",Mk.REMOTE_PUBLISHED="remote-published",Mk.REMOTE_UNPUBLISHED="remote-unpublished",Mk.FIREWALL_RESTRICTION="firewall-restriction",Mk.HEARTBEAT_REPORT="heartbeat-report",Mk.CUSTOM_MESSAGE="custom-message",Mk.LAYER_DATA="layerData",Mk.FIRST_VIDEO_FRAME="first-video-frame",Mk.DUMP="dump",Mk),Wk=((Ok=Wk||{}).PLAYER_STATE_CHANGED="player-state-changed",Ok.MUTE="mute",Ok.UNMUTE="unmute",Ok.ERROR="error",Ok.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",Ok.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",Ok.FIRST_VIDEO_FRAME="first-video-frame",Ok),Kk=(e=>(e.DECODE_FAILED="decode-failed",e.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",e))(Kk||{}),zk=(e=>(e[e.VIDEO=1]="VIDEO",e[e.SMALL=2]="SMALL",e[e.AUX=4]="AUX",e[e.AUDIO=8]="AUDIO",e[e.VIDEO_MUTE=16]="VIDEO_MUTE",e[e.AUX_MUTE=32]="AUX_MUTE",e[e.AUDIO_MUTE=64]="AUDIO_MUTE",e))(zk||{}),qk=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(qk||{}),Jk=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(Jk||{}),Yk=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(Yk||{}),Xk=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(Xk||{}),$k=((kk=$k||{}).INITIALIZED="INITIALIZED",kk.STARTING="STARTING",kk.STARTED="STARTED",kk.FAILED="FAILED",kk),Qk=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(Qk||{}),Zk=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(Zk||{}),eO=(e=>(e.ADD="add",e.REMOVE="remove",e))(eO||{}),tO=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(tO||{}),rO={1:"audio",2:"auxVideo",4:"video"},iO=((Nk=iO||{})[Nk.opus=111]="opus",Nk),oO=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(oO||{}),nO=(e=>(e.Big="big",e.Small="small",e))(nO||{}),aO=(e=>(e.Main="main",e.Aux="auxiliary",e))(aO||{}),sO=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(sO||{}),cO=((Ck=cO||{})[Ck.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",Ck[Ck.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",Ck[Ck.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",Ck[Ck.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",Ck[Ck.MUTE_AUDIO=32772]="MUTE_AUDIO",Ck[Ck.MUTE_VIDEO=32773]="MUTE_VIDEO",Ck[Ck.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",Ck[Ck.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",Ck[Ck.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",Ck[Ck.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",Ck[Ck.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",Ck[Ck.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",Ck[Ck.SWITCH_CAMERA=32780]="SWITCH_CAMERA",Ck[Ck.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",Ck[Ck.REPLACE_VIDEO=32782]="REPLACE_VIDEO",Ck[Ck.REPLACE_AUDIO=32783]="REPLACE_AUDIO",Ck[Ck.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",Ck[Ck.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",Ck[Ck.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",Ck[Ck.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",Ck[Ck.JOIN=32788]="JOIN",Ck[Ck.LEAVE=32789]="LEAVE",Ck[Ck.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",Ck[Ck.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",Ck[Ck.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",Ck[Ck.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",Ck[Ck.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",Ck[Ck.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",Ck[Ck.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",Ck[Ck.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",Ck[Ck.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",Ck[Ck.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",Ck[Ck.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",Ck[Ck.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",Ck[Ck.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",Ck[Ck.PUBLISH_AUX=32805]="PUBLISH_AUX",Ck[Ck.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",Ck[Ck.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",Ck[Ck.VIDEO_ENCODER=4004]="VIDEO_ENCODER",Ck[Ck.VIDEO_DECODER=4005]="VIDEO_DECODER",Ck),lO=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(lO||{}),uO=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(uO||{}),dO=(e=>(e.user="user",e.environment="environment",e))(dO||{}),hO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(hO||{}),pO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(pO||{}),mO=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(mO||{}),fO=((Dk=fO||{})[Dk.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",Dk[Dk.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",Dk[Dk.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",Dk[Dk.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",Dk[Dk.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",Dk[Dk.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",Dk[Dk.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",Dk),_O=1e8,gO=class{constructor(){Ab(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},EO=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(EO||{}),vO=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e))(vO||{}),yO=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(yO||{}),TO=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(TO||{}),IO=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(IO||{}),AO=((wk=AO||{})[wk.SUCCESS=0]="SUCCESS",wk[wk.FAILED=1]="FAILED",wk[wk.WEBCODEC_INIT=2]="WEBCODEC_INIT",wk[wk.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",wk[wk.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",wk[wk.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",wk[wk.WASM_INIT=6]="WASM_INIT",wk[wk.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",wk[wk.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",wk[wk.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",wk[wk.TEST=10]="TEST",wk[wk.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",wk),SO=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(SO||{}),RO=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(RO||{}),bO={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},wO={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},DO=(e,t)=>t?"".concat(ew,"/").concat(e,"/").concat(t):"".concat(ew,"/").concat(e,"/index.html"),CO=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(nw);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function NO(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";UD(wO[t])?n=wO[t](r):FD(wO[t])&&(n=wO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=CO();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(UD(l[t])?s=l[t](r):FD(l[t])&&(s=l[t]));let u=n;return OD()&&(c&&c[t]&&(UD(c[t])?a=c[t](r):FD(c[t])&&(a=c[t])),a&&(u=o?"".concat(a,"\n请查看文档: ").concat(DO("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),u+=n)),o&&(u+=" \nRefer to: ".concat(DO("en",s),"\n")),u}var kO,OO=Tb(Nb(),1),MO=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Ab(this,"countMap",new Map),Ab(this,"distributionMap",new Map),Ab(this,"version"),Ab(this,"log",Ik.createLogger({id:"kv"})),e&&(Ek.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===_w.AUDIO?501700:511700,cost:r})})),Ek.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===_w.AUDIO?501700:511700,error:r})})))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:fC(this.version||Hb),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}}))};return this.countMap.clear(),this.distributionMap.clear(),e}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1}=e;var n;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let a=(null==(n=this.distributionMap)?void 0:n.get(t))||new Map,s=0;if(BD(i))s=Math.floor(r/i);else for(let c=i.length-1;c>0;c--)if(r>i[c]){s=c;break}a.set(s,(a.get(s)||0)+1),this.distributionMap.set(t,a)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=Ob.UNKNOWN;r&&(BD(r)?i=r:(!VD(r.extraCode)||!VD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},LO=((kO=LO||{})[kO.enterRoom=500700]="enterRoom",kO[kO.exitRoom=500701]="exitRoom",kO[kO.switchRole=500702]="switchRole",kO[kO.destroy=500703]="destroy",kO[kO.startLocalAudio=500704]="startLocalAudio",kO[kO.updateLocalAudio=500705]="updateLocalAudio",kO[kO.stopLocalAudio=500706]="stopLocalAudio",kO[kO.startLocalVideo=500707]="startLocalVideo",kO[kO.updateLocalVideo=500708]="updateLocalVideo",kO[kO.stopLocalVideo=500709]="stopLocalVideo",kO[kO.startScreenShare=500710]="startScreenShare",kO[kO.updateScreenShare=500711]="updateScreenShare",kO[kO.stopScreenShare=500712]="stopScreenShare",kO[kO.startRemoteVideo=500713]="startRemoteVideo",kO[kO.updateRemoteVideo=500714]="updateRemoteVideo",kO[kO.stopRemoteVideo=500715]="stopRemoteVideo",kO[kO.muteRemoteAudio=500716]="muteRemoteAudio",kO[kO.setRemoteAudioVolume=500717]="setRemoteAudioVolume",kO[kO.use=500718]="use",kO[kO.sendSEIMessage=5e5]="sendSEIMessage",kO[kO.sendCustomMessage=500001]="sendCustomMessage",kO),PO=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e))(PO||{}),xO=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e))(xO||{}),UO=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e))(UO||{}),VO=new MO(!0),FO=new MO(!1),BO=VO,HO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},jO=new Map([[WC,["Firefox",KC]],[YC,["Edg",XC]],[GN,["Chrome",zN]],[qN,["Safari",YN]],[rN,["TBS",iN]],[oN,["XWEB",nN]],[lN&&UC,["WeChat",uN]],[mN,["QQ(Win)",fN]],[hN,["QQ(Mobile)",pN]],[dN,["QQ(Mobile X5)",pN]],[_N,["QQ(Mac)",gN]],[EN,["QQ(iPad)",vN]],[wN,["MI",DN]],[CN,["HW",ON]],[MN,["Samsung",LN]],[PN,["OPPO",xN]],[UN,["VIVO",VN]],[qC,["EDGE",JC]],[QC,["SogouMobile",ZC]],[eN,["Sogou",tN]]]);function GO(){let e=jO.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var WO=function(){return!(RN||qC||YC&&$C<80||WC&&zC<56)},KO=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder","MediaStreamTrackGenerator"].every((e=>e in window))},zO=function(){if(!navigator.mediaDevices)return JO()||Ik.error(wO.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},qO=!1;function JO(){return"http:"===location.protocol&&!rk&&(qO||Ik.error(NO({key:bO.NOT_SUPPORTED_HTTP})),qO=!0,!0)}var YO=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},XO=function(){return Rb(this,null,(function*(){if(HO.detail.isH264EncodeSupported&&HO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:HO.detail.isH264EncodeSupported,isVp8EncodeSupported:HO.detail.isVp8EncodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection,o=document.createElement(_w.CANVAS);o.getContext("2d");let n=o.captureStream(0);return i.addTrack(n.getVideoTracks()[0],n),e=yield i.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),HO.detail.isH264EncodeSupported=t,HO.detail.isVp8EncodeSupported=r,{isH264EncodeSupported:HO.detail.isH264EncodeSupported,isVp8EncodeSupported:HO.detail.isVp8EncodeSupported}}catch(Ww){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},$O=function(){return Rb(this,null,(function*(){if(HO.detail.isH264DecodeSupported&&HO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:HO.detail.isH264DecodeSupported,isVp8DecodeSupported:HO.detail.isVp8DecodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection;return e=yield i.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:r}}catch(Ww){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},QO=EC((()=>Rb(void 0,null,(function*(){if(HO.result&&HO.detail.isH264EncodeSupported&&HO.detail.isVp8EncodeSupported&&HO.detail.isH264DecodeSupported&&HO.detail.isVp8DecodeSupported)return HO;let e=Date.now(),t=WO(),r=RM(),i=KO(),o=zO(),{isH264EncodeSupported:n,isVp8EncodeSupported:a}=yield XO(),{isH264DecodeSupported:s,isVp8DecodeSupported:c}=yield $O();if(!n||!a){let e=yield XO();Ik.warn("detect encode again h264:".concat(n," vp8:").concat(a," result: ").concat(JSON.stringify(e))),n=e.isH264EncodeSupported,a=e.isVp8EncodeSupported}if(n&&s&&BC&&jN&&!oN&&!rN){let{encode:e,decode:t}=yield function(){return Rb(this,null,(function*(){return tM||(tM=new Promise((e=>Rb(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),u.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),u=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>u.addIceCandidate(e.candidate))),u.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let d=yield l.createOffer();yield l.setLocalDescription(d),yield u.setRemoteDescription(d);let h=yield u.createAnswer(),p=OO.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=OO.default.write(p),yield u.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Rb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),u.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===_w.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===_w.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),Ik.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&Ik.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(ck)),e))),tM)}))}();n=e,s=t}return HO.result=t&&r&&o&&(n||a)&&(s||c),HO.detail.isBrowserSupported=t,HO.detail.isWebRTCSupported=r,HO.detail.isWebCodecsSupported=i,HO.detail.isMediaDevicesSupported=o,HO.detail.isScreenShareSupported=eM(),HO.detail.isSmallStreamSupported=cM(),HO.detail.isH264EncodeSupported=n,HO.detail.isVp8EncodeSupported=a,HO.detail.isH264DecodeSupported=s,HO.detail.isVp8DecodeSupported=c,HO.result||Ik.error("".concat(navigator.userAgent," ").concat(dC(HO.detail,!1))),Sk.setItem(kM,{ua:navigator.userAgent,checkResult:HO}),BO.addNumber({key:523800,value:Date.now()-e}),HO})))),ZO=function(){return HO.result},eM=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},tM=null;var rM=(e,t,r)=>{"http:"===location.protocol&&!rk&&(e[t]=()=>{throw new Lb({code:Ob.INVALID_OPERATION,message:wO.NOT_SUPPORTED_HTTP})})},iM=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(HD(e.selected)&&!e.selected)};function oM(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function nM(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function aM(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function sM(){return"captureStream"in HTMLCanvasElement.prototype}function cM(){return!(lN||FC||KN&&KN<63)&&!(!WO()||!sM())}var lM=function(){if(VD(window.RTCRtpTransceiver)||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:Xw}),e.addTransceiver(_w.AUDIO),t=!0}catch(Gb){}return null==e||e.close(),t};function uM(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function dM(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function hM(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function pM(){return 11!==QN&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var mM=!(!pM()||jN&&KN<86);function fM(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var _M="RTCRtpSender"in window;function gM(){return _M&&"replaceTrack"in window.RTCRtpSender.prototype}function EM(){return _M&&"setParameters"in window.RTCRtpSender.prototype&&dM()}var vM="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,yM=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,TM=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,IM=_M&&"createEncodedStreams"in window.RTCRtpSender.prototype&&HN()>=86,AM="RTCRtpScriptTransform"in window,SM=_M&&(IM||AM),RM=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function bM(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return VD(window.AudioDecoder)||(e.AudioDecoder=!0),VD(window.AudioEncoder)||(e.AudioEncoder=!0),VD(window.VideoDecoder)||(e.VideoDecoder=!0),VD(window.VideoEncoder)||(e.VideoEncoder=!0),VD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function wM(){return"mediaSession"in navigator&&!VD(navigator.mediaSession.setActionHandler)}function DM(){return!VD(window.WebTransport)}function CM(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function NM(){let e={browser:"".concat(ok.name,"/").concat(ok.version),os:hk(),displayResolution:oM(),isScreenShareSupported:eM(),isWebRTCSupported:RM(),isGetUserMediaSupported:nM(),isWebAudioSupported:aM(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:bM(),isMediaSessionSupported:wM(),isWebTransportSupported:DM()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var kM="checkResult";function OM(){JO();let e=Sk.getItem(kM);e&&e.ua===navigator.userAgent&&(HO=e.checkResult),QO()}function MM(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var LM="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype,PM=Tb(bb(),1),xM=Symbol("instance"),UM=Symbol("cacheResult"),VM=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,GM.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},FM=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var BM=new Map;function HM(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=BM.get(i)||[];BM.has(i)||BM.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=WM.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[UM]:Promise.resolve(i[UM]);i.state instanceof VM&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof VM&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new FM(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new FM(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return u(l);let d=i.state,h=new VM(d,t,a);GM.call(i,h);let p=e=>{var o;return i[UM]=e,h.aborted||(GM.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[UM])),e},m=e=>(GM.call(i,d,e),u(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(Pk){return m(new FM(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(Pk),Pk instanceof Error?Pk:new Error(String(Pk))))}}}}var jM="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function GM(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(WM.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var WM=class e extends PM.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[xM];o?this.name=o.name+"-"+o.count++:i[xM]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=BM.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);BM.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};jM(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){GM.call(this,e)}};WM.STATECHANGED="stateChanged",WM.UPDATEAFSM="updateAFSM",WM.INIT="[*]",WM.ON="on",WM.OFF="off",WM.instances=new Map,WM.instances2=new WeakMap;var KM="undefined"!=typeof window,zM=KM&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},qM=KM&&window.cancelIdleCallback||function(e){clearTimeout(e)},JM=KM&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),YM=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=gb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=Eb(gb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(i.loopCount+=1,e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):i.callback())}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=$D(),o=()=>{if(r=$D()-i,r>=t.delay&&(i=$D()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=zM(o,{timeout:t.delay})};return t.ricID=zM(o,{timeout:t.delay})}static raf(t){let r,i=$D(),o=()=>document.hidden&&t.backgroundTask?(r=$D()-i,i=$D(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=$D()-i,r>=t.delay&&(i=$D()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=$D()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n,worker:a}=this.taskMap.get(e);return a&&a.terminate(),t&&clearInterval(t),r&&clearTimeout(r),i&&JM&&JM(i),o&&qM(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Ab(YM,"taskMap",new Map),Ab(YM,"currentTaskID",1),Ab(YM,"sharedWorker",null),Ab(YM,"workerTasks",new Map);var XM=YM;_w.SEI_MESSAGE;var $M={LOADED_DATA:_w.LOADEDDATA,LOADED_META_DATA:_w.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error"},QM={};yb(QM,{create:()=>eL,remove:()=>tL});var ZM=new WeakMap;function eL(e,t){ZM.has(e)||ZM.set(e,[]);let r=ZM.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function tL(e){let t=ZM.get(e);t&&(t.forEach((e=>e())),ZM.delete(e))}var rL=new class{constructor(){Ab(this,"_roomIdMap",new Map),Ab(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:Hb,env:sw.QCLOUD,browserVersion:ok.name+ok.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){rk||!Ik.isAbleToUpload||this._configs.env===sw.QCLOUD&&this.uploadEventToKibana(Eb(gb({},e),{result:"success"}))}logFailedEvent(e){if(rk||!Ik.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||Ob.UNKNOWN};this._configs.env===sw.QCLOUD&&this.uploadEventToKibana(Eb(gb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:xb(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:Hb,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack))),this.sendRequest(yD(this._configs.sdkAppId,aw.LOG),o)}sendRequest(e,t){setTimeout((()=>yC({url:e,body:JSON.stringify(t),priority:"low"}).catch((()=>{}))),2e3)}},iL=new WeakMap;function oL(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=bC({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=iL.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=iL.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;AC(i)&&i.call(this,t,r),null!=(o=iL.get(e))&&o.has(n)&&(iL.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=iL.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):iL.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=iL.get(e))?void 0:t.delete(n)}))},a}}var nL=class extends WM{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,Ab(this,"id"),Ab(this,"element",null),Ab(this,"track"),Ab(this,"url"),Ab(this,"attr"),Ab(this,"mode"),Ab(this,"muted"),Ab(this,"_log"),Ab(this,"_pausedRetryCount"),Ab(this,"_isElementPlayingFired",!1),Ab(this,"_interval"),Ab(this,"_delayDestroyTimeoutId",0),Ab(this,"_playSuccessResolve"),Ab(this,"_isReplayByRecreateMediaStreamCalled",!1),Ab(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=cD,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&(!1===(null==(e=this.element)?void 0:e.paused)||this.track&&"live"===this.track.readyState&&!this.track.muted)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return Rb(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(Gb){let t=NO({key:bO.PLAY_FAILED,data:{media:this.kind,error:Gb}});if(this.track&&!this.track.muted&&this._log.warn(Gb),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new Lb({code:Ob.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!JN?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(_w.ENDED),this._interval>0&&XM.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():ek?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return eL(this.element,this.element).add(_w.PLAYING,e).add(_w.ENDED,e).add(_w.PAUSE,e).add(_w.ERROR,e).add(_w.LOADEDDATA,e).add(_w.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==QM||QM.create(e,e).add(_w.ENDED,t).add(_w.MUTE,t).add(_w.UNMUTE,t),e.readyState===_w.ENDED&&this.handleTrackEvent({type:_w.ENDED}),e.muted&&this.handleTrackEvent({type:_w.MUTE})}}bindAutoPlayEvent(){Ek.on(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&tL(e)}unbindEvents(){this.element&&tL(this.element),this.unbindTrackEvents(),Ek.off(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case _w.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(_w.PLAYING),this._interval&&(XM.clearTask(this._interval),this._interval=-1);break;case _w.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(_w.ENDED);break;case _w.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(_w.PAUSE),FC&&(this._interval=XM.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case _w.ERROR:if(this.element&&this.element.error){this.handlePaused(_w.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),rL.uploadEvent({log:"stat-".concat(this.kind,"-").concat(zw.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),kN||NN?this.emit($M.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case _w.LOADEDDATA:this.kind===_w.VIDEO&&this.emit($M.LOADED_DATA);break;case _w.LOADEDMETADATA:this.kind===_w.VIDEO&&this.emit($M.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),rL.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),BO.addSuccessEvent({key:this.kind===_w.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),rL.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),BO.addFailedEvent({key:this.kind===_w.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit($M.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{gC(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),gC(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){switch(e.type){case _w.ENDED:this.handleStopped(_w.ENDED);break;case _w.MUTE:this.handlePaused(_w.MUTE);break;case _w.UNMUTE:this._isElementPlayingFired?this.handlePlaying(_w.UNMUTE):this.mode>0&&this.handlePlaying(this.mode.toString())}}handlePlaying(e){var t;null==(t=this._playSuccessResolve)||t.call(this,e),this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit($M.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};Ib([oL({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],nL.prototype,"doReplayByRecreateMediaStream",1),Ib([HM([],"PLAYING",{sync:!0})],nL.prototype,"handlePlaying",1),Ib([HM("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],nL.prototype,"handlePaused",1),Ib([HM([],"STOPPED",{sync:!0})],nL.prototype,"handleStopped",1);var aL,sL="trtc_autoplay",cL="".concat(sL,"_mask"),lL="".concat(sL,"_wrapper"),uL="".concat(sL,"_header"),dL="".concat(sL,"_content"),hL="".concat(sL,"_action_wrapper"),pL="".concat(sL,"_question"),mL="".concat(sL,"_collapse"),fL="".concat(sL,"_action_confirm"),_L="".concat(sL,"_detail"),gL="#2473E8",EL="dialog",vL="".concat(EL,"-show"),yL="".concat(EL,"-1"),TL="".concat(EL,"-2"),IL=!1,AL=()=>!!document.querySelector(".".concat(lL)),SL="".concat(ew,"/").concat(OD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),RL="<br><a href='".concat(SL,"' target='_blank'>").concat(OD()?"其他方案?":"Any other solution?","</a>"),bL="".concat(OD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(RL):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(RL)),wL=class{constructor(){if(Ab(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Ab(this,"_dialogNode",null),Ab(this,"_bodyPosition",""),Ab(this,"_showDetail",!1),Ab(this,"_isCollapseClicked",!1),Ab(this,"_isQuestionClicked",!1),OD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!IL){let e=document.createElement("style");e.innerHTML=".".concat(cL,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(cL," div:not(.").concat(hL,"){display:block !important;}.").concat(lL,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(lL," a{color:").concat(gL,";}.").concat(uL,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(dL,"{margin:8px 0;}.").concat(hL,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(mL,"{margin-right:auto;cursor:pointer}.").concat(pL,"{height:100%;line-height:16px;cursor:pointer;}.").concat(fL,"{margin-left:8px;color:#fff;background:").concat(gL,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(fL,":hover{opacity:0.9;}.").concat(mL,",.").concat(fL,",.").concat(dL,",.").concat(pL,"{font-size:14px;}@media screen and (max-width:750px){.").concat(lL,"{width:80vw;}}"),document.head.appendChild(e),IL=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(cL,"\"><div class='").concat(lL,"'><div class='").concat(uL,"'>").concat(location.host,"</div><div class='").concat(dL,"'>").concat(this.content,"</div><div class='").concat(_L,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(bL,"</div><div class='").concat(hL,"'></div></div></div>").trim();let t=document.createElement("button");t.className=fL,t.innerText=OD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=pL,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=mL,i.innerText="".concat(OD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(hL));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){AL()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(lL)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",Ik.info("show autoplay dialog"),rL.uploadEvent({log:vL}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){Ik.warn("confirm clicked, try resume stream"),Ek.emit(yk.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(_L));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||rL.uploadEvent({log:yL}),this._isCollapseClicked=!0}onQuestionClick(){window.open(SL,"_blank"),this._isQuestionClicked||rL.uploadEvent({log:TL}),this._isQuestionClicked=!0}},DL=class extends nL{constructor(e){super(e,_w.VIDEO),Ab(this,"stat",{}),Ab(this,"_calculateTimeout",-1),Ab(this,"viewMirror",!1),Ab(this,"objectFit"),Ab(this,"container"),Ab(this,"canvas"),Ab(this,"canvasTrack"),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,VD(e.viewMirror)||(this.viewMirror=e.viewMirror),VD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}initializeElement(){var e;let t=document.createElement(_w.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,(this.track||this.canvasTrack)&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(_w.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(_w.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleTrackEvent(e){var t;super.handleTrackEvent(e),e.type===_w.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0)}handleElementEvent(e){var t;if(2===this.mode)return;super.handleElementEvent(e);let r=e.type;if(r===_w.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this._pausedRetryCount>0&&!AL()&&(this._log.info("".concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;r===_w.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):r===_w.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(MM()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(Gb){this._log.warn("init stat failed",Gb)}}};function CL(e,t){return Rb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),Ik.info("worklet addModule success")}catch(Gb){throw Ik.info("worklet addModule catch error. ".concat(Gb.message)),Gb}}))}"undefined"!=typeof AudioContext?aL=AudioContext:"undefined"!=typeof webkitAudioContext?aL=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(aL=mozAudioContext);var NL,kL=-1;!function e(){try{if(NL)return;(NL=new aL({sampleRate:48e3})).onstatechange=()=>{Ik.info("context state: ".concat(NL.state).concat("running"!==NL.state?" visibilityState: ".concat(document.visibilityState):"")),OL()},clearTimeout(kL)}catch(oF){Ik.error("initAudioContext failed: ".concat(oF," typeof AudioContextClass: ").concat(typeof aL)),kL=setTimeout(e,1e3)}}();var OL=()=>{"suspended"===NL.state?(PL(),document.addEventListener("click",OL)):"interrupted"===NL.state?PL():(document.removeEventListener("visibilitychange",OL),document.removeEventListener("click",OL))},ML=0,LL=-1;function PL(){return new Promise(((e,t)=>{if("running"===NL.state)return e();Date.now()-ML<1e3?(clearTimeout(LL),LL=setTimeout((()=>{ML=Date.now(),NL.resume().then(e,t)}),1e3)):(clearTimeout(LL),ML=Date.now(),NL.resume().then(e,t))})).catch((e=>{Ik.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",OL)}))}document.addEventListener("click",OL);var xL=e=>NL,UL=class{constructor(){Ab(this,"node"),Ab(this,"node2"),Ab(this,"pre",new Set),Ab(this,"next",new Set),Ab(this,"context"),Ab(this,"connectedNodes",new Set)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.preNodeReconnect(),this.reconnect()}catch(Ww){Ik.error(Ww)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,t&&(this.node2=t),this.preNodeReconnect(),this.reconnect(),BO.addSuccessEvent({key:502701})}catch(kk){Ik.error(kk),BO.addFailedEvent({key:502701,error:kk})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),BO.addSuccessEvent({key:502702})}catch(Gb){Ik.error(Gb),BO.addFailedEvent({key:502702,error:Gb})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{e._connect(t.node)||t.connectNext(e)}))}_connect(e){return!(!this.node||!e)&&((this.node2||this.node).connect(e),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.forEach((e=>{this.next.add(e),e.pre.add(this)})),this}},VL=class extends UL{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Ab(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},FL=class{constructor(){Ab(this,"source",new UL),Ab(this,"gain",new UL),Ab(this,"destination",new UL)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(xL().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(GL(e))}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},BL=class extends FL{constructor(e){super(),this.context=e,Ab(this,"denoiser",new UL),Ab(this,"voiceChanger",new UL),this.source.pipeTo(this.denoiser.pipeTo(this.voiceChanger.pipeTo(this.gain.pipeTo(this.destination))))}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},HL=class{constructor(){Ab(this,"audioContext",xL()),Ab(this,"destination",this.audioContext.createMediaStreamDestination()),Ab(this,"inputs",new Set),Ab(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},jL=new WeakMap;function GL(e){let t=jL.get(e);if(t)return t;let r=xL();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return jL.set(e,t),t}var WL=class e{constructor(e){Ab(this,"_volume",0),Ab(this,"_volumeDb",0),Ab(this,"_log"),Ab(this,"_scriptProcessorNode",null),Ab(this,"_audioWorkletNode",null),Ab(this,"_interval",200),Ab(this,"ready",this.preload());let{log:t}=e;this._log=t,Ek.on(yk.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=CL(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(Nk){this._log.error("volumeMeter init audio worklet error: ".concat(Nk)),rL.logFailedEvent({userId:this._log.userId,eventType:zw.LOAD_WORKLET,error:Nk}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=xL().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(Nk){this._log.error("volumeMeter init script processor error: ".concat(Nk))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,Ek.off(yk.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};Ab(WL,"lastMessageTime",0),Ab(WL,"audioContext",xL()),Ab(WL,"workletReady");var KL=WL,zL=class extends UL{constructor(e){super(),Ab(this,"_volumeMeter"),this._volumeMeter=new KL(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Rb(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},qL=KL,JL=Tb(bb(),1),YL=e=>t=>t.deviceId===e,XL=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";Ab(this,"kind"),Ab(this,"type"),Ab(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&ZL(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(YL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");Ik.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(YL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");Ik.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},$L=class extends JL.EventEmitter{constructor(){super(),Ab(this,"audioInputs",new XL(_w.AUDIO)),Ab(this,"videoInputs",new XL(_w.VIDEO)),Ab(this,"audioOutputs",new XL(_w.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||XM.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){eP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield eP(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}},QL=zb||Kb?null:new $L;function ZL(e){return e.deviceId===e.groupId&&""===e.groupId}function eP(){return Rb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(JO()||!zO())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{ZL(e)&&(e.kind===_w.AUDIO_INPUT?r.audio=!0:e.kind===_w.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&PL()}catch(kk){Ik.debug("capture before getDevices failed: ",kk)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&nP.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function tP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return QL.update(e?1:0).then((e=>e.audioInputs.devices))}function rP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return QL.update(e?2:0).then((e=>e.videoInputs.devices))}var iP=!1;function oP(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Rb(this,null,(function*(){return(FC||qN)&&(e=!1),QL.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var nP=new Set;function aP(e,t){return Rb(this,null,(function*(){let r=(yield tP()).find((e=>e.deviceId===lD));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var sP,cP=class extends FL{constructor(e){super(),this.log=e,Ab(this,"volumeMeter"),Ab(this,"volumeDestination"),Ab(this,"analyser",new VL),this.volumeMeter=new zL({log:this.log}),this.volumeDestination=new UL,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},lP=class e extends nL{constructor(e){super(e,_w.AUDIO),Ab(this,"_outputDeviceId"),Ab(this,"_volume",1),Ab(this,"_destination",xL().createMediaStreamDestination()),Ab(this,"pipeline"),Ab(this,"volumeMeterMode","worklet"),this.mode=0,this.pipeline=new cP(this._log)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===$N||"15.3"===$N||"15.4"===$N)&&this.muted)return void this._log.info("audioElement is muted.");let t=sP||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,BD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===sP&&(sP=void 0),this.bindElementEvents()}play(t){return Rb(this,null,(function*(){if(this.track)return this.pipeline.source.node||this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?this.pipeline.volumeMeter.init():"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(xL().createAnalyser()),function(){Rb(this,null,(function*(){try{iP||(iP=!0,Ik.info("speakers:".concat((yield oP()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),Sb(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setSinkId(e){return Rb(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}},uP=class extends lP{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}},dP=class extends lP{constructor(e){super(e),Ab(this,"_sourceElement"),Ab(this,"_output",new UL),this.pipeline.source.pipeTo(this.pipeline.gain.pipeTo(this.pipeline.volumeMeter.pipeTo(this._output),this.pipeline.destination))}setOutput(){this.mode=1,this._output.setNode(xL().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit($M.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):FC||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),tL(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play()))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&JN&&(sP=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},hP=class extends WM{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?dP:DL)}=e;var a;super(),Ab(this,"id",Ak()),Ab(this,"userId",""),Ab(this,"isRemote"),Ab(this,"mediaType"),Ab(this,"room"),Ab(this,"user"),Ab(this,"_log"),Ab(this,"_inputTrack"),Ab(this,"_outputTrack"),Ab(this,"isPlayCalled"),Ab(this,"container",null),Ab(this,"player"),Ab(this,"subVideoPlayerMap"),Ab(this,"muted",!1),Ab(this,"abortCtrl"),Ab(this,"objectFit","cover"),Ab(this,"mirror"),Ab(this,"isScreen",!1),Ab(this,"manager"),Ab(this,"trackSettings"),Ab(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=Ik.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof NP?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof NP}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on($M.PLAYER_STATE_CHANGED,(e=>{Ek.emit(yk.PLAYER_STATE_CHANGED,gb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===_w.VIDEO&&(this.player.on($M.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent($M.LOADED_DATA),Ek.emit(yk.VIDEO_LOADED_DATA,{track:this})})),this.player.on($M.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent($M.LOADED_META_DATA)})),this.player.on($M.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on($M.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||Ik}get kind(){return 1===this.mediaType?_w.AUDIO:_w.VIDEO}get strMediaType(){return 4===this.mediaType?_w.VIDEO:2===this.mediaType?_w.SCREEN:_w.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return Rb(this,null,(function*(){let r=GD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!VD(t.muted)&&this.setPlayerMute(t.muted),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof DL&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),GD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!VD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===_w.VIDEO)&&this.setPlayerMute(!0),t&&!VD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof DL&&(this.player.setObjectFit(this.objectFit),t&&!VD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof DL&&this.player.setContainer(r)),Ek.emit(yk.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),GD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(Lk){throw this.handleAutoPlayFailed(Lk),Lk}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==_w.VIDEO||VD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(HD(this.mirror))return r.setViewMirror(this.mirror),void(i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return Rb(this,null,(function*(){if(!this._outputTrack||this.kind===_w.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(VD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new DL({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(SC(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Rb(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),Ek.emit(e?yk.TRACK_MUTED:yk.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){eL(e,e).add(_w.MUTE,this.onTrackMuted).add(_w.UNMUTE,this.onTrackUnmuted).add(_w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===_w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){tL(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(SC(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new wL;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof DL?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===$M.LOADED_META_DATA&&!n&&!a||(e===$M.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};Ib([HM([],WM.INIT,{sync:!0})],hP.prototype,"close",1);var pP=Object.prototype.hasOwnProperty;var mP=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(MD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(pP.call(e,t))return!1;return!0}return!1},fP=bC({retryFunction:function(e){return Rb(this,null,(function*(){let t=function(e){return{audio:gP(e),video:EP(e)}}(e);Ik.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield tP(),Ik.info("microphones: ".concat(uC(r.map((e=>Eb(gb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield rP(),Ik.info("cameras: ".concat(uC(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return TM&&e.getTracks().forEach((e=>{Ik.info("".concat(e.kind," capabilities: ").concat(uC(e.getCapabilities(),{keysToInclude:_D})))})),t.audio&&PL(),e}catch(Lk){let{message:o}=Lk;throw"NotFoundError"===Lk.name&&(e.video&&i&&0===i.length&&(o=NO({key:bO.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=NO({key:bO.MICROPHONE_NOT_FOUND}))),new Lb({code:Ob.INITIALIZE_FAILED,name:Lk.name,message:o,constraint:Lk.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!qN||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&_P(o[0].microphoneId,!1),o[0].cameraId&&_P(o[0].cameraId,!0)},onRetrying:e=>{Ik.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{rL.logFailedEvent({eventType:zw.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{rL.logSuccessEvent({eventType:zw.GET_USER_MEDIA_RETRY}),rL.uploadEvent({log:"stat-".concat(zw.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function _P(e,t){return Rb(this,null,(function*(){let r=(t?yield rP():yield tP()).find((t=>t.deviceId===e));r&&UD(r.getCapabilities)&&Ik.warn(uC(r.getCapabilities(),{keysToInclude:_D}))}))}function gP(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!mP(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(BD(e.channelCount)&&(t.channelCount=e.channelCount),HD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),HD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),HD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!mP(t)||t)}function EP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!mP(r)?r:(e.width&&(r.width={ideal:e.width},t&&!WC&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!WC&&(r.height.max=e.height)),WC&&TN&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!mP(r)||r)}var vP=fP;function yP(e){return TP(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Rb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function TP(e){return function(t,r,i){return i.value=e(i.value,r),i}}var IP=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&Ik.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{Ik.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),AP=0,SP=class{constructor(){Ab(this,"log",Ik.createLogger({id:"fq".concat(++AP)})),Ab(this,"isRunning",!1),Ab(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=gb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},RP=new WeakMap,bP=new WeakMap;function wP(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=bP.get(this)||new Map,a=i.get(n(t))||new SP;return i.set(n(t),a),bP.set(this,i),a.push({fn:o,args:t,context:this})},i}}function DP(e,t){return TP(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=$D();return zD(e)?e.then((e=>(t?BO.addSuccessEvent({key:i,cost:$D()-s}):BO.addSuccessEvent({key:i}),e))).catch((e=>{throw BO.addFailedEvent({key:i,error:e}),e})):(BO.addSuccessEvent({key:i}),e)}catch(Wb){throw BO.addFailedEvent({key:i,error:Wb}),Wb}}))}var CP=class e extends hP{constructor(e,t){super({mediaType:e,PlayerClass:t}),Ab(this,"isRemote",!1),Ab(this,"deviceId"),Ab(this,"groupId",""),Ab(this,"label",""),Ab(this,"_isRecapturing",!1),Ab(this,"_lastRecaptureTime",0),Ab(this,"_onMuteTimeoutId",-1),Ab(this,"_encodeCheckTimeoutId",-1),Ab(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){eL(e,e).add(_w.MUTE,this.onTrackMuted).add(_w.UNMUTE,this.onTrackUnmuted).add(_w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===_w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){tL(e)}setStateToCapture(){}capture(e){return Rb(this,null,(function*(){var t;try{let r,i=$D();Ek.emit(yk.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.mediaTrack)||t.stop(),r=yield vP(e));let o=r.getTracks()[0];return yield this.setInputMediaStreamTrack(o),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),Ek.emit(yk.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:$D()-i}),r}catch(kk){throw Ek.emit(yk.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:kk}),this.log.error("getUserMedia error observed ".concat(kk)),kk}}))}setInputMediaStreamTrack(e){return this.state===WM.INIT&&this.setStateToCapture(),super.setInputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),t}unpublish(){this.room&&this.room.localTracks.delete(this),Ek.emit(yk.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Rb(this,null,(function*(){if(this.mediaTrack&&yM){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:r}=this.mediaTrack;(yield function(e){return Rb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==_w.AUDIO||t!==lD||(yield aP(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),eP().then((t=>{let r=t.find((t=>t.deviceId===e));r&&this.emit("2",r)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===_w.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(_w.AUDIO_INPUT);return!!nP.has(r)}(this.mediaTrack)||this.kind===_w.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(_w.VIDEO_INPUT);return!!nP.has(r)}(this.mediaTrack)||this._isRecapturing||e&&TN&&qN)}onTrackMuted(){if(super.onTrackMuted(),IP(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<fD)return void setTimeout((()=>this.onTrackMuted()),fD);this._onMuteTimeoutId=setTimeout((()=>Rb(this,null,(function*(){var e;if(null!=(e=this.mediaTrack)&&e.muted){if((FC||BC)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Rb(this,null,(function*(){if(Sb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTime<fD)return void setTimeout((()=>this.onTrackEnded()),fD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return Rb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let r={useExactDeviceId:!0};if("user"===e||"environment"===e)r.facingMode=e;else{let t;("audio"===this.kind?yield tP():yield rP()).find((t=>t.deviceId===e))&&(t=e),r.deviceId=t}return this.capture(r).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),Ek.emit(yk.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),Ek.emit(yk.LOCAL_TRACK_RECAPTURE,{track:this,error:e})}))}))}getRecoverCaptureDeviceId(){return Rb(this,null,(function*(){let e=this instanceof xP;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(kP.get(t)||0)+1;if(kP.set(t,r),r>=3){let i=e?(yield rP()).find((e=>!kP.has(e.deviceId))):(yield tP()).find((e=>!kP.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};Ib([HM(WM.INIT,"capture",{ignoreError:!0,sync:!0})],CP.prototype,"setStateToCapture",1),Ib([function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=RP.get(this)||new SP;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return RP.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}()],CP.prototype,"capture",1),Ib([HM("capture","publish",{ignoreError:!0,success(){var e,t;this.room.localTracks.add(this),Ek.emit(yk.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"}),!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===_w.AUDIO,t=this.stat.bytesSent>0;BO[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),t||(BO.addEnum({key:e?503701:513703,value:pk()}),rL.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(uk()||mk()),userId:this.userId}),this.log.warn("encode failed"),this.emit("6",this))}}),5e3))},fail(e){let t="error";if(e.cause instanceof RTCError){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===Ob.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),DP(521714,!1)],CP.prototype,"publish",1),Ib([TP((e=>function(){return Rb(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),HM([],"capture",{sync:!0})],CP.prototype,"unpublish",1);var NP=CP,kP=new Map;Ek.on(yk.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&kP.delete(e.track.deviceId)}));var OP=class e extends NP{constructor(e){super(1,uP),Ab(this,"mediaType",1),Ab(this,"volume",0),Ab(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Ab(this,"playerMuted",!0),Ab(this,"pipeline"),Ab(this,"earMonitorGainNode",new UL),Ab(this,"_output",new UL),Ab(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),this.manager=e,this.pipeline=new BL(e),this.pipeline.gain.pipeTo(this.earMonitorGainNode.pipeTo(this._output),this.player.pipeline.volumeMeter),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this)}get dbVolume(){return qL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}setInputMediaStreamTrack(t){return Rb(this,null,(function*(){let r=this.trackSettings||{};BO.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),BO.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),BO.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.replaceSource(t),yield Sb(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(e){let{deviceId:t,customSource:r,useExactDeviceId:i=!0,retryWhenExactFailed:o=!0}=e;return super.capture({video:!1,audio:!0,microphoneId:t,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExactDeviceId:i,retryWhenExactFailed:o,customSource:r})}switchDevice(e){return Rb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==lD)return;if(yield aP(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),Ek.emit(yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(Ww){throw this.log.error("switch microphone failed ".concat(Ww)),this.deviceId&&this.recapture(this.deviceId),Ww}}}))}listenDeviceChange(){QL&&!QL.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&QL.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Rb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e))),wV(this.userId,{eventId:2003,param1:6,streamType:1});let t=yield tP();t[0]?this.recapture(t[0].deviceId):QL.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return Rb(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=!1;!VD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,e=!0),!VD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,e=!0),!VD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&BO.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),FC&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(xL().createGain()),this._output.setNode(xL().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){if(!this._inputTrack)return;let t=this._inputTrack.getConstraints();return t.noiseSuppression=e,this._inputTrack.applyConstraints(t).catch((t=>this._log.warn("".concat(e?"enable":"disable"," ANS failed "),t)))}addDenoiser(e){var t;KN<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(BO.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}removeDenoiser(e){this.pipeline.denoiser.node===e&&(this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0))}close(){this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),QL.off("audioInputAdded",this.handleMicrophoneAdded,this),QL.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}recapture(t){return Rb(this,null,(function*(){try{yield Sb(e.prototype,this,"recapture").call(this,t)}catch(Ww){let i=(yield tP()).find((e=>e.deviceId!==t));if(!i)throw Ww;yield Sb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}},MP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},LP=class{constructor(){Ab(this,"_seiMessageList",[]),Ab(this,"_smallSeiMessageList",[]),Ab(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new MP(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},PP=class e extends NP{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,DL),Ab(this,"profile",{width:640,height:480,frameRate:15,bitrate:500}),Ab(this,"avoidCropping",!1),Ab(this,"_scaleResolutionDownBy"),Ab(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),Ab(this,"small"),Ab(this,"isNeedToSetBandwidth"),Ab(this,"muteImage"),Ab(this,"manager"),Ab(this,"_seiCodec",new LP),this.manager=e;let t=()=>{this.isAllowed2k4k(this.profile)?this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),this.setProfile(Eb(gb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(yM&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return Rb(this,null,(function*(){var r,i,o;if(FD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t}),this.muteImage=t,Sb(e.prototype,this,"setMute").call(this,!1)}else yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0,Sb(e.prototype,this,"setMute").call(this,t)}))}capture(e){let{deviceId:t,facingMode:r,useExactDeviceId:i=!0,customSource:o,retryWhenExactFailed:n=!0}=e;return super.capture({audio:!1,video:!0,facingMode:r||this.facingMode,cameraId:t,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExactDeviceId:i,retryWhenExactFailed:n,customSource:o})}setProfile(e){let t=gb({},e),r=t.width>t.height;t.width*t.height<=19200&&BC&&jN&&(this.log.warn("resolution is ".concat(t.width,"*").concat(t.height,", fallback to 240*180")),t.width=r?240:180,t.height=r?180:240,t.bitrate=Math.max(t.bitrate,150)),t.width*t.height>921600&&tk&&(t.width=r?1280:720,t.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),this.avoidCropping&&(jN||WC)&&!sk()&&t.width*t.height<=230400&&t.width/t.height==16/9&&(this._scaleResolutionDownBy=1280/t.width,t.width=1280,t.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),t.bitrate&&(this.isNeedToSetBandwidth=t.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(t):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(Eb(gb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Rb(this,null,(function*(){var e;if(!this.mediaTrack)return;let t=this.settings;return(t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate)&&this.deviceId&&(16===QN?yield this.recapture(this.deviceId):(yield null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth)?(this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:_w.VIDEO,videoType:_w.BIG})):void 0}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return yM&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}get scaleResolutionDownBy(){if(this._scaleResolutionDownBy)return this._scaleResolutionDownBy;let{settings:e}=this;return e.width===this.profile.width&&e.height===this.profile.height?1:pC()&&this.profile.width>this.profile.height&&e.height>e.width?Math.max(e.width/this.profile.height,e.height/this.profile.width,1):Math.max(e.width/this.profile.width,e.height/this.profile.height,1)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return Rb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e))return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.mediaTrack.stop(),yield this.capture(t),Ek.emit(yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(Ww){throw this.log.error("switch camera failed ".concat(Ww)),this.deviceId&&this.recapture(this.deviceId),Ww}}))}listenDeviceChange(){QL&&!QL.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&QL.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Rb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e))),wV(this.userId,{eventId:2003,param1:7,streamType:2});let t=yield rP();t[0]?this.recapture(t[0].deviceId):QL.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Rb(this,null,(function*(){this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return VD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){QL.off("videoInputAdded",this.handleCameraAdded,this),QL.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Rb(this,null,(function*(){try{yield Sb(e.prototype,this,"recapture").call(this,t)}catch(Ww){let i=(yield rP()).find((e=>e.deviceId!==t));if(!i)throw Ww;yield Sb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}};Ib([yP((function(e){this.setContentHint(e.contentHint||"motion")}))],PP.prototype,"capture",1);var xP=PP,UP=Ak();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:UP,exposeOrigin:!0,permittedOrigins:["*"]})}catch(oF){}var VP=function(e){return Rb(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:qN?{max:e.width}:{ideal:e.width,max:e.width},height:qN?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);Ik.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(GN&&KN<74||qN||WC)&&Ik.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(Lk){Ik.warn("screen applyConstraints failed: ".concat(Lk))}e.captureElement&&(yield function(e,t){return Rb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&UD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==UP)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){Ik.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return VD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);Ik.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},FP=class extends xP{constructor(e){super(e,2),Ab(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Ab(this,"objectFit","contain"),Ab(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}capture(e){return Rb(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):e=yield VP({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof Lb?e:new Lb({code:Ob.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return Rb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Ib([yP((function(e){this.setContentHint(e.contentHint||"detail")}))],FP.prototype,"capture",1);var BP,HP=class extends OP{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}};function jP(e){return Rb(this,null,(function*(){let t=xL();BP||(BP=CL(t,URL.createObjectURL(new Blob(["registerProcessor('dumper', class extends AudioWorkletProcessor {process(inputs) {this.port.postMessage(inputs);return true;}});"],{type:"application/javascript"})))),yield BP;let r=new AudioWorkletNode(t,"dumper",{numberOfInputs:e.length,numberOfOutputs:0});return e.forEach(((e,t)=>e.connect(r,0,t))),new ReadableStream({start(e){r.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(r))),r.port.close()}})}))}var GP=class extends HL{constructor(e){super(),this.room=e,Ab(this,"_localAudioTrack"),Ab(this,"_localScreenAudioTrack"),Ab(this,"log",Ik.createLogger({id:"am"})),Ab(this,"denoiser"),Ab(this,"voiceChanger"),Ab(this,"mixChangedDebounce"),Ab(this,"encodePipeline",[]),Ab(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId))}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=jP(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e){var t;if(VD(WritableStream))return void this.log.warn("getPCM failed: browser not support WritableStream");if(null==(t=this._localAudioPipline)||!t.source.node)return void this.log.warn("getPCM failed: no local audio track");this.log.warn("getPCM");let r=new Float32Array(1920),i=0,o=new AbortController;return jP([this._localAudioPipline.source.node]).then((t=>t.pipeTo(new WritableStream({write(t){t[0][0]&&(r.set(t[0][0],i),i+=t[0][0].length,i>=1920&&(i=0,e(r),r=new Float32Array(1920)))}}),o).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),o}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return!VD(this._localAudioTrack)}changeInput(e){return e instanceof HP?(this._localScreenAudioTrack=e,e.pipeline.connect(),this.mixOnChange()):e instanceof OP?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),e.pipeline.connect(),this.mixOnChange()):e instanceof nV?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof HP?delete this._localScreenAudioTrack:e instanceof OP&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}removeDenoiser(e){var t;delete this.denoiser,null==(t=this._localAudioTrack)||t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}destroy(){this.close()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};var WP={};function KP(){}yb(WP,{Events:()=>ax,Inspect:()=>$P,LastSink:()=>QP,Sink:()=>ZP,Subscribe:()=>ex,TimeoutError:()=>sx,audit:()=>dU,bindCallback:()=>Bx,bindNodeCallback:()=>Hx,buffer:()=>yx,bufferCount:()=>vx,bufferTime:()=>JU,call:()=>zP,catchError:()=>XU,combineLatest:()=>fx,concat:()=>hx,concatMap:()=>xU,concatMapTo:()=>UU,count:()=>qx,create:()=>rx,debounce:()=>mU,debounceTime:()=>fU,defer:()=>Ax,delay:()=>YU,deliver:()=>ix,dispose:()=>JP,elementAt:()=>_U,empty:()=>Wx,every:()=>TU,exhaustMap:()=>WU,exhaustMapTo:()=>KU,filter:()=>$x,find:()=>gU,findIndex:()=>EU,first:()=>vU,fromAnimationFrame:()=>Vx,fromArray:()=>wx,fromEvent:()=>Ox,fromEventPattern:()=>kx,fromFetch:()=>Lx,fromIterable:()=>Px,fromPromise:()=>Mx,fromReadableStream:()=>Ux,fromReader:()=>xx,groupBy:()=>zU,identity:()=>qP,ignoreElements:()=>Qx,iif:()=>mx,inspect:()=>YP,interval:()=>Dx,last:()=>yU,map:()=>RU,mapTo:()=>bU,max:()=>Jx,merge:()=>ux,mergeMap:()=>BU,mergeMapTo:()=>HU,min:()=>Yx,never:()=>jx,nothing:()=>KP,of:()=>bx,pairwise:()=>AU,pipe:()=>tx,race:()=>dx,range:()=>Fx,reduce:()=>zx,retry:()=>rV,scan:()=>IU,share:()=>lx,shareReplay:()=>px,skip:()=>iU,skipUntil:()=>oU,skipWhile:()=>nU,startWith:()=>gx,subject:()=>Ix,subscribe:()=>ZU,sum:()=>Xx,switchMap:()=>kU,switchMapTo:()=>MU,take:()=>Zx,takeLast:()=>rU,takeUntil:()=>eU,takeWhile:()=>tU,tap:()=>eV,throttle:()=>lU,throwError:()=>Gx,timeInterval:()=>qU,timeout:()=>tV,timer:()=>Cx,toPromise:()=>$U,toReadableStream:()=>QU,withLatestFrom:()=>Ex,zip:()=>_x});var zP=e=>e(),qP=e=>e;function JP(){this.dispose()}var YP=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,XP=1,$P=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new nx(e,this,this.streamId++);return ax.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},QP=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=KP,this.error=KP,this.next=KP,this.dispose=KP,this.subscribe=KP,this.doDefer()}subscribe(e){return e instanceof $P?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(zP),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},ZP=class extends QP{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},ex=class extends QP{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:KP,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:KP,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:KP;if(super(),this._next=t,this._error=r,this._complete=i,this.then=KP,e instanceof $P){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{ax.defer(o,0)})),ax.create(o),ax.pipe(o),this.sourceId=o.id,this.subscribe(e),ax.subscribe({id:o.id,end:!0}),t==KP?this._next=e=>ax.next(o,0,e):this.next=e=>{ax.next(o,0,e),t(e)},i==KP?this._complete=()=>ax.complete(o,0):this.complete=()=>{this.dispose(),ax.complete(o,0),i()},r==KP?this._error=e=>ax.complete(o,0,e):this.error=e=>{this.dispose(),ax.complete(o,0,e),r()}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function tx(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function rx(e,t,r){if(YP()){let i=Object.defineProperties(Object.setPrototypeOf(e,$P.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});ax.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof $P&&ax.addSource(i,t)}return i}return e}function ix(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof $P){let o=rx((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,ax.pipe(o),o}return t=>r(new e(t,...i))}}}function ox(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var nx=class extends ZP{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{ax.defer(this.source,this.id)}))}next(e){ax.next(this.source,this.id,e),this.sink.next(e)}complete(){ax.complete(this.source,this.id),this.sink.complete()}error(e){ax.complete(this.source,this.id,e),this.sink.error(e)}},ax={addSource(e,t){ox("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){ox("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;ox("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){ox("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){ox("defer",{id:e.id,streamId:t})},pipe(e){ox("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){ox("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=XP++),ox("create",{name:e.toString(),id:e.id})}},sx=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},cx=class extends QP{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function lx(){return e=>{let t=new cx(e);if(e instanceof $P){let r=rx((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,ax.pipe(r),r}return rx(t.add.bind(t),"share",arguments)}}function ux(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=new ZP(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function dx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=new Map;t.forEach((t=>{let i=new ZP(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function hx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=0,i=t.length,o=new ZP(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function px(e){return t=>{let r=new cx(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},rx((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function mx(e,t,r){return rx((i=>e()?t(i):r(i)),"iif",arguments)}function fx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new ZP(e);o.next=t=>{0==--i?(o.next=t=>{n[r]=t,e.next(n)},o.next(t)):n[r]=t},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function _x(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new ZP(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function gx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>rx((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var Ex=ix(class extends ZP{constructor(e){super(e);let t=new ZP(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=KP,t.subscribe(fx(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),vx=ix(class extends ZP{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),yx=ix(class extends ZP{constructor(e,t){super(e),this.buffer=[];let r=new ZP(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=KP,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),Tx=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function Ix(e){let t=arguments,r=lx()(rx((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=KP,r.complete=KP,r.error=KP,r}function Ax(e){return rx((t=>t.subscribe(e())),"defer",arguments)}var Sx=e=>t=>{setTimeout((()=>e(t)))},Rx=e=>Sx((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function bx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return rx(Rx(t),"of",arguments)}function wx(e){return rx(Rx(e),"fromArray",arguments)}function Dx(e){return rx((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function Cx(e,t){return rx((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>{clearTimeout(o)};r.defer(n)}),"timer",arguments)}function Nx(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function kx(e,t){return rx(Nx(e,t),"fromEventPattern",arguments)}function Ox(e,t){if("on"in e&&"off"in e)return rx(Nx((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return rx(Nx((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return rx(Nx((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function Mx(e){return rx((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function Lx(e,t){return rx(Ax((()=>Mx(fetch(e,t)))),"fromFetch",arguments)}function Px(e){return rx(Sx((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Gb){t.error(Gb)}})),"fromIterable",arguments)}function xx(e){let t=r=>Tx(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return rx((e=>{t(e)}),"fromReader",arguments)}function Ux(e){return rx((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function Vx(){return rx((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function Fx(e,t){return rx((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function Bx(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return rx((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function Hx(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return rx((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function jx(){return rx((()=>{}),"never",arguments)}function Gx(e){return rx((t=>t.error(e)),"throwError",arguments)}function Wx(){return rx((e=>e.complete()),"empty",arguments)}var Kx=class extends ZP{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},zx=ix(Kx,"reduce"),qx=e=>ix(Kx,"count")(((t,r)=>e(r)?t+1:t),0),Jx=()=>ix(Kx,"max")(Math.max),Yx=()=>ix(Kx,"min")(Math.min),Xx=()=>ix(Kx,"sum")(((e,t)=>e+t),0),$x=ix(class extends ZP{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),Qx=ix(class extends ZP{next(e){}},"ignoreElements"),Zx=ix(class extends ZP{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),eU=ix(class extends ZP{constructor(e,t){super(e);let r=new ZP(e);r.next=()=>e.complete(),r.complete=JP,r.subscribe(t)}},"takeUntil"),tU=ix(class extends ZP{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),rU=e=>zx(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),iU=ix(class extends ZP{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),oU=ix(class extends ZP{constructor(e,t){super(e),e.next=KP;let r=new ZP(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=JP,r.subscribe(t)}},"skipUntil"),nU=ix(class extends ZP{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),aU={leading:!0,trailing:!1},sU=class extends ZP{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},cU=class extends ZP{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:aU;super(e),this.durationSelector=t,this.config=r,this._throttle=new sU(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=KP,this._throttle.complete(),super.complete()}},lU=ix(cU,"throttle"),uU={leading:!1,trailing:!0},dU=e=>ix(cU,"audit")(e,uU),hU=class extends ZP{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},pU=class extends ZP{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new hU(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},mU=ix(pU,"debounce"),fU=e=>ix(pU,"debounceTime")((t=>Cx(e))),_U=ix(class extends ZP{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),gU=e=>t=>Zx(1)(nU((t=>!e(t)))(t)),EU=ix(class extends ZP{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.complete()):++this.i}},"findIndex"),vU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),yU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),TU=ix(class extends ZP{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),IU=ix(class extends ZP{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),AU=ix(class extends ZP{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),SU=class extends ZP{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},RU=ix(SU,"map"),bU=e=>ix(SU,"mapTo")((t=>e)),wU=class extends ZP{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},DU=class extends ZP{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(e,t){let r=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,r.complete=r.tryComplete,r.subscribe(this.makeSource(e,this.index++))}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},CU=class extends wU{},NU=class extends DU{next(e){this.subInner(e,CU),this.next=e=>{this.currentSink.dispose(),this.subInner(e,CU)}}},kU=ix(NU,"switchMap");function OU(e){return(t,r)=>e((()=>t),r)}var MU=OU(ix(NU,"switchMapTo")),LU=class extends wU{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},PU=class extends DU{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),LU),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},xU=ix(PU,"concatMap"),UU=OU(ix(PU,"concatMapTo")),VU=class extends wU{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},FU=class extends DU{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,VU),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},BU=ix(FU,"mergeMap"),HU=OU(ix(FU,"mergeMapTo")),jU=class extends wU{dispose(){this.context.resetNext(),super.dispose()}},GU=class extends DU{next(e){this.next=KP,this.subInner(e,jU)}},WU=ix(GU,"exhaustMap"),KU=OU(ix(GU,"exhaustMapTo")),zU=ix(class extends ZP{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=Ix(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),qU=ix(class extends ZP{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),JU=ix(class extends ZP{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),YU=ix(class extends ZP{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),XU=ix(class extends ZP{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),$U=()=>e=>new Promise(((t,r)=>{let i;new ex(e,(e=>i=e),r,(()=>t(i)))})),QU=()=>e=>{let t;return new ReadableStream({start(r){t=new ex(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},ZU=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:KP,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:KP,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:KP;return i=>new ex(i,e,t,r)},eV=ix(class extends ZP{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),tV=ix(class extends ZP{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new sx(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),rV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof $P){let r=rx((i=>{let o=e,n=new ZP(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,ax.pipe(r),r}return r=>{let i=e,o=new ZP(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},iV=class e extends hP{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Ab(this,"tinyId"),Ab(this,"isRemote",!0),Ab(this,"jitterBufferDelay",0),Ab(this,"availableState"),Ab(this,"remotePublishState"),Ab(this,"_triggerCheckDecodeSubject",Ix(Ox(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new WM("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new WM("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),tx(ux(Ox(this,WM.STATECHANGED),Ox(this.remotePublishState,WM.STATECHANGED)),RU((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),ZU((e=>{this.availableState.state!==(e?WM.ON:WM.OFF)&&(this.availableState.state=e?WM.ON:WM.OFF),this.updatePlayingState(e)})));let o=tx(Ox(this.player,$M.ERROR),$x((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=tx(Cx(5e3),$x((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===_w.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=tx(dx(o,n),eU(Ox(this,WM.INIT)));tx(this._triggerCheckDecodeSubject,$x((()=>!this.ignoreDecodeError)),MU(a),ZU((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===WM.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){let r=this.kind===_w.AUDIO;BO[e?"addSuccessEvent":"addFailedEvent"]({key:r?504700:514702}),e||(BO.addEnum({key:r?504701:514703,value:pk()}),rL.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(uk()||mk()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===_w.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?WM.ON:WM.OFF}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Ab(iV,"STATE_SUBSCRIBE","subscribe"),Ib([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return TP(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new Lb({code:Ob.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});Ik.warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],iV.prototype,"waitHasMediaTrack",1),Ib([HM(WM.INIT,iV.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),Ek.emit(yk.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),DP(521716,!1)],iV.prototype,"subscribe",1),Ib([HM(iV.STATE_SUBSCRIBE,WM.INIT,{sync:!0,success(){this.log.info("unsubscribed"),Ek.emit(yk.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],iV.prototype,"unsubscribe",1);var oV=iV,nV=class extends oV{constructor(e,t){super(e,t,1),Ab(this,"volume",0),Ab(this,"mediaType",1),Ab(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return qL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}decodeFrame(e){if(!this.manager)return e;let t=e;for(let r of this.manager.decodePipeline)if(r&&(t=r({frame:t,track:this}),!t))return;return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}},aV=[-1,-1,1,-1,-1,1,1,1],sV=[0,0,1,0,0,1,1,1],cV=class extends WM{constructor(e,t){if(super(),this.context=e,Ab(this,"name"),Ab(this,"input"),Ab(this,"output"),Ab(this,"texture"),Ab(this,"ctx2d",null),Ab(this,"fbo"),Ab(this,"width",0),Ab(this,"height",0),Ab(this,"x",0),Ab(this,"y",0),Ab(this,"program"),Ab(this,"vertexShader"),Ab(this,"fragmentShader"),Ab(this,"totalFrames",0),Ab(this,"dropFrames",0),Ab(this,"matchInputSize",!0),Ab(this,"texCoordBuffer"),Ab(this,"positionBuffer"),Ab(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Ab(this,"cost",0),Ab(this,"_canvas",null),Ab(this,"_image"),Ab(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof AV)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==QN?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(sV),this.positionBuffer=this.createBuffer(aV),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.PACK_ALIGNMENT,1),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(kk){this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(kk.message||kk)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof IV&&this.render(e)||this.context instanceof AV&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof IV){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(e,t,r,i,o){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,r):(this.ctx2d.drawImage(e,t,r,i,o),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close()),!0)}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},gb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};Ib([HM(WM.INIT,"connected",{sync:!0})],cV.prototype,"connect",1),Ib([HM("connected",WM.INIT,{ignoreError:!0,sync:!0})],cV.prototype,"disconnect",1),Ib([HM([],"closed",{sync:!0})],cV.prototype,"close",1);var lV=tx(Dx(250),RU((()=>performance.now())),lx()),uV=e=>t=>{let r=performance.now();tx(lV,nU((t=>t-r<e)),Zx(1))(t)},dV=[0,1,1,1,0,0,1,0],hV=class extends cV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Ab(this,"_intervalId",0),Ab(this,"_sequence",0),Ab(this,"checkGLError",!1),Ab(this,"checkVisibilityChange"),e instanceof AV?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(dV)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),XM.clearTask(this._intervalId),this._intervalId=XM.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(XM.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof IV){let e=this.context.ctx.getError();e&&this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this._intervalId&&(XM.clearTask(this._intervalId),this._intervalId=0,1===e)){this.log.info("".concat(this.name," use requestVideoFrameCallback"));let e=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",e))};document.addEventListener("visibilitychange",e)}this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),XM.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),XM.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},pV=class extends hV{constructor(e,t){super(e,t),Ab(this,"_videoTrack"),Ab(this,"_muteOb"),Ab(this,"_closedOb",Ox(this,"closed")),Ab(this,"_subscription"),Ab(this,"_canvasContainer"),Number(YN)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=Ox(this._videoTrack,"mute"),tx(Ox(this._videoTrack,"ended"),eU(this._closedOb),ZU((()=>{this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=tx(this._muteOb,eU(this._closedOb),MU(uV(5e3)),ZU((()=>{var e;null!=(e=this._videoTrack)&&e.muted&&this.context.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},mV=class extends pV{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},fV=class extends pV{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},_V=class extends cV{constructor(e,t){super(e,gb({name:"imageSource"},t)),Ab(this,"_lastImage"),Ab(this,"_totalFrames",0),Ab(this,"_autoResize",!1),Ab(this,"_canvasRendered"),Ab(this,"_videoCallbackId",0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===QN&&(this._canvasRendered=Ix(),tx(this._canvasRendered,gx(this._image),kU((e=>e instanceof HTMLCanvasElement?Ox(e,"rendered"):Wx())),eU(Ox(this,"closed")),ZU((()=>{this.update()}))))}tryVideoFrameCallback(e){this._videoCallbackId&&e.cancelVideoFrameCallback(this._videoCallbackId),MM()&&!document.hidden&&(this._videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(n),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!1}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},gV=class extends _V{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",tx(Ox(this._player,$M.PLAYER_STATE_CHANGED),eU(Ox(this,"closed")),$x((e=>{let{state:t}=e;return"PLAYING"===t})),ZU((()=>{this.tryVideoFrameCallback(this._player.element)})))}get image(){return this._player.element}},EV=class extends gV{constructor(e,t,r){super(e,new DL({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},vV=class extends WM{constructor(e){super(),Ab(this,"frameRate"),Ab(this,"_canvas"),Ab(this,"log"),Ab(this,"hasAlpha",!1),Ab(this,"name"),Ab(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new EV(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new pV(this,e)}createVideoImageSource(e,t){return new _V(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new gV(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Ab(vV,"_ids",0);var yV={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},TV=class extends vV{constructor(){super(...arguments),Ab(this,"defaultProgam"),Ab(this,"defaultVShader"),Ab(this,"defaultFShader"),Ab(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(vV._ids++)),this.ctx=this._canvas.getContext("webgl2",yV),!this.ctx)throw new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,BO.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};Ab(TV,"UNAVAILABLE","unavailable"),Ib([HM(WM.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),BO.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),BO.addSuccessEvent({key:512700})}})],TV.prototype,"create",1),Ib([HM("created",WM.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(TV.UNAVAILABLE,e),this.removeAllListeners()}})],TV.prototype,"destroy",1);var IV=TV,AV=class extends vV{constructor(){super(...arguments),Ab(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(vV._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,BO.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),BO.addSuccessEvent({key:512703})}};Ib([HM(WM.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),BO.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),BO.addSuccessEvent({key:512701})}})],AV.prototype,"create",1),Ib([HM("created",WM.INIT,{ignoreError:!0,sync:!0})],AV.prototype,"destroy",1);var SV=class extends oV{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Ab(this,"mediaType",4),Ab(this,"source"),Ab(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(HD(null==t?void 0:t.canvasRender)?t.canvasRender:17===QN)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat()}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new AV({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new hV(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),MM()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!BD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},RV=class extends SV{constructor(e,t){super(e,t,2),Ab(this,"mediaType",2),Ab(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},bV=new Map;function wV(e,t){let r=Eb(gb({},t),{timestamp:Pb()});bV.has(e)?bV.get(e).push(r):bV.set(e,[r])}function DV(e){if(bV.has(e)){let t=bV.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return bV.delete(e),t}return[]}Ek.on(yk.JOIN_SUCCESS,(e=>{let{room:t}=e;wV(t.userId,{eventId:32788})})),Ek.on(yk.LEAVE_START,(e=>{let{room:t}=e;wV(t.userId,{eventId:32789})})),Ek.on(yk.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),wV(t.room.userId,{eventId:e})}})),Ek.on(yk.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),wV(t.room.userId,{eventId:e})}})),Ek.on(yk.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===_w.AUDIO?wV(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):wV(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),Ek.on(yk.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===_w.AUDIO?wV(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):wV(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),Ek.on(yk.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&wV(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&wV(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&wV(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),Ek.on(yk.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&wV(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&wV(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&wV(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),Ek.on(yk.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&wV(t.room.userId,{eventId:t.kind===_w.VIDEO?32780:32781})})),Ek.on(yk.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&wV(t.room.userId,{eventId:t.kind===_w.VIDEO?32782:32783})})),Ek.on(yk.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&wV(r.userId,{eventId:t})})),Ek.on(yk.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&wV(r.userId,{eventId:t,remoteUserId:n})})),Ek.on(yk.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l="h264"===o?0:2,u={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(u.remoteUserId=i,u.eventId=4005),wV(r,u),BO.addEnum({key:i?514701:513701,value:c}),BO.addEnum({key:i?514700:513700,value:l})})),Ek.on(yk.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===_w.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),wV(t.userId,e)}})),Tb(bb(),1);var CV=Object.create,NV=Object.defineProperty,kV=Object.defineProperties,OV=Object.getOwnPropertyDescriptor,MV=Object.getOwnPropertyDescriptors,LV=Object.getOwnPropertyNames,PV=Object.getOwnPropertySymbols,xV=Object.getPrototypeOf,UV=Object.prototype.hasOwnProperty,VV=Object.prototype.propertyIsEnumerable,FV=(e,t,r)=>t in e?NV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,BV=(e,t)=>{for(var r in t||(t={}))UV.call(t,r)&&FV(e,r,t[r]);if(PV)for(var r of PV(t))VV.call(t,r)&&FV(e,r,t[r]);return e},HV=(e,t)=>kV(e,MV(t)),jV=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?OV(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&NV(t,r,n),n},GV=(e,t,r)=>FV(e,"symbol"!=typeof t?t+"":t,r),WV=((e,t)=>function(){return t||(0,e[LV(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),KV=((e,t,r)=>(r=null!=e?CV(xV(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of LV(t))UV.call(e,o)||o===r||NV(e,o,{get:()=>t[o],enumerable:!(i=OV(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:NV(r,"default",{value:e,enumerable:!0}),e)))(WV(),1),zV=Symbol("instance"),qV=Symbol("cacheResult"),JV=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,ZV.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},YV=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var XV=new Map;function $V(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=XV.get(i)||[];XV.has(i)||XV.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=eF.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[qV]:Promise.resolve(i[qV]);i.state instanceof JV&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof JV&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new YV(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new YV(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return u(l);let d=i.state,h=new JV(d,t,a);ZV.call(i,h);let p=e=>{var o;return i[qV]=e,h.aborted||(ZV.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[qV])),e},m=e=>(ZV.call(i,d,e),u(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(Pk){return m(new YV(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(Pk),Pk instanceof Error?Pk:new Error(String(Pk))))}}}}var QV="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function ZV(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(eF.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var eF=class e extends KV.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[zV];o?this.name=o.name+"-"+o.count++:i[zV]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=XV.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);XV.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};QV(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){ZV.call(this,e)}};eF.STATECHANGED="stateChanged",eF.UPDATEAFSM="updateAFSM",eF.INIT="[*]",eF.ON="on",eF.OFF="off",eF.instances=new Map,eF.instances2=new WeakMap;var tF=class extends eF{constructor(){super(...arguments),GV(this,"decoder"),GV(this,"config")}initialize(){return Rb(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(HV(BV({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function rF(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],u=c.HEAPU32[1+(e>>2)],d=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(u,u+o),m=c.HEAPU8.subarray(d,d+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}jV([$V([eF.INIT,"closed"],"initialized")],tF.prototype,"initialize",1),jV([$V("initialized","configured",{sync:!0})],tF.prototype,"configure",1),jV([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new YV(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],tF.prototype,"decode",1),jV([$V([],eF.INIT,{sync:!0})],tF.prototype,"reset",1),jV([$V([],"closed",{ignoreError:!0,sync:!0})],tF.prototype,"close",1);var iF=class extends eF{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,GV(this,"worker"),GV(this,"decoder"),GV(this,"config"),GV(this,"module",{}),GV(this,"width",0),GV(this,"height",0)}initialize(e){return Rb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(rF.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let u=new Uint8Array(r+i+i);u.set(s),u.set(c,r),u.set(l,r+i),this.emit("videoFrame",new VideoFrame(u,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};jV([$V([eF.INIT,"closed"],"initialized")],iF.prototype,"initialize",1),jV([$V("initialized","configured",{sync:!0})],iF.prototype,"configure",1),jV([$V([],eF.INIT,{sync:!0})],iF.prototype,"reset",1),jV([$V([],"closed",{sync:!0})],iF.prototype,"close",1);var oF,nF=(oF="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,u="function"==typeof importScripts,d=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||u)&&(u?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),oF&&(d=oF),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,D,C=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),C=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!u||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,d):d+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function j(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(bt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var G={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=G.isAbs(e),r="/"===e.substr(-1);return(e=G.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=G.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=G.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return G.normalize(e.join("/"))},join2:(e,t)=>G.normalize(e+"/"+t)},W=e=>(W=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),K={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=G.isAbs(i)}return(t?"/":"")+(e=G.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=K.resolve(e).substr(1),t=K.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},z="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&z)return z.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},J=[],Y=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:Y(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!J.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;J=$(e,!0)}return J.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=K.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=G.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=K.resolve(G.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=G.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!K.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=G.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=G.dirname(e),n=G.dirname(t),a=G.basename(e),s=G.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),u=K.relative(e,n);if("."!==u.charAt(0))throw new ie.ErrnoError(28);if("."!==(u=K.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var d=ie.isDir(l.mode),h=ie.mayDelete(r,a,d);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,d):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=G.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=G.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return K.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=G.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(Y(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=W(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=G.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=G.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=G.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?G.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),u=0,d=r.length;u<d;++u)l[u]=r.charCodeAt(u);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=G.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function d(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),d(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return d(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(G.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return G.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&G.normalize(t)!==G.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,D=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=D[0],y[r+28>>2]=D[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return D=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=D[0],y[r+44>>2]=D[1],T[r+48>>2]=o%1e3*1e3,D=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=D[0],y[r+60>>2]=D[1],T[r+64>>2]=n%1e3*1e3,D=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=D[0],y[r+76>>2]=D[1],T[r+80>>2]=a%1e3*1e3,D=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=D[0],y[r+92>>2]=D[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},ue={},de={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){de[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{ue.hasOwnProperty(e)?o[t]=ue[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=ue[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),ue.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(ue[e]=t,delete de[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function De(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ce(Object.create(e,{$$:{value:t}}))}var Ce=function(e){return"undefined"==typeof FinalizationRegistry?(Ce=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(Ce=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,tt.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(rt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],je=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t},Ge=(e,t)=>{var r=[];return function(){return r.length=0,Object.assign(r,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):je(t).apply(null,r);var o,n,a})(e,t,r)}};function We(e,t){var r=(e=ce(e)).includes("j")?Ge(e,t):je(t);return"function"!=typeof r&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),r}var Ke=void 0;function ze(e){var t=Rt(e),r=ce(t);return At(t),r}function qe(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||ue[t]||(de[t]?de[t].forEach(e):(r.push(t),i[t]=!0))})),new Ke("".concat(e,": ")+r.map(ze).join([", "]))}function Je(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Xe(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function $e(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var u="void"!==t[0].name,d="",h="";for(l=0;l<a-2;++l)d+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(d,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(u||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return u&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Xe(Function,f).apply(null,_)}function Qe(){this.allocated=[void 0],this.freelist=[]}var Ze=new Qe;function et(e){e>=Ze.reserved&&0==--Ze.get(e).refcount&&Ze.free(e)}var tt={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Ze.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ze.allocate({refcount:1,value:e})}}};function rt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function it(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function ot(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var nt,at,st="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ct=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&st)return st.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},lt=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},ut=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ht=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},pt=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},mt={},ft=[],_t=[],gt={},Et=()=>{if(!Et.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in gt)void 0===gt[t]?delete e[t]:e[t]=gt[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));Et.strings=r}return Et.strings},vt=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(vt.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=vt,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,u){var d=t?K.resolve(G.join2(e,t)):e;function h(r){function n(r){u&&u(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,d,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ce(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?De(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):De(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?De(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):De(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ke=i.UnboundTypeError=(nt=Error,(at=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(nt.prototype),at.prototype.constructor=at,at.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},at),Object.assign(Qe.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Ze.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ze.reserved=Ze.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Ze.reserved;t<Ze.allocated.length;++t)void 0!==Ze.allocated[t]&&++e;return e};var yt,Tt={p:function(e,t,r){throw new j(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[St()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,u,d,h,p){d=ce(d),a=We(n,a),c&&(c=We(s,c)),u&&(u=We(l,u)),p=We(h,p);var m,f,_,g=ke(d);m=g,f=function(){qe("Cannot construct ".concat(d," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+d);if(void 0===h.constructor_body)throw new he(d+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(d," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(d,s,l,p,r,a,c,u);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(d,h,!0,!1,!1),v=new Be(d+"*",h,!1,!1,!1),y=new Be(d+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=Je(t,r);o=We(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{qe("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=$e(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=Je(r,i);t=ce(t),n=We(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){qe("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,d=u[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,u[t]=o):(Me(u,t,i),u[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=$e(i,o,e,n,a,c);return void 0===u[t].overloadTable?(s.argCount=r-2,u[t]=s):u[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=tt.toValue(e);return et(e),t},toWireType:function(e,t){return tt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:it(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:ot(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return At(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?Y(t):t.length;var n=It(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(At(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(At,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){At(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=ct,o=lt,a=ut,n=()=>v,s=1):4===t&&(i=dt,o=ht,a=pt,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var u=e+4+l*t;if(l==o||0==a[u>>s]){var d=i(c,u-c);void 0===r?r=d:(r+="\0",r+=d),c=u+t}}return At(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=It(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(At,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){At(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=ft[e])(t=tt.toValue(t),r=void 0===(n=mt[o=r])?ce(o):n,null,i)},m:et,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=ue[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=_t[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var u,d,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),u=Xe(Function,a).apply(null,s),d=ft.length,ft.push(u),n=d,_t[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return Et().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=Et();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,D=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=D[0],y[t+12>>2]=D[1],D=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=D[0],y[t+20>>2]=D[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),D=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=D[0],y[o+4>>2]=D[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},It=(function(){var e,t,o,n,a={a:Tt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(It=p.G)(e)),At=e=>(At=p.I)(e),St=()=>(St=p.J)(),Rt=e=>(Rt=p.K)(e),bt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(bt=p.M)(e));function wt(){function e(){yt||(yt=!0,i.calledRun=!0,C||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){yt||wt(),yt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return wt(),e.ready}),aF=nF,sF=class extends iF{constructor(e){super(aF,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var cF=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(cF||{});function lF(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var uF=class e{constructor(e){this.core=e,GV(this,"contextMap",new Map),GV(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){switch(e){case"wasm":return new sF(HV(BV({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new tF;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(HV(BV({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=lF()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e);r&&this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1}),r&&this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1}),e.inputFrameCount&&this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1})}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(HV(BV({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?lF()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};GV(uF,"Name","TRTCVideoDecoder");var dF=uF,hF=Tb(bb());function pF(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return TP(((e,o)=>{let n=new WeakMap;return Ek.on(yk.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var mF,fF=!0,_F={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},gF={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},EF=((mF=EF||{})[mF.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",mF[mF.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",mF[mF.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",mF[mF.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",mF[mF.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",mF[mF.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",mF[mF.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",mF[mF.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",mF[mF.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",mF[mF.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",mF[mF.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",mF[mF.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",mF[mF.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",mF[mF.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",mF[mF.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",mF[mF.INVALID_ROOM_ID_REQUIED=5015]="INVALID_ROOM_ID_REQUIED",mF[mF.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",mF[mF.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",mF[mF.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",mF[mF.INVALID_OPERATION=5100]="INVALID_OPERATION",mF[mF.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",mF[mF.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",mF[mF.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",mF[mF.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",mF[mF.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",mF[mF.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",mF[mF.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",mF[mF.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",mF[mF.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",mF[mF.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",mF[mF.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",mF[mF.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",mF[mF.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",mF[mF.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",mF[mF.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",mF[mF.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",mF[mF.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",mF[mF.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",mF[mF.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",mF[mF.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",mF[mF.DEVICE_ERROR=5300]="DEVICE_ERROR",mF[mF.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",mF[mF.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",mF[mF.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",mF[mF.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",mF[mF.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",mF[mF.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",mF[mF.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",mF[mF.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",mF[mF.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",mF[mF.SERVER_ERROR=5400]="SERVER_ERROR",mF[mF.NEED_TO_BUY=5401]="NEED_TO_BUY",mF[mF.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",mF[mF.OPERATION_FAILED=5500]="OPERATION_FAILED",mF[mF.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",mF[mF.REJOIN_FAILED=5502]="REJOIN_FAILED",mF[mF.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",mF[mF.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",mF[mF.VIDEO_DECODE_ERROR=5505]="VIDEO_DECODE_ERROR",mF[mF.OPERATION_ABORT=5998]="OPERATION_ABORT",mF[mF.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",mF);var vF=Eb(gb({},wO),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(xD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=yF(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function yF(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var TF=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a}=e;var s;let c;c=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=EF[r];try{t=vF[s]}catch(n){t=vF.UNKNOWN_ERROR}return UD(t)?a=t(i):FD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===gF.SERVER_ERROR?t:r||t,params:gb({fnName:n,error:a},o)}),super(c),Ab(this,"name","RtcError"),Ab(this,"code"),Ab(this,"extraCode"),Ab(this,"functionName"),Ab(this,"message"),Ab(this,"handler"),Ab(this,"originError"),this.name=EF[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=c,5302===this.extraCode&&null!=(s=this.originError)&&s.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");yN?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):TN&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof Lb){let{stack:n}=t,a={code:gF.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case Ob.INVALID_PARAMETER:a.code=gF.INVALID_PARAMETER,a.message=t.message;break;case Ob.INVALID_OPERATION:a.code=gF.INVALID_OPERATION;break;case Ob.NOT_SUPPORTED:case Ob.NOT_SUPPORTED_H264:a.code=gF.ENV_NOT_SUPPORTED,t.getCode()===Ob.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(wO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case Ob.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case Ob.SERVER_TIMEOUT:case Ob.SWITCH_ROLE_FAILED:a.code=gF.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case Ob.API_CALL_ABORTED:a.code=gF.OPERATION_ABORT;break;case Ob.DEVICE_NOT_FOUND:case Ob.DEVICE_AUTO_RECOVER_FAILED:case Ob.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case Ob.UNKNOWN:break;default:a.code=gF.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:gF.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var IF=TF,AF={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},SF={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},RF={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(FD(e)&&!document.getElementById(e))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},bF={name:"userId",required:!0,type:"string"},wF={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{values:[_F.AUDIO_PROFILE_STANDARD,_F.AUDIO_PROFILE_STANDARD_STEREO,_F.AUDIO_PROFILE_HIGH,_F.AUDIO_PROFILE_HIGH_STEREO]},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function DF(e,t){if(!e)throw new IF({code:gF.INVALID_OPERATION,extraCode:5101,fnName:t})}function CF(e,t,r){if(!e)throw new IF({code:gF.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}var NF={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new IF({code:gF.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(FD(e.roomId))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});if(!(/^[1-9]\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5013,fnName:r,messageParams:{key:t}})}else{if(!e.strRoomId)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5015,fnName:r});if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5012,fnName:r,messageParams:{key:t}})}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:RF,mute:{type:["boolean","string"]},publish:{type:"boolean"},option:AF},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Eb(gb({},RF),{required:!1}),publish:{type:"boolean"},mute:{type:["boolean","string"]},option:AF}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:wF},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:wF}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:RF,publish:{type:"boolean"},option:SF},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(JO())throw new IF({code:gF.ENV_NOT_SUPPORTED,extraCode:5201});if(!eM())throw new IF({code:gF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:RF,publish:{type:"boolean"},option:SF}},muteRemoteAudio:[bF,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[bF,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:RF,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){DF(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(CF(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new IF({code:gF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Eb(gb({},RF),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){DF(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(CF(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new IF({code:gF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&VD(e.streamType))throw new IF({code:gF.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){DF(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!SM)throw new IF({code:gF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new IF({code:gF.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});DF(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new IF({code:gF.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(DF(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new IF({code:gF.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}}},kF={TRTC:NF},OF=class extends Error{};function MF(e,t){let r=aC(e);for(let i=0;i<t.length;i++)nC(r[i],t[i]);return r}function LF(e){this._resolve=Promise.resolve(e)}function PF(e){this._reject=Promise.reject(e)}var xF=class e{constructor(t,r){this.instance=t,this.group=r,Ab(this,"started",!1),Ab(this,"ops",[]),Ab(this,"startSame",(()=>!0)),Ab(this,"mergeUpdate",MF);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new OF("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:LF,reject:PF};try{switch(this.state){case 1:if(0===e)throw new OF("already started");break;case 4:if(2===e)throw new OF("not started");break;default:return this.cacheOp(n)}}catch(Ok){return Promise.reject(Ok)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new OF("already start");break;case 3:switch(e.type){case 2:throw new OF("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new OF("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new OF("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new OF("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new OF("start not allowed after update");case 0:throw new OF("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new OF("keep start")),new OF("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};Ab(xF,"instances",new WeakMap);var UF=xF,VF=new WeakMap,FF=(e,t)=>{if(t instanceof OF){let{stack:r}=t;t=new IF({code:gF.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function BF(e,t){return TP(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=UF.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(FF.bind(null,i))):r.apply(this,n)}))}function HF(e,t){let{merge:r,debounce:i}=t||{};return TP(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=UF.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let u=null==(s=VF.get(this))?void 0:s.get(r(...a));if(u){let{timeoutId:e,resolve:t}=u;clearTimeout(e),t()}let d=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(FF.bind(null,o)).then(i,n)}),e);VF.has(this)?null==(l=VF.get(this))||l.set(r(...a),{timeoutId:d,resolve:i}):VF.set(this,new Map([[r(...a),{timeoutId:d,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(FF.bind(null,o))}))}function jF(e){return TP(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(UF.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=UF.get(this,a);return s?s.action(3,t.bind(this),o).catch(FF.bind(null,r)):t.apply(this,o)}))}var GF={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame"},WF=new Set([GF.ERROR,GF.AUTOPLAY_FAILED,GF.KICKED_OUT,GF.REMOTE_USER_ENTER,GF.REMOTE_USER_EXIT,GF.REMOTE_AUDIO_AVAILABLE,GF.REMOTE_AUDIO_UNAVAILABLE,GF.REMOTE_VIDEO_AVAILABLE,GF.REMOTE_VIDEO_UNAVAILABLE,GF.CONNECTION_STATE_CHANGED,GF.PUBLISH_STATE_CHANGED,GF.SCREEN_SHARE_STOPPED,GF.DEVICE_CHANGED,GF.FIRST_VIDEO_FRAME]);function KF(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function zF(e){return e===_F.QOS_PREFERENCE_CLEAR?"detail":e===_F.QOS_PREFERENCE_SMOOTH?"motion":""}var qF={};yb(qF,{bytes2ms:()=>wD,convertObjectNumberToInt:()=>_C,copyProperties:()=>bD,deepClone:()=>aC,deepMerge:()=>nC,delay:()=>gC,fibonacci:()=>LD,formatedTime:()=>lC,getConstructorName:()=>JD,getContainerFromElement:()=>cC,getEnv:()=>ED,getInternalVersion:()=>ZD,getLoggerUrl:()=>yD,getMuteStateFromFlag:()=>rC,getNetworkType:()=>ID,getNumNetworkType:()=>RD,getReconnectionTimeout:()=>PD,getStringByteLength:()=>hC,getTurnServer:()=>iC,getUint32Version:()=>fC,getValueType:()=>xD,getViewListFromView:()=>sC,glog:()=>kD,ipv4ToUint32:()=>oC,isArray:()=>GD,isAudioWorkletSupported:()=>YD,isBoolean:()=>HD,isConstructor:()=>qD,isEmpty:()=>tC,isFunction:()=>UD,isLangChinese:()=>OD,isMediaStreamTrack:()=>WD,isNumber:()=>BD,isObject:()=>jD,isOverseaSdkAppId:()=>vD,isPlainObject:()=>MD,isPortrait:()=>pC,isPromise:()=>zD,isRemoteTrack:()=>KD,isString:()=>FD,isUndefined:()=>VD,loadImage:()=>mC,ms2bytes:()=>CD,ms2samples:()=>ND,normalizeUrl:()=>vC,performanceNow:()=>$D,promiseAny:()=>XD,samples2ms:()=>DD,setNetworkType:()=>SD,stringify:()=>uC,stringifyIncludeValue:()=>dC,throttlePromise:()=>EC});var JF={};yb(JF,{ScheduleRequestType:()=>tB,getAbilityConfig:()=>iB,getScheduleDomain:()=>oB,isNeedToSchedule:()=>XF,scheduleProxy:()=>ZF,sendScheduleRequest:()=>QF,setIsNeedToSchedule:()=>$F,setScheduleProxy:()=>eB});var YF=null,XF=!0;function $F(e){HD(e)&&e!==XF&&(XF=e,Ik.info("setIsNeedToSchedule ".concat(e)))}function QF(e){return Rb(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){if(!XF&&YF)return{isCached:!0,result:YF};let e={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n)),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let d=$D(),h=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;XD([aB((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=rB(r,"config",_w.MAIN,!0)),o())}))(rB(r,"config",_w.MAIN),e,{get timeout(){return 1e3*LD(2+t.count[0])}}),aB((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=rB(r,"config",_w.BACKUP,!0)),o())}))(rB(r,"config",_w.BACKUP),e,{get timeout(){return 1e3*LD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,e,r);h.config&&(h.config.loggerDomain&&Yb(h.config.loggerDomain),HD(h.config.scheduleCache)&&$F(!h.config.scheduleCache)),e.delta=$D()-d;let p=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=rB(e,"config",_w.MAIN),a=rB(e,"config",_w.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?_w.MAIN:_w.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),u=Math.round(e.requestStart-e.secureConnectionStart),d=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,u,d,h,p];rL.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Eb(gb({},i),{totalCost:o,local:a,dns:l,tcp:d,tls:u,request:h,response:p});break}}catch(n){Ik.error("getScheduleDetailCost error",n)}return i}(Number(r),t,d);return YF=h,{isCached:!1,result:h,detailCost:p}}catch(u){let e=GD(u)?u[0]:u,t=BD(e.code)?e.code:0,r="schedule failed".concat(e.message?": ".concat(e.message):""),i=new Lb({code:Ob.SCHEDULE_FAILED,extraCode:t,message:NO({key:bO.JOIN_ROOM_FAILED,data:{error:r,code:t}})});throw Ik.error(r,t),i}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(nD).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),Ek.on("28",(()=>$F(!0))),Ek.on("63",(()=>$F(!0))),Ek.on("84",(()=>$F(!0))),Ek.on("201",(e=>{"RECONNECTING"===e.state&&$F(!0)})),Ek.on("202",(e=>{"RECONNECTING"===e.state&&$F(!0)}));var ZF={main:"",backup:""};function eB(e){GD(e)?(ZF.main=e[0],ZF.backup=e[1]):ZF.main=e}var tB=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(tB||{});function rB(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_w.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(ZF[r]||oB(e,r,i),"/api/v1/").concat(t)}function iB(e,t,r){let i=rB(e,t),o=rB(e,t,_w.BACKUP),n=new URLSearchParams(r).toString();return XD([fetch("".concat(i,"?").concat(n)).then((e=>e.json())),fetch("".concat(o,"?").concat(n)).then((e=>e.json()))])}function oB(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_w.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=vD(e)?i?r===_w.MAIN?nD.MAIN_OVERSEA_BACKUP:nD.BACKUP_OVERSEA:r===_w.MAIN?nD.MAIN_OVERSEA:nD.BACKUP_OVERSEA:r===_w.MAIN?nD.MAIN:nD.BACKUP,t}function nB(e,t,r){return new Promise(((i,o)=>{yC({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var aB=(e,t)=>bC({retryFunction:nB,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var sB=class{constructor(){Ab(this,"_log"),this._log=Ik.createLogger({id:"fd"})}download(e,t){return Rb(this,null,(function*(){let{type:r="blob"}=t||{};e=vC(e);try{let t,i=$D();if(t=UD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=$D()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),BO.addSuccessEvent({key:522700,cost:$D()-i}),t.data}catch(kk){throw this._log.error("failed to download: ".concat(e,", error: ").concat(kk)),BO.addFailedEvent({key:522700,error:kk}),kk}}))}downloadWithFetch(e,t){return Rb(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok)throw new Error("network response was not ok");return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(Ww){throw Ww}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{200===o.status||0===o.status&&o.response?r({data:o.response}):i(new Error("XHR failed"))},o.onerror=i,o.send(null)}))}loadWasm(e,t){return Rb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=$D(),i=null,o=null;if(UD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&UD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(Wb){o=Wb}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(Wb){o=Wb}if(i){let t=$D()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),BO.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),BO.addFailedEvent({key:522701,error:o}),o}))}};Ib([oL({settings:{timeout:0,retries:3},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],sB.prototype,"download",1);var cB=new sB;function lB(e){let{TRTC:t,room:r,errorModule:i,assetsPath:o}=e;return{TRTC:t,room:r,assetsPath:o,fileDownloader:cB,innerEmitter:Ek,constants:Fb,environment:DC,utils:qF,eventLogger:rL,log:this.room.getLogger(),loggerManager:Ik,errorModule:i,kvStatManager:BO,rtcDectection:Rk,trtc:this,rx:WP,enums:bk,schedule:JF,clearStarted:(e,t)=>{let r=e.getAlias(),i=UF.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:jP,createAudioNode:GL}}var uB=new WeakMap;function dB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TP(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{pB.call(this,t,o,r,this._name)}catch(kk){return Promise.reject(kk)}return e.apply(this,o)}))}function hB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return TP(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{pB.call(this,t,o,r,this._name)}catch(kk){throw kk}return e.apply(this,o)}))}function pB(e,t,r,i){if(GD(e))for(let o=0;o<e.length;o++)mB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else mB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function mB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:gF.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(VD(r)){if(t.required)throw new IF(a(5001));if(VD(t.defaultValue))return void(UD(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),UD(t.type[i])&&r instanceof t.type[i]&&(e=!0),FD(t.type[i])&&xD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new IF({code:gF.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>qD(e)?JD(e):FD(e)?e:xD(e)))},value:r}})}else if(!VD(t.type)&&xD(r)!==t.type)throw new IF(a(5002));if(!1===t.allowEmpty){let e=BD(r)&&(0===r||Number.isNaN(r)),t=FD(r)&&""===r.trim();if(e||t)throw new IF(a(5003))}if(t.notLessThanZero&&BD(r)&&r<0)throw new IF(a(5006));if(!VD(t.min)&&BD(r)&&r<t.min)throw new IF(a(5007));if(!VD(t.max)&&BD(r)&&r>t.max)throw new IF(a(5008));if(FD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new IF(a(5004))}else if(UD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new IF(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new IF(a(5005));let{properties:s}=t;MD(s)&&jD(r)&&Object.keys(s).forEach((e=>{mB.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;MD(c)&&GD(r)&&r.forEach(((e,t)=>{mB.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),UD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function fB(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o}=e;return TP(((e,n)=>function(){for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];var l;function u(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...s);if(s[e.argIndex]===t)return e.value}if(t===s||e in s)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(xD(t)):(JSON.stringify(t),t)}catch(xk){return"type:".concat(xD(t))}}let d=this._log||Ik;if(null!=o&&o(...s))return e.apply(this,s);s.length>0?d.info("".concat(n,"() ").concat(JSON.stringify(s,((e,t)=>u(e,t,["userSig","privateMapKey"]))))):d.info("".concat(n,"()"));let h=i?i(...s):LO[n];try{let r=e.apply(this,s),i=$D();return zD(r)?r.then((e=>(d.info("".concat(n,"() success ").concat(t.call(this,...s))),BO.addSuccessEvent({key:h,cost:$D()-i}),e))).catch((e=>{var r;let i=(e=IF.convertFrom.call(this,e,n,1===s.length?s[0]:s)).extraCode||e.code,o=null!=(r=e.message)&&r.includes(i)?"":" code:".concat(i);throw d.error("".concat(n,"() failed ").concat(t.call(this,...s)," ").concat(e).concat(o," params: ").concat(JSON.stringify(s,u))),BO.addFailedEvent({key:h,error:e}),e})):(BO.addSuccessEvent({key:h}),r)}catch(wk){let t=(wk=IF.convertFrom.call(this,wk,n)).extraCode||wk.code,r=null!=(l=wk.message)&&l.includes(t)?"":" code:".concat(t);throw d.error("".concat(n,"() failed ").concat(wk).concat(r," params: ").concat(JSON.stringify(s,u))),BO.addFailedEvent({key:h,error:wk}),wk}}))}var _B=e=>TP(((t,r)=>function(i,o){return Rb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new IF({code:gF.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(UD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new IF({code:gF.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return pB.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),gB=0,EB=class{constructor(e,t){Ab(this,"player"),Ab(this,"publisher"),Ab(this,"mixInput"),this.mixInput=new BL(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(VD(e.volume)||(this.volume=e.volume),VD(e.loop)||(this.loop=e.loop),VD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return null==(e=this.publisher)||e.play(),null==(t=this.player)?void 0:t.play()}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function vB(e,t){if(t&&"function"!=typeof t)throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var yB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"mixedMusicMap",new Map),Ab(this,"cacheMusicMap",new Map),gB+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(gB)}),this.log.info("[audioMixer] created id=".concat(this.getAlias()).concat(gB)),this.core=e}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Rb(this,null,(function*(){let{room:t}=this.core;this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new EB(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),this.mixedMusicMap.set(r,o),this.log.info("start mix audio track ".concat(r," success.")),BO.addEnum({key:502700,value:3}),this.kvUpload(e)}))}update(e){return Rb(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),VD(r)||n.setOperation(r),VD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Rb(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){var e;t.mixedMusicMap.has(r)&&(t.log.info("remove music source, music id: ".concat(r)),null==(e=t.mixedMusicMap.get(r))||e.stop(),t.mixedMusicMap.delete(r)),"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&BO.addCount({key:502711}),r&&BO.addCount({key:502703}),i&&BO.addCount({key:502704}),o&&BO.addCount({key:502705}),n&&BO.addCount({key:502706}),a&&BO.addCount({key:502707}),"function"!=typeof s&&BO.addCount({key:502709}),"function"!=typeof l&&BO.addCount({key:502710}),"function"!=typeof c&&BO.addCount({key:502708})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>this.stop({id:t})))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};Ab(yB,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new IF({code:gF.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});vB("onTimeUpdate",e.onTimeUpdate),vB("onEnded",e.onEnded),vB("onDurationChange",e.onDurationChange)}}),Ab(yB,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){vB("onTimeUpdate",e.onTimeUpdate),vB("onEnded",e.onEnded),vB("onDurationChange",e.onDurationChange)}}),Ab(yB,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Ab(yB,"Name","AudioMixer");var TB,IB=yB,AB=0,SB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"audioContext",xL()),Ab(this,"workletNode"),AB+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(AB)}),this.log.info("[audioDenoiser] created id=".concat(this.getAlias()).concat(AB)),e.assetsPath&&this.preload("".concat(e.assetsPath,"/denoiser-wasm.js")).catch((e=>{}))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new IF({code:gF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return TB||(TB=this.doPreload(e)),TB}doPreload(e){return Rb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield CL(this.audioContext,r)}catch(kk){throw this.log.error("load worklet failed",kk),kk}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser_".concat(Date.now())}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Rb(this,null,(function*(){let{room:t,schedule:r}=this.core;if(yield this.preload("".concat(e.assetsPath,"/denoiser-wasm.js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return Rb(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:o,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:n,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:o,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:n};let l="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 5:u="Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:n?"".concat(l," Reason: ").concat(n,". ").concat(u):"".concat(l,", ").concat(u)}}catch(n){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(n)}}}()}))}(r,Eb(gb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new IF({code:gF.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(Ub(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(){return Rb(this,null,(function*(){}))}stop(){return Rb(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};Ab(SB,"updateValidateRule",{type:"object"}),Ab(SB,"stopValidateRule",{type:"object"}),Ab(SB,"Name","AIDenoiser");var RB=SB;var bB=Tb(bb(),1),wB=class extends bB.EventEmitter{constructor(){super(),Ab(this,"observer"),Ab(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return Rb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!BC&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Gb){rL.uploadEvent({log:"stat-pressure-detector-start-failed",error:Gb})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&Ik.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(Ww){rL.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:Ww})}}},DB=new wB;function CB(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new MP(new DataView(new Uint8Array(a).buffer),!0)}function NB(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(CB),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let u=0;u<o.length;u++)for(let e=0;e<o[u].dataView.byteLength;e++)s.setInt8(l++,o[u].dataView.getInt8(e));for(let u=0;u<t.data.byteLength;u++)s.setInt8(l++,c.getInt8(u));return t.data=a,t}function kB(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new MP(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(Gb){}return t}var OB=0,MB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"_seiMessageList",[]),Ab(this,"_smallSeiMessageList",[]),Ab(this,"_subStreamSeiMessageList",[]),OB++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(OB)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(OB)),this.core=e,this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return NB({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(Ww){this.log.warn(Ww)}return t}decode(e){let{frame:t,track:r}=e;return kB({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(GF.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:IM?this.encode:NB,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:IM?this.decode:kB,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};Ab(MB,"autoStart",!0),Ab(MB,"Name","SEI");var LB=MB;function PB(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function xB(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var UB={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{UB["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var VB,FB=0,BB=class e{constructor(e){this.core=e,Ab(this,"_core"),Ab(this,"log"),Ab(this,"dumpLocalVideoMap",{}),Ab(this,"dumpRemoteVideoMap",{}),Ab(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++FB)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return Rb(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(){}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Rb(this,null,(function*(){var e;try{if(VB)yield VB;else{let t=Date.now(),r=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(Hb,"/assets/debug-dialog.js");VB=this.loadScript(r),yield VB,this.log.info("download debug dialog script cost: ".concat(Date.now()-t,"ms"))}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Gb){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Gb))}}))}closeDebugDiaLog(){var e;null==(e=this.dialog)||e.closeDialog(),this.dialog=null}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):PB,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):xB,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return PB({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return xB({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}loadScript(e){return new Promise(((t,r)=>{this.log.info("loading debug dialog from ".concat(e));let i=document.createElement("script");i.type="text/javascript",i.onload=t,i.onerror=r,i.crossOrigin="anonymous",i.src=e,document.head.append?document.head.append(i):document.getElementsByTagName("head")[0].appendChild(i)}))}};Ab(BB,"Name","Debug"),Ab(BB,"autoStart",!0),Ib([oL({settings:{timeout:3e3,retries:3},onError(e,t,r){var i;null!=(i=null==e?void 0:e.message)&&i.includes("timeout")?t():r(e)}})],BB.prototype,"loadScript",1);var HB=BB,jB=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},GB=class{constructor(e,t,r){Ab(this,"trackDoneOB"),Ab(this,"startOB"),Ab(this,"stopOB"),Ab(this,"inputFrameCount",0),Ab(this,"decodedFrameCount",0),Ab(this,"type","auto"),Ab(this,"config"),Ab(this,"decoder"),Ab(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=Ox(t,WM.INIT),this.stopOB=Ix(),this.startOB=Ix(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=Ix();tx(this.startOB,gx(0),kU((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),tx(r,eU(this.stopOB),ZU((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:jB(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),tx(r,Zx(1),XU(Wx))})),eU(this.stopOB),ZU((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:jB(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return lx()((t=>Rb(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(kk){e.log.error(kk),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},WB={type:"object"},KB=class e{constructor(e){this.core=e,Ab(this,"log"),Ab(this,"contextMap",new Map),Ab(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return WB}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new GB(this.core,i,e);return tx(o.trackDoneOB,Zx(1),ZU((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new GB(this.core,e.track,e))}}};Ab(KB,"Name","TRTCAudioDecoder");var zB=KB,qB=0,JB=new Set,YB=null;jb("5.10.1-wasm.5"),Sk.checkStorage(),OM();var XB={RtcError:IF,ErrorCode:gF,ErrorCodeDictionary:EF},$B=class e extends hF.EventEmitter{constructor(t,r){super(),Ab(this,"_room"),Ab(this,"_eventListened",new Set),Ab(this,"_localVideoTrack",null),Ab(this,"_localAudioTrack",null),Ab(this,"_localScreenTrack",null),Ab(this,"_localScreenAudioTrack",null),Ab(this,"_localVideoConfig",null),Ab(this,"_localScreenConfig",null),Ab(this,"_localAudioConfig",null),Ab(this,"_remoteVideoConfigMap",new Map),Ab(this,"_remoteAudioConfigMap",new Map),Ab(this,"_remoteAudioVolumeMap",new Map),Ab(this,"_remoteAudioMuteMap",new Map),Ab(this,"_mediaTrackMap",new WeakMap),Ab(this,"_log",Ik.createLogger({id:"t".concat(++qB)})),Ab(this,"_plugins",new Map),Ab(this,"_networkQuality",null),Ab(this,"_speakerId"),Ab(this,"_getPCMAbortCtrl"),this._room=new t(gb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(IB,r.assetsPath),this._use(RB,r.assetsPath),this._use(zB,r.assetsPath||tw),this._use(HB),r.enableSEI&&SM&&this._use(LB),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(GF.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new IF({code:gF.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(kk){let r=NO({key:bO.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return Ik.warn("".concat(r,"\n\n").concat(kk.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;fF&&(fF=!1,5!==Ik.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(ew,"/en/index.html")),console.info("* Changelog: ".concat(ew,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),Ik.info("TRTC Web SDK Version:",Hb),rk||Ik.debug("Build Time:","2025-04-25 17:35:59"),Ik.info("UA:",navigator.userAgent),Ik.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),lk().then((e=>{e&&Ik.info(ck)})))}();let i=new e(t,r||{});return JB.add(i),i}get room(){return this._room}_listenEvents(){eL(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(GF.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(GF.REMOTE_USER_EXIT,{userId:e}),this._remoteAudioVolumeMap.delete(e)})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(GF.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(GF.ERROR,IF.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(GF.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Eb(gb({},e),{uplinkRTT:Math.min(e.uplinkRTT,gD),downlinkRTT:Math.min(e.downlinkRTT,gD)});this.emit(GF.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{eL(t,t).add("player-state-changed",(r=>{let i=Eb(gb({},r),{userId:e.userId});t.kind===_w.VIDEO&&(i.streamType=KF(t.streamType)),this.emit(t.kind===_w.AUDIO?GF.AUDIO_PLAY_STATE_CHANGED:GF.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===Ob.PLAY_NOT_ALLOWED&&this.emit(GF.AUTOPLAY_FAILED,{userId:t.userId,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{tL(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._remoteVideoConfigMap.delete("".concat(i,"_main")),r.hasAuxiliary||this._remoteVideoConfigMap.delete("".concat(i,"_sub")),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?GF.REMOTE_VIDEO_AVAILABLE:GF.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?GF.REMOTE_AUDIO_AVAILABLE:GF.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?GF.REMOTE_VIDEO_AVAILABLE:GF.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(GF.SEI_MESSAGE,Eb(gb({},e),{streamType:KF(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(GF.ERROR,new IF({code:gF.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,gD),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/_O},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/_O},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type]})))})))};this.emit(GF.STATISTICS,l)})).add("custom-message",(e=>{this.emit(GF.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(GF.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},e),{streamType:KF(e.streamType)}))})),eL(this,QL).add("audioInputAdded",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(GF.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Rb(this,null,(function*(){if(this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),YB&&YB.deviceId===uD){let e=(yield oP()).find((e=>e.deviceId===uD));e&&YB.groupId!==e.groupId&&(YB=e,this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Rb(this,null,(function*(){this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield oP())[0];if(!t||!YB||YB.groupId===t.groupId)return;let r=YB.deviceId===e.deviceId,i=YB.deviceId===uD&&YB.deviceId===t.deviceId;(r||i)&&(YB=t,this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))}))))}use(e){let t,r;"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,this._use(t,r||tw)}_use(t,r){if(this._plugins.get(t.Name))return void this._log.warn("duplicate install plugin",t.Name);let i=new t(lB.call(this,{TRTC:e,room:this._room,errorModule:XB,assetsPath:r}));this._plugins.set(t.Name,i),t.autoStart&&this.startPlugin(t.Name)}enterRoom(t){return Rb(this,null,(function*(){var r,i;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!FD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,HD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),DB.start()}))}exitRoom(){return Rb(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e,t){return Rb(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){tL(this),this.removeAllListeners(),this._room.destroy(),JB.delete(this),0===JB.size&&DB.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),Ek.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Rb(this,arguments,(function(){var t=this;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(t._localAudioTrack)return void t._log.warn("local audio is already started");let{publish:i=!0,mute:o,option:n}=r,a=new OP(t._room.audioManager),s={},c={muted:!0};n&&(VD(n.microphoneId)?VD(n.audioTrack)||(s.customSource=n.audioTrack):s.deviceId=n.microphoneId,n&&BD(n.captureVolume)&&a.setCaptureVolume(n.captureVolume),VD(n.profile)||(FD(n.profile)?pw[n.profile]&&a.setProfile(pw[n.profile]):a.setProfile(n.profile)),BD(n.earMonitorVolume)&&(c.muted=!(n.earMonitorVolume>0),c.volume=n.earMonitorVolume),VD(n.echoCancellation)||(a.profile.echoCancellation=n.echoCancellation),VD(n.noiseSuppression)||(a.profile.noiseSuppression=n.noiseSuppression),VD(n.autoGainControl)||(a.profile.autoGainControl=n.autoGainControl)),a.on("5",(e=>{t.emit(GF.ERROR,new IF({code:gF.DEVICE_ERROR,extraCode:5309,messageParams:{error:e}}))})),a.on("2",(e=>{t.emit(GF.DEVICE_CHANGED,{type:"microphone",action:"active",device:e})})),a.on("4",(e=>{let r;e.error&&(r=IF.convertFrom(e.error)),t.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},e),{error:r}))})),t._listenOutputTrackChanged(a),t._speakerId&&a.setAudioOutput(t._speakerId),yield a.capture(s),VD(o)||a.setMute(o),eL(a,a).add("player-state-changed",(e=>{t.emit(GF.AUDIO_PLAY_STATE_CHANGED,Eb(gb({},e),{userId:""}))})),t.listeners(GF.AUDIO_FRAME).length>0&&(t._getPCMAbortCtrl=t._room.audioManager.getPCM((r=>{t.emit(e.EVENT.AUDIO_FRAME,{data:r})}))),t._getPCMAbortCtrl&&a.on("input-media-track-changed",(()=>{t._getPCMAbortCtrl&&(t._getPCMAbortCtrl.abort("inputMediaTrackChanged"),t._getPCMAbortCtrl=t._room.audioManager.getPCM((r=>{t.emit(e.EVENT.AUDIO_FRAME,{data:r})})))})),i&&t._room.isJoined&&t._room.publish(a).catch((()=>{})),t._localAudioTrack=a,t._localAudioConfig=Eb(gb({},r),{publish:i}),yield t._updateAudioPlayOption({playOption:c,track:a})}()}))}updateLocalAudio(e){return Rb(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):VD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),VD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),VD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!VD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),VD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),nC(this._localAudioConfig,e)}))}stopLocalAudio(){return Rb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),tL(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null,this._getPCMAbortCtrl&&(this._getPCMAbortCtrl.abort("stopLocalAudio"),delete this._getPCMAbortCtrl))}))}startLocalVideo(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:r,publish:i=!0,mute:o,option:n}=t,a=new xP(e._room.videoManager),s={},c={};HD(null==n?void 0:n.avoidCropping)&&(a.avoidCropping=n.avoidCropping),n&&(n.cameraId?s.deviceId=n.cameraId:VD(n.useFrontCamera)?VD(n.videoTrack)||(s.customSource=n.videoTrack):s.facingMode=n.useFrontCamera?_w.FACING_MODE_USER:_w.FACING_MODE_ENVIRONMENT,n.qosPreference&&(s.contentHint=zF(n.qosPreference)),VD(n.profile)||(FD(n.profile)?mw[n.profile]&&a.setProfile(mw[n.profile]):a.setProfile(n.profile)),VD(n.fillMode)||(c.objectFit=n.fillMode),VD(n.mirror)||(c.mirror=n.mirror),VD(n.small)||(cM()?FD(n.small)?a.small=mw[n.small]:!0===n.small?a.small=mw["120p"]:a.small=n.small:e._log.warn("small stream is not supported"))),a.once("first-video-frame",(t=>{e.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},t),{streamType:KF(t.streamType)}))})),a.on("5",(t=>{e.emit(GF.ERROR,new IF({code:gF.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),a.on("2",(t=>{e.emit(GF.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),a.on("4",(t=>{let r;t.error&&(r=IF.convertFrom(t.error)),e.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},t),{error:r}))})),e._listenOutputTrackChanged(a),yield a.capture(s),VD(o)||(yield a.setMute(o)),eL(a,a).add("player-state-changed",(t=>{e.emit(GF.VIDEO_PLAY_STATE_CHANGED,Eb(gb({},t),{userId:"",streamType:"main"}))})),i&&e._room.isJoined&&e._room.publish(a).catch((()=>{})),e._localVideoTrack=a,e._localVideoConfig=Eb(gb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:a})}()}))}updateLocalVideo(e){return Rb(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:r,mute:i,option:o}=e,n={};if(o)if(VD(o.profile)||(FD(o.profile)?mw[o.profile]&&this._localVideoTrack.setProfile(mw[o.profile]):this._localVideoTrack.setProfile(o.profile),(!o.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(o.cameraId))&&VD(o.useFrontCamera)&&this._localVideoTrack.applyProfile()),o.cameraId?yield this._localVideoTrack.switchDevice(o.cameraId):VD(o.useFrontCamera)?VD(o.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(o.videoTrack)):yield this._localVideoTrack.switchDevice(o.useFrontCamera?_w.FACING_MODE_USER:_w.FACING_MODE_ENVIRONMENT),VD(o.fillMode)||(n.objectFit=o.fillMode),VD(o.mirror)||(n.mirror=o.mirror),o.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(zF(o.qosPreference)),o.small){let e=!this._localVideoTrack.small;cM()?(!0===o.small?this._localVideoTrack.small=mw["120p"]:FD(o.small)?this._localVideoTrack.small=mw[o.small]:this._localVideoTrack.small=o.small,this._room.videoManager.update(),e&&this._room.enableSmall(!0)):this._log.warn("small stream is not supported")}else!1===o.small&&this._localVideoTrack.small&&(delete this._localVideoTrack.small,this._room.videoManager.update(),this._room.enableSmall(!1));this._room.isJoined&&!VD(r)&&(r&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!r&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),VD(i)||(yield this._localVideoTrack.setMute(i)),yield this._updateVideoPlayOption({view:t,playOption:n,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),nC(this._localVideoConfig,e)}))}stopLocalVideo(){return Rb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),tL(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:r=null,publish:i=!0,option:o}=t,n=new FP(e._room.videoManager);n.on("4",(t=>{let r;t.error&&(r=IF.convertFrom(t.error)),e.emit(GF.PUBLISH_STATE_CHANGED,Eb(gb({},t),{error:r}))})),n.once("first-video-frame",(t=>{e.emit(GF.FIRST_VIDEO_FRAME,Eb(gb({},t),{streamType:KF(t.streamType)}))})),e._listenOutputTrackChanged(n),"main"===t.streamType&&(n.mediaType=4);let a=null,s={},c={};o&&(VD(o.profile)||(FD(o.profile)?fw[o.profile]&&n.setProfile(fw[o.profile]):n.setProfile(o.profile)),o.systemAudio&&(s.systemAudio=!0,s.echoCancellation=o.echoCancellation,s.noiseSuppression=o.noiseSuppression,s.autoGainControl=o.autoGainControl),VD(o.fillMode)||(c.objectFit=o.fillMode),o.videoTrack&&(s.videoTrack=o.videoTrack),o.audioTrack&&(s.audioTrack=o.audioTrack),o.captureElement&&(s.captureElement=o.captureElement),o.preferDisplaySurface&&(s.preferDisplaySurface=o.preferDisplaySurface),o.qosPreference&&(s.contentHint=zF(o.qosPreference)));let l=yield n.capture(s);if(n.mediaTrack.addEventListener(_w.ENDED,(()=>{e._stopScreenShare(),e.emit(GF.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(a=new HP(e._room.audioManager),yield a.setInputMediaStreamTrack(l.getAudioTracks()[0]),e._speakerId&&a.setAudioOutput(e._speakerId)),eL(n,n).add("player-state-changed",(t=>{e.emit(GF.VIDEO_PLAY_STATE_CHANGED,Eb(gb({},t),{userId:"",streamType:"sub"}))})),i&&e._room.isJoined){let t=[n];a&&t.push(a),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=n,e._localScreenAudioTrack=a,e._localScreenConfig=Eb(gb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:n})}()}))}updateScreenShare(e){return Rb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:r,option:i}=e,o={};if(i&&(VD(i.fillMode)||(o.objectFit=i.fillMode),i.qosPreference)){let e=zF(i.qosPreference);this._localScreenTrack.setContentHint(e)}this._room.isJoined&&!VD(r)&&(r&&!this._localScreenConfig.publish&&(this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.publish(this._localScreenAudioTrack).catch((()=>{}))),this._localScreenConfig.publish&&!r&&(this._room.unpublish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.unpublish(this._localScreenAudioTrack).catch((()=>{})))),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),nC(this._localScreenConfig,e)}))}stopScreenShare(){return Rb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Rb(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;this._listenOutputTrackChanged(c),o&&(VD(o.fillMode)||(s.objectFit=o.fillMode),VD(o.mirror)||(s.mirror=o.mirror),VD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!VD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!VD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Rb(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(VD(a.fillMode)||(l.objectFit=a.fillMode),VD(a.mirror)||(l.mirror=a.mirror));let u=null,d=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=d&&d.muteState.hasVideo&&(u=d.remoteVideoTrack),"sub"===n&&null!=d&&d.muteState.hasAuxiliary&&(u=d.remoteAuxiliaryTrack),!u)return;let{config:h}=c;"main"===n&&a&&!VD(a.small)&&this._room.changeType(a.small,u.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:u,prevConfig:h}),nC(h,e);let p=VD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=VD(i)?h.view:i,f=VD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:u,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Rb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Rb(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));let o=this._remoteVideoConfigMap.get("".concat(e.userId,"_").concat(e.streamType));o&&o.observer&&o.observer.disconnect(),this._remoteVideoConfigMap.delete("".concat(e.userId,"_").concat(e.streamType))}))}muteRemoteAudio(e,t){return Rb(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(kk){throw this._remoteAudioMuteMap.delete(e),kk}}))}setRemoteAudioVolume(e,t){if("*"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return Rb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Rb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Rb(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(t,r,i){return this.listeners(t).includes(r)||(this._log.debug("on",t),super.on(t,r,i),this._eventListened.add(t),t===e.EVENT.AUDIO_FRAME&&!this._getPCMAbortCtrl&&(this._getPCMAbortCtrl=this._room.audioManager.getPCM((t=>{this.emit(e.EVENT.AUDIO_FRAME,{data:t})})),this._localAudioTrack&&this._localAudioTrack.on("input-media-track-changed",(()=>{this._getPCMAbortCtrl&&(this._getPCMAbortCtrl.abort("inputMediaTrackChanged"),this._getPCMAbortCtrl=this._room.audioManager.getPCM((t=>{this.emit(e.EVENT.AUDIO_FRAME,{data:t})})))})))),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{WF.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(kk){}return super.emit(e,...r)}off(t,r,i){var o,n;return this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners(),null==(o=this._getPCMAbortCtrl)||o.abort("off"),delete this._getPCMAbortCtrl):(super.off(t,r,i),t===e.EVENT.AUDIO_FRAME&&(null==(n=this._getPCMAbortCtrl)||n.abort("off"),delete this._getPCMAbortCtrl)),this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(FD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return Rb(this,null,(function*(){(yield oP()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),YB=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return Rb(this,null,(function*(){let{userId:t}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let r=this._room.remotePublishedUserMap.get(t);if(!r)return;let i={},o=r.remoteAudioTrack;this._listenOutputTrackChanged(o),this._speakerId&&o.setAudioOutput(this._speakerId);try{let r=this._remoteAudioVolumeMap.get(t),n=BD(r)?r:100;i.volume=n,this._remoteAudioConfigMap.set(t,e),yield this._room.subscribe(o),tx(Ox(o,"decode-failed"),eU(Ox(o,WM.INIT)),ZU((()=>{this.startPlugin(zB.Name,{track:o,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:i,track:o})}catch(Ok){throw this._remoteAudioConfigMap.delete(t),Ok}this._emitTrackEvent(o)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Rb(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId))}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),tx(Ox(e,"decode-failed"),eU(Ox(e,WM.INIT)),eV((()=>{this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),MU(Ox(e,"decode-downgrade-state-changed")),ZU((i=>{r=i.state,this.emit(GF.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Eb(gb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Rb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),VD(t)&&o&&o.view&&!tC(r)){let e=sC(o.view);e.length>0&&(yield i.play(e,r))}if(!VD(t)){let e=sC(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Rb(this,arguments,(function(e){let{playOption:t={},track:r,prevConfig:i}=e;return function*(){if(!r.isPlayCalled)try{yield r.play(null,t)}catch(Wb){}VD(t.muted)||r.setPlayerMute(t.muted),VD(t.volume)||r.setAudioVolume(t.volume/100)}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(GF.TRACK,{userId:r,streamType:KF(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(VD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(KF(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||GD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting)})),clearTimeout(c),c=window.setTimeout((()=>{let e=[...s.values()].find((e=>e));t.log.info("view is".concat(e?"":" not"," visible")),e?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(sC(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return Rb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._remoteAudioVolumeMap.clear(),function(e){let t=uB.get(e);t&&(t.forEach((e=>clearTimeout(e))),uB.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{tL(e.remoteAudioTrack),tL(e.remoteVideoTrack),tL(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Rb(this,null,(function*(){var e;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),tL(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!YB||ZL(YB))&&(this._initActiveSpeaker(),Ek.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Rb(this,null,(function*(){if(YB&&!ZL(YB))this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:YB});else{let e=yield oP();e[0]&&!ZL(e[0])?(YB=e[0],this.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):Ek.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:Eb(gb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),BO.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),BO.addCount({key:500001,useUV:!0})}static setLogLevel(e,t){Ik.setLogLevel(e),VD(t)||(t?Ik.enableUploadLog():Ik.disableUploadLog())}static isSupported(){return QO()}static getCameraList(){return rP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return tP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return oP(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Rb(this,null,(function*(){if(!BC||t!==_F.SPEAKER&&t!==_F.HEADSET)(yield oP()).forEach((e=>{e.deviceId===t&&(JB.forEach((r=>{r._setCurrentSpeaker(t),r.emit(GF.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),YB=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;JB.forEach((e=>Rb(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a}=e;switch(a&&(FO.version=a),t){case"count":FO.addCount({key:r,useUV:n});break;case"enum":FO.addEnum({key:r,value:i,useUV:n});break;case"number":FO.addNumber({key:r,value:i,split:o})}}};Ab($B,"_loggerManager",Ik),Ab($B,"EVENT",GF),Ab($B,"ERROR_CODE",gF),Ab($B,"TYPE",_F),Ab($B,"frameWorkType",30),Ib([fB({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],$B.prototype,"use",1),Ib([dB(kF.TRTC.enterRoom),BF("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),TP((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),fB()],$B.prototype,"enterRoom",1),Ib([fB()],$B.prototype,"exitRoom",1),Ib([dB(kF.TRTC.switchRole),HF("room",{merge:(e,t)=>t}),fB()],$B.prototype,"switchRole",1),Ib([fB()],$B.prototype,"destroy",1),Ib([dB(kF.TRTC.startLocalAudio),BF("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),fB()],$B.prototype,"startLocalAudio",1),Ib([dB(kF.TRTC.updateLocalAudio),HF("audio",{debounce:{delay:200,getKey:()=>"".concat(qB,"-localAudio"),isNeedToDebounce:e=>{var t;return!VD(null==(t=e.option)?void 0:t.captureVolume)}}}),fB()],$B.prototype,"updateLocalAudio",1),Ib([jF("audio"),fB()],$B.prototype,"stopLocalAudio",1),Ib([dB(kF.TRTC.startLocalVideo),BF("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),fB()],$B.prototype,"startLocalVideo",1),Ib([dB(kF.TRTC.updateLocalVideo),HF("video"),fB()],$B.prototype,"updateLocalVideo",1),Ib([jF("video"),fB()],$B.prototype,"stopLocalVideo",1),Ib([dB(kF.TRTC.startScreenShare),BF("screen",(()=>!0)),fB()],$B.prototype,"startScreenShare",1),Ib([dB(kF.TRTC.updateScreenShare),HF("screen"),fB()],$B.prototype,"updateScreenShare",1),Ib([fB()],$B.prototype,"stopScreenShare",1),Ib([dB(kF.TRTC.startRemoteVideo),BF((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"startRemoteVideo",1),Ib([dB(kF.TRTC.updateRemoteVideo),HF((e=>"v".concat(e.userId).concat(e.streamType))),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"updateRemoteVideo",1),Ib([dB(kF.TRTC.stopRemoteVideo),TP((e=>function(t){return Rb(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),fB({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],$B.prototype,"stopRemoteVideo",1),Ib([jF((e=>"v".concat(e.userId).concat(e.streamType)))],$B.prototype,"_stopRemoteVideo",1),Ib([dB(...kF.TRTC.muteRemoteAudio),fB({getRemoteId:e=>e})],$B.prototype,"muteRemoteAudio",1),Ib([hB(...kF.TRTC.setRemoteAudioVolume),function(e,t){return TP(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=uB.get(this);a||(a=new Map,uB.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=uB.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=uB.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),fB({getRemoteId:e=>e})],$B.prototype,"setRemoteAudioVolume",1),Ib([_B("start"),yP((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),BF(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>PO[e.getName()],ignoreLog:e=>"Debug"===e.getName()})],$B.prototype,"startPlugin",1),Ib([_B("update"),HF(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>xO[e.getName()]})],$B.prototype,"updatePlugin",1),Ib([_B("stop"),jF(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),fB({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>UO[e.getName()]})],$B.prototype,"stopPlugin",1),Ib([hB(...kF.TRTC.enableAudioVolumeEvaluation)],$B.prototype,"enableAudioVolumeEvaluation",1),Ib([fB()],$B.prototype,"getVideoSnapshot",1),Ib([fB()],$B.prototype,"_setCurrentSpeaker",1),Ib([BF((e=>"a".concat(e.userId)),(()=>!0))],$B.prototype,"_startRemoteAudio",1),Ib([TP((e=>function(t){return Rb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Eb(gb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),jF((e=>"a".concat(e.userId)))],$B.prototype,"_stopRemoteAudio",1),Ib([jF("room")],$B.prototype,"_exitRoom",1),Ib([jF("screen")],$B.prototype,"_stopScreenShare",1),Ib([dB(...kF.TRTC.sendSEIMessage),pF({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],$B.prototype,"sendSEIMessage",1),Ib([dB(kF.TRTC.sendCustomMessage),pF({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],$B.prototype,"sendCustomMessage",1),Ib([dB(kF.TRTC.create)],$B,"_create",1);var QB=$B,ZB=class{constructor(e,t){Ab(this,"_flag"),Ab(this,"terminalType"),Ab(this,"userId"),Ab(this,"tinyId"),Ab(this,"role"),Ab(this,"remoteAudioTrack"),Ab(this,"remoteVideoTrack"),Ab(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new nV(e,this),this.remoteVideoTrack=new SV(e,this),this.remoteAuxiliaryTrack=new RV(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return rC(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},eH=class{constructor(){Ab(this,"_set",new Set),Ek.on(yk.LEAVE_SUCCESS,this.delete,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}};function tH(){return Rb(this,null,(function*(){let e,t;try{let t=yield tP();e=t&&t.length}catch(d){}try{let e=yield rP();t=e&&e.length}catch(d){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a}=this.checkSystemResult.detail,s=Rk.basis(),c={webRTC:s.isWebRTCSupported,getUserMedia:s.isGetUserMediaSupported,webSocket:s.isWebSocketsSupported,screenShare:s.isScreenShareSupported,webAudio:s.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a},l={browser:s.browser,os:s.os,trtc:c,devices:r},u={isWebCodecSupported:s.isWebCodecSupported,isMediaSessionSupported:s.isMediaSessionSupported,isWebTransportSupported:s.isWebTransportSupported};rL.uploadEvent({log:"trtcstats-".concat(JSON.stringify(l)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(l))),rL.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(u)),userId:this.userId})}))}var rH=class{constructor(e){Ab(this,"_frameWorkType"),Ab(this,"_component"),Ab(this,"_language"),Ab(this,"connectionType"),Ab(this,"_room"),Ab(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),Ab(this,"_keyPrefix"),Ab(this,"_log"),Ab(this,"_intervalId"),Ab(this,"_firstPublishedUserList"),Ab(this,"_networkQuality"),Ab(this,"_basicInfo"),Ab(this,"_pathJoinRoom"),Ab(this,"_pathLeaveRoom"),Ab(this,"_pathMainVideoMap"),Ab(this,"_pathMainAudioMap"),Ab(this,"_pathAuxiliaryMap"),Ab(this,"_remoteStreamStatMap"),Ab(this,"_localStreamStat"),Ab(this,"_eventMap",new Map),Ab(this,"_captureCostSum",0),Ab(this,"_captureCostCount",0),Ab(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=Ik.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&UD(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return zD(n)?n.catch((e=>Ik.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(Ww){Ik.error("".concat(t.name,"() error observed ").concat(Ww))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:Hb,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,lk().then((e=>{this._basicInfo.string_os_version=mk(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),Ek.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(yk.JOIN_START,this.handleJoinStart).addEvent(yk.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(yk.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(yk.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(yk.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(yk.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(yk.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(yk.JOIN_FAILED,this.handleJoinFailed).addEvent(yk.LEAVE_START,this.handleLeaveStart).addEvent(yk.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(yk.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(yk.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(yk.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(yk.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(yk.PUBLISH_START,this.handlePublishStart).addEvent(yk.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(yk.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(yk.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(yk.PLAY_TRACK_START,this.handlePlayStart).addEvent(yk.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===_w.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(yk.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(yk.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(yk.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(yk.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>Ek.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),XM.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(VD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),VD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),VD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof Lb?Number(r.getExtraCode()||r.getCode()):Ob.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time&&(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time?this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time:this._log.warn("pathJoinRoom endTime is 0"),this.report())}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:Eb(gb({},oH),{msg_user_info:new nH({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new nH({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),u="".concat(n,"_").concat(i),d=this._remoteStreamStatMap.get(u);d&&0===d.subscribeStartTime&&(d.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(u)&&this._pathMainVideoMap.set(u,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(u)&&this._pathMainAudioMap.set(u,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(u)&&this._pathAuxiliaryMap.set(u,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,BO.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/_O*100)>0&&(this._localStreamStat.totalAudioLevel+=e/_O,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*fb(10,6)))}})),!tC(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/_O*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/_O,t.audioLevelCount++))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0))}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof Lb?r.getExtraCode()||r.getCode():Ob.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&yw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Aw))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Iw))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,_w.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,_w.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,iH));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>iH&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+iH):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>iH&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+iH):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>iH&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+iH)}getReportData(){this._basicInfo.uint32_networkType=RD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new nH({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:oC(this._signalInfo.relayIp),uint32_client_ip:oC(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*fb(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:oC(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return _C(e),e}report(){return Rb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(Nk){this._log.warn(Nk)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Rb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=yield TC(e),i=r instanceof ArrayBuffer,o="".concat(yD(t,aw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(BO),this.uploadKVStat(FO)];n||a.push(yC({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Rb(this,null,(function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Eb(gb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=yield TC(t),i="".concat(yD(+this._room.sdkAppId,aw.KV_STAT),"&gzip=").concat(+(r instanceof ArrayBuffer)),o=!1;navigator.sendBeacon&&(o=navigator.sendBeacon(i,r)),o||yC({url:i,body:r})}))}};Ib([oL({settings:{timeout:500,retries:3}})],rH.prototype,"upload",1);var iH=5e3,oH={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},nH=class{constructor(e){Ab(this,"str_identifier"),Ab(this,"str_tinyid"),Ab(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},aH=rH,sH=class{constructor(){Ab(this,"_startTime"),Ab(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=$D())}stop(){0===this._endTime&&(this._endTime=$D())}getDuration(){return 0===this._endTime?$D()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},cH=class{constructor(e){Ab(this,"_room",null),Ab(this,"_durationMap"),Ab(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(yk.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(yk.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),_w.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),_w.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),_w.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,_w.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,_w.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,_w.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>Ek.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>Ek.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new sH,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===_w.AUDIO?[o]:[],video:t===_w.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},lH=class{constructor(e){Ab(this,"_room"),Ab(this,"_renderFreezeMap",new Map),Ab(this,"_isVideoPlayingEventFiredMap",new Map),Ab(this,"_dataFreezeMap",new Map),Ab(this,"_monitorFreezeData",new Map),Ab(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(yk.PLAY_TRACK_START,this.onPlayTrackStart).set(yk.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(yk.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===_w.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===_w.MUTE?this.onVideoTrackMuted(t):i===_w.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(yk.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>Ek.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>Ek.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new sH;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;this.hitTest(t)&&r.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:r,muteState:i}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&i.hasVideo&&!i.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&i.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))}))}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();a>eD?this._monitorFreezeData.set(t,{userId:r,type:i,duration:a}):o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}handleRenderFreeze(e){return Rb(this,arguments,(function(e){var t=this;let{userId:r,fps:i,type:o}=e;return function*(){let e="".concat(r,"_").concat(o),n=t._renderFreezeMap.get(e);if(i<=2){let i=$D();n&&!n.isFreeze&&(n.freezeTimeline.push({startTime:i,endTime:0}),n.isFreeze=!0),n||t._renderFreezeMap.set(e,{userId:r,type:o,isFreeze:!0,freezeTimeline:[{startTime:i,endTime:0}],renderFreezeTotal:0})}else if(n&&n.isFreeze){n.isFreeze=!1;let e=n.freezeTimeline.pop();if(e){e.endTime=$D();let t=e.endTime-e.startTime;n.freezeTimeline.push(e),n.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==_w.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<eD&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t=this._renderFreezeMap.get(e),r=0,i=0;if(t)if(t.isFreeze){let e=$D()-t.freezeTimeline[t.freezeTimeline.length-1].startTime;r=t.renderFreezeTotal+Math.min(e,5e3),i=t.freezeTimeline.length}else r=t.renderFreezeTotal;return{renderFreeze:r,count:i}}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},uH=Tb(bb(),1),dH=[1,0,0,0,1,1,0,1],hH=class extends cV{constructor(e,t){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"mirror",logger:t}),e instanceof IV)try{this.setTexBuffer(dH)}catch(Ww){e.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(Ww.message||Ww)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.save(),this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0);let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}},pH=class{constructor(e,t){this.node=e,this.layout=t,Ab(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}},mH=class extends cV{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),Ab(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let r=new pH(e,t);this.inputs[t.zIndex]=r}resize(e,t){let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof IV&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.resize(0,0),e}removeInput(e){this.inputs[this.inputs.findIndex((t=>(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),!this.inputs.reduce(((t,r)=>(!r||!r.node.requestFrame(e))&&t),!0)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(!this.inputs.reduce(((t,r)=>(!r||!r.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&this.draw2d(t.node.image,t.x,t.y,t.width,t.height)}return!0}return!1}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},gb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t,r;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context instanceof IV))try{null==(r=this.context.ctx)||r.deleteBuffer(e.positionBuffer)}catch(Lk){}}))}},fH=class extends EV{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,logger:e.log}),Ab(this,"_bgTexture"),Ab(this,"_waterMarkTexture"),Ab(this,"_lastMaskTexture"),Ab(this,"_lastMaskFbo"),Ab(this,"_textureValid",!1),Ab(this,"_selfieTextureValid",!1),Ab(this,"_selfieSegmentation"),Ab(this,"wasm"),Ab(this,"_prePrograme"),Ab(this,"_segmentationMask"),Ab(this,"_weixin",!1),t.selfieSegmentation&&(this._selfieSegmentation=t.selfieSegmentation,this._selfieSegmentation.onResults=this.onPredict.bind(this));try{this.init(t)}catch(kk){e.log.error(kk),e.destroy(new Lb({code:Ob.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(kk.message||kk)}))}}init(e){let t=e.Wasm,r=this.context.ctx;if(this.wasm=new t.AllIn1(r),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"green"===e.bg?3:0,e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}if(this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),r.uniform1i(r.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(r.uniform1i(r.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(r.uniform1i(r.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image)),r.uniform1i(r.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(r.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(r.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),r.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),r.uniform1i(r.getUniformLocation(this._prePrograme,"mask"),1)}}onPredict(e){var t;let r=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture))),this.useProgram(),this._weixin?this.useTexture():null==this||this._selfieSegmentation.bindTexture(),r.activeTexture(r.TEXTURE1),null==(t=this._selfieSegmentation)||t.bindTexture2d(e),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this._bgTexture||null),r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this._waterMarkTexture||null),this.useBufferFrame(),r.drawArrays(r.TRIANGLE_STRIP,0,4),this._segmentationMask=e,this.totalFrames++}render(e){var t,r,i,o;let n=this.context.ctx,{image:a}=this;this.tryVideoFrameCallback(a);let{videoWidth:s,videoHeight:c}=a;if(0===s||0===c)return!1;a.width=s,a.height=c;let l=!1;if(this.totalFrames)this._weixin?this.useTexture():null==(t=this._selfieSegmentation)||t.bindTexture(),l=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),l=this._textureValid,this._textureValid=!0}return this.width===s&&this.height===c&&l?n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,a):(this.resize(s,c),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,a)),this._weixin&&(n.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask&&(n.activeTexture(n.TEXTURE1),null==(r=this._selfieSegmentation)||r.bindTexture2d(this._segmentationMask),n.bindFramebuffer(n.FRAMEBUFFER,this._lastMaskFbo||null)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null==(i=this._selfieSegmentation)||i.bindTexture(),this._segmentationMask?n.copyTexSubImage2D(n.TEXTURE_2D,0,0,0,0,0,s,c):n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,0,0,s,c,0)),null==(o=this._selfieSegmentation)||o.send(s,c),this.totalFrames||(n.activeTexture(n.TEXTURE2),n.bindTexture(n.TEXTURE_2D,this._bgTexture||null),n.activeTexture(n.TEXTURE3),n.bindTexture(n.TEXTURE_2D,this._waterMarkTexture||null),n.drawArrays(n.TRIANGLE_STRIP,0,4)),!1}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),null==(e=this.wasm)||e.close()}},_H=class extends cV{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),Ab(this,"yTextureRef"),Ab(this,"uTextureRef"),Ab(this,"vTextureRef"),Ab(this,"Y"),Ab(this,"U"),Ab(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},gH=[e=>{e.codec="avc1.420028"},e=>{delete e.hardwareAcceleration}],EH=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var vH=0,yH=class{constructor(e){Ab(this,"id",vH++),Ab(this,"trackDoneOB"),Ab(this,"startOB"),Ab(this,"stopOB"),Ab(this,"decoder"),Ab(this,"videoContext"),Ab(this,"gop",0),Ab(this,"gop_helper",0),Ab(this,"waitFirstKeyFrame",!0),Ab(this,"startTimestamp",0),Ab(this,"startTime",0),Ab(this,"startPerformanceTime",0),Ab(this,"inputFrameCount",0),Ab(this,"decodedFrameCount",0),Ab(this,"decodeFrameCount",0),Ab(this,"downgradeLevel",0),Ab(this,"lastDowngradeTime",0),Ab(this,"lastFrameDiff",0),Ab(this,"lastDecodeFrameTimestamp",0),Ab(this,"config"),Ab(this,"gop_before_configure",[]),Ab(this,"videoElement"),Ab(this,"type","wasm"),Ab(this,"goodType"),Ab(this,"renderer","2d"),Ab(this,"wasmOption"),Ab(this,"createDecoder"),Ab(this,"_decodeSink"),Ab(this,"isReported",!1),Ab(this,"track"),Ab(this,"stateChangeOB"),Ab(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=Ix(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=Ox(t.availableState,WM.OFF),this.stopOB=Ix(),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),tx(this.stateChangeOB,IU(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),eU(this.stopOB),ZU()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=tx(this.pipe(this.track),eU(this.stopOB),lx());tx(t,ZU((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),BO.addFailedEvent({key:EH(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED");else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),BO.addSuccessEvent({key:EH(this.type,this.renderer)}),BO.addSuccessEvent({key:514704})}))),tx(t,Zx(1),ZU((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!YO()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=$D()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>Rb(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;i&&(e.player.setCanvas(),e.setInputMediaStreamTrack(i)),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":for(let e=0;e<=gH.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===gH.length)return void t.error(3);gH[e](this.config)}r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new IV({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(IV.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new _H(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new AV({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let i=this.videoContext.createVideoImageSource();r.on("videoFrame",(r=>{try{i.image=r,i.update()}catch(o){delete this.goodType,e.log.error(o),t.error(11)}}));let o=new hV(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(Ok){e.log.error(Ok),t.error("webCodecs"===n?2:6)}}))}},TH=class extends uH.EventEmitter{constructor(e){super(),this.room=e,Ab(this,"videoContext"),Ab(this,"_glVideoContext"),Ab(this,"_2dVideoContext"),Ab(this,"destination"),Ab(this,"smallVideoContext"),Ab(this,"smallDestination"),Ab(this,"smallTrackSource"),Ab(this,"smallImageSource"),Ab(this,"_isMirror",!1),Ab(this,"cameraTrack"),Ab(this,"cameraNode"),Ab(this,"mirrorNode"),Ab(this,"mixNode"),Ab(this,"screenTrack"),Ab(this,"screenNode"),Ab(this,"selfModel",!1),Ab(this,"blurRadius",3),Ab(this,"arTrack"),Ab(this,"Wasm"),Ab(this,"waterMarkNode"),Ab(this,"_waterMarkOption"),Ab(this,"watermarkImageList",[]),Ab(this,"_beautyParams"),Ab(this,"isUsingArTrack",!1),Ab(this,"_isMixScreen",!1),Ab(this,"_virtualBackground"),Ab(this,"_virtualBackgroundAbortCallback"),Ab(this,"virtualBackgroundInstance"),Ab(this,"_bgAssetPath"),Ab(this,"log",Ik.createLogger({id:"vm"})),Ab(this,"_checkId",0),Ab(this,"_use2d",!1),Ab(this,"_autoSwitchRenderMode",!0),Ab(this,"_selfieSegmentation"),Ab(this,"encodePipeline",[]),Ab(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new AV({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new AV({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new IV({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(IV.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(Gb){this.emit("error",Gb)}}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=XM.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),XM.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(JN||this._isMixScreen||this._isMirror||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?BO.addFailedEvent({key:t,error:e}):BO.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new IV({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}initVirtualBackground(e){return this._selfieSegmentation=e,this._selfieSegmentation.changeModel()}setSmallVideo(e,t){if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new fV(this.smallVideoContext,e,this.log),this.smallVideoContext.on(IV.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource"),this.smallTrackSource.connect(this.smallDestination)))}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;this.setSmallVideo(i,e),JN&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this._selfieSegmentation&&e&&!this._use2d&&(this._selfieSegmentation._glName||this._selfieSegmentation.setCanvas(e)),this.log.info("set main output ".concat(n?n.label:"no output track")),r.setOutputMediaStreamTrack(n)}catch(kk){this.log.error("set main output failed",kk)}}update(){return Rb(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams?(this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log})),16===QN?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof EV?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof EV?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height)):(this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():this.destination=new mV(this.videoContext,{name:"mainDestination",logger:this.log}),this.cameraNode=new fH(this.videoContext,{input:this.cameraTrack.mediaTrack,width:r.width,height:r.height,mirror:this._isMirror,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,selfieSegmentation:this._selfieSegmentation,Wasm:this.Wasm}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute()),this.videoContext.frameRate=i.frameRate,this._use2d){let r=this.cameraNode;r.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new hH(this.videoContext,this.log)),r=r.connect(this.mirrorNode),r.disconnect(),this.log.info("start mirror")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new mH(this.videoContext,this.log),r.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource")),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),r=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))),r.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e){var t,r,i,o;if(e instanceof FP)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof xP)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof SV){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}this.log.warn("change unknown input",null==(o=e.mediaTrack)?void 0:o.label)}removeInput(e){var t;e instanceof FP?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof xP?(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof SV&&e.source&&e.source.context.destroy()}setCameraTrack(e){return Rb(this,null,(function*(){this.cameraTrack=e,this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}getWatermarkImage(e,t){return Rb(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new Lb({code:Ob.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((e=>{let{image:t,x:r,y:o,width:n,height:a}=e;i.drawImage(t,r,o,n,a)})),mC(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return Rb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Rb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return Rb(this,null,(function*(){var t,r;let i;try{i=yield mC((null==e?void 0:e.imageElement)||e.imageUrl)}catch(u){throw new Lb({code:Ob.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:o=0,y:n=0,width:a=i.width,height:s=i.height,type:c="watermark",zIndex:l=2}=e;this.watermarkImageList.some((e=>e.type===c))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==c)),this.pushWaterMarkImageList({x:o,y:n,width:a,height:s,image:i,zIndex:l,type:c,imageUrl:e.imageUrl}),i=yield this.getWatermarkImage(null==(t=this.cameraTrack)?void 0:t.settings.width,null==(r=this.cameraTrack)?void 0:r.settings.height),this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(i.width,i.height),this.waterMarkNode.image=i):this.update()):(this.pushWaterMarkImageList({x:o,y:n,width:a,height:s,image:i,zIndex:l,type:c,imageUrl:e.imageUrl}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return Rb(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return Rb(this,null,(function*(){var e,t,r;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let i=yield this.getWatermarkImage(null==(t=this.cameraTrack)?void 0:t.settings.width,null==(r=this.cameraTrack)?void 0:r.settings.height);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return Rb(this,null,(function*(){if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield mC(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type)}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new Lb({code:Ob.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isMirror||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update())}get mirror(){return this._isMirror}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return Rb(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new yH(e)}clear(){var e;null==(e=this.videoContext)||e.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};Ib([function(e){return TP(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Rb(this,null,(function*(){try{return yield t.apply(this,i)}catch(kk){e.call(this,kk)}}))}))}((function(e){this.log.error("update failed",e)}))],TH.prototype,"update",1);var IH=0,AH=class extends WM{constructor(e){super("room"),Ab(this,"seq",++IH),Ab(this,"sdkAppId"),Ab(this,"userId"),Ab(this,"userSig"),Ab(this,"privateMapKey"),Ab(this,"latencyLevel"),Ab(this,"tinyId"),Ab(this,"scene"),Ab(this,"roomId"),Ab(this,"useStringRoomId"),Ab(this,"role","anchor"),Ab(this,"joinParams",null),Ab(this,"localTracks",new Set),Ab(this,"enableAutoPlayDialog",!0),Ab(this,"autoReceiveAudio",!0),Ab(this,"autoReceiveVideo",!0),Ab(this,"proxy_ws"),Ab(this,"proxy_wt"),Ab(this,"proxy_unified"),Ab(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0}}),Ab(this,"keyPointManager"),Ab(this,"audioManager"),Ab(this,"videoManager"),Ab(this,"callDurationCalculator"),Ab(this,"badCaseDetector"),Ab(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Ab(this,"videoDecodeFallbackType"),Ab(this,"_isUsingCachedSchedule",!1),Ab(this,"_log",Ik.createLogger({id:"r".concat(this.seq)})),Ab(this,"_joinedTimestamp",0),Ab(this,"_sdkType"),Ab(this,"heartbeatReport"),Ab(this,"quality"),Ab(this,"enableSEI"),Ab(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,HD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),HD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),HD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new aH({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new cH({room:this}),this.badCaseDetector=new lH({room:this}),this.audioManager=new GP(this),this.videoManager=new TH(this)}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return Rb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Rb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Rb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(FD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(MD(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(eB([n,n]),Yb("https://".concat(n))):(i&&Yb(i),o&&eB(o))}Ek.once(yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:ZF.main,sched_back_domain:ZF.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Rb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Rb(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return Rb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(wO.INVALID_DESTROY),new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,Ek.emit(yk.ROOM_DESTROY,{room:this})}schedule(e,t){return Rb(this,null,(function*(){var r,i,o;let n=$D();try{let{isCached:a,result:s,detailCost:c}=yield QF({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:Hb,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=a,this._log.info("schedule cache:".concat(+a," ").concat(uC(s,{keysToExclude:["username","credential"]}))),a&&Ek.once(yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=gb(gb({},this.scheduleResult),s),BD(null==(r=s.config)?void 0:r.retryCount)&&jw(s.config.retryCount),FD(null==(i=s.config)?void 0:i.loggerDomain)&&Yb(s.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=s.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,Ek.emit(yk.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),BO.addSuccessEvent({key:521700,cost:$D()-n,split:50})}catch(a){throw BO.addFailedEvent({key:521700,error:a}),a}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}};var SH={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},RH="__INLINE__WORKER__",bH="__INLINE__WASM__",{debug:wH}=console;SH.debug||(console.debug=()=>{});var DH,CH=!RH.startsWith("__"),NH=!bH.startsWith("__");function kH(){let e=vC("".concat(SH.assetsPath?"".concat(SH.assetsPath,"/"):"","worker.js"));return CH?URL.createObjectURL(new Blob([atob(RH)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function OH(){return Rb(this,null,(function*(){let e=SH.assetsPath?"".concat(SH.assetsPath,"/"):"";return DH||(DH=NH?(new TextEncoder).encode(atob(bH)).buffer:yield fetch(vC("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),DH)}))}var MH=new class{constructor(){Ab(this,"playPort"),Ab(this,"playPortSent",!1),Ab(this,"worklet"),Ab(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Rb(this,null,(function*(){let e=xL(),t=kH();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),Ik.info("global audio player worklet addModule success",t)}catch(Ww){throw Ik.error("global audio player worklet addModule failed:",Ww),Ww}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield OH(),flag:SH},numberOfInputs:2}),Ik.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Rb(this,null,(function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))}))}},LH="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";LH?Promise.resolve().then((function(){return VH})):Promise.resolve().then((function(){return WH})),LH?Promise.resolve().then((function(){return jH})):Promise.resolve().then((function(){return KH}));var PH=LH?Promise.resolve().then((function(){return GH})):Promise.resolve().then((function(){return zH}));function xH(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){return(yield PH).default(...t)}))}var UH=e=>Rb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),VH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(UH));return e[0].multiple?i:i[0]}()}))}};function FH(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return FH=function(e){this.s=e,this.n=e.next},FH.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new FH(e)}var BH,HH=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return Rb(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,u=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new FH(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield u.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(HH(a,t,s,i))}}catch(d){c=!0,a=d}finally{try{s&&null!=u.return&&(yield u.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},jH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return HH(t,e.recursive,void 0,e.skipDirectory)}()}))}},GH={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Rb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(l){if(r=null,i)throw l}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},WH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},KH={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},zH={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return Rb(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return Rb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Rb(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},qH=class{constructor(e){this.name=e,Ab(this,"ready"),Ab(this,"worker"),Ab(this,"ports"),Ab(this,"ids",1),Ab(this,"transactions",new Map),Ab(this,"log"),Ab(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return Rb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=kH(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Rb(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(lC(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield OH(),flag:SH},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},JH=class{constructor(e,t,r){this.worker=e,Ab(this,"channel",new MessageChannel),Ab(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},YH=new class e extends qH{constructor(){super("main"),Ab(this,"switchValue",new Map),Ab(this,"extendChannel"),Ab(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Rb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield Sb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function XH(e){return Rb(this,null,(function*(){yield YH.create(),Ek.emit(yk.JOIN_SEND_CMD,{room:this});let t=new JH(YH,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(Ek.emit(yk.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new Lb({code:Ob.JOIN_ROOM_FAILED,extraCode:Number(r),message:NO({key:bO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function $H(e){return Rb(this,null,(function*(){YH.setSwitchValue("useAINS",e)}))}function QH(e){return Rb(this,null,(function*(){YH.setSwitchValue("useV2",e)}))}function ZH(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function ej(e){return Rb(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),tx(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(Ix(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=KP,e.onmessageerror=KP,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),eU(Ox(e,WM.INIT)),ZU((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:$H},useWt:{set:function(e){return Rb(this,null,(function*(){YH.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?wH:()=>{},YH.setSwitchValue("enableDebug",e)}},useV2:{set:QH},dump:{value(){if(BH||(console.warn("dump audio will be activated at next time join room"),BH=[]),!BH.length)return void console.warn("no audio data to dump,try it later");let e=[];return BH.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),xH(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;YH.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,YH.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return xH(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:SH.useHardDecoder="prefer-hardware";break;case!1:SH.useHardDecoder="prefer-software";break;default:SH.useHardDecoder="no-preference"}}}});var tj=[];function rj(e){var t;let r=Ix();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=tj.length;l++)if(!tj[l]){tj[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:gb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage(Eb(gb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=xL().createMediaStreamSource(s),a.connect(MH.worklet,0,this.index)};tx(Ox(e,"output-media-track-changed"),eU(Ox(e,"capture")),ZU(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),tj[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),tx(r,eV((t=>e.volume=t)),MU(uV(1e3)),ZU((()=>{e.volume=0}))),c(e.outMediaTrack)}var ij=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Ab(this,"track"),Ab(this,"label"),Ab(this,"insertKeyFrame",!0),Ab(this,"encoder"),Ab(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return Rb(this,null,(function*(){let i=yield this.recreate(r);t.signal.addEventListener("abort",(()=>{i.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){this.encoder.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return Rb(this,null,(function*(){let i=yield this.recreate(r),o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.state&&(o<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(this.localTrack.log.info("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight})),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{this.localTrack.log.warn(e),i.close()}))}))}recreate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Rb(this,null,(function*(){let r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t&&Ek.emit(yk.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{this.localTrack.log.warn(r,this.config),setTimeout((()=>this.recreate(e,t+1)),100)}});return this.encoder=i,yield this.configure({}),i}))}configure(e){return Rb(this,null,(function*(){var t;Object.assign(this.config,e);for(let e=0;e<=gH.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===gH.length)return;gH[e](this.config)}null==(t=this.encoder)||t.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function oj(e,t){return Rb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.640028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:SH.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},n=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[n.port1]);let a=new ij(e,t.type,o,n.port2);return n.port2.onmessage=e=>{if(260===e.data)a.insertKeyFrame=!0;else if(!r){let{bitrate:t}=e.data;kD({configureBr:[e.data.bitrate,t]}),a.configure({bitrate:t})}},this._log.info("start push",i,t),a}))}function nj(e){return Rb(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield oj.call(this,e,o);this._log.info("VideoEncoder created",o);let l,u=t=>Rb(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s,u=CC.match(/Chrome\/(\d+)/);"114"===(null==u?void 0:u[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"!=typeof MediaStreamTrackProcessor?new MediaStreamTrackProcessor({track:t}).readable:new ReadableStream({pull(t){return Rb(this,null,(function*(){if(MM())return new Promise((r=>{var i;null==(i=e.player.element)||i.requestVideoFrameCallback(((i,o)=>{let n=new VideoFrame(e.player.element);t.enqueue(n),r()}))}))}))}});let d="small"in e&&e.small;return d?(this.smallEncoder||(this.smallEncoder=yield oj.call(this,e,{profile:d,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",s=yield this.smallEncoder.trans(s,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(s,l,this)}));return tx(Ox(e,"output-media-track-changed"),eU(Ox(e,"capture")),ZU(u,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),u(e.outMediaTrack)}))}var aj=class e extends WM{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Ab(this,"enableInBackground",!1),Ab(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),tx(Ox(this,e.INTERVALCHANGED),kU((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):tx((e=>t=>{let r=0,i=performance.now();tx(lV,RU((t=>(t-i)/e|0)),$x((e=>e!=r&&(r=e,!0))))(t)})(e),RU((()=>[]))))),ZU((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==WM.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Ab(aj,"INTERVALCHANGED","intervalChanged"),Ib([HM([WM.INIT,WM.OFF],WM.ON)],aj.prototype,"start",1),Ib([HM([],WM.OFF)],aj.prototype,"stop",1);var sj=aj,cj=class extends AH{constructor(e){super(e),Ab(this,"index",0),Ab(this,"session"),Ab(this,"tinyid"),Ab(this,"roomid"),Ab(this,"openid"),Ab(this,"socketid"),Ab(this,"relayip"),Ab(this,"clientip"),Ab(this,"remotePublishedUserMap",new Map),Ab(this,"bussinessInfo"),Ab(this,"token"),Ab(this,"audioVolumeEvalution",new sj(this)),Ab(this,"enableAIVoice",$H),Ab(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:fk(),uint32_device_type:0,str_os_verion:_k(),uint32_link_type:1,str_client_version:Hb,uint32_net_type:dw[Vb.getNetworkType()],ua:navigator.userAgent,version:""}}),Ab(this,"joinAbortController",new AbortController),Ab(this,"smallAbortCtrl"),Ab(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,QH(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Rb(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return Rb(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return Rb(this,null,(function*(){var i,o,n;let a=Vb.getEnv(),s=GO(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:hk(),browserInfo:GO(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:Hb,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield XH.call(this,c),console.log(this),MH.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Rb(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish()))}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return Rb(this,null,(function*(){tx((e=>Rb(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),eU(Ox(this,"left")),ZU((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Eb(gb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case yk.RECEIVED_PUBLISHED_USER_LIST:return void Ek.emit(e,gb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new ZB(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return Ek.emit(yk.REMOTE_PUBLISH_STATE_CHANGED,gb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"network-quality":this.quality=gb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:Hb,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:dw[ID()]},msg_event_msg:DV(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};Ek.emit(yk.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),Ek.emit(yk.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void Ek.emit(yk.SIGNAL_CONNECTION_STATE_CHANGED,gb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>Rb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),eL(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))rj.call(this,e);else yield nj.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){t.forEach(tL)}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=gb({},n.subscribeState),s=Object.assign(new gO,a);s.mediaType|=e,Ek.emit(yk.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?ZH.call(this,e):ej.call(this,e)))),Ek.emit(yk.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Rb(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType;if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r});for(let e of t)e.unsubscribe();Ek.emit(yk.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Rb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield oj.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId),i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:t.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};Ib([yP(cj.prototype.afterJoin),HM(["left",WM.INIT],"joined"),TP((e=>{let t=new eH;return function(r,i,o){return Rb(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new Lb({code:Ob.INVALID_OPERATION,message:NO({key:bO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),Ek.emit(yk.JOIN_START,{room:this,roomId:n,params:r});let a=Vb.getEnv();a||(a=sw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Ew.OLD_CLOUD_LADDER)?a=sw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Ew.WEBRTC)&&(a=sw.WEBRTC))),rL.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),Rk.checkSystemRequirementsInternal().then((e=>{this.checkSystemResult=e,tH.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Vb.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=Vb.performanceNow(),Ek.emit(yk.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&rL.uploadEvent({log:"stat-conv-".concat(Number(rk),"-").concat(location.hostname),userId:this.userId}),t}catch(Ok){throw t.delete({room:this,roomId:n}),Ek.emit(yk.JOIN_FAILED,{room:this,error:Ok}),Ok}}))}}))],cj.prototype,"join",1),Ib([HM("joined","left",{ignoreError:!0}),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Rb(this,null,(function*(){Ek.emit(yk.LEAVE_START,{room:this}),yield e.call(this,...r),Ek.emit(yk.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],cj.prototype,"leave",1),Ib([wP((function(){return 0})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Rb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"capture"===e.state)),!r.length))return;Ek.emit("61",{room:this});let t=e.apply(this,r);return r.forEach((e=>e.publish(this,t))),t}))}))],cj.prototype,"publish",1),Ib([wP((function(){return 0})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],cj.prototype,"unpublish",1),Ib([wP((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),TP((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],cj.prototype,"subscribe",1);var lj=cj;return QB.frameWorkType=37,QB.create=function(e){let t=QB._create.call(this,lj,e);return t._use(dF,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(SH.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",Hb,"created",SH),t},Object.assign(QB.prototype,{_setCurrentSpeaker(e){let t=xL();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Rb(this,null,(function*(){return this.startPlugin(dF.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise(((t,r)=>{tx(Ox(e,"decode-downgrade-state-changed"),$x((e=>"STARTED"===e.state)),Zx(1),tV(1e4),eU(Ox(e,WM.INIT)),ZU(t,r))}))}))}}),QB}));
|