trtc-sdk-v5 5.13.0-wasm.2 → 5.13.0-wasm.3
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/debug-dialog.js +2 -2
- package/assets/worker.js +12 -12
- package/index.d.ts +27 -2
- package/package.json +1 -1
- package/plugins/cdn-streaming/cdn-streaming.esm.js +1 -1
- package/plugins/cdn-streaming/cdn-streaming.umd.js +3 -1
- package/plugins/cdn-streaming/package.json +1 -1
- package/plugins/chorus/chorus.esm.d.ts +13 -0
- package/plugins/chorus/chorus.esm.js +1 -0
- package/plugins/chorus/chorus.umd.js +3 -0
- package/plugins/chorus/package.json +29 -0
- package/plugins/cross-room/cross-room.esm.js +1 -1
- package/plugins/cross-room/cross-room.umd.js +3 -1
- package/plugins/cross-room/package.json +1 -1
- package/plugins/custom-encryption/custom-encryption.esm.js +1 -1
- package/plugins/custom-encryption/custom-encryption.umd.js +1 -1
- package/plugins/custom-encryption/package.json +1 -1
- package/plugins/device-detector/device-detector.esm.js +19 -45
- package/plugins/device-detector/device-detector.umd.js +8 -32
- package/plugins/device-detector/package.json +1 -1
- package/plugins/small-stream-auto-switcher/package.json +1 -1
- package/plugins/small-stream-auto-switcher/small-stream-auto-switcher.esm.js +1 -1
- package/plugins/small-stream-auto-switcher/small-stream-auto-switcher.umd.js +1 -1
- package/plugins/video-decoder/package.json +1 -1
- package/plugins/video-decoder/video-decoder.esm.js +1 -1
- package/plugins/video-decoder/video-decoder.umd.js +3 -1
- package/plugins/video-effect/basic-beauty/basic-beauty.esm.js +1 -1
- package/plugins/video-effect/basic-beauty/basic-beauty.umd.js +3 -1
- package/plugins/video-effect/basic-beauty/package.json +1 -1
- package/plugins/video-effect/beauty/beauty.esm.js +1 -1
- package/plugins/video-effect/beauty/beauty.umd.js +3 -1
- package/plugins/video-effect/beauty/package.json +1 -1
- package/plugins/video-effect/video-mixer/package.json +1 -1
- package/plugins/video-effect/video-mixer/video-mixer.esm.js +1 -1
- package/plugins/video-effect/video-mixer/video-mixer.umd.js +3 -1
- package/plugins/video-effect/virtual-background/package.json +1 -1
- package/plugins/video-effect/virtual-background/virtual-background.esm.js +1 -1
- package/plugins/video-effect/virtual-background/virtual-background.umd.js +3 -1
- package/plugins/video-effect/watermark/package.json +1 -1
- package/plugins/video-effect/watermark/watermark.esm.js +1 -1
- package/plugins/video-effect/watermark/watermark.umd.js +3 -1
- package/plugins/voice-changer/package.json +1 -1
- package/plugins/voice-changer/voice-changer.esm.js +1 -1
- package/plugins/voice-changer/voice-changer.umd.js +3 -1
- package/trtc.esm.js +57 -57
- 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)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;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,C=Object,D=T("".split),N=b((function(){return!C("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):C(e)}:C,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)},W=r,G=F,j=function(e,t){return arguments.length<2?(r=W[e],G(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.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=j,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(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={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.40.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Le=Me,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)},We=T,Ge=0,je=Math.random(),ze=We(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++Ge+je,36)},qe=Pe,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,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)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(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=d,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 Ct={},Dt=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=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",Gt="configurable",jt="writable";Ct.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&jt in r&&!r[jt]){var i=Ht(e,t);i&&i[jt]&&(e[t]=r.value,r={configurable:Gt in r?r[Gt]:i[Gt],enumerable:Wt in r?r[Wt]:i[Wt],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 zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Pe("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Lr=er.CONFIGURABLE,Pr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),Gr=Mr&&!Nr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),jr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Lr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),Gr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(jr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return kr(this)&&Ur(this).source||Pr(this)}),"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,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)&&Jr(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:Yr.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,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(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=mr,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 Ci=j,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Ct,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\./,Wi=function(e,t){var r=ji[Gi(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},Gi=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},ji=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=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?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(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=Kr,fo=Ct,_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=z,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 Co={},Do=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&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;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(Co,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:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,Go=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};Go("asyncIterator");var jo=R,zo=Array.isArray||function(e){return"Array"===jo(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=j("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(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(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=zo,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,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(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=Dt,Vn=Ct,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 Wn,Gn=j("document","documentElement"),jn=Mt,zn=On,Kn=Si,qn=mr,Yn=Gn,Jn=_t,Xn="prototype",$n="script",Qn=pr("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{Wn=new ActiveXObject("htmlfile")}catch(o){}var e,t,r;ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):(t=Jn("iframe"),r="java"+$n+":",t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F):ta(Wn);for(var i=Kn.length;i--;)delete ra[Xn][Kn[i]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=jn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.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},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("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=pr("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,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(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])||Da(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Ct.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,Wa=fa,Ga=function(){return this},ja=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=Ga,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(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=ja,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.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,d=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)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(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])||ds(s,_s,ys)),cs(s,u,!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:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Cs(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,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([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(qG){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=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:Ws(!1),right:Ws(!0)},js=o,zs=function(e,t){var r=[][e];return!!r&&js((function(){r.call(null,t||function(){return 1},1)}))},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=Gs.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("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||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,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,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.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=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=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(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<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=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},Gc=ii,jc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=Gc(e),r=jc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*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,d=23===t?rl(2,-24)-rl(2,-77):0,u=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?d/n:d*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*u,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--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=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},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(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=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",Gl=xl.getterFor(Fl),jl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=jl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=jl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il((function(){Kl(1)}))&&Il((function(){new Kl(-1)}))&&!Il((function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl}))?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Ll(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);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");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",Gl),dd(Jl,"buffer",jl),dd(Jl,"byteLength",jl),dd(Jl,"byteOffset",jl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=j,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Ld=bd(kd.prototype.slice),Pd=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd((function(){return!new kd(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Ld&&void 0===t)return Ld(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Pd(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,Gd=TypeError,jd=function(e){if(Hd(e))return e;throw new Gd(Wd(e)+" is not a constructor")},zd=Mt,Kd=jd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=Gn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu((function(){Ud=ou.location}));var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Lu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Pu=function(){this.head=null,this.tail=null};Pu.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 xu,Uu,Vu,Fu,Bu,Hu=Pu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,Gu=/web0s(?!.*chrome)/i.test(Y),ju=r,zu=Lu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=Gu,Qu=$s,Zu=ju.MutationObserver||ju.WebKitMutationObserver,eh=ju.document,th=ju.process,rh=ju.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(qG){throw oh.head&&xu(),qG}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,ju),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(qG){return{error:!0,value:qG}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[gh]=i,!(Eh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)})),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i})),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh=to,Nh=$s,kh=r,Oh=l,Mh=$r,Lh=ts,Ph=Ua,xh=Td,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Jd,Wh=Nu.set,Gh=ah,jh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(qG){}},zh=sh,Kh=Hu,qh=Cr,Yh=ch,Jh=Ih,Xh="Promise",$h=Th.CONSTRUCTOR,Qh=Th.REJECTION_EVENT,Zh=Th.SUBCLASSING,ep=qh.getterFor(Xh),tp=qh.set,rp=Yh&&Yh.prototype,ip=Yh,op=rp,np=kh.TypeError,ap=kh.document,sp=kh.process,cp=Jh.f,lp=cp,dp=!!(ap&&ap.createEvent&&kh.dispatchEvent),up="unhandledrejection",hp=function(e){var t;return!(!Fh(e)||!Vh(t=e.then))&&t},pp=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,d=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new np("Promise-chain cycle")):(i=hp(r))?Oh(i,r,c,l):c(r)):l(n)}catch(qG){d&&!o&&d.exit(),l(qG)}},mp=function(e,t){e.notified||(e.notified=!0,Gh((function(){for(var r,i=e.reactions;r=i.get();)pp(r,e);e.notified=!1,t&&!e.rejection&&_p(e)})))},fp=function(e,t,r){var i,o;dp?((i=ap.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),kh.dispatchEvent(i)):i={promise:t,reason:r},!Qh&&(o=kh["on"+e])?o(i):e===up&&jh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=zh((function(){Nh?sp.emit("unhandledRejection",i,r):fp(up,r,i)})),e.rejection=Nh||gp(e)?2:1,t.error))throw t.value}))},gp=function(e){return 1!==e.rejection&&!e.parent},Ep=function(e){Oh(Wh,kh,(function(){var t=e.facade;Nh?sp.emit("rejectionHandled",t):fp("rejectionhandled",t,e.value)}))},vp=function(e,t,r){return function(i){e(t,i,r)}},yp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,mp(e,!0))},Tp=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new np("Promise can't be resolved itself");var i=hp(t);i?Gh((function(){var r={done:!1};try{Oh(i,t,vp(Tp,r,e),vp(yp,r,e))}catch(qG){yp(r,qG,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(qG){yp({done:!1},qG,e)}}};if($h&&(op=(ip=function(e){Bh(this,op),Uh(e),Oh(bh,this);var t=ep(this);try{e(vp(Tp,t),vp(yp,t))}catch(qG){yp(t,qG)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new Kh,rejection:!1,state:0,value:null})}).prototype=Mh(op,"then",(function(e,t){var r=ep(this),i=cp(Hh(this,ip));return r.parent=!0,i.ok=!Vh(e)||e,i.fail=Vh(t)&&t,i.domain=Nh?sp.domain:void 0,0===r.state?r.reactions.add(i):Gh((function(){pp(i,r)})),i.promise})),wh=function(){var e=new bh,t=ep(e);this.promise=e,this.resolve=vp(Tp,t),this.reject=vp(yp,t)},Jh.f=cp=function(e){return e===ip||undefined===e?new wh(e):lp(e)},Vh(Yh)&&rp!==Object.prototype)){Ch=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(qG){}Lh&&Lh(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Ph(ip,Xh,!1),xh(Xh);var Ip=fa,Ap=tt("iterator"),Sp=Array.prototype,Rp=function(e){return void 0!==e&&(Ip.Array===e||Sp[Ap]===e)},bp=lo,wp=ye,Cp=k,Dp=fa,Np=tt("iterator"),kp=function(e){if(!Cp(e))return wp(e,Np)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Lp=Mt,Pp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Lp(Op(r,e));throw new Up(Pp(e)+" is not iterable")},Fp=l,Bp=Mt,Hp=ye,Wp=function(e,t,r){var i,o;Bp(e);try{if(!(i=Hp(e,"return"))){if("throw"===t)throw r;return r}i=Fp(i,e)}catch(qG){o=!0,i=qG}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},Gp=Zo,jp=l,zp=Mt,Kp=pe,qp=Rp,Yp=hi,Jp=z,Xp=Vp,$p=kp,Qp=Wp,Zp=TypeError,em=function(e,t){this.stopped=e,this.result=t},tm=em.prototype,rm=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=Gp(t,d),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return u?(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=$p(e)))throw new Zp(Kp(e)+" is not iterable");if(qp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Jp(tm,s))return s;return new em(!1)}i=Xp(e,o)}for(c=h?e.next:i.next;!(l=jp(c,i)).done;){try{s=g(l.value)}catch(qG){Qp(i,"throw",qG)}if("object"==typeof s&&s&&Jp(tm,s))return s}return new em(!1)},im=tt("iterator"),om=!1;try{var nm=0,am={next:function(){return{done:!!nm++}},return:function(){om=!0}};am[im]=function(){return this},Array.from(am,(function(){throw 2}))}catch(qG){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(qG){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(qG){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),dm=l,um=ge,hm=Ih,pm=sh,mm=rm;to({target:"Promise",stat:!0,forced:lm},{all:function(e){var t=this,r=hm.f(t),i=r.resolve,o=r.reject,n=pm((function(){var r=um(t.resolve),n=[],a=0,s=1;mm(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 fm=to,_m=Th.CONSTRUCTOR,gm=ch,Em=j,vm=F,ym=$r,Tm=gm&&gm.prototype;if(fm({target:"Promise",proto:!0,forced:_m,real:!0},{catch:function(e){return this.then(void 0,e)}}),vm(gm)){var Im=Em("Promise").prototype.catch;Tm.catch!==Im&&ym(Tm,"catch",Im,{unsafe:!0})}var Am=l,Sm=ge,Rm=Ih,bm=sh,wm=rm;to({target:"Promise",stat:!0,forced:lm},{race:function(e){var t=this,r=Rm.f(t),i=r.reject,o=bm((function(){var o=Sm(t.resolve);wm(e,(function(e){Am(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Nm=H,km=Ih,Om=function(e,t){if(Dm(e),Nm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Lm=Th.CONSTRUCTOR,Pm=Om;j("Promise"),Mm({target:"Promise",stat:!0,forced:Lm},{resolve:function(e){return Pm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=j,Bm=F,Hm=Jd,Wm=Om,Gm=$r,jm=Um&&Um.prototype;if(xm({target:"Promise",proto:!0,real:!0,forced:!!Um&&Vm((function(){jm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Fm("Promise")),r=Bm(e);return this.then(r?function(r){return Wm(t,e()).then((function(){return r}))}:e,r?function(r){return Wm(t,e()).then((function(){throw r}))}:e)}}),Bm(Um)){var zm=Fm("Promise").prototype.finally;jm.finally!==zm&&Gm(jm,"finally",zm,{unsafe:!0})}var Km=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return Km(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===qm(e))},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=z,tf=$m,rf=RegExp.prototype,of=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},nf=o,af=r.RegExp,sf=nf((function(){var e=af("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),cf=sf||nf((function(){return!af("a","y").sticky})),lf={BROKEN_CARET:sf||nf((function(){var e=af("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Ct.f,uf=o,hf=r.RegExp,pf=uf((function(){var e=hf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),mf=o,ff=r.RegExp,_f=mf((function(){var e=ff("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),gf=n,Ef=r,vf=T,yf=qi,Tf=ml,If=qt,Af=ia,Sf=Qr.f,Rf=z,bf=Jm,wf=po,Cf=of,Df=lf,Nf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},kf=$r,Of=o,Mf=He,Lf=Cr.enforce,Pf=Td,xf=pf,Uf=_f,Vf=tt("match"),Ff=Ef.RegExp,Bf=Ff.prototype,Hf=Ef.SyntaxError,Wf=vf(Bf.exec),Gf=vf("".charAt),jf=vf("".replace),zf=vf("".indexOf),Kf=vf("".slice),qf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Yf=/a/g,Jf=/a/g,Xf=new Ff(Yf)!==Yf,$f=Df.MISSED_STICKY,Qf=Df.UNSUPPORTED_Y,Zf=gf&&(!Xf||$f||xf||Uf||Of((function(){return Jf[Vf]=!1,Ff(Yf)!==Yf||Ff(Jf)===Jf||"/a/i"!==String(Ff(Yf,"i"))})));if(yf("RegExp",Zf)){for(var e_=function(e,t){var r,i,o,n,a,s,c=Rf(Bf,this),l=bf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===e_)return e;if((l||Rf(Bf,e))&&(e=e.source,d&&(t=Cf(h))),e=void 0===e?"":wf(e),t=void 0===t?"":wf(t),h=e,xf&&"dotAll"in Yf&&(i=!!t&&zf(t,"s")>-1)&&(t=jf(t,/s/g,"")),r=t,$f&&"sticky"in Yf&&(o=!!t&&zf(t,"y")>-1)&&Qf&&(t=jf(t,/y/g,"")),Uf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Af(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=Gf(e,i)))t+=Gf(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;Wf(qf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Mf(a,d))throw new Hf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=Tf(Ff(e,t),c?this:Bf,e_),(i||o||u.length)&&(s=Lf(a),i&&(s.dotAll=!0,s.raw=e_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=Gf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+Gf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{If(a,"source",""===h?"(?:)":h)}catch(qG){}return a},t_=Sf(Ff),r_=0;t_.length>r_;)Nf(e_,Ff,t_[r_++]);Bf.constructor=e_,e_.prototype=Bf,kf(Ef,"RegExp",e_,{constructor:!0})}Pf("RegExp");var i_=l,o_=T,n_=po,a_=$m,s_=lf,c_=ia,l_=Cr.get,d_=pf,u_=_f,h_=Pe("native-string-replace",String.prototype.replace),p_=RegExp.prototype.exec,m_=p_,f_=o_("".charAt),__=o_("".indexOf),g_=o_("".replace),E_=o_("".slice),v_=function(){var e=/a/,t=/b*/g;return i_(p_,e,"a"),i_(p_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),y_=s_.BROKEN_CARET,T_=void 0!==/()??/.exec("")[1];(v_||T_||y_||d_||u_)&&(m_=function(e){var t,r,i,o,n,a,s,c=this,l=l_(c),d=n_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=i_(m_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=y_&&c.sticky,m=i_(a_,c),f=c.source,_=0,g=d;if(p&&(m=g_(m,"y",""),-1===__(m,"g")&&(m+="g"),g=E_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==f_(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),T_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),v_&&(i=c.lastIndex),o=i_(p_,p?r:c,g),p?o?(o.input=E_(o.input,_),o[0]=E_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:v_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),T_&&o&&o.length>1&&i_(h_,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=c_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var I_=m_;to({target:"RegExp",proto:!0,forced:/./.exec!==I_},{exec:I_});var A_=n,S_=_o,R_=$m,b_=o,w_=r.RegExp,C_=w_.prototype,D_=A_&&b_((function(){var e=!0;try{w_(".","d")}catch(qG){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(C_,"flags").get.call(t)!==i||r!==i}));D_&&S_(C_,"flags",{configurable:!0,get:R_});var N_=ii,k_=po,O_=L,M_=RangeError,L_=T,P_=di,x_=po,U_=function(e){var t=k_(O_(this)),r="",i=N_(e);if(i<0||Infinity===i)throw new M_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},V_=L,F_=L_(U_),B_=L_("".slice),H_=Math.ceil,W_=function(e){return function(t,r,i){var o,n,a=x_(V_(t)),s=P_(r),c=a.length,l=void 0===i?" ":x_(i);return s<=c||""===l?a:((n=F_(l,H_((o=s-c)/l.length))).length>o&&(n=B_(n,0,o)),e?a+n:n+a)}},G_={start:W_(!1),end:W_(!0)},j_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=G_.start;to({target:"String",proto:!0,forced:j_},{padStart:function(e){return z_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,q_=$r,Y_=I_,J_=o,X_=tt,$_=qt,Q_=X_("species"),Z_=RegExp.prototype,eg=T,tg=ii,rg=po,ig=L,og=eg("".charAt),ng=eg("".charCodeAt),ag=eg("".slice),sg=function(e){return function(t,r){var i,o,n=rg(ig(t)),a=tg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=ng(n,a))<55296||i>56319||a+1===s||(o=ng(n,a+1))<56320||o>57343?e?og(n,a):i:e?ag(n,a,a+2):o-56320+(i-55296<<10)+65536}},cg={codeAt:sg(!1),charAt:sg(!0)},lg=cg.charAt,dg=T,ug=Ve,hg=Math.floor,pg=dg("".charAt),mg=dg("".replace),fg=dg("".slice),_g=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gg=/\$([$&'`]|\d{1,2})/g,Eg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=gg;return void 0!==o&&(o=ug(o),c=_g),mg(n,c,(function(n,c){var l;switch(pg(c,0)){case"$":return"$";case"&":return e;case"`":return fg(t,0,r);case"'":return fg(t,a);case"<":l=o[fg(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=hg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?pg(c,1):i[u-1]+pg(c,1):n}l=i[d-1]}return void 0===l?"":l}))},vg=l,yg=Mt,Tg=F,Ig=R,Ag=I_,Sg=TypeError,Rg=eu,bg=l,wg=T,Cg=function(e,t,r,i){var o=X_(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[Q_]=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===Y_||a===Z_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));q_(String.prototype,e,c[0]),q_(Z_,o,c[1])}i&&$_(Z_[o],"sham",!0)},Dg=o,Ng=Mt,kg=F,Og=k,Mg=ii,Lg=di,Pg=po,xg=L,Ug=function(e,t,r){return t+(r?lg(e,t).length:1)},Vg=ye,Fg=Eg,Bg=function(e,t){var r=e.exec;if(Tg(r)){var i=vg(r,e,t);return null!==i&&yg(i),i}if("RegExp"===Ig(e))return vg(Ag,e,t);throw new Sg("RegExp#exec called on incompatible receiver")},Hg=tt("replace"),Wg=Math.max,Gg=Math.min,jg=wg([].concat),zg=wg([].push),Kg=wg("".indexOf),qg=wg("".slice),Yg="$0"==="a".replace(/./,"$0"),Jg=!!/./[Hg]&&""===/./[Hg]("a","$0");Cg("replace",(function(e,t,r){var i=Jg?"$":"$0";return[function(e,r){var i=xg(this),o=Og(e)?void 0:Vg(e,Hg);return o?bg(o,e,i,r):bg(t,Pg(i),e,r)},function(e,o){var n=Ng(this),a=Pg(e);if("string"==typeof o&&-1===Kg(o,i)&&-1===Kg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=kg(o);c||(o=Pg(o));var l,d=n.global;d&&(l=n.unicode,n.lastIndex=0);for(var u,h=[];null!==(u=Bg(n,a))&&(zg(h,u),d);){""===Pg(u[0])&&(n.lastIndex=Ug(a,Lg(n.lastIndex),l))}for(var p,m="",f=0,_=0;_<h.length;_++){for(var g,E=Pg((u=h[_])[0]),v=Wg(Gg(Mg(u.index),a.length),0),y=[],T=1;T<u.length;T++)zg(y,void 0===(p=u[T])?p:String(p));var I=u.groups;if(c){var A=jg([E],y,v,a);void 0!==I&&zg(A,I),g=Pg(Rg(o,void 0,A))}else g=Fg(E,a,v,y,I,o);v>=f&&(m+=qg(a,f,v)+g,f=v+E.length)}return m+qg(a,f)}]}),!!Dg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!Yg||Jg);var Xg="\t\n\v\f\r \u2028\u2029\ufeff",$g=L,Qg=po,Zg=Xg,eE=T("".replace),tE=RegExp("^["+Zg+"]+"),rE=RegExp("(^|[^"+Zg+"])["+Zg+"]+$"),iE=function(e){return function(t){var r=Qg($g(t));return 1&e&&(r=eE(r,tE,"")),2&e&&(r=eE(r,rE,"$1")),r}},oE={start:iE(1),end:iE(2),trim:iE(3)},nE=er.PROPER,aE=o,sE=Xg,cE=oE.trim;to({target:"String",proto:!0,forced:function(e){return aE((function(){return!!sE[e]()||"
"!=="
"[e]()||nE&&sE[e].name!==e}))}("trim")},{trim:function(){return cE(this)}});var lE,dE,uE,hE={exports:{}},pE=Uc,mE=n,fE=r,_E=F,gE=H,EE=He,vE=lo,yE=pe,TE=qt,IE=$r,AE=_o,SE=z,RE=Sa,bE=ts,wE=tt,CE=Ke,DE=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=CE("TYPED_ARRAY_TAG"),HE="TypedArrayConstructor",WE=pE&&!!bE&&"Opera"!==vE(fE.opera),GE=!1,jE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},zE={BigInt64Array:8,BigUint64Array:8},KE=function(e){var t=RE(e);if(gE(t)){var r=NE(t);return r&&EE(r,HE)?r[HE]:KE(t)}},qE=function(e){if(!gE(e))return!1;var t=vE(e);return EE(jE,t)||EE(zE,t)};for(lE in jE)(uE=(dE=fE[lE])&&dE.prototype)?DE(uE)[HE]=dE:WE=!1;for(lE in zE)(uE=(dE=fE[lE])&&dE.prototype)&&(DE(uE)[HE]=dE);if((!WE||!_E(PE)||PE===Function.prototype)&&(PE=function(){throw new VE("Incorrect invocation")},WE))for(lE in jE)fE[lE]&&bE(fE[lE],PE);if((!WE||!xE||xE===UE)&&(xE=PE.prototype,WE))for(lE in jE)fE[lE]&&bE(fE[lE].prototype,xE);if(WE&&RE(LE)!==xE&&bE(LE,xE),mE&&!EE(xE,FE))for(lE in GE=!0,AE(xE,FE,{configurable:!0,get:function(){return gE(this)?this[BE]:void 0}}),jE)fE[lE]&&TE(fE[lE],BE,lE);var YE={NATIVE_ARRAY_BUFFER_VIEWS:WE,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 jE){var n=fE[o];if(n&&EE(n.prototype,e))try{delete n.prototype[e]}catch(qG){try{n.prototype[e]=t}catch(a){}}}xE[e]&&!r||IE(xE,e,r?t:WE&&OE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(mE){if(bE){if(r)for(i in jE)if((o=fE[i])&&EE(o,e))try{delete o[e]}catch(qG){}if(PE[e]&&!r)return;try{return IE(PE,e,r?t:WE&&PE[e]||t)}catch(qG){}}for(i in jE)!(o=fE[i])||o[e]&&!r||IE(o,e,t)}},getTypedArrayConstructor:KE,isView:function(e){if(!gE(e))return!1;var t=vE(e);return"DataView"===t||EE(jE,t)||EE(zE,t)},isTypedArray:qE,TypedArray:PE,TypedArrayPrototype:xE},JE=r,XE=o,$E=sm,QE=YE.NATIVE_ARRAY_BUFFER_VIEWS,ZE=JE.ArrayBuffer,ev=JE.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},dv=Math.round,uv=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=jd,Ev=Ve,vv=hi,yv=Vp,Tv=kp,Iv=Rp,Av=function(e){var t=uv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Sv=YE.aTypedArrayConstructor,Rv=mv,bv=Zo,wv=N,Cv=Ve,Dv=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,d,u){for(var h,p,m=Cv(c),f=wv(m),_=Dv(f),g=bv(l,d),E=0,v=u||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=YE,Hv=_d,Wv=Wc,Gv=_,jv=qt,zv=ov,Kv=di,qv=Kc,Yv=lv,Jv=function(e){var t=dv(e);return t<0?0:t>255?255:255&t},Xv=ht,$v=He,Qv=lo,Zv=H,ey=ue,ty=ia,ry=z,iy=ts,oy=Qr.f,ny=function(e){var t,r,i,o,n,a,s,c,l=gv(this),d=Ev(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=Tv(d);if(m&&!Iv(m))for(c=(s=yv(d,m)).next,d=[];!(a=_v(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=fv(h,arguments[2])),r=vv(d),i=new(Sv(l))(r),o=Av(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?Rv(n):+n;return i},ay=Mv.forEach,sy=Td,cy=_o,ly=Ct,dy=i,uy=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=dy.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",Cy="Wrong length",Dy=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&&zv(+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||(dy.f=Oy,ly.f=My,Dy(Ry,"buffer"),Dy(Ry,"byteOffset"),Dy(Ry,"byteLength"),Dy(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,d={},u=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?Jv(o):o,!0)}(this,t,e)},enumerable:!0})};Iy?Fv&&(c=t((function(e,t,r,o){return Wv(e,l),hy(Zv(t)?Ny(t)?void 0!==o?new s(t,Yv(r,i),o):void 0!==r?new s(t,Yv(r,i)):new s(t):by(t)?uy(c,t):Uv(ny,c,t):new s(qv(t)),e,c)})),iy&&iy(c,Sy),ay(oy(s),(function(e){e in c||jv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){Wv(e,l);var n,a,s,d=0,h=0;if(Zv(t)){if(!Ny(t))return by(t)?uy(c,t):Uv(ny,c,t);n=t,h=Yv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ey(Cy);if((a=p-h)<0)throw new Ey(Cy)}else if((a=Kv(o)*i)+h>p)throw new Ey(Cy);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)});d<s;)u(e,d++)})),iy&&iy(c,Sy),l=c.prototype=ty(Ry)),l.constructor!==c&&jv(l,"constructor",c),fy(l).TypedArrayConstructor=c,Ay&&jv(l,Ay,o);var h=c!==s;d[o]=c,Pv({global:!0,constructor:!0,forced:h,sham:!Iy},d),wy in c||jv(c,wy,i),wy in l||jv(l,wy,i),sy(o)}):hE.exports=function(){};var Ly=hE.exports;Ly("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),Ly("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Ly("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Py=dl,xy=mv,Uy=lo,Vy=l,Fy=o,By=YE.aTypedArray,Hy=YE.exportTypedArrayMethod,Wy=T("".slice);Hy("fill",(function(e){var t=arguments.length;By(this);var r="Big"===Wy(Uy(this),0,3)?xy(e):+e;return Vy(Py,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Fy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var Gy=r,jy=l,zy=YE,Ky=hi,qy=lv,Yy=Ve,Jy=o,Xy=Gy.RangeError,$y=Gy.Int8Array,Qy=$y&&$y.prototype,Zy=Qy&&Qy.set,eT=zy.aTypedArray,tT=zy.exportTypedArrayMethod,rT=!Jy((function(){var e=new Uint8ClampedArray(2);return jy(Zy,e,{length:1,0:3},1),3!==e[1]})),iT=rT&&zy.NATIVE_ARRAY_BUFFER_VIEWS&&Jy((function(){var e=new $y(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));tT("set",(function(e){eT(this);var t=qy(arguments.length>1?arguments[1]:void 0,1),r=Yy(e);if(rT)return jy(Zy,this,r,t);var i=this.length,o=Ky(r),n=0;if(o+t>i)throw new Xy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!rT||iT);var oT=Jo,nT=o,aT=ge,sT=dc,cT=hc,lT=pc,dT=te,uT=fc,hT=YE.aTypedArray,pT=YE.exportTypedArrayMethod,mT=r.Uint16Array,fT=mT&&oT(mT.prototype.sort),_T=!(!fT||nT((function(){fT(new mT(2),null)}))&&nT((function(){fT(new mT(2),{})}))),gT=!!fT&&!nT((function(){if(dT)return dT<74;if(cT)return cT<67;if(lT)return!0;if(uT)return uT<602;var e,t,r=new mT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(fT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));pT("sort",(function(e){return void 0!==e&&aT(e),gT?fT(this,e):sT(hT(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))}),!gT||_T);var ET=to,vT=l,yT=T,TT=L,IT=F,AT=k,ST=Jm,RT=po,bT=ye,wT=of,CT=Eg,DT=tt("replace"),NT=TypeError,kT=yT("".indexOf);yT("".replace);var OT=yT("".slice),MT=Math.max;ET({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=TT(this),h=0,p="";if(!AT(e)){if(ST(e)&&(r=RT(TT(wT(e))),!~kT(r,"g")))throw new NT("`.replaceAll` does not allow non-global regexes");if(i=bT(e,DT))return vT(i,e,u,t)}for(o=RT(u),n=RT(e),(a=IT(t))||(t=RT(t)),s=n.length,c=MT(1,s),l=kT(o,n);-1!==l;)d=a?RT(t(n,l,o)):CT(n,o,l,[],void 0,t),p+=OT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:kT(o,n,l+c);return h<o.length&&(p+=OT(o,h)),p}});var LT={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},PT=_t("span").classList,xT=PT&&PT.constructor&&PT.constructor.prototype,UT=xT===Object.prototype?void 0:xT,VT=Mv.forEach,FT=zs("forEach")?[].forEach:function(e){return VT(this,e,arguments.length>1?arguments[1]:void 0)},BT=r,HT=LT,WT=UT,GT=FT,jT=qt,zT=function(e){if(e&&e.forEach!==GT)try{jT(e,"forEach",GT)}catch(qG){e.forEach=GT}};for(var KT in HT)HT[KT]&&zT(BT[KT]&&BT[KT].prototype);zT(WT);var qT=r,YT=LT,JT=UT,XT=Ls,$T=qt,QT=Ua,ZT=tt("iterator"),eI=XT.values,tI=function(e,t){if(e){if(e[ZT]!==eI)try{$T(e,ZT,eI)}catch(qG){e[ZT]=eI}if(QT(e,t,!0),YT[t])for(var r in XT)if(e[r]!==XT[r])try{$T(e,r,XT[r])}catch(qG){e[r]=XT[r]}}};for(var rI in YT)tI(qT[rI]&&qT[rI].prototype,rI);tI(JT,"DOMTokenList");var iI=cg.charAt,oI=po,nI=Cr,aI=Ts,sI=Is,cI="String Iterator",lI=nI.set,dI=nI.getterFor(cI);aI(String,"String",(function(e){lI(this,{type:cI,string:oI(e),index:0})}),(function(){var e,t=dI(this),r=t.string,i=t.index;return i>=r.length?sI(void 0,!0):(e=iI(r,i),t.index+=e.length,sI(e,!1))}));var uI=o,hI=n,pI=tt("iterator"),mI=!uI((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&&!hI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[pI]||"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})),fI=n,_I=T,gI=l,EI=o,vI=Pn,yI=wi,TI=d,II=Ve,AI=N,SI=Object.assign,RI=Object.defineProperty,bI=_I([].concat),wI=!SI||EI((function(){if(fI&&1!==SI({b:1},SI(RI({},"a",{enumerable:!0,get:function(){RI(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]||vI(SI({},t)).join("")!==i}))?function(e,t){for(var r=II(e),i=arguments.length,o=1,n=yI.f,a=TI.f;i>o;)for(var s,c=AI(arguments[o++]),l=n?bI(vI(c),n(c)):vI(c),d=l.length,u=0;d>u;)s=l[u++],fI&&!gI(a,c,s)||(r[s]=c[s]);return r}:SI,CI=Mt,DI=Wp,NI=n,kI=Ct,OI=_,MI=Zo,LI=l,PI=Ve,xI=function(e,t,r,i){try{return i?t(CI(r)[0],r[1]):t(r)}catch(qG){DI(e,"throw",qG)}},UI=Rp,VI=vn,FI=hi,BI=function(e,t,r){NI?kI.f(e,t,OI(0,r)):e[t]=r},HI=Vp,WI=kp,GI=Array,jI=T,zI=2147483647,KI=/[^\0-\u007E]/,qI=/[.\u3002\uFF0E\uFF61]/g,YI="Overflow: input needs wider integers to process",JI=RangeError,XI=jI(qI.exec),$I=Math.floor,QI=String.fromCharCode,ZI=jI("".charCodeAt),eA=jI([].join),tA=jI([].push),rA=jI("".replace),iA=jI("".split),oA=jI("".toLowerCase),nA=function(e){return e+22+75*(e<26)},aA=function(e,t,r){var i=0;for(e=r?$I(e/700):e>>1,e+=$I(e/t);e>455;)e=$I(e/35),i+=36;return $I(i+36*e/(e+38))},sA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=ZI(e,r++);if(o>=55296&&o<=56319&&r<i){var n=ZI(e,r++);56320==(64512&n)?tA(t,((1023&o)<<10)+(1023&n)+65536):(tA(t,o),r--)}else tA(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&&tA(t,QI(i));var c=t.length,l=c;for(c&&tA(t,"-");l<o;){var d=zI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>$I((zI-a)/u))throw new JI(YI);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>zI)throw new JI(YI);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;tA(t,QI(nA(m+f%_))),h=$I(f/_),p+=36}tA(t,QI(nA(h))),s=aA(a,u,l===c),a=0,l++}}a++,n++}return eA(t,"")},cA=to,lA=T,dA=si,uA=RangeError,hA=String.fromCharCode,pA=String.fromCodePoint,mA=lA([].join);cA({target:"String",stat:!0,arity:1,forced:!!pA&&1!==pA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],dA(t,1114111)!==t)throw new uA(t+" is not a valid code point");r[o]=t<65536?hA(t):hA(55296+((t-=65536)>>10),t%1024+56320)}return mA(r,"")}});var fA=to,_A=r,gA=Lu,EA=j,vA=l,yA=T,TA=n,IA=mI,AA=$r,SA=_o,RA=Fc,bA=Ua,wA=ja,CA=Cr,DA=Wc,NA=F,kA=He,OA=Zo,MA=lo,LA=Mt,PA=H,xA=po,UA=ia,VA=_,FA=Vp,BA=kp,HA=Is,WA=ru,GA=dc,jA=tt("iterator"),zA="URLSearchParams",KA=zA+"Iterator",qA=CA.set,YA=CA.getterFor(zA),JA=CA.getterFor(KA),XA=gA("fetch"),$A=gA("Request"),QA=gA("Headers"),ZA=$A&&$A.prototype,eS=QA&&QA.prototype,tS=_A.TypeError,rS=_A.encodeURIComponent,iS=String.fromCharCode,oS=EA("String","fromCodePoint"),nS=parseInt,aS=yA("".charAt),sS=yA([].join),cS=yA([].push),lS=yA("".replace),dS=yA([].shift),uS=yA([].splice),hS=yA("".split),pS=yA("".slice),mS=yA(/./.exec),fS=/\+/g,_S=/^[0-9a-f]+$/i,gS=function(e,t){var r=pS(e,t,t+2);return mS(_S,r)?nS(r,16):NaN},ES=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},vS=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},yS=function(e){for(var t=(e=lS(e,fS," ")).length,r="",i=0;i<t;){var o=aS(e,i);if("%"===o){if("%"===aS(e,i+1)||i+3>t){r+="%",i++;continue}var n=gS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=ES(n);if(0===a)o=iS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==aS(e,i));){var l=gS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;cS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=vS(s);null===d?r+="�":o=oS(d)}}r+=o,i++}return r},TS=/[!'()~]|%20/g,IS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},AS=function(e){return IS[e]},SS=function(e){return lS(rS(e),TS,AS)},RS=wA((function(e,t){qA(this,{type:KA,target:YA(e).entries,index:0,kind:t})}),zA,(function(){var e=JA(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,HA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return HA(i.key,!1);case"values":return HA(i.value,!1)}return HA([i.key,i.value],!1)}),!0),bS=function(e){this.entries=[],this.url=null,void 0!==e&&(PA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===aS(e,0)?pS(e,1):e:xA(e)))};bS.prototype={type:zA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=BA(e);if(l)for(r=(t=FA(e,l)).next;!(i=vA(r,t)).done;){if(n=(o=FA(LA(i.value))).next,(a=vA(n,o)).done||(s=vA(n,o)).done||!vA(n,o).done)throw new tS("Expected sequence with length 2");cS(c,{key:xA(a.value),value:xA(s.value)})}else for(var d in e)kA(e,d)&&cS(c,{key:d,value:xA(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=hS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=hS(t,"="),cS(i,{key:yS(dS(r)),value:yS(sS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],cS(r,SS(e.key)+"="+SS(e.value));return sS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var wS=function(){DA(this,CS);var e=qA(this,new bS(arguments.length>0?arguments[0]:void 0));TA||(this.size=e.entries.length)},CS=wS.prototype;if(RA(CS,{append:function(e,t){var r=YA(this);WA(arguments.length,2),cS(r.entries,{key:xA(e),value:xA(t)}),TA||this.length++,r.updateURL()},delete:function(e){for(var t=YA(this),r=WA(arguments.length,1),i=t.entries,o=xA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:xA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(uS(i,s,1),void 0!==a)break}TA||(this.size=i.length),t.updateURL()},get:function(e){var t=YA(this).entries;WA(arguments.length,1);for(var r=xA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=YA(this).entries;WA(arguments.length,1);for(var r=xA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&cS(i,t[o].value);return i},has:function(e){for(var t=YA(this).entries,r=WA(arguments.length,1),i=xA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:xA(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=YA(this);WA(arguments.length,1);for(var i,o=r.entries,n=!1,a=xA(e),s=xA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?uS(o,c--,1):(n=!0,i.value=s));n||cS(o,{key:a,value:s}),TA||(this.size=o.length),r.updateURL()},sort:function(){var e=YA(this);GA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=YA(this).entries,i=OA(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 RS(this,"keys")},values:function(){return new RS(this,"values")},entries:function(){return new RS(this,"entries")}},{enumerable:!0}),AA(CS,jA,CS.entries,{name:"entries"}),AA(CS,"toString",(function(){return YA(this).serialize()}),{enumerable:!0}),TA&&SA(CS,"size",{get:function(){return YA(this).entries.length},configurable:!0,enumerable:!0}),bA(wS,zA),fA({global:!0,constructor:!0,forced:!IA},{URLSearchParams:wS}),!IA&&NA(QA)){var DS=yA(eS.has),NS=yA(eS.set),kS=function(e){if(PA(e)){var t,r=e.body;if(MA(r)===zA)return t=e.headers?new QA(e.headers):new QA,DS(t,"content-type")||NS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),UA(e,{body:VA(0,xA(r)),headers:VA(0,t)})}return e};if(NA(XA)&&fA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return XA(e,arguments.length>1?kS(arguments[1]):{})}}),NA($A)){var OS=function(e){return DA(this,ZA),new $A(e,arguments.length>1?kS(arguments[1]):{})};ZA.constructor=OS,OS.prototype=ZA,fA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:OS})}}var MS,LS=to,PS=n,xS=mI,US=r,VS=Zo,FS=T,BS=$r,HS=_o,WS=Wc,GS=He,jS=wI,zS=function(e){var t=PI(e),r=VI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=MI(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=WI(t),p=0;if(!h||this===GI&&UI(h))for(a=FI(t),s=r?new this(a):GI(a);a>p;p++)u=n?o(t[p],p):t[p],BI(s,p,u);else for(s=r?new this:[],d=(l=HI(t,h)).next;!(c=LI(d,l)).done;p++)u=n?xI(l,o,[c.value,p],!0):c.value,BI(s,p,u);return s.length=p,s},KS=ac,qS=cg.codeAt,YS=function(e){var t,r,i=[],o=iA(rA(oA(e),qI,"."),".");for(t=0;t<o.length;t++)r=o[t],tA(i,XI(KI,r)?"xn--"+sA(r):r);return eA(i,".")},JS=po,XS=Ua,$S=ru,QS={URLSearchParams:wS,getState:YA},ZS=Cr,eR=ZS.set,tR=ZS.getterFor("URL"),rR=QS.URLSearchParams,iR=QS.getState,oR=US.URL,nR=US.TypeError,aR=US.parseInt,sR=Math.floor,cR=Math.pow,lR=FS("".charAt),dR=FS(/./.exec),uR=FS([].join),hR=FS(1..toString),pR=FS([].pop),mR=FS([].push),fR=FS("".replace),_R=FS([].shift),gR=FS("".split),ER=FS("".slice),vR=FS("".toLowerCase),yR=FS([].unshift),TR="Invalid scheme",IR="Invalid host",AR="Invalid port",SR=/[a-z]/i,RR=/[\d+-.a-z]/i,bR=/\d/,wR=/^0x/i,CR=/^[0-7]+$/,DR=/^\d+$/,NR=/^[\da-f]+$/i,kR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,OR=/[\0\t\n\r #/:<>?@[\\\]^|]/,MR=/^[\u0000-\u0020]+/,LR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,PR=/[\t\n\r]/g,xR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)yR(t,e%256),e=sR(e/256);return uR(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+=hR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},UR={},VR=jS({},UR,{" ":1,'"':1,"<":1,">":1,"`":1}),FR=jS({},VR,{"#":1,"?":1,"{":1,"}":1}),BR=jS({},FR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),HR=function(e,t){var r=qS(e,0);return r>32&&r<127&&!GS(t,e)?e:encodeURIComponent(e)},WR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},GR=function(e,t){var r;return 2===e.length&&dR(SR,lR(e,0))&&(":"===(r=lR(e,1))||!t&&"|"===r)},jR=function(e){var t;return e.length>1&&GR(ER(e,0,2))&&(2===e.length||"/"===(t=lR(e,2))||"\\"===t||"?"===t||"#"===t)},zR=function(e){return"."===e||"%2e"===vR(e)},KR={},qR={},YR={},JR={},XR={},$R={},QR={},ZR={},eb={},tb={},rb={},ib={},ob={},nb={},ab={},sb={},cb={},lb={},db={},ub={},hb={},pb=function(e,t,r){var i,o,n,a=JS(e);if(t){if(o=this.parse(a))throw new nR(o);this.searchParams=null}else{if(void 0!==r&&(i=new pb(r,!0)),o=this.parse(a,null,i))throw new nR(o);(n=iR(new rR)).bindURL(this),this.searchParams=n}};pb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||KR,d=0,u="",h=!1,p=!1,m=!1;for(e=JS(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=fR(e,MR,""),e=fR(e,LR,"$1")),e=fR(e,PR,""),i=zS(e);d<=i.length;){switch(o=i[d],l){case KR:if(!o||!dR(SR,o)){if(t)return TR;l=YR;continue}u+=vR(o),l=qR;break;case qR:if(o&&(dR(RR,o)||"+"===o||"-"===o||"."===o))u+=vR(o);else{if(":"!==o){if(t)return TR;u="",l=YR,d=0;continue}if(t&&(c.isSpecial()!==GS(WR,u)||"file"===u&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&WR[c.scheme]===c.port&&(c.port=null));u="","file"===c.scheme?l=nb:c.isSpecial()&&r&&r.scheme===c.scheme?l=JR:c.isSpecial()?l=ZR:"/"===i[d+1]?(l=XR,d++):(c.cannotBeABaseURL=!0,mR(c.path,""),l=db)}break;case YR:if(!r||r.cannotBeABaseURL&&"#"!==o)return TR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=KS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=hb;break}l="file"===r.scheme?nb:$R;continue;case JR:if("/"!==o||"/"!==i[d+1]){l=$R;continue}l=eb,d++;break;case XR:if("/"===o){l=tb;break}l=lb;continue;case $R:if(c.scheme=r.scheme,o===MS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=QR;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query="",l=ub;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.path.length--,l=lb;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=KS(r.path),c.query=r.query,c.fragment="",l=hb}break;case QR:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=lb;continue}l=tb}else l=eb;break;case ZR:if(l=eb,"/"!==o||"/"!==lR(u,d+1))continue;d++;break;case eb:if("/"!==o&&"\\"!==o){l=tb;continue}break;case tb:if("@"===o){h&&(u="%40"+u),h=!0,n=zS(u);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=HR(_,BR);m?c.password+=g:c.username+=g}else m=!0}u=""}else if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===u)return"Invalid authority";d-=zS(u).length+1,u="",l=rb}else u+=o;break;case rb:case ib:if(t&&"file"===c.scheme){l=sb;continue}if(":"!==o||p){if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===u)return IR;if(t&&""===u&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(u))return a;if(u="",l=cb,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),u+=o}else{if(""===u)return IR;if(a=c.parseHost(u))return a;if(u="",l=ob,t===ib)return}break;case ob:if(!dR(bR,o)){if(o===MS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==u){var E=aR(u,10);if(E>65535)return AR;c.port=c.isSpecial()&&E===WR[c.scheme]?null:E,u=""}if(t)return;l=cb;continue}return AR}u+=o;break;case nb:if(c.scheme="file","/"===o||"\\"===o)l=ab;else{if(!r||"file"!==r.scheme){l=lb;continue}switch(o){case MS:c.host=r.host,c.path=KS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=KS(r.path),c.query="",l=ub;break;case"#":c.host=r.host,c.path=KS(r.path),c.query=r.query,c.fragment="",l=hb;break;default:jR(uR(KS(i,d),""))||(c.host=r.host,c.path=KS(r.path),c.shortenPath()),l=lb;continue}}break;case ab:if("/"===o||"\\"===o){l=sb;break}r&&"file"===r.scheme&&!jR(uR(KS(i,d),""))&&(GR(r.path[0],!0)?mR(c.path,r.path[0]):c.host=r.host),l=lb;continue;case sb:if(o===MS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&GR(u))l=lb;else if(""===u){if(c.host="",t)return;l=cb}else{if(a=c.parseHost(u))return a;if("localhost"===c.host&&(c.host=""),t)return;u="",l=cb}continue}u+=o;break;case cb:if(c.isSpecial()){if(l=lb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==MS&&(l=lb,"/"!==o))continue}else c.fragment="",l=hb;else c.query="",l=ub;break;case lb:if(o===MS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=vR(s=u))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||mR(c.path,"")):zR(u)?"/"===o||"\\"===o&&c.isSpecial()||mR(c.path,""):("file"===c.scheme&&!c.path.length&&GR(u)&&(c.host&&(c.host=""),u=lR(u,0)+":"),mR(c.path,u)),u="","file"===c.scheme&&(o===MS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)_R(c.path);"?"===o?(c.query="",l=ub):"#"===o&&(c.fragment="",l=hb)}else u+=HR(o,FR);break;case db:"?"===o?(c.query="",l=ub):"#"===o?(c.fragment="",l=hb):o!==MS&&(c.path[0]+=HR(o,UR));break;case ub:t||"#"!==o?o!==MS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":HR(o,UR)):(c.fragment="",l=hb);break;case hb:o!==MS&&(c.fragment+=HR(o,VR))}d++}},parseHost:function(e){var t,r,i;if("["===lR(e,0)){if("]"!==lR(e,e.length-1))return IR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return lR(e,u)};if(":"===h()){if(":"!==lR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&dR(NR,h());)t=16*t+aR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!dR(bR,h()))return;for(;dR(bR,h());){if(n=aR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(ER(e,1,-1)),!t)return IR;this.host=t}else if(this.isSpecial()){if(e=YS(e),dR(kR,e))return IR;if(t=function(e){var t,r,i,o,n,a,s,c=gR(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"===lR(o,0)&&(n=dR(wR,o)?16:8,o=ER(o,8===n?1:2)),""===o)a=0;else{if(!dR(10===n?DR:8===n?CR:NR,o))return e;a=aR(o,n)}mR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=cR(256,5-t))return null}else if(a>255)return null;for(s=pR(r),i=0;i<r.length;i++)s+=r[i]*cR(256,3-i);return s}(e),null===t)return IR;this.host=t}else{if(dR(OR,e))return IR;for(t="",r=zS(e),i=0;i<r.length;i++)t+=HR(r[i],UR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return GS(WR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&GR(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+=xR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+uR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new nR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new mb(e.path[0]).origin}catch(qG){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+xR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(JS(e)+":",KR)},getUsername:function(){return this.username},setUsername:function(e){var t=zS(JS(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=HR(t[r],BR)}},getPassword:function(){return this.password},setPassword:function(e){var t=zS(JS(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=HR(t[r],BR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?xR(e):xR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,rb)},getHostname:function(){var e=this.host;return null===e?"":xR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,ib)},getPort:function(){var e=this.port;return null===e?"":JS(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=JS(e))?this.port=null:this.parse(e,ob))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+uR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,cb))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=JS(e))?this.query=null:("?"===lR(e,0)&&(e=ER(e,1)),this.query="",this.parse(e,ub)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=JS(e))?("#"===lR(e,0)&&(e=ER(e,1)),this.fragment="",this.parse(e,hb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var mb=function(e){var t=WS(this,fb),r=$S(arguments.length,1)>1?arguments[1]:void 0,i=eR(t,new pb(e,!1,r));PS||(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())},fb=mb.prototype,_b=function(e,t){return{get:function(){return tR(this)[e]()},set:t&&function(e){return tR(this)[t](e)},configurable:!0,enumerable:!0}};if(PS&&(HS(fb,"href",_b("serialize","setHref")),HS(fb,"origin",_b("getOrigin")),HS(fb,"protocol",_b("getProtocol","setProtocol")),HS(fb,"username",_b("getUsername","setUsername")),HS(fb,"password",_b("getPassword","setPassword")),HS(fb,"host",_b("getHost","setHost")),HS(fb,"hostname",_b("getHostname","setHostname")),HS(fb,"port",_b("getPort","setPort")),HS(fb,"pathname",_b("getPathname","setPathname")),HS(fb,"search",_b("getSearch","setSearch")),HS(fb,"searchParams",_b("getSearchParams")),HS(fb,"hash",_b("getHash","setHash"))),BS(fb,"toJSON",(function(){return tR(this).serialize()}),{enumerable:!0}),BS(fb,"toString",(function(){return tR(this).serialize()}),{enumerable:!0}),oR){var gb=oR.createObjectURL,Eb=oR.revokeObjectURL;gb&&BS(mb,"createObjectURL",VS(gb,oR)),Eb&&BS(mb,"revokeObjectURL",VS(Eb,oR))}XS(mb,"URL"),LS({global:!0,constructor:!0,forced:!xS,sham:!PS},{URL:mb});var vb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return vb(URL.prototype.toString,this)}});var yb,Tb=Object.create,Ib=Object.defineProperty,Ab=Object.defineProperties,Sb=Object.getOwnPropertyDescriptor,Rb=Object.getOwnPropertyDescriptors,bb=Object.getOwnPropertyNames,wb=Object.getOwnPropertySymbols,Cb=Object.getPrototypeOf,Db=Object.prototype.hasOwnProperty,Nb=Object.prototype.propertyIsEnumerable,kb=Reflect.get,Ob=Math.pow,Mb=(e,t,r)=>t in e?Ib(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Lb=(e,t)=>{for(var r in t||(t={}))Db.call(t,r)&&Mb(e,r,t[r]);if(wb)for(var r of wb(t))Nb.call(t,r)&&Mb(e,r,t[r]);return e},Pb=(e,t)=>Ab(e,Rb(t)),xb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ub=(e,t)=>{for(var r in t)Ib(e,r,{get:t[r],enumerable:!0})},Vb=(e,t,r)=>(r=null!=e?Tb(Cb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of bb(t))!Db.call(e,o)&&o!==r&&Ib(e,o,{get:()=>t[o],enumerable:!(i=Sb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Ib(r,"default",{value:e,enumerable:!0}),e)),Fb=(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&&Ib(t,r,n),n},Bb=(e,t,r)=>Mb(e,"symbol"!=typeof t?t+"":t,r),Hb=(e,t,r)=>kb(Cb(e),r,t),Wb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(kO){o(kO)}},a=e=>{try{s(r.throw(e))}catch(kO){o(kO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),Gb=xb(((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,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[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=[],d=a.length;c<d;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)})),jb=xb(((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")}))}))})),zb=xb((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=jb(),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}}))}))}})),Kb=xb(((e,t)=>{var r=jb(),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"}})),qb=xb((e=>{var t=zb(),r=Kb(),i=jb();e.grammar=i,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})),Yb=((yb=Yb||{})[yb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",yb[yb.INVALID_OPERATION=4097]="INVALID_OPERATION",yb[yb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",yb[yb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",yb[yb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",yb[yb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",yb[yb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",yb[yb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",yb[yb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",yb[yb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",yb[yb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",yb[yb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",yb[yb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",yb[yb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",yb[yb.CLIENT_BANNED=16448]="CLIENT_BANNED",yb[yb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",yb[yb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",yb[yb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",yb[yb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",yb[yb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",yb[yb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",yb[yb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",yb[yb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",yb[yb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",yb[yb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",yb[yb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",yb[yb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",yb[yb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",yb[yb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",yb[yb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",yb[yb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",yb[yb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",yb[yb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",yb[yb.UNKNOWN=65535]="UNKNOWN",yb),Jb=Yb,Xb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=Jb.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in Jb)if(Jb[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),Bb(this,"code"),Bb(this,"extraCode"),Bb(this,"message"),Bb(this,"originMessage"),Bb(this,"name"),Bb(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}},$b=Xb;(new Date).getTime();var Qb=function(){return(new Date).getTime()+0},Zb=function(){let e=new Date;return e.setTime(Qb()),e.toLocaleString()},ew=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)},tw={};Ub(tw,{REPORT_TYPE:()=>dN,buildSSOPackage:()=>uN,bytes2ms:()=>uD,calculateScaleResolutionDownNumber:()=>aN,convertObjectNumberToInt:()=>tN,copyProperties:()=>dD,deepClone:()=>zD,deepCloneBasic:()=>lN,deepMerge:()=>jD,delay:()=>rN,fibonacci:()=>ED,formatedTime:()=>YD,getConstructorName:()=>OD,getContainerFromElement:()=>qD,getEnv:()=>rD,getInternalVersion:()=>VD,getLoggerUrl:()=>oD,getMediaStreamTrackInfo:()=>nN,getMuteStateFromFlag:()=>HD,getNetworkType:()=>aD,getNumNetworkType:()=>lD,getReconnectionTimeout:()=>vD,getStringByteLength:()=>$D,getTurnServer:()=>WD,getUint32Version:()=>eN,getValueType:()=>yD,getViewListFromView:()=>KD,glog:()=>fD,ipv4ToUint32:()=>GD,isArray:()=>wD,isAudioWorkletSupported:()=>MD,isBoolean:()=>RD,isConstructor:()=>kD,isEmpty:()=>BD,isFunction:()=>TD,isLangChinese:()=>_D,isMediaStreamTrack:()=>CD,isNumber:()=>SD,isObject:()=>bD,isOverseaSdkAppId:()=>iD,isPlainObject:()=>gD,isPortrait:()=>QD,isPromise:()=>ND,isRemoteTrack:()=>DD,isRotate90Or270:()=>sN,isSetSinkIdSupported:()=>LD,isString:()=>AD,isUndefined:()=>ID,loadImage:()=>ZD,loadVideo:()=>cN,ms2bytes:()=>pD,ms2samples:()=>mD,normalizeUrl:()=>oN,performanceNow:()=>xD,promiseAny:()=>PD,samples2ms:()=>hD,setNetworkType:()=>cD,stringify:()=>JD,stringifyIncludeValue:()=>XD,throttlePromise:()=>iN});var rw={};Ub(rw,{AUDIO_MUTE_BIT:()=>Ww,AUDIO_STAT_BIT:()=>Hw,AUX_STAT_BIT:()=>Bw,AUX_STREAM_MSID:()=>qw,BACKEND_ENV:()=>xw,BASE_DOC_URL:()=>gw,BASE_HOST:()=>pw,CAPABILITIES_KEYS:()=>LC,CLASS_NAME:()=>RC,CLOUD_CONSOLE_URL:()=>_w,CROSS_ROOM_BIT:()=>zw,DATA_FREEZE_TIMING:()=>EC,DOC_URL:()=>Ew,DTLS_STATE_UNKNOWN:()=>iC,ENV_NAME:()=>Aw,EXCHANGE_SDP_TIMEOUT:()=>pC,IS_WORKER:()=>cw,IS_WORKLET:()=>lw,KIBANA_EVENT:()=>dC,LOCAL_STREAM_PUBLISH_STATE:()=>gC,LOGGER_CMD_TYPE:()=>Iw,LOGGER_DOMAIN:()=>vw,LOGGER_DOMAIN_OVERSEA:()=>yw,LOG_LEVEL:()=>Sw,LOG_LEVEL_NAME:()=>NC,MAIN_STREAM_MSID:()=>Kw,MAX_RTT:()=>PC,MICROPHONE_COMMUNICATIONS:()=>DC,MICROPHONE_DEFAULT:()=>wC,MUTE_ALL_BIT:()=>jw,NAME:()=>Lw,NETWORK_TYPE:()=>ww,NOT_SUPPORTED_H264:()=>_C,PAUSED_RETRY_COUNT:()=>bC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>IC,PEER_CONNECTION_STATE:()=>oC,PEER_LEAVE_REASON:()=>kC,RECOVER_CAPTURE_INTERVAL:()=>MC,REMOTE_STREAM_TYPE_AUX:()=>Jw,REMOTE_STREAM_TYPE_MAIN:()=>Yw,RENDER_FREEZE_TIMING:()=>vC,SCHEDULE_DOMAIN:()=>AC,SCHEDULE_TIMEOUT:()=>SC,SDP_SEMANTICS_PLAN_B:()=>fC,SDP_SEMANTICS_UNIFIED_PLAN:()=>mC,SECOND_HOST:()=>mw,SIGNAL_PING_PONG_INTERVAL:()=>bw,SIGNAL_PING_TIMEOUT:()=>Rw,SIGNAL_RECONNECTION_COUNT:()=>lC,SMALL_STAT_BIT:()=>Fw,SPEAKER_DEFAULT:()=>CC,STORAGE_EXPIRES_TIME:()=>Cw,STREAM_TYPE_BIG:()=>yC,STREAM_TYPE_SMALL:()=>TC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>OC,SYNC_USER_LIST_INTERVAL:()=>uC,Scene:()=>Uw,THIRD_HOST:()=>fw,TRANSPORT_DIRECTION:()=>Pw,TRTC_ERROR_ASSISTANCE:()=>Tw,TRTC_QUALITY_BAD:()=>eC,TRTC_QUALITY_DISCONNECTED:()=>rC,TRTC_QUALITY_EXCELLENT:()=>$w,TRTC_QUALITY_GOOD:()=>Qw,TRTC_QUALITY_POOR:()=>Zw,TRTC_QUALITY_UNKNOWN:()=>Xw,TRTC_QUALITY_VERY_BAD:()=>tC,UPDATE_OFFER_TIMEOUT:()=>hC,VIDEO_MUTE_BIT:()=>Gw,VIDEO_STAT_BIT:()=>Vw,audioProfileMap:()=>Dw,defaultBigVideoProfile:()=>kw,defaultSmallVideoProfile:()=>Ow,getRetryCount:()=>sC,getScriptDir:()=>dw,innerVersion:()=>iw,loggerProxy:()=>uw,screenProfileMap:()=>Mw,setLoggerProxy:()=>hw,setRetryCount:()=>aC,setVersion:()=>nw,version:()=>ow,videoProfileMap:()=>Nw});var iw="4.15.00.1600",ow="5.0.0";function nw(e){ow=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));iw="".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 aw,sw,cw="undefined"!=typeof importScripts,lw="undefined"!=typeof registerProcessor,dw=()=>{let e=cw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},uw="",hw=e=>uw=e,pw="web.sdk.qcloud.com",mw="web.sdk.tencent.cn",fw="web.sdk.cloud.tencent.cn",_w="https://console.cloud.tencent.com/trtc",gw="https://".concat(pw,"/trtc/webrtc/v5/doc"),Ew="".concat(gw,"/zh-cn/"),vw="https://yun.tim.qq.com",yw="https://apisgp.my-imcloud.com",Tw="trtc_error_assistance",Iw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},Aw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},Sw=((sw=Sw||{})[sw.TRACE=0]="TRACE",sw[sw.DEBUG=1]="DEBUG",sw[sw.INFO=2]="INFO",sw[sw.WARN=3]="WARN",sw[sw.ERROR=4]="ERROR",sw[sw.NONE=5]="NONE",sw),Rw=18e3,bw=2e3,ww={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},Cw=6048e5,Dw={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}},Nw={"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}},kw=Nw["480p_2"],Ow=Nw["120p_2"],Mw={"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}},Lw={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",RESIZE:"resize"},Pw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},xw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},Uw=((aw=Uw||{}).LIVE="live",aw.RTC="rtc",aw),Vw=1,Fw=2,Bw=4,Hw=8,Ww=64,Gw=16,jw=112,zw=128,Kw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",qw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",Yw=Lw.MAIN,Jw=Lw.AUXILIARY,Xw=0,$w=1,Qw=2,Zw=3,eC=4,tC=5,rC=6,iC="unknown",oC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},nC=1/0;function aC(e){nC=e}function sC(){return nC}var cC,lC=30,dC={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"},uC=1e4,hC=1e4,pC=1e4,mC="unified-plan",fC="plan-b",_C=1028,gC=((cC=gC||{})[cC.UNPUBLISH=-1]="UNPUBLISH",cC[cC.PUBLISHING=0]="PUBLISHING",cC[cC.PUBLISHED=1]="PUBLISHED",cC),EC=500,vC=1e3,yC=Lw.BIG,TC=Lw.SMALL,IC=1e4,AC={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"},SC=2e3,RC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},bC=5,wC="default",CC=wC,DC="communications",NC=Object.keys(Sw),kC=["normal leave","timeout leave","kick","role change"],OC=10,MC=2e3,LC=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],PC=1e4,xC=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())}))},UC=Symbol(32),VC=Symbol(16),FC=Symbol(8),BC=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return xC(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(UC)}readU16(){return this.read(VC)}readU8(){return this.read(FC)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===UC){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===VC){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===FC){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};BC.U32=UC,BC.U16=VC,BC.U8=FC;var HC=128;function WC(e){let t=new BC;for(;e>=128;)t.malloc(1)[0]=255&e|HC,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function GC(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new BC,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(WC(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(WC(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new BC;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=GC(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=GC(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(WC(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var jC=class{constructor(){Bb(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function zC(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function KC(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function qC(e,t){return e[t]}function YC(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var JC=0,XC=2654435769,$C=16,QC=2,ZC=7;function eD(e,t){let r=new jC,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,JC);JC=JC+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new jC;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,AD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+QC+ZC)%8;i&&(i=8-i);let o=r+1+QC+ZC+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<QC;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){tD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){tD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<ZC;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){tD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function tD(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=KC(e,0),n=KC(e,4),a=[];for(let c=0;c<4;c++)a[c]=KC(t,4*c);let s=0;for(let c=0;c<$C;c++)s+=XC,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;zC(r,o,i),zC(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var rD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},iD=e=>Number(e)<14e8,oD=function(e,t){let r;r=uw||(iD(e)?yw:vw);let i=Math.floor(Math.random()*Ob(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},nD="unknown";function aD(){if("unknown"!==nD)return nD;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&&(nD=sD(i,o)),nD}function sD(e,t){if(ww[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function cD(e){nD=sD(e)}function lD(){return ww[aD()]}function dD(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 uD(e){return hD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function hD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function pD(e){return 4*mD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function mD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var fD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},_D=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},gD=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 ED(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:ED(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function vD(e){return e>8?3e4:1e3*ED(e)}function yD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var TD=e=>"function"==typeof e,ID=e=>void 0===e,AD=e=>"string"==typeof e,SD=e=>"number"==typeof e,RD=e=>"boolean"==typeof e,bD=e=>"object"===yD(e),wD=e=>"array"===yD(e),CD=e=>yD(e)==="MediaStreamTrack".toLowerCase(),DD=e=>e.isRemote,ND=e=>"promise"===yD(e),kD=e=>TD(e)&&e.prototype.constructor===e,OD=e=>kD(e)?e.prototype.constructor.name:"",MD="undefined"!=typeof AudioWorkletNode,LD="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function PD(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 xD(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var UD=e=>+e<10?"0".concat(e):e,VD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=UD(r[1])+UD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},FD=Object.prototype.hasOwnProperty;function BD(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(gD(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(FD.call(e,t))return!1;return!0}return!1}function HD(e,t){return{userId:t,hasAudio:!!(e&Hw),hasVideo:!!(e&Vw),hasAuxiliary:!!(e&Bw),hasSmall:!!(e&Fw),audioMuted:!!(e&Ww),videoMuted:!!(e&Gw),audioAvailable:!(!(e&Hw)||e&Ww),videoAvailable:!(!(e&Vw)||e&Gw)}}function WD(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!ID(e.username)&&!ID(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",ID(e.credentialType)||(t.credentialType=e.credentialType)),t}function GD(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!AD(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 jD=function(e,t,r,i){if(!bD(e)||!bD(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],!(ID(t[o])||r&&r.includes(o)))if(bD(e[o])&&bD(t[o]))n+=jD(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=zD(t[o]),n+=1)}return n};function zD(e){if(wD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=zD(e)})),t}if(bD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=zD(e[r])})),t}return e}var KD=e=>{let t=[];if(wD(e))t=[...e];else if(AD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},qD=e=>AD(e)?document.getElementById(e):e,YD=()=>(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 JD(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(wD(e))return"[".concat(e.map((e=>JD(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!gD(e)||!wD(r)&&!wD(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]=gD(e[a])||wD(e[a])?JSON.parse(JD(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(cC){return"{}"}}function XD(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)})),JD(e,{keysToInclude:r})}function $D(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var QD=()=>{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},ZD=e=>Wb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(AD(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 $b({code:Jb.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),eN=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},tN=e=>(Object.keys(e).forEach((t=>{SD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(gD(e[t])||wD(e[t]))&&tN(e[t])})),e);function rN(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function iN(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 oN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function nN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===Lw.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(aw){return""}}function aN(e,t){return e.width*e.height==t.width*t.height?1:QD()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function sN(e){return 90===e||270===e}function cN(e){return Wb(this,null,(function*(){return new Promise(((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then((()=>t(i))),i.onerror=()=>{r(i.error)}}))}))}function lN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach(((e,i)=>{r[i]=lN(e,t)})),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach((i=>{r[i]=lN(e[i],t)})),r}return e}var dN=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(dN||{});function uN(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return ID(i)||(o=Pb(Lb({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return eD(GC(o),r)}catch(LO){return JSON.stringify(e)}}function hN(e){let t=function(e){try{let t={},r=0;t.totalLength=KC(e,r),r+=4,t.version=KC(e,r),r+=4,t.encryption=qC(e,r),r+=1,t.uinType=qC(e,r),r+=1,t.uinLength=KC(e,r),r+=4,t.uin=t.uinLength>4?YC(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=pN(o,t),a=7&n[0],s=e.length-1-a-QC-ZC,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=QC;)if(h<8)h++,m++;else if(8===h){let i=mN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=mN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=ZC;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=mN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=KC(e,r),r+=4,t.seqNo=KC(e,r),r+=4,t.retCode=KC(e,r),r+=4,t.retStrLength=KC(e,r),r+=4,t.retStr=t.retStrLength?YC(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=KC(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?YC(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=KC(e,r),r+=4,t.cookie=t.cookieLength?YC(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=KC(e,r),r+=4,t.busiBuffLength=KC(e,r),r+=4,t.busiBuff=t.busiBuffLength?YC(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function pN(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=XC*$C>>>0;for(let n=0;n<$C;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=XC,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function mN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:pN(c,n),bufPos:t+8}}var fN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function _N(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.clone().json().then((e=>({data:e})),(()=>e.arrayBuffer().then((e=>({data:hN(new Uint8Array(e))||(fN?fN.decode(e):e)}))))))).then(e,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(PO){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 gN(e){return Wb(this,null,(function*(){let t=xD(),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 RO.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(xD()-t,"ms")),i}catch(cC){return r}}))}var EN=Object.prototype.hasOwnProperty,vN=e=>"function"==typeof e,yN=e=>e.isRemote,TN=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)};var IN=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:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Wb(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(BM){let a=()=>{clearTimeout(p),h=0,m=2,r(BM)},s=()=>{2!==m&&h<(vN(d)?d():d)?(h++,m=1,vN(o)&&o.call(this,h,a),p=window.setTimeout((()=>{p=-1,f(e,r)}),vN(u)?u(h):u)):(a(),vN(n)&&n.call(this,BM))};vN(i)?i.call(this,{error:BM,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}}));return new Promise(f)}},AN=class{constructor(e){Bb(this,"userId"),Bb(this,"remoteUserId"),Bb(this,"id"),Bb(this,"sdkAppId"),Bb(this,"type"),Bb(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):"","]")),RO.log(e,t,void 0===this.userId||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(TN(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(EN.call(e,t))return!1;return!0}return!1}(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)}},SN={};Ub(SN,{ANDROID_VERSION:()=>UN,CHROME_MAJOR_VERSION:()=>Hk,CHROME_VERSION:()=>Wk,EDGE_VERSION:()=>jN,EDG_MAJOR_VERSION:()=>qN,EDG_VERSION:()=>KN,FIREFOX_MAJOR_VERSION:()=>WN,FIREFOX_VERSION:()=>HN,HUAWEI_VERSION:()=>Ck,IE_VERSION:()=>ok,IOS_MAIN_VERSION:()=>Xk,IOS_VERSION:()=>qk,IPADQQB_VERSION:()=>fk,IS_ANDROID:()=>xN,IS_ANDROID_WEBVIEW:()=>Kk,IS_ANY_SAFARI:()=>jk,IS_CHROME:()=>Fk,IS_CHROME_OS:()=>vk,IS_CHROMIUM_BASE:()=>Vk,IS_DESKTOP_IOS_CHROME:()=>tO,IS_EDG:()=>zN,IS_EDGE:()=>GN,IS_ELECTRON:()=>Ik,IS_FIREFOX:()=>BN,IS_HEADLESS_CHROME:()=>Bk,IS_HONOR:()=>wk,IS_HUAWEI:()=>bk,IS_HUAWEIBROWSER:()=>Rk,IS_IE:()=>ik,IS_IE8:()=>rk,IS_IOS:()=>PN,IS_IOS_13_OR_14:()=>Zk,IS_IOS_15_1:()=>Qk,IS_IOS_CHROME:()=>eO,IS_IPAD:()=>kN,IS_IPADQQB:()=>mk,IS_IPAD_PRO:()=>ON,IS_IPHONE:()=>MN,IS_IPOD:()=>LN,IS_LINUX:()=>Ek,IS_LOCAL:()=>rO,IS_MAC:()=>gk,IS_MACQQB:()=>hk,IS_MIBROWSER:()=>Ak,IS_MQQB:()=>ck,IS_NATIVE_ANDROID:()=>FN,IS_OLD_ANDROID:()=>VN,IS_OPENHARMONY:()=>Pk,IS_OPPOBROWSER:()=>kk,IS_SAFARI:()=>Gk,IS_SAFARI_15_1:()=>$k,IS_SAMSUNGBROWSER:()=>Dk,IS_SOGOU:()=>XN,IS_SOGOUM:()=>YN,IS_TBS:()=>QN,IS_UCBROWSER:()=>Tk,IS_VIVOBROWSER:()=>Mk,IS_WECHAT:()=>nk,IS_WIN:()=>_k,IS_WQQB:()=>dk,IS_WX:()=>yk,IS_X5MQQB:()=>sk,IS_XWEB:()=>ek,MACQQB_VERSION:()=>pk,MI_VERSION:()=>Sk,MQQB_VERSION:()=>lk,OPENHARMONY_VERSION:()=>xk,OPPO_VERSION:()=>Ok,SAFARI_VERSION:()=>zk,SAMSUNG_VERSION:()=>Nk,SOGOUM_VERSION:()=>JN,SOGOU_VERSION:()=>$N,TBS_VERSION:()=>ZN,UA_DATA_STRING:()=>cO,USER_AGENT:()=>RN,VIVO_VERSION:()=>Lk,WECHAT_VERSION:()=>ak,WQQB_VERSION:()=>uk,XWEB_VERSION:()=>tk,browserInfo:()=>oO,getBrowserCoreNumber:()=>fO,getBrowserInfo:()=>nO,getChromeMajorVersion:()=>Uk,getDeviceModel:()=>uO,getGPUInfo:()=>dO,getOSName:()=>pO,getOSNumber:()=>mO,getOSString:()=>_O,getOSType:()=>EO,getTerminalType:()=>gO,getUserAgentData:()=>lO,isLocalStorageEnabled:()=>iO,isMobile:()=>sO,isVersionLargerThan:()=>Jk,isVersionSmallerThan:()=>Yk});var RN="undefined"==typeof navigator?"":navigator.userAgent,bN=e=>new RegExp(e,"i").test(RN),wN=e=>{if(bN(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=RN.match(t);if(r&&r[1])return r[1]}return""},CN=e=>{if(bN(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=RN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},DN=/AppleWebKit\/([\d.]+)/i.exec(RN),NN=DN?parseFloat(DN[1]):NaN,kN=bN("iPad"),ON="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&bN("Macintosh"),MN=bN("iPhone")&&!kN,LN=bN("iPod"),PN=MN||kN||LN||ON,xN=bN("Android"),UN=function(){if(xN){let e=RN.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}(),VN=xN&&bN("webkit")&&UN<2.3,FN=xN&&UN<5&&NN<537,BN=bN("Firefox"),HN=wN("Firefox"),WN=CN("Firefox"),GN=bN("Edge"),jN=wN("Edge"),zN=bN("Edg"),KN=wN("Edg"),qN=CN("Edg"),YN=bN("SogouMobileBrowser"),JN=wN("SogouMobileBrowser"),XN=bN("MetaSr\\s"),$N=wN("MetaSr\\s"),QN=bN("TBS"),ZN=wN("TBS"),ek=bN("XWEB"),tk=wN("XWEB"),rk=bN("MSIE\\s8\\.0"),ik=bN("MSIE\\/\\d+"),ok=function(){if(ik){let e=/MSIE\s(\d+)\.\d/.exec(RN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(RN)&&/rv:11.0/.test(RN)&&(t=11),t}return NaN}(),nk=bN("(micromessenger|webbrowser)"),ak=wN("MicroMessenger"),sk=!QN&&bN("MQQBrowser")&&bN("COVC"),ck=!QN&&bN("MQQBrowser")&&!bN("COVC"),lk=ck||sk?wN("MQQBrowser"):"",dk=!QN&&bN(" QQBrowser"),uk=wN(" QQBrowser"),hk=!QN&&bN("QQBrowserLite"),pk=wN("QQBrowserLite"),mk=!QN&&bN("MQBHD"),fk=wN("MQBHD"),_k=bN("Windows"),gk=!PN&&bN("MAC OS X"),Ek=!xN&&bN("Linux"),vk=bN("CrOS"),yk=bN("MicroMessenger"),Tk=bN("UCBrowser"),Ik=bN("Electron"),Ak=bN("MiuiBrowser"),Sk=wN("MiuiBrowser"),Rk=bN("HuaweiBrowser"),bk=bN("Huawei")||bN("HUAWEI"),wk=bN("Honor")||bN("HONOR"),Ck=wN("HuaweiBrowser"),Dk=bN("SamsungBrowser"),Nk=wN("SamsungBrowser"),kk=bN("HeyTapBrowser"),Ok=wN("HeyTapBrowser"),Mk=bN("VivoBrowser"),Lk=wN("VivoBrowser"),Pk=bN("OpenHarmony"),xk=wN("OpenHarmony"),Uk=()=>CN("Chrome"),Vk=bN("Chrome"),Fk=!GN&&!XN&&!YN&&!QN&&!ek&&!zN&&!dk&&!Ak&&!Rk&&!Dk&&!kk&&!Mk&&Vk,Bk=bN("HeadlessChrome"),Hk=Uk(),Wk=wN("Chrome"),Gk=!Vk&&!ck&&!sk&&!hk&&!mk&&bN("Safari"),jk=Gk||PN,zk=wN("Version"),Kk=/Android.*(wv|.0.0.0)/.test(RN),qk=(()=>{if(ON)return zk;if(PN){let e=RN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function Yk(e,t){let r=e.split(".").map((e=>Number(e))),i=t.split(".").map((e=>Number(e)));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function Jk(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map((e=>Number(e))),o=t.split(".").map((e=>Number(e)));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var Xk=Number(qk.split(".")[0]),$k="15.1"===zk,Qk="15.1"===qk,Zk=(()=>{let e=Number(qk.split(".")[0]);return 14===e||13===e})(),eO=bN("CriOS"),tO=eO&&"11.1.1"===zk,rO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),iO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(MO){e=!1}return e}})(),oO=nO();function nO(){let e=new Map([[BN,["Firefox",HN]],[zN,["Edg",KN]],[Fk,["Chrome",Wk]],[Gk,["Safari",zk]],[QN,["TBS",ZN]],[ek,["XWEB",tk]],[nk&&MN,["WeChat",ak]],[dk,["QQ(Win)",uk]],[ck,["QQ(Mobile)",lk]],[sk,["QQ(Mobile X5)",lk]],[hk,["QQ(Mac)",pk]],[mk,["QQ(iPad)",fk]],[Ak,["MI",Sk]],[Rk,["HW",Ck]],[Dk,["Samsung",Nk]],[kk,["OPPO",Ok]],[Mk,["VIVO",Lk]],[GN,["EDGE",jN]],[YN,["SogouMobile",JN]],[XN,["Sogou",$N]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var aO=null;function sO(){return aO&&"boolean"==typeof aO.mobile?aO.mobile:xN||PN||MN||kN||Pk}var cO="";function lO(){return Wb(this,null,(function*(){if(aO)return aO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(aO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!cO&&(cO="UAData: ".concat(aO.platform,"/").concat(aO.platformVersion),aO.architecture&&aO.bitness&&(cO+=" ".concat(aO.architecture,"/").concat(aO.bitness)),aO.mobile&&(cO+=" mobile"),aO.model&&(cO+=" model: ".concat(aO.model.replace(/\s+/g,"/"))),aO.fullVersionList&&(cO+=" ".concat(aO.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),aO}catch(MB){return null}}))}function dO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(MB){return""}}function uO(){return(null==aO?void 0:aO.model)||""}var hO=new Map([[xN,"Android"],[PN,"iOS"],[_k,"Windows"],[gk,"MacOS"],[Ek,"Linux"],[vk,"ChromeOS"]]),pO=function(){return hO.get(!0)?hO.get(!0):aO?aO.platform:"unknown"};function mO(){return _k?1:xN?2:gk?3:PN?4:Ek?5:vk?6:Pk?7:0}function fO(){return Vk?1:Gk?2:BN?3:0}var _O=()=>{let e=pO();return e+="/".concat(oO.name,"/").concat(Gk?oO.version:oO.version.split(".")[0]),null!=aO&&aO.platformVersion&&(e+="/".concat(aO.platformVersion)),null!=aO&&aO.architecture&&(e+="/".concat(aO.architecture)),e};function gO(){return xN?4:MN?2:kN?3:gk?12:_k?5:Ek?13:Pk?22:1}function EO(){return xN?"Android":MN?"iPhone":kN?"iPad":gk?"Mac":_k?"Windows":Ek?"Linux":"unknown"}var vO,yO=new(Vb(Gb(),1).default),TO=((vO=TO||{}).ROOM_DESTROY="1",vO.JOIN_START="21",vO.JOIN_SCHEDULE_SUCCESS="22",vO.JOIN_SIGNAL_CONNECTION_START="23",vO.JOIN_SIGNAL_CONNECTION_END="24",vO.JOIN_SEND_CMD="25",vO.JOIN_RECEIVED_CMD_RES="26",vO.JOIN_SUCCESS="27",vO.JOIN_FAILED="28",vO.LEAVE_START="51",vO.LEAVE_SEND_CMD="52",vO.LEAVE_SUCCESS="53",vO.PUBLISH_START="61",vO.SEND_FIRST_VIDEO_FRAME="62",vO.PUBLISH_FAILED="63",vO.SUBSCRIBE_START="81",vO.SUBSCRIBE_SUCCESS="82",vO.SUBSCRIBE_FAILED="84",vO.UNSUBSCRIBE_SUCCESS="83",vO.LOCAL_TRACK_CAPTURE_START="101",vO.LOCAL_TRACK_CAPTURE_SUCCESS="102",vO.LOCAL_TRACK_CAPTURE_FAILED="103",vO.LOCAL_TRACK_PUBLISHED="104",vO.LOCAL_TRACK_UNPUBLISHED="105",vO.LOCAL_TRACK_REPLACED="106",vO.SWITCH_DEVICE_SUCCESS="107",vO.TRACK_MUTED="108",vO.TRACK_UNMUTED="109",vO.REMOTE_TRACK_SUBSCRIBED="110",vO.REMOTE_TRACK_UNSUBSCRIBED="111",vO.LOCAL_TRACK_RECAPTURE="112",vO.LOCAL_AUDIO_STARTED="113",vO.LOCAL_AUDIO_STOPPED="114",vO.REMOTE_AUDIO_STARTED="115",vO.REMOTE_AUDIO_STOPPED="116",vO.PLAY_TRACK_START="151",vO.PLAYER_STATE_CHANGED="152",vO.VIDEO_LOADED_DATA="153",vO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",vO.AUDIO_CONTEXT_LONG_SUSPENDED="155",vO.SIGNAL_CONNECTION_STATE_CHANGED="201",vO.PEER_CONNECTION_STATE_CHANGED="202",vO.SINGLE_CONNECTION_STAT="203",vO.SPC_RECONNECTED="204",vO.HEARTBEAT_REPORT="251",vO.RECEIVED_PUBLISHED_USER_LIST="252",vO.REMOTE_PUBLISH_STATE_CHANGED="253",vO.AUDIO_LEVEL_INTERVAL="260",vO.NETWORK_QUALITY="261",vO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",vO.QUALITY_LIMITATION_CHANGED="263",vO.LOG="264",vO.AUDIO_PROCESSOR_DEBUG="265",vO.SSO_SWITCH="266",vO.SWITCH_ROOM_START="401",vO.SWITCH_ROOM_SUCCESS="407",vO.SWITCH_ROOM_FAILED="408",vO),IO=TO,AO=new class{constructor(){Bb(this,"enable",!1),Bb(this,"ssoFailCount",0),yO.on("22",(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&yO.emit("266",{enable:!0})})),yO.on("266",(e=>{let{enable:t}=e;this.enable=t}))}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&yO.emit("266",{enable:!1})}},SO=class e{constructor(){Bb(this,"_isEnableUploadLog",!0),Bb(this,"_localJoinedUser",new Map),Bb(this,"_queue",[]),Bb(this,"_timeoutId",-1),Bb(this,"_logLevel",1),Bb(this,"_logLevelToUpload",2),!cw&&!lw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){yO.on(IO.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&Sw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),yO.on(IO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),yO.once(IO.JOIN_FAILED,(()=>{this.startUpload()})),yO.on(IO.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(AD(r.userId)&&SD(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 Wb(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],n={timestamp:Zb(),sdkAppId:String(i),userId:r,version:ow,log:o.map((e=>e.log)).join("\n")},a=JSON.stringify(n),s=AO.enable?uN(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach((e=>e.uploaded=!0))}}catch(LO){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t,r,i){return IN({retryFunction:()=>_N({url:oD(t,Iw.LOG),body:e,timeout:5e3,priority:"low"}).then((e=>{r&&"ok"!==e.data&&(AO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))})),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(Qb()),"[".concat(ew(t),"] <").concat(Sw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){ID(Sw[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(AD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(aw){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(yO.emit(IO.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),t<this._logLevel)return;let c=(null==(a=Sw[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 AN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;Sw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Bb(SO,"PRINT_LOG_TAG",!(PN||xN||Bk));var RO=new SO,bO=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)}))},wO=new class{constructor(){Bb(this,"_prefix","TRTC"),Bb(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){iO()&&(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(LO){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(iO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(MO){RO.warn(MO)}}getItem(e){if(!iO())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(aw){RO.warn(aw)}}setItem(e,t){if(iO())try{let r={expiresIn:Date.now()+Cw,value:t};this._queue.set(this.getRealKey(e),r)}catch(cC){RO.warn(cC)}}deleteItem(e){if(!iO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(aw){return RO.warn(aw),!1}}clear(){if(iO())try{localStorage.clear()}catch(MO){RO.warn(MO)}}},CO={};Ub(CO,{HTTPS_API:()=>mL,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>xL,IS_GET_CAPABILITIES_SUPPORTED:()=>PL,IS_GET_SETTINGS_SUPPORTED:()=>LL,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>ML,IS_INSERTABLE_STREAM_SUPPORTED:()=>UL,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>XL,IS_RTC_RTP_SENDER_SUPPORTED:()=>NL,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>VL,IS_SEI_SUPPORTED:()=>FL,IS_SPC_SUPPORTED:()=>CL,basis:()=>zL,capabilityCheck:()=>YL,checkSystemRequirementsInternal:()=>cL,decodeSupportStatus:()=>sL,detectVideoCodecCapabilities:()=>ZL,detectVideoDecoderCapabilities:()=>tP,detectVideoEncoderCapabilities:()=>eP,encodeSupportStatus:()=>aL,getBrowserInfo:()=>ZM,getDisplayResolution:()=>_L,isAddTransceiverSupported:()=>wL,isBrowserSupported:()=>eL,isCanvasCaptureStreamAPISupported:()=>vL,isCanvasSmallStreamSupported:()=>yL,isGetReceiversSupported:()=>SL,isGetSendersSupported:()=>RL,isGetTransceiversSupported:()=>bL,isGetUserMediaSupported:()=>gL,isMediaDevicesSupported:()=>rL,isMediaSessionSupported:()=>WL,isMediaStreamTrackProcessorSupported:()=>nL,isReplaceTrackSupported:()=>kL,isRequestVideoFrameCallbackSupported:()=>JL,isSIMDSupported:()=>jL,isScaleResolutionDownBySupported:()=>TL,isScreenCaptureApiAvailable:()=>dL,isSelectedCandidatePair:()=>fL,isSetParametersSupported:()=>OL,isSetSinkIdSupported:()=>uL,isSmallStreamSupported:()=>IL,isStopTransceiverSupported:()=>DL,isTRTCSupported:()=>lL,isUnifiedPlanDefault:()=>AL,isUsedInHttpProtocol:()=>oL,isWebAudioSupported:()=>EL,isWebCodecSupported:()=>HL,isWebCodecsSupported:()=>tL,isWebRTCSupported:()=>BL,isWebTransportSupported:()=>GL});var DO={};Ub(DO,{AUDIO_LEVEL_SCALE:()=>TM,AudioCodecPipelineType:()=>bM,AudioDecoderDowngradeState:()=>rM,AudioPlayerMode:()=>EM,AudioType:()=>cM,BASIC_TYPE:()=>AM,BannedReason:()=>vM,CONNECTION_CLOSED_REASON:()=>GO,CheckPermissionType:()=>OM,ClientEvent:()=>jO,CodecType:()=>wM,ConnectionEvent:()=>WO,ConnectionState:()=>tM,DECODE_FAILED_ERROR_CODE:()=>CM,DeviceType:()=>MM,FacingMode:()=>_M,FrameWorkType:()=>HO,LeaveReason:()=>yM,LocalTrackEvent:()=>KO,MULTI_VIDEO_DATA_TYPE:()=>hM,MediaType:()=>aM,MediaTypeLabel:()=>sM,MonitorEventId:()=>pM,MutedFlag:()=>$O,NetworkQualityValue:()=>mM,PlayerState:()=>qO,ReceiveMode:()=>fM,RemoteStreamType:()=>uM,RemoteTrackEvent:()=>XO,RoomEvent:()=>YO,SMALL_MODE:()=>kM,SceneNumber:()=>QO,StreamEvent:()=>zO,StreamType:()=>dM,SubscribeMediaType:()=>IM,TIMER_TYPE:()=>NM,TRACK_ACTION:()=>nM,TRACK_KIND:()=>oM,TrackEvent:()=>JO,UserRole:()=>eM,UserRoleNumber:()=>ZO,VideoCodec:()=>SM,VideoCodecPipelineType:()=>RM,VideoContentHint:()=>DM,VideoDecoderDowngradeState:()=>iM,VideoPlayerMode:()=>gM,VideoType:()=>lM});var NO,kO,OO,MO,LO,PO,xO,UO,VO,FO,BO,HO=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(HO||{}),WO=((BO=WO||{}).TRACK_ADDED="track-added",BO.TRACK_UPDATED="track-updated",BO.TRACK_SUBSCRIBED="track-subscribed",BO.STREAM_ADDED="stream-added",BO.STREAM_REMOVED="stream-removed",BO.STREAM_UPDATED="stream-updated",BO.STREAM_PUBLISHED="stream-published",BO.STREAM_SUBSCRIBED="stream-subscribed",BO.STREAM_UNSUBSCRIBED="stream-unsubscribed",BO.STATE_CHANGED="state-changed",BO.ERROR="error",BO.CONNECTION_STATE_CHANGED="connection-state-changed",BO.FIREWALL_RESTRICTION="firewall-restriction",BO.SEI_MESSAGE="sei-message",BO.CLOSED="closed",BO),GO=(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))(GO||{}),jO=((FO=jO||{}).STREAM_ADDED="stream-added",FO.STREAM_REMOVED="stream-removed",FO.STREAM_UPDATED="stream-updated",FO.STREAM_SUBSCRIBED="stream-subscribed",FO.CONNECTION_STATE_CHANGED="connection-state-changed",FO.PEER_JOIN="peer-join",FO.PEER_LEAVE="peer-leave",FO.MUTE_AUDIO="mute-audio",FO.MUTE_VIDEO="mute-video",FO.UNMUTE_AUDIO="unmute-audio",FO.UNMUTE_VIDEO="unmute-video",FO.CLIENT_BANNED="client-banned",FO.NETWORK_QUALITY="network-quality",FO.AUDIO_VOLUME="audio-volume",FO.SEI_MESSAGE="sei-message",FO.ERROR="error",FO),zO=((VO=zO||{}).PLAYER_STATE_CHANGED="player-state-changed",VO.SCREEN_SHARING_STOPPED="screen-sharing-stopped",VO.CONNECTION_STATE_CHANGED="connection-state-changed",VO.DEVICE_AUTO_RECOVERED="device-auto-recovered",VO.ERROR="error",VO),KO=((UO=KO||{}).DEVICE_AUTO_RECOVERED="1",UO.DEVICE_RECOVER_FAILED="5",UO.DEVICE_CHANGED="2",UO.ERROR="3",UO.PUBLISH_STATE_CHANGED="4",UO.ENCODE_FAILED="6",UO.TRACK_ENDED="7",UO),qO=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(qO||{}),YO=((xO=YO||{}).PEER_JOIN="peer-join",xO.PEER_LEAVE="peer-leave",xO.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",xO.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",xO.BANNED="banned",xO.NETWORK_QUALITY="network-quality",xO.AUDIO_VOLUME="audio-volume",xO.SEI_MESSAGE="sei-message",xO.ERROR="error",xO.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",xO.REMOTE_PUBLISHED="remote-published",xO.REMOTE_UNPUBLISHED="remote-unpublished",xO.FIREWALL_RESTRICTION="firewall-restriction",xO.HEARTBEAT_REPORT="heartbeat-report",xO.CUSTOM_MESSAGE="custom-message",xO.LAYER_DATA="layerData",xO.FIRST_VIDEO_FRAME="first-video-frame",xO.DUMP="dump",xO.AUDIO_FRAME="audio-frame",xO.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",xO.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",xO),JO=((PO=JO||{}).PLAYER_STATE_CHANGED="player-state-changed",PO.MUTE="mute",PO.UNMUTE="unmute",PO.ERROR="error",PO.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",PO.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",PO.FIRST_VIDEO_FRAME="first-video-frame",PO.VIDEO_SIZE_CHANGED="video-size-changed",PO),XO=(e=>(e.DECODE_FAILED="decode-failed",e.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",e))(XO||{}),$O=(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))($O||{}),QO=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(QO||{}),ZO=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(ZO||{}),eM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(eM||{}),tM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(tM||{}),rM=((LO=rM||{}).INITIALIZED="INITIALIZED",LO.STARTING="STARTING",LO.STARTED="STARTED",LO.FAILED="FAILED",LO),iM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(iM||{}),oM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(oM||{}),nM=(e=>(e.ADD="add",e.REMOVE="remove",e))(nM||{}),aM=(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))(aM||{}),sM={1:"audio",2:"auxVideo",4:"video"},cM=((MO=cM||{})[MO.opus=111]="opus",MO),lM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(lM||{}),dM=(e=>(e.Big="big",e.Small="small",e))(dM||{}),uM=(e=>(e.Main="main",e.Aux="auxiliary",e))(uM||{}),hM=(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))(hM||{}),pM=((OO=pM||{})[OO.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",OO[OO.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",OO[OO.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",OO[OO.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",OO[OO.MUTE_AUDIO=32772]="MUTE_AUDIO",OO[OO.MUTE_VIDEO=32773]="MUTE_VIDEO",OO[OO.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",OO[OO.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",OO[OO.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",OO[OO.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",OO[OO.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",OO[OO.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",OO[OO.SWITCH_CAMERA=32780]="SWITCH_CAMERA",OO[OO.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",OO[OO.REPLACE_VIDEO=32782]="REPLACE_VIDEO",OO[OO.REPLACE_AUDIO=32783]="REPLACE_AUDIO",OO[OO.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",OO[OO.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",OO[OO.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",OO[OO.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",OO[OO.JOIN=32788]="JOIN",OO[OO.LEAVE=32789]="LEAVE",OO[OO.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",OO[OO.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",OO[OO.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",OO[OO.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",OO[OO.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",OO[OO.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",OO[OO.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",OO[OO.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",OO[OO.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",OO[OO.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",OO[OO.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",OO[OO.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",OO[OO.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",OO[OO.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",OO[OO.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",OO[OO.PUBLISH_AUX=32805]="PUBLISH_AUX",OO[OO.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",OO[OO.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",OO[OO.VIDEO_ENCODER=4004]="VIDEO_ENCODER",OO[OO.VIDEO_DECODER=4005]="VIDEO_DECODER",OO),mM=(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))(mM||{}),fM=(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))(fM||{}),_M=(e=>(e.user="user",e.environment="environment",e))(_M||{}),gM=(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))(gM||{}),EM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(EM||{}),vM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(vM||{}),yM=((kO=yM||{})[kO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",kO[kO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",kO[kO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",kO[kO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",kO[kO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",kO[kO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",kO[kO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",kO[kO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",kO[kO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",kO),TM=1e8,IM=class{constructor(){Bb(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)}},AM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(AM||{}),SM=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))(SM||{}),RM=(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))(RM||{}),bM=(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))(bM||{}),wM=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(wM||{}),CM=((NO=CM||{})[NO.SUCCESS=0]="SUCCESS",NO[NO.FAILED=1]="FAILED",NO[NO.WEBCODEC_INIT=2]="WEBCODEC_INIT",NO[NO.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",NO[NO.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",NO[NO.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",NO[NO.WASM_INIT=6]="WASM_INIT",NO[NO.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",NO[NO.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",NO[NO.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",NO[NO.TEST=10]="TEST",NO[NO.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",NO),DM=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(DM||{}),NM=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(NM||{}),kM=(e=>(e.CANVAS="canvas",e.API="api",e))(kM||{}),OM=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(OM||{}),MM=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(MM||{}),LM={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"},PM={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(yD(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(yD(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,"()")},xM=(e,t)=>t?"".concat(gw,"/").concat(e,"/").concat(t):"".concat(gw,"/").concat(e,"/index.html"),UM=()=>{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(Tw);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 VM(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";TD(PM[t])?n=PM[t](r):AD(PM[t])&&(n=PM[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=UM();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(TD(l[t])?s=l[t](r):AD(l[t])&&(s=l[t]));let d=n;return _D()&&(c&&c[t]&&(TD(c[t])?a=c[t](r):AD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(xM("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(xM("en",s),"\n")),d}var FM,BM,HM=Vb(qb(),1),WM=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Bb(this,"countMap",new Map),Bb(this,"distributionMap",new Map),Bb(this,"version"),Bb(this,"log",RO.createLogger({id:"kv"})),e&&(yO.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===Lw.AUDIO?501700:511700,cost:r})})),yO.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===Lw.AUDIO?501700:511700,error:r})})),yO.on("266",(e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})})))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:eN(this.version||ow),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,max:n=5e3}=e;var a;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;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(SD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}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=Jb.UNKNOWN;r&&(SD(r)?i=r:(!ID(r.extraCode)||!ID(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})}},GM=((FM=GM||{})[FM.enterRoom=500700]="enterRoom",FM[FM.exitRoom=500701]="exitRoom",FM[FM.switchRole=500702]="switchRole",FM[FM.destroy=500703]="destroy",FM[FM.startLocalAudio=500704]="startLocalAudio",FM[FM.updateLocalAudio=500705]="updateLocalAudio",FM[FM.stopLocalAudio=500706]="stopLocalAudio",FM[FM.startLocalVideo=500707]="startLocalVideo",FM[FM.updateLocalVideo=500708]="updateLocalVideo",FM[FM.stopLocalVideo=500709]="stopLocalVideo",FM[FM.startScreenShare=500710]="startScreenShare",FM[FM.updateScreenShare=500711]="updateScreenShare",FM[FM.stopScreenShare=500712]="stopScreenShare",FM[FM.startRemoteVideo=500713]="startRemoteVideo",FM[FM.updateRemoteVideo=500714]="updateRemoteVideo",FM[FM.stopRemoteVideo=500715]="stopRemoteVideo",FM[FM.muteRemoteAudio=500716]="muteRemoteAudio",FM[FM.setRemoteAudioVolume=500717]="setRemoteAudioVolume",FM[FM.use=500718]="use",FM[FM.switchRoom=500719]="switchRoom",FM[FM.sendSEIMessage=5e5]="sendSEIMessage",FM[FM.sendCustomMessage=500001]="sendCustomMessage",FM),jM=(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[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(jM||{}),zM=(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[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))(zM||{}),KM=(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[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(KM||{}),qM=((BM=qM||{})[BM.DECODER_TYPE=514700]="DECODER_TYPE",BM[BM.DECODER_HW_SW=514701]="DECODER_HW_SW",BM[BM.DECODE_RESULT=514702]="DECODE_RESULT",BM[BM.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",BM[BM.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",BM[BM.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",BM[BM.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",BM[BM.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",BM[BM.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",BM[BM.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",BM[BM.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",BM[BM.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",BM[BM.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",BM[BM.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",BM[BM.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",BM[BM.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",BM[BM.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",BM),YM=new WM(!0),JM=new WM(!1),XM=YM,$M={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},QM=new Map([[BN,["Firefox",HN]],[zN,["Edg",KN]],[Fk,["Chrome",Wk]],[Gk,["Safari",zk]],[QN,["TBS",ZN]],[ek,["XWEB",tk]],[nk&&MN,["WeChat",ak]],[dk,["QQ(Win)",uk]],[ck,["QQ(Mobile)",lk]],[sk,["QQ(Mobile X5)",lk]],[hk,["QQ(Mac)",pk]],[mk,["QQ(iPad)",fk]],[Ak,["MI",Sk]],[Rk,["HW",Ck]],[Dk,["Samsung",Nk]],[kk,["OPPO",Ok]],[Mk,["VIVO",Lk]],[GN,["EDGE",jN]],[YN,["SogouMobile",JN]],[XN,["Sogou",$N]]]);function ZM(){let e=QM.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var eL=function(){return!(Tk||GN||zN&&qN<80||BN&&WN<56)},tL=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},rL=function(){if(!navigator.mediaDevices)return oL()||RO.error(PM.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},iL=!1;function oL(){return"http:"===location.protocol&&!rO&&(iL||RO.error(VM({key:LM.NOT_SUPPORTED_HTTP})),iL=!0,!0)}var nL=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},aL=function(){return Wb(this,null,(function*(){var e,t,r;if($M.detail.isH264EncodeSupported&&$M.detail.isVp8EncodeSupported)return{isH264EncodeSupported:$M.detail.isH264EncodeSupported,isVp8EncodeSupported:$M.detail.isVp8EncodeSupported,isH265EncodeSupported:$M.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement(Lw.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(UO){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}}))},sL=function(){return Wb(this,null,(function*(){var e;if($M.detail.isH264DecodeSupported&&$M.detail.isVp8DecodeSupported)return{isH264DecodeSupported:$M.detail.isH264DecodeSupported,isVp8DecodeSupported:$M.detail.isVp8DecodeSupported,isH265DecodeSupported:$M.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;wL()?(o.addTransceiver(Lw.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(LO){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}}))};var cL=iN((e=>Wb(void 0,null,(function*(){let t=Date.now(),r=BL(),i=rL(),o=tL();if($M.detail.isWebRTCSupported=r,$M.detail.isMediaDevicesSupported=i,$M.detail.isWebCodecsSupported=o,$M.detail.isScreenShareSupported=dL(),$M.detail.isSmallStreamSupported=IL(),37===e)return Object.assign($M.detail,yield function(){return Wb(this,null,(function*(){return pL||(pL=new Promise((e=>Wb(this,null,(function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!tL())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout((()=>{n(),e(t)}),5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map((e=>Wb(this,null,(function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise(((t,o)=>Wb(this,null,(function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(BO){o(BO)}}))))}catch(p){return RO.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise(((r,o)=>Wb(this,null,(function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(BO){o(BO)}}))))}catch(p){RO.warn("".concat(e.type," decoder error:"),p)}return i})))))).forEach((e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)})),n(),e(t)}catch(a){n(),RO.warn("detectWebCodecsSupported failed:",a),e(t)}})))),pL)}))}()),$M.detail.isBrowserSupported=o,$M.result=i&&o,$M.result||RO.error("".concat(navigator.userAgent," ").concat(XD($M.detail,!1))),qL(e),XM.addNumber({key:523800,value:Date.now()-t}),$M;if($M.result&&$M.detail.isH264EncodeSupported&&$M.detail.isVp8EncodeSupported&&$M.detail.isH265EncodeSupported&&$M.detail.isH264DecodeSupported&&$M.detail.isVp8DecodeSupported&&$M.detail.isH265DecodeSupported)return $M;let n=eL(),{encode:a,decode:s}=yield function(){return Wb(this,null,(function*(){let[e,t]=yield Promise.all([aL(),sL()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}}))}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield aL();RO.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&xN&&Vk&&!ek&&!QN){let{encode:e,decode:t}=yield function(){return Wb(this,null,(function*(){return hL||(hL=new Promise((e=>Wb(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(),d.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>d.addIceCandidate(e.candidate))),d.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=HM.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=HM.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Wb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===Lw.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===Lw.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),RO.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&RO.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(cO)),e))),hL)}))}();c=e,d=t}return $M.result=n&&r&&i&&(c||l)&&(d||h),$M.detail.isBrowserSupported=n,$M.detail.isWebRTCSupported=r,$M.detail.isH264EncodeSupported=c,$M.detail.isVp8EncodeSupported=l,$M.detail.isH265EncodeSupported=u,$M.detail.isH264DecodeSupported=d,$M.detail.isVp8DecodeSupported=h,$M.detail.isH265DecodeSupported=p,$M.result||RO.error("".concat(navigator.userAgent," ").concat(XD($M.detail,!1))),qL(),XM.addNumber({key:523800,value:Date.now()-t}),$M})))),lL=function(){return $M.result},dL=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},uL="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,hL=null;var pL=null;var mL=(e,t,r)=>{"http:"===location.protocol&&!rO&&(e[t]=()=>{throw new $b({code:Jb.INVALID_OPERATION,message:PM.NOT_SUPPORTED_HTTP})})},fL=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(RD(e.selected)&&!e.selected)};function _L(){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 gL(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function EL(){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 vL(){return"captureStream"in HTMLCanvasElement.prototype}function yL(){return!(nk||PN||Hk&&Hk<63)&&!(!eL()||!vL())}function TL(){return!(Hk<74||GN||Xk<11||WN<46)}function IL(){return yL()||TL()}var AL=function(){if(ID(window.RTCRtpTransceiver)||!wL()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:mC}),e.addTransceiver(Lw.AUDIO),t=!0}catch(aw){}return null==e||e.close(),t};function SL(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function RL(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function bL(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function wL(){return!(11===Xk&&!tO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var CL=!(!wL()||Vk&&Hk<86);function DL(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var NL="RTCRtpSender"in window;function kL(){return NL&&"replaceTrack"in window.RTCRtpSender.prototype}function OL(){return NL&&"setParameters"in window.RTCRtpSender.prototype&&RL()}var ML="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,LL=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,PL=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,xL="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,UL=NL&&"createEncodedStreams"in window.RTCRtpSender.prototype&&Uk()>=86,VL="RTCRtpScriptTransform"in window,FL=NL&&(UL||VL),BL=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function HL(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return ID(window.AudioDecoder)||(e.AudioDecoder=!0),ID(window.AudioEncoder)||(e.AudioEncoder=!0),ID(window.VideoDecoder)||(e.VideoDecoder=!0),ID(window.VideoEncoder)||(e.VideoEncoder=!0),ID(window.ImageDecoder)||(e.ImageDecoder=!0),e}function WL(){return"mediaSession"in navigator&&!ID(navigator.mediaSession.setActionHandler)}function GL(){return!ID(window.WebTransport)}function jL(){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 zL(){let e={browser:"".concat(oO.name,"/").concat(oO.version),os:pO(),displayResolution:_L(),isScreenShareSupported:dL(),isWebRTCSupported:BL(),isGetUserMediaSupported:gL(),isWebAudioSupported:EL(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:HL(),isMediaSessionSupported:WL(),isWebTransportSupported:GL()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var KL="checkResult";function qL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;wO.setItem(KL+e,{ua:navigator.userAgent,checkResult:$M})}function YL(e){oL();let t=wO.getItem(KL+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!bD(e)&&Object.keys(t).every((t=>t in e))}(t.checkResult.detail,$M.detail)&&($M=t.checkResult),cL(e)}function JL(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var XL="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function $L(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var QL=!1;function ZL(){return Wb(this,null,(function*(){var e;try{if(QL||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=mO(),r=fO();if(0===t||0===r)return;QL=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([eP(i),tP(i)]);o&&Object.keys(o).forEach((e=>{let i=$L(e.toLowerCase());XM.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})})),n&&Object.keys(n).forEach((e=>{let i=$L(e.toLowerCase());XM.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})}))}catch(MO){RO.info("detectVideoCodecCapabilities failed",MO)}}))}function eP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return Wb(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(sw){}return n}))}function tP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return Wb(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(sw){}return n}))}var rP=Vb(Gb(),1),iP=Symbol("instance"),oP=Symbol("cacheResult"),nP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,dP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},aP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var sP=new Map;function cP(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=sP.get(i)||[];sP.has(i)||sP.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=uP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[oP]:Promise.resolve(i[oP]);i.state instanceof nP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof nP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new aP(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 aP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=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 d(l);let u=i.state,h=new nP(u,t,a);dP.call(i,h);let p=e=>{var o;return i[oP]=e,h.aborted||(dP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[oP])),e},m=e=>(dP.call(i,u,e),d(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(FO){return m(new aP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(FO),FO instanceof Error?FO:new Error(String(FO))))}}}}var lP="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 dP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(uP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var uP=class e extends rP.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[iP];o?this.name=o.name+"-"+o.count++:i[iP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=sP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);sP.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]:{};lP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){dP.call(this,e)}};uP.STATECHANGED="stateChanged",uP.UPDATEAFSM="updateAFSM",uP.INIT="[*]",uP.ON="on",uP.OFF="off",uP.instances=new Map,uP.instances2=new WeakMap;var hP="undefined"!=typeof window,pP=hP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},mP=hP&&window.cancelIdleCallback||function(e){clearTimeout(e)},fP=hP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),_P=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=Lb("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=Pb(Lb({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&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),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=xD(),o=()=>{if(r=xD()-i,r>=t.delay&&(i=xD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=pP(o,{timeout:t.delay})};return t.ricID=pP(o,{timeout:t.delay})}static raf(t){let r,i=xD(),o=()=>document.hidden&&t.backgroundTask?(r=xD()-i,i=xD(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=xD()-i,r>=t.delay&&(i=xD()-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=xD()-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}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&fP&&fP(i),o&&mP(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Bb(_P,"taskMap",new Map),Bb(_P,"currentTaskID",1),Bb(_P,"sharedWorker",null),Bb(_P,"workerTasks",new Map);var gP=_P;Lw.SEI_MESSAGE;var EP={LOADED_DATA:Lw.LOADEDDATA,LOADED_META_DATA:Lw.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:Lw.RESIZE},vP={};Ub(vP,{create:()=>TP,remove:()=>IP});var yP=new WeakMap;function TP(e,t){yP.has(e)||yP.set(e,[]);let r=yP.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 IP(e){let t=yP.get(e);t&&(t.forEach((e=>e())),yP.delete(e))}var AP=new class{constructor(){Bb(this,"_roomIdMap",new Map),Bb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:ow,env:Aw.QCLOUD,browserVersion:oO.name+oO.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){rO||!RO.isAbleToUpload||this._configs.env===Aw.QCLOUD&&this.uploadEventToKibana(Pb(Lb({},e),{result:"success"}))}logFailedEvent(e){if(rO||!RO.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)||Jb.UNKNOWN};this._configs.env===Aw.QCLOUD&&this.uploadEventToKibana(Pb(Lb({},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:Zb(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:ow,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=AO.enable?uN(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(oD(this._configs.sdkAppId,Iw.LOG),n)}sendRequest(e,t){setTimeout((()=>_N({url:e,body:t,priority:"low"}).catch((()=>{}))),2e3)}},SP=new WeakMap;function RP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=IN({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=SP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=SP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;vN(i)&&i.call(this,t,r),null!=(o=SP.get(e))&&o.has(n)&&(SP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=SP.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}):SP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=SP.get(e))?void 0:t.delete(n)}))},a}}var bP=class extends uP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,Bb(this,"id"),Bb(this,"element",null),Bb(this,"track"),Bb(this,"url"),Bb(this,"attr"),Bb(this,"mode"),Bb(this,"muted"),Bb(this,"_log"),Bb(this,"_pausedRetryCount"),Bb(this,"_isElementPlayingFired",!1),Bb(this,"_interval"),Bb(this,"_delayDestroyTimeoutId",0),Bb(this,"_playSuccessResolve"),Bb(this,"_isReplayByRecreateMediaStreamCalled",!1),Bb(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=bC,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)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}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 Wb(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(aw){let t=VM({key:LM.PLAY_FAILED,data:{media:this.kind,error:aw}});if(this._log.warn(aw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new $b({code:Jb.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&&!jk?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(Lw.ENDED),this._interval>0&&gP.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():Qk?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 TP(this.element,this.element).add(Lw.PLAYING,e).add(Lw.ENDED,e).add(Lw.PAUSE,e).add(Lw.ERROR,e).add(Lw.LOADEDDATA,e).add(Lw.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==vP||vP.create(e,e).add(Lw.ENDED,t).add(Lw.MUTE,t).add(Lw.UNMUTE,t),e.readyState===Lw.ENDED&&this.handleTrackEvent({type:Lw.ENDED}),e.muted&&this.handleTrackEvent({type:Lw.MUTE})}}bindAutoPlayEvent(){yO.on(IO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&IP(e)}unbindEvents(){this.element&&IP(this.element),this.unbindTrackEvents(),yO.off(IO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case Lw.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(Lw.PLAYING),this._interval&&(gP.clearTask(this._interval),this._interval=-1);break;case Lw.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(Lw.ENDED);break;case Lw.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(Lw.PAUSE),PN&&(this._interval=gP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case Lw.ERROR:if(this.element&&this.element.error){this.handlePaused(Lw.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)),AP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(dC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),wk||bk?this.emit(EP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case Lw.LOADEDDATA:this.kind===Lw.VIDEO&&this.emit(EP.LOADED_DATA);break;case Lw.LOADEDMETADATA:this.kind===Lw.VIDEO&&this.emit(EP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),AP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),XM.addSuccessEvent({key:this.kind===Lw.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),AP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),XM.addFailedEvent({key:this.kind===Lw.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(EP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{rN(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)}),rN(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){return Wb(this,null,(function*(){switch(e.type){case Lw.ENDED:this.handleStopped(Lw.ENDED);break;case Lw.MUTE:this.handlePaused(Lw.MUTE);break;case Lw.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.resume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(Lw.UNMUTE))}}))}handlePlaying(e){var t;this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),this.emit(EP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this._log.debug("handlePaused",e),this.emit(EP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this._log.debug("handleStopped",e),this.emit(EP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};Fb([RP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],bP.prototype,"doReplayByRecreateMediaStream",1),Fb([cP([],"PLAYING",{sync:!0})],bP.prototype,"handlePlaying",1),Fb([cP("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],bP.prototype,"handlePaused",1),Fb([cP([],"STOPPED",{sync:!0})],bP.prototype,"handleStopped",1);var wP,CP="trtc_autoplay",DP="".concat(CP,"_mask"),NP="".concat(CP,"_wrapper"),kP="".concat(CP,"_header"),OP="".concat(CP,"_content"),MP="".concat(CP,"_action_wrapper"),LP="".concat(CP,"_question"),PP="".concat(CP,"_collapse"),xP="".concat(CP,"_action_confirm"),UP="".concat(CP,"_detail"),VP="#2473E8",FP="dialog",BP="".concat(FP,"-show"),HP="".concat(FP,"-1"),WP="".concat(FP,"-2"),GP=!1,jP=()=>!!document.querySelector(".".concat(NP)),zP="".concat(gw,"/").concat(_D()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),KP="<br><a href='".concat(zP,"' target='_blank'>").concat(_D()?"其他方案?":"Any other solution?","</a>"),qP="".concat(_D()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(KP):"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(KP)),YP=class{constructor(){if(Bb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Bb(this,"_dialogNode",null),Bb(this,"_bodyPosition",""),Bb(this,"_showDetail",!1),Bb(this,"_isCollapseClicked",!1),Bb(this,"_isQuestionClicked",!1),_D()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!GP){let e=document.createElement("style");e.innerHTML=".".concat(DP,"{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(DP," div:not(.").concat(MP,"){display:block !important;}.").concat(NP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(NP," a{color:").concat(VP,";}.").concat(kP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(OP,"{margin:8px 0;}.").concat(MP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(PP,"{margin-right:auto;cursor:pointer}.").concat(LP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(xP,"{margin-left:8px;color:#fff;background:").concat(VP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(xP,":hover{opacity:0.9;}.").concat(PP,",.").concat(xP,",.").concat(OP,",.").concat(LP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(NP,"{width:80vw;}}"),document.head.appendChild(e),GP=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(DP,"\"><div class='").concat(NP,"'><div class='").concat(kP,"'>").concat(location.host,"</div><div class='").concat(OP,"'>").concat(this.content,"</div><div class='").concat(UP,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(qP,"</div><div class='").concat(MP,"'></div></div></div>").trim();let t=document.createElement("button");t.className=xP,t.innerText=_D()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=LP,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=PP,i.innerText="".concat(_D()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(MP));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){jP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(NP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",RO.info("show autoplay dialog"),AP.uploadEvent({log:BP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){RO.warn("confirm clicked, try resume stream"),yO.emit(IO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(UP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||AP.uploadEvent({log:HP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(zP,"_blank"),this._isQuestionClicked||AP.uploadEvent({log:WP}),this._isQuestionClicked=!0}},JP=class extends bP{constructor(e){super(e,Lw.VIDEO),Bb(this,"stat",{}),Bb(this,"_calculateTimeout",-1),Bb(this,"viewMirror",!1),Bb(this,"objectFit"),Bb(this,"container"),Bb(this,"canvas"),Bb(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,ID(e.viewMirror)||(this.viewMirror=e.viewMirror),ID(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement(Lw.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.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(Lw.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(Lw.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add(Lw.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===Lw.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===Lw.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.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=bC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!jP()&&(this._log.info("[".concat(bC-this._pausedRetryCount+1,"/").concat(bC,"] ").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;l===Lw.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===Lw.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===Lw.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(EP.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}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(EP.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(JL()&&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(aw){this._log.warn("init stat failed",aw)}}};function XP(e,t){return Wb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),RO.info("worklet addModule success")}catch(aw){throw RO.info("worklet addModule catch error. ".concat(aw.message)),aw}}))}"undefined"!=typeof AudioContext?wP=AudioContext:"undefined"!=typeof webkitAudioContext?wP=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(wP=mozAudioContext);var $P,QP=1500,ZP=-1,ex=0,tx=-1,rx=!1;!function e(){try{if($P)return;($P=new wP({sampleRate:48e3})).onstatechange=()=>{RO.info("context state: ".concat($P.state).concat("running"!==$P.state?" visibilityState: ".concat(document.visibilityState):"")),ix()},clearTimeout(ZP)}catch(MB){RO.error("initAudioContext failed: ".concat(MB," typeof AudioContextClass: ").concat(typeof wP)),ZP=setTimeout(e,1e3)}}();var ix=()=>{"suspended"===$P.state?(ex=xD(),-1===tx&&(tx=setTimeout((()=>{"suspended"===$P.state&&(rx=!0,yO.emit("155",{isSuspended:!0}))}),QP)),ax(),document.addEventListener("click",ix)):"interrupted"===$P.state?ax():(ex&&(XM.addNumber({key:507800,value:xD()-ex,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),ex=0),-1!==tx&&(clearTimeout(tx),tx=-1,rx&&(rx=!1,yO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",ix),document.removeEventListener("click",ix))},ox=0,nx=-1;function ax(){return new Promise(((e,t)=>{if("running"===$P.state)return e();Date.now()-ox<1e3?(clearTimeout(nx),nx=setTimeout((()=>{ox=Date.now(),$P.resume().then(e,t)}),1e3)):(clearTimeout(nx),ox=Date.now(),$P.resume().then(e,t))})).catch((e=>{RO.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",ix)}))}document.addEventListener("click",ix);var sx=e=>$P,cx=class{constructor(e){this.name=e,Bb(this,"node"),Bb(this,"node2"),Bb(this,"pre",new Set),Bb(this,"next",new Set),Bb(this,"context"),Bb(this,"connectedNodes",new Set),Bb(this,"nextInputChannelMap",new Map),Bb(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((t=>t.channelCount=e))}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}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.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(cC){RO.error(cC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),XM.addSuccessEvent({key:502701})}catch(LO){RO.error(LO),XM.addFailedEvent({key:502701,error:LO})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),XM.addSuccessEvent({key:502702})}catch(aw){RO.error(aw),XM.addFailedEvent({key:502702,error:aw})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)}))}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),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(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},lx=class extends cx{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Bb(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}},dx=class{constructor(){Bb(this,"source",new cx),Bb(this,"gain",new cx),Bb(this,"destination",new cx)}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(sx().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(mx(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}},ux=class extends dx{constructor(e){super(),this.context=e,Bb(this,"aec",new cx("aec")),Bb(this,"mixNode",new cx("mixNode")),Bb(this,"silentNode",new cx("silentNode")),Bb(this,"denoiser",new cx("denoiser")),Bb(this,"voiceChanger",new cx("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.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.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.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()}},hx=class{constructor(){Bb(this,"audioContext",sx()),Bb(this,"destination",this.audioContext.createMediaStreamDestination()),Bb(this,"inputs",new Set),Bb(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]}},px=new WeakMap;function mx(e){let t=px.get(e);if(t)return t;let r=sx();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return px.set(e,t),t}var fx=class e{constructor(e){Bb(this,"_volume",0),Bb(this,"_volumeDb",0),Bb(this,"_log"),Bb(this,"_scriptProcessorNode",null),Bb(this,"_audioWorkletNode",null),Bb(this,"_interval",200),Bb(this,"ready",this.preload());let{log:t}=e;this._log=t,yO.on(IO.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=XP(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(MO){this._log.error("volumeMeter init audio worklet error: ".concat(MO)),AP.logFailedEvent({userId:this._log.userId,eventType:dC.LOAD_WORKLET,error:MO}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=sx().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(MO){this._log.error("volumeMeter init script processor error: ".concat(MO))}}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,yO.off(IO.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})}};Bb(fx,"lastMessageTime",0),Bb(fx,"audioContext",sx()),Bb(fx,"workletReady");var _x=fx,gx=class extends cx{constructor(e){super(),Bb(this,"_volumeMeter"),this._volumeMeter=new _x(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Wb(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()}}},Ex=_x,vx=Vb(Gb(),1),yx=e=>t=>t.deviceId===e,Tx=class{constructor(e,t){Bb(this,"kind"),Bb(this,"type"),Bb(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&&Sx(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(yx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");RO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(yx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");RO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},Ix=class extends vx.EventEmitter{constructor(){super(),Bb(this,"audioInputs",new Tx(Lw.AUDIO,"Input")),Bb(this,"videoInputs",new Tx(Lw.VIDEO,"Input")),Bb(this,"audioOutputs",new Tx(Lw.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||gP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){Rx().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield Rx(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}},Ax=lw||cw?null:new Ix;function Sx(e){return e.deviceId===e.groupId&&""===e.groupId}function Rx(){return Wb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(oL()||!rL())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{Sx(e)&&(e.kind===Lw.AUDIO_INPUT?r.audio=!0:e.kind===Lw.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&&ax()}catch(LO){RO.debug("capture before getDevices failed: ",LO)}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&&Nx.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function bx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Ax.update(e?1:0).then((e=>e.audioInputs.devices))}function wx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Ax.update(e?2:0).then((e=>e.videoInputs.devices))}var Cx=!1;function Dx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Wb(this,null,(function*(){return(PN||Gk)&&(e=!1),Ax.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var Nx=new Set;function kx(e,t){return Wb(this,null,(function*(){let r=(yield bx()).find((e=>e.deviceId===wC));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var Ox,Mx=class extends dx{constructor(e){super(),this.log=e,Bb(this,"volumeMeter"),Bb(this,"volumeMeterAfter3A"),Bb(this,"volumeDestination"),Bb(this,"analyser",new lx),this.volumeMeter=new gx({log:this.log}),this.volumeMeterAfter3A=new gx({log:this.log}),this.volumeDestination=new cx,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},Lx=class e extends bP{constructor(e){super(e,Lw.AUDIO),Bb(this,"_outputDeviceId"),Bb(this,"_volume",1),Bb(this,"_destination",sx().createMediaStreamDestination()),Bb(this,"pipeline"),Bb(this,"volumeMeterMode","worklet"),this.mode=0,this.pipeline=new Mx(this._log)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===qk||"15.3"===qk||"15.4"===qk)&&this.muted)return void this._log.info("audioElement is muted.");let t=Ox||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,SD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===Ox&&(Ox=void 0),this.bindElementEvents()}play(t){return Wb(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(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(sx().createAnalyser()),function(){Wb(this,null,(function*(){try{Cx||(Cx=!0,RO.info("speakers:".concat((yield Dx()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),Hb(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 Wb(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()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},Px=class extends Lx{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(EP.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)}},xx=class extends Lx{constructor(e){super(e),Bb(this,"_sourceElement"),Bb(this,"_output",new cx),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(sx().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(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(EP.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.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,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"):PN||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),IP(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&&jk&&(Ox=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},Ux=class extends uP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?xx:JP)}=e;var a;super(),Bb(this,"id",bO()),Bb(this,"userId",""),Bb(this,"isRemote"),Bb(this,"mediaType"),Bb(this,"room"),Bb(this,"user"),Bb(this,"_log"),Bb(this,"_inputTrack"),Bb(this,"_outputTrack"),Bb(this,"isPlayCalled"),Bb(this,"container",null),Bb(this,"player"),Bb(this,"subVideoPlayerMap"),Bb(this,"muted",!1),Bb(this,"abortCtrl"),Bb(this,"objectFit","cover"),Bb(this,"mirror"),Bb(this,"rotation"),Bb(this,"isScreen",!1),Bb(this,"manager"),Bb(this,"trackSettings"),Bb(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=RO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof _F?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof _F}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(EP.PLAYER_STATE_CHANGED,(e=>{yO.emit(IO.PLAYER_STATE_CHANGED,Lb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===Lw.VIDEO&&(this.player.on(EP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(EP.LOADED_DATA),yO.emit(IO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(EP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(EP.LOADED_META_DATA)})),this.player.on(EP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))})),this.player.on(EP.RESIZE,(e=>{this.emit("video-size-changed",Lb({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(EP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||RO}get kind(){return 1===this.mediaType?Lw.AUDIO:Lw.VIDEO}get strMediaType(){return 4===this.mediaType?Lw.VIDEO:2===this.mediaType?Lw.SCREEN:Lw.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 Wb(this,null,(function*(){let r=wD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!ID(t.muted)&&this.setPlayerMute(t.muted),t&&!ID(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof JP&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),wD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!ID(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===Lw.VIDEO)&&this.setPlayerMute(!0),t&&!ID(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof JP&&(this.player.setObjectFit(this.objectFit),t&&!ID(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof JP&&this.player.setContainer(r)),yO.emit(IO.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),wD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(VO){throw this.handleAutoPlayFailed(VO),VO}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==Lw.VIDEO||ID(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(RD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&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 Wb(this,null,(function*(){if(!this._outputTrack||this.kind===Lw.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&&(ID(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new JP({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(yN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Wb(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),yO.emit(e?IO.TRACK_MUTED:IO.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){TP(e,e).add(Lw.MUTE,this.onTrackMuted).add(Lw.UNMUTE,this.onTrackUnmuted).add(Lw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Lw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){IP(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(yN(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 YP;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 JP?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===EP.LOADED_META_DATA&&!n&&!a||(e===EP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,sN(this.rotation)&&([n,a]=[a,n]),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"))}};Fb([cP([],uP.INIT,{sync:!0})],Ux.prototype,"close",1);var Vx=Object.prototype.hasOwnProperty;var Fx=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(gD(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(Vx.call(e,t))return!1;return!0}return!1},Bx=IN({retryFunction:function(e){return Wb(this,null,(function*(){let t=function(e){return{audio:Wx(e),video:Gx(e)}}(e);RO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield bx(),RO.info("microphones: ".concat(JD(r.map((e=>Pb(Lb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield wx(),RO.info("cameras: ".concat(JD(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return PL&&e.getTracks().forEach((e=>{RO.info("".concat(e.kind," capabilities: ").concat(JD(e.getCapabilities(),{keysToInclude:LC})))})),t.audio&&ax(),e}catch(VO){let{message:o}=VO;throw"NotFoundError"===VO.name&&(e.video&&i&&0===i.length&&(o=VM({key:LM.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=VM({key:LM.MICROPHONE_NOT_FOUND}))),new $b({code:Jb.INITIALIZE_FAILED,name:VO.name,message:o,constraint:VO.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,(!Gk||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&&Hx(o[0].microphoneId,!1),o[0].cameraId&&Hx(o[0].cameraId,!0)},onRetrying:e=>{RO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{AP.logFailedEvent({eventType:dC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{AP.logSuccessEvent({eventType:dC.GET_USER_MEDIA_RETRY}),AP.uploadEvent({log:"stat-".concat(dC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function Hx(e,t){return Wb(this,null,(function*(){let r=(t?yield wx():yield bx()).find((t=>t.deviceId===e));r&&TD(r.getCapabilities)&&RO.warn(JD(r.getCapabilities(),{keysToInclude:LC}))}))}function Wx(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!Fx(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(SD(e.channelCount)&&(t.channelCount=e.channelCount),RD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),RD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),RD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!Fx(t)||t)}function Gx(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&&!Fx(r)?r:(e.width&&(r.width={ideal:e.width},t&&!BN&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!BN&&(r.height.max=e.height)),BN&&gk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!Fx(r)||r)}var jx=Bx;function zx(e){return Kx(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Wb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function Kx(e){return function(t,r,i){return i.value=e(i.value,r),i}}var qx=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&RO.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{RO.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),Yx=0,Jx=class{constructor(){Bb(this,"log",RO.createLogger({id:"fq".concat(++Yx)})),Bb(this,"isRunning",!1),Bb(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=Lb({},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()}))}},Xx=new WeakMap,$x=new WeakMap;function Qx(){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=Xx.get(this)||new Jx;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return Xx.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function Zx(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=$x.get(this)||new Map,a=i.get(n(t))||new Jx;return i.set(n(t),a),$x.set(this,i),a.push({fn:o,args:t,context:this})},i}}function eU(e,t){return Kx(((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=xD();return ND(e)?e.then((e=>(t?XM.addSuccessEvent({key:i,cost:xD()-s}):XM.addSuccessEvent({key:i}),e))).catch((e=>{throw XM.addFailedEvent({key:i,error:e}),e})):(XM.addSuccessEvent({key:i}),e)}catch(sw){throw XM.addFailedEvent({key:i,error:sw}),sw}}))}var tU={};function rU(){}Ub(tU,{Events:()=>gU,Inspect:()=>cU,LastSink:()=>lU,Sink:()=>dU,Subscribe:()=>uU,TimeoutError:()=>EU,audit:()=>IV,bindCallback:()=>$U,bindNodeCallback:()=>QU,buffer:()=>kU,bufferCount:()=>NU,bufferTime:()=>nF,call:()=>iU,catchError:()=>sF,combineLatest:()=>bU,concat:()=>AU,concatMap:()=>qV,concatMapTo:()=>YV,count:()=>oV,create:()=>pU,debounce:()=>RV,debounceTime:()=>bV,defer:()=>LU,delay:()=>aF,deliver:()=>mU,dispose:()=>nU,elementAt:()=>wV,empty:()=>tV,every:()=>OV,exhaustMap:()=>tF,exhaustMapTo:()=>rF,filter:()=>cV,find:()=>CV,findIndex:()=>DV,first:()=>NV,fromAnimationFrame:()=>JU,fromArray:()=>VU,fromEvent:()=>GU,fromEventPattern:()=>WU,fromFetch:()=>zU,fromIterable:()=>KU,fromPromise:()=>jU,fromReadableStream:()=>YU,fromReader:()=>qU,groupBy:()=>iF,identity:()=>oU,ignoreElements:()=>lV,iif:()=>RU,inspect:()=>aU,interval:()=>FU,last:()=>kV,map:()=>xV,mapTo:()=>UV,max:()=>nV,merge:()=>TU,mergeMap:()=>$V,mergeMapTo:()=>QV,min:()=>aV,never:()=>ZU,nothing:()=>rU,of:()=>UU,pairwise:()=>LV,pipe:()=>hU,race:()=>IU,range:()=>XU,reduce:()=>iV,retry:()=>pF,scan:()=>MV,share:()=>yU,shareReplay:()=>SU,skip:()=>mV,skipUntil:()=>fV,skipWhile:()=>_V,startWith:()=>CU,subject:()=>MU,subscribe:()=>dF,sum:()=>sV,switchMap:()=>WV,switchMapTo:()=>jV,take:()=>dV,takeLast:()=>pV,takeUntil:()=>uV,takeWhile:()=>hV,tap:()=>uF,throttle:()=>yV,throwError:()=>eV,timeInterval:()=>oF,timeout:()=>hF,timer:()=>BU,toPromise:()=>cF,toReadableStream:()=>lF,withLatestFrom:()=>DU,zip:()=>wU});var iU=e=>e(),oU=e=>e;function nU(){this.dispose()}var aU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,sU=1,cU=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new _U(e,this,this.streamId++);return gU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},lU=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=rU,this.error=rU,this.next=rU,this.dispose=rU,this.subscribe=rU,this.doDefer()}subscribe(e){return e instanceof cU?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(iU),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}},dU=class extends lU{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)}},uU=class extends lU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:rU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:rU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=rU,e instanceof cU){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{gU.defer(o,0)})),gU.create(o),gU.pipe(o),this.sourceId=o.id,this.subscribe(e),gU.subscribe({id:o.id,end:!0}),t==rU?this._next=e=>gU.next(o,0,e):this.next=e=>{gU.next(o,0,e),t(e)},i==rU?this._complete=()=>gU.complete(o,0):this.complete=()=>{this.dispose(),gU.complete(o,0),i()},r==rU?this._error=e=>gU.complete(o,0,e):this.error=e=>{this.dispose(),gU.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 hU(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 pU(e,t,r){if(aU()){let i=Object.defineProperties(Object.setPrototypeOf(e,cU.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}});gU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof cU&&gU.addSource(i,t)}return i}return e}function mU(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 cU){let o=pU((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,gU.pipe(o),o}return t=>r(new e(t,...i))}}}function fU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var _U=class extends dU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{gU.defer(this.source,this.id)}))}next(e){gU.next(this.source,this.id,e),this.sink.next(e)}complete(){gU.complete(this.source,this.id),this.sink.complete()}error(e){gU.complete(this.source,this.id,e),this.sink.error(e)}},gU={addSource(e,t){fU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){fU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;fU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){fU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){fU("defer",{id:e.id,streamId:t})},pipe(e){fU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){fU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=sU++),fU("create",{name:e.toString(),id:e.id})}},EU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},vU=class extends lU{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 yU(){return e=>{let t=new vU(e);if(e instanceof cU){let r=pU((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,gU.pipe(r),r}return pU(t.add.bind(t),"share",arguments)}}function TU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU((e=>{let r=new dU(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function IU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU((e=>{let r=new Map;t.forEach((t=>{let i=new dU(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 AU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU((e=>{let r=0,i=t.length,o=new dU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function SU(e){return t=>{let r=new vU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},pU((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function RU(e,t,r){return pU((i=>e()?t(i):r(i)),"iif",arguments)}function bU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU((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 dU(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 wU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new dU(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 CU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>pU((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 DU=mU(class extends dU{constructor(e){super(e);let t=new dU(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=rU,t.subscribe(bU(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),NU=mU(class extends dU{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"),kU=mU(class extends dU{constructor(e,t){super(e),this.buffer=[];let r=new dU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=rU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),OU=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 MU(e){let t=arguments,r=yU()(pU((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=rU,r.complete=rU,r.error=rU,r}function LU(e){return pU((t=>t.subscribe(e())),"defer",arguments)}var PU=e=>t=>{setTimeout((()=>e(t)))},xU=e=>PU((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function UU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return pU(xU(t),"of",arguments)}function VU(e){return pU(xU(e),"fromArray",arguments)}function FU(e){return pU((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function BU(e,t){return pU((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 HU(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function WU(e,t){return pU(HU(e,t),"fromEventPattern",arguments)}function GU(e,t){if("on"in e&&"off"in e)return pU(HU((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return pU(HU((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return pU(HU((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function jU(e){return pU((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function zU(e,t){return pU(LU((()=>jU(fetch(e,t)))),"fromFetch",arguments)}function KU(e){return pU(PU((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(aw){t.error(aw)}})),"fromIterable",arguments)}function qU(e){let t=r=>OU(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 pU((e=>{t(e)}),"fromReader",arguments)}function YU(e){return pU((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 JU(){return pU((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function XU(e,t){return pU((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 $U(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 pU((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function QU(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 pU((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function ZU(){return pU((()=>{}),"never",arguments)}function eV(e){return pU((t=>t.error(e)),"throwError",arguments)}function tV(){return pU((e=>e.complete()),"empty",arguments)}var rV=class extends dU{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)}},iV=mU(rV,"reduce"),oV=e=>mU(rV,"count")(((t,r)=>e(r)?t+1:t),0),nV=()=>mU(rV,"max")(Math.max),aV=()=>mU(rV,"min")(Math.min),sV=()=>mU(rV,"sum")(((e,t)=>e+t),0),cV=mU(class extends dU{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"),lV=mU(class extends dU{next(e){}},"ignoreElements"),dV=mU(class extends dU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),uV=mU(class extends dU{constructor(e,t){super(e);let r=new dU(e);r.next=()=>e.complete(),r.complete=nU,r.subscribe(t)}},"takeUntil"),hV=mU(class extends dU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),pV=e=>iV(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),mV=mU(class extends dU{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),fV=mU(class extends dU{constructor(e,t){super(e),e.next=rU;let r=new dU(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=nU,r.subscribe(t)}},"skipUntil"),_V=mU(class extends dU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),gV={leading:!0,trailing:!1},EV=class extends dU{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)}},vV=class extends dU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:gV;super(e),this.durationSelector=t,this.config=r,this._throttle=new EV(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=rU,this._throttle.complete(),super.complete()}},yV=mU(vV,"throttle"),TV={leading:!1,trailing:!0},IV=e=>mU(vV,"audit")(e,TV),AV=class extends dU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},SV=class extends dU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new AV(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()}},RV=mU(SV,"debounce"),bV=e=>mU(SV,"debounceTime")((t=>BU(e))),wV=mU(class extends dU{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"),CV=e=>t=>dV(1)(_V((t=>!e(t)))(t)),DV=mU(class extends dU{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"),NV=mU(class extends dU{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"),kV=mU(class extends dU{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"),OV=mU(class extends dU{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"),MV=mU(class extends dU{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"),LV=mU(class extends dU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),PV=class extends dU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},xV=mU(PV,"map"),UV=e=>mU(PV,"mapTo")((t=>e)),VV=class extends dU{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()}},FV=class extends dU{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()}},BV=class extends VV{},HV=class extends FV{next(e){this.subInner(e,BV),this.next=e=>{this.currentSink.dispose(),this.subInner(e,BV)}}},WV=mU(HV,"switchMap");function GV(e){return(t,r)=>e((()=>t),r)}var jV=GV(mU(HV,"switchMapTo")),zV=class extends VV{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},KV=class extends FV{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(),zV),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},qV=mU(KV,"concatMap"),YV=GV(mU(KV,"concatMapTo")),JV=class extends VV{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},XV=class extends FV{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,JV),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},$V=mU(XV,"mergeMap"),QV=GV(mU(XV,"mergeMapTo")),ZV=class extends VV{dispose(){this.context.resetNext(),super.dispose()}},eF=class extends FV{next(e){this.next=rU,this.subInner(e,ZV)}},tF=mU(eF,"exhaustMap"),rF=GV(mU(eF,"exhaustMapTo")),iF=mU(class extends dU{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=MU(),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"),oF=mU(class extends dU{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"),nF=mU(class extends dU{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"),aF=mU(class extends dU{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"),sF=mU(class extends dU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),cF=()=>e=>new Promise(((t,r)=>{let i;new uU(e,(e=>i=e),r,(()=>t(i)))})),lF=()=>e=>{let t;return new ReadableStream({start(r){t=new uU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},dF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:rU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:rU;return i=>new uU(i,e,t,r)},uF=mU(class extends dU{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"),hF=mU(class extends dU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new EU(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),pF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof cU){let r=pU((i=>{let o=e,n=new dU(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,gU.pipe(r),r}return r=>{let i=e,o=new dU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},mF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(mF||{}),fF=class e extends Ux{constructor(e,t){super({mediaType:e,PlayerClass:t}),Bb(this,"isRemote",!1),Bb(this,"deviceId"),Bb(this,"groupId",""),Bb(this,"label",""),Bb(this,"sourceTrack"),Bb(this,"enableAutoSwitchWhenRecapturing",!0),Bb(this,"_isRecapturing",!1),Bb(this,"_lastRecaptureTime",0),Bb(this,"_onMuteTimeoutId",-1),Bb(this,"_encodeCheckTimeoutId",-1),Bb(this,"recaptureMode",0),Bb(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){TP(e,e).add(Lw.MUTE,this.onTrackMuted).add(Lw.UNMUTE,this.onTrackUnmuted).add(Lw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Lw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){IP(e)}setStateToReady(){}capture(e){return Wb(this,null,(function*(){var t;try{let r,i=xD();yO.emit(IO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.sourceTrack)||t.stop(),r=yield jx(e));let o=r.getTracks()[0];return yield this.setInputMediaStreamTrack(o),e.customSource||(this.sourceTrack=o,this.updateDeviceIdInUse(),this.listenDeviceChange()),yO.emit(IO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:xD()-i}),r}catch(LO){throw yO.emit(IO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:LO}),this.log.error("getUserMedia error observed ".concat(LO)),LO}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=HD((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}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),Promise.all([t,new Promise(((t,r)=>Wb(this,null,(function*(){var i,o;this.hasFlag?t():hU(GU(e,"local-publish-flag-changed"),cV((()=>this.hasFlag)),uV(TU(GU(this,uP.INIT),GU(this,"ready"))),dF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t,i,o,n,a;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===Lw.AUDIO,t=this.stat.bytesSent>0;if(XM[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&XM[t?"addSuccessEvent":"addFailedEvent"]({key:e})}t||(XM.addEnum({key:e?503701:513703,value:mO()}),AP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(uO()||_O()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.emit("6",this),r(new $b({message:"".concat(this.strMediaType," encode failed"),code:e?Jb.AUDIO_ENCODE_FAILED:Jb.VIDEO_ENCODE_FAILED})))}}),5e3))}))))])}unpublish(){this.room&&this.room.localTracks.delete(this),yO.emit(IO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Wb(this,null,(function*(){if(this.sourceTrack&&LL){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return Wb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==Lw.AUDIO||t!==wC||(yield kx(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),Rx().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.sourceTrack||this.kind===Lw.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(Lw.AUDIO_INPUT);return!!Nx.has(r)}(this.sourceTrack)||this.kind===Lw.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(Lw.VIDEO_INPUT);return!!Nx.has(r)}(this.sourceTrack)||this._isRecapturing||e&&gk&&Gk)}onTrackMuted(){if(super.onTrackMuted(),qx(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<MC)return void setTimeout((()=>this.onTrackMuted()),MC);this._onMuteTimeoutId=setTimeout((()=>Wb(this,null,(function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((PN||xN)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Wb(this,null,(function*(){if(Hb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<MC)return void setTimeout((()=>this.onTrackEnded()),MC);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return Wb(this,null,(function*(){var t;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying"),null==(t=this.sourceTrack)||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 bx():yield wx()).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}),yO.emit(IO.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),yO.emit(IO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})}))}))}getRecoverCaptureDeviceId(){return Wb(this,null,(function*(){let e=this instanceof IF;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(gF.get(t)||0)+1;if(gF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield wx()).find((e=>!gF.has(e.deviceId))):(yield bx()).find((e=>!gF.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};Fb([cP(uP.INIT,"ready",{ignoreError:!0,sync:!0})],fF.prototype,"setStateToReady",1),Fb([Qx()],fF.prototype,"capture",1),Fb([cP("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),yO.emit(IO.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof $b){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===Jb.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),eU(521714,!1)],fF.prototype,"publish",1),Fb([Kx((e=>function(){return Wb(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)}))})),cP([],"ready",{sync:!0})],fF.prototype,"unpublish",1);var _F=fF,gF=new Map;yO.on(IO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&gF.delete(e.track.deviceId)}));var EF=class e extends _F{constructor(e){super(1,Px),Bb(this,"mediaType",1),Bb(this,"volume",0),Bb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Bb(this,"playerMuted",!0),Bb(this,"pipeline"),Bb(this,"earMonitorGainNode",new cx),Bb(this,"_output",new cx),Bb(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),Bb(this,"mixedAudioReferenceMap",new Map),Bb(this,"isAudioContextLongSuspended",!1),this.manager=e,this.pipeline=new ux(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),yO.on(IO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return Ex.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}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}setInputMediaStreamTrack(t){return Wb(this,null,(function*(){let r=this.trackSettings||{};XM.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),XM.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),XM.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.source.channelCount=o||1,this.pipeline.replaceSource(t),yield Hb(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 Wb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==wC)return;if(yield kx(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),yO.emit(IO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(cC){throw this.log.error("switch microphone failed ".concat(cC)),this.deviceId&&this.recapture(this.deviceId),cC}}}))}listenDeviceChange(){Ax&&!Ax.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&Ax.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Wb(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(mF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){cB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield bx();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Ax.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Ax.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return Wb(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!ID(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!ID(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!ID(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(BN||Gk?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",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&&XM.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),PN&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(sx().createGain()),this._output.setNode(sx().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!Gk&&!PN)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;Hk<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(XM.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=mx(e),i=new cx,o=sx().createGain();o.gain.value=1;let n=new cx;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}close(){this.mixedAudioReferenceMap.forEach((e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()})),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),Ax.off("audioInputAdded",this.handleMicrophoneAdded,this),Ax.off("audioInputRemoved",this.handleMicrophoneRemoved,this),yO.off(IO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){return Wb(this,null,(function*(){try{yield Hb(e.prototype,this,"recapture").call(this,t)}catch(cC){let i=(yield bx()).find((e=>e.deviceId!==t));if(!i)throw cC;yield Hb(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))}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(jk?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},vF=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}},yF=class{constructor(){Bb(this,"_seiMessageList",[]),Bb(this,"_smallSeiMessageList",[]),Bb(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 vF(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}},TF=class e extends _F{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,JP),Bb(this,"profile",Lb({},kw)),Bb(this,"avoidCropping",!1),Bb(this,"_scaleResolutionDownBy"),Bb(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),Bb(this,"small"),Bb(this,"isNeedToSetBandwidth"),Bb(this,"muteImage"),Bb(this,"manager"),Bb(this,"_seiCodec",new yF),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(Pb(Lb({},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(LL&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return Wb(this,null,(function*(){var r,i,o;if(AD(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,Hb(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),Hb(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=this.fallbackProfile(e);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(Pb(Lb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Wb(this,null,(function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===Xk&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||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;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:Lw.VIDEO,videoType:Lw.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return LL&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:aN(this.settings,this.profile)}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 Wb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};if("user"===e||"environment"===e){t.facingMode=e;try{if((bk||Pk)&&"environment"===e&&xL){let e=(yield wx(!0)).map((e=>{var t;return Pb(Lb({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})})).filter((e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")})),r=e[0];e.forEach((e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)})),null!=r&&r.capabilities&&(delete t.facingMode,this._log.info("switch to max res camera",r),t.deviceId=r.deviceId)}}catch(LO){this._log.warn("get max res camera failed",LO)}}else t.deviceId=e;this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),yO.emit(IO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(cC){throw this.log.error("switch camera failed ".concat(cC)),this.deviceId&&this.recapture(this.deviceId),cC}}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=Lb({},e);return e.width*e.height<=19200&&xN&&Vk&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&Zk&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),Yk(qk,"14.3")&&Jk(qk,"14.0",!0)&&this.on("7",(()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!t&&this.avoidCropping&&(Vk||BN)&&!sO()&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){Ax&&!Ax.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&Ax.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Wb(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(mF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){cB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield wx();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Ax.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Wb(this,null,(function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Ax.off("videoInputAdded",this.handleCameraAdded,this),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 ID(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){Ax.off("videoInputAdded",this.handleCameraAdded,this),Ax.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Wb(this,null,(function*(){try{yield Hb(e.prototype,this,"recapture").call(this,t)}catch(cC){let i=(yield wx()).find((e=>e.deviceId!==t));if(!i)throw cC;yield Hb(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))}setRotation(e){this.manager&&(this.isScreen||ID(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};Fb([zx((function(e){this.setContentHint(e.contentHint||"motion")}))],TF.prototype,"capture",1);var IF=TF,AF={};Ub(AF,{REPORT_TYPE:()=>dN,buildSSOPackage:()=>uN,bytes2ms:()=>uD,calculateScaleResolutionDownNumber:()=>aN,convertObjectNumberToInt:()=>tN,copyProperties:()=>dD,deepClone:()=>zD,deepCloneBasic:()=>lN,deepMerge:()=>jD,delay:()=>rN,fibonacci:()=>ED,formatedTime:()=>YD,getConstructorName:()=>OD,getContainerFromElement:()=>qD,getEnv:()=>rD,getInternalVersion:()=>VD,getLoggerUrl:()=>oD,getMediaStreamTrackInfo:()=>nN,getMuteStateFromFlag:()=>HD,getNetworkType:()=>aD,getNumNetworkType:()=>lD,getReconnectionTimeout:()=>vD,getStringByteLength:()=>$D,getTurnServer:()=>WD,getUint32Version:()=>eN,getValueType:()=>yD,getViewListFromView:()=>KD,glog:()=>fD,ipv4ToUint32:()=>GD,isArray:()=>wD,isAudioWorkletSupported:()=>MD,isBoolean:()=>RD,isConstructor:()=>kD,isEmpty:()=>BD,isFunction:()=>TD,isLangChinese:()=>_D,isMediaStreamTrack:()=>CD,isNumber:()=>SD,isObject:()=>bD,isOverseaSdkAppId:()=>iD,isPlainObject:()=>gD,isPortrait:()=>QD,isPromise:()=>ND,isRemoteTrack:()=>DD,isRotate90Or270:()=>sN,isSetSinkIdSupported:()=>LD,isString:()=>AD,isUndefined:()=>ID,loadImage:()=>ZD,loadVideo:()=>cN,ms2bytes:()=>pD,ms2samples:()=>mD,normalizeUrl:()=>oN,performanceNow:()=>xD,promiseAny:()=>PD,samples2ms:()=>hD,setNetworkType:()=>cD,stringify:()=>JD,stringifyIncludeValue:()=>XD,throttlePromise:()=>iN});var SF=[-1,-1,1,-1,-1,1,1,1],RF=[0,0,1,0,0,1,1,1],bF=class extends uP{constructor(e,t){if(super(),this.context=e,Bb(this,"name"),Bb(this,"input"),Bb(this,"output"),Bb(this,"texture"),Bb(this,"ctx2d",null),Bb(this,"fbo"),Bb(this,"width",0),Bb(this,"height",0),Bb(this,"x",0),Bb(this,"y",0),Bb(this,"program"),Bb(this,"vertexShader"),Bb(this,"fragmentShader"),Bb(this,"totalFrames",0),Bb(this,"dropFrames",0),Bb(this,"matchInputSize",!0),Bb(this,"texCoordBuffer"),Bb(this,"positionBuffer"),Bb(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Bb(this,"cost",0),Bb(this,"_canvas",null),Bb(this,"_image"),Bb(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 WF)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==Xk?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(RF),this.positionBuffer=this.createBuffer(SF),!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(LO){this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(LO.message||LO)}))}}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 HF&&this.render(e)||this.context instanceof WF&&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 HF){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,n,a,s,c){let l=!(ID(n)||ID(a)||ID(s)||ID(c));return!(!this.ctx2d||!e)&&(e instanceof ImageData?l?this.ctx2d.putImageData(e,t,r,n,a,s,c):this.ctx2d.putImageData(e,t,r):l?this.ctx2d.drawImage(e,n,a,s,c,t,r,i,o):this.ctx2d.drawImage(e,t,r,i,o),this.emit("render",e),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}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},Lb({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}};Fb([cP(uP.INIT,"connected",{sync:!0})],bF.prototype,"connect",1),Fb([cP("connected",uP.INIT,{ignoreError:!0,sync:!0})],bF.prototype,"disconnect",1),Fb([cP([],"closed",{sync:!0})],bF.prototype,"close",1);var wF=hU(FU(250),xV((()=>performance.now())),yU()),CF=e=>t=>{let r=performance.now();hU(wF,_V((t=>t-r<e)),dV(1))(t)},DF=[0,1,1,1,0,0,1,0],NF=class extends bF{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Bb(this,"_intervalId",0),Bb(this,"_sequence",0),Bb(this,"checkGLError",!1),Bb(this,"checkVisibilityChange"),e instanceof WF?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(DF)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),gP.clearTask(this._intervalId),this._intervalId=gP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(gP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof HF){let e=this.context.ctx.getError();e&&this.context.destroy(new $b({code:Jb.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(),this.emit("render",this.context._canvas),!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;this._intervalId&&(gP.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),gP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),gP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},kF=class extends NF{constructor(e,t){super(e,t),Bb(this,"_videoTrack"),Bb(this,"_muteOb"),Bb(this,"_closedOb",GU(this,"closed")),Bb(this,"_subscription"),Bb(this,"_canvasContainer"),Number(zk)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=GU(this._videoTrack,"mute"),hU(GU(this._videoTrack,"ended"),uV(this._closedOb),dF((()=>{this.context.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=hU(this._muteOb,uV(this._closedOb),jV(CF(5e3)),cV((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),dF((()=>{this.context.destroy(new $b({code:Jb.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()}},OF=class extends kF{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},MF=class extends kF{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))}},LF=class extends bF{constructor(e,t){super(e,Lb({name:"imageSource"},t)),Bb(this,"_lastImage"),Bb(this,"_totalFrames",0),Bb(this,"_autoResize",!1),Bb(this,"_canvasRendered"),Bb(this,"videoCallbackId",0),Bb(this,"waitingFirstFrame",!0),Bb(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===Xk&&(this._canvasRendered=MU(),hU(this._canvasRendered,CU(this._image),WV((e=>e instanceof HTMLCanvasElement?GU(e,"rendered"):tV())),uV(GU(this,"closed")),dF((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),JL()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),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(),({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!0}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)}},PF=class extends LF{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",hU(GU(this._player,EP.PLAYER_STATE_CHANGED),uV(GU(this,"closed")),cV((e=>{let{state:t}=e;return"PLAYING"===t})),dF((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},xF=class extends PF{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new JP({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},UF=class extends bF{constructor(e,t,r){super(e,Pb(Lb({name:"textSource"},r),{create2d:!0})),Bb(this,"hasChange",!0),Bb(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},VF=class extends uP{constructor(e){super(),Bb(this,"frameRate"),Bb(this,"_canvas"),Bb(this,"log"),Bb(this,"hasAlpha",!1),Bb(this,"name"),Bb(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 xF(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new kF(this,e)}createVideoImageSource(e,t){return new LF(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new PF(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new UF(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Bb(VF,"_ids",0);var FF={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},BF=class extends VF{constructor(){super(...arguments),Bb(this,"defaultProgam"),Bb(this,"defaultVShader"),Bb(this,"defaultFShader"),Bb(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(VF._ids++)),this.ctx=this._canvas.getContext("webgl2",FF),!this.ctx)throw new $b({code:Jb.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 $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,XM.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}};Bb(BF,"UNAVAILABLE","unavailable"),Fb([cP(uP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),XM.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),XM.addSuccessEvent({key:512700})}})],BF.prototype,"create",1),Fb([cP("created",uP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(BF.UNAVAILABLE,e),this.removeAllListeners()}})],BF.prototype,"destroy",1);var HF=BF,WF=class extends VF{constructor(){super(...arguments),Bb(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(VF._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new $b({code:Jb.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,XM.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(),XM.addSuccessEvent({key:512703})}};function GF(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}Fb([cP(uP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),XM.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),XM.addSuccessEvent({key:512701})}})],WF.prototype,"create",1),Fb([cP("created",uP.INIT,{ignoreError:!0,sync:!0})],WF.prototype,"destroy",1);var jF=class{constructor(e,t){this.node=e,this.layout=t,Bb(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}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},zF=class extends bF{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),Bb(this,"inputs",[]),Bb(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new jF(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>t.node===e));if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!ID(s)&&this.inputs.some((t=>t.layout.zIndex===s&&t.node!==e)))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];ID(i)||(u.layout.x=i),ID(o)||(u.layout.y=o),ID(n)||(u.layout.width=n),ID(a)||(u.layout.height=a),ID(l)||(u.layout.rotation=l),ID(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!ID(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort(((e,t)=>e.layout.zIndex-t.layout.zIndex)))}hasInput(e){return this.inputs.some((t=>t.node===e))}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.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 HF&&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.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter((t=>t.node!==e)),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>r.node.requestFrame(e)||t),!1)&&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.forEach((t=>t.node.requestFrame(e))),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=GF(t.node.width,t.node.height,t.width,t.height,t.fillMode,sN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}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},Lb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}removeAllInputs(){this.inputs.forEach((e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof HF)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(LO){}}))}close(){super.close(),this.removeAllInputs()}},KF=[1,0,0,0,1,1,0,1],qF=class extends bF{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),Bb(this,"mirror",!1),Bb(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof HF)try{this.setTexBuffer(KF)}catch(sw){e.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(sw.message||sw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));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)}resize(e,t){sN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},YF=class extends _F{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,JP),Bb(this,"inputLocalVideoTracks",new Map),Bb(this,"inputLocalScreenTracks",new Map),Bb(this,"cameraNodeMap",new Map),Bb(this,"screenNodeMap",new Map),Bb(this,"textNodeMap",new Map),Bb(this,"imageNodeMap",new Map),Bb(this,"videoNodeMap",new Map),Bb(this,"endedIds",new Set),Bb(this,"videoContext"),Bb(this,"mixNode"),Bb(this,"destination"),Bb(this,"manager"),Bb(this,"stat"),Bb(this,"_checkId",0),Bb(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on("render",(e=>{this.emit("render",e)})),this.mixNode=new zF(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=gP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new WF({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout((()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)}),500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return Wb(this,null,(function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),jk&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)}))}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,TP(this,Ax).add("videoInputRemoved",(r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())})),t.on("output-media-track-changed",(()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)})),i=16===Xk&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===Xk&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof xF){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof xF)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(ID(r)||(a.content=r),ID(i)||(a.font=i),ID(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new qF(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof qF&&(ID(r)||(o.mirror=r),ID(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof qF&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof qF&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof qF&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof qF&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof qF&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),gP.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),IP(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},JF=bO();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:JF,exposeOrigin:!0,permittedOrigins:["*"]})}catch(MB){}var XF=function(e){return Wb(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:Gk?{max:e.width}:{ideal:e.width,max:e.width},height:Gk?{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);RO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(Fk&&Hk<74||Gk||BN)&&RO.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(VO){RO.warn("screen applyConstraints failed: ".concat(VO))}e.captureElement&&(yield function(e,t){return Wb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&TD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==JF)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){RO.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 ID(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);RO.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},$F=class extends IF{constructor(e){super(e,2),Bb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Bb(this,"objectFit","contain"),Bb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return JF===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(LO){return}}capture(e){return Wb(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 XF({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}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof $b?e:new $b({code:Jb.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return Wb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Fb([zx((function(e){this.setContentHint(e.contentHint||"detail")}))],$F.prototype,"capture",1);var QF,ZF=class extends EF{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(i),this.enableTrackAEC(!1)}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===i&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function eB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return Wb(this,null,(function*(){let o=sx();QF||(QF=XP(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield QF;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach(((e,t)=>e.connect(a,0,t))),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(a))),a.port.close()}})}))}var tB=class extends hx{constructor(e){super(),this.room=e,Bb(this,"_localAudioTrack"),Bb(this,"_localScreenAudioTrack"),Bb(this,"log",RO.createLogger({id:"am"})),Bb(this,"denoiser"),Bb(this,"voiceChanger"),Bb(this,"mixChangedDebounce"),Bb(this,"audioProcessor"),Bb(this,"encodePipeline",[]),Bb(this,"decodePipeline",[]),Bb(this,"getPCMAbortCtrlMap",new Map),Bb(this,"audioFrameEventConfigMap",new Map),Bb(this,"audioReferenceMap",new Map),Bb(this,"isLocalAudioNeedAudioProcess",!1),Bb(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?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=eB(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,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return eB([sx().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!ID(this._localScreenAudioTrack)}get hasAudioTrack(){return!ID(this._localAudioTrack)}changeInput(e){return e instanceof ZF?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof EF?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof oB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}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 ZF?delete this._localScreenAudioTrack:e instanceof EF&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor=[e,t,r,i],this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&(this._localAudioTrack.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0: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()}removeAudioProcessor(e,t,r,i){var o;delete this.audioProcessor,null==(o=this._localAudioTrack)||o.removeAudioProcessor(e,t,r,i)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach((e=>null==e?void 0:e.abort("destroy"))),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}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}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",(()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),""),this.getPCMAbortCtrlMap.set(r,e))})))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){yO.on("113",this.handleLocalTrackStarted,this),yO.on("114",this.handleLocalTrackStopped,this),yO.on("115",this.handleRemoteTrackStarted,this),yO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){yO.off("113",this.handleLocalTrackStarted),yO.off("114",this.handleLocalTrackStopped),yO.off("115",this.handleRemoteTrackStarted),yO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||ID(o))return;this.setAudioReferenceVolume(i,o)}}};var rB=class e extends Ux{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Bb(this,"tinyId"),Bb(this,"isRemote",!0),Bb(this,"jitterBufferDelay",0),Bb(this,"availableState"),Bb(this,"remotePublishState"),Bb(this,"_triggerCheckDecodeSubject",MU(GU(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new uP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new uP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),hU(TU(GU(this,uP.STATECHANGED),GU(this.remotePublishState,uP.STATECHANGED)),xV((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),dF((e=>{this.availableState.state!==(e?uP.ON:uP.OFF)&&(this.availableState.state=e?uP.ON:uP.OFF),this.updatePlayingState(e)})));let o=hU(GU(this.player,EP.ERROR),cV((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=hU(BU(5e3),cV((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===Lw.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=hU(IU(o,n),uV(GU(this,uP.INIT)));hU(this._triggerCheckDecodeSubject,cV((()=>!this.ignoreDecodeError)),jV(a),dF((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===uP.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){var r,i;let o=this.kind===Lw.AUDIO;if(XM[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";XM[e?"addSuccessEvent":"addFailedEvent"]({key:qM["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(XM.addEnum({key:o?504701:514703,value:mO()}),AP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(uO()||_O()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===Lw.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?uP.ON:uP.OFF}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Bb(rB,"STATE_SUBSCRIBE","subscribe"),Fb([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 Kx(((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 $b({code:Jb.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});RO.warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],rB.prototype,"waitHasMediaTrack",1),Fb([cP(uP.INIT,rB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),yO.emit(IO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),eU(521716,!1)],rB.prototype,"subscribe",1),Fb([cP(rB.STATE_SUBSCRIBE,uP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),yO.emit(IO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],rB.prototype,"unsubscribe",1);var iB=rB,oB=class extends iB{constructor(e,t){super(e,t,1),Bb(this,"volume",0),Bb(this,"mediaType",1),Bb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return Ex.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}};var nB=class extends iB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Bb(this,"mediaType",4),Bb(this,"source"),Bb(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(RD(null==t?void 0:t.canvasRender)?t.canvasRender:17===Xk)&&!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 WF({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new NF(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),JL()||(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;!SD(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)}},aB=class extends nB{constructor(e,t){super(e,t,2),Bb(this,"mediaType",2),Bb(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},sB=new Map;function cB(e,t){let r=Pb(Lb({},t),{timestamp:Qb()});sB.has(e)?sB.get(e).push(r):sB.set(e,[r])}function lB(e){if(sB.has(e)){let t=sB.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 sB.delete(e),t}return[]}function dB(e,t,r,i){try{if(wD(e))for(let o=0;o<e.length;o++)uB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else uB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(LO){throw RO.error(LO),LO}}function uB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(ID(r)){if(t.required)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(ID(t.defaultValue))return;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),TD(t.type[i])&&r instanceof t.type[i]&&(e=!0),AD(t.type[i])&&yD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>kD(e)?OD(e):AD(e)?e:yD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!ID(t.type)&&yD(r)!==t.type)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=SD(r)&&(0===r||Number.isNaN(r)),a=AD(r)&&""===r.trim();if(e||a)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&SD(r)&&r<0)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!ID(t.min)&&SD(r)&&r<t.min)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!ID(t.max)&&SD(r)&&r>t.max)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(AD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(TD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;gD(a)&&bD(r)&&Object.keys(a).forEach((e=>{uB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;gD(s)&&wD(r)&&r.forEach(((e,t)=>{uB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),TD(t.validate)&&t.validate.call(this,r,i,o,n,this)}yO.on(IO.JOIN_SUCCESS,(e=>{let{room:t}=e;cB(t.userId,{eventId:32788})})),yO.on(IO.LEAVE_START,(e=>{let{room:t}=e;cB(t.userId,{eventId:32789})})),yO.on(IO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),cB(t.room.userId,{eventId:e})}})),yO.on(IO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),cB(t.room.userId,{eventId:e})}})),yO.on(IO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Lw.AUDIO?cB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):cB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),yO.on(IO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Lw.AUDIO?cB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):cB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),yO.on(IO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&cB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&cB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&cB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),yO.on(IO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&cB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&cB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&cB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),yO.on(IO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&cB(t.room.userId,{eventId:t.kind===Lw.VIDEO?32780:32781})})),yO.on(IO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&cB(t.room.userId,{eventId:t.kind===Lw.VIDEO?32782:32783})})),yO.on(IO.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&&cB(r.userId,{eventId:t})})),yO.on(IO.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&&cB(r.userId,{eventId:t,remoteUserId:n})})),yO.on(IO.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:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),cB(r,d),XM.addEnum({key:i?514701:513701,value:c}),XM.addEnum({key:i?514700:513700,value:l})})),yO.on(IO.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===Lw.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),cB(t.userId,e)}})),Vb(Gb(),1);var hB=Object.create,pB=Object.defineProperty,mB=Object.getOwnPropertyDescriptor,fB=Object.getOwnPropertyNames,_B=Object.getPrototypeOf,gB=Object.prototype.hasOwnProperty,EB=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?mB(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&&pB(t,r,n),n},vB=((e,t)=>function(){return t||(0,e[fB(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,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[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=[],d=a.length;c<d;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)}}),yB=((e,t,r)=>(r=null!=e?hB(_B(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of fB(t))gB.call(e,o)||o===r||pB(e,o,{get:()=>t[o],enumerable:!(i=mB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:pB(r,"default",{value:e,enumerable:!0}),e)))(vB(),1),TB=Symbol("instance"),IB=Symbol("cacheResult"),AB=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,CB.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},SB=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var RB=new Map;function bB(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=RB.get(i)||[];RB.has(i)||RB.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=DB.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[IB]:Promise.resolve(i[IB]);i.state instanceof AB&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof AB&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new SB(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 SB(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=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 d(l);let u=i.state,h=new AB(u,t,a);CB.call(i,h);let p=e=>{var o;return i[IB]=e,h.aborted||(CB.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[IB])),e},m=e=>(CB.call(i,u,e),d(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(FO){return m(new SB(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(FO),FO instanceof Error?FO:new Error(String(FO))))}}}}var wB="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 CB(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(DB.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var DB=class e extends yB.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[TB];o?this.name=o.name+"-"+o.count++:i[TB]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=RB.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);RB.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]:{};wB(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){CB.call(this,e)}};DB.STATECHANGED="stateChanged",DB.UPDATEAFSM="updateAFSM",DB.INIT="[*]",DB.ON="on",DB.OFF="off",DB.instances=new Map,DB.instances2=new WeakMap;var NB=class extends DB{constructor(){super(...arguments),Bb(this,"decoder"),Bb(this,"config")}initialize(){return Wb(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(Pb(Lb({},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 kB(){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],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+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:"")}}}EB([bB([DB.INIT,"closed"],"initialized")],NB.prototype,"initialize",1),EB([bB("initialized","configured",{sync:!0})],NB.prototype,"configure",1),EB([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 SB(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")],NB.prototype,"decode",1),EB([bB([],DB.INIT,{sync:!0})],NB.prototype,"reset",1),EB([bB([],"closed",{ignoreError:!0,sync:!0})],NB.prototype,"close",1);var OB=class extends DB{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(),Bb(this,"worker"),Bb(this,"decoder"),Bb(this,"config"),Bb(this,"module",{}),Bb(this,"width",0),Bb(this,"height",0),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o}initialize(e){return Wb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(kB.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 d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};EB([bB([DB.INIT,"closed"],"initialized")],OB.prototype,"initialize",1),EB([bB("initialized","configured",{sync:!0})],OB.prototype,"configure",1),EB([bB([],DB.INIT,{sync:!0})],OB.prototype,"reset",1),EB([bB([],"closed",{sync:!0})],OB.prototype,"close",1);var MB,LB=(MB="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,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),MB&&(u=MB),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(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,C,D=!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+")"),D=!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&&!d||"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,u):u+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function W(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(Rt(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)},j=e=>(j=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),z={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=z.resolve(e).substr(1),t=z.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("/")}},K="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&&K)return K.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},Y=[],J=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:J(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(!Y.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;Y=$(e,!0)}return Y.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=z.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=z.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(!z.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),d=z.relative(e,n);if("."!==d.charAt(0))throw new ie.ErrnoError(28);if("."!==(d=z.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var u=ie.isDir(l.mode),h=ie.mayDelete(r,a,u);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,u):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 z.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(J(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=j(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),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);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(!d)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 u(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),u(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 u(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,C=[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]=C[0],y[r+28>>2]=C[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 C=[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]=C[0],y[r+44>>2]=C[1],T[r+48>>2]=o%1e3*1e3,C=[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]=C[0],y[r+60>>2]=C[1],T[r+64>>2]=n%1e3*1e3,C=[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]=C[0],y[r+76>>2]=C[1],T[r+80>>2]=a%1e3*1e3,C=[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]=C[0],y[r+92>>2]=C[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={},de={},ue={},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){ue[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{de.hasOwnProperty(e)?o[t]=de[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=de[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')),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(de[e]=t,delete ue[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 Ce(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},De(Object.create(e,{$$:{value:t}}))}var De=function(e){return"undefined"==typeof FinalizationRegistry?(De=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(De=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(tt(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(tt(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,et.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(tt(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,d){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=d,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],We=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t};function Ge(e,t){var r,o,n,a=(e=ce(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,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)):We(t).apply(null,r);var o,n,a})(r,o,n)}):We(t);return"function"!=typeof a&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var je=void 0;function ze(e){var t=St(e),r=ce(t);return It(t),r}function Ke(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||de[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new je("".concat(e,": ")+r.map(ze).join([", "]))}function qe(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 Je(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 Xe(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 d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(u,") {\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+=(d||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 d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Je(Function,f).apply(null,_)}function $e(){this.allocated=[void 0],this.freelist=[]}var Qe=new $e;function Ze(e){e>=Qe.reserved&&0==--Qe.get(e).refcount&&Qe.free(e)}var et={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Qe.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 Qe.allocate({refcount:1,value:e})}}};function tt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function rt(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 it(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 ot,nt,at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.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},ct=(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},lt=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},ut=(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},ht=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},pt={},mt=[],ft=[],_t={},gt=()=>{if(!gt.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 _t)void 0===_t[t]?delete e[t]:e[t]=_t[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));gt.strings=r}return gt.strings},Et=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(Et.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=Et,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?z.resolve(G.join2(e,t)):e;function h(r){function n(r){d&&d(),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,u,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=De(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?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(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?Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},je=i.UnboundTypeError=(ot=Error,(nt=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(ot.prototype),nt.prototype.constructor=nt,nt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},nt),Object.assign($e.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)}}),Qe.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Qe.reserved=Qe.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Qe.reserved;t<Qe.allocated.length;++t)void 0!==Qe.allocated[t]&&++e;return e};var vt,yt={p:function(e,t,r){throw new W(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[At()>>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,d,u,h,p){u=ce(u),a=Ge(n,a),c&&(c=Ge(s,c)),d&&(d=Ge(l,d)),p=Ge(h,p);var m,f,_,g=ke(u);m=g,f=function(){Ke("Cannot construct ".concat(u," 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 "+u);if(void 0===h.constructor_body)throw new he(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(u," 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(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(u,h,!0,!1,!1),v=new Be(u+"*",h,!1,!1,!1),y=new Be(u+" 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=qe(t,r);o=Ge(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]=()=>{Ke("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]=Xe(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=qe(r,i);t=ce(t),n=Ge(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ke("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Me(d,t,i),d[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=et.toValue(e);return Ze(e),t},toWireType:function(e,t){return et.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:rt(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:it(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 It(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?J(t):t.length;var n=Tt(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&&(It(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(It,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,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 d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return It(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=Tt(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(It,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(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=mt[e])(t=et.toValue(t),r=void 0===(n=pt[o=r])?ce(o):n,null,i)},m:Ze,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=de[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=ft[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 d,u,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),d=Je(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,ft[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 gt().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=gt();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,C=[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]=C[0],y[t+12>>2]=C[1],C=[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]=C[0],y[t+20>>2]=C[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),C=[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]=C[0],y[o+4>>2]=C[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}}},Tt=(function(){var e,t,o,n,a={a:yt};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=>(Tt=p.G)(e)),It=e=>(It=p.I)(e),At=()=>(At=p.J)(),St=e=>(St=p.K)(e),Rt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Rt=p.M)(e));function bt(){function e(){vt||(vt=!0,i.calledRun=!0,D||(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(){vt||bt(),vt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),PB=LB,xB=class extends OB{constructor(e){super(PB,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 UB=(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))(UB||{});function VB(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var FB,BB=(FB=class{constructor(e){Bb(this,"contextMap",new Map),Bb(this,"decodeProcessorMap",new WeakMap),this.core=e,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 FB.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){switch(e){case"wasm":return new xB(Pb(Lb({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new NB;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(Pb(Lb({},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=VB()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}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(Pb(Lb({},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?VB()-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)}},Bb(FB,"Name","TRTCVideoDecoder"),FB),HB=Vb(Gb());function WB(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return Kx(((e,o)=>{let n=new WeakMap;return yO.on(IO.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 $b({code:Jb.INVALID_OPERATION,message:VM({key:LM.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 GB,jB=!0,zB={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"},KB={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},qB=((GB=qB||{})[GB.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",GB[GB.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",GB[GB.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",GB[GB.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",GB[GB.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",GB[GB.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",GB[GB.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",GB[GB.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",GB[GB.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",GB[GB.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",GB[GB.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",GB[GB.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",GB[GB.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",GB[GB.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",GB[GB.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",GB[GB.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",GB[GB.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",GB[GB.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",GB[GB.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",GB[GB.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",GB[GB.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",GB[GB.INVALID_OPERATION=5100]="INVALID_OPERATION",GB[GB.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",GB[GB.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",GB[GB.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",GB[GB.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",GB[GB.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",GB[GB.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",GB[GB.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",GB[GB.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",GB[GB.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",GB[GB.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",GB[GB.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",GB[GB.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",GB[GB.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",GB[GB.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",GB[GB.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",GB[GB.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",GB[GB.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",GB[GB.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",GB[GB.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",GB[GB.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",GB[GB.DEVICE_ERROR=5300]="DEVICE_ERROR",GB[GB.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",GB[GB.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",GB[GB.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",GB[GB.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",GB[GB.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",GB[GB.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",GB[GB.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",GB[GB.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",GB[GB.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",GB[GB.SERVER_ERROR=5400]="SERVER_ERROR",GB[GB.NEED_TO_BUY=5401]="NEED_TO_BUY",GB[GB.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",GB[GB.OPERATION_FAILED=5500]="OPERATION_FAILED",GB[GB.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",GB[GB.REJOIN_FAILED=5502]="REJOIN_FAILED",GB[GB.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",GB[GB.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",GB[GB.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",GB[GB.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",GB[GB.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",GB[GB.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",GB[GB.OPERATION_ABORT=5998]="OPERATION_ABORT",GB[GB.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",GB);var YB=Pb(Lb({},PM),{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(yD(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(yD(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_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},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 or screen share 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=JB(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=JB(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=JB(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=JB(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=JB(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=JB(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=JB(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 JB(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var XB=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=qB[r];try{t=YB[s]}catch(n){t=YB.UNKNOWN_ERROR}return TD(t)?a=t(i):AD(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===KB.SERVER_ERROR?t:r||t,params:Lb({fnName:n,error:a},o)}),super(l),Bb(this,"name","RtcError"),Bb(this,"code"),Bb(this,"extraCode"),Bb(this,"functionName"),Bb(this,"message"),Bb(this,"data"),Bb(this,"handler"),Bb(this,"originError"),this.name=qB[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");_k?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):gk&&(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 $b){let{stack:n}=t,a={code:KB.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case Jb.INVALID_PARAMETER:a.code=KB.INVALID_PARAMETER,a.message=t.message;break;case Jb.INVALID_OPERATION:a.code=KB.INVALID_OPERATION;break;case Jb.NOT_SUPPORTED:case Jb.NOT_SUPPORTED_H264:a.code=KB.ENV_NOT_SUPPORTED,t.getCode()===Jb.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(PM.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case Jb.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case Jb.SERVER_TIMEOUT:case Jb.SWITCH_ROLE_FAILED:case Jb.SWITCH_ROOM_FAILED:a.code=KB.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case Jb.API_CALL_ABORTED:a.code=KB.OPERATION_ABORT;break;case Jb.DEVICE_NOT_FOUND:case Jb.DEVICE_AUTO_RECOVER_FAILED:case Jb.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 Jb.VIDEO_ENCODE_FAILED:a.extraCode=5505;case Jb.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=KB.OPERATION_FAILED;break;case Jb.UNKNOWN:break;default:a.code=KB.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:KB.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var $B=XB;function QB(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function ZB(e){return e===zB.QOS_PREFERENCE_CLEAR?"detail":e===zB.QOS_PREFERENCE_SMOOTH?"motion":""}function eH(e,t){let r=t?Ow:kw;return TN(e)?Lb(Lb({},r),e):Nw[e]?Nw[e]:r}var tH={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:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},rH={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}}},iH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(AD(e)&&!document.getElementById(e))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},oH={name:"userId",required:!0,type:"string"},nH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{values:[zB.AUDIO_PROFILE_STANDARD,zB.AUDIO_PROFILE_STANDARD_STEREO,zB.AUDIO_PROFILE_HIGH,zB.AUDIO_PROFILE_HIGH_STEREO]},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function aH(e,t){if(!e)throw new $B({code:KB.INVALID_OPERATION,extraCode:5101,fnName:t})}function sH(e,t,r){if(!e)throw new $B({code:KB.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function cH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function lH(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function dH(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!IL())return RO.warn("small stream is not supported"),void delete e.option.small;let r=eH(e.option.profile),i=eH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:(RO.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var uH={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 $B({code:KB.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(AD(e.roomId))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});cH(e.roomId,r,t)}else{if(!e.strRoomId)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5015,fnName:r});lH(e.strRoomId,r,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:iH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:tH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&oL())throw new $B({code:KB.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&dH(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Pb(Lb({},iH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:tH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&dH(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:nH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&oL())throw new $B({code:KB.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:nH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:iH,publish:{type:"boolean"},option:rH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(oL())throw new $B({code:KB.ENV_NOT_SUPPORTED,extraCode:5201});if(!dL())throw new $B({code:KB.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:iH,publish:{type:"boolean"},option:rH}},muteRemoteAudio:[oH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[oH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:iH,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){aH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(sH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new $B({code:KB.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Pb(Lb({},iH),{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){aH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(sH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new $B({code:KB.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&&ID(e.streamType))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){aH(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(!FL)throw new $B({code:KB.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new $B({code:KB.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});aH(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 $B({code:KB.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 $B({code:KB.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(aH(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new $B({code:KB.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(aH(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new $B({code:KB.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)cH(e.roomId,r,t);else{if(!e.strRoomId)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5015,fnName:r});lH(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},hH={TRTC:uH},pH=class extends Error{};function mH(e,t){let r=zD(e);for(let i=0;i<t.length;i++)jD(r[i],t[i]);return r}function fH(e){this._resolve=Promise.resolve(e)}function _H(e){this._reject=Promise.reject(e)}var gH=class e{constructor(t,r){this.instance=t,this.group=r,Bb(this,"started",!1),Bb(this,"ops",[]),Bb(this,"startSame",(()=>!0)),Bb(this,"mergeUpdate",mH);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 pH("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:fH,reject:_H};try{switch(this.state){case 1:if(0===e)throw new pH("already started");break;case 4:if(2===e)throw new pH("not started");break;default:return this.cacheOp(n)}}catch(UO){return Promise.reject(UO)}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 pH("already start");break;case 3:switch(e.type){case 2:throw new pH("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new pH("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new pH("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 pH("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new pH("start not allowed after update");case 0:throw new pH("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new pH("keep start")),new pH("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}};Bb(gH,"instances",new WeakMap);var EH=gH,vH=new WeakMap,yH=(e,t)=>{if(t instanceof pH){let{stack:r}=t;t=new $B({code:KB.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function TH(e,t){return Kx(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=EH.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(yH.bind(null,i))):r.apply(this,n)}))}function IH(e,t){let{merge:r,debounce:i}=t||{};return Kx(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=EH.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 d=null==(s=vH.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(yH.bind(null,o)).then(i,n)}),e);vH.has(this)?null==(l=vH.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):vH.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(yH.bind(null,o))}))}function AH(e){return Kx(((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(EH.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=EH.get(this,a);return s?s.action(3,t.bind(this),o).catch(yH.bind(null,r)):t.apply(this,o)}))}var SH={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",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},RH=new Set([SH.ERROR,SH.AUTOPLAY_FAILED,SH.KICKED_OUT,SH.REMOTE_USER_ENTER,SH.REMOTE_USER_EXIT,SH.REMOTE_AUDIO_AVAILABLE,SH.REMOTE_AUDIO_UNAVAILABLE,SH.REMOTE_VIDEO_AVAILABLE,SH.REMOTE_VIDEO_UNAVAILABLE,SH.CONNECTION_STATE_CHANGED,SH.PUBLISH_STATE_CHANGED,SH.SCREEN_SHARE_STOPPED,SH.DEVICE_CHANGED,SH.FIRST_VIDEO_FRAME,SH.PERMISSION_STATE_CHANGE,SH.VIDEO_SIZE_CHANGED]),bH={};Ub(bH,{ScheduleRequestType:()=>MH,getAbilityConfig:()=>PH,getScheduleDomain:()=>xH,isNeedToSchedule:()=>CH,scheduleProxy:()=>kH,sendScheduleRequest:()=>NH,setIsNeedToSchedule:()=>DH,setScheduleProxy:()=>OH});var wH=null,CH=!0;function DH(e){RD(e)&&e!==CH&&(CH=e,RO.info("setIsNeedToSchedule ".concat(e)))}function NH(e){return Wb(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(!CH&&wH)return{isCached:!0,result:wH};let e={delta:0,count:[1,1],msg:[],detail:[]};try{let d=new FormData;d.append("userId",String(t)),d.append("sdkAppId",String(r)),d.append("isStrGroupId",String(i)),d.append("groupId",String(o)),d.append("sdkVersion",a),d.append("userSig",String(n));let u=yield lO();null!=u&&u.model&&d.append("model",String(null==u?void 0:u.model)),c&&d.append("role",String(c)),l&&d.append("latencyLevel",String(l)),s&&d.append("frameWorkType",String(s));let h=xD(),p=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;PD([VH((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]=LH(r,"config",Lw.MAIN,!0)),o())}))(LH(r,"config",Lw.MAIN),e,{get timeout(){return 1e3*ED(2+t.count[0])}}),VH((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]=LH(r,"config",Lw.BACKUP,!0)),o())}))(LH(r,"config",Lw.BACKUP),e,{get timeout(){return 1e3*ED(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(d,e,r);p.config&&(p.config.loggerDomain&&hw(p.config.loggerDomain),RD(p.config.scheduleCache)&&DH(!p.config.scheduleCache)),e.delta=xD()-h;let m=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=LH(e,"config",Lw.MAIN),a=LH(e,"config",Lw.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?Lw.MAIN:Lw.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),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];AP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Pb(Lb({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){RO.error("getScheduleDetailCost error",n)}return i}(Number(r),t,h);return wH=p,{isCached:!1,result:p,detailCost:m}}catch(d){let e=wD(d)?d[0]:d,t=SD(e.code)?e.code:0,r="schedule failed".concat(e.message?": ".concat(e.message):""),i=new $b({code:Jb.SCHEDULE_FAILED,extraCode:t,message:VM({key:LM.JOIN_ROOM_FAILED,data:{error:r,code:t}})});throw RO.error(r,t),i}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(AC).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),yO.on("28",(()=>DH(!0))),yO.on("63",(()=>DH(!0))),yO.on("84",(()=>DH(!0))),yO.on("201",(e=>{"RECONNECTING"===e.state&&DH(!0)})),yO.on("202",(e=>{"RECONNECTING"===e.state&&DH(!0)}));var kH={main:"",backup:""};function OH(e){wD(e)?(kH.main=e[0],kH.backup=e[1]):kH.main=e}var MH=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(MH||{});function LH(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Lw.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(kH[r]||xH(e,r,i),"/api/v1/").concat(t)}function PH(e,t,r){let i=LH(e,t),o=LH(e,t,Lw.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then((e=>e.json())),s=fetch("".concat(o,"?").concat(n)).then((e=>e.json()));return PD([a,s])}function xH(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Lw.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=iD(e)?i?r===Lw.MAIN?AC.MAIN_OVERSEA_BACKUP:AC.BACKUP_OVERSEA:r===Lw.MAIN?AC.MAIN_OVERSEA:AC.BACKUP_OVERSEA:r===Lw.MAIN?AC.MAIN:AC.BACKUP,t}function UH(e,t,r){return new Promise(((i,o)=>{_N({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 VH=(e,t)=>IN({retryFunction:UH,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var FH=class{constructor(){Bb(this,"_log"),this._log=RO.createLogger({id:"fd"})}download(e,t){return Wb(this,null,(function*(){let{type:r="blob"}=t||{};e=oN(e);try{let t,i=xD();if(t=TD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=xD()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),XM.addSuccessEvent({key:522700,cost:xD()-i}),t.data}catch(LO){throw this._log.error("failed to download: ".concat(e,", error: ").concat(LO)),XM.addFailedEvent({key:522700,error:LO}),LO}}))}downloadWithFetch(e,t){return Wb(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){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(cC){throw cC}}))}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=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)}))}loadWasm(e,t){return Wb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=xD(),i=null,o=null;if(TD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&TD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(sw){o=sw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(sw){o=sw}if(i){let t=xD()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),XM.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),XM.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=xD();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(xD()-t,"ms")),XM.addSuccessEvent({key:522702,cost:xD()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),XM.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};Fb([RP({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],FH.prototype,"download",1),Fb([RP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],FH.prototype,"loadScript",1);var BH=new FH;function HH(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:YF,LocalVideoTrack:IF,LocalScreenTrack:$F,room:i,assetsPath:n,fileDownloader:BH,innerEmitter:yO,constants:rw,environment:SN,utils:AF,eventLogger:AP,log:this.room.getLogger(),loggerManager:RO,errorModule:o,kvStatManager:XM,rtcDectection:CO,trtc:this,rx:tU,enums:DO,schedule:bH,getDevices:Rx,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return Wb(t,null,(function*(){window.VisionTaskRegistry||(yield BH.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])}))},clearStarted:(e,t)=>{let r=e.getAlias(),i=EH.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:eB,createAudioNode:mx}}var WH=new WeakMap;function GH(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Kx(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{zH.call(this,t,o,r,this._name)}catch(LO){return Promise.reject(LO)}return e.apply(this,o)}))}function jH(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Kx(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{zH.call(this,t,o,r,this._name)}catch(LO){throw LO}return e.apply(this,o)}))}function zH(e,t,r,i){if(wD(e))for(let o=0;o<e.length;o++)KH.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else KH.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function KH(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:KB.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(ID(r)){if(t.required)throw new $B(a(5001));if(ID(t.defaultValue))return void(TD(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),TD(t.type[i])&&r instanceof t.type[i]&&(e=!0),AD(t.type[i])&&yD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new $B({code:KB.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>kD(e)?OD(e):AD(e)?e:yD(e)))},value:r}})}else if(!ID(t.type)&&yD(r)!==t.type)throw new $B(a(5002));if(!1===t.allowEmpty){let e=SD(r)&&(0===r||Number.isNaN(r)),t=AD(r)&&""===r.trim();if(e||t)throw new $B(a(5003))}if(t.notLessThanZero&&SD(r)&&r<0)throw new $B(a(5006));if(!ID(t.min)&&SD(r)&&r<t.min)throw new $B(a(5007));if(!ID(t.max)&&SD(r)&&r>t.max)throw new $B(a(5008));if(AD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new $B(a(5004))}else if(TD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new $B(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new $B(a(5005));let{properties:s}=t;gD(s)&&bD(r)&&Object.keys(s).forEach((e=>{KH.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;gD(c)&&wD(r)&&r.forEach(((e,t)=>{KH.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),TD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function qH(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return Kx(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(yD(t)):t instanceof MediaStreamTrack?nN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(yD(t))}}let m=this._log||RO;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,((e,t)=>p(e,t,["userSig","privateMapKey"]))))):m.info("".concat(a,"()"));let f=i?i(...c):GM[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=xD();if(ND(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),XM.addSuccessEvent({key:f,cost:xD()-i}),r))).catch((r=>{var i;let o=(r=$B.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),XM.addFailedEvent({key:f,error:r}),r}))}return XM.addSuccessEvent({key:f}),r}catch(FO){let t=(FO=$B.convertFrom.call(this,FO,a)).extraCode||FO.code,r=null!=(h=FO.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(FO).concat(r," params: ").concat(JSON.stringify(c,p))),XM.addFailedEvent({key:f,error:FO}),FO}}))}var YH,JH=e=>Kx(((t,r)=>function(i,o){return Wb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new $B({code:KB.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(TD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new $B({code:KB.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return zH.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),XH=0,$H=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"customAudioReferenceMap",new Map),Bb(this,"audioRefId",0),Bb(this,"audioContext",sx()),Bb(this,"localAudioWorkletNode"),Bb(this,"screenAudioWorkletNode"),Bb(this,"mixNode"),Bb(this,"silentNode"),XH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(XH)}),this.log.info("created id=".concat(this.getAlias()).concat(XH))}static getStartValidateRule(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&&!e.room.audioManager.hasScreenAudioTrack)throw new $B({code:KB.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return YH||(YH=this.doPreload(e)),YH}doPreload(e){return Wb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield XP(this.audioContext,r)}catch(LO){this.log.error("preload audioProcessor failed. ".concat(LO))}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Wb(this,null,(function*(){let{room:t}=this.core,{sdkAppId:r,userId:i,assetsPath:o=this.core.assetsPath,audioReference:n,processLevel:a,enableDump:s,isLocalAudioNeedAudioProcess:c=!0,isScreenAudioNeedAudioProcess:l=!0}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=c,this.core.room.audioManager.isScreenAudioNeedAudioProcess=l,!o)throw new $B({code:KB.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(o,"/audioProcessor-wasm.js")),!this.localAudioWorkletNode||!this.screenAudioWorkletNode){let o=String(Date.now()).slice(0,-3),{auth:n,sign:a,status:s,message:c}=yield function(e){return Wb(this,arguments,(function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Lw.MAIN;return"https://".concat(kH[t]||xH(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"×tamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=iD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()}))}(Pb(Lb({},e),{timestamp:o}));if(!n)throw this.log.info("audioProcessor: ".concat(i," auth result: ").concat(n,". Message: ").concat(c)),new $B({code:KB.INVALID_PARAMETER,message:c});this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",r,i,o,a,s,t),this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",r,i,o,a,s,t)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),this.localAudioWorkletNode.port.postMessage({type:"enable"}),this.screenAudioWorkletNode.port.postMessage({type:"enable"}),t.audioManager.addAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode),ID(n)||n.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),ID(a)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),ID(s)||this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:s}})}))}update(e){return Wb(this,null,(function*(){if(!this.localAudioWorkletNode||!this.screenAudioWorkletNode)return;let{audioReference:t,enableDump:r,processLevel:i}=e;ID(t)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),t.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),ID(i)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:i}}),ID(r)||(this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}),this.screenAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}))}))}stop(){return Wb(this,null,(function*(){if(!(this.localAudioWorkletNode&&this.mixNode&&this.silentNode&&this.screenAudioWorkletNode))return;let{room:e}=this.core;this.localAudioWorkletNode.port.postMessage({type:"disable"}),this.screenAudioWorkletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null)}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("[".concat(t,"] avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(ew(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("[".concat(t,"] ").concat(i.value));case"dump":return void yO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}};Bb($H,"updateValidateRule",{type:"object"}),Bb($H,"stopValidateRule",{type:"object"}),Bb($H,"Name","AudioProcessor");var QH=$H;var ZH=0,eW=class{constructor(e,t){Bb(this,"player"),Bb(this,"publisher"),Bb(this,"mixInput"),this.mixInput=new ux(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&&(ID(e.volume)||(this.volume=e.volume),ID(e.loop)||(this.loop=e.loop),ID(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 tW(e,t){if(t&&"function"!=typeof t)throw new $B({code:KB.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var rW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"mixedMusicMap",new Map),Bb(this,"cacheMusicMap",new Map),ZH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(ZH)}),this.log.info("created id=".concat(this.getAlias()).concat(ZH))}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 Wb(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 eW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),XM.addEnum({key:502700,value:3}),this.kvUpload(e)}))}update(e){return Wb(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),ID(r)||n.setOperation(r),ID(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Wb(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||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&&XM.addCount({key:502711}),r&&XM.addCount({key:502703}),i&&XM.addCount({key:502704}),o&&XM.addCount({key:502705}),n&&XM.addCount({key:502706}),a&&XM.addCount({key:502707}),"function"!=typeof s&&XM.addCount({key:502709}),"function"!=typeof l&&XM.addCount({key:502710}),"function"!=typeof c&&XM.addCount({key:502708})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId: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()}};Bb(rW,"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 $B({code:KB.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new $B({code:KB.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});tW("onTimeUpdate",e.onTimeUpdate),tW("onEnded",e.onEnded),tW("onDurationChange",e.onDurationChange)}}),Bb(rW,"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){tW("onTimeUpdate",e.onTimeUpdate),tW("onEnded",e.onEnded),tW("onDurationChange",e.onDurationChange)}}),Bb(rW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Bb(rW,"Name","AudioMixer");var iW,oW=rW,nW=0,aW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"audioContext",sx()),Bb(this,"workletNode"),nW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(nW)}),this.log.info("created id=".concat(this.getAlias()).concat(nW))}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 $B({code:KB.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return iW||(iW=this.doPreload(e)),iW}doPreload(e){return Wb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield XP(this.audioContext,r)}catch(LO){throw this.log.error("load worklet failed",LO),LO}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 Wb(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new $B({code:KB.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(i,"/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 Wb(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=iD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,Pb(Lb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new $B({code:KB.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(ew(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 Wb(this,null,(function*(){}))}stop(){return Wb(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)}};Bb(aW,"updateValidateRule",{type:"object"}),Bb(aW,"stopValidateRule",{type:"object"}),Bb(aW,"Name","AIDenoiser");var sW=aW;var cW=Vb(Gb(),1),lW=class extends cW.EventEmitter{constructor(){super(),Bb(this,"observer"),Bb(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 Wb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!xN&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(aw){AP.uploadEvent({log:"stat-pressure-detector-start-failed",error:aw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&RO.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(cC){AP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:cC})}}},dW=new lW;function uW(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 vF(new DataView(new Uint8Array(a).buffer),!0)}function hW(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(uW),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 d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function pW(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 vF(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(aw){}return t}var mW=0,fW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"_seiMessageList",[]),Bb(this,"_smallSeiMessageList",[]),Bb(this,"_subStreamSeiMessageList",[]),mW++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(mW)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(mW)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return hW({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(cC){this.log.warn(cC)}return t}decode(e){let{frame:t,track:r}=e;return pW({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(SH.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:UL?this.encode:hW,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:UL?this.decode:pW,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"}};Bb(fW,"autoStart",!0),Bb(fW,"Name","SEI");var _W=fW;function gW(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function EW(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var vW={"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=>{vW["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var yW,TW=0,IW=class e{constructor(e){this.core=e,Bb(this,"_core"),Bb(this,"log"),Bb(this,"dumpLocalVideoMap",{}),Bb(this,"dumpRemoteVideoMap",{}),Bb(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++TW)}),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 Wb(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(e){return Wb(this,arguments,(function(e){var t=this;let{forceOpen:r}=e;return function*(){ID(r)&&(r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor()))}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Wb(this,null,(function*(){var e;if(!this.dialog)try{if(yW)yield yW;else{let t=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(ow,"/assets/debug-dialog.js");yW=this._core.fileDownloader.loadScript(t),yield yW}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(aw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(aw))}}))}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):gW,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):EW,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 gW({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return EW({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};Bb(IW,"Name","Debug"),Bb(IW,"autoStart",!0);var AW=IW,SW=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},RW=class{constructor(e,t,r){Bb(this,"trackDoneOB"),Bb(this,"startOB"),Bb(this,"stopOB"),Bb(this,"inputFrameCount",0),Bb(this,"decodedFrameCount",0),Bb(this,"type","auto"),Bb(this,"config"),Bb(this,"decoder"),Bb(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=GU(t,uP.INIT),this.stopOB=MU(),this.startOB=MU(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=MU();hU(this.startOB,CU(0),WV((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),hU(r,uV(this.stopOB),dF((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:SW(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),hU(r,dV(1),sF(tV))})),uV(this.stopOB),dF((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:SW(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 yU()((t=>Wb(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(LO){e.log.error(LO),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"}))}},bW={type:"object"},wW=class e{constructor(e){this.core=e,Bb(this,"log"),Bb(this,"contextMap",new Map),Bb(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 bW}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 RW(this.core,i,e);return hU(o.trackDoneOB,dV(1),dF((()=>{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 RW(this.core,e.track,e))}}};Bb(wW,"Name","TRTCAudioDecoder");var CW=wW,DW=class{constructor(){Bb(this,"log"),this.log=RO.createLogger({id:"exp"})}call(e,t){return Wb(this,null,(function*(){return TD(this[e])?this[e](t):Promise.reject(new $b({code:Jb.INVALID_PARAMETER,message:VM({key:LM.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return Wb(this,null,(function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM((e=>{t.emit(SH.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(SH.AUDIO_FRAME,e)}),i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}}));else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}}))}};Fb([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Kx(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return dB.call(this,t,o,r,this._name),e.apply(this,o)}))}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],DW.prototype,"enableAudioFrameEvent",1);var NW=new DW,kW=Vb(Gb(),1),OW=class extends kW.EventEmitter{constructor(){super(),Bb(this,"states",{}),Bb(this,"permissionChangeHandler"),Bb(this,"log"),this.log=RO.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return Wb(this,null,(function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach((e=>e.stop()))}))}get(e){return Wb(this,null,(function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(cC){return this.log.error("get ".concat(e," permission failed, error: ").concat(cC instanceof Error?cC.message:cC)),null}}))}destroy(){Object.values(this.states).forEach((e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)})),this.states={}}},MW=new OW,LW=0,PW=new Set,xW=null;nw("5.13.0-wasm.2"),wO.checkStorage();var UW=class e extends HB.EventEmitter{constructor(t,r){super(),Bb(this,"_room"),Bb(this,"_eventListened",new Set),Bb(this,"_localVideoTrack",null),Bb(this,"_localAudioTrack",null),Bb(this,"_localScreenTrack",null),Bb(this,"_localScreenAudioTrack",null),Bb(this,"_localVideoConfig",null),Bb(this,"_localScreenConfig",null),Bb(this,"_localAudioConfig",null),Bb(this,"_remoteVideoConfigMap",new Map),Bb(this,"_remoteAudioConfigMap",new Map),Bb(this,"_remoteAudioVolumeMap",new Map),Bb(this,"_remoteAudioMuteMap",new Map),Bb(this,"_mediaTrackMap",new WeakMap),Bb(this,"_log",RO.createLogger({id:"t".concat(++LW)})),Bb(this,"_plugins",new Map),Bb(this,"_networkQuality",null),Bb(this,"_speakerId"),Bb(this,"enterRoomParams"),Bb(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(Lb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,RD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),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(oW,r.assetsPath),this._use(QH,r.assetsPath),this._use(sW,r.assetsPath),this._use(CW,r.assetsPath),this._use(AW),r.enableSEI&&FL&&this._use(_W),this._room.on("audio-volume",(e=>{var t,i;!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),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(SH.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new $B({code:KB.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(LO){let r=VM({key:LM.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return RO.warn("".concat(r,"\n\n").concat(LO.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(jB){jB=!1,5!==RO.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(gw,"/en/index.html")),console.info("* Changelog: ".concat(gw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),RO.info("TRTC Web SDK Version:",ow),rO||RO.debug("Build Time:","2025-08-22 11:10:30");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(dO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),RO.info(t),RO.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),lO().then((e=>{e&&RO.info(cO)}))}}();let i=new e(t,r||{});return PW.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){TP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(SH.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(SH.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(SH.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(SH.ERROR,$B.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(SH.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Pb(Lb({},e),{uplinkRTT:Math.min(e.uplinkRTT,PC),downlinkRTT:Math.min(e.downlinkRTT,PC)});this.emit(SH.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{TP(t,t).add("player-state-changed",(r=>{let i=Pb(Lb({},r),{userId:e.userId});t.kind===Lw.VIDEO&&(i.streamType=QB(t.streamType)),this.emit(t.kind===Lw.AUDIO?SH.AUDIO_PLAY_STATE_CHANGED:SH.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===Jb.PLAY_NOT_ALLOWED&&this.emit(SH.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{IP(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._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?SH.REMOTE_VIDEO_AVAILABLE:SH.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?SH.REMOTE_AUDIO_AVAILABLE:SH.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?SH.REMOTE_VIDEO_AVAILABLE:SH.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(SH.SEI_MESSAGE,Pb(Lb({},e),{streamType:QB(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(SH.ERROR,new $B({code:KB.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,PC),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)/TM},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)/TM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},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],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec})))})))};this.emit(SH.STATISTICS,l)})).add("custom-message",(e=>{this.emit(SH.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(SH.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(SH.FIRST_VIDEO_FRAME,Pb(Lb({},e),{streamType:QB(e.streamType)}))})).add("audio-frame",(e=>{this.emit(SH.AUDIO_FRAME,e)})),TP(this,Ax).add("audioInputAdded",(e=>{this.emit(SH.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(SH.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(SH.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(SH.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Wb(this,null,(function*(){if(this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),xW&&xW.deviceId===CC){let e=(yield Dx()).find((e=>e.deviceId===CC));e&&xW.groupId!==e.groupId&&(xW=e,this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Wb(this,null,(function*(){this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield Dx())[0];if(!t||!xW||xW.groupId===t.groupId)return;let r=xW.deviceId===e.deviceId,i=xW.deviceId===CC&&xW.deviceId===t.deviceId;(r||i)&&(xW=t,this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),TP(this,MW).add("permission-state-change",(e=>{this.emit(SH.PERMISSION_STATE_CHANGE,e)}))}use(e){let t,r;"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,this._use(t,r)}_use(t,r){if(this._plugins.get(t.Name))return void this._log.warn("duplicate install plugin",t.Name);let i=new t(HH.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:$B,ErrorCode:KB,CoreErrorCode:Jb,ErrorCodeDictionary:qB}}));this._plugins.set(t.Name,i),i.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name)}enterRoom(t){return Wb(this,null,(function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!AD(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,RD(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,useH265:t.useH265,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(),dW.start()}))}exitRoom(){return Wb(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return Wb(this,null,(function*(){if(this.room.isSwitchRoomSupported())try{yield this._room.switchRoom(e)}catch(cC){if(!(cC instanceof Xb)||cC.code!==Jb.API_CALL_TIMEOUT&&cC.code!==Jb.SWITCH_ROOM_FAILED)throw cC;this._log.warn("switchRoom ".concat(cC.code===Jb.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)}))}_rejoinRoom(e){return Wb(this,null,(function*(){yield this.exitRoom();let t=Lb(Lb({},this.enterRoomParams),e);yield this.enterRoom(t)}))}switchRole(e,t){return Wb(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(){IP(this),this.removeAllListeners(),this._room.destroy(),PW.delete(this),0===PW.size&&dW.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(),yO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new EF(e._room.audioManager),a={},s={muted:!0};o&&(ID(o.microphoneId)?ID(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&SD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),ID(o.profile)||(AD(o.profile)?Dw[o.profile]&&n.setProfile(Dw[o.profile]):n.setProfile(o.profile)),SD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),ID(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),ID(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),ID(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),RD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",(t=>{e.emit(SH.ERROR,new $B({code:KB.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(SH.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=$B.convertFrom(t.error)),e.emit(SH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),n.on("6",(()=>{e.emit(SH.ERROR,new $B({code:KB.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),ID(i)||n.setMute(i),TP(n,n).add("player-state-changed",(t=>{e.emit(SH.AUDIO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Pb(Lb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),yO.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return Wb(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):ID(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),ID(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),ID(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!ID(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),ID(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),jD(this._localAudioConfig,e)}))}stopLocalAudio(){return Wb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),yO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),IP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new IF(e._room.videoManager),l={},d={};s&&(RD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:ID(s.useFrontCamera)?ID(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?Lw.FACING_MODE_USER:Lw.FACING_MODE_ENVIRONMENT,ID(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=ZB(s.qosPreference)),ID(s.profile)||(AD(s.profile)?Nw[s.profile]&&c.setProfile(Nw[s.profile]):c.setProfile(s.profile)),ID(s.fillMode)||(d.objectFit=s.fillMode),ID(s.mirror)||(d.mirror=s.mirror),ID(s.small)||(ID(s.smallMode)||(e._room.smallMode=s.smallMode),RD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(eH(s.small,!0))),ID(s.rotation)||c.setRotation(s.rotation),RD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",(t=>{e.emit(SH.FIRST_VIDEO_FRAME,Pb(Lb({},t),{streamType:QB(t.streamType)}))})),c.on("5",(t=>{e.emit(SH.ERROR,new $B({code:KB.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(SH.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=$B.convertFrom(t.error)),e.emit(SH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),c.on("6",(()=>{e.emit(SH.ERROR,new $B({code:KB.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),ID(a)||(yield c.setMute(a)),TP(c,c).add("player-state-changed",(t=>{e.emit(SH.VIDEO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:"",streamType:"main"}))})).add("video-size-changed",(t=>{e.emit(SH.VIDEO_SIZE_CHANGED,Pb(Lb({},t),{streamType:QB(t.streamType)}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Pb(Lb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()}))}updateLocalVideo(e){return Wb(this,null,(function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):ID(null==c?void 0:c.useFrontCamera)?ID(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?Lw.FACING_MODE_USER:Lw.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?Lw.FACING_MODE_USER:Lw.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(ID(c.profile)||(AD(c.profile)?Nw[c.profile]&&this._localVideoTrack.setProfile(Nw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&ID(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),ID(c.fillMode)||(l.objectFit=c.fillMode),ID(c.mirror)||(l.mirror=c.mirror),ID(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(ZB(c.qosPreference)),ID(c.small)||(RD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(eH(c.small,!0)))),this._room.isJoined&&ID(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch((()=>{})):this._room.unpublish(this._localVideoTrack).catch((()=>{}))),ID(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),jD(this._localVideoConfig,e)}))}stopLocalVideo(){return Wb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),IP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Wb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new $F(e._room.videoManager);c.on("4",(t=>{let r;t.error&&(r=$B.convertFrom(t.error)),e.emit(SH.PUBLISH_STATE_CHANGED,Pb(Lb({},t),{error:r}))})),c.once("first-video-frame",(t=>{e.emit(SH.FIRST_VIDEO_FRAME,Pb(Lb({},t),{streamType:QB(t.streamType)}))})),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(ID(s.profile)||(AD(s.profile)?Mw[s.profile]&&c.setProfile(Mw[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),ID(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=ZB(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener(Lw.ENDED,(()=>{e._stopScreenShare(),e.emit(SH.SCREEN_SHARE_STOPPED)})),h.getAudioTracks()[0]){l=new ZF(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),RD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(TP(c,c).add("player-state-changed",(t=>{e.emit(SH.VIDEO_PLAY_STATE_CHANGED,Pb(Lb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=Pb(Lb({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()}))}updateScreenShare(e){return Wb(this,null,(function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(ID(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=ZB(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!ID(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch((()=>{}))}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch((()=>{}))}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&RD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),jD(this._localScreenConfig,e)}))}stopScreenShare(){return Wb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Wb(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;c.on("decode-failed",(e=>{this.emit(SH.ERROR,new $B({code:KB.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))})),c.on("video-size-changed",(e=>{this.emit(SH.VIDEO_SIZE_CHANGED,Pb(Lb({},e),{streamType:QB(e.streamType)}))})),this._listenOutputTrackChanged(c),o&&(ID(o.fillMode)||(s.objectFit=o.fillMode),ID(o.mirror)||(s.mirror=o.mirror),ID(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!ID(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&&!ID(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Wb(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&&(ID(a.fillMode)||(l.objectFit=a.fillMode),ID(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!ID(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),jD(h,e);let p=ID(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=ID(i)?h.view:i,f=ID(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Wb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Wb(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));this._removeRemoteVideoConfig(e.userId,e.streamType)}))}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return Wb(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(LO){throw this._remoteAudioMuteMap.delete(e),LO}}))}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach(((e,r)=>this._remoteAudioVolumeMap.set(r,t)));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 Wb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Wb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Wb(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(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(SH.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return 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{RH.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(LO){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach((e=>{null==e||e.abort("off")})),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(AD(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 Wb(this,null,(function*(){(yield Dx()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),xW=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 Wb(this,null,(function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",(e=>{this.emit(SH.ERROR,new $B({code:KB.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))})),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=SD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),hU(GU(n,"decode-failed"),uV(GU(n,uP.INIT)),dF((()=>{this.startPlugin(CW.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:o,track:n}),yO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(PO){throw this._remoteAudioConfigMap.delete(r),PO}this._emitTrackEvent(n)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Wb(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)),yO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".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),hU(GU(e,"decode-failed"),uV(GU(e,uP.INIT)),uF((()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),jV(GU(e,"decode-downgrade-state-changed")),dF((i=>{r=i.state,this.emit(SH.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Pb(Lb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Wb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),ID(t)&&o&&o.view&&!BD(r)){let e=KD(o.view);e.length>0&&(yield i.play(e,r))}if(!ID(t)){let e=KD(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Wb(this,arguments,(function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(sw){}if(ID(r.muted)||i.setPlayerMute(r.muted),ID(r.volume)||i.setAudioVolume(r.volume/100),i instanceof EF&&i.mediaTrack){let e=!1===r.muted&&!ID(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof oB){let e=r.muted?0:r.volume;if(ID(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()}))}_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(SH.TRACK,{userId:r,streamType:QB(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),this._checkScreenAudioEchoCancellation(this._localScreenTrack,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(ID(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(QB(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||wD(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),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))})),clearTimeout(c),c=window.setTimeout((()=>{[...s.values()].find((e=>e))?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(KD(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 Wb(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(),function(e){let t=WH.get(e);t&&(t.forEach((e=>clearTimeout(e))),WH.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{IP(e.remoteAudioTrack),IP(e.remoteVideoTrack),IP(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Wb(this,null,(function*(){var e,t;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&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),IP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return Wb(this,null,(function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(UO){this._log.warn("start audioProcessor plugin failed: ",UO)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!xW||Sx(xW))&&(this._initActiveSpeaker(),yO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Wb(this,null,(function*(){if(xW&&!Sx(xW))this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:xW});else{let e=yield Dx();e[0]&&!Sx(e[0])?(xW=e[0],this.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):yO.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:Pb(Lb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),XM.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),XM.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return Wb(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),NW.call(e,Lb({trtcInstance:this},t))}))}static setLogLevel(e,t){RO.setLogLevel(e),ID(t)||(t?RO.enableUploadLog():RO.disableUploadLog())}static isSupported(){return cL(e.frameWorkType)}static getPermissions(e){return Wb(this,arguments,(function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield MW.request(r).catch((e=>{var t;return RO.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))})));let[e,i]=yield Promise.all([MW.get("camera"),MW.get("microphone")]);return{camera:e,microphone:i}}()}))}static getCameraList(){return wx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return bx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return Dx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Wb(this,null,(function*(){if(!xN||t!==zB.SPEAKER&&t!==zB.HEADSET)(yield Dx()).forEach((e=>{e.deviceId===t&&(PW.forEach((r=>{r._setCurrentSpeaker(t),r.emit(SH.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),xW=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;PW.forEach((e=>Wb(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,max:s}=e;switch(a&&(JM.version=a),t){case"count":JM.addCount({key:r,useUV:n});break;case"enum":JM.addEnum({key:r,value:i,useUV:n});break;case"number":JM.addNumber({key:r,value:i,split:o,max:s})}}};Bb(UW,"_loggerManager",RO),Bb(UW,"EVENT",SH),Bb(UW,"ERROR_CODE",KB),Bb(UW,"TYPE",zB),Bb(UW,"frameWorkType",30),Fb([qH({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"}})})],UW.prototype,"use",1),Fb([GH(hH.TRTC.enterRoom),TH("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})),Kx((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),qH()],UW.prototype,"enterRoom",1),Fb([qH()],UW.prototype,"exitRoom",1),Fb([GH(hH.TRTC.switchRoom),qH(),Qx()],UW.prototype,"switchRoom",1),Fb([GH(hH.TRTC.switchRole),IH("room",{merge:(e,t)=>t}),qH()],UW.prototype,"switchRole",1),Fb([qH()],UW.prototype,"destroy",1),Fb([GH(hH.TRTC.startLocalAudio),TH("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)})),qH()],UW.prototype,"startLocalAudio",1),Fb([GH(hH.TRTC.updateLocalAudio),IH("audio",{debounce:{delay:200,getKey:()=>"".concat(LW,"-localAudio"),isNeedToDebounce:e=>{var t;return!ID(null==(t=e.option)?void 0:t.captureVolume)}}}),qH()],UW.prototype,"updateLocalAudio",1),Fb([AH("audio"),qH()],UW.prototype,"stopLocalAudio",1),Fb([GH(hH.TRTC.startLocalVideo),TH("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)})),qH()],UW.prototype,"startLocalVideo",1),Fb([GH(hH.TRTC.updateLocalVideo),IH("video"),qH()],UW.prototype,"updateLocalVideo",1),Fb([AH("video"),qH()],UW.prototype,"stopLocalVideo",1),Fb([GH(hH.TRTC.startScreenShare),TH("screen",(()=>!0)),qH()],UW.prototype,"startScreenShare",1),Fb([GH(hH.TRTC.updateScreenShare),IH("screen"),qH()],UW.prototype,"updateScreenShare",1),Fb([qH()],UW.prototype,"stopScreenShare",1),Fb([GH(hH.TRTC.startRemoteVideo),TH((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),qH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],UW.prototype,"startRemoteVideo",1),Fb([GH(hH.TRTC.updateRemoteVideo),IH((e=>"v".concat(e.userId).concat(e.streamType))),qH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],UW.prototype,"updateRemoteVideo",1),Fb([GH(hH.TRTC.stopRemoteVideo),Kx((e=>function(t){return Wb(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)}))})),qH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],UW.prototype,"stopRemoteVideo",1),Fb([AH((e=>"v".concat(e.userId).concat(e.streamType)))],UW.prototype,"_stopRemoteVideo",1),Fb([GH(...hH.TRTC.muteRemoteAudio),qH({getRemoteId:e=>e})],UW.prototype,"muteRemoteAudio",1),Fb([jH(...hH.TRTC.setRemoteAudioVolume),function(e,t){return Kx(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=WH.get(this);a||(a=new Map,WH.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=WH.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=WH.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),qH({getRemoteId:e=>e})],UW.prototype,"setRemoteAudioVolume",1),Fb([JH("start"),zx((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),TH(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),qH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>jM[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],UW.prototype,"startPlugin",1),Fb([JH("update"),IH(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),{merge:(e,t)=>(jD(e[1],t[1]),e)}),qH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>zM[e.getName()]})],UW.prototype,"updatePlugin",1),Fb([JH("stop"),AH(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),qH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>KM[e.getName()]})],UW.prototype,"stopPlugin",1),Fb([jH(...hH.TRTC.enableAudioVolumeEvaluation)],UW.prototype,"enableAudioVolumeEvaluation",1),Fb([qH()],UW.prototype,"getVideoSnapshot",1),Fb([qH()],UW.prototype,"_setCurrentSpeaker",1),Fb([TH((e=>"a".concat(e.userId)),(()=>!0))],UW.prototype,"_startRemoteAudio",1),Fb([Kx((e=>function(t){return Wb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Pb(Lb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),AH((e=>"a".concat(e.userId)))],UW.prototype,"_stopRemoteAudio",1),Fb([AH("room")],UW.prototype,"_exitRoom",1),Fb([AH("screen")],UW.prototype,"_stopScreenShare",1),Fb([GH(...hH.TRTC.sendSEIMessage),WB({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}})],UW.prototype,"sendSEIMessage",1),Fb([GH(hH.TRTC.sendCustomMessage),WB({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],UW.prototype,"sendCustomMessage",1),Fb([GH(hH.TRTC.create)],UW,"_create",1);var VW=UW,FW=class{constructor(e,t){Bb(this,"_flag"),Bb(this,"terminalType"),Bb(this,"userId"),Bb(this,"tinyId"),Bb(this,"role"),Bb(this,"remoteAudioTrack"),Bb(this,"remoteVideoTrack"),Bb(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new oB(e,this),this.remoteVideoTrack=new nB(e,this),this.remoteAuxiliaryTrack=new aB(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 HD(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()}},BW=class{constructor(){Bb(this,"_set",new Set),yO.on(IO.LEAVE_SUCCESS,this.delete,this),yO.on(IO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,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))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function HW(){return Wb(this,null,(function*(){let e,t;try{let t=yield bx();e=t&&t.length}catch(p){}try{let e=yield wx();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=CO.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};AP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),AP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),ZL()}))}var WW=class{constructor(e){Bb(this,"_frameWorkType"),Bb(this,"_component"),Bb(this,"_language"),Bb(this,"connectionType"),Bb(this,"_room"),Bb(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),Bb(this,"_keyPrefix"),Bb(this,"_log"),Bb(this,"_intervalId"),Bb(this,"_firstPublishedUserList"),Bb(this,"_networkQuality"),Bb(this,"_basicInfo"),Bb(this,"_pathJoinRoom"),Bb(this,"_pathLeaveRoom"),Bb(this,"_pathMainVideoMap"),Bb(this,"_pathMainAudioMap"),Bb(this,"_pathAuxiliaryMap"),Bb(this,"_remoteStreamStatMap"),Bb(this,"_localStreamStat"),Bb(this,"_eventMap",new Map),Bb(this,"_captureCostSum",0),Bb(this,"_captureCostCount",0),Bb(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=RO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&TD(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 ND(n)?n.catch((e=>RO.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(cC){RO.error("".concat(t.name,"() error observed ").concat(cC))}}}({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:ow,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,lO().then((e=>{this._basicInfo.string_os_version=_O(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),yO.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(IO.JOIN_START,this.handleJoinStart).addEvent(IO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(IO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(IO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(IO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(IO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(IO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(IO.JOIN_FAILED,this.handleJoinFailed).addEvent(IO.LEAVE_START,this.handleLeaveStart).addEvent(IO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(IO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(IO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(IO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(IO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(IO.PUBLISH_START,this.handlePublishStart).addEvent(IO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(IO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(IO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(IO.PLAY_TRACK_START,this.handlePlayStart).addEvent(IO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(IO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===Lw.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(IO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(IO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(IO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(IO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(IO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(IO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(IO.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(IO.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)=>yO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),gP.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&&(ID(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),ID(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),ID(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 $b?Number(r.getExtraCode()||r.getCode()):Jb.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())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then((()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e}))}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof $b?Number(r.getExtraCode()||r.getCode()):Jb.UNKNOWN)}}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:Pb(Lb({},jW),{msg_user_info:new zW({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 zW({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{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(d)&&this._pathMainAudioMap.set(d,{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(d)&&this._pathAuxiliaryMap.set(d,{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,XM.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/TM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/TM,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*Ob(10,6)))}})),!BD(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/TM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/TM,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 $b?r.getExtraCode()||r.getCode():Jb.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&Vw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Hw))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Bw))>=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,Lw.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,Lw.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,GW));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>GW&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+GW):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>GW&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+GW):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>GW&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+GW)}getReportData(){this._basicInfo.uint32_networkType=lD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new zW({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:GD(this._signalInfo.relayIp),uint32_client_ip:GD(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Ob(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:GD(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return tN(e),e}report(){return Wb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(MO){this._log.warn(MO)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Wb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=AO.enable?uN(e,2001,t):yield gN(e),i=r instanceof ArrayBuffer,o="".concat(oD(t,Iw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(XM),this.uploadKVStat(JM)];n||a.push(_N({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Wb(this,null,(function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Pb(Lb({},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=AO.enable?uN(t,2003,this._room.sdkAppId):yield gN(t),i=r instanceof ArrayBuffer,o="".concat(oD(+this._room.sdkAppId,Iw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||_N({url:o,body:r})}))}};Fb([RP({settings:{timeout:500,retries:3}})],WW.prototype,"upload",1);var GW=5e3,jW={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},zW=class{constructor(e){Bb(this,"str_identifier"),Bb(this,"str_tinyid"),Bb(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},KW=WW,qW=class{constructor(){Bb(this,"_startTime"),Bb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=xD())}stop(){0===this._endTime&&(this._endTime=xD())}getDuration(){return 0===this._endTime?xD()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},YW=class{constructor(e){Bb(this,"_room",null),Bb(this,"_durationMap"),Bb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(IO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(IO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(IO.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"),Lw.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),Lw.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),Lw.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,Lw.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,Lw.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,Lw.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>yO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>yO.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 qW,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===Lw.AUDIO?[o]:[],video:t===Lw.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()}},JW=class{constructor(e){Bb(this,"_room"),Bb(this,"_renderFreezeMap",new Map),Bb(this,"_isVideoPlayingEventFiredMap",new Map),Bb(this,"_dataFreezeMap",new Map),Bb(this,"_monitorFreezeData",new Map),Bb(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(IO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(IO.PLAY_TRACK_START,this.onPlayTrackStart).set(IO.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(IO.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(IO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===Lw.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===Lw.MUTE?this.onVideoTrackMuted(t):i===Lw.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(IO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>yO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>yO.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 qW;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>EC?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 Wb(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=xD();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=xD();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!==Lw.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()<EC&&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=xD()-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()}},XW=Vb(Gb(),1),$W=class{constructor(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:4/3;this.vbMode=e,this.faceDetectorHash=t,this.visionTaskRegistry=r,this.logger=i,Bb(this,"animationState"),Bb(this,"originalAspect"),Bb(this,"totalOffsetX",0),Bb(this,"totalOffsetY",0),Bb(this,"defaultScaleRatio",.1),Bb(this,"isRecovering",!1),Bb(this,"boundaryY",280),Bb(this,"lastActionTime",0),Bb(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=o||4/3}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?XM.addSuccessEvent({key:i.key}):XM.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(VO){this.logger.error(VO)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=Lb({},e),void(this.animationState.target=Lb({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),SD(this.animationState.current.scaleOffsetX)&&SD(this.animationState.target.scaleOffsetX)&&SD(this.animationState.current.scaleOffsetY)&&SD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(Ob(e.sx-t.sx,2)+Ob(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},QW=class extends xF{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),Bb(this,"_bgTexture"),Bb(this,"_waterMarkTexture"),Bb(this,"_lastMaskTexture"),Bb(this,"_lastMaskFbo"),Bb(this,"_textureValid",!1),Bb(this,"_selfieTextureValid",!1),Bb(this,"_selfieSegmentationHash"),Bb(this,"wasm"),Bb(this,"predictReady"),Bb(this,"_color"),Bb(this,"_prePrograme"),Bb(this,"_segmentationMask"),Bb(this,"_weixin",!1),Bb(this,"_centerFace"),Bb(this,"_textureMatrixLocation"),Bb(this,"_offsetMatrixLocation"),Bb(this,"_colorLocation"),Bb(this,"_enableFaceCentering",!1),Bb(this,"_enableEffectOptimization",!1),Bb(this,"_mat4"),Bb(this,"_postProcessing"),Bb(this,"_onAbort"),Bb(this,"_visionTaskRegistry"),Bb(this,"resolvePreditReady"),this.init(t).catch((t=>{e.log.error(t),e.destroy(new $b({code:Jb.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()}))}init(e){return Wb(this,null,(function*(){var t,r,i;this.predictReady=new Promise((e=>{this.resolvePreditReady=e}));let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),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)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.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(n.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),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}this._enableEffectOptimization&&(2===this.wasm.vbMode||3===this.wasm.vbMode)&&(null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3)),yield this.initVisionTasks(e)}))}initVisionTasks(e){return Wb(this,null,(function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._visionTaskRegistry.video=this.image,this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new $W(this.wasm.vbMode,e,this._visionTaskRegistry,this.context.log)}catch(cC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}}))}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._enableEffectOptimization&&this._postProcessing&&(2===this.wasm.vbMode||3===this.wasm.vbMode)&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),sN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(sN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(PO){this._onAbort&&this._onAbort(PO)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}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),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},ZW=class extends bF{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 }"}),Bb(this,"yTextureRef"),Bb(this,"uTextureRef"),Bb(this,"vTextureRef"),Bb(this,"Y"),Bb(this,"U"),Bb(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)}},eG=[e=>{e.codec="avc1.42e01f"},e=>{delete e.hardwareAcceleration}],tG=(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 rG=0,iG=class{constructor(e){Bb(this,"id",rG++),Bb(this,"trackDoneOB"),Bb(this,"startOB"),Bb(this,"stopOB"),Bb(this,"decoder"),Bb(this,"videoContext"),Bb(this,"gop",0),Bb(this,"gop_helper",0),Bb(this,"waitFirstKeyFrame",!0),Bb(this,"startTimestamp",0),Bb(this,"startTime",0),Bb(this,"startPerformanceTime",0),Bb(this,"inputFrameCount",0),Bb(this,"decodedFrameCount",0),Bb(this,"decodeFrameCount",0),Bb(this,"downgradeLevel",0),Bb(this,"lastDowngradeTime",0),Bb(this,"lastFrameDiff",0),Bb(this,"lastDecodeFrameTimestamp",0),Bb(this,"config"),Bb(this,"gop_before_configure",[]),Bb(this,"videoElement"),Bb(this,"type","wasm"),Bb(this,"goodType"),Bb(this,"renderer","2d"),Bb(this,"wasmOption"),Bb(this,"createDecoder"),Bb(this,"_decodeSink"),Bb(this,"isReported",!1),Bb(this,"track"),Bb(this,"stateChangeOB"),Bb(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=MU(),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=GU(t.availableState,uP.OFF),this.stopOB=MU(),"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),hU(this.stateChangeOB,MV(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),uV(this.stopOB),dF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=hU(this.pipe(this.track),uV(this.stopOB),yU());hU(t,dF((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),XM.addFailedEvent({key:tG(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),XM.addFailedEvent({key:514704});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")),XM.addSuccessEvent({key:tG(this.type,this.renderer)}),XM.addSuccessEvent({key:514704})}))),hU(t,dV(1),dF((()=>{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&&!nL()&&(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=xD()}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=>Wb(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<=eG.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===eG.length)return void t.error(3);eG[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 HF({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(HF.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new ZW(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 WF({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 NF(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(UO){e.log.error(UO),t.error("webCodecs"===n?2:6)}}))}},oG=class extends XW.EventEmitter{constructor(e){super(),this.room=e,Bb(this,"videoContext"),Bb(this,"_glVideoContext"),Bb(this,"_2dVideoContext"),Bb(this,"destination"),Bb(this,"smallVideoContext"),Bb(this,"smallDestination"),Bb(this,"smallTrackSource"),Bb(this,"smallImageSource"),Bb(this,"_isMirror",!1),Bb(this,"_rotation",0),Bb(this,"cameraTrack"),Bb(this,"cameraNode"),Bb(this,"transformNode"),Bb(this,"mixNode"),Bb(this,"screenTrack"),Bb(this,"screenNode"),Bb(this,"selfModel",!1),Bb(this,"blurRadius",3),Bb(this,"arTrack"),Bb(this,"_enableFaceCentering",!1),Bb(this,"_enableEffectOptimization",!1),Bb(this,"onAbort"),Bb(this,"_color"),Bb(this,"Wasm"),Bb(this,"waterMarkNode"),Bb(this,"_waterMarkOption"),Bb(this,"watermarkImageList",[]),Bb(this,"_beautyParams"),Bb(this,"isUsingArTrack",!1),Bb(this,"mixTrack"),Bb(this,"_isMixScreen",!1),Bb(this,"_virtualBackground"),Bb(this,"_virtualBackgroundAbortCallback"),Bb(this,"virtualBackgroundInstance"),Bb(this,"_bgAssetPath"),Bb(this,"log",RO.createLogger({id:"vm"})),Bb(this,"_mat4"),Bb(this,"_postProcessing"),Bb(this,"_checkId",0),Bb(this,"_use2d",!1),Bb(this,"_autoSwitchRenderMode",!0),Bb(this,"encodePipeline",[]),Bb(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new WF({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}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())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return sN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new WF({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 HF({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(HF.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(aw){this.emit("error",aw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=gP.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(),gP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(jk||this._isMixScreen||this._isTransform||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?XM.addFailedEvent({key:t,error:e}):XM.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 HF({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}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new MF(this.smallVideoContext,e,this.log),this.smallVideoContext.on(HF.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}if(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.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),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;jk&&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.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(LO){this.log.error("set main output failed",LO)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Wb(this,null,(function*(){var t;if(!this.cameraTrack||!this.initialTrack)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}),this.destination.on("render",(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}))),16===Xk?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof xF?(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 xF?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);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new OF(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on("render",(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new QW(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new qF(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new zF(this.videoContext,this.log),e.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;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext._canvas)}))}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof $F)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof IF)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof nB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof YF)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof $F?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof IF?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof nB?e.source&&e.source.context.destroy():e instanceof YF&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return Wb(this,null,(function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}))}getWatermarkImage(e,t){return Wb(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 $b({code:Jb.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)})),ZD(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 Wb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Wb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return Wb(this,null,(function*(){let t;try{t=yield ZD((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new $b({code:Jb.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2}=e;this.watermarkImageList.some((e=>e.type===a))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==a)),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,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 Wb(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 Wb(this,null,(function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return Wb(this,null,(function*(){var t,r,i;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 ZD(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}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 $b({code:Jb.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._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return Wb(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 iG(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,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}};Fb([function(e){return Kx(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Wb(this,null,(function*(){try{return yield t.apply(this,i)}catch(LO){e.call(this,LO)}}))}))}((function(e){this.log.error("update failed",e)}))],oG.prototype,"update",1);var nG=0,aG=class extends uP{constructor(e){super("room"),Bb(this,"seq",++nG),Bb(this,"sdkAppId"),Bb(this,"userId"),Bb(this,"userSig"),Bb(this,"privateMapKey"),Bb(this,"latencyLevel"),Bb(this,"tinyId"),Bb(this,"scene"),Bb(this,"roomId"),Bb(this,"useStringRoomId"),Bb(this,"role","anchor"),Bb(this,"joinParams",null),Bb(this,"localPublishFlag",0),Bb(this,"localTracks",new Set),Bb(this,"enableAutoPlayDialog",!0),Bb(this,"autoReceiveAudio",!0),Bb(this,"autoReceiveVideo",!0),Bb(this,"proxy_ws"),Bb(this,"proxy_wt"),Bb(this,"proxy_unified"),Bb(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,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),Bb(this,"keyPointManager"),Bb(this,"audioManager"),Bb(this,"videoManager"),Bb(this,"callDurationCalculator"),Bb(this,"badCaseDetector"),Bb(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Bb(this,"videoDecodeFallbackType"),Bb(this,"smallMode","canvas"),Bb(this,"_isUsingCachedSchedule",!1),Bb(this,"_log",RO.createLogger({id:"r".concat(this.seq)})),Bb(this,"_joinedTimestamp",0),Bb(this,"_sdkType"),Bb(this,"heartbeatReport"),Bb(this,"quality"),Bb(this,"enableSEI"),Bb(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,RD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),RD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),RD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new KW({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new YW({room:this}),this.badCaseDetector=new JW({room:this}),this.audioManager=new tB(this),this.videoManager=new oG(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 Wb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Wb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Wb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(AD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(gD(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?(OH([n,n]),hw("https://".concat(n))):(i&&hw(i),o&&OH(o))}yO.once(IO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:kH.main,sched_back_domain:kH.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Wb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Wb(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 Wb(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 $b({code:Jb.INVALID_OPERATION,message:VM({key:LM.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(PM.INVALID_DESTROY),new $b({code:Jb.INVALID_OPERATION,message:VM({key:LM.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,yO.emit(IO.ROOM_DESTROY,{room:this})}schedule(e,t){return Wb(this,null,(function*(){var r,i,o,n;let a=xD();try{let{isCached:s,result:c,detailCost:l}=yield NH({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:ow,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(JD(c,{keysToExclude:["username","credential"]}))),s&&yO.once(IO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=Lb(Lb({},this.scheduleResult),c),SD(null==(r=c.config)?void 0:r.retryCount)&&aC(c.config.retryCount),AD(null==(i=c.config)?void 0:i.loggerDomain)&&hw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,yO.emit(IO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),XM.addSuccessEvent({key:521700,cost:xD()-a})}catch(kO){throw XM.addFailedEvent({key:521700,error:kO}),kO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var sG={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},cG="__INLINE__WORKER__",lG="__INLINE__WASM__",{debug:dG}=console;sG.debug||(console.debug=()=>{});var uG,hG=!cG.startsWith("__"),pG=!lG.startsWith("__");function mG(){let e=oN("".concat(sG.assetsPath?"".concat(sG.assetsPath,"/"):"","worker.js"));return hG?URL.createObjectURL(new Blob([atob(cG)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function fG(){return Wb(this,null,(function*(){let e=sG.assetsPath?"".concat(sG.assetsPath,"/"):"";return uG||(uG=pG?(new TextEncoder).encode(atob(lG)).buffer:yield fetch(oN("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),uG)}))}var _G=new class{constructor(){Bb(this,"playPort"),Bb(this,"playPortSent",!1),Bb(this,"worklet"),Bb(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Wb(this,null,(function*(){let e=sx(),t=mG();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),RO.info("global audio player worklet addModule success",t)}catch(cC){throw RO.error("global audio player worklet addModule failed:",cC),cC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield fG(),flag:sG},numberOfInputs:2}),RO.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Wb(this,null,(function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))}))}},gG="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";gG?Promise.resolve().then((function(){return TG})):Promise.resolve().then((function(){return wG})),gG?Promise.resolve().then((function(){return RG})):Promise.resolve().then((function(){return CG}));var EG=gG?Promise.resolve().then((function(){return bG})):Promise.resolve().then((function(){return DG}));function vG(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(this,null,(function*(){return(yield EG).default(...t)}))}var yG=e=>Wb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),TG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(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(yG));return e[0].multiple?i:i[0]}()}))}};function IG(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 IG=function(e){this.s=e,this.n=e.next},IG.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 IG(e)}var AG,SG=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 Wb(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,d=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 IG(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.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(SG(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},RG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(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 SG(t,e.recursive,void 0,e.skipDirectory)}()}))}},bG={__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 Wb(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)}()}))}},wG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(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()}))}()}))}},CG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(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()}))}()}))}},DG={__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 Wb(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 Wb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Wb(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}()}))}},NG=class{constructor(e){this.name=e,Bb(this,"ready"),Bb(this,"worker"),Bb(this,"ports"),Bb(this,"ids",1),Bb(this,"transactions",new Map),Bb(this,"log"),Bb(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 Wb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=mG(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Wb(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(YD(),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 fG(),flag:sG},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},kG=class{constructor(e,t,r){this.worker=e,Bb(this,"channel",new MessageChannel),Bb(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()}},OG=new class e extends NG{constructor(){super("main"),Bb(this,"switchValue",new Map),Bb(this,"extendChannel"),Bb(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Wb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield Hb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function MG(e){return Wb(this,null,(function*(){yield OG.create(),yO.emit(IO.JOIN_SEND_CMD,{room:this});let t=new kG(OG,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(yO.emit(IO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new $b({code:Jb.JOIN_ROOM_FAILED,extraCode:Number(r),message:VM({key:LM.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function LG(e){return Wb(this,null,(function*(){OG.setSwitchValue("useAINS",e)}))}function PG(e){return Wb(this,null,(function*(){OG.setSwitchValue("useV2",e)}))}function xG(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),e.player.setVolume(0),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function UG(e){return Wb(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),hU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(MU(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=rU,e.onmessageerror=rU,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),uV(GU(e,uP.INIT)),dF((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:LG},useWt:{set:function(e){return Wb(this,null,(function*(){OG.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?dG:()=>{},OG.setSwitchValue("enableDebug",e)}},useV2:{set:PG},dump:{value(){if(AG||(console.warn("dump audio will be activated at next time join room"),AG=[]),!AG.length)return void console.warn("no audio data to dump,try it later");let e=[];return AG.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),vG(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;OG.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,OG.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return vG(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:sG.useHardDecoder="prefer-hardware";break;case!1:sG.useHardDecoder="prefer-software";break;default:sG.useHardDecoder="no-preference"}}}});var VG=[];function FG(e){var t;let r=MU();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=VG.length;l++)if(!VG[l]){VG[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:Lb({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(Pb(Lb({},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=sx().createMediaStreamSource(s),a.connect(_G.worklet,0,this.index)};hU(GU(e,"output-media-track-changed"),uV(GU(e,"ready")),dF(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),VG[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),hU(r,uF((t=>e.volume=t)),jV(CF(1e3)),dF((()=>{e.volume=0}))),c(e.outMediaTrack)}var BG=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Bb(this,"track"),Bb(this,"label"),Bb(this,"insertKeyFrame",!0),Bb(this,"session"),Bb(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return Wb(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0});t.signal.addEventListener("abort",(()=>{i.encoder.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return Wb(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.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},i)),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.encoder.close()}))}))}recreate(e,t){return Wb(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.recreateCount&&yO.emit(IO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=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),t.recreateCount++,setTimeout((()=>this.recreate(e,t)),100)}});return t.encoder=i,yield this.configure({},t),t}))}configure(e,t){return Wb(this,null,(function*(){var r;if(Object.assign(this.config,e),0===t.frameEncoded)for(let e=0;e<=eG.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===eG.length)return;eG[e](this.config)}else t.recreateCount<=eG.length&&eG[t.recreateCount-1](this.config);null==(r=t.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function HG(e,t){return Wb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.640028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:sG.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 BG(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;fD({configureBr:[e.data.bitrate,t]}),a.session&&a.configure({bitrate:t},a.session)}},this._log.info("start push",i,t),a}))}function WG(e){return Wb(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 HG.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>Wb(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,d=RN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",(r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(xO){console.warn(xO)}}))},pull(t){return Wb(this,null,(function*(){if(0===e.player.mode&&JL()&&e.player.element)return new Promise((r=>{e.player.element.requestVideoFrameCallback(((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()}))}))}))}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield HG.call(this,e,{profile:u,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 hU(GU(e,"output-media-track-changed"),uV(GU(e,"ready")),dF(d,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),d(e.outMediaTrack)}))}var GG=class e extends uP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Bb(this,"enableInBackground",!1),Bb(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),hU(GU(this,e.INTERVALCHANGED),WV((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):hU((e=>t=>{let r=0,i=performance.now();hU(wF,xV((t=>(t-i)/e|0)),cV((e=>e!=r&&(r=e,!0))))(t)})(e),xV((()=>[]))))),dF((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==uP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Bb(GG,"INTERVALCHANGED","intervalChanged"),Fb([cP([uP.INIT,uP.OFF],uP.ON)],GG.prototype,"start",1),Fb([cP([],uP.OFF)],GG.prototype,"stop",1);var jG=GG,zG=class extends aG{constructor(e){super(e),Bb(this,"index",0),Bb(this,"session"),Bb(this,"tinyid"),Bb(this,"roomid"),Bb(this,"openid"),Bb(this,"socketid"),Bb(this,"relayip"),Bb(this,"clientip"),Bb(this,"remotePublishedUserMap",new Map),Bb(this,"bussinessInfo"),Bb(this,"token"),Bb(this,"audioVolumeEvalution",new jG(this)),Bb(this,"enableAIVoice",LG),Bb(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:gO(),uint32_device_type:0,str_os_verion:EO(),uint32_link_type:1,str_client_version:ow,uint32_net_type:ww[tw.getNetworkType()],ua:navigator.userAgent,version:""}}),Bb(this,"joinAbortController",new AbortController),Bb(this,"smallAbortCtrl"),Bb(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,PG(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Wb(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 Wb(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 Wb(this,null,(function*(){var i,o,n;let a=tw.getEnv(),s=ZM(),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:pO(),browserInfo:ZM(),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:ow,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 MG.call(this,c),console.log(this),_G.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Wb(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 Wb(this,null,(function*(){hU((e=>Wb(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])}))),uV(GU(this,"left")),dF((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Pb(Lb({},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 IO.RECEIVED_PUBLISHED_USER_LIST:return void yO.emit(e,Lb({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 FW(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 yO.emit(IO.REMOTE_PUBLISH_STATE_CHANGED,Lb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"network-quality":this.quality=Lb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:ow,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:ww[aD()]},msg_event_msg:lB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};yO.emit(IO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),yO.emit(IO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void yO.emit(IO.SIGNAL_CONNECTION_STATE_CHANGED,Lb({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 Wb(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=>Wb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),TP(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))FG.call(this,e);else yield WG.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 Wb(this,null,(function*(){t.forEach(IP)}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Wb(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=Lb({},n.subscribeState),s=Object.assign(new IM,a);s.mediaType|=e,yO.emit(IO.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?xG.call(this,e):UG.call(this,e)))),yO.emit(IO.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 Wb(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();yO.emit(IO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Wb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield HG.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);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.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"))}};Fb([zx(zG.prototype.afterJoin),cP(["left",uP.INIT],"joined"),Kx((e=>{let t=new BW;return function(r,i,o){return Wb(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 $b({code:Jb.INVALID_OPERATION,message:VM({key:LM.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new $b({code:Jb.INVALID_OPERATION,message:VM({key:LM.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)),yO.emit(IO.JOIN_START,{room:this,roomId:n,params:r});let a=tw.getEnv();a||(a=Aw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(xw.OLD_CLOUD_LADDER)?a=Aw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(xw.WEBRTC)&&(a=Aw.WEBRTC))),AP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),CO.checkSystemRequirementsInternal(o).then((e=>{this.checkSystemResult=e,HW.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!tw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=tw.performanceNow(),yO.emit(IO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&AP.uploadEvent({log:"stat-conv-".concat(Number(rO),"-").concat(location.hostname),userId:this.userId}),t}catch(UO){throw t.delete({room:this,roomId:n}),yO.emit(IO.JOIN_FAILED,{room:this,error:UO}),UO}}))}}))],zG.prototype,"join",1),Fb([cP("joined","left",{ignoreError:!0}),Kx((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Wb(this,null,(function*(){yO.emit(IO.LEAVE_START,{room:this}),yield e.call(this,...r),yO.emit(IO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],zG.prototype,"leave",1),Fb([Zx((function(){return 0})),Kx((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Wb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;yO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map((e=>e.publish(this,t))))}))}))],zG.prototype,"publish",1),Fb([Zx((function(){return 0})),Kx((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}))],zG.prototype,"unpublish",1),Fb([Zx((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),Kx((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}))],zG.prototype,"subscribe",1);var KG=zG;return VW.frameWorkType=37,VW.create=function(e){let t=VW._create.call(this,KG,e);return t._use(BB,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(sG.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",ow,"created",sG),t},Object.assign(VW.prototype,{_setCurrentSpeaker(e){let t=sx();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Wb(this,null,(function*(){return this.startPlugin(BB.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise(((t,r)=>{hU(GU(e,"decode-downgrade-state-changed"),cV((e=>"STARTED"===e.state)),dV(1),hF(1e4),uV(GU(e,uP.INIT)),dF(t,r))}))}))}}),YL(37),VW}));
|
|
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)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;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,C=Object,D=T("".split),N=b(function(){return!C("z").propertyIsEnumerable(0)})?function(e){return"String"===w(e)?D(e,""):C(e)}:C,k=function(e){return null==e},O=k,M=TypeError,P=function(e){if(O(e))throw new M("Can't call method on "+e);return e},L=N,x=P,U=function(e){return L(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)},W=r,G=F,j=function(e,t){return arguments.length<2?(r=W[e],G(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.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=j,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(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={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.45.1",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.45.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Pe=Me,Le=function(e,t){return Pe[e]||(Pe[e]=t||{})},xe=P,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)},We=T,Ge=0,je=Math.random(),ze=We(1.1.toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++Ge+je,36)},qe=Le,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,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)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(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=d,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 Ct={},Dt=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")},Pt=n,Lt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",Gt="configurable",jt="writable";Ct.f=Pt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&jt in r&&!r[jt]){var i=Ht(e,t);i&&i[jt]&&(e[t]=r.value,r={configurable:Gt in r?r[Gt]:i[Gt],enumerable:Wt in r?r[Wt]:i[Wt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Lt)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 zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Le("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Pr=er.CONFIGURABLE,Lr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),Gr=Mr&&!Nr(function(){return 8!==Fr(function(){},"length",{value:8}).length}),jr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Pr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),Gr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(jr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr(function(){return kr(this)&&Ur(this).source||Lr(this)},"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,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)&&Jr(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:Yr.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,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(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=mr,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 Ci=j,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Pi=He,Li=Mi,xi=i,Ui=Ct,Vi=function(e,t,r){for(var i=Li(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Pi(e,s)||r&&Pi(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,Wi=function(e,t){var r=ji[Gi(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},Gi=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},ji=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=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?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(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=Kr,fo=Ct,_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=z,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 Co={},Do=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&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Po=vo("".replace),Lo=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Co,e))return"";var t=Oo(e),r=No?Lo(t,7,-1):Po(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,Go=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};Go("asyncIterator");var jo=R,zo=Array.isArray||function(e){return"Array"===jo(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=j("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(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(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=zo,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,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(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,Pn=Si,Ln=Object.keys||function(e){return Mn(e,Pn)},xn=n,Un=Dt,Vn=Ct,Fn=Mt,Bn=U,Hn=Ln;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 Wn,Gn=j("document","documentElement"),jn=Mt,zn=On,Kn=Si,qn=mr,Yn=Gn,Jn=_t,Xn="prototype",$n="script",Qn=pr("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{Wn=new ActiveXObject("htmlfile")}catch(t){}ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):function(){var e,t=Jn("iframe"),r="java"+$n+":";return t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F}():ta(Wn);for(var e=Kn.length;e--;)delete ra[Xn][Kn[e]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=jn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.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},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o(function(){return!Array(1).includes()})},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("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=pr("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,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(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])||Da(ha,Na,function(){return this});var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},Pa=Ct.f,La=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!La(e,xa)&&Pa(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,Wa=fa,Ga=function(){return this},ja=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=Ga,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=P,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(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=ja,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.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,d=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)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(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])||ds(s,_s,ys)),cs(s,u,!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:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ps=Cs(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,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([r,t[r]],!1)},"values"),Ls=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ls.name)try{ws(Ls,"name",{value:"values"})}catch(kj){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=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:Ws(!1),right:Ws(!0)},js=o,zs=function(e,t){var r=[][e];return!!r&&js(function(){r.call(null,t||function(){return 1},1)})},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=Gs.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("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||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,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,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.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=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac(function(){Nc.sort(void 0)}),Pc=Ac(function(){Nc.sort(null)}),Lc=Rc("sort"),xc=!Ac(function(){if(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<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||!Pc||!Lc||!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=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},Gc=ii,jc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=Gc(e),r=jc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*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,d=23===t?rl(2,-24)-rl(2,-77):0,u=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?d/n:d*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*u,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--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=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},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(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=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Pl=Vi,Ll=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",Gl=xl.getterFor(Fl),jl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=jl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=jl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il(function(){Kl(1)})&&Il(function(){new Kl(-1)})&&!Il(function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl})?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Pl(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);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");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",Gl),dd(Jl,"buffer",jl),dd(Jl,"byteLength",jl),dd(Jl,"byteOffset",jl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Ll(ql,Fl),Ll(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=j,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Pd=bd(kd.prototype.slice),Ld=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd(function(){return!new kd(2).slice(1,void 0).byteLength})},{slice:function(e,t){if(Pd&&void 0===t)return Pd(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Ld(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,Gd=TypeError,jd=function(e){if(Hd(e))return e;throw new Gd(Wd(e)+" is not a constructor")},zd=Mt,Kd=jd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=Gn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu(function(){Ud=ou.location});var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Pu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Lu=function(){this.head=null,this.tail=null};Lu.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 xu,Uu,Vu,Fu,Bu,Hu=Lu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,Gu=/web0s(?!.*chrome)/i.test(Y),ju=r,zu=Pu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=Gu,Qu=$s,Zu=ju.MutationObserver||ju.WebKitMutationObserver,eh=ju.document,th=ju.process,rh=ju.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(kj){throw oh.head&&xu(),kj}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,ju),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(kj){return{error:!0,value:kj}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh(function(e){e(1)}),i=function(e){e(function(){},function(){})};if((r.constructor={})[gh]=i,!(Eh=r.then(function(){})instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)}),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e(function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i}),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh,Nh=to,kh=$s,Oh=r,Mh=xo,Ph=l,Lh=$r,xh=ts,Uh=Ua,Vh=Td,Fh=ge,Bh=F,Hh=H,Wh=Wc,Gh=Jd,jh=Nu.set,zh=ah,Kh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(kj){}},qh=sh,Yh=Hu,Jh=Cr,Xh=ch,$h=Ih,Qh="Promise",Zh=Th.CONSTRUCTOR,ep=Th.REJECTION_EVENT,tp=Th.SUBCLASSING,rp=Jh.getterFor(Qh),ip=Jh.set,op=Xh&&Xh.prototype,np=Xh,ap=op,sp=Oh.TypeError,cp=Oh.document,lp=Oh.process,dp=$h.f,up=dp,hp=!!(cp&&cp.createEvent&&Oh.dispatchEvent),pp="unhandledrejection",mp=function(e){var t;return!(!Hh(e)||!Bh(t=e.then))&&t},fp=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,d=e.domain;try{s?(a||(2===t.rejection&&yp(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new sp("Promise-chain cycle")):(i=mp(r))?Ph(i,r,c,l):c(r)):l(n)}catch(kj){d&&!o&&d.exit(),l(kj)}},_p=function(e,t){e.notified||(e.notified=!0,zh(function(){for(var r,i=e.reactions;r=i.get();)fp(r,e);e.notified=!1,t&&!e.rejection&&Ep(e)}))},gp=function(e,t,r){var i,o;hp?((i=cp.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),Oh.dispatchEvent(i)):i={promise:t,reason:r},!ep&&(o=Oh["on"+e])?o(i):e===pp&&Kh("Unhandled promise rejection",r)},Ep=function(e){Ph(jh,Oh,function(){var t,r=e.facade,i=e.value;if(vp(e)&&(t=qh(function(){kh?lp.emit("unhandledRejection",i,r):gp(pp,r,i)}),e.rejection=kh||vp(e)?2:1,t.error))throw t.value})},vp=function(e){return 1!==e.rejection&&!e.parent},yp=function(e){Ph(jh,Oh,function(){var t=e.facade;kh?lp.emit("rejectionHandled",t):gp("rejectionhandled",t,e.value)})},Tp=function(e,t,r){return function(i){e(t,i,r)}},Ip=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,_p(e,!0))},Ap=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new sp("Promise can't be resolved itself");var i=mp(t);i?zh(function(){var r={done:!1};try{Ph(i,t,Tp(Ap,r,e),Tp(Ip,r,e))}catch(kj){Ip(r,kj,e)}}):(e.value=t,e.state=1,_p(e,!1))}catch(kj){Ip({done:!1},kj,e)}}};if(Zh&&(ap=(np=function(e){Wh(this,ap),Fh(e),Ph(bh,this);var t=rp(this);try{e(Tp(Ap,t),Tp(Ip,t))}catch(kj){Ip(t,kj)}}).prototype,(bh=function(e){ip(this,{type:Qh,done:!1,notified:!1,parent:!1,reactions:new Yh,rejection:!1,state:0,value:null})}).prototype=Lh(ap,"then",function(e,t){var r=rp(this),i=dp(Gh(this,np));return r.parent=!0,i.ok=!Bh(e)||e,i.fail=Bh(t)&&t,i.domain=kh?lp.domain:void 0,0===r.state?r.reactions.add(i):zh(function(){fp(i,r)}),i.promise}),wh=function(){var e=new bh,t=rp(e);this.promise=e,this.resolve=Tp(Ap,t),this.reject=Tp(Ip,t)},$h.f=dp=function(e){return e===np||e===Ch?new wh(e):up(e)},Bh(Xh)&&op!==Object.prototype)){Dh=op.then,tp||Lh(op,"then",function(e,t){var r=this;return new np(function(e,t){Ph(Dh,r,e,t)}).then(e,t)},{unsafe:!0});try{delete op.constructor}catch(kj){}xh&&xh(op,ap)}Nh({global:!0,constructor:!0,wrap:!0,forced:Zh},{Promise:np}),Ch=Mh.Promise,Uh(np,Qh,!1),Vh(Qh);var Sp=fa,Rp=tt("iterator"),bp=Array.prototype,wp=function(e){return void 0!==e&&(Sp.Array===e||bp[Rp]===e)},Cp=lo,Dp=ye,Np=k,kp=fa,Op=tt("iterator"),Mp=function(e){if(!Np(e))return Dp(e,Op)||Dp(e,"@@iterator")||kp[Cp(e)]},Pp=l,Lp=ge,xp=Mt,Up=pe,Vp=Mp,Fp=TypeError,Bp=function(e,t){var r=arguments.length<2?Vp(e):t;if(Lp(r))return xp(Pp(r,e));throw new Fp(Up(e)+" is not iterable")},Hp=l,Wp=Mt,Gp=ye,jp=function(e,t,r){var i,o;Wp(e);try{if(!(i=Gp(e,"return"))){if("throw"===t)throw r;return r}i=Hp(i,e)}catch(kj){o=!0,i=kj}if("throw"===t)throw r;if(o)throw i;return Wp(i),r},zp=Zo,Kp=l,qp=Mt,Yp=pe,Jp=wp,Xp=hi,$p=z,Qp=Bp,Zp=Mp,em=jp,tm=TypeError,rm=function(e,t){this.stopped=e,this.result=t},im=rm.prototype,om=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=zp(t,d),_=function(e){return i&&em(i,"normal"),new rm(!0,e)},g=function(e){return u?(qp(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=Zp(e)))throw new tm(Yp(e)+" is not iterable");if(Jp(o)){for(n=0,a=Xp(e);a>n;n++)if((s=g(e[n]))&&$p(im,s))return s;return new rm(!1)}i=Qp(e,o)}for(c=h?e.next:i.next;!(l=Kp(c,i)).done;){try{s=g(l.value)}catch(kj){em(i,"throw",kj)}if("object"==typeof s&&s&&$p(im,s))return s}return new rm(!1)},nm=tt("iterator"),am=!1;try{var sm=0,cm={next:function(){return{done:!!sm++}},return:function(){am=!0}};cm[nm]=function(){return this},Array.from(cm,function(){throw 2})}catch(kj){}var lm=function(e,t){try{if(!t&&!am)return!1}catch(kj){return!1}var r=!1;try{var i={};i[nm]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(kj){}return r},dm=ch,um=Th.CONSTRUCTOR||!lm(function(e){dm.all(e).then(void 0,function(){})}),hm=l,pm=ge,mm=Ih,fm=sh,_m=om;to({target:"Promise",stat:!0,forced:um},{all:function(e){var t=this,r=mm.f(t),i=r.resolve,o=r.reject,n=fm(function(){var r=pm(t.resolve),n=[],a=0,s=1;_m(e,function(e){var c=a++,l=!1;s++,hm(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 gm=to,Em=Th.CONSTRUCTOR,vm=ch,ym=j,Tm=F,Im=$r,Am=vm&&vm.prototype;if(gm({target:"Promise",proto:!0,forced:Em,real:!0},{catch:function(e){return this.then(void 0,e)}}),Tm(vm)){var Sm=ym("Promise").prototype.catch;Am.catch!==Sm&&Im(Am,"catch",Sm,{unsafe:!0})}var Rm=l,bm=ge,wm=Ih,Cm=sh,Dm=om;to({target:"Promise",stat:!0,forced:um},{race:function(e){var t=this,r=wm.f(t),i=r.reject,o=Cm(function(){var o=bm(t.resolve);Dm(e,function(e){Rm(o,t,e).then(r.resolve,i)})});return o.error&&i(o.value),r.promise}});var Nm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Nm.f(this);return(0,t.reject)(e),t.promise}});var km=Mt,Om=H,Mm=Ih,Pm=function(e,t){if(km(e),Om(t)&&t.constructor===e)return t;var r=Mm.f(e);return(0,r.resolve)(t),r.promise},Lm=to,xm=Th.CONSTRUCTOR,Um=Pm;j("Promise"),Lm({target:"Promise",stat:!0,forced:xm},{resolve:function(e){return Um(this,e)}});var Vm=to,Fm=ch,Bm=o,Hm=j,Wm=F,Gm=Jd,jm=Pm,zm=$r,Km=Fm&&Fm.prototype;if(Vm({target:"Promise",proto:!0,real:!0,forced:!!Fm&&Bm(function(){Km.finally.call({then:function(){}},function(){})})},{finally:function(e){var t=Gm(this,Hm("Promise")),r=Wm(e);return this.then(r?function(r){return jm(t,e()).then(function(){return r})}:e,r?function(r){return jm(t,e()).then(function(){throw r})}:e)}}),Wm(Fm)){var qm=Hm("Promise").prototype.finally;Km.finally!==qm&&zm(Km,"finally",qm,{unsafe:!0})}var Ym=H,Jm=R,Xm=tt("match"),$m=function(e){var t;return Ym(e)&&(void 0!==(t=e[Xm])?!!t:"RegExp"===Jm(e))},Qm=o,Zm=r.RegExp,ef=!Qm(function(){var e=!0;try{Zm(".","d")}catch(kj){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(Zm.prototype,"flags").get.call(t)!==i||r!==i}),tf={correct:ef},rf=Mt,of=function(){var e=rf(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},nf=l,af=He,sf=z,cf=tf,lf=of,df=RegExp.prototype,uf=cf.correct?function(e){return e.flags}:function(e){return cf.correct||!sf(df,e)||af(e,"flags")?e.flags:nf(lf,e)},hf=o,pf=r.RegExp,mf=hf(function(){var e=pf("a","y");return e.lastIndex=2,null!==e.exec("abcd")}),ff=mf||hf(function(){return!pf("a","y").sticky}),_f={BROKEN_CARET:mf||hf(function(){var e=pf("^r","gy");return e.lastIndex=2,null!==e.exec("str")}),MISSED_STICKY:ff,UNSUPPORTED_Y:mf},gf=Ct.f,Ef=o,vf=r.RegExp,yf=Ef(function(){var e=vf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)}),Tf=o,If=r.RegExp,Af=Tf(function(){var e=If("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")}),Sf=n,Rf=r,bf=T,wf=qi,Cf=ml,Df=qt,Nf=ia,kf=Qr.f,Of=z,Mf=$m,Pf=po,Lf=uf,xf=_f,Uf=function(e,t,r){r in e||gf(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Vf=$r,Ff=o,Bf=He,Hf=Cr.enforce,Wf=Td,Gf=yf,jf=Af,zf=tt("match"),Kf=Rf.RegExp,qf=Kf.prototype,Yf=Rf.SyntaxError,Jf=bf(qf.exec),Xf=bf("".charAt),$f=bf("".replace),Qf=bf("".indexOf),Zf=bf("".slice),e_=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,t_=/a/g,r_=/a/g,i_=new Kf(t_)!==t_,o_=xf.MISSED_STICKY,n_=xf.UNSUPPORTED_Y,a_=Sf&&(!i_||o_||Gf||jf||Ff(function(){return r_[zf]=!1,Kf(t_)!==t_||Kf(r_)===r_||"/a/i"!==String(Kf(t_,"i"))}));if(wf("RegExp",a_)){for(var s_=function(e,t){var r,i,o,n,a,s,c=Of(qf,this),l=Mf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===s_)return e;if((l||Of(qf,e))&&(e=e.source,d&&(t=Lf(h))),e=void 0===e?"":Pf(e),t=void 0===t?"":Pf(t),h=e,Gf&&"dotAll"in t_&&(i=!!t&&Qf(t,"s")>-1)&&(t=$f(t,/s/g,"")),r=t,o_&&"sticky"in t_&&(o=!!t&&Qf(t,"y")>-1)&&n_&&(t=$f(t,/y/g,"")),jf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Nf(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=Xf(e,i)))t+=Xf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Zf(e,i+1,i+3))continue;Jf(e_,Zf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Bf(a,d))throw new Yf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=Cf(Kf(e,t),c?this:qf,s_),(i||o||u.length)&&(s=Hf(a),i&&(s.dotAll=!0,s.raw=s_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=Xf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+Xf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{Df(a,"source",""===h?"(?:)":h)}catch(kj){}return a},c_=kf(Kf),l_=0;c_.length>l_;)Uf(s_,Kf,c_[l_++]);qf.constructor=s_,s_.prototype=qf,Vf(Rf,"RegExp",s_,{constructor:!0})}Wf("RegExp");var d_=l,u_=T,h_=po,p_=of,m_=_f,f_=ia,__=Cr.get,g_=yf,E_=Af,v_=Le("native-string-replace",String.prototype.replace),y_=RegExp.prototype.exec,T_=y_,I_=u_("".charAt),A_=u_("".indexOf),S_=u_("".replace),R_=u_("".slice),b_=function(){var e=/a/,t=/b*/g;return d_(y_,e,"a"),d_(y_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),w_=m_.BROKEN_CARET,C_=void 0!==/()??/.exec("")[1];(b_||C_||w_||g_||E_)&&(T_=function(e){var t,r,i,o,n,a,s,c=this,l=__(c),d=h_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=d_(T_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=w_&&c.sticky,m=d_(p_,c),f=c.source,_=0,g=d;if(p&&(m=S_(m,"y",""),-1===A_(m,"g")&&(m+="g"),g=R_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==I_(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),C_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),b_&&(i=c.lastIndex),o=d_(y_,p?r:c,g),p?o?(o.input=R_(o.input,_),o[0]=R_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:b_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),C_&&o&&o.length>1&&d_(v_,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=f_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var D_=T_;to({target:"RegExp",proto:!0,forced:/./.exec!==D_},{exec:D_});var N_=_o,k_=tf,O_=of;n&&!k_.correct&&(N_(RegExp.prototype,"flags",{configurable:!0,get:O_}),k_.correct=!0);var M_=ii,P_=po,L_=P,x_=RangeError,U_=T,V_=di,F_=po,B_=function(e){var t=P_(L_(this)),r="",i=M_(e);if(i<0||Infinity===i)throw new x_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},H_=P,W_=U_(B_),G_=U_("".slice),j_=Math.ceil,z_=function(e){return function(t,r,i){var o,n,a=F_(H_(t)),s=V_(r),c=a.length,l=void 0===i?" ":F_(i);return s<=c||""===l?a:((n=W_(l,j_((o=s-c)/l.length))).length>o&&(n=G_(n,0,o)),e?a+n:n+a)}},K_={start:z_(!1),end:z_(!0)},q_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),Y_=K_.start;to({target:"String",proto:!0,forced:q_},{padStart:function(e){return Y_(this,e,arguments.length>1?arguments[1]:void 0)}});var J_=l,X_=$r,$_=D_,Q_=o,Z_=tt,eg=qt,tg=Z_("species"),rg=RegExp.prototype,ig=T,og=ii,ng=po,ag=P,sg=ig("".charAt),cg=ig("".charCodeAt),lg=ig("".slice),dg=function(e){return function(t,r){var i,o,n=ng(ag(t)),a=og(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=cg(n,a))<55296||i>56319||a+1===s||(o=cg(n,a+1))<56320||o>57343?e?sg(n,a):i:e?lg(n,a,a+2):o-56320+(i-55296<<10)+65536}},ug={codeAt:dg(!1),charAt:dg(!0)},hg=ug.charAt,pg=T,mg=Ve,fg=Math.floor,_g=pg("".charAt),gg=pg("".replace),Eg=pg("".slice),vg=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,yg=/\$([$&'`]|\d{1,2})/g,Tg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=yg;return void 0!==o&&(o=mg(o),c=vg),gg(n,c,function(n,c){var l;switch(_g(c,0)){case"$":return"$";case"&":return e;case"`":return Eg(t,0,r);case"'":return Eg(t,a);case"<":l=o[Eg(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=fg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?_g(c,1):i[u-1]+_g(c,1):n}l=i[d-1]}return void 0===l?"":l})},Ig=l,Ag=Mt,Sg=F,Rg=R,bg=D_,wg=TypeError,Cg=eu,Dg=l,Ng=T,kg=function(e,t,r,i){var o=Z_(e),n=!Q_(function(){var t={};return t[o]=function(){return 7},7!==""[e](t)}),a=n&&!Q_(function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[tg]=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===$_||a===rg.exec?n&&!o?{done:!0,value:J_(s,t,r,i)}:{done:!0,value:J_(e,r,t,i)}:{done:!1}});X_(String.prototype,e,c[0]),X_(rg,o,c[1])}i&&eg(rg[o],"sham",!0)},Og=o,Mg=Mt,Pg=F,Lg=H,xg=ii,Ug=di,Vg=po,Fg=P,Bg=function(e,t,r){return t+(r?hg(e,t).length:1)},Hg=ye,Wg=Tg,Gg=uf,jg=function(e,t){var r=e.exec;if(Sg(r)){var i=Ig(r,e,t);return null!==i&&Ag(i),i}if("RegExp"===Rg(e))return Ig(bg,e,t);throw new wg("RegExp#exec called on incompatible receiver")},zg=tt("replace"),Kg=Math.max,qg=Math.min,Yg=Ng([].concat),Jg=Ng([].push),Xg=Ng("".indexOf),$g=Ng("".slice),Qg=function(e){return void 0===e?e:String(e)},Zg="$0"==="a".replace(/./,"$0"),eE=!!/./[zg]&&""===/./[zg]("a","$0");kg("replace",function(e,t,r){var i=eE?"$":"$0";return[function(e,r){var i=Fg(this),o=Lg(e)?Hg(e,zg):void 0;return o?Dg(o,e,i,r):Dg(t,Vg(i),e,r)},function(e,o){var n=Mg(this),a=Vg(e);if("string"==typeof o&&-1===Xg(o,i)&&-1===Xg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=Pg(o);c||(o=Vg(o));var l,d=Vg(Gg(n)),u=-1!==Xg(d,"g");u&&(l=-1!==Xg(d,"u"),n.lastIndex=0);for(var h,p=[];null!==(h=jg(n,a))&&(Jg(p,h),u);){""===Vg(h[0])&&(n.lastIndex=Bg(a,Ug(n.lastIndex),l))}for(var m="",f=0,_=0;_<p.length;_++){for(var g,E=Vg((h=p[_])[0]),v=Kg(qg(xg(h.index),a.length),0),y=[],T=1;T<h.length;T++)Jg(y,Qg(h[T]));var I=h.groups;if(c){var A=Yg([E],y,v,a);void 0!==I&&Jg(A,I),g=Vg(Cg(o,void 0,A))}else g=Wg(E,a,v,y,I,o);v>=f&&(m+=$g(a,f,v)+g,f=v+E.length)}return m+$g(a,f)}]},!!Og(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})||!Zg||eE);var tE="\t\n\v\f\r \u2028\u2029\ufeff",rE=P,iE=po,oE=tE,nE=T("".replace),aE=RegExp("^["+oE+"]+"),sE=RegExp("(^|[^"+oE+"])["+oE+"]+$"),cE=function(e){return function(t){var r=iE(rE(t));return 1&e&&(r=nE(r,aE,"")),2&e&&(r=nE(r,sE,"$1")),r}},lE={start:cE(1),end:cE(2),trim:cE(3)},dE=er.PROPER,uE=o,hE=tE,pE=lE.trim;to({target:"String",proto:!0,forced:function(e){return uE(function(){return!!hE[e]()||"
"!=="
"[e]()||dE&&hE[e].name!==e})}("trim")},{trim:function(){return pE(this)}});var mE,fE,_E,gE={exports:{}},EE=Uc,vE=n,yE=r,TE=F,IE=H,AE=He,SE=lo,RE=pe,bE=qt,wE=$r,CE=_o,DE=z,NE=Sa,kE=ts,OE=tt,ME=Ke,PE=Cr.enforce,LE=Cr.get,xE=yE.Int8Array,UE=xE&&xE.prototype,VE=yE.Uint8ClampedArray,FE=VE&&VE.prototype,BE=xE&&NE(xE),HE=UE&&NE(UE),WE=Object.prototype,GE=yE.TypeError,jE=OE("toStringTag"),zE=ME("TYPED_ARRAY_TAG"),KE="TypedArrayConstructor",qE=EE&&!!kE&&"Opera"!==SE(yE.opera),YE=!1,JE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},XE={BigInt64Array:8,BigUint64Array:8},$E=function(e){var t=NE(e);if(IE(t)){var r=LE(t);return r&&AE(r,KE)?r[KE]:$E(t)}},QE=function(e){if(!IE(e))return!1;var t=SE(e);return AE(JE,t)||AE(XE,t)};for(mE in JE)(_E=(fE=yE[mE])&&fE.prototype)?PE(_E)[KE]=fE:qE=!1;for(mE in XE)(_E=(fE=yE[mE])&&fE.prototype)&&(PE(_E)[KE]=fE);if((!qE||!TE(BE)||BE===Function.prototype)&&(BE=function(){throw new GE("Incorrect invocation")},qE))for(mE in JE)yE[mE]&&kE(yE[mE],BE);if((!qE||!HE||HE===WE)&&(HE=BE.prototype,qE))for(mE in JE)yE[mE]&&kE(yE[mE].prototype,HE);if(qE&&NE(FE)!==HE&&kE(FE,HE),vE&&!AE(HE,jE))for(mE in YE=!0,CE(HE,jE,{configurable:!0,get:function(){return IE(this)?this[zE]:void 0}}),JE)yE[mE]&&bE(yE[mE],zE,mE);var ZE={NATIVE_ARRAY_BUFFER_VIEWS:qE,TYPED_ARRAY_TAG:YE&&zE,aTypedArray:function(e){if(QE(e))return e;throw new GE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(TE(e)&&(!kE||DE(BE,e)))return e;throw new GE(RE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(vE){if(r)for(var o in JE){var n=yE[o];if(n&&AE(n.prototype,e))try{delete n.prototype[e]}catch(kj){try{n.prototype[e]=t}catch(a){}}}HE[e]&&!r||wE(HE,e,r?t:qE&&UE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(vE){if(kE){if(r)for(i in JE)if((o=yE[i])&&AE(o,e))try{delete o[e]}catch(kj){}if(BE[e]&&!r)return;try{return wE(BE,e,r?t:qE&&BE[e]||t)}catch(kj){}}for(i in JE)!(o=yE[i])||o[e]&&!r||wE(o,e,t)}},getTypedArrayConstructor:$E,isView:function(e){if(!IE(e))return!1;var t=SE(e);return"DataView"===t||AE(JE,t)||AE(XE,t)},isTypedArray:QE,TypedArray:BE,TypedArrayPrototype:HE},ev=r,tv=o,rv=lm,iv=ZE.NATIVE_ARRAY_BUFFER_VIEWS,ov=ev.ArrayBuffer,nv=ev.Int8Array,av=!iv||!tv(function(){nv(1)})||!tv(function(){new nv(-1)})||!rv(function(e){new nv,new nv(null),new nv(1.5),new nv(e)},!0)||tv(function(){return 1!==new nv(new ov(2),1,void 0).length}),sv=H,cv=Math.floor,lv=Number.isInteger||function(e){return!sv(e)&&isFinite(e)&&cv(e)===e},dv=ii,uv=RangeError,hv=function(e){var t=dv(e);if(t<0)throw new uv("The argument can't be less than 0");return t},pv=RangeError,mv=function(e,t){var r=hv(e);if(r%t)throw new pv("Wrong offset");return r},fv=Math.round,_v=lo,gv=lt,Ev=TypeError,vv=function(e){var t=gv(e,"number");if("number"==typeof t)throw new Ev("Can't convert number to bigint");return BigInt(t)},yv=Zo,Tv=l,Iv=jd,Av=Ve,Sv=hi,Rv=Bp,bv=Mp,wv=wp,Cv=function(e){var t=_v(e);return"BigInt64Array"===t||"BigUint64Array"===t},Dv=ZE.aTypedArrayConstructor,Nv=vv,kv=Zo,Ov=N,Mv=Ve,Pv=hi,Lv=bn,xv=T([].push),Uv=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,d,u){for(var h,p,m=Mv(c),f=Ov(m),_=Pv(f),g=kv(l,d),E=0,v=u||Lv,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:xv(y,h)}else switch(e){case 4:return!1;case 7:xv(y,h)}return n?-1:i||o?o:y}},Vv={forEach:Uv(0),map:Uv(1),filter:Uv(2),some:Uv(3),every:Uv(4),find:Uv(5),findIndex:Uv(6),filterReject:Uv(7)},Fv=hi,Bv=to,Hv=r,Wv=l,Gv=n,jv=av,zv=ZE,Kv=_d,qv=Wc,Yv=_,Jv=qt,Xv=lv,$v=di,Qv=Kc,Zv=mv,ey=function(e){var t=fv(e);return t<0?0:t>255?255:255&t},ty=ht,ry=He,iy=lo,oy=H,ny=ue,ay=ia,sy=z,cy=ts,ly=Qr.f,dy=function(e){var t,r,i,o,n,a,s,c,l=Iv(this),d=Av(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=bv(d);if(m&&!wv(m))for(c=(s=Rv(d,m)).next,d=[];!(a=Tv(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=yv(h,arguments[2])),r=Sv(d),i=new(Dv(l))(r),o=Cv(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?Nv(n):+n;return i},uy=Vv.forEach,hy=Td,py=_o,my=Ct,fy=i,_y=function(e,t,r){for(var i=0,o=arguments.length>2?r:Fv(t),n=new e(o);o>i;)n[i]=t[i++];return n},gy=ml,Ey=Cr.get,vy=Cr.set,yy=Cr.enforce,Ty=my.f,Iy=fy.f,Ay=Hv.RangeError,Sy=Kv.ArrayBuffer,Ry=Sy.prototype,by=Kv.DataView,wy=zv.NATIVE_ARRAY_BUFFER_VIEWS,Cy=zv.TYPED_ARRAY_TAG,Dy=zv.TypedArray,Ny=zv.TypedArrayPrototype,ky=zv.isTypedArray,Oy="BYTES_PER_ELEMENT",My="Wrong length",Py=function(e,t){py(e,t,{configurable:!0,get:function(){return Ey(this)[t]}})},Ly=function(e){var t;return sy(Ry,e)||"ArrayBuffer"===(t=iy(e))||"SharedArrayBuffer"===t},xy=function(e,t){return ky(e)&&!ny(t)&&t in e&&Xv(+t)&&t>=0},Uy=function(e,t){return t=ty(t),xy(e,t)?Yv(2,e[t]):Iy(e,t)},Vy=function(e,t,r){return t=ty(t),!(xy(e,t)&&oy(r)&&ry(r,"value"))||ry(r,"get")||ry(r,"set")||r.configurable||ry(r,"writable")&&!r.writable||ry(r,"enumerable")&&!r.enumerable?Ty(e,t,r):(e[t]=r.value,e)};Gv?(wy||(fy.f=Uy,my.f=Vy,Py(Ny,"buffer"),Py(Ny,"byteOffset"),Py(Ny,"byteLength"),Py(Ny,"length")),Bv({target:"Object",stat:!0,forced:!wy},{getOwnPropertyDescriptor:Uy,defineProperty:Vy}),gE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=Hv[o],c=s,l=c&&c.prototype,d={},u=function(e,t){Ty(e,t,{get:function(){return function(e,t){var r=Ey(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=Ey(e);n.view[a](t*i+n.byteOffset,r?ey(o):o,!0)}(this,t,e)},enumerable:!0})};wy?jv&&(c=t(function(e,t,r,o){return qv(e,l),gy(oy(t)?Ly(t)?void 0!==o?new s(t,Zv(r,i),o):void 0!==r?new s(t,Zv(r,i)):new s(t):ky(t)?_y(c,t):Wv(dy,c,t):new s(Qv(t)),e,c)}),cy&&cy(c,Dy),uy(ly(s),function(e){e in c||Jv(c,e,s[e])}),c.prototype=l):(c=t(function(e,t,r,o){qv(e,l);var n,a,s,d=0,h=0;if(oy(t)){if(!Ly(t))return ky(t)?_y(c,t):Wv(dy,c,t);n=t,h=Zv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ay(My);if((a=p-h)<0)throw new Ay(My)}else if((a=$v(o)*i)+h>p)throw new Ay(My);s=a/i}else s=Qv(t),n=new Sy(a=s*i);for(vy(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new by(n)});d<s;)u(e,d++)}),cy&&cy(c,Dy),l=c.prototype=ay(Ny)),l.constructor!==c&&Jv(l,"constructor",c),yy(l).TypedArrayConstructor=c,Cy&&Jv(l,Cy,o);var h=c!==s;d[o]=c,Bv({global:!0,constructor:!0,forced:h,sham:!wy},d),Oy in c||Jv(c,Oy,i),Oy in l||Jv(l,Oy,i),hy(o)}):gE.exports=function(){};var Fy=gE.exports;Fy("Float32",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Float64",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Int8",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Int16",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Int32",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Uint8",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Uint8",function(e){return function(t,r,i){return e(this,t,r,i)}},!0),Fy("Uint16",function(e){return function(t,r,i){return e(this,t,r,i)}}),Fy("Uint32",function(e){return function(t,r,i){return e(this,t,r,i)}});var By=dl,Hy=vv,Wy=lo,Gy=l,jy=o,zy=ZE.aTypedArray,Ky=ZE.exportTypedArrayMethod,qy=T("".slice);Ky("fill",function(e){var t=arguments.length;zy(this);var r="Big"===qy(Wy(this),0,3)?Hy(e):+e;return Gy(By,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)},jy(function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e}));var Yy=r,Jy=l,Xy=ZE,$y=hi,Qy=mv,Zy=Ve,eT=o,tT=Yy.RangeError,rT=Yy.Int8Array,iT=rT&&rT.prototype,oT=iT&&iT.set,nT=Xy.aTypedArray,aT=Xy.exportTypedArrayMethod,sT=!eT(function(){var e=new Uint8ClampedArray(2);return Jy(oT,e,{length:1,0:3},1),3!==e[1]}),cT=sT&&Xy.NATIVE_ARRAY_BUFFER_VIEWS&&eT(function(){var e=new rT(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]});aT("set",function(e){nT(this);var t=Qy(arguments.length>1?arguments[1]:void 0,1),r=Zy(e);if(sT)return Jy(oT,this,r,t);var i=this.length,o=$y(r),n=0;if(o+t>i)throw new tT("Wrong length");for(;n<o;)this[t+n]=r[n++]},!sT||cT);var lT=Jo,dT=o,uT=ge,hT=dc,pT=hc,mT=pc,fT=te,_T=fc,gT=ZE.aTypedArray,ET=ZE.exportTypedArrayMethod,vT=r.Uint16Array,yT=vT&&lT(vT.prototype.sort),TT=!(!yT||dT(function(){yT(new vT(2),null)})&&dT(function(){yT(new vT(2),{})})),IT=!!yT&&!dT(function(){if(fT)return fT<74;if(pT)return pT<67;if(mT)return!0;if(_T)return _T<602;var e,t,r=new vT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(yT(r,function(e,t){return(e/4|0)-(t/4|0)}),e=0;e<516;e++)if(r[e]!==i[e])return!0});ET("sort",function(e){return void 0!==e&&uT(e),IT?yT(this,e):hT(gT(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))},!IT||TT);var AT=to,ST=l,RT=T,bT=P,wT=F,CT=H,DT=$m,NT=po,kT=ye,OT=uf,MT=Tg,PT=tt("replace"),LT=TypeError,xT=RT("".indexOf);RT("".replace);var UT=RT("".slice),VT=Math.max;AT({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=bT(this),h=0,p="";if(CT(e)){if(DT(e)&&(r=NT(bT(OT(e))),!~xT(r,"g")))throw new LT("`.replaceAll` does not allow non-global regexes");if(i=kT(e,PT))return ST(i,e,u,t)}for(o=NT(u),n=NT(e),(a=wT(t))||(t=NT(t)),s=n.length,c=VT(1,s),l=xT(o,n);-1!==l;)d=a?NT(t(n,l,o)):MT(n,o,l,[],void 0,t),p+=UT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:xT(o,n,l+c);return h<o.length&&(p+=UT(o,h)),p}});var FT={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},BT=_t("span").classList,HT=BT&&BT.constructor&&BT.constructor.prototype,WT=HT===Object.prototype?void 0:HT,GT=Vv.forEach,jT=zs("forEach")?[].forEach:function(e){return GT(this,e,arguments.length>1?arguments[1]:void 0)},zT=r,KT=FT,qT=WT,YT=jT,JT=qt,XT=function(e){if(e&&e.forEach!==YT)try{JT(e,"forEach",YT)}catch(kj){e.forEach=YT}};for(var $T in KT)KT[$T]&&XT(zT[$T]&&zT[$T].prototype);XT(qT);var QT=r,ZT=FT,eI=WT,tI=Ps,rI=qt,iI=Ua,oI=tt("iterator"),nI=tI.values,aI=function(e,t){if(e){if(e[oI]!==nI)try{rI(e,oI,nI)}catch(kj){e[oI]=nI}if(iI(e,t,!0),ZT[t])for(var r in tI)if(e[r]!==tI[r])try{rI(e,r,tI[r])}catch(kj){e[r]=tI[r]}}};for(var sI in ZT)aI(QT[sI]&&QT[sI].prototype,sI);aI(eI,"DOMTokenList");var cI=Nu.clear;to({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==cI},{clearImmediate:cI});var lI=r,dI=eu,uI=F,hI=Xs,pI=Y,mI=ac,fI=ru,_I=lI.Function,gI=/MSIE .\./.test(pI)||"BUN"===hI&&function(){var e=lI.Bun.version.split(".");return e.length<3||"0"===e[0]&&(e[1]<3||"3"===e[1]&&"0"===e[2])}(),EI=to,vI=r,yI=Nu.set,TI=function(e,t){var r=t?2:1;return gI?function(i,o){var n=fI(arguments.length,1)>r,a=uI(i)?i:_I(i),s=n?mI(arguments,r):[],c=n?function(){dI(a,this,s)}:a;return t?e(c,o):e(c)}:e},II=vI.setImmediate?TI(yI,!1):yI;EI({global:!0,bind:!0,enumerable:!0,forced:vI.setImmediate!==II},{setImmediate:II});var AI=ug.charAt,SI=po,RI=Cr,bI=Ts,wI=Is,CI="String Iterator",DI=RI.set,NI=RI.getterFor(CI);bI(String,"String",function(e){DI(this,{type:CI,string:SI(e),index:0})},function(){var e,t=NI(this),r=t.string,i=t.index;return i>=r.length?wI(void 0,!0):(e=AI(r,i),t.index+=e.length,wI(e,!1))});var kI=o,OI=n,MI=tt("iterator"),PI=!kI(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&&!OI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[MI]||"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}),LI=n,xI=T,UI=l,VI=o,FI=Ln,BI=wi,HI=d,WI=Ve,GI=N,jI=Object.assign,zI=Object.defineProperty,KI=xI([].concat),qI=!jI||VI(function(){if(LI&&1!==jI({b:1},jI(zI({},"a",{enumerable:!0,get:function(){zI(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!==jI({},e)[r]||FI(jI({},t)).join("")!==i})?function(e,t){for(var r=WI(e),i=arguments.length,o=1,n=BI.f,a=HI.f;i>o;)for(var s,c=GI(arguments[o++]),l=n?KI(FI(c),n(c)):FI(c),d=l.length,u=0;d>u;)s=l[u++],LI&&!UI(a,c,s)||(r[s]=c[s]);return r}:jI,YI=Mt,JI=jp,XI=n,$I=Ct,QI=_,ZI=Zo,eA=l,tA=Ve,rA=function(e,t,r,i){try{return i?t(YI(r)[0],r[1]):t(r)}catch(kj){JI(e,"throw",kj)}},iA=wp,oA=vn,nA=hi,aA=function(e,t,r){XI?$I.f(e,t,QI(0,r)):e[t]=r},sA=Bp,cA=Mp,lA=Array,dA=T,uA=2147483647,hA=/[^\0-\u007E]/,pA=/[.\u3002\uFF0E\uFF61]/g,mA="Overflow: input needs wider integers to process",fA=RangeError,_A=dA(pA.exec),gA=Math.floor,EA=String.fromCharCode,vA=dA("".charCodeAt),yA=dA([].join),TA=dA([].push),IA=dA("".replace),AA=dA("".split),SA=dA("".toLowerCase),RA=function(e){return e+22+75*(e<26)},bA=function(e,t,r){var i=0;for(e=r?gA(e/700):e>>1,e+=gA(e/t);e>455;)e=gA(e/35),i+=36;return gA(i+36*e/(e+38))},wA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=vA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=vA(e,r++);56320==(64512&n)?TA(t,((1023&o)<<10)+(1023&n)+65536):(TA(t,o),r--)}else TA(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&&TA(t,EA(i));var c=t.length,l=c;for(c&&TA(t,"-");l<o;){var d=uA;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>gA((uA-a)/u))throw new fA(mA);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>uA)throw new fA(mA);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;TA(t,EA(RA(m+f%_))),h=gA(f/_),p+=36}TA(t,EA(RA(h))),s=bA(a,u,l===c),a=0,l++}}a++,n++}return yA(t,"")},CA=to,DA=T,NA=si,kA=RangeError,OA=String.fromCharCode,MA=String.fromCodePoint,PA=DA([].join);CA({target:"String",stat:!0,arity:1,forced:!!MA&&1!==MA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],NA(t,1114111)!==t)throw new kA(t+" is not a valid code point");r[o]=t<65536?OA(t):OA(55296+((t-=65536)>>10),t%1024+56320)}return PA(r,"")}});var LA=to,xA=r,UA=Pu,VA=j,FA=l,BA=T,HA=n,WA=PI,GA=$r,jA=_o,zA=Fc,KA=Ua,qA=ja,YA=Cr,JA=Wc,XA=F,$A=He,QA=Zo,ZA=lo,eS=Mt,tS=H,rS=po,iS=ia,oS=_,nS=Bp,aS=Mp,sS=Is,cS=ru,lS=dc,dS=tt("iterator"),uS="URLSearchParams",hS=uS+"Iterator",pS=YA.set,mS=YA.getterFor(uS),fS=YA.getterFor(hS),_S=UA("fetch"),gS=UA("Request"),ES=UA("Headers"),vS=gS&&gS.prototype,yS=ES&&ES.prototype,TS=xA.TypeError,IS=xA.encodeURIComponent,AS=String.fromCharCode,SS=VA("String","fromCodePoint"),RS=parseInt,bS=BA("".charAt),wS=BA([].join),CS=BA([].push),DS=BA("".replace),NS=BA([].shift),kS=BA([].splice),OS=BA("".split),MS=BA("".slice),PS=BA(/./.exec),LS=/\+/g,xS=/^[0-9a-f]+$/i,US=function(e,t){var r=MS(e,t,t+2);return PS(xS,r)?RS(r,16):NaN},VS=function(e){for(var t=0,r=128;r>0&&0!==(e&r);r>>=1)t++;return t},FS=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},BS=function(e){for(var t=(e=DS(e,LS," ")).length,r="",i=0;i<t;){var o=bS(e,i);if("%"===o){if("%"===bS(e,i+1)||i+3>t){r+="%",i++;continue}var n=US(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=VS(n);if(0===a)o=AS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==bS(e,i));){var l=US(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;CS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=FS(s);null===d?r+="�":o=SS(d)}}r+=o,i++}return r},HS=/[!'()~]|%20/g,WS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},GS=function(e){return WS[e]},jS=function(e){return DS(IS(e),HS,GS)},zS=qA(function(e,t){pS(this,{type:hS,target:mS(e).entries,index:0,kind:t})},uS,function(){var e=fS(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,sS(void 0,!0);var i=t[r];switch(e.kind){case"keys":return sS(i.key,!1);case"values":return sS(i.value,!1)}return sS([i.key,i.value],!1)},!0),KS=function(e){this.entries=[],this.url=null,void 0!==e&&(tS(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===bS(e,0)?MS(e,1):e:rS(e)))};KS.prototype={type:uS,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=aS(e);if(l)for(r=(t=nS(e,l)).next;!(i=FA(r,t)).done;){if(n=(o=nS(eS(i.value))).next,(a=FA(n,o)).done||(s=FA(n,o)).done||!FA(n,o).done)throw new TS("Expected sequence with length 2");CS(c,{key:rS(a.value),value:rS(s.value)})}else for(var d in e)$A(e,d)&&CS(c,{key:d,value:rS(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=OS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=OS(t,"="),CS(i,{key:BS(NS(r)),value:BS(wS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],CS(r,jS(e.key)+"="+jS(e.value));return wS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var qS=function(){JA(this,YS);var e=pS(this,new KS(arguments.length>0?arguments[0]:void 0));HA||(this.size=e.entries.length)},YS=qS.prototype;if(zA(YS,{append:function(e,t){var r=mS(this);cS(arguments.length,2),CS(r.entries,{key:rS(e),value:rS(t)}),HA||this.length++,r.updateURL()},delete:function(e){for(var t=mS(this),r=cS(arguments.length,1),i=t.entries,o=rS(e),n=r<2?void 0:arguments[1],a=void 0===n?n:rS(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(kS(i,s,1),void 0!==a)break}HA||(this.size=i.length),t.updateURL()},get:function(e){var t=mS(this).entries;cS(arguments.length,1);for(var r=rS(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=mS(this).entries;cS(arguments.length,1);for(var r=rS(e),i=[],o=0;o<t.length;o++)t[o].key===r&&CS(i,t[o].value);return i},has:function(e){for(var t=mS(this).entries,r=cS(arguments.length,1),i=rS(e),o=r<2?void 0:arguments[1],n=void 0===o?o:rS(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=mS(this);cS(arguments.length,1);for(var i,o=r.entries,n=!1,a=rS(e),s=rS(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?kS(o,c--,1):(n=!0,i.value=s));n||CS(o,{key:a,value:s}),HA||(this.size=o.length),r.updateURL()},sort:function(){var e=mS(this);lS(e.entries,function(e,t){return e.key>t.key?1:-1}),e.updateURL()},forEach:function(e){for(var t,r=mS(this).entries,i=QA(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 zS(this,"keys")},values:function(){return new zS(this,"values")},entries:function(){return new zS(this,"entries")}},{enumerable:!0}),GA(YS,dS,YS.entries,{name:"entries"}),GA(YS,"toString",function(){return mS(this).serialize()},{enumerable:!0}),HA&&jA(YS,"size",{get:function(){return mS(this).entries.length},configurable:!0,enumerable:!0}),KA(qS,uS),LA({global:!0,constructor:!0,forced:!WA},{URLSearchParams:qS}),!WA&&XA(ES)){var JS=BA(yS.has),XS=BA(yS.set),$S=function(e){if(tS(e)){var t,r=e.body;if(ZA(r)===uS)return t=e.headers?new ES(e.headers):new ES,JS(t,"content-type")||XS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),iS(e,{body:oS(0,rS(r)),headers:oS(0,t)})}return e};if(XA(_S)&&LA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return _S(e,arguments.length>1?$S(arguments[1]):{})}}),XA(gS)){var QS=function(e){return JA(this,vS),new gS(e,arguments.length>1?$S(arguments[1]):{})};vS.constructor=QS,QS.prototype=vS,LA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:QS})}}var ZS,eR=to,tR=n,rR=PI,iR=r,oR=Zo,nR=T,aR=$r,sR=_o,cR=Wc,lR=He,dR=qI,uR=function(e){var t=tA(e),r=oA(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=ZI(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=cA(t),p=0;if(!h||this===lA&&iA(h))for(a=nA(t),s=r?new this(a):lA(a);a>p;p++)u=n?o(t[p],p):t[p],aA(s,p,u);else for(s=r?new this:[],d=(l=sA(t,h)).next;!(c=eA(d,l)).done;p++)u=n?rA(l,o,[c.value,p],!0):c.value,aA(s,p,u);return s.length=p,s},hR=ac,pR=ug.codeAt,mR=function(e){var t,r,i=[],o=AA(IA(SA(e),pA,"."),".");for(t=0;t<o.length;t++)r=o[t],TA(i,_A(hA,r)?"xn--"+wA(r):r);return yA(i,".")},fR=po,_R=Ua,gR=ru,ER={URLSearchParams:qS,getState:mS},vR=Cr,yR=vR.set,TR=vR.getterFor("URL"),IR=ER.URLSearchParams,AR=ER.getState,SR=iR.URL,RR=iR.TypeError,bR=iR.parseInt,wR=Math.floor,CR=Math.pow,DR=nR("".charAt),NR=nR(/./.exec),kR=nR([].join),OR=nR(1.1.toString),MR=nR([].pop),PR=nR([].push),LR=nR("".replace),xR=nR([].shift),UR=nR("".split),VR=nR("".slice),FR=nR("".toLowerCase),BR=nR([].unshift),HR="Invalid scheme",WR="Invalid host",GR="Invalid port",jR=/[a-z]/i,zR=/[\d+-.a-z]/i,KR=/\d/,qR=/^0x/i,YR=/^[0-7]+$/,JR=/^\d+$/,XR=/^[\da-f]+$/i,$R=/[\0\t\n\r #%/:<>?@[\\\]^|]/,QR=/[\0\t\n\r #/:<>?@[\\\]^|]/,ZR=/^[\u0000-\u0020]+/,eb=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,tb=/[\t\n\r]/g,rb=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)BR(t,e%256),e=wR(e/256);return kR(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+=OR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},ib={},ob=dR({},ib,{" ":1,'"':1,"<":1,">":1,"`":1}),nb=dR({},ob,{"#":1,"?":1,"{":1,"}":1}),ab=dR({},nb,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),sb=function(e,t){var r=pR(e,0);return r>32&&r<127&&!lR(t,e)?e:encodeURIComponent(e)},cb={ftp:21,file:null,http:80,https:443,ws:80,wss:443},lb=function(e,t){var r;return 2===e.length&&NR(jR,DR(e,0))&&(":"===(r=DR(e,1))||!t&&"|"===r)},db=function(e){var t;return e.length>1&&lb(VR(e,0,2))&&(2===e.length||"/"===(t=DR(e,2))||"\\"===t||"?"===t||"#"===t)},ub=function(e){return"."===e||"%2e"===FR(e)},hb=function(e){return".."===(e=FR(e))||"%2e."===e||".%2e"===e||"%2e%2e"===e},pb={},mb={},fb={},_b={},gb={},Eb={},vb={},yb={},Tb={},Ib={},Ab={},Sb={},Rb={},bb={},wb={},Cb={},Db={},Nb={},kb={},Ob={},Mb={},Pb=function(e,t,r){var i,o,n,a=fR(e);if(t){if(o=this.parse(a))throw new RR(o);this.searchParams=null}else{if(void 0!==r&&(i=new Pb(r,!0)),o=this.parse(a,null,i))throw new RR(o);(n=AR(new IR)).bindURL(this),this.searchParams=n}};Pb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s=this,c=t||pb,l=0,d="",u=!1,h=!1,p=!1;for(e=fR(e),t||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,e=LR(e,ZR,""),e=LR(e,eb,"$1")),e=LR(e,tb,""),i=uR(e);l<=i.length;){switch(o=i[l],c){case pb:if(!o||!NR(jR,o)){if(t)return HR;c=fb;continue}d+=FR(o),c=mb;break;case mb:if(o&&(NR(zR,o)||"+"===o||"-"===o||"."===o))d+=FR(o);else{if(":"!==o){if(t)return HR;d="",c=fb,l=0;continue}if(t&&(s.isSpecial()!==lR(cb,d)||"file"===d&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=d,t)return void(s.isSpecial()&&cb[s.scheme]===s.port&&(s.port=null));d="","file"===s.scheme?c=bb:s.isSpecial()&&r&&r.scheme===s.scheme?c=_b:s.isSpecial()?c=yb:"/"===i[l+1]?(c=gb,l++):(s.cannotBeABaseURL=!0,PR(s.path,""),c=kb)}break;case fb:if(!r||r.cannotBeABaseURL&&"#"!==o)return HR;if(r.cannotBeABaseURL&&"#"===o){s.scheme=r.scheme,s.path=hR(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Mb;break}c="file"===r.scheme?bb:Eb;continue;case _b:if("/"!==o||"/"!==i[l+1]){c=Eb;continue}c=Tb,l++;break;case gb:if("/"===o){c=Ib;break}c=Nb;continue;case Eb:if(s.scheme=r.scheme,o===ZS)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=hR(r.path),s.query=r.query;else if("/"===o||"\\"===o&&s.isSpecial())c=vb;else if("?"===o)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=hR(r.path),s.query="",c=Ob;else{if("#"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=hR(r.path),s.path.length--,c=Nb;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=hR(r.path),s.query=r.query,s.fragment="",c=Mb}break;case vb:if(!s.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=Nb;continue}c=Ib}else c=Tb;break;case yb:if(c=Tb,"/"!==o||"/"!==DR(d,l+1))continue;l++;break;case Tb:if("/"!==o&&"\\"!==o){c=Ib;continue}break;case Ib:if("@"===o){u&&(d="%40"+d),u=!0,n=uR(d);for(var m=0;m<n.length;m++){var f=n[m];if(":"!==f||p){var _=sb(f,ab);p?s.password+=_:s.username+=_}else p=!0}d=""}else if(o===ZS||"/"===o||"?"===o||"#"===o||"\\"===o&&s.isSpecial()){if(u&&""===d)return"Invalid authority";l-=uR(d).length+1,d="",c=Ab}else d+=o;break;case Ab:case Sb:if(t&&"file"===s.scheme){c=Cb;continue}if(":"!==o||h){if(o===ZS||"/"===o||"?"===o||"#"===o||"\\"===o&&s.isSpecial()){if(s.isSpecial()&&""===d)return WR;if(t&&""===d&&(s.includesCredentials()||null!==s.port))return;if(a=s.parseHost(d))return a;if(d="",c=Db,t)return;continue}"["===o?h=!0:"]"===o&&(h=!1),d+=o}else{if(""===d)return WR;if(a=s.parseHost(d))return a;if(d="",c=Rb,t===Sb)return}break;case Rb:if(!NR(KR,o)){if(o===ZS||"/"===o||"?"===o||"#"===o||"\\"===o&&s.isSpecial()||t){if(""!==d){var g=bR(d,10);if(g>65535)return GR;s.port=s.isSpecial()&&g===cb[s.scheme]?null:g,d=""}if(t)return;c=Db;continue}return GR}d+=o;break;case bb:if(s.scheme="file","/"===o||"\\"===o)c=wb;else{if(!r||"file"!==r.scheme){c=Nb;continue}switch(o){case ZS:s.host=r.host,s.path=hR(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=hR(r.path),s.query="",c=Ob;break;case"#":s.host=r.host,s.path=hR(r.path),s.query=r.query,s.fragment="",c=Mb;break;default:db(kR(hR(i,l),""))||(s.host=r.host,s.path=hR(r.path),s.shortenPath()),c=Nb;continue}}break;case wb:if("/"===o||"\\"===o){c=Cb;break}r&&"file"===r.scheme&&!db(kR(hR(i,l),""))&&(lb(r.path[0],!0)?PR(s.path,r.path[0]):s.host=r.host),c=Nb;continue;case Cb:if(o===ZS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&lb(d))c=Nb;else if(""===d){if(s.host="",t)return;c=Db}else{if(a=s.parseHost(d))return a;if("localhost"===s.host&&(s.host=""),t)return;d="",c=Db}continue}d+=o;break;case Db:if(s.isSpecial()){if(c=Nb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==ZS&&(c=Nb,"/"!==o))continue}else s.fragment="",c=Mb;else s.query="",c=Ob;break;case Nb:if(o===ZS||"/"===o||"\\"===o&&s.isSpecial()||!t&&("?"===o||"#"===o)){if(hb(d)?(s.shortenPath(),"/"===o||"\\"===o&&s.isSpecial()||PR(s.path,"")):ub(d)?"/"===o||"\\"===o&&s.isSpecial()||PR(s.path,""):("file"===s.scheme&&!s.path.length&&lb(d)&&(s.host&&(s.host=""),d=DR(d,0)+":"),PR(s.path,d)),d="","file"===s.scheme&&(o===ZS||"?"===o||"#"===o))for(;s.path.length>1&&""===s.path[0];)xR(s.path);"?"===o?(s.query="",c=Ob):"#"===o&&(s.fragment="",c=Mb)}else d+=sb(o,nb);break;case kb:"?"===o?(s.query="",c=Ob):"#"===o?(s.fragment="",c=Mb):o!==ZS&&(s.path[0]+=sb(o,ib));break;case Ob:t||"#"!==o?o!==ZS&&("'"===o&&s.isSpecial()?s.query+="%27":s.query+="#"===o?"%23":sb(o,ib)):(s.fragment="",c=Mb);break;case Mb:o!==ZS&&(s.fragment+=sb(o,ob))}l++}},parseHost:function(e){var t,r,i;if("["===DR(e,0)){if("]"!==DR(e,e.length-1))return WR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return DR(e,u)};if(":"===h()){if(":"!==DR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&NR(XR,h());)t=16*t+bR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!NR(KR,h()))return;for(;NR(KR,h());){if(n=bR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!==++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(VR(e,1,-1)),!t)return WR;this.host=t}else if(this.isSpecial()){if(e=mR(e),NR($R,e))return WR;if(t=function(e){var t,r,i,o,n,a,s,c=UR(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"===DR(o,0)&&(n=NR(qR,o)?16:8,o=VR(o,8===n?1:2)),""===o)a=0;else{if(!NR(10===n?JR:8===n?YR:XR,o))return e;a=bR(o,n)}PR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=CR(256,5-t))return null}else if(a>255)return null;for(s=MR(r),i=0;i<r.length;i++)s+=r[i]*CR(256,3-i);return s}(e),null===t)return WR;this.host=t}else{if(NR(QR,e))return WR;for(t="",r=uR(e),i=0;i<r.length;i++)t+=sb(r[i],ib);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return lR(cb,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&lb(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+=rb(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+kR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new RR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new Lb(e.path[0]).origin}catch(kj){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+rb(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(fR(e)+":",pb)},getUsername:function(){return this.username},setUsername:function(e){var t=uR(fR(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=sb(t[r],ab)}},getPassword:function(){return this.password},setPassword:function(e){var t=uR(fR(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=sb(t[r],ab)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?rb(e):rb(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,Ab)},getHostname:function(){var e=this.host;return null===e?"":rb(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,Sb)},getPort:function(){var e=this.port;return null===e?"":fR(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=fR(e))?this.port=null:this.parse(e,Rb))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+kR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,Db))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=fR(e))?this.query=null:("?"===DR(e,0)&&(e=VR(e,1)),this.query="",this.parse(e,Ob)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=fR(e))?("#"===DR(e,0)&&(e=VR(e,1)),this.fragment="",this.parse(e,Mb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Lb=function(e){var t=cR(this,xb),r=gR(arguments.length,1)>1?arguments[1]:void 0,i=yR(t,new Pb(e,!1,r));tR||(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())},xb=Lb.prototype,Ub=function(e,t){return{get:function(){return TR(this)[e]()},set:t&&function(e){return TR(this)[t](e)},configurable:!0,enumerable:!0}};if(tR&&(sR(xb,"href",Ub("serialize","setHref")),sR(xb,"origin",Ub("getOrigin")),sR(xb,"protocol",Ub("getProtocol","setProtocol")),sR(xb,"username",Ub("getUsername","setUsername")),sR(xb,"password",Ub("getPassword","setPassword")),sR(xb,"host",Ub("getHost","setHost")),sR(xb,"hostname",Ub("getHostname","setHostname")),sR(xb,"port",Ub("getPort","setPort")),sR(xb,"pathname",Ub("getPathname","setPathname")),sR(xb,"search",Ub("getSearch","setSearch")),sR(xb,"searchParams",Ub("getSearchParams")),sR(xb,"hash",Ub("getHash","setHash"))),aR(xb,"toJSON",function(){return TR(this).serialize()},{enumerable:!0}),aR(xb,"toString",function(){return TR(this).serialize()},{enumerable:!0}),SR){var Vb=SR.createObjectURL,Fb=SR.revokeObjectURL;Vb&&aR(Lb,"createObjectURL",oR(Vb,SR)),Fb&&aR(Lb,"revokeObjectURL",oR(Fb,SR))}_R(Lb,"URL"),eR({global:!0,constructor:!0,forced:!rR,sham:!tR},{URL:Lb});var Bb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Bb(URL.prototype.toString,this)}});var Hb,Wb=Object.create,Gb=Object.defineProperty,jb=Object.defineProperties,zb=Object.getOwnPropertyDescriptor,Kb=Object.getOwnPropertyDescriptors,qb=Object.getOwnPropertyNames,Yb=Object.getOwnPropertySymbols,Jb=Object.getPrototypeOf,Xb=Object.prototype.hasOwnProperty,$b=Object.prototype.propertyIsEnumerable,Qb=Reflect.get,Zb=Math.pow,ew=(e,t,r)=>t in e?Gb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tw=(e,t)=>{for(var r in t||(t={}))Xb.call(t,r)&&ew(e,r,t[r]);if(Yb)for(var r of Yb(t))$b.call(t,r)&&ew(e,r,t[r]);return e},rw=(e,t)=>jb(e,Kb(t)),iw=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ow=(e,t)=>{for(var r in t)Gb(e,r,{get:t[r],enumerable:!0})},nw=(e,t,r)=>(r=null!=e?Wb(Jb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of qb(t))!Xb.call(e,o)&&o!==r&&Gb(e,o,{get:()=>t[o],enumerable:!(i=zb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Gb(r,"default",{value:e,enumerable:!0}),e)),aw=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?zb(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&&Gb(t,r,n),n},sw=(e,t,r)=>ew(e,"symbol"!=typeof t?t+"":t,r),cw=(e,t,r)=>Qb(Jb(e),r,t),lw=(e,t,r)=>new Promise((i,o)=>{var n=e=>{try{s(r.next(e))}catch(rM){o(rM)}},a=e=>{try{s(r.throw(e))}catch(rM){o(rM)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())}),dw=iw((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,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[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=[],d=a.length;c<d;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)}),uw=iw((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")})})}),hw=iw(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=uw(),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}})})}}),pw=iw((e,t)=>{var r=uw(),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"}}),mw=iw(e=>{var t=hw(),r=pw(),i=uw();e.grammar=i,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}),fw=((Hb=fw||{})[Hb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",Hb[Hb.INVALID_OPERATION=4097]="INVALID_OPERATION",Hb[Hb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",Hb[Hb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",Hb[Hb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",Hb[Hb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",Hb[Hb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",Hb[Hb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",Hb[Hb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",Hb[Hb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",Hb[Hb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",Hb[Hb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",Hb[Hb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",Hb[Hb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",Hb[Hb.CLIENT_BANNED=16448]="CLIENT_BANNED",Hb[Hb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",Hb[Hb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",Hb[Hb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",Hb[Hb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",Hb[Hb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",Hb[Hb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",Hb[Hb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",Hb[Hb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",Hb[Hb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",Hb[Hb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",Hb[Hb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",Hb[Hb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",Hb[Hb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",Hb[Hb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",Hb[Hb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",Hb[Hb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",Hb[Hb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",Hb[Hb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",Hb[Hb.UNKNOWN=65535]="UNKNOWN",Hb),_w=fw,gw=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=_w.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in _w)if(_w[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),sw(this,"code"),sw(this,"extraCode"),sw(this,"message"),sw(this,"originMessage"),sw(this,"name"),sw(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}},Ew=gw,vw=function(){return 0},yw=function(){return Date.now()+0},Tw=function(){let e=new Date;return e.setTime(yw()),e.toLocaleString()},Iw=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)},Aw={};ow(Aw,{REPORT_TYPE:()=>ON,buildSSOPackage:()=>MN,bytes2ms:()=>MD,calculateScaleResolutionDownNumber:()=>CN,concatArrayBuffers:()=>PN,convertObjectNumberToInt:()=>AN,copyProperties:()=>OD,deepClone:()=>pN,deepCloneBasic:()=>kN,deepMerge:()=>hN,delay:()=>SN,fibonacci:()=>BD,formatedTime:()=>_N,getConstructorName:()=>eN,getContainerFromElement:()=>fN,getEnv:()=>SD,getFirst16Bits:()=>xN,getInternalVersion:()=>aN,getLast16Bits:()=>LN,getLoggerUrl:()=>bD,getMediaStreamTrackInfo:()=>wN,getMuteStateFromFlag:()=>lN,getNetworkType:()=>CD,getNumNetworkType:()=>kD,getReconnectionTimeout:()=>HD,getStringByteLength:()=>vN,getTurnServer:()=>dN,getUint32Version:()=>IN,getValueType:()=>WD,getViewListFromView:()=>mN,glog:()=>UD,ipv4ToUint32:()=>uN,isArray:()=>JD,isAudioWorkletSupported:()=>tN,isBoolean:()=>qD,isConstructor:()=>ZD,isEmpty:()=>cN,isFunction:()=>GD,isLangChinese:()=>VD,isMediaStreamTrack:()=>XD,isNumber:()=>KD,isObject:()=>YD,isOverseaSdkAppId:()=>RD,isPlainObject:()=>FD,isPortrait:()=>yN,isPromise:()=>QD,isRemoteTrack:()=>$D,isRotate90Or270:()=>DN,isSetSinkIdSupported:()=>rN,isString:()=>zD,isUndefined:()=>jD,loadImage:()=>TN,loadVideo:()=>NN,ms2bytes:()=>LD,ms2samples:()=>xD,normalizeUrl:()=>bN,performanceNow:()=>oN,promiseAny:()=>iN,samples2ms:()=>PD,setNetworkType:()=>ND,stringify:()=>gN,stringifyIncludeValue:()=>EN,throttlePromise:()=>RN});var Sw={};ow(Sw,{AUDIO_MUTE_BIT:()=>dC,AUDIO_STAT_BIT:()=>lC,AUX_STAT_BIT:()=>cC,AUX_STREAM_MSID:()=>fC,BACKEND_ENV:()=>oC,BASE_DOC_URL:()=>Fw,BASE_HOST:()=>Lw,CAPABILITIES_KEYS:()=>rD,CLASS_NAME:()=>qC,CLOUD_CONSOLE_URL:()=>Vw,CROSS_ROOM_BIT:()=>pC,DATA_FREEZE_TIMING:()=>BC,DOC_URL:()=>Bw,DTLS_STATE_UNKNOWN:()=>RC,ENV_NAME:()=>zw,EXCHANGE_SDP_TIMEOUT:()=>LC,IS_WORKER:()=>Nw,IS_WORKLET:()=>kw,KIBANA_EVENT:()=>OC,LOCAL_STREAM_PUBLISH_STATE:()=>FC,LOGGER_CMD_TYPE:()=>jw,LOGGER_DOMAIN:()=>Hw,LOGGER_DOMAIN_OVERSEA:()=>Ww,LOG_LEVEL:()=>Kw,LOG_LEVEL_NAME:()=>QC,MAIN_STREAM_MSID:()=>mC,MAX_RTT:()=>iD,MICROPHONE_COMMUNICATIONS:()=>$C,MICROPHONE_DEFAULT:()=>JC,MUTE_ALL_BIT:()=>hC,NAME:()=>rC,NETWORK_TYPE:()=>Jw,NOT_SUPPORTED_H264:()=>VC,PAUSED_RETRY_COUNT:()=>YC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>jC,PEER_CONNECTION_STATE:()=>bC,PEER_LEAVE_REASON:()=>ZC,RECOVER_CAPTURE_INTERVAL:()=>tD,REMOTE_STREAM_TYPE_AUX:()=>gC,REMOTE_STREAM_TYPE_MAIN:()=>_C,RENDER_FREEZE_TIMING:()=>HC,SCHEDULE_DOMAIN:()=>zC,SCHEDULE_TIMEOUT:()=>KC,SDP_SEMANTICS_PLAN_B:()=>UC,SDP_SEMANTICS_UNIFIED_PLAN:()=>xC,SECOND_HOST:()=>xw,SIGNAL_PING_PONG_INTERVAL:()=>Yw,SIGNAL_PING_TIMEOUT:()=>qw,SIGNAL_RECONNECTION_COUNT:()=>kC,SMALL_STAT_BIT:()=>sC,SPEAKER_DEFAULT:()=>XC,STORAGE_EXPIRES_TIME:()=>Xw,STREAM_TYPE_BIG:()=>WC,STREAM_TYPE_SMALL:()=>GC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>eD,SYNC_USER_LIST_INTERVAL:()=>MC,Scene:()=>nC,THIRD_HOST:()=>Uw,TRANSPORT_DIRECTION:()=>iC,TRTC_ERROR_ASSISTANCE:()=>Gw,TRTC_QUALITY_BAD:()=>IC,TRTC_QUALITY_DISCONNECTED:()=>SC,TRTC_QUALITY_EXCELLENT:()=>vC,TRTC_QUALITY_GOOD:()=>yC,TRTC_QUALITY_POOR:()=>TC,TRTC_QUALITY_UNKNOWN:()=>EC,TRTC_QUALITY_VERY_BAD:()=>AC,UPDATE_OFFER_TIMEOUT:()=>PC,VIDEO_MUTE_BIT:()=>uC,VIDEO_STAT_BIT:()=>aC,audioProfileMap:()=>$w,defaultBigVideoProfile:()=>Zw,defaultSmallVideoProfile:()=>eC,getRetryCount:()=>DC,getScriptDir:()=>Ow,innerVersion:()=>Rw,loggerProxy:()=>Mw,screenProfileMap:()=>tC,setLoggerProxy:()=>Pw,setRetryCount:()=>CC,setVersion:()=>ww,version:()=>bw,videoProfileMap:()=>Qw});var Rw="4.15.00.1600",bw="5.0.0";function ww(e){bw=e;let[t,r,i]=e.split(".").map(e=>parseInt(e,10));Rw="".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 Cw,Dw,Nw="undefined"!=typeof importScripts,kw="undefined"!=typeof registerProcessor,Ow=()=>{let e=Nw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},Mw="",Pw=e=>Mw=e,Lw="web.sdk.qcloud.com",xw="web.sdk.tencent.cn",Uw="web.sdk.cloud.tencent.cn",Vw="https://console.cloud.tencent.com/trtc",Fw="https://".concat(Lw,"/trtc/webrtc/v5/doc"),Bw="".concat(Fw,"/zh-cn/"),Hw="https://yun.tim.qq.com",Ww="https://apisgp.my-imcloud.com",Gw="trtc_error_assistance",jw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},zw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},Kw=((Dw=Kw||{})[Dw.TRACE=0]="TRACE",Dw[Dw.DEBUG=1]="DEBUG",Dw[Dw.INFO=2]="INFO",Dw[Dw.WARN=3]="WARN",Dw[Dw.ERROR=4]="ERROR",Dw[Dw.NONE=5]="NONE",Dw),qw=18e3,Yw=2e3,Jw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},Xw=6048e5,$w={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}},Qw={"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}},Zw=Qw["480p_2"],eC=Qw["120p_2"],tC={"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}},rC={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",RESIZE:"resize",TIME_UPDATE:"timeupdate"},iC={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},oC={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},nC=((Cw=nC||{}).LIVE="live",Cw.RTC="rtc",Cw),aC=1,sC=2,cC=4,lC=8,dC=64,uC=16,hC=112,pC=128,mC="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",fC="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",_C=rC.MAIN,gC=rC.AUXILIARY,EC=0,vC=1,yC=2,TC=3,IC=4,AC=5,SC=6,RC="unknown",bC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},wC=1/0;function CC(e){wC=e}function DC(){return wC}var NC,kC=30,OC={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"},MC=1e4,PC=1e4,LC=1e4,xC="unified-plan",UC="plan-b",VC=1028,FC=((NC=FC||{})[NC.UNPUBLISH=-1]="UNPUBLISH",NC[NC.PUBLISHING=0]="PUBLISHING",NC[NC.PUBLISHED=1]="PUBLISHED",NC),BC=500,HC=1e3,WC=rC.BIG,GC=rC.SMALL,jC=1e4,zC={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"},KC=2e3,qC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},YC=5,JC="default",XC=JC,$C="communications",QC=Object.keys(Kw),ZC=["normal leave","timeout leave","kick","role change"],eD=10,tD=2e3,rD=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],iD=1e4,oD=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())})},nD=Symbol(32),aD=Symbol(16),sD=Symbol(8),cD=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return oD(this,void 0,void 0,function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)})})}readU32(){return this.read(nD)}readU16(){return this.read(aD)}readU8(){return this.read(sD)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===nD){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===aD){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===sD){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise(e=>this.pull=e);this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};cD.U32=nD,cD.U16=aD,cD.U8=sD;var lD=128;function dD(e){let t=new cD;for(;e>=128;)t.malloc(1)[0]=255&e|lD,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function uD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new cD,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(dD(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(dD(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new cD;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=uD(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=uD(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(dD(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var hD=class{constructor(){sw(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function pD(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function mD(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function fD(e,t){return e[t]}function _D(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var gD=0,ED=2654435769,vD=16,yD=2,TD=7;function ID(e,t){let r=new hD,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,gD);gD=gD+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new hD;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,zD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+yD+TD)%8;i&&(i=8-i);let o=r+1+yD+TD+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<yD;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){AD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){AD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<TD;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){AD(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function AD(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=mD(e,0),n=mD(e,4),a=[];for(let c=0;c<4;c++)a[c]=mD(t,4*c);let s=0;for(let c=0;c<vD;c++)s+=ED,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;pD(r,o,i),pD(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var SD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},RD=e=>Number(e)<14e8,bD=function(e,t){let r;r=Mw||(RD(e)?Ww:Hw);let i=Math.floor(Math.random()*Zb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},wD="unknown";function CD(){if("unknown"!==wD)return wD;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&&(wD=DD(i,o)),wD}function DD(e,t){if(Jw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function ND(e){wD=DD(e)}function kD(){return Jw[CD()]}function OD(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 MD(e){return PD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function PD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function LD(e){return 4*xD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function xD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var UD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},VD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},FD=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 BD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:BD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function HD(e){return e>8?3e4:1e3*BD(e)}function WD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var GD=e=>"function"==typeof e,jD=e=>void 0===e,zD=e=>"string"==typeof e,KD=e=>"number"==typeof e,qD=e=>"boolean"==typeof e,YD=e=>"object"===WD(e),JD=e=>"array"===WD(e),XD=e=>WD(e)==="MediaStreamTrack".toLowerCase(),$D=e=>e.isRemote,QD=e=>"promise"===WD(e),ZD=e=>GD(e)&&e.prototype.constructor===e,eN=e=>ZD(e)?e.prototype.constructor.name:"",tN="undefined"!=typeof AudioWorkletNode,rN="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function iN(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 oN(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var nN=e=>+e<10?"0".concat(e):e,aN=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=nN(r[1])+nN(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},sN=Object.prototype.hasOwnProperty;function cN(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(FD(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(sN.call(e,t))return!1;return!0}return!1}function lN(e,t){return{userId:t,hasAudio:!!(e&lC),hasVideo:!!(e&aC),hasAuxiliary:!!(e&cC),hasSmall:!!(e&sC),audioMuted:!!(e&dC),videoMuted:!!(e&uC),audioAvailable:!(!(e&lC)||e&dC),videoAvailable:!(!(e&aC)||e&uC)}}function dN(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!jD(e.username)&&!jD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",jD(e.credentialType)||(t.credentialType=e.credentialType)),t}function uN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!zD(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 hN=function(e,t,r,i){if(!YD(e)||!YD(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],!(jD(t[o])||r&&r.includes(o)))if(YD(e[o])&&YD(t[o]))n+=hN(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=pN(t[o]),n+=1)}return n};function pN(e){if(JD(e)){let t=[];return e.forEach((e,r)=>{t[r]=pN(e)}),t}if(YD(e)){let t={};return Object.keys(e).forEach(r=>{t[r]=pN(e[r])}),t}return e}var mN=e=>{let t=[];if(JD(e))t=[...e];else if(zD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},fN=e=>zD(e)?document.getElementById(e):e,_N=()=>(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 gN(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(JD(e))return"[".concat(e.map(e=>gN(e,{keysToInclude:r,keysToExclude:i})).join(","),"]");if(!FD(e)||!JD(r)&&!JD(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]=FD(e[a])||JD(e[a])?JSON.parse(gN(e[a],{keysToExclude:i,keysToInclude:r})):e[a])}),JSON.stringify(t)}catch(NC){return"{}"}}function EN(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)}),gN(e,{keysToInclude:r})}function vN(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var yN=()=>{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},TN=e=>lw(null,null,function*(){return new Promise((t,r)=>{let i;if(zD(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 Ew({code:_w.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}})}),IN=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},AN=e=>(Object.keys(e).forEach(t=>{KD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(FD(e[t])||JD(e[t]))&&AN(e[t])}),e);function SN(e,t){return new Promise(r=>{let i=setTimeout(r,e);t&&t(i)})}function RN(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 bN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function wN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===rC.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(Cw){return""}}function CN(e,t){return e.width*e.height===t.width*t.height?1:yN()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function DN(e){return 90===e||270===e}function NN(e){return lw(this,null,function*(){return new Promise((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then(()=>t(i)),i.onerror=()=>{r(i.error)}})})}function kN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach((e,i)=>{r[i]=kN(e,t)}),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach(i=>{r[i]=kN(e[i],t)}),r}return e}var ON=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(ON||{});function MN(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return jD(i)||(o=rw(tw({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return ID(uD(o),r)}catch(aM){return JSON.stringify(e)}}function PN(e,t){let r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}function LN(e){return(65535&e)>>>0}function xN(e){return(4294901760&e)>>>0}function UN(e){let t=function(e){try{let t={},r=0;t.totalLength=mD(e,r),r+=4,t.version=mD(e,r),r+=4,t.encryption=fD(e,r),r+=1,t.uinType=fD(e,r),r+=1,t.uinLength=mD(e,r),r+=4,t.uin=t.uinLength>4?_D(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=VN(o,t),a=7&n[0],s=e.length-1-a-yD-TD,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=yD;)if(h<8)h++,m++;else if(8===h){let i=FN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=FN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=TD;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=FN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=mD(e,r),r+=4,t.seqNo=mD(e,r),r+=4,t.retCode=mD(e,r),r+=4,t.retStrLength=mD(e,r),r+=4,t.retStr=t.retStrLength?_D(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=mD(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?_D(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=mD(e,r),r+=4,t.cookie=t.cookieLength?_D(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=mD(e,r),r+=4,t.busiBuffLength=mD(e,r),r+=4,t.busiBuff=t.busiBuffLength?_D(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function VN(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=ED*vD>>>0;for(let n=0;n<vD;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=ED,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function FN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:VN(c,n),bufPos:t+8}}var BN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function HN(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.clone().json().then(e=>({data:e}),()=>e.arrayBuffer().then(e=>({data:UN(new Uint8Array(e))||(BN?BN.decode(e):e)})))).then(e,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(cM){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 WN(e){return lw(this,null,function*(){let t=oN(),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 XO.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(oN()-t,"ms")),i}catch(NC){return r}})}var GN=Object.prototype.hasOwnProperty,jN=e=>"function"==typeof e,zN=e=>e.isRemote,KN=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)};var qN=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:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>lw(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(dP){let a=()=>{clearTimeout(p),h=0,m=2,r(dP)},s=()=>{2!==m&&h<(jN(d)?d():d)?(h++,m=1,jN(o)&&o.call(this,h,a),p=window.setTimeout(()=>{p=-1,f(e,r)},jN(u)?u(h):u)):(a(),jN(n)&&n.call(this,dP))};jN(i)?i.call(this,{error:dP,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}});return new Promise(f)}},YN=class{constructor(e){sw(this,"userId"),sw(this,"remoteUserId"),sw(this,"id"),sw(this,"sdkAppId"),sw(this,"type"),sw(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):"","]")),XO.log(e,t,void 0===this.userId||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(KN(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(GN.call(e,t))return!1;return!0}return!1}(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)}},JN={};ow(JN,{ANDROID_VERSION:()=>ck,CHROME_MAJOR_VERSION:()=>hO,CHROME_VERSION:()=>pO,EDGE_VERSION:()=>fk,EDG_MAJOR_VERSION:()=>Ek,EDG_VERSION:()=>gk,FIREFOX_MAJOR_VERSION:()=>pk,FIREFOX_VERSION:()=>hk,HUAWEI_VERSION:()=>Zk,IE_VERSION:()=>Dk,IOS_MAIN_VERSION:()=>TO,IOS_VERSION:()=>EO,IPADQQB_VERSION:()=>Bk,IS_ANDROID:()=>sk,IS_ANDROID_WEBVIEW:()=>gO,IS_ANY_SAFARI:()=>fO,IS_CHROME:()=>dO,IS_CHROME_OS:()=>jk,IS_CHROMIUM_BASE:()=>lO,IS_DESKTOP_IOS_CHROME:()=>bO,IS_EDG:()=>_k,IS_EDGE:()=>mk,IS_ELECTRON:()=>qk,IS_FIREFOX:()=>uk,IS_HEADLESS_CHROME:()=>uO,IS_HONOR:()=>Qk,IS_HUAWEI:()=>$k,IS_HUAWEIBROWSER:()=>Xk,IS_IE:()=>Ck,IS_IE8:()=>wk,IS_IOS:()=>ak,IS_IOS_13_OR_14:()=>SO,IS_IOS_15_1:()=>AO,IS_IOS_CHROME:()=>RO,IS_IPAD:()=>rk,IS_IPADQQB:()=>Fk,IS_IPAD_PRO:()=>ik,IS_IPHONE:()=>ok,IS_IPOD:()=>nk,IS_LINUX:()=>Gk,IS_LOCAL:()=>wO,IS_MAC:()=>Wk,IS_MACQQB:()=>Uk,IS_MIBROWSER:()=>Yk,IS_MQQB:()=>Mk,IS_NATIVE_ANDROID:()=>dk,IS_OLD_ANDROID:()=>lk,IS_OPENHARMONY:()=>aO,IS_OPPOBROWSER:()=>rO,IS_SAFARI:()=>mO,IS_SAFARI_15_1:()=>IO,IS_SAMSUNGBROWSER:()=>eO,IS_SOGOU:()=>Tk,IS_SOGOUM:()=>vk,IS_TBS:()=>Ak,IS_UCBROWSER:()=>Kk,IS_VIVOBROWSER:()=>oO,IS_WECHAT:()=>Nk,IS_WIN:()=>Hk,IS_WQQB:()=>Lk,IS_WX:()=>zk,IS_X5MQQB:()=>Ok,IS_XWEB:()=>Rk,MACQQB_VERSION:()=>Vk,MI_VERSION:()=>Jk,MQQB_VERSION:()=>Pk,OPENHARMONY_VERSION:()=>sO,OPPO_VERSION:()=>iO,SAFARI_VERSION:()=>_O,SAMSUNG_VERSION:()=>tO,SOGOUM_VERSION:()=>yk,SOGOU_VERSION:()=>Ik,TBS_VERSION:()=>Sk,UA_DATA_STRING:()=>MO,USER_AGENT:()=>XN,VIVO_VERSION:()=>nO,WECHAT_VERSION:()=>kk,WQQB_VERSION:()=>xk,XWEB_VERSION:()=>bk,browserInfo:()=>DO,getBrowserCoreNumber:()=>BO,getBrowserInfo:()=>NO,getChromeMajorVersion:()=>cO,getDeviceModel:()=>xO,getGPUInfo:()=>LO,getOSName:()=>VO,getOSNumber:()=>FO,getOSString:()=>HO,getOSType:()=>GO,getTerminalType:()=>WO,getUserAgentData:()=>PO,isLocalStorageEnabled:()=>CO,isMobile:()=>OO,isVersionLargerThan:()=>yO,isVersionSmallerThan:()=>vO});var XN="undefined"==typeof navigator?"":navigator.userAgent,$N=e=>new RegExp(e,"i").test(XN),QN=e=>{if($N(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=XN.match(t);if(r&&r[1])return r[1]}return""},ZN=e=>{if($N(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=XN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},ek=/AppleWebKit\/([\d.]+)/i.exec(XN),tk=ek?parseFloat(ek[1]):NaN,rk=$N("iPad"),ik="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&$N("Macintosh"),ok=$N("iPhone")&&!rk,nk=$N("iPod"),ak=ok||rk||nk||ik,sk=$N("Android"),ck=function(){if(sk){let e=XN.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}(),lk=sk&&$N("webkit")&&ck<2.3,dk=sk&&ck<5&&tk<537,uk=$N("Firefox"),hk=QN("Firefox"),pk=ZN("Firefox"),mk=$N("Edge"),fk=QN("Edge"),_k=$N("Edg"),gk=QN("Edg"),Ek=ZN("Edg"),vk=$N("SogouMobileBrowser"),yk=QN("SogouMobileBrowser"),Tk=$N("MetaSr\\s"),Ik=QN("MetaSr\\s"),Ak=$N("TBS"),Sk=QN("TBS"),Rk=$N("XWEB"),bk=QN("XWEB"),wk=$N("MSIE\\s8\\.0"),Ck=$N("MSIE\\/\\d+"),Dk=function(){if(Ck){let e=/MSIE\s(\d+)\.\d/.exec(XN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(XN)&&/rv:11.0/.test(XN)&&(t=11),t}return NaN}(),Nk=$N("(micromessenger|webbrowser)"),kk=QN("MicroMessenger"),Ok=!Ak&&$N("MQQBrowser")&&$N("COVC"),Mk=!Ak&&$N("MQQBrowser")&&!$N("COVC"),Pk=Mk||Ok?QN("MQQBrowser"):"",Lk=!Ak&&$N(" QQBrowser"),xk=QN(" QQBrowser"),Uk=!Ak&&$N("QQBrowserLite"),Vk=QN("QQBrowserLite"),Fk=!Ak&&$N("MQBHD"),Bk=QN("MQBHD"),Hk=$N("Windows"),Wk=!ak&&$N("MAC OS X"),Gk=!sk&&$N("Linux"),jk=$N("CrOS"),zk=$N("MicroMessenger"),Kk=$N("UCBrowser"),qk=$N("Electron"),Yk=$N("MiuiBrowser"),Jk=QN("MiuiBrowser"),Xk=$N("HuaweiBrowser"),$k=$N("Huawei")||$N("HUAWEI"),Qk=$N("Honor")||$N("HONOR"),Zk=QN("HuaweiBrowser"),eO=$N("SamsungBrowser"),tO=QN("SamsungBrowser"),rO=$N("HeyTapBrowser"),iO=QN("HeyTapBrowser"),oO=$N("VivoBrowser"),nO=QN("VivoBrowser"),aO=$N("OpenHarmony"),sO=QN("OpenHarmony"),cO=()=>ZN("Chrome"),lO=$N("Chrome"),dO=!mk&&!Tk&&!vk&&!Ak&&!Rk&&!_k&&!Lk&&!Yk&&!Xk&&!eO&&!rO&&!oO&&lO,uO=$N("HeadlessChrome"),hO=cO(),pO=QN("Chrome"),mO=!lO&&!Mk&&!Ok&&!Uk&&!Fk&&$N("Safari"),fO=mO||ak,_O=QN("Version"),gO=/Android.*(wv|.0.0.0)/.test(XN),EO=(()=>{if(ik)return _O;if(ak){let e=XN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function vO(e,t){let r=e.split(".").map(e=>Number(e)),i=t.split(".").map(e=>Number(e));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function yO(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map(e=>Number(e)),o=t.split(".").map(e=>Number(e));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var TO=Number(EO.split(".")[0]),IO="15.1"===_O,AO="15.1"===EO,SO=(()=>{let e=Number(EO.split(".")[0]);return 14===e||13===e})(),RO=$N("CriOS"),bO=RO&&"11.1.1"===_O,wO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),CO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(oM){e=!1}return e}})(),DO=NO();function NO(){let e=new Map([[uk,["Firefox",hk]],[_k,["Edg",gk]],[dO,["Chrome",pO]],[mO,["Safari",_O]],[Ak,["TBS",Sk]],[Rk,["XWEB",bk]],[Nk&&ok,["WeChat",kk]],[Lk,["QQ(Win)",xk]],[Mk,["QQ(Mobile)",Pk]],[Ok,["QQ(Mobile X5)",Pk]],[Uk,["QQ(Mac)",Vk]],[Fk,["QQ(iPad)",Bk]],[Yk,["MI",Jk]],[Xk,["HW",Zk]],[eO,["Samsung",tO]],[rO,["OPPO",iO]],[oO,["VIVO",nO]],[mk,["EDGE",fk]],[vk,["SogouMobile",yk]],[Tk,["Sogou",Ik]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var kO=null;function OO(){return kO&&"boolean"==typeof kO.mobile?kO.mobile:sk||ak||ok||rk||aO}var MO="";function PO(){return lw(this,null,function*(){if(kO)return kO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(kO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!MO&&(MO="UAData: ".concat(kO.platform,"/").concat(kO.platformVersion),kO.architecture&&kO.bitness&&(MO+=" ".concat(kO.architecture,"/").concat(kO.bitness)),kO.mobile&&(MO+=" mobile"),kO.model&&(MO+=" model: ".concat(kO.model.replace(/\s+/g,"/"))),kO.fullVersionList&&(MO+=" ".concat(kO.fullVersionList.filter(e=>"Not/A)Brand"!==e.brand).map(e=>"".concat(e.brand,"/").concat(e.version)).join(",")))),kO}catch(gH){return null}})}function LO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(gH){return""}}function xO(){return(null==kO?void 0:kO.model)||""}var UO=new Map([[sk,"Android"],[ak,"iOS"],[Hk,"Windows"],[Wk,"MacOS"],[Gk,"Linux"],[jk,"ChromeOS"]]),VO=function(){return UO.get(!0)?UO.get(!0):kO?kO.platform:"unknown"};function FO(){return Hk?1:sk?2:Wk?3:ak?4:Gk?5:jk?6:aO?7:0}function BO(){return lO?1:mO?2:uk?3:0}var HO=()=>{let e=VO();return e+="/".concat(DO.name,"/").concat(mO?DO.version:DO.version.split(".")[0]),null!=kO&&kO.platformVersion&&(e+="/".concat(kO.platformVersion)),null!=kO&&kO.architecture&&(e+="/".concat(kO.architecture)),e};function WO(){return sk?4:ok?2:rk?3:Wk?12:Hk?5:Gk?13:aO?22:1}function GO(){return sk?"Android":ok?"iPhone":rk?"iPad":Wk?"Mac":Hk?"Windows":Gk?"Linux":"unknown"}var jO,zO=new(nw(dw(),1).default),KO=((jO=KO||{}).ROOM_DESTROY="1",jO.JOIN_START="21",jO.JOIN_SCHEDULE_SUCCESS="22",jO.JOIN_SIGNAL_CONNECTION_START="23",jO.JOIN_SIGNAL_CONNECTION_END="24",jO.JOIN_SEND_CMD="25",jO.JOIN_RECEIVED_CMD_RES="26",jO.JOIN_SUCCESS="27",jO.JOIN_FAILED="28",jO.LEAVE_START="51",jO.LEAVE_SEND_CMD="52",jO.LEAVE_SUCCESS="53",jO.PUBLISH_START="61",jO.SEND_FIRST_VIDEO_FRAME="62",jO.PUBLISH_FAILED="63",jO.SUBSCRIBE_START="81",jO.SUBSCRIBE_SUCCESS="82",jO.SUBSCRIBE_FAILED="84",jO.UNSUBSCRIBE_SUCCESS="83",jO.LOCAL_TRACK_CAPTURE_START="101",jO.LOCAL_TRACK_CAPTURE_SUCCESS="102",jO.LOCAL_TRACK_CAPTURE_FAILED="103",jO.LOCAL_TRACK_PUBLISHED="104",jO.LOCAL_TRACK_UNPUBLISHED="105",jO.LOCAL_TRACK_REPLACED="106",jO.SWITCH_DEVICE_SUCCESS="107",jO.TRACK_MUTED="108",jO.TRACK_UNMUTED="109",jO.REMOTE_TRACK_SUBSCRIBED="110",jO.REMOTE_TRACK_UNSUBSCRIBED="111",jO.LOCAL_TRACK_RECAPTURE="112",jO.LOCAL_AUDIO_STARTED="113",jO.LOCAL_AUDIO_STOPPED="114",jO.REMOTE_AUDIO_STARTED="115",jO.REMOTE_AUDIO_STOPPED="116",jO.PLAY_TRACK_START="151",jO.PLAYER_STATE_CHANGED="152",jO.VIDEO_LOADED_DATA="153",jO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",jO.AUDIO_CONTEXT_LONG_SUSPENDED="155",jO.SIGNAL_CONNECTION_STATE_CHANGED="201",jO.PEER_CONNECTION_STATE_CHANGED="202",jO.SINGLE_CONNECTION_STAT="203",jO.SPC_RECONNECTED="204",jO.HEARTBEAT_REPORT="251",jO.RECEIVED_PUBLISHED_USER_LIST="252",jO.REMOTE_PUBLISH_STATE_CHANGED="253",jO.AUDIO_LEVEL_INTERVAL="260",jO.NETWORK_QUALITY="261",jO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",jO.QUALITY_LIMITATION_CHANGED="263",jO.LOG="264",jO.AUDIO_PROCESSOR_DEBUG="265",jO.SSO_SWITCH="266",jO.SWITCH_ROOM_START="401",jO.SWITCH_ROOM_SUCCESS="407",jO.SWITCH_ROOM_FAILED="408",jO),qO=KO,YO=new class{constructor(){sw(this,"enable",!1),sw(this,"ssoFailCount",0),zO.on("22",e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&zO.emit("266",{enable:!0})}),zO.on("266",e=>{let{enable:t}=e;this.enable=t})}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&zO.emit("266",{enable:!1})}},JO=class e{constructor(){sw(this,"_isEnableUploadLog",!0),sw(this,"_localJoinedUser",new Map),sw(this,"_queue",[]),sw(this,"_timeoutId",-1),sw(this,"_logLevel",1),sw(this,"_logLevelToUpload",2),!Nw&&!kw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){zO.on(qO.JOIN_SCHEDULE_SUCCESS,e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&Kw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)}),zO.on(qO.JOIN_SUCCESS,e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()}),zO.once(qO.JOIN_FAILED,()=>{this.startUpload()}),zO.on(qO.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(zD(r.userId)&&KD(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 lw(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],n={timestamp:Tw(),sdkAppId:String(i),userId:r,version:bw,log:o.map(e=>e.log).join("\n")},a=JSON.stringify(n),s=YO.enable?MN(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach(e=>e.uploaded=!0)}}catch(aM){}let r=t.filter(e=>!e.uploaded);r.length>0&&(this._queue=r.concat(this._queue))})}uploadLogWithRetry(e,t,r,i){return qN({retryFunction:()=>HN({url:bD(t,jw.LOG),body:e,timeout:5e3,priority:"low"}).then(e=>{r&&"ok"!==e.data&&(YO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))}),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(yw()),"[".concat(Iw(t),"] <").concat(Kw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){jD(Kw[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(zD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Cw){return""}}addLogToQueue(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?arguments[4]:void 0,n={log:t.reduce((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim(),""),level:e,userId:i,sdkAppId:o,forAllJoinedClients:r};zO.emit(qO.LOG,{log:n}),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push(n)}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;if(r.unshift(this.getPrefix(t)),this.addLogToQueue(t,r,i,o,n),t<this._logLevel)return;let s=(null==(a=Kw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[s]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[s](...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 YN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;Kw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};sw(JO,"PRINT_LOG_TAG",!(ak||sk||uO));var XO=new JO,$O=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)})},QO=new class{constructor(){sw(this,"_prefix","TRTC"),sw(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){CO()&&(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(aM){return!1}return!1}).forEach(e=>localStorage.removeItem(e)))}doFlush(){if(CO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(oM){XO.warn(oM)}}getItem(e){if(!CO())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(Cw){XO.warn(Cw)}}setItem(e,t){if(CO())try{let r={expiresIn:Date.now()+Xw,value:t};this._queue.set(this.getRealKey(e),r)}catch(NC){XO.warn(NC)}}deleteItem(e){if(!CO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Cw){return XO.warn(Cw),!1}}clear(){if(CO())try{localStorage.clear()}catch(oM){XO.warn(oM)}}},ZO={};ow(ZO,{HTTPS_API:()=>FP,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>sL,IS_GET_CAPABILITIES_SUPPORTED:()=>aL,IS_GET_SETTINGS_SUPPORTED:()=>nL,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>oL,IS_INSERTABLE_STREAM_SUPPORTED:()=>cL,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>TL,IS_RTC_RTP_SENDER_SUPPORTED:()=>tL,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>lL,IS_SEI_SUPPORTED:()=>dL,IS_SPC_SUPPORTED:()=>ZP,basis:()=>_L,capabilityCheck:()=>vL,checkSystemRequirementsInternal:()=>MP,decodeSupportStatus:()=>OP,detectVideoCodecCapabilities:()=>SL,detectVideoDecoderCapabilities:()=>bL,detectVideoEncoderCapabilities:()=>RL,encodeSupportStatus:()=>kP,getBrowserInfo:()=>AP,getDisplayResolution:()=>HP,isAddTransceiverSupported:()=>QP,isBrowserSupported:()=>SP,isCanvasCaptureStreamAPISupported:()=>jP,isCanvasSmallStreamSupported:()=>zP,isGetReceiversSupported:()=>JP,isGetSendersSupported:()=>XP,isGetTransceiversSupported:()=>$P,isGetUserMediaSupported:()=>WP,isMediaDevicesSupported:()=>bP,isMediaSessionSupported:()=>pL,isMediaStreamTrackGeneratorSupported:()=>NP,isMediaStreamTrackProcessorSupported:()=>DP,isReplaceTrackSupported:()=>rL,isRequestVideoFrameCallbackSupported:()=>yL,isSIMDSupported:()=>fL,isScaleResolutionDownBySupported:()=>KP,isScreenCaptureApiAvailable:()=>LP,isSelectedCandidatePair:()=>BP,isSetParametersSupported:()=>iL,isSetSinkIdSupported:()=>xP,isSmallStreamSupported:()=>qP,isStopTransceiverSupported:()=>eL,isTRTCSupported:()=>PP,isUnifiedPlanDefault:()=>YP,isUsedInHttpProtocol:()=>CP,isWebAudioSupported:()=>GP,isWebCodecSupported:()=>hL,isWebCodecsSupported:()=>RP,isWebRTCSupported:()=>uL,isWebTransportSupported:()=>mL});var eM={};ow(eM,{AUDIO_LEVEL_SCALE:()=>KM,AudioCodecPipelineType:()=>$M,AudioDecoderDowngradeState:()=>wM,AudioPlayerMode:()=>GM,AudioType:()=>MM,BASIC_TYPE:()=>YM,BannedReason:()=>jM,CONNECTION_CLOSED_REASON:()=>mM,CheckPermissionType:()=>iP,ClientEvent:()=>fM,CodecType:()=>QM,ConnectionEvent:()=>pM,ConnectionState:()=>bM,DECODE_FAILED_ERROR_CODE:()=>ZM,DeviceType:()=>oP,FacingMode:()=>HM,FrameWorkType:()=>hM,LeaveReason:()=>zM,LocalTrackEvent:()=>gM,MULTI_VIDEO_DATA_TYPE:()=>UM,MediaType:()=>kM,MediaTypeLabel:()=>OM,MonitorEventId:()=>VM,MutedFlag:()=>IM,NetworkQualityValue:()=>FM,PlayerState:()=>EM,ReceiveMode:()=>BM,RemoteStreamType:()=>xM,RemoteTrackEvent:()=>TM,RoomEvent:()=>vM,SMALL_MODE:()=>rP,SceneNumber:()=>AM,StreamEvent:()=>_M,StreamType:()=>LM,SubscribeMediaType:()=>qM,TIMER_TYPE:()=>tP,TRACK_ACTION:()=>NM,TRACK_KIND:()=>DM,TrackEvent:()=>yM,UserRole:()=>RM,UserRoleNumber:()=>SM,VideoCodec:()=>JM,VideoCodecPipelineType:()=>XM,VideoContentHint:()=>eP,VideoDecoderDowngradeState:()=>CM,VideoPlayerMode:()=>WM,VideoType:()=>PM});var tM,rM,iM,oM,nM,aM,sM,cM,lM,dM,uM,hM=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(hM||{}),pM=((uM=pM||{}).TRACK_ADDED="track-added",uM.TRACK_UPDATED="track-updated",uM.TRACK_SUBSCRIBED="track-subscribed",uM.STREAM_ADDED="stream-added",uM.STREAM_REMOVED="stream-removed",uM.STREAM_UPDATED="stream-updated",uM.STREAM_PUBLISHED="stream-published",uM.STREAM_SUBSCRIBED="stream-subscribed",uM.STREAM_UNSUBSCRIBED="stream-unsubscribed",uM.STATE_CHANGED="state-changed",uM.ERROR="error",uM.CONNECTION_STATE_CHANGED="connection-state-changed",uM.FIREWALL_RESTRICTION="firewall-restriction",uM.SEI_MESSAGE="sei-message",uM.CLOSED="closed",uM),mM=(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))(mM||{}),fM=((dM=fM||{}).STREAM_ADDED="stream-added",dM.STREAM_REMOVED="stream-removed",dM.STREAM_UPDATED="stream-updated",dM.STREAM_SUBSCRIBED="stream-subscribed",dM.CONNECTION_STATE_CHANGED="connection-state-changed",dM.PEER_JOIN="peer-join",dM.PEER_LEAVE="peer-leave",dM.MUTE_AUDIO="mute-audio",dM.MUTE_VIDEO="mute-video",dM.UNMUTE_AUDIO="unmute-audio",dM.UNMUTE_VIDEO="unmute-video",dM.CLIENT_BANNED="client-banned",dM.NETWORK_QUALITY="network-quality",dM.AUDIO_VOLUME="audio-volume",dM.SEI_MESSAGE="sei-message",dM.ERROR="error",dM),_M=((lM=_M||{}).PLAYER_STATE_CHANGED="player-state-changed",lM.SCREEN_SHARING_STOPPED="screen-sharing-stopped",lM.CONNECTION_STATE_CHANGED="connection-state-changed",lM.DEVICE_AUTO_RECOVERED="device-auto-recovered",lM.ERROR="error",lM),gM=((cM=gM||{}).DEVICE_AUTO_RECOVERED="1",cM.DEVICE_RECOVER_FAILED="5",cM.DEVICE_CHANGED="2",cM.ERROR="3",cM.PUBLISH_STATE_CHANGED="4",cM.ENCODE_FAILED="6",cM.TRACK_ENDED="7",cM.RENDER="render",cM),EM=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(EM||{}),vM=((sM=vM||{}).PEER_JOIN="peer-join",sM.PEER_LEAVE="peer-leave",sM.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",sM.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",sM.BANNED="banned",sM.NETWORK_QUALITY="network-quality",sM.AUDIO_VOLUME="audio-volume",sM.SEI_MESSAGE="sei-message",sM.ERROR="error",sM.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",sM.REMOTE_PUBLISHED="remote-published",sM.REMOTE_UNPUBLISHED="remote-unpublished",sM.FIREWALL_RESTRICTION="firewall-restriction",sM.HEARTBEAT_REPORT="heartbeat-report",sM.CUSTOM_MESSAGE="custom-message",sM.LAYER_DATA="layerData",sM.FIRST_VIDEO_FRAME="first-video-frame",sM.DUMP="dump",sM.AUDIO_FRAME="audio-frame",sM.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",sM.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",sM.NTP_TIME_UPDATED="ntp-time-updated",sM),yM=(e=>(e.PLAYER_STATE_CHANGED="player-state-changed",e.MUTE="mute",e.UNMUTE="unmute",e.ERROR="error",e.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",e.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",e.FIRST_VIDEO_FRAME="first-video-frame",e.VIDEO_SIZE_CHANGED="video-size-changed",e))(yM||{}),TM=((aM=TM||{}).DECODE_FAILED="decode-failed",aM.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",aM.REMOTE_PUBLISH_CHANGED="remote-publish-changed",aM.AUDIO_FRAME_WITH_NTP="audio-frame-with-ntp",aM),IM=((nM=IM||{})[nM.VIDEO=1]="VIDEO",nM[nM.SMALL=2]="SMALL",nM[nM.AUX=4]="AUX",nM[nM.AUDIO=8]="AUDIO",nM[nM.VIDEO_MUTE=16]="VIDEO_MUTE",nM[nM.AUX_MUTE=32]="AUX_MUTE",nM[nM.AUDIO_MUTE=64]="AUDIO_MUTE",nM),AM=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(AM||{}),SM=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(SM||{}),RM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(RM||{}),bM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(bM||{}),wM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(wM||{}),CM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(CM||{}),DM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(DM||{}),NM=(e=>(e.ADD="add",e.REMOVE="remove",e))(NM||{}),kM=(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))(kM||{}),OM={1:"audio",2:"auxVideo",4:"video"},MM=((oM=MM||{})[oM.opus=111]="opus",oM),PM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(PM||{}),LM=(e=>(e.Big="big",e.Small="small",e))(LM||{}),xM=(e=>(e.Main="main",e.Aux="auxiliary",e))(xM||{}),UM=(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))(UM||{}),VM=((iM=VM||{})[iM.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",iM[iM.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",iM[iM.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",iM[iM.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",iM[iM.MUTE_AUDIO=32772]="MUTE_AUDIO",iM[iM.MUTE_VIDEO=32773]="MUTE_VIDEO",iM[iM.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",iM[iM.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",iM[iM.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",iM[iM.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",iM[iM.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",iM[iM.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",iM[iM.SWITCH_CAMERA=32780]="SWITCH_CAMERA",iM[iM.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",iM[iM.REPLACE_VIDEO=32782]="REPLACE_VIDEO",iM[iM.REPLACE_AUDIO=32783]="REPLACE_AUDIO",iM[iM.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",iM[iM.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",iM[iM.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",iM[iM.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",iM[iM.JOIN=32788]="JOIN",iM[iM.LEAVE=32789]="LEAVE",iM[iM.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",iM[iM.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",iM[iM.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",iM[iM.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",iM[iM.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",iM[iM.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",iM[iM.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",iM[iM.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",iM[iM.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",iM[iM.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",iM[iM.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",iM[iM.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",iM[iM.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",iM[iM.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",iM[iM.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",iM[iM.PUBLISH_AUX=32805]="PUBLISH_AUX",iM[iM.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",iM[iM.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",iM[iM.VIDEO_ENCODER=4004]="VIDEO_ENCODER",iM[iM.VIDEO_DECODER=4005]="VIDEO_DECODER",iM),FM=(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))(FM||{}),BM=(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))(BM||{}),HM=(e=>(e.user="user",e.environment="environment",e))(HM||{}),WM=(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))(WM||{}),GM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(GM||{}),jM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(jM||{}),zM=((rM=zM||{})[rM.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",rM[rM.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",rM[rM.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",rM[rM.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",rM[rM.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",rM[rM.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",rM[rM.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",rM[rM.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",rM[rM.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",rM),KM=1e8,qM=class{constructor(){sw(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)}},YM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(YM||{}),JM=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))(JM||{}),XM=(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))(XM||{}),$M=(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))($M||{}),QM=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(QM||{}),ZM=((tM=ZM||{})[tM.SUCCESS=0]="SUCCESS",tM[tM.FAILED=1]="FAILED",tM[tM.WEBCODEC_INIT=2]="WEBCODEC_INIT",tM[tM.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",tM[tM.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",tM[tM.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",tM[tM.WASM_INIT=6]="WASM_INIT",tM[tM.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",tM[tM.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",tM[tM.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",tM[tM.TEST=10]="TEST",tM[tM.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",tM),eP=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(eP||{}),tP=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(tP||{}),rP=(e=>(e.CANVAS="canvas",e.API="api",e))(rP||{}),iP=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(iP||{}),oP=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(oP||{}),nP={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"},aP={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(WD(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(WD(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,"()")},sP=(e,t)=>t?"".concat(Fw,"/").concat(e,"/").concat(t):"".concat(Fw,"/").concat(e,"/index.html"),cP=()=>{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(Gw);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 lP(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";GD(aP[t])?n=aP[t](r):zD(aP[t])&&(n=aP[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=cP();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(GD(l[t])?s=l[t](r):zD(l[t])&&(s=l[t]));let d=n;return VD()&&(c&&c[t]&&(GD(c[t])?a=c[t](r):zD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(sP("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(sP("en",s),"\n")),d}var dP,uP=nw(mw(),1),hP=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];sw(this,"countMap",new Map),sw(this,"distributionMap",new Map),sw(this,"version"),sw(this,"log",XO.createLogger({id:"kv"})),e&&(zO.on("102",e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===rC.AUDIO?501700:511700,cost:r})}),zO.on("103",e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===rC.AUDIO?501700:511700,error:r})}),zO.on("266",e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})}))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:IN(this.version||bw),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,max:n=5e3}=e;var a;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;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(KD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}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=_w.UNKNOWN;r&&(KD(r)?i=r:(!jD(r.extraCode)||!jD(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})}},pP=(e=>(e[e.enterRoom=500700]="enterRoom",e[e.exitRoom=500701]="exitRoom",e[e.switchRole=500702]="switchRole",e[e.destroy=500703]="destroy",e[e.startLocalAudio=500704]="startLocalAudio",e[e.updateLocalAudio=500705]="updateLocalAudio",e[e.stopLocalAudio=500706]="stopLocalAudio",e[e.startLocalVideo=500707]="startLocalVideo",e[e.updateLocalVideo=500708]="updateLocalVideo",e[e.stopLocalVideo=500709]="stopLocalVideo",e[e.startScreenShare=500710]="startScreenShare",e[e.updateScreenShare=500711]="updateScreenShare",e[e.stopScreenShare=500712]="stopScreenShare",e[e.startRemoteVideo=500713]="startRemoteVideo",e[e.updateRemoteVideo=500714]="updateRemoteVideo",e[e.stopRemoteVideo=500715]="stopRemoteVideo",e[e.muteRemoteAudio=500716]="muteRemoteAudio",e[e.setRemoteAudioVolume=500717]="setRemoteAudioVolume",e[e.use=500718]="use",e[e.switchRoom=500719]="switchRoom",e[e.sendSEIMessage=5e5]="sendSEIMessage",e[e.sendCustomMessage=500001]="sendCustomMessage",e))(pP||{}),mP=(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[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(mP||{}),fP=(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[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))(fP||{}),_P=(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[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(_P||{}),gP=((dP=gP||{})[dP.DECODER_TYPE=514700]="DECODER_TYPE",dP[dP.DECODER_HW_SW=514701]="DECODER_HW_SW",dP[dP.DECODE_RESULT=514702]="DECODE_RESULT",dP[dP.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",dP[dP.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",dP[dP.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",dP[dP.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",dP[dP.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",dP[dP.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",dP[dP.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",dP[dP.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",dP[dP.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",dP[dP.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",dP[dP.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",dP[dP.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",dP[dP.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",dP[dP.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",dP),EP=new hP(!0),vP=new hP(!1),yP=EP,TP={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},IP=new Map([[uk,["Firefox",hk]],[_k,["Edg",gk]],[dO,["Chrome",pO]],[mO,["Safari",_O]],[Ak,["TBS",Sk]],[Rk,["XWEB",bk]],[Nk&&ok,["WeChat",kk]],[Lk,["QQ(Win)",xk]],[Mk,["QQ(Mobile)",Pk]],[Ok,["QQ(Mobile X5)",Pk]],[Uk,["QQ(Mac)",Vk]],[Fk,["QQ(iPad)",Bk]],[Yk,["MI",Jk]],[Xk,["HW",Zk]],[eO,["Samsung",tO]],[rO,["OPPO",iO]],[oO,["VIVO",nO]],[mk,["EDGE",fk]],[vk,["SogouMobile",yk]],[Tk,["Sogou",Ik]]]);function AP(){let e=IP.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var SP=function(){return!(Kk||mk||_k&&Ek<80||uk&&pk<56)},RP=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every(e=>e in window)},bP=function(){if(!navigator.mediaDevices)return CP()||XO.error(aP.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter(e=>e in navigator.mediaDevices).length===e.length},wP=!1;function CP(){return"http:"===location.protocol&&!wO&&(wP||XO.error(lP({key:nP.NOT_SUPPORTED_HTTP})),wP=!0,!0)}var DP=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},NP=function(){return!(null==window||!window.MediaStreamTrackGenerator)},kP=function(){return lw(this,null,function*(){var e,t,r;if(TP.detail.isH264EncodeSupported&&TP.detail.isVp8EncodeSupported)return{isH264EncodeSupported:TP.detail.isH264EncodeSupported,isVp8EncodeSupported:TP.detail.isVp8EncodeSupported,isH265EncodeSupported:TP.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement(rC.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(nM){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}})},OP=function(){return lw(this,null,function*(){var e;if(TP.detail.isH264DecodeSupported&&TP.detail.isVp8DecodeSupported)return{isH264DecodeSupported:TP.detail.isH264DecodeSupported,isVp8DecodeSupported:TP.detail.isVp8DecodeSupported,isH265DecodeSupported:TP.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;QP()?(o.addTransceiver(rC.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(aM){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}})};var MP=RN(e=>lw(null,null,function*(){let t=Date.now(),r=uL(),i=bP(),o=RP();if(TP.detail.isWebRTCSupported=r,TP.detail.isMediaDevicesSupported=i,TP.detail.isWebCodecsSupported=o,TP.detail.isScreenShareSupported=LP(),TP.detail.isSmallStreamSupported=qP(),37===e)return Object.assign(TP.detail,yield function(){return lw(this,null,function*(){return VP||(VP=new Promise(e=>lw(null,null,function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!RP())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout(()=>{n(),e(t)},5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map(e=>lw(null,null,function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise((t,o)=>lw(null,null,function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(uM){o(uM)}}))}catch(p){return XO.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise((r,o)=>lw(null,null,function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(uM){o(uM)}}))}catch(p){XO.warn("".concat(e.type," decoder error:"),p)}return i})))).forEach(e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)}),n(),e(t)}catch(a){n(),XO.warn("detectWebCodecsSupported failed:",a),e(t)}})),VP)})}()),TP.detail.isBrowserSupported=o,TP.result=i&&o,TP.result||XO.error("".concat(navigator.userAgent," ").concat(EN(TP.detail,!1))),EL(e),yP.addNumber({key:523800,value:Date.now()-t}),TP;if(TP.result&&TP.detail.isH264EncodeSupported&&TP.detail.isVp8EncodeSupported&&TP.detail.isH265EncodeSupported&&TP.detail.isH264DecodeSupported&&TP.detail.isVp8DecodeSupported&&TP.detail.isH265DecodeSupported)return TP;let n=SP(),{encode:a,decode:s}=yield function(){return lw(this,null,function*(){let[e,t]=yield Promise.all([kP(),OP()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}})}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield kP();XO.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&sk&&lO&&!Rk&&!Ak){let{encode:e,decode:t}=yield function(){return lw(this,null,function*(){return UP||(UP=new Promise(e=>lw(null,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(),d.close(),c.getTracks().forEach(e=>e.stop())},s=setTimeout(()=>{r(),e(t)},2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",e=>d.addIceCandidate(e.candidate)),d.addEventListener("icecandidate",e=>l.addIceCandidate(e.candidate)),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=uP.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=uP.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval(()=>lw(null,null,function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach(e=>{"outbound-rtp"===e.type&&e.mediaType===rC.VIDEO&&e.bytesSent>0&&(t.encode=!0)}),t.decode||o.forEach(e=>{"inbound-rtp"===e.type&&e.mediaType===rC.VIDEO&&e.bytesReceived>0&&(t.decode=!0)})}),100)}catch(i){r(),XO.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})).then(e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&XO.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(MO)),e)),UP)})}();c=e,d=t}return TP.result=n&&r&&i&&(c||l)&&(d||h),TP.detail.isBrowserSupported=n,TP.detail.isWebRTCSupported=r,TP.detail.isH264EncodeSupported=c,TP.detail.isVp8EncodeSupported=l,TP.detail.isH265EncodeSupported=u,TP.detail.isH264DecodeSupported=d,TP.detail.isVp8DecodeSupported=h,TP.detail.isH265DecodeSupported=p,TP.result||XO.error("".concat(navigator.userAgent," ").concat(EN(TP.detail,!1))),EL(),yP.addNumber({key:523800,value:Date.now()-t}),TP})),PP=function(){return TP.result},LP=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},xP="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,UP=null;var VP=null;var FP=(e,t,r)=>{"http:"===location.protocol&&!wO&&(e[t]=()=>{throw new Ew({code:_w.INVALID_OPERATION,message:aP.NOT_SUPPORTED_HTTP})})},BP=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(qD(e.selected)&&!e.selected)};function HP(){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 WP(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function GP(){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 jP(){return"captureStream"in HTMLCanvasElement.prototype}function zP(){return!(Nk||ak||hO&&hO<63)&&!(!SP()||!jP())}function KP(){return!(hO<74||mk||TO<11||pk<46)}function qP(){return zP()||KP()}var YP=function(){if(jD(window.RTCRtpTransceiver)||!QP()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:xC}),e.addTransceiver(rC.AUDIO),t=!0}catch(Cw){}return null==e||e.close(),t};function JP(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function XP(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function $P(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function QP(){return!(11===TO&&!bO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var ZP=!(!QP()||lO&&hO<86);function eL(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var tL="RTCRtpSender"in window;function rL(){return tL&&"replaceTrack"in window.RTCRtpSender.prototype}function iL(){return tL&&"setParameters"in window.RTCRtpSender.prototype&&XP()}var oL="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,nL=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,aL=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,sL="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,cL=tL&&"createEncodedStreams"in window.RTCRtpSender.prototype&&cO()>=86,lL="RTCRtpScriptTransform"in window,dL=tL&&(cL||lL),uL=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter(e=>e in window).length>0};function hL(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return jD(window.AudioDecoder)||(e.AudioDecoder=!0),jD(window.AudioEncoder)||(e.AudioEncoder=!0),jD(window.VideoDecoder)||(e.VideoDecoder=!0),jD(window.VideoEncoder)||(e.VideoEncoder=!0),jD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function pL(){return"mediaSession"in navigator&&!jD(navigator.mediaSession.setActionHandler)}function mL(){return!jD(window.WebTransport)}function fL(){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 _L(){let e={browser:"".concat(DO.name,"/").concat(DO.version),os:VO(),displayResolution:HP(),isScreenShareSupported:LP(),isWebRTCSupported:uL(),isGetUserMediaSupported:WP(),isWebAudioSupported:GP(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:hL(),isMediaSessionSupported:pL(),isWebTransportSupported:mL()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var gL="checkResult";function EL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;QO.setItem(gL+e,{ua:navigator.userAgent,checkResult:TP})}function vL(e){CP();let t=QO.getItem(gL+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!YD(e)&&Object.keys(t).every(t=>t in e)}(t.checkResult.detail,TP.detail)&&(TP=t.checkResult),MP(e)}function yL(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var TL="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function IL(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var AL=!1;function SL(){return lw(this,null,function*(){var e;try{if(AL||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=FO(),r=BO();if(0===t||0===r)return;AL=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([RL(i),bL(i)]);o&&Object.keys(o).forEach(e=>{let i=IL(e.toLowerCase());yP.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})}),n&&Object.keys(n).forEach(e=>{let i=IL(e.toLowerCase());yP.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})})}catch(oM){XO.info("detectVideoCodecCapabilities failed",oM)}})}function RL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return lw(this,null,function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Dw){}return n})}function bL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return lw(this,null,function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Dw){}return n})}var wL=nw(dw(),1),CL=Symbol("instance"),DL=Symbol("cacheResult"),NL=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,LL.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},kL=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var OL=new Map;function ML(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=OL.get(i)||[];OL.has(i)||OL.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=xL.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[DL]:Promise.resolve(i[DL]);i.state instanceof NL&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof NL&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new kL(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 kL(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=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 d(l);let u=i.state,h=new NL(u,t,a);LL.call(i,h);let p=e=>{var o;return i[DL]=e,h.aborted||(LL.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[DL])),e},m=e=>(LL.call(i,u,e),d(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(dM){return m(new kL(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(dM),dM instanceof Error?dM:new Error(String(dM))))}}}}var PL="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 LL(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(xL.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var xL=class e extends wL.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[CL];o?this.name=o.name+"-"+o.count++:i[CL]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=OL.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);OL.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]:{};PL(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){LL.call(this,e)}};xL.STATECHANGED="stateChanged",xL.UPDATEAFSM="updateAFSM",xL.INIT="[*]",xL.ON="on",xL.OFF="off",xL.instances=new Map,xL.instances2=new WeakMap;var UL="undefined"!=typeof window,VL=UL&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1e3)},FL=UL&&window.cancelIdleCallback||function(e){clearTimeout(e)},BL=UL&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),HL=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=tw("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=rw(tw({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&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),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=oN(),o=()=>{if(r=oN()-i,r>=t.delay&&(i=oN()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=VL(o,{timeout:t.delay})};return t.ricID=VL(o,{timeout:t.delay})}static raf(t){let r,i=oN(),o=()=>document.hidden&&t.backgroundTask?(r=oN()-i,i=oN(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=oN()-i,r>=t.delay&&(i=oN()-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=oN()-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}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&BL&&BL(i),o&&FL(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};sw(HL,"taskMap",new Map),sw(HL,"currentTaskID",1),sw(HL,"sharedWorker",null),sw(HL,"workerTasks",new Map);var WL=HL;rC.SEI_MESSAGE;var GL={LOADED_DATA:rC.LOADEDDATA,LOADED_META_DATA:rC.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:rC.RESIZE,TIME_UPDATE:"time-update"},jL={};ow(jL,{create:()=>KL,remove:()=>qL});var zL=new WeakMap;function KL(e,t){zL.has(e)||zL.set(e,[]);let r=zL.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 qL(e){let t=zL.get(e);t&&(t.forEach(e=>e()),zL.delete(e))}var YL=new class{constructor(){sw(this,"_roomIdMap",new Map),sw(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:bw,env:zw.QCLOUD,browserVersion:DO.name+DO.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){wO||!XO.isAbleToUpload||this._configs.env===zw.QCLOUD&&this.uploadEventToKibana(rw(tw({},e),{result:"success"}))}logFailedEvent(e){if(wO||!XO.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)||_w.UNKNOWN};this._configs.env===zw.QCLOUD&&this.uploadEventToKibana(rw(tw({},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:Tw(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:bw,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=YO.enable?MN(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(bD(this._configs.sdkAppId,jw.LOG),n)}sendRequest(e,t){setTimeout(()=>HN({url:e,body:t,priority:"low"}).catch(()=>{}),2e3)}},JL=new WeakMap;function XL(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=qN({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=JL.get(e))&&t.has(n)?o():a(i)},a,s):null!=(c=JL.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;jN(i)&&i.call(this,t,r),null!=(o=JL.get(e))&&o.has(n)&&(JL.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=JL.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}):JL.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally(()=>{var t;return null==(t=JL.get(e))?void 0:t.delete(n)})},a}}var $L=class extends xL{constructor(e,t){super(e.id,"".concat(t,"-player")),this.options=e,this.kind=t,sw(this,"id"),sw(this,"element",null),sw(this,"track"),sw(this,"url"),sw(this,"attr"),sw(this,"mode"),sw(this,"muted"),sw(this,"_log"),sw(this,"_pausedRetryCount"),sw(this,"_isElementPlayingFired",!1),sw(this,"_interval"),sw(this,"_delayDestroyTimeoutId",0),sw(this,"_playSuccessResolve"),sw(this,"_isReplayByRecreateMediaStreamCalled",!1),sw(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=YC,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)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}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 lw(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(Cw){let t=lP({key:nP.PLAY_FAILED,data:{media:this.kind,error:Cw}});if(this._log.warn(Cw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new Ew({code:_w.PLAY_NOT_ALLOWED,message:t})}})}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.isStopped||(this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!fO?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout(()=>this.destroyElement(),3*e)):this.destroyElement(),this.handleStopped(rC.ENDED),this._interval>0&&WL.clearTask(this._interval))}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.src="",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():AO?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 KL(this.element,this.element).add(rC.PLAYING,e).add(rC.ENDED,e).add(rC.PAUSE,e).add(rC.ERROR,e).add(rC.LOADEDDATA,e).add(rC.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==jL||jL.create(e,e).add(rC.ENDED,t).add(rC.MUTE,t).add(rC.UNMUTE,t),e.readyState===rC.ENDED&&this.handleTrackEvent({type:rC.ENDED}),e.muted&&this.handleTrackEvent({type:rC.MUTE})}}bindAutoPlayEvent(){zO.on(qO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&qL(e)}unbindEvents(){this.element&&qL(this.element),this.unbindTrackEvents(),zO.off(qO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case rC.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(rC.PLAYING),this._interval&&(WL.clearTask(this._interval),this._interval=-1);break;case rC.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(rC.ENDED);break;case rC.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(rC.PAUSE),ak&&(this._interval=WL.run("timeout",()=>{this.element&&"PAUSED"===this._state&&this.resume()},{delay:3e3}));break;case rC.ERROR:if(this.element&&this.element.error){this.handlePaused(rC.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)),YL.uploadEvent({log:"stat-".concat(this.kind,"-").concat(OC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),Qk||$k?this.emit(GL.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case rC.LOADEDDATA:this.kind===rC.VIDEO&&this.emit(GL.LOADED_DATA);break;case rC.LOADEDMETADATA:this.kind===rC.VIDEO&&this.emit(GL.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then(()=>{this._log.warn("replayByRecreateMediaStream success"),YL.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),yP.addSuccessEvent({key:this.kind===rC.AUDIO?506700:516700})}).catch(()=>{var t;this._log.error("replayByRecreateMediaStream failed"),YL.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),yP.addFailedEvent({key:this.kind===rC.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(GL.ERROR,e)})}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise((t,r)=>{SN(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)}),SN(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){return lw(this,null,function*(){switch(e.type){case rC.ENDED:this.handleStopped(rC.ENDED);break;case rC.MUTE:this.handlePaused(rC.MUTE);break;case rC.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.resume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(rC.UNMUTE))}})}handlePlaying(e){var t;return this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),e}handlePaused(e){return this._log.debug("handlePaused",e),e}handleStopped(e){return this._log.debug("handleStopped",e),e}getElement(){return this.element}};sw($L,"PlayerEvent",GL),aw([XL({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],$L.prototype,"doReplayByRecreateMediaStream",1),aw([ML([],"PLAYING",{sync:!0,success(e){this.emit(GL.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}})],$L.prototype,"handlePlaying",1),aw([ML("PLAYING","PAUSED",{ignoreError:!0,sync:!0,success(e){this.emit(GL.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}})],$L.prototype,"handlePaused",1),aw([ML([],"STOPPED",{sync:!0,success(e){this.emit(GL.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}})],$L.prototype,"handleStopped",1);var QL,ZL="trtc_autoplay",ex="".concat(ZL,"_mask"),tx="".concat(ZL,"_wrapper"),rx="".concat(ZL,"_header"),ix="".concat(ZL,"_content"),ox="".concat(ZL,"_action_wrapper"),nx="".concat(ZL,"_question"),ax="".concat(ZL,"_collapse"),sx="".concat(ZL,"_action_confirm"),cx="".concat(ZL,"_detail"),lx="#2473E8",dx="dialog",ux="".concat(dx,"-show"),hx="".concat(dx,"-1"),px="".concat(dx,"-2"),mx=!1,fx=()=>!!document.querySelector(".".concat(tx)),_x="".concat(Fw,"/").concat(VD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),gx="<br><a href='".concat(_x,"' target='_blank'>").concat(VD()?"其他方案?":"Any other solution?","</a>"),Ex="".concat(VD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(gx):"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(gx)),vx=class{constructor(){if(sw(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),sw(this,"_dialogNode",null),sw(this,"_bodyPosition",""),sw(this,"_showDetail",!1),sw(this,"_isCollapseClicked",!1),sw(this,"_isQuestionClicked",!1),VD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!mx){let e=document.createElement("style");e.innerHTML=".".concat(ex,"{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(ex," div:not(.").concat(ox,"){display:block !important;}.").concat(tx,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(tx," a{color:").concat(lx,";}.").concat(rx,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(ix,"{margin:8px 0;}.").concat(ox,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(ax,"{margin-right:auto;cursor:pointer}.").concat(nx,"{height:100%;line-height:16px;cursor:pointer;}.").concat(sx,"{margin-left:8px;color:#fff;background:").concat(lx,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(sx,":hover{opacity:0.9;}.").concat(ax,",.").concat(sx,",.").concat(ix,",.").concat(nx,"{font-size:14px;}@media screen and (max-width:750px){.").concat(tx,"{width:80vw;}}"),document.head.appendChild(e),mx=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(ex,"\"><div class='").concat(tx,"'><div class='").concat(rx,"'>").concat(location.host,"</div><div class='").concat(ix,"'>").concat(this.content,"</div><div class='").concat(cx,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(Ex,"</div><div class='").concat(ox,"'></div></div></div>").trim();let t=document.createElement("button");t.className=sx,t.innerText=VD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=nx,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=ax,i.innerText="".concat(VD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(ox));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){fx()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(tx)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",XO.info("show autoplay dialog"),YL.uploadEvent({log:ux}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){XO.warn("confirm clicked, try resume stream"),zO.emit(qO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(cx));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||YL.uploadEvent({log:hx}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_x,"_blank"),this._isQuestionClicked||YL.uploadEvent({log:px}),this._isQuestionClicked=!0}},yx=class extends $L{constructor(e){super(e,rC.VIDEO),sw(this,"stat",{}),sw(this,"_calculateTimeout",-1),sw(this,"viewMirror",!1),sw(this,"objectFit"),sw(this,"container"),sw(this,"canvas"),sw(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,jD(e.viewMirror)||(this.viewMirror=e.viewMirror),jD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement(rC.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.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(rC.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(rC.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add(rC.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===rC.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===rC.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.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=YC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!fx()&&(this._log.info("[".concat(YC-this._pausedRetryCount+1,"/").concat(YC,"] ").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;l===rC.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===rC.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===rC.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(GL.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}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(GL.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(yL()&&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(Cw){this._log.warn("init stat failed",Cw)}}};function Tx(e,t){return lw(this,null,function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),XO.info("worklet addModule success")}catch(Cw){throw XO.info("worklet addModule catch error. ".concat(Cw.message)),Cw}})}"undefined"!=typeof AudioContext?QL=AudioContext:"undefined"!=typeof webkitAudioContext?QL=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(QL=mozAudioContext);var Ix,Ax=1500,Sx=-1,Rx=0,bx=-1,wx=!1;!function e(){try{if(Ix)return;(Ix=new QL({sampleRate:48e3})).onstatechange=()=>{XO.info("context state: ".concat(Ix.state).concat("running"!==Ix.state?" visibilityState: ".concat(document.visibilityState):"")),Cx()},clearTimeout(Sx)}catch(gH){XO.error("initAudioContext failed: ".concat(gH," typeof AudioContextClass: ").concat(typeof QL)),Sx=setTimeout(e,1e3)}}();var Cx=()=>{"suspended"===Ix.state?(Rx=oN(),-1===bx&&(bx=setTimeout(()=>{"suspended"===Ix.state&&(wx=!0,zO.emit("155",{isSuspended:!0}))},Ax)),kx(),document.addEventListener("click",Cx)):"interrupted"===Ix.state?kx():(Rx&&(yP.addNumber({key:507800,value:oN()-Rx,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),Rx=0),-1!==bx&&(clearTimeout(bx),bx=-1,wx&&(wx=!1,zO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",Cx),document.removeEventListener("click",Cx))},Dx=0,Nx=-1;function kx(){return new Promise((e,t)=>{if("running"===Ix.state)return e();Date.now()-Dx<1e3?(clearTimeout(Nx),Nx=setTimeout(()=>{Dx=Date.now(),Ix.resume().then(e,t)},1e3)):(clearTimeout(Nx),Dx=Date.now(),Ix.resume().then(e,t))}).catch(e=>{XO.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",Cx)})}document.addEventListener("click",Cx);var Ox=e=>Ix,Mx=class{constructor(e){this.name=e,sw(this,"node"),sw(this,"node2"),sw(this,"pre",new Set),sw(this,"next",new Set),sw(this,"context"),sw(this,"connectedNodes",new Set),sw(this,"nextInputChannelMap",new Map),sw(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach(t=>t.channelCount=e)}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}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.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(NC){XO.error(NC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),yP.addSuccessEvent({key:502701})}catch(aM){XO.error(aM),yP.addFailedEvent({key:502701,error:aM})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),yP.addSuccessEvent({key:502702})}catch(Cw){XO.error(Cw),yP.addFailedEvent({key:502702,error:Cw})}}preNodeReconnect(){this.pre.forEach(e=>{e.node?e.reconnect():e.preNodeReconnect()})}connectNext(e){this.next.forEach(t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)})}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),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(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},Px=class extends Mx{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,sw(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}},Lx=class{constructor(){sw(this,"source",new Mx),sw(this,"gain",new Mx),sw(this,"destination",new Mx)}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(Ox().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(Fx(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}},xx=class extends Lx{constructor(e){super(),this.context=e,sw(this,"aec",new Mx("aec")),sw(this,"mixNode",new Mx("mixNode")),sw(this,"silentNode",new Mx("silentNode")),sw(this,"denoiser",new Mx("denoiser")),sw(this,"voiceChanger",new Mx("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.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.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.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()}},Ux=class{constructor(){sw(this,"audioContext",Ox()),sw(this,"destination",this.audioContext.createMediaStreamDestination()),sw(this,"inputs",new Set),sw(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]}},Vx=new WeakMap;function Fx(e){let t=Vx.get(e);if(t)return t;let r=Ox();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return Vx.set(e,t),t}var Bx=class e{constructor(e){sw(this,"_volume",0),sw(this,"_volumeDb",0),sw(this,"_log"),sw(this,"_scriptProcessorNode",null),sw(this,"_audioWorkletNode",null),sw(this,"_interval",200),sw(this,"ready",this.preload());let{log:t}=e;this._log=t,zO.on(qO.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=Tx(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(oM){this._log.error("volumeMeter init audio worklet error: ".concat(oM)),YL.logFailedEvent({userId:this._log.userId,eventType:OC.LOAD_WORKLET,error:oM}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=Ox().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(oM){this._log.error("volumeMeter init script processor error: ".concat(oM))}}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,zO.off(qO.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})}};sw(Bx,"lastMessageTime",0),sw(Bx,"audioContext",Ox()),sw(Bx,"workletReady");var Hx=Bx,Wx=class extends Mx{constructor(e){super(),sw(this,"_volumeMeter"),this._volumeMeter=new Hx(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return lw(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()}}},Gx=Hx,jx=nw(dw(),1),zx=e=>t=>t.deviceId===e,Kx=class{constructor(e,t){sw(this,"kind"),sw(this,"type"),sw(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&&Jx(this.devices[0])||t&&(r.forEach(e=>{if(e.deviceId&&!this.devices.find(zx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");XO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}),this.devices.forEach(e=>{if(e.deviceId&&!r.find(zx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");XO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices=r}hasDevice(e){return!!this.devices.find(t=>t.deviceId===e)}},qx=class extends jx.EventEmitter{constructor(){super(),sw(this,"audioInputs",new Kx(rC.AUDIO,"Input")),sw(this,"videoInputs",new Kx(rC.VIDEO,"Input")),sw(this,"audioOutputs",new Kx(rC.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",()=>this.update()),"ondevicechange"in navigator.mediaDevices||WL.run("interval",()=>{this.update()},{delay:1e4}))}init(){Xx().then(e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)})}update(){return lw(this,arguments,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield Xx(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()})}hasBlueTooth(){var e;if((null==(e=Ox())?void 0:e.outputLatency)>150)return!0;let t=["bluetooth","air","wireless","bt","tws","buds","headset","headphone"];return this.audioOutputs.devices.some(e=>t.some(t=>e.label.toLowerCase().includes(t)))}},Yx=kw||Nw?null:new qx;function Jx(e){return e.deviceId===e.groupId&&""===e.groupId}function Xx(){return lw(this,arguments,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(CP()||!bP())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach(e=>{Jx(e)&&(e.kind===rC.AUDIO_INPUT?r.audio=!0:e.kind===rC.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&&kx()}catch(aM){XO.debug("capture before getDevices failed: ",aM)}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&&tU.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r})}()})}function $x(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Yx.update(e?1:0).then(e=>e.audioInputs.devices)}function Qx(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Yx.update(e?2:0).then(e=>e.videoInputs.devices)}var Zx=!1;function eU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return lw(this,null,function*(){return(ak||mO)&&(e=!1),Yx.update(e?1:0).then(e=>e.audioOutputs.devices)})}var tU=new Set;function rU(e,t){return lw(this,null,function*(){let r=(yield $x()).find(e=>e.deviceId===JC);return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t})}var iU,oU=class extends Lx{constructor(e){super(),this.log=e,sw(this,"volumeMeter"),sw(this,"volumeMeterAfter3A"),sw(this,"volumeDestination"),sw(this,"analyser",new Px),this.volumeMeter=new Wx({log:this.log}),this.volumeMeterAfter3A=new Wx({log:this.log}),this.volumeDestination=new Mx,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},nU=class e extends $L{constructor(e){super(e,rC.AUDIO),sw(this,"_outputDeviceId"),sw(this,"_volume",1),sw(this,"_destination",Ox().createMediaStreamDestination()),sw(this,"pipeline"),sw(this,"volumeMeterMode","worklet"),this.mode=0,e.url&&(this.url=e.url),this.pipeline=new oU(this._log)}get duration(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.duration)||0))}get currentTime(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.currentTime)||0))}set currentTime(e){this.element&&(this.element.currentTime=e/1e3)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===EO||"15.3"===EO||"15.4"===EO)&&this.muted)return void this._log.info("audioElement is muted.");let t=iU||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.url&&(t.crossOrigin="anonymous",t.src=this.url),this.element=t,KD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===iU&&(iU=void 0),this.options.enableTimeupdateEvent&&(this.element.ontimeupdate=()=>this.emit(GL.TIME_UPDATE,this.currentTime)),this.bindElementEvents()}play(t){return lw(this,null,function*(){if(this.track||this.url)return!this.pipeline.source.node&&this.track&&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(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(Ox().createAnalyser()),function(){lw(this,null,function*(){try{Zx||(Zx=!0,XO.info("speakers:".concat((yield eU()).map(e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label)))))}catch(e){}})}(),cw(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)}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}setSinkId(e){return lw(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()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},aU=class extends nU{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(GL.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}},sU=class extends nU{constructor(e){super(e),sw(this,"_sourceElement"),sw(this,"_output",new Mx),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(Ox().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(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(GL.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.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,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"):ak||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),qL(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&&fO&&(iU=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},cU=class extends xL{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?sU:yx)}=e;var a;super(),sw(this,"id",$O()),sw(this,"userId",""),sw(this,"isRemote"),sw(this,"mediaType"),sw(this,"room"),sw(this,"user"),sw(this,"_log"),sw(this,"_inputTrack"),sw(this,"_outputTrack"),sw(this,"isPlayCalled"),sw(this,"container",null),sw(this,"player"),sw(this,"subVideoPlayerMap"),sw(this,"muted",!1),sw(this,"abortCtrl"),sw(this,"objectFit","cover"),sw(this,"mirror"),sw(this,"rotation"),sw(this,"isScreen",!1),sw(this,"manager"),sw(this,"trackSettings"),sw(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=XO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof zF?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof zF}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(GL.PLAYER_STATE_CHANGED,e=>{zO.emit(qO.PLAYER_STATE_CHANGED,tw({track:this},e)),this.emit("player-state-changed",e)}),this.kind===rC.VIDEO&&(this.player.on(GL.LOADED_DATA,()=>{this.emitFirstVideoFrameEvent(GL.LOADED_DATA),zO.emit(qO.VIDEO_LOADED_DATA,{track:this})}),this.player.on(GL.LOADED_META_DATA,()=>{this.emitFirstVideoFrameEvent(GL.LOADED_META_DATA)}),this.player.on(GL.MEDIA_TRACK_CHANGED,e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach(t=>t.setTrack(e))}),this.player.on(GL.RESIZE,e=>{this.emit("video-size-changed",tw({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))})),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(GL.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||XO}get kind(){return 1===this.mediaType?rC.AUDIO:rC.VIDEO}get isAudio(){return this.kind===rC.AUDIO}get strMediaType(){return 4===this.mediaType?rC.VIDEO:2===this.mediaType?rC.SCREEN:rC.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 lw(this,null,function*(){let r=JD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!jD(t.muted)&&this.setPlayerMute(t.muted),t&&!jD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof yx&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),JD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!jD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===rC.VIDEO)&&this.setPlayerMute(!0),t&&!jD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof yx&&(this.player.setObjectFit(this.objectFit),t&&!jD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof yx&&this.player.setContainer(r)),zO.emit(qO.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),JD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(lM){throw this.handleAutoPlayFailed(lM),lM}}else this.log.info("play has not mediaTrack, abort")})}setMirror(e,t){if(this.isScreen||this.kind!==rC.VIDEO||jD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(qD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&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 lw(this,null,function*(){if(!this._outputTrack||this.kind===rC.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&&(jD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new yx({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(zN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach(e=>{e.stop()}),this.container=null)}resume(){return lw(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),zO.emit(e?qO.TRACK_MUTED:qO.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){KL(e,e).add(rC.MUTE,this.onTrackMuted).add(rC.UNMUTE,this.onTrackUnmuted).add(rC.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===rC.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){qL(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(zN(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 vx;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 yx?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===GL.RESIZE&&!n&&!a||e===GL.LOADED_META_DATA&&!n&&!a||(e===GL.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,DN(this.rotation)&&([n,a]=[a,n]),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"))}};aw([ML([],xL.INIT,{sync:!0})],cU.prototype,"close",1);var lU=Object.prototype.hasOwnProperty;var dU=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(FD(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(lU.call(e,t))return!1;return!0}return!1},uU=qN({retryFunction:function(e){return lw(this,null,function*(){let t=function(e){return{audio:pU(e),video:mU(e)}}(e);XO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield $x(),XO.info("microphones: ".concat(gN(r.map(e=>rw(tw({},e),{groupId:e.groupId.substring(0,8)})),{keysToInclude:o})))),t.video&&(i=yield Qx(),XO.info("cameras: ".concat(gN(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return aL&&e.getTracks().forEach(e=>{XO.info("".concat(e.kind," capabilities: ").concat(gN(e.getCapabilities(),{keysToInclude:rD})))}),t.audio&&kx(),e}catch(lM){let{message:o}=lM;throw"NotFoundError"===lM.name&&(e.video&&i&&0===i.length&&(o=lP({key:nP.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=lP({key:nP.MICROPHONE_NOT_FOUND}))),new Ew({code:_w.INITIALIZE_FAILED,name:lM.name,message:o,constraint:lM.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,(!mO||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&&hU(o[0].microphoneId,!1),o[0].cameraId&&hU(o[0].cameraId,!0)},onRetrying:e=>{XO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{YL.logFailedEvent({eventType:OC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{YL.logSuccessEvent({eventType:OC.GET_USER_MEDIA_RETRY}),YL.uploadEvent({log:"stat-".concat(OC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function hU(e,t){return lw(this,null,function*(){let r=(t?yield Qx():yield $x()).find(t=>t.deviceId===e);r&&GD(r.getCapabilities)&&XO.warn(gN(r.getCapabilities(),{keysToInclude:rD}))})}function pU(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!dU(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(KD(e.channelCount)&&(t.channelCount=e.channelCount),qD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),qD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),qD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!dU(t)||t)}function mU(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&&!dU(r)?r:(e.width&&(r.width={ideal:e.width},t&&!uk&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!uk&&(r.height.max=e.height)),uk&&Wk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!dU(r)||r)}var fU=uU;function _U(e){return gU((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return lw(this,null,function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r})})}function gU(e){return function(t,r,i){return i.value=e(i.value,r),i}}var EU=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&XO.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",()=>{XO.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState}),e=!0)}})(),vU=0,yU=class{constructor(){sw(this,"log",XO.createLogger({id:"fq".concat(++vU)})),sw(this,"isRunning",!1),sw(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=tw({},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()})}},TU=new WeakMap,IU=new WeakMap;function AU(){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=TU.get(this)||new yU;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return TU.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function SU(e,t){return gU((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=oN();return QD(e)?e.then(e=>(t?yP.addSuccessEvent({key:i,cost:oN()-s}):yP.addSuccessEvent({key:i}),e)).catch(e=>{throw yP.addFailedEvent({key:i,error:e}),e}):(yP.addSuccessEvent({key:i}),e)}catch(Dw){throw yP.addFailedEvent({key:i,error:Dw}),Dw}})}var RU={};function bU(){}ow(RU,{Events:()=>HU,Inspect:()=>OU,LastSink:()=>MU,Sink:()=>PU,Subscribe:()=>LU,TimeoutError:()=>WU,audit:()=>JV,bindCallback:()=>SV,bindNodeCallback:()=>RV,buffer:()=>tV,bufferCount:()=>eV,bufferTime:()=>OF,call:()=>wU,catchError:()=>PF,combineLatest:()=>XU,concat:()=>qU,concatMap:()=>yF,concatMapTo:()=>TF,count:()=>kV,create:()=>UU,debounce:()=>QV,debounceTime:()=>ZV,defer:()=>oV,delay:()=>MF,deliver:()=>VU,dispose:()=>DU,elementAt:()=>eF,empty:()=>CV,every:()=>nF,exhaustMap:()=>CF,exhaustMapTo:()=>DF,expand:()=>xF,filter:()=>LV,find:()=>tF,findIndex:()=>rF,first:()=>iF,fromAnimationFrame:()=>IV,fromArray:()=>uV,fromEvent:()=>_V,fromEventPattern:()=>fV,fromFetch:()=>EV,fromIterable:()=>vV,fromPromise:()=>gV,fromReadableStream:()=>TV,fromReader:()=>yV,groupBy:()=>NF,identity:()=>CU,ignoreElements:()=>xV,iif:()=>JU,inspect:()=>NU,interval:()=>hV,last:()=>oF,map:()=>lF,mapTo:()=>dF,max:()=>OV,merge:()=>zU,mergeMap:()=>SF,mergeMapTo:()=>RF,min:()=>MV,never:()=>bV,nothing:()=>bU,of:()=>dV,pairwise:()=>sF,pipe:()=>xU,race:()=>KU,range:()=>AV,reduce:()=>NV,retry:()=>WF,scan:()=>aF,setAsapScheduler:()=>cV,share:()=>jU,shareReplay:()=>YU,skip:()=>HV,skipUntil:()=>WV,skipWhile:()=>GV,startWith:()=>QU,subject:()=>iV,subscribe:()=>FF,sum:()=>PV,switchMap:()=>fF,switchMapTo:()=>gF,take:()=>UV,takeLast:()=>BV,takeUntil:()=>VV,takeWhile:()=>FV,tap:()=>BF,throttle:()=>qV,throwError:()=>wV,timeInterval:()=>kF,timeout:()=>HF,timer:()=>pV,toPromise:()=>UF,toReadableStream:()=>VF,withLatestFrom:()=>ZU,zip:()=>$U});var wU=e=>e(),CU=e=>e;function DU(){this.dispose()}var NU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,kU=1,OU=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new BU(e,this,this.streamId++);return HU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},MU=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=bU,this.error=bU,this.next=bU,this.dispose=bU,this.subscribe=bU,this.doDefer()}subscribe(e){return e instanceof OU?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(wU),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}},PU=class extends MU{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)}},LU=class extends MU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:bU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:bU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=bU,e instanceof OU){let o={toString:()=>"subscribe",id:0,source:e};this.defer(()=>{HU.defer(o,0)}),HU.create(o),HU.pipe(o),this.sourceId=o.id,this.subscribe(e),HU.subscribe({id:o.id,end:!0}),t==bU?this._next=e=>HU.next(o,0,e):this.next=e=>{HU.next(o,0,e),t(e)},i==bU?this._complete=()=>HU.complete(o,0):this.complete=()=>{this.dispose(),HU.complete(o,0),i()},r==bU?this._error=e=>HU.complete(o,0,e):this.error=e=>{this.dispose(),HU.complete(o,0,e),r(e)}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function xU(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 UU(e,t,r){if(NU()){let i=Object.defineProperties(Object.setPrototypeOf(e,OU.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}});HU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof OU&&HU.addSource(i,t)}return i}return e}function VU(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 OU){let o=UU(t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)},t,arguments);return o.source=r,HU.pipe(o),o}return t=>r(new e(t,...i))}}}function FU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var BU=class extends PU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer(()=>{HU.defer(this.source,this.id)})}next(e){HU.next(this.source,this.id,e),this.sink.next(e)}complete(){HU.complete(this.source,this.id),this.sink.complete()}error(e){HU.complete(this.source,this.id,e),this.sink.error(e)}},HU={addSource(e,t){FU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){FU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;FU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){FU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){FU("defer",{id:e.id,streamId:t})},pipe(e){FU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){FU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=kU++),FU("create",{name:e.toString(),id:e.id})}},WU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},GU=class extends MU{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 jU(){return e=>{let t=new GU(e);if(e instanceof OU){let r=UU(e=>{t.add(e)},"share",arguments);return t.sourceId=r.id,r.source=e,HU.pipe(r),r}return UU(t.add.bind(t),"share",arguments)}}function zU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(e=>{let r=new PU(e),i=t.length;r.complete=()=>{0===--i&&e.complete()},t.forEach(r.bindSubscribe)},"merge",arguments)}function KU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(e=>{let r=new Map;t.forEach(t=>{let i=new PU(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 qU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(e=>{let r=0,i=t.length,o=new PU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()},"concat",arguments)}function YU(e){return t=>{let r=new GU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach(e=>e.next(t))},UU(e=>{e.defer(()=>r.remove(e)),i.forEach(t=>e.next(t)),r.add(e)},"shareReplay",arguments)}}function JU(e,t,r){return UU(i=>e()?t(i):r(i),"iif",arguments)}function XU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(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 PU(e);o.next=t=>{i--,o.next=t=>{n[r]=t,0===i&&e.next(n)},o.next(t)},o.complete=a,o.subscribe(t)})},"combineLatest",arguments)}function $U(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0===--i&&e.complete()};t.forEach((t,r)=>{let i=new PU(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 QU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>UU(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 ZU=VU(class extends PU{constructor(e){super(e);let t=new PU(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=bU,t.subscribe(XU(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),eV=VU(class extends PU{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"),tV=VU(class extends PU{constructor(e,t){super(e),this.buffer=[];let r=new PU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=bU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),rV=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 iV(e){let t=arguments,r=jU()(UU(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=bU,r.complete=bU,r.error=bU,r}function oV(e){return UU(t=>t.subscribe(e()),"defer",arguments)}var nV={promise:e=>{Promise.resolve().then(e)},setImmediate:"undefined"!=typeof setImmediate?e=>setImmediate(e):null,setTimeout:e=>setTimeout(e,0)},aV="undefined"!=typeof Promise?nV.promise:nV.setImmediate?nV.setImmediate:nV.setTimeout,sV=e=>t=>{aV(()=>e(t))},cV=e=>{"function"==typeof e?aV=e:nV[e]&&(aV=nV[e])},lV=e=>sV(t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()});function dV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return UU(lV(t),"of",arguments)}function uV(e){return UU(lV(e),"fromArray",arguments)}function hV(e){return UU(t=>{let r=0,i=setInterval(()=>t.next(r++),e);return t.defer(()=>{clearInterval(i)}),"interval"},"interval",arguments)}function pV(e,t){return UU(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 mV(e,t){return r=>{let i=e=>r.next(e);r.defer(()=>t(i)),e(i)}}function fV(e,t){return UU(mV(e,t),"fromEventPattern",arguments)}function _V(e,t){if("on"in e&&"off"in e)return UU(mV(r=>e.on(t,r),r=>e.off(t,r)),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return UU(mV(r=>e.addListener(t,r),r=>e.removeListener(t,r)),"fromEvent",arguments);if("addEventListener"in e)return UU(mV(r=>e.addEventListener(t,r),r=>e.removeEventListener(t,r)),"fromEvent",arguments);throw"target is not a EventDispachter"}function gV(e){return UU(t=>{e.then(t.next.bind(t),t.error.bind(t))},"fromPromise",arguments)}function EV(e,t){return UU(oV(()=>gV(fetch(e,t))),"fromFetch",arguments)}function vV(e){return UU(sV(t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Cw){t.error(Cw)}}),"fromIterable",arguments)}function yV(e){let t=r=>rV(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 UU(e=>{t(e)},"fromReader",arguments)}function TV(e){return UU(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 IV(){return UU(e=>{let t=requestAnimationFrame(function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))});e.defer(()=>cancelAnimationFrame(t))},"fromAnimationFrame",arguments)}function AV(e,t){return UU(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 SV(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 UU(r=>{let o=i.concat(e=>(r.next(e),r.complete()));e.apply(t,o)},"bindCallback",arguments)}function RV(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 UU(r=>{let o=i.concat((e,t)=>e?r.error(e):(r.next(t),r.complete()));e.apply(t,o)},"bindNodeCallback",arguments)}function bV(){return UU(()=>{},"never",arguments)}function wV(e){return UU(t=>t.error(e),"throwError",arguments)}function CV(){return UU(e=>e.complete(),"empty",arguments)}var DV=class extends PU{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)}},NV=VU(DV,"reduce"),kV=e=>VU(DV,"count")((t,r)=>e(r)?t+1:t,0),OV=()=>VU(DV,"max")(Math.max),MV=()=>VU(DV,"min")(Math.min),PV=()=>VU(DV,"sum")((e,t)=>e+t,0),LV=VU(class extends PU{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"),xV=VU(class extends PU{next(e){}},"ignoreElements"),UV=VU(class extends PU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0===--this.count&&(this.doDefer(),this.complete())}},"take"),VV=VU(class extends PU{constructor(e,t){super(e);let r=new PU(e);r.next=()=>{r.doDefer(),e.complete()},r.complete=DU,r.subscribe(t)}},"takeUntil"),FV=VU(class extends PU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):(this.doDefer(),this.complete())}},"takeWhile"),BV=e=>NV((t,r)=>(t.push(r),t.length>e&&t.shift(),t),[]),HV=VU(class extends PU{constructor(e,t){super(e),this.count=t}next(e){0===--this.count&&(this.next=super.next)}},"skip"),WV=VU(class extends PU{constructor(e,t){super(e),e.next=bU;let r=new PU(e);r.next=()=>{r.doDefer(),e.resetNext()},r.complete=DU,r.subscribe(t)}},"skipUntil"),GV=VU(class extends PU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),jV={leading:!0,trailing:!1},zV=class extends PU{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)}},KV=class extends PU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:jV;super(e),this.durationSelector=t,this.config=r,this._throttle=new zV(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=bU,this._throttle.complete(),super.complete()}},qV=VU(KV,"throttle"),YV={leading:!1,trailing:!0},JV=e=>VU(KV,"audit")(e,YV),XV=class extends PU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},$V=class extends PU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new XV(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()}},QV=VU($V,"debounce"),ZV=e=>VU($V,"debounceTime")(t=>pV(e)),eF=VU(class extends PU{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0===this.count--&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),tF=e=>t=>UV(1)(GV(t=>!e(t))(t)),rF=VU(class extends PU{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},"findIndex"),iF=VU(class extends PU{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.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),oF=VU(class extends PU{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"),nF=VU(class extends PU{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.doDefer(),this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),aF=VU(class extends PU{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"),sF=VU(class extends PU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),cF=class extends PU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},lF=VU(cF,"map"),dF=e=>VU(cF,"mapTo")(t=>e),uF=class extends PU{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()}},hF=class e extends PU{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(t,r){let i=this.currentSink=new r(this.sink,t,this);this.complete===e.prototype.complete&&(this.complete=this.tryComplete),i.complete=i.tryComplete,i.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},pF=class extends uF{},mF=class extends hF{next(e){this.subInner(e,pF),this.next=e=>{this.currentSink.dispose(),this.subInner(e,pF)}}},fF=VU(mF,"switchMap");function _F(e){return(t,r)=>e(()=>t,r)}var gF=_F(VU(mF,"switchMapTo")),EF=class extends uF{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},vF=class extends hF{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(),EF),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},yF=VU(vF,"concatMap"),TF=_F(VU(vF,"concatMapTo")),IF=class extends uF{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},AF=class extends hF{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,IF),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach(e=>e.resetComplete()):this.dispose()}},SF=VU(AF,"mergeMap"),RF=_F(VU(AF,"mergeMapTo")),bF=class extends uF{dispose(){this.context.resetNext(),super.dispose()}},wF=class extends hF{next(e){this.next=bU,this.subInner(e,bF)}},CF=VU(wF,"exhaustMap"),DF=_F(VU(wF,"exhaustMapTo")),NF=VU(class extends PU{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=iV(),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"),kF=VU(class extends PU{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"),OF=VU(class extends PU{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"),MF=VU(class extends PU{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"),PF=VU(class extends PU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),LF=class extends uF{tryComplete(){let e=this.context.inners.delete(this);super.dispose(),e&&this.context.checkComplete()}next(e){this.sink.next(e),this.context.expandValue(e)}},xF=VU(class extends hF{constructor(e,t){super(e,t),this.project=t,this.inners=new Set,this.sourceCompleted=!1}next(e){this.sink.next(e),this.expandValue(e)}expandValue(e){let t=new LF(this.sink,e,this);this.currentSink=t,this.complete=this.tryComplete,t.complete=t.tryComplete,this.inners.add(t),t.subscribe(this.makeSource(e,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&0===this.inners.size&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},"expand"),UF=()=>e=>new Promise((t,r)=>{let i;new LU(e,e=>i=e,r,()=>t(i))}),VF=()=>e=>{let t;return new ReadableStream({start(r){t=new LU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},FF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:bU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:bU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:bU;return i=>new LU(i,e,t,r)},BF=VU(class extends PU{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"),HF=VU(class extends PU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout(()=>this.error(new WU(this.timeout)),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),WF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof OU){let r=UU(i=>{let o=e,n=new PU(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,HU.pipe(r),r}return r=>{let i=e,o=new PU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},GF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(GF||{}),jF=class e extends cU{constructor(e,t){super({mediaType:e,PlayerClass:t}),sw(this,"isRemote",!1),sw(this,"deviceId"),sw(this,"groupId",""),sw(this,"label",""),sw(this,"sourceTrack"),sw(this,"enableAutoSwitchWhenRecapturing",!0),sw(this,"_isRecapturing",!1),sw(this,"_lastRecaptureTime",0),sw(this,"_onMuteTimeoutId",-1),sw(this,"_encodeCheckTimeoutId",-1),sw(this,"recaptureMode",0),sw(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){KL(e,e).add(rC.MUTE,this.onTrackMuted).add(rC.UNMUTE,this.onTrackUnmuted).add(rC.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===rC.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){qL(e)}setStateToReady(){}capture(e){return lw(this,null,function*(){var t;try{let r,i=oN();zO.emit(qO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.sourceTrack)||t.stop(),r=yield fU(e));let o=r.getTracks()[0];return yield this.setInputMediaStreamTrack(o),e.customSource||(this.sourceTrack=o,this.updateDeviceIdInUse(),this.listenDeviceChange()),zO.emit(qO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:oN()-i}),r}catch(aM){throw zO.emit(qO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:aM}),this.log.error("getUserMedia error observed ".concat(aM)),aM}})}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=lN((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}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),Promise.all([t,new Promise((t,r)=>lw(this,null,function*(){var i,o;this.hasFlag?t():xU(_V(e,"local-publish-flag-changed"),LV(()=>this.hasFlag),VV(zU(_V(this,xL.INIT),_V(this,"ready"))),FF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout(()=>{var e,t,i,o,n,a;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===rC.AUDIO,t=this.stat.bytesSent>0;if(yP[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&yP[t?"addSuccessEvent":"addFailedEvent"]({key:e})}t||(yP.addEnum({key:e?503701:513703,value:FO()}),YL.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(xO()||HO()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.emit("6",this),r(new Ew({message:"".concat(this.strMediaType," encode failed"),code:e?_w.AUDIO_ENCODE_FAILED:_w.VIDEO_ENCODE_FAILED})))}},5e3))}))])}unpublish(){this.room&&this.room.localTracks.delete(this),zO.emit(qO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return lw(this,null,function*(){if(this.sourceTrack&&nL){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return lw(this,arguments,function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==rC.AUDIO||t!==JC||(yield rU(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),Xx().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.sourceTrack||this.kind===rC.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(rC.AUDIO_INPUT);return!!tU.has(r)}(this.sourceTrack)||this.kind===rC.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(rC.VIDEO_INPUT);return!!tU.has(r)}(this.sourceTrack)||this._isRecapturing||e&&Wk&&mO)}onTrackMuted(){if(super.onTrackMuted(),EU(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<tD)return void setTimeout(()=>this.onTrackMuted(),tD);this._onMuteTimeoutId=setTimeout(()=>lw(this,null,function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((ak||sk)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return lw(this,null,function*(){if(cw(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<tD)return void setTimeout(()=>this.onTrackEnded(),tD);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}})}recapture(e){return lw(this,null,function*(){var t;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying"),null==(t=this.sourceTrack)||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 $x():yield Qx()).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}),zO.emit(qO.LOCAL_TRACK_RECAPTURE,{track:this})}).catch(e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),zO.emit(qO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})})})}getRecoverCaptureDeviceId(){return lw(this,null,function*(){let e=this instanceof $F;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(KF.get(t)||0)+1;if(KF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield Qx()).find(e=>!KF.has(e.deviceId)):(yield $x()).find(e=>!KF.has(e.deviceId));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t})}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};aw([ML(xL.INIT,"ready",{ignoreError:!0,sync:!0})],jF.prototype,"setStateToReady",1),aw([AU()],jF.prototype,"capture",1),aw([ML("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),zO.emit(qO.LOCAL_TRACK_PUBLISHED,{track:this,room:this.room}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof Ew){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===_w.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),SU(521714,!1)],jF.prototype,"publish",1),aw([gU(e=>function(){return lw(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)})}),ML([],"ready",{sync:!0})],jF.prototype,"unpublish",1);var zF=jF,KF=new Map;zO.on(qO.SWITCH_DEVICE_SUCCESS,e=>{e.track.deviceId&&KF.delete(e.track.deviceId)});var qF=class e extends zF{constructor(e){super(1,aU),sw(this,"mediaType",1),sw(this,"volume",0),sw(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),sw(this,"playerMuted",!0),sw(this,"pipeline"),sw(this,"earMonitorGainNode",new Mx),sw(this,"_output",new Mx),sw(this,"codecPipeline",[]),sw(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),sw(this,"mixedAudioReferenceMap",new Map),sw(this,"isAudioContextLongSuspended",!1),this.manager=e,this.pipeline=new xx(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),zO.on(qO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return Gx.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}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}setInputMediaStreamTrack(t){return lw(this,null,function*(){let r=this.trackSettings||{};yP.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),yP.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),yP.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.source.channelCount=o||1,this.pipeline.replaceSource(t),yield cw(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)})}capture(t){return lw(this,arguments,function(t){var r=this;let{deviceId:i,customSource:o,useExactDeviceId:n=!0,retryWhenExactFailed:a}=t;return function*(){let t=yield cw(e.prototype,r,"capture").call(r,{video:!1,audio:!0,microphoneId:i,echoCancellation:r.profile.echoCancellation,autoGainControl:r.profile.autoGainControl,noiseSuppression:r.profile.noiseSuppression,sampleRate:r.profile.sampleRate,channelCount:r.profile.channelCount,useExactDeviceId:n,retryWhenExactFailed:a,customSource:o});return kx(),t}()})}switchDevice(e){return lw(this,null,function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==JC)return;if(yield rU(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),zO.emit(qO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(NC){throw this.log.error("switch microphone failed ".concat(NC)),this.deviceId&&this.recapture(this.deviceId),NC}}})}listenDeviceChange(){Yx&&!Yx.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&Yx.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return lw(this,null,function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(GF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){VB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield $x();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Yx.on("audioInputAdded",this.handleMicrophoneAdded,this)}})}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Yx.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return lw(this,arguments,function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!jD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!jD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!jD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(uk||mO?yield e.applyConstraints(n).catch(e=>t._log.warn("update3A failed: ",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&&yP.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),ak&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(Ox().createGain()),this._output.setNode(Ox().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!mO&&!ak)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;hO<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(yP.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=Fx(e),i=new Mx,o=Ox().createGain();o.gain.value=1;let n=new Mx;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode())}close(){this.mixedAudioReferenceMap.forEach(e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()}),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),Yx.off("audioInputAdded",this.handleMicrophoneAdded,this),Yx.off("audioInputRemoved",this.handleMicrophoneRemoved,this),zO.off(qO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){return lw(this,null,function*(){try{yield cw(e.prototype,this,"recapture").call(this,t)}catch(NC){let i=(yield $x()).find(e=>e.deviceId!==t);if(!i)throw NC;yield cw(e.prototype,this,"recapture").call(this,i.deviceId)}})}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight((e,t)=>t?t({frame:e,ntp:yw()}):e,e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some(e=>e)}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(fO?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},YF=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}},JF=class{constructor(){sw(this,"_seiMessageList",[]),sw(this,"_smallSeiMessageList",[]),sw(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 YF(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}},XF=class e extends zF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,yx),sw(this,"profile",tw({},Zw)),sw(this,"avoidCropping",!1),sw(this,"_scaleResolutionDownBy"),sw(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0,framesCaptured:0}),sw(this,"small"),sw(this,"isNeedToSetBandwidth"),sw(this,"muteImage"),sw(this,"manager"),sw(this,"_seiCodec",new JF),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(rw(tw({},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(nL&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return lw(this,null,function*(){var r,i,o;if(zD(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,cw(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),cw(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=this.fallbackProfile(e);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(rw(tw({},this.profile),{width:1920,height:1080})))}applyProfile(){return lw(this,null,function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===TO&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||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;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:rC.VIDEO,videoType:rC.BIG})}})}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return nL&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:CN(this.settings,this.profile)}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 lw(this,null,function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};if("user"===e||"environment"===e){t.facingMode=e;try{if(($k||aO)&&"environment"===e&&sL){let e=(yield Qx(!0)).map(e=>{var t;return rw(tw({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})}).filter(e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")}),r=e[0];e.forEach(e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)}),null!=r&&r.capabilities&&(delete t.facingMode,this._log.info("switch to max res camera",r),t.deviceId=r.deviceId)}}catch(aM){this._log.warn("get max res camera failed",aM)}}else t.deviceId=e;this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),zO.emit(qO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(NC){throw this.log.error("switch camera failed ".concat(NC)),this.deviceId&&this.recapture(this.deviceId),NC}})}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=tw({},e);return e.width*e.height<=19200&&sk&&lO&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&SO&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),vO(EO,"14.3")&&yO(EO,"14.0",!0)&&this.on("7",()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))}),!t&&this.avoidCropping&&(lO||uk)&&!OO()&&e.width*e.height<=230400&&e.width/e.height===16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){Yx&&!Yx.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&Yx.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return lw(this,null,function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(GF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){VB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield Qx();e[0]?this.recapture(e[0].deviceId):t=!0}t&&Yx.on("videoInputAdded",this.handleCameraAdded,this)}})}handleCameraAdded(e){return lw(this,null,function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||(Yx.off("videoInputAdded",this.handleCameraAdded,this),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 jD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){Yx.off("videoInputAdded",this.handleCameraAdded,this),Yx.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return lw(this,null,function*(){try{yield cw(e.prototype,this,"recapture").call(this,t)}catch(NC){let i=(yield Qx()).find(e=>e.deviceId!==t);if(!i)throw NC;yield cw(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))}setRotation(e){this.manager&&(this.isScreen||jD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};aw([_U(function(e){this.setContentHint(e.contentHint||"motion")})],XF.prototype,"capture",1);var $F=XF,QF={};ow(QF,{REPORT_TYPE:()=>ON,buildSSOPackage:()=>MN,bytes2ms:()=>MD,calculateScaleResolutionDownNumber:()=>CN,concatArrayBuffers:()=>PN,convertObjectNumberToInt:()=>AN,copyProperties:()=>OD,deepClone:()=>pN,deepCloneBasic:()=>kN,deepMerge:()=>hN,delay:()=>SN,fibonacci:()=>BD,formatedTime:()=>_N,getConstructorName:()=>eN,getContainerFromElement:()=>fN,getEnv:()=>SD,getFirst16Bits:()=>xN,getInternalVersion:()=>aN,getLast16Bits:()=>LN,getLoggerUrl:()=>bD,getMediaStreamTrackInfo:()=>wN,getMuteStateFromFlag:()=>lN,getNetworkType:()=>CD,getNumNetworkType:()=>kD,getReconnectionTimeout:()=>HD,getStringByteLength:()=>vN,getTurnServer:()=>dN,getUint32Version:()=>IN,getValueType:()=>WD,getViewListFromView:()=>mN,glog:()=>UD,ipv4ToUint32:()=>uN,isArray:()=>JD,isAudioWorkletSupported:()=>tN,isBoolean:()=>qD,isConstructor:()=>ZD,isEmpty:()=>cN,isFunction:()=>GD,isLangChinese:()=>VD,isMediaStreamTrack:()=>XD,isNumber:()=>KD,isObject:()=>YD,isOverseaSdkAppId:()=>RD,isPlainObject:()=>FD,isPortrait:()=>yN,isPromise:()=>QD,isRemoteTrack:()=>$D,isRotate90Or270:()=>DN,isSetSinkIdSupported:()=>rN,isString:()=>zD,isUndefined:()=>jD,loadImage:()=>TN,loadVideo:()=>NN,ms2bytes:()=>LD,ms2samples:()=>xD,normalizeUrl:()=>bN,performanceNow:()=>oN,promiseAny:()=>iN,samples2ms:()=>PD,setNetworkType:()=>ND,stringify:()=>gN,stringifyIncludeValue:()=>EN,throttlePromise:()=>RN});var ZF=[-1,-1,1,-1,-1,1,1,1],eB=[0,0,1,0,0,1,1,1],tB=class e extends xL{constructor(e,t){if(super(),this.context=e,sw(this,"name"),sw(this,"input"),sw(this,"output"),sw(this,"texture"),sw(this,"ctx2d",null),sw(this,"fbo"),sw(this,"width",0),sw(this,"height",0),sw(this,"x",0),sw(this,"y",0),sw(this,"program"),sw(this,"vertexShader"),sw(this,"fragmentShader"),sw(this,"totalFrames",0),sw(this,"dropFrames",0),sw(this,"matchInputSize",!0),sw(this,"texCoordBuffer"),sw(this,"positionBuffer"),sw(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),sw(this,"cost",0),sw(this,"_canvas",null),sw(this,"_image"),sw(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 EB)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==TO?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(eB),this.positionBuffer=this.createBuffer(ZF),!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(aM){this.context.destroy(new Ew({code:_w.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(aM.message||aM)}))}}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 gB&&this.render(e)||this.context instanceof EB&&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 gB){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(t,r,i,o,n,a,s,c,l){let d=!(jD(a)||jD(s)||jD(c)||jD(l));return!(!this.ctx2d||!t)&&(t instanceof ImageData?(d?this.ctx2d.putImageData(t,r,i,a,s,c,l):this.ctx2d.putImageData(t,r,i),this.emit(e.RENDER,this.ctx2d.canvas)):(d?this.ctx2d.drawImage(t,a,s,c,l,r,i,o,n):this.ctx2d.drawImage(t,r,i,o,n),this.emit(e.RENDER,t)),"undefined"!=typeof VideoFrame&&t instanceof VideoFrame&&t.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}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},tw({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}};sw(tB,"RENDER","render"),aw([ML(xL.INIT,"connected",{sync:!0})],tB.prototype,"connect",1),aw([ML("connected",xL.INIT,{ignoreError:!0,sync:!0})],tB.prototype,"disconnect",1),aw([ML([],"closed",{sync:!0})],tB.prototype,"close",1);var rB=tB,iB=xU(hV(250),lF(()=>performance.now()),jU()),oB=e=>t=>{let r=performance.now();xU(iB,GV(t=>t-r<e),UV(1))(t)},nB=[0,1,1,1,0,0,1,0],aB=class extends rB{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),sw(this,"_intervalId",0),sw(this,"_sequence",0),sw(this,"checkGLError",!1),sw(this,"checkVisibilityChange"),e instanceof EB?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(nB)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),WL.clearTask(this._intervalId),this._intervalId=WL.run("intervalInWorker",()=>{if(e!==this.context.frameRate&&(WL.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof gB){let e=this.context.ctx.getError();e&&this.context.destroy(new Ew({code:_w.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(),this.emit(rB.RENDER,this.context._canvas),!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;this._intervalId&&(WL.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),WL.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),WL.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},sB=class extends aB{constructor(e,t){super(e,t),sw(this,"_videoTrack"),sw(this,"_muteOb"),sw(this,"_closedOb",_V(this,"closed")),sw(this,"_subscription"),sw(this,"_canvasContainer"),Number(_O)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=_V(this._videoTrack,"mute"),xU(_V(this._videoTrack,"ended"),VV(this._closedOb),FF(()=>{this.context.destroy(new Ew({code:_w.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))}))}enableCheckMute(){this._subscription=xU(this._muteOb,VV(this._closedOb),gF(oB(5e3)),LV(()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)}),FF(()=>{this.context.destroy(new Ew({code:_w.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()}},cB=class extends sB{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},lB=class extends sB{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))}},dB=class extends rB{constructor(e,t){super(e,tw({name:"imageSource"},t)),sw(this,"_lastImage"),sw(this,"_totalFrames",0),sw(this,"_autoResize",!1),sw(this,"_canvasRendered"),sw(this,"videoCallbackId",0),sw(this,"waitingFirstFrame",!0),sw(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===TO&&(this._canvasRendered=iV(),xU(this._canvasRendered,QU(this._image),fF(e=>e instanceof HTMLCanvasElement?_V(e,"rendered"):CV()),VV(_V(this,"closed")),FF(()=>{this.update()})))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),yL()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),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(),({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!0}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)}},uB=class extends dB{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",xU(_V(this._player,GL.PLAYER_STATE_CHANGED),VV(_V(this,"closed")),LV(e=>{let{state:t}=e;return"PLAYING"===t}),FF(()=>{this.tryVideoFrameCallback()}))}get image(){return this._player.element}},hB=class extends uB{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new yx({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},pB=class extends rB{constructor(e,t,r){super(e,rw(tw({name:"textSource"},r),{create2d:!0})),sw(this,"hasChange",!0),sw(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},mB=class extends xL{constructor(e){super(),sw(this,"frameRate"),sw(this,"_canvas"),sw(this,"log"),sw(this,"hasAlpha",!1),sw(this,"name"),sw(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 hB(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new sB(this,e)}createVideoImageSource(e,t){return new dB(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new uB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new pB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};sw(mB,"_ids",0);var fB={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},_B=class extends mB{constructor(){super(...arguments),sw(this,"defaultProgam"),sw(this,"defaultVShader"),sw(this,"defaultFShader"),sw(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(mB._ids++)),this.ctx=this._canvas.getContext("webgl2",fB),!this.ctx)throw new Ew({code:_w.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 Ew({code:_w.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))})}destroy(e){let t="";return e&&(t=e.message,this.error=e,yP.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}};sw(_B,"UNAVAILABLE","unavailable"),aw([ML(xL.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),yP.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),yP.addSuccessEvent({key:512700})}})],_B.prototype,"create",1),aw([ML("created",xL.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(_B.UNAVAILABLE,e),this.removeAllListeners()}})],_B.prototype,"destroy",1);var gB=_B,EB=class extends mB{constructor(){super(...arguments),sw(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(mB._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new Ew({code:_w.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,yP.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(),yP.addSuccessEvent({key:512703})}};function vB(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}aw([ML(xL.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),yP.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),yP.addSuccessEvent({key:512701})}})],EB.prototype,"create",1),aw([ML("created",xL.INIT,{ignoreError:!0,sync:!0})],EB.prototype,"destroy",1);var yB=class{constructor(e,t){this.node=e,this.layout=t,sw(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}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},TB=class extends rB{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),sw(this,"inputs",[]),sw(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new yB(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex(t=>t.node===e);if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!jD(s)&&this.inputs.some(t=>t.layout.zIndex===s&&t.node!==e))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];jD(i)||(u.layout.x=i),jD(o)||(u.layout.y=o),jD(n)||(u.layout.width=n),jD(a)||(u.layout.height=a),jD(l)||(u.layout.rotation=l),jD(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!jD(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort((e,t)=>e.layout.zIndex-t.layout.zIndex))}hasInput(e){return this.inputs.some(t=>t.node===e)}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.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 gB&&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.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter(t=>t.node!==e),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce((t,r)=>r.node.requestFrame(e)||t,!1)&&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.forEach(t=>t.node.requestFrame(e)),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=vB(t.node.width,t.node.height,t.width,t.height,t.fillMode,DN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}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},tw({parent:this.inputs.filter(e=>e).map(e=>e.node.getInfo())},this.lastInfo)}removeAllInputs(){this.inputs.forEach(e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof gB)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(aM){}})}close(){super.close(),this.removeAllInputs()}},IB=[1,0,0,0,1,1,0,1],AB=class extends rB{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),sw(this,"mirror",!1),sw(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof gB)try{this.setTexBuffer(IB)}catch(Dw){e.destroy(new Ew({code:_w.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(Dw.message||Dw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));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)}resize(e,t){DN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},SB=class extends zF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,yx),sw(this,"inputLocalVideoTracks",new Map),sw(this,"inputLocalScreenTracks",new Map),sw(this,"cameraNodeMap",new Map),sw(this,"screenNodeMap",new Map),sw(this,"textNodeMap",new Map),sw(this,"imageNodeMap",new Map),sw(this,"videoNodeMap",new Map),sw(this,"endedIds",new Set),sw(this,"videoContext"),sw(this,"mixNode"),sw(this,"destination"),sw(this,"manager"),sw(this,"stat"),sw(this,"_checkId",0),sw(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(rB.RENDER,e=>{this.emit("render",e)}),this.mixNode=new TB(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=WL.run("interval",()=>{this.destination&&this.log.debug(this.destination.getInfo())},{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new EB({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout(()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)},500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return lw(this,null,function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),fO&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)})}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,KL(this,Yx).add("videoInputRemoved",r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())}),t.on("output-media-track-changed",()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)}),i=16===TO&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===TO&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof hB){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof hB)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(jD(r)||(a.content=r),jD(i)||(a.font=i),jD(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new AB(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof AB&&(jD(r)||(o.mirror=r),jD(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof AB&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof AB&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof AB&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof AB&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof AB&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),WL.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),qL(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},RB=$O();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:RB,exposeOrigin:!0,permittedOrigins:["*"]})}catch(gH){}var bB=function(e){return lw(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:mO?{max:e.width}:{ideal:e.width,max:e.width},height:mO?{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);XO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(dO&&hO<74||mO||uk)&&XO.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(lM){XO.warn("screen applyConstraints failed: ".concat(lM))}e.captureElement&&(yield function(e,t){return lw(this,null,function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&GD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==RB)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){XO.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 jD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);XO.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i})},wB=class extends $F{constructor(e){super(e,2),sw(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),sw(this,"objectFit","contain"),sw(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return RB===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(aM){return}}capture(e){return lw(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 bB({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}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof Ew?e:new Ew({code:_w.INITIALIZE_FAILED,name:e.name,message:e.message})}}()})}switchDevice(e){return lw(this,null,function*(){throw new Error("Method not implemented.")})}};aw([_U(function(e){this.setContentHint(e.contentHint||"detail")})],wB.prototype,"capture",1);var CB,DB=class extends qF{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function NB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return lw(this,null,function*(){let o=Ox();CB||(CB=Tx(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield CB;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach((e,t)=>e.connect(a,0,t)),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach(e=>e.disconnect(a)),a.port.close()}})})}var kB=class extends Ux{constructor(e){super(),this.room=e,sw(this,"_localAudioTrack"),sw(this,"_localScreenAudioTrack"),sw(this,"log",XO.createLogger({id:"am"})),sw(this,"denoiser"),sw(this,"voiceChanger"),sw(this,"mixChangedDebounce"),sw(this,"audioProcessor"),sw(this,"encodePipeline",[]),sw(this,"decodePipeline",[]),sw(this,"getPCMAbortCtrlMap",new Map),sw(this,"audioFrameEventConfigMap",new Map),sw(this,"audioReferenceMap",new Map),sw(this,"isLocalAudioNeedAudioProcess",!1),sw(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?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=NB(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,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return NB([Ox().createMediaStreamSource(new MediaStream([_]))],a,s,c).then(r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch(e=>this.log.warn("stop getPCM reason:".concat(e)))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!jD(this._localScreenAudioTrack)}get hasAudioTrack(){return!jD(this._localAudioTrack)}changeInput(e){var t,r;return e instanceof DB?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&null!=(t=this.audioProcessor)&&t.screenAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.screenAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach((t,r)=>{e.mixAudioReference(t,r)})),e.pipeline.connect(),this.mixOnChange()):e instanceof qF?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&null!=(r=this.audioProcessor)&&r.localAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.localAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach((t,r)=>{e.mixAudioReference(t,r)})),e.pipeline.connect(),this.mixOnChange()):e instanceof PB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}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 DB?delete this._localScreenAudioTrack:e instanceof qF&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor={localAudioWorkletNode:r,mixNode:e,silentNode:t,screenAudioWorkletNode:i},this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&r&&(this._localAudioTrack.addAudioProcessor(r,e,t),this.audioReferenceMap.forEach((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)})),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&i&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(i,e,t),this.audioReferenceMap.forEach((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)}))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0: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()}removeAudioProcessor(e,t){var r,i;delete this.audioProcessor,null==(r=this._localAudioTrack)||r.removeAudioProcessor(e),null==(i=this._localScreenAudioTrack)||i.removeAudioProcessor(t)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach(e=>null==e?void 0:e.abort("destroy")),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}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}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM(e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)},"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM(e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)},""),this.getPCMAbortCtrlMap.set(r,e))}))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM(e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)},r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){zO.on("113",this.handleLocalTrackStarted,this),zO.on("114",this.handleLocalTrackStopped,this),zO.on("115",this.handleRemoteTrackStarted,this),zO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){zO.off("113",this.handleLocalTrackStarted),zO.off("114",this.handleLocalTrackStopped),zO.off("115",this.handleRemoteTrackStarted),zO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||jD(o))return;this.setAudioReferenceVolume(i,o)}}};var OB=class e extends cU{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,sw(this,"tinyId"),sw(this,"isRemote",!0),sw(this,"jitterBufferDelay",0),sw(this,"availableState"),sw(this,"remotePublishState"),sw(this,"_triggerCheckDecodeSubject",iV(_V(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new xL("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new xL("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),xU(zU(_V(this,xL.STATECHANGED),_V(this.remotePublishState,xL.STATECHANGED)),lF(()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing)),FF(e=>{this.availableState.state!==(e?xL.ON:xL.OFF)&&(this.availableState.state=e?xL.ON:xL.OFF),this.updatePlayingState(e)}));let o=xU(_V(this.player,GL.ERROR),LV(e=>e.code===MediaError.MEDIA_ERR_DECODE)),n=xU(pV(5e3),LV(()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===rC.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1)))),a=xU(KU(o,n),VV(_V(this,xL.INIT)));xU(this._triggerCheckDecodeSubject,LV(()=>!this.ignoreDecodeError),gF(a),FF(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===xL.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){var r,i;let o=this.kind===rC.AUDIO;if(yP[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";yP[e?"addSuccessEvent":"addFailedEvent"]({key:gP["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(yP.addEnum({key:o?504701:514703,value:FO()}),YL.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(xO()||HO()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===rC.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?xL.ON:xL.OFF,this.emit("remote-publish-changed",this.isRemotePublished)}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};sw(OB,"STATE_SUBSCRIBE","subscribe"),aw([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 gU((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 Ew({code:_w.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});(this.log||this._log||XO).warn(r),2===t?a(r):1===t&&o()},1e3*e);r.apply(this,n).then(o,a).finally(()=>{clearTimeout(s)})})})}(5,1)],OB.prototype,"waitHasMediaTrack",1),aw([ML(xL.INIT,OB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),zO.emit(qO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),SU(521716,!1)],OB.prototype,"subscribe",1),aw([ML(OB.STATE_SUBSCRIBE,xL.INIT,{sync:!0,success(){this.log.info("unsubscribed"),zO.emit(qO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],OB.prototype,"unsubscribe",1);var MB=OB,PB=class extends MB{constructor(e,t){super(e,t,1),sw(this,"volume",0),sw(this,"mediaType",1),sw(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return Gx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}onPlayerError(e){this.enableDecodeFrame&&(this._log.warn("use audio decoder"),this.room.enableInsertableStreams())}get enableDecodeFrame(){var e,t;return!!this.manager&&(this.manager.decodePipeline.some(e=>e)||(null==(t=null==(e=this.player.element)?void 0:e.error)?void 0:t.code)===MediaError.MEDIA_ERR_DECODE&&hL().AudioDecoder&&cL)}decodeFrame(e){if(!this.manager)return e;let t=e;for(let[r,i]of this.manager.decodePipeline.entries()){if(!i)continue;let o={frame:e,track:this};if(1===r&&this.isAvailable&&"audience"===this.room.role&&(o.onAudioFrameNTPTime=e=>{let{ntp:t,frame:r,hasLeavingTag:i}=e;this.emit("audio-frame-with-ntp",{ntp:t,frame:r,hasLeavingTag:i})}),t=i(o),!t)return}return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}};var LB=class extends MB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),sw(this,"mediaType",4),sw(this,"source"),sw(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(qD(null==t?void 0:t.canvasRender)?t.canvasRender:17===TO)&&!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 EB({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new aB(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),yL()||(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;!KD(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)}},xB=class extends LB{constructor(e,t){super(e,t,2),sw(this,"mediaType",2),sw(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},UB=new Map;function VB(e,t){let r=rw(tw({},t),{timestamp:yw()});UB.has(e)?UB.get(e).push(r):UB.set(e,[r])}function FB(e){if(UB.has(e)){let t=UB.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 UB.delete(e),t}return[]}function BB(e,t,r,i){try{if(JD(e))for(let o=0;o<e.length;o++)HB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else HB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(aM){throw XO.error(aM),aM}}function HB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(jD(r)){if(t.required)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(jD(t.defaultValue))return;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),GD(t.type[i])&&r instanceof t.type[i]&&(e=!0),zD(t.type[i])&&WD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map(e=>ZD(e)?eN(e):zD(e)?e:WD(e))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!jD(t.type)&&WD(r)!==t.type)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=KD(r)&&(0===r||Number.isNaN(r)),a=zD(r)&&""===r.trim();if(e||a)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&KD(r)&&r<0)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!jD(t.min)&&KD(r)&&r<t.min)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!jD(t.max)&&KD(r)&&r>t.max)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(zD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(GD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;FD(a)&&YD(r)&&Object.keys(a).forEach(e=>{HB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})});let{arrayItem:s}=t;FD(s)&&JD(r)&&r.forEach((e,t)=>{HB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})}),GD(t.validate)&&t.validate.call(this,r,i,o,n,this)}zO.on(qO.JOIN_SUCCESS,e=>{let{room:t}=e;VB(t.userId,{eventId:32788})}),zO.on(qO.LEAVE_START,e=>{let{room:t}=e;VB(t.userId,{eventId:32789})}),zO.on(qO.LOCAL_TRACK_PUBLISHED,e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),VB(t.room.userId,{eventId:e})}}),zO.on(qO.LOCAL_TRACK_UNPUBLISHED,e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),VB(t.room.userId,{eventId:e})}}),zO.on(qO.TRACK_MUTED,e=>{let{track:t}=e;t.room&&(t.kind===rC.AUDIO?VB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):VB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))}),zO.on(qO.TRACK_UNMUTED,e=>{let{track:t}=e;t.room&&(t.kind===rC.AUDIO?VB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):VB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))}),zO.on(qO.REMOTE_TRACK_SUBSCRIBED,e=>{let{track:t}=e;t.room&&(1===t.mediaType&&VB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&VB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&VB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))}),zO.on(qO.REMOTE_TRACK_UNSUBSCRIBED,e=>{let{track:t}=e;t.room&&(1===t.mediaType&&VB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&VB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&VB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))}),zO.on(qO.SWITCH_DEVICE_SUCCESS,e=>{let{track:t}=e;t.room&&VB(t.room.userId,{eventId:t.kind===rC.VIDEO?32780:32781})}),zO.on(qO.LOCAL_TRACK_REPLACED,e=>{let{track:t}=e;t.room&&VB(t.room.userId,{eventId:t.kind===rC.VIDEO?32782:32783})}),zO.on(qO.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&&VB(r.userId,{eventId:t})}),zO.on(qO.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&&VB(r.userId,{eventId:t,remoteUserId:n})}),zO.on(qO.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:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),VB(r,d),yP.addEnum({key:i?514701:513701,value:c}),yP.addEnum({key:i?514700:513700,value:l})}),zO.on(qO.LOCAL_TRACK_RECAPTURE,e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===rC.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),VB(t.userId,e)}}),nw(dw(),1);var WB=Object.create,GB=Object.defineProperty,jB=Object.defineProperties,zB=Object.getOwnPropertyDescriptor,KB=Object.getOwnPropertyDescriptors,qB=Object.getOwnPropertyNames,YB=Object.getOwnPropertySymbols,JB=Object.getPrototypeOf,XB=Object.prototype.hasOwnProperty,$B=Object.prototype.propertyIsEnumerable,QB=(e,t,r)=>t in e?GB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ZB=(e,t)=>{for(var r in t||(t={}))XB.call(t,r)&&QB(e,r,t[r]);if(YB)for(var r of YB(t))$B.call(t,r)&&QB(e,r,t[r]);return e},eH=(e,t)=>jB(e,KB(t)),tH=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?zB(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&&GB(t,r,n),n},rH=(e,t,r)=>QB(e,"symbol"!=typeof t?t+"":t,r),iH=((e,t)=>function(){return t||(0,e[qB(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,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[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=[],d=a.length;c<d;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)}}),oH=((e,t,r)=>(r=null!=e?WB(JB(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of qB(t))XB.call(e,o)||o===r||GB(e,o,{get:()=>t[o],enumerable:!(i=zB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:GB(r,"default",{value:e,enumerable:!0}),e)))(iH(),1),nH=Symbol("instance"),aH=Symbol("cacheResult"),sH=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,hH.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},cH=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var lH=new Map;function dH(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=lH.get(i)||[];lH.has(i)||lH.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=pH.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[aH]:Promise.resolve(i[aH]);i.state instanceof sH&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof sH&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new cH(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 cH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=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 d(l);let u=i.state,h=new sH(u,t,a);hH.call(i,h);let p=e=>{var o;return i[aH]=e,h.aborted||(hH.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[aH])),e},m=e=>(hH.call(i,u,e),d(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(dM){return m(new cH(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(dM),dM instanceof Error?dM:new Error(String(dM))))}}}}var uH="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 hH(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(pH.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var pH=class e extends oH.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[nH];o?this.name=o.name+"-"+o.count++:i[nH]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=lH.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);lH.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]:{};uH(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){hH.call(this,e)}};pH.STATECHANGED="stateChanged",pH.UPDATEAFSM="updateAFSM",pH.INIT="[*]",pH.ON="on",pH.OFF="off",pH.instances=new Map,pH.instances2=new WeakMap;var mH=class extends pH{constructor(){super(...arguments),rH(this,"decoder"),rH(this,"config")}initialize(){return lw(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,e.description||"av1"===e.codec||(this.config[e.codec]={format:"annexb"}),this.decoder.configure(eH(ZB({},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 fH(){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],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+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:"")}}}tH([dH([pH.INIT,"closed"],"initialized")],mH.prototype,"initialize",1),tH([dH("initialized","configured",{sync:!0})],mH.prototype,"configure",1),tH([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 cH(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")],mH.prototype,"decode",1),tH([dH([],pH.INIT,{sync:!0})],mH.prototype,"reset",1),tH([dH([],"closed",{ignoreError:!0,sync:!0})],mH.prototype,"close",1);var _H=class extends pH{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,rH(this,"worker"),rH(this,"decoder"),rH(this,"config"),rH(this,"module",{}),rH(this,"width",0),rH(this,"height",0)}initialize(e){return lw(this,null,function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(fH.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 d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};tH([dH([pH.INIT,"closed"],"initialized")],_H.prototype,"initialize",1),tH([dH("initialized","configured",{sync:!0})],_H.prototype,"configure",1),tH([dH([],pH.INIT,{sync:!0})],_H.prototype,"reset",1),tH([dH([],"closed",{sync:!0})],_H.prototype,"close",1);var gH,EH=(gH="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,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),gH&&(u=gH),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(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&&F("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R=!1,b=[],w=[],C=[];function D(e){b.unshift(e)}function N(e){C.unshift(e)}var k,O,M,P,L=0,x=null;function U(e){L++,i.monitorRunDependencies&&i.monitorRunDependencies(L)}function V(e){if(L--,i.monitorRunDependencies&&i.monitorRunDependencies(L),0==L&&x){var t=x;x=null,t()}}function F(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),R=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function B(e){return e.startsWith("data:application/octet-stream;base64,")}function H(e){if(e==k&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function W(e,t,r){return(i=e,h||!l&&!d||"function"!=typeof fetch?Promise.resolve().then(()=>H(i)):fetch(i,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()}).catch(()=>H(i))).then(e=>WebAssembly.instantiate(e,t)).then(e=>e).then(r,e=>{f("failed to asynchronously prepare wasm: "+e),F(e)});var i}B(k="videodec.wasm")||(O=k,k=i.locateFile?i.locateFile(O,u):u+O);var G=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(Ct(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var z={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=z.isAbs(e),r="/"===e.substr(-1);return(e=z.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=z.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=z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return z.normalize(e.join("/"))},join2:(e,t)=>z.normalize(e+"/"+t)},K=e=>(K=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);F("initRandomDevice")})())(e),q={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ne.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=z.isAbs(i)}return(t?"/":"")+(e=z.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=q.resolve(e).substr(1),t=q.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("/")}},Y="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,J=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&Y)return Y.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},X=[],$=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},Q=(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 Z(e,t,r){var i=r>0?r:$(e)+1,o=new Array(i),n=Q(e,o,0,o.length);return t&&(o.length=n),o}var ee={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){ee.ttys[e]={input:[],output:[],ops:t},ne.registerDevice(e,ee.stream_ops)},stream_ops:{open:function(e){var t=ee.ttys[e.node.rdev];if(!t)throw new ne.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 ne.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 ne.ErrnoError(29)}if(void 0===s&&0===n)throw new ne.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 ne.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ne.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!X.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;X=Z(e,!0)}return X.shift()})()},put_char:function(e,t){null===t||10===t?(m(J(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(J(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(J(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(J(e.output,0)),e.output=[])}}},te=e=>{F()},re={ops_table:null,mount:e=>re.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ne.isBlkdev(r)||ne.isFIFO(r))throw new ne.ErrnoError(63);re.ops_table||(re.ops_table={dir:{node:{getattr:re.node_ops.getattr,setattr:re.node_ops.setattr,lookup:re.node_ops.lookup,mknod:re.node_ops.mknod,rename:re.node_ops.rename,unlink:re.node_ops.unlink,rmdir:re.node_ops.rmdir,readdir:re.node_ops.readdir,symlink:re.node_ops.symlink},stream:{llseek:re.stream_ops.llseek}},file:{node:{getattr:re.node_ops.getattr,setattr:re.node_ops.setattr},stream:{llseek:re.stream_ops.llseek,read:re.stream_ops.read,write:re.stream_ops.write,allocate:re.stream_ops.allocate,mmap:re.stream_ops.mmap,msync:re.stream_ops.msync}},link:{node:{getattr:re.node_ops.getattr,setattr:re.node_ops.setattr,readlink:re.node_ops.readlink},stream:{}},chrdev:{node:{getattr:re.node_ops.getattr,setattr:re.node_ops.setattr},stream:ne.chrdev_stream_ops}});var o=ne.createNode(e,t,r,i);return ne.isDir(o.mode)?(o.node_ops=re.ops_table.dir.node,o.stream_ops=re.ops_table.dir.stream,o.contents={}):ne.isFile(o.mode)?(o.node_ops=re.ops_table.file.node,o.stream_ops=re.ops_table.file.stream,o.usedBytes=0,o.contents=null):ne.isLink(o.mode)?(o.node_ops=re.ops_table.link.node,o.stream_ops=re.ops_table.link.stream):ne.isChrdev(o.mode)&&(o.node_ops=re.ops_table.chrdev.node,o.stream_ops=re.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=ne.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,ne.isDir(e.mode)?t.size=4096:ne.isFile(e.mode)?t.size=e.usedBytes:ne.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&&re.resizeFileStorage(e,t.size)},lookup(e,t){throw ne.genericErrors[44]},mknod:(e,t,r,i)=>re.createNode(e,t,r,i),rename(e,t,r){if(ne.isDir(e.mode)){var i;try{i=ne.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ne.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=ne.lookupNode(e,t);for(var i in r.contents)throw new ne.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=re.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ne.isLink(e.mode))throw new ne.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(re.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&&ne.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ne.ErrnoError(28);return i},allocate(e,t,r){re.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ne.isFile(e.node.mode))throw new ne.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=te()))throw new ne.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(re.stream_ops.write(e,t,0,i,r,!1),0)}},ie=i.preloadPlugins||[];function oe(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ne={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=q.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ne.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),i=ne.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ne.lookupNode(i,r[n]),o=z.join2(o,r[n]),ne.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ne.isLink(i.mode);){var c=ne.readlink(o);if(o=q.resolve(z.dirname(o),c),i=ne.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ne.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ne.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)%ne.nameTable.length},hashAddNode:e=>{var t=ne.hashName(e.parent.id,e.name);e.name_next=ne.nameTable[t],ne.nameTable[t]=e},hashRemoveNode:e=>{var t=ne.hashName(e.parent.id,e.name);if(ne.nameTable[t]===e)ne.nameTable[t]=e.name_next;else for(var r=ne.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ne.mayLookup(e);if(r)throw new ne.ErrnoError(r,e);for(var i=ne.hashName(e.id,t),o=ne.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ne.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ne.FSNode(e,t,r,i);return ne.hashAddNode(o),o},destroyNode:e=>{ne.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)=>ne.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ne.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ne.lookupNode(e,t),20}catch(r){}return ne.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ne.lookupNode(e,t)}catch(n){return n.errno}var o=ne.nodePermissions(e,"wx");if(o)return o;if(r){if(!ne.isDir(i.mode))return 54;if(ne.isRoot(i)||ne.getPath(i)===ne.cwd())return 10}else if(ne.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ne.isLink(e.mode)?32:ne.isDir(e.mode)&&("r"!==ne.flagsToPermissionString(t)||512&t)?31:ne.nodePermissions(e,ne.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ne.MAX_OPEN_FDS;e++)if(!ne.streams[e])return e;throw new ne.ErrnoError(33)},getStreamChecked:e=>{var t=ne.getStream(e);if(!t)throw new ne.ErrnoError(8);return t},getStream:e=>ne.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ne.FSStream||(ne.FSStream=function(){this.shared={}},ne.FSStream.prototype={},Object.defineProperties(ne.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 ne.FSStream,e),-1==t&&(t=ne.nextfd()),e.fd=t,ne.streams[t]=e,e},closeStream:e=>{ne.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ne.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ne.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ne.devices[e]={stream_ops:t}},getDevice:e=>ne.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),ne.syncFSRequests++,ne.syncFSRequests>1&&f("warning: ".concat(ne.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ne.getMounts(ne.root.mount),i=0;function o(e){return ne.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&&ne.root)throw new ne.ErrnoError(10);if(!o&&!n){var a=ne.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ne.isMountpoint(i))throw new ne.ErrnoError(10);if(!ne.isDir(i.mode))throw new ne.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ne.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ne.lookupPath(e,{follow_mount:!1});if(!ne.isMountpoint(t.node))throw new ne.ErrnoError(28);var r=t.node,i=r.mounted,o=ne.getMounts(i);Object.keys(ne.nameTable).forEach(e=>{for(var t=ne.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ne.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=ne.lookupPath(e,{parent:!0}).node,o=z.basename(e);if(!o||"."===o||".."===o)throw new ne.ErrnoError(28);var n=ne.mayCreate(i,o);if(n)throw new ne.ErrnoError(n);if(!i.node_ops.mknod)throw new ne.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ne.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ne.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{ne.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ne.mknod(e,t,r)),symlink:(e,t)=>{if(!q.resolve(e))throw new ne.ErrnoError(44);var r=ne.lookupPath(t,{parent:!0}).node;if(!r)throw new ne.ErrnoError(44);var i=z.basename(t),o=ne.mayCreate(r,i);if(o)throw new ne.ErrnoError(o);if(!r.node_ops.symlink)throw new ne.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=z.dirname(e),n=z.dirname(t),a=z.basename(e),s=z.basename(t);if(r=ne.lookupPath(e,{parent:!0}).node,i=ne.lookupPath(t,{parent:!0}).node,!r||!i)throw new ne.ErrnoError(44);if(r.mount!==i.mount)throw new ne.ErrnoError(75);var c,l=ne.lookupNode(r,a),d=q.relative(e,n);if("."!==d.charAt(0))throw new ne.ErrnoError(28);if("."!==(d=q.relative(t,o)).charAt(0))throw new ne.ErrnoError(55);try{c=ne.lookupNode(i,s)}catch(p){}if(l!==c){var u=ne.isDir(l.mode),h=ne.mayDelete(r,a,u);if(h)throw new ne.ErrnoError(h);if(h=c?ne.mayDelete(i,s,u):ne.mayCreate(i,s))throw new ne.ErrnoError(h);if(!r.node_ops.rename)throw new ne.ErrnoError(63);if(ne.isMountpoint(l)||c&&ne.isMountpoint(c))throw new ne.ErrnoError(10);if(i!==r&&(h=ne.nodePermissions(r,"w")))throw new ne.ErrnoError(h);ne.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ne.hashAddNode(l)}}},rmdir:e=>{var t=ne.lookupPath(e,{parent:!0}).node,r=z.basename(e),i=ne.lookupNode(t,r),o=ne.mayDelete(t,r,!0);if(o)throw new ne.ErrnoError(o);if(!t.node_ops.rmdir)throw new ne.ErrnoError(63);if(ne.isMountpoint(i))throw new ne.ErrnoError(10);t.node_ops.rmdir(t,r),ne.destroyNode(i)},readdir:e=>{var t=ne.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ne.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ne.lookupPath(e,{parent:!0}).node;if(!t)throw new ne.ErrnoError(44);var r=z.basename(e),i=ne.lookupNode(t,r),o=ne.mayDelete(t,r,!1);if(o)throw new ne.ErrnoError(o);if(!t.node_ops.unlink)throw new ne.ErrnoError(63);if(ne.isMountpoint(i))throw new ne.ErrnoError(10);t.node_ops.unlink(t,r),ne.destroyNode(i)},readlink:e=>{var t=ne.lookupPath(e).node;if(!t)throw new ne.ErrnoError(44);if(!t.node_ops.readlink)throw new ne.ErrnoError(28);return q.resolve(ne.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ne.lookupPath(e,{follow:!t}).node;if(!r)throw new ne.ErrnoError(44);if(!r.node_ops.getattr)throw new ne.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ne.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ne.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ne.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ne.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ne.getStreamChecked(e);ne.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ne.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ne.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ne.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ne.getStreamChecked(e);ne.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ne.ErrnoError(28);var r;if(!(r="string"==typeof e?ne.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ne.ErrnoError(63);if(ne.isDir(r.mode))throw new ne.ErrnoError(31);if(!ne.isFile(r.mode))throw new ne.ErrnoError(28);var i=ne.nodePermissions(r,"w");if(i)throw new ne.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ne.getStreamChecked(e);if(!(2097155&r.flags))throw new ne.ErrnoError(28);ne.truncate(r.node,t)},utime:(e,t,r)=>{var i=ne.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ne.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=z.normalize(e);try{o=ne.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ne.ErrnoError(20)}else o=ne.mknod(e,r,0),n=!0;if(!o)throw new ne.ErrnoError(44);if(ne.isChrdev(o.mode)&&(t&=-513),65536&t&&!ne.isDir(o.mode))throw new ne.ErrnoError(54);if(!n){var a=ne.mayOpen(o,t);if(a)throw new ne.ErrnoError(a)}512&t&&!n&&ne.truncate(o,0),t&=-131713;var s=ne.createStream({node:o,path:ne.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||(ne.readFiles||(ne.readFiles={}),e in ne.readFiles||(ne.readFiles[e]=1)),s},close:e=>{if(ne.isClosed(e))throw new ne.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ne.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ne.isClosed(e))throw new ne.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ne.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ne.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 ne.ErrnoError(28);if(ne.isClosed(e))throw new ne.ErrnoError(8);if(1==(2097155&e.flags))throw new ne.ErrnoError(8);if(ne.isDir(e.node.mode))throw new ne.ErrnoError(31);if(!e.stream_ops.read)throw new ne.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ne.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 ne.ErrnoError(28);if(ne.isClosed(e))throw new ne.ErrnoError(8);if(!(2097155&e.flags))throw new ne.ErrnoError(8);if(ne.isDir(e.node.mode))throw new ne.ErrnoError(31);if(!e.stream_ops.write)throw new ne.ErrnoError(28);e.seekable&&1024&e.flags&&ne.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ne.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(ne.isClosed(e))throw new ne.ErrnoError(8);if(t<0||r<=0)throw new ne.ErrnoError(28);if(!(2097155&e.flags))throw new ne.ErrnoError(8);if(!ne.isFile(e.node.mode)&&!ne.isDir(e.node.mode))throw new ne.ErrnoError(43);if(!e.stream_ops.allocate)throw new ne.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 ne.ErrnoError(2);if(1==(2097155&e.flags))throw new ne.ErrnoError(2);if(!e.stream_ops.mmap)throw new ne.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 ne.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=ne.open(e,t.flags),o=ne.stat(e).size,n=new Uint8Array(o);return ne.read(i,n,0,o,0),"utf8"===t.encoding?r=J(n,0):"binary"===t.encoding&&(r=n),ne.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=ne.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array($(t)+1),n=Q(t,o,0,o.length);ne.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ne.write(i,t,0,t.byteLength,void 0,r.canOwn)}ne.close(i)},cwd:()=>ne.currentPath,chdir:e=>{var t=ne.lookupPath(e,{follow:!0});if(null===t.node)throw new ne.ErrnoError(44);if(!ne.isDir(t.node.mode))throw new ne.ErrnoError(54);var r=ne.nodePermissions(t.node,"x");if(r)throw new ne.ErrnoError(r);ne.currentPath=t.path},createDefaultDirectories:()=>{ne.mkdir("/tmp"),ne.mkdir("/home"),ne.mkdir("/home/web_user")},createDefaultDevices:()=>{ne.mkdir("/dev"),ne.registerDevice(ne.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ne.mkdev("/dev/null",ne.makedev(1,3)),ee.register(ne.makedev(5,0),ee.default_tty_ops),ee.register(ne.makedev(6,0),ee.default_tty1_ops),ne.mkdev("/dev/tty",ne.makedev(5,0)),ne.mkdev("/dev/tty1",ne.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=K(e).byteLength),e[--t]);ne.createDevice("/dev","random",r),ne.createDevice("/dev","urandom",r),ne.mkdir("/dev/shm"),ne.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ne.mkdir("/proc");var e=ne.mkdir("/proc/self");ne.mkdir("/proc/self/fd"),ne.mount({mount:()=>{var t=ne.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ne.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?ne.createDevice("/dev","stdin",i.stdin):ne.symlink("/dev/tty","/dev/stdin"),i.stdout?ne.createDevice("/dev","stdout",null,i.stdout):ne.symlink("/dev/tty","/dev/stdout"),i.stderr?ne.createDevice("/dev","stderr",null,i.stderr):ne.symlink("/dev/tty1","/dev/stderr"),ne.open("/dev/stdin",0),ne.open("/dev/stdout",1),ne.open("/dev/stderr",1)},ensureErrnoError:()=>{ne.ErrnoError||(ne.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ne.ErrnoError.prototype=new Error,ne.ErrnoError.prototype.constructor=ne.ErrnoError,[44].forEach(e=>{ne.genericErrors[e]=new ne.ErrnoError(e),ne.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:()=>{ne.ensureErrnoError(),ne.nameTable=new Array(4096),ne.mount(re,{},"/"),ne.createDefaultDirectories(),ne.createDefaultDevices(),ne.createSpecialDirectories(),ne.filesystems={MEMFS:re}},init:(e,t,r)=>{ne.init.initialized=!0,ne.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ne.createStandardStreams()},quit:()=>{ne.init.initialized=!1;for(var e=0;e<ne.streams.length;e++){var t=ne.streams[e];t&&ne.close(t)}},findObject:(e,t)=>{var r=ne.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ne.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=ne.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=z.basename(e),i=ne.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:ne.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=z.join2(e,n);try{ne.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=z.join2("string"==typeof e?e:ne.getPath(e),t),a=oe(i,o);return ne.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ne.getPath(e),a=t?z.join2(e,t):e);var s=oe(i,o),c=ne.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);r=l}ne.chmod(c,146|s);var h=ne.open(c,577);ne.write(h,r,0,r.length,0,n),ne.close(h),ne.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=z.join2("string"==typeof e?e:ne.getPath(e),t),n=oe(!!r,!!i);ne.createDevice.major||(ne.createDevice.major=64);var a=ne.makedev(ne.createDevice.major++,0);return ne.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 ne.ErrnoError(29)}if(void 0===c&&0===a)throw new ne.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 ne.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ne.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=Z(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ne.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||[]):Z(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(!d)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=ne.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 u(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 ne.forceLoadFile(c),t.apply(null,arguments)}}),l.read=(e,t,r,i,o)=>(ne.forceLoadFile(c),u(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ne.forceLoadFile(c);var n=te();if(!n)throw new ne.ErrnoError(48);return u(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},ae=(e,t)=>e?J(g,e,t):"",se={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(z.isAbs(t))return t;var i;if(i=-100===e?ne.cwd():se.getStreamFromFD(e).path,0==t.length){if(!r)throw new ne.ErrnoError(44);return i}return z.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&z.normalize(t)!==z.normalize(ne.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,P=[i.size>>>0,(M=i.size,+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[r+24>>2]=P[0],y[r+28>>2]=P[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 P=[Math.floor(o/1e3)>>>0,(M=Math.floor(o/1e3),+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[r+40>>2]=P[0],y[r+44>>2]=P[1],T[r+48>>2]=o%1e3*1e3,P=[Math.floor(n/1e3)>>>0,(M=Math.floor(n/1e3),+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[r+56>>2]=P[0],y[r+60>>2]=P[1],T[r+64>>2]=n%1e3*1e3,P=[Math.floor(a/1e3)>>>0,(M=Math.floor(a/1e3),+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[r+72>>2]=P[0],y[r+76>>2]=P[1],T[r+80>>2]=a%1e3*1e3,P=[i.ino>>>0,(M=i.ino,+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[r+88>>2]=P[0],y[r+92>>2]=P[1],0},doMsync:function(e,t,r,i,o){if(!ne.isFile(t.node.mode))throw new ne.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ne.msync(t,n,o,r,i)},varargs:void 0,get:()=>(se.varargs+=4,y[se.varargs-4>>2]),getStr:e=>ae(e),getStreamFromFD:function(e){return ne.getStreamChecked(e)}};function ce(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 le=void 0;function de(e){for(var t="",r=e;g[r];)t+=le[g[r++]];return t}var ue={},he={},pe={},me=void 0;function fe(e){throw new me(e)}var _e=void 0;function ge(e){throw new _e(e)}function Ee(e,t,r){function i(t){var i=r(t);i.length!==e.length&&ge("Mismatched type converter count");for(var o=0;o<e.length;++o)ve(e[o],i[o])}e.forEach(function(e){pe[e]=t});var o=new Array(t.length),n=[],a=0;t.forEach((e,t)=>{he.hasOwnProperty(e)?o[t]=he[e]:(n.push(e),ue.hasOwnProperty(e)||(ue[e]=[]),ue[e].push(()=>{o[t]=he[e],++a===n.length&&i(o)}))}),0===n.length&&i(o)}function ve(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||fe('type "'.concat(i,'" must have a positive integer typeid pointer')),he.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;fe("Cannot register type '".concat(i,"' twice"))}if(he[e]=t,delete pe[e],ue.hasOwnProperty(e)){var o=ue[e];delete ue[e],o.forEach(e=>e())}}(e,t,r)}function ye(e){fe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Te=!1;function Ie(e){}function Ae(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 Se(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Se(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Re={},be=[];function we(){for(;be.length;){var e=be.pop();e.$$.deleteScheduled=!1,e.delete()}}var Ce=void 0,De={};function Ne(e,t){return t.ptrType&&t.ptr||ge("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ge("Both smartPtrType and smartPtr must be specified"),t.count={value:1},ke(Object.create(e,{$$:{value:t}}))}var ke=function(e){return"undefined"==typeof FinalizationRegistry?(ke=e=>e,e):(Te=new FinalizationRegistry(e=>{Ae(e.$$)}),Ie=e=>Te.unregister(e),(ke=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Te.register(e,r,e)}return e})(e))};function Oe(){}function Me(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 Pe(e,t){return e=Me(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Le(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||fe("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 xe(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 Ue(e,t,r){for(;t!==r;)t.upcast||fe("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 Ve(e,t){if(null===t)return this.isReference&&fe("null is not a valid ".concat(this.name)),0;t.$$||fe('Cannot pass "'.concat(it(t),'" as a ').concat(this.name)),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Ue(t.$$.ptr,r,this.registeredClass)}function Fe(e,t){var r;if(null===t)return this.isReference&&fe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||fe('Cannot pass "'.concat(it(t),'" as a ').concat(this.name)),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&fe("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=Ue(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&fe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:fe("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,rt.toHandle(function(){o.delete()})),null!==e&&e.push(this.rawDestructor,r)}break;default:fe("Unsupporting sharing policy")}return r}function Be(e,t){if(null===t)return this.isReference&&fe("null is not a valid ".concat(this.name)),0;t.$$||fe('Cannot pass "'.concat(it(t),'" as a ').concat(this.name)),t.$$.ptr||fe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&fe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Ue(t.$$.ptr,r,this.registeredClass)}function He(e){return this.fromWireType(y[e>>2])}function We(e,t,r,i,o,n,a,s,c,l,d){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=d,o||void 0!==t.baseClass?this.toWireType=Fe:i?(this.toWireType=Ve,this.destructorFunction=null):(this.toWireType=Be,this.destructorFunction=null)}var Ge=[],je=e=>{var t=Ge[e];return t||(e>=Ge.length&&(Ge.length=e+1),Ge[e]=t=S.get(e)),t};function ze(e,t){var r,o,n,a=(e=de(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,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})(r,o,n)}):je(t);return"function"!=typeof a&&fe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var Ke=void 0;function qe(e){var t=wt(e),r=de(t);return Rt(t),r}function Ye(e,t){var r=[],i={};throw t.forEach(function e(t){i[t]||he[t]||(pe[t]?pe[t].forEach(e):(r.push(t),i[t]=!0))}),new Ke("".concat(e,": ")+r.map(qe).join([", "]))}function Je(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Xe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function $e(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Pe(e.name||"unknownFunctionName",function(){});r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function Qe(e,t,r,i,o,n){var a=t.length;a<2&&fe("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 d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(Me(e),"(").concat(u,") {\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"],_=[fe,i,o,Xe,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+=(d||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 d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),$e(Function,f).apply(null,_)}function Ze(){this.allocated=[void 0],this.freelist=[]}var et=new Ze;function tt(e){e>=et.reserved&&0===--et.get(e).refcount&&et.free(e)}var rt={toValue:e=>(e||fe("Cannot use deleted val. handle = "+e),et.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 et.allocate({refcount:1,value:e})}}};function it(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function ot(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 nt(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 at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.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},ct=(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},lt=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},ut=(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},ht=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},pt={},mt=[];function ft(e,t){var r=he[e];return void 0===r&&fe(t+" has unknown type "+qe(e)),r}var _t,gt,Et=[],vt={},yt=()=>{if(!yt.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 vt)void 0===vt[t]?delete e[t]:e[t]=vt[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));yt.strings=r}return yt.strings},Tt=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ne.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(Tt.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 ne.isDir(this.mode)}},isDevice:{get:function(){return ne.isChrdev(this.mode)}}}),ne.FSNode=Tt,ne.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?q.resolve(z.join2(e,t)):e;function h(r){function n(r){d&&d(),c||ne.createDataFile(e,t,r,i,o,l),a&&a(),V()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach(function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)}),o})(r,u,n,()=>{s&&s(),V()})||n(r)}U(),"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||F(i),t(new Uint8Array(r)),o&&V()},t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()}),o&&U()})(r,e=>h(e),s):h(r)},ne.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);le=e}(),me=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},_e=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Oe.prototype.isAliasOf=function(e){if(!(this instanceof Oe&&e instanceof Oe))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},Oe.prototype.clone=function(){if(this.$$.ptr||ye(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=ke(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},Oe.prototype.delete=function(){this.$$.ptr||ye(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe("Object already scheduled for deletion"),Ie(this),Ae(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Oe.prototype.isDeleted=function(){return!this.$$.ptr},Oe.prototype.deleteLater=function(){return this.$$.ptr||ye(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&fe("Object already scheduled for deletion"),be.push(this),1===be.length&&Ce&&Ce(we),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(De).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in De)De.hasOwnProperty(t)&&e.push(De[t]);return e},i.flushPendingDeletes=we,i.setDelayFunction=function(e){Ce=e,be.length&&Ce&&Ce(we)},We.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},We.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},We.prototype.argPackAdvance=8,We.prototype.readValueFromPointer=He,We.prototype.deleteObject=function(e){null!==e&&e.delete()},We.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&&fe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),De[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?Ne(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ne(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Re[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Se(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ne(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ne(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ke=i.UnboundTypeError=(_t=Error,(gt=Pe("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(_t.prototype),gt.prototype.constructor=gt,gt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},gt),Object.assign(Ze.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)}}),et.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),et.reserved=et.allocated.length,i.count_emval_handles=function(){for(var e=0,t=et.reserved;t<et.allocated.length;++t)void 0!==et.allocated[t]&&++e;return e};var It,At={p:function(e,t,r){throw new j(e).init(t,r),e},C:function(e,t,r){se.varargs=r;try{var i=se.getStreamFromFD(e);switch(t){case 0:return(o=se.get())<0?-28:ne.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=se.get();return i.flags|=o,0;case 5:return o=se.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[bt()>>2]=28,-1}}catch(n){if(void 0===ne||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){se.varargs=i;try{t=se.getStr(t),t=se.calculateAt(e,t);var o=i?se.get():0;return ne.open(t,r,o).fd}catch(n){if(void 0===ne||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ce(r);ve(e,{name:t=de(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,d,u,h,p){u=de(u),a=ze(n,a),c&&(c=ze(s,c)),d&&(d=ze(l,d)),p=ze(h,p);var m,f,_,g=Me(u);m=g,f=function(){Ye("Cannot construct ".concat(u," due to unbound types"),[o])},i.hasOwnProperty(m)?(fe("Cannot register public name '".concat(m,"' twice")),Le(i,m,m),i.hasOwnProperty(_)&&fe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,Ee([e,t,r],o?[o]:[],function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Oe.prototype;var s=Pe(g,function(){if(Object.getPrototypeOf(this)!==l)throw new me("Use 'new' to construct "+u);if(void 0===h.constructor_body)throw new me(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new me("Tried to invoke ctor of ".concat(u," 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 xe(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new We(u,h,!0,!1,!1),v=new We(u+"*",h,!1,!1,!1),y=new We(u+" const*",h,!1,!0,!1);return Re[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||ge("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=ze(i,o),Ee([],[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 me("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]=()=>{Ye("Cannot construct ".concat(e.name," due to unbound types"),a)},Ee([],a,function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Qe(r,i,null,o,n),[]}),[]})},d:function(e,t,r,i,o,n,a,s,c){var l=Je(r,i);t=de(t),n=ze(o,n),Ee([],[e],function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ye("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Le(d,t,i),d[t].overloadTable[r-2]=o),Ee([],l,function(o){var s=Qe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]}),[]})},D:function(e,t){ve(e,{name:t=de(t),fromWireType:function(e){var t=rt.toValue(e);return tt(e),t},toWireType:function(e,t){return rt.toHandle(t)},argPackAdvance:8,readValueFromPointer:He,destructorFunction:null})},k:function(e,t,r){var i=ce(r);ve(e,{name:t=de(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:ot(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=de(t);var n=ce(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ve(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:nt(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)}ve(e,{name:r=de(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=de(t));ve(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=ae(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 Rt(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||fe("Cannot pass non-string to std::string"),i=r&&o?$(t):t.length;var n=St(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)Q(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(Rt(a),fe("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(Rt,n),n},argPackAdvance:8,readValueFromPointer:He,destructorFunction:function(e){Rt(e)}})},f:function(e,t,r){var i,o,n,a,s;r=de(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,n=()=>T,s=2),ve(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return Rt(e),r},toWireType:function(e,i){"string"!=typeof i&&fe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=St(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(Rt,c),c},argPackAdvance:8,readValueFromPointer:He,destructorFunction:function(e){Rt(e)}})},o:function(e,t){ve(e,{isVoid:!0,name:t=de(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=mt[e])(t=rt.toValue(t),r=void 0===(n=pt[o=r])?de(o):n,null,i)},m:tt,l:function(e,t){var r=function(e,t){for(var r=new Array(e),i=0;i<e;++i)r[i]=ft(T[t+4*i>>2],"parameter "+i);return r}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map(function(e){return e.name}).join("_")+"$",n=Et[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 d,u,h="return function "+Me("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),d=$e(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,Et[o]=n,n},a:()=>{F("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,F("OOM")},y:(e,t)=>{var r=0;return yt().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=yt();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=se.getStreamFromFD(e);return ne.close(t),0}catch(r){if(void 0===ne||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=se.getStreamFromFD(e),i=r.tty?2:ne.isDir(r.mode)?3:ne.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,P=[0,(M=0,+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[t+8>>2]=P[0],y[t+12>>2]=P[1],P=[0,(M=0,+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[t+16>>2]=P[0],y[t+20>>2]=P[1],0}catch(o){if(void 0===ne||"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=ne.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(se.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ne||"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=se.getStreamFromFD(e);return ne.llseek(c,s,i),P=[c.position>>>0,(M=c.position,+Math.abs(M)>=1?M>0?+Math.floor(M/4294967296)>>>0:~~+Math.ceil((M-+(~~M>>>0))/4294967296)>>>0:0)],y[o>>2]=P[0],y[o+4>>2]=P[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ne||"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=ne.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(se.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ne||"ErrnoError"!==n.name)throw n;return n.errno}}},St=(function(){var e,t,o,n,a={a:At};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,w.unshift(o),V(),n}if(U(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=k,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||B(t)||"function"!=typeof fetch?W(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"),W(t,o,n)}))).catch(r)}(),e=>(St=p.G)(e)),Rt=e=>(Rt=p.I)(e),bt=()=>(bt=p.J)(),wt=e=>(wt=p.K)(e),Ct=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Ct=p.M)(e));function Dt(){function e(){It||(It=!0,i.calledRun=!0,R||(i.noFSInit||ne.init.initialized||ne.init(),ne.ignorePermissions=!1,G(w),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)N(i.postRun.shift());G(C)}()))}L>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)D(i.preRun.shift());G(b)}(),L>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,x=function e(){It||Dt(),It||(x=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Dt(),e.ready}),vH=EH,yH=class extends _H{constructor(e){super(vH,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 TH=(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))(TH||{});function IH(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var AH=class e{constructor(e){this.core=e,rH(this,"contextMap",new Map),rH(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 yH(eH(ZB({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new mH;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(eH(ZB({},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=IH()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}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(eH(ZB({},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?IH()-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)}};rH(AH,"Name","TRTCVideoDecoder");var SH=AH,RH=nw(dw());function bH(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return gU((e,o)=>{let n=new WeakMap;return zO.on(qO.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 Ew({code:_w.INVALID_OPERATION,message:lP({key:nP.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 wH,CH=!0,DH={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"},NH={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},kH=((wH=kH||{})[wH.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",wH[wH.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",wH[wH.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",wH[wH.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",wH[wH.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",wH[wH.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",wH[wH.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",wH[wH.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",wH[wH.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",wH[wH.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",wH[wH.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",wH[wH.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",wH[wH.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",wH[wH.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",wH[wH.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",wH[wH.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",wH[wH.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",wH[wH.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",wH[wH.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",wH[wH.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",wH[wH.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",wH[wH.INVALID_OPERATION=5100]="INVALID_OPERATION",wH[wH.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",wH[wH.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",wH[wH.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",wH[wH.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",wH[wH.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",wH[wH.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",wH[wH.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",wH[wH.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",wH[wH.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",wH[wH.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",wH[wH.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",wH[wH.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",wH[wH.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",wH[wH.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",wH[wH.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",wH[wH.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",wH[wH.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",wH[wH.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",wH[wH.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",wH[wH.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",wH[wH.DEVICE_ERROR=5300]="DEVICE_ERROR",wH[wH.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",wH[wH.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",wH[wH.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",wH[wH.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",wH[wH.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",wH[wH.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",wH[wH.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",wH[wH.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",wH[wH.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",wH[wH.SERVER_ERROR=5400]="SERVER_ERROR",wH[wH.NEED_TO_BUY=5401]="NEED_TO_BUY",wH[wH.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",wH[wH.OPERATION_FAILED=5500]="OPERATION_FAILED",wH[wH.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",wH[wH.REJOIN_FAILED=5502]="REJOIN_FAILED",wH[wH.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",wH[wH.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",wH[wH.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",wH[wH.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",wH[wH.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",wH[wH.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",wH[wH.OPERATION_ABORT=5998]="OPERATION_ABORT",wH[wH.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",wH);var OH=rw(tw({},aP),{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(WD(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(WD(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_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},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 or screen share 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=MH(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=MH(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=MH(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=MH(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=MH(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=MH(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=MH(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 MH(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var PH=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=kH[r];try{t=OH[s]}catch(n){t=OH.UNKNOWN_ERROR}return GD(t)?a=t(i):zD(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===NH.SERVER_ERROR?t:r||t,params:tw({fnName:n,error:a},o)}),super(l),sw(this,"name","RtcError"),sw(this,"code"),sw(this,"extraCode"),sw(this,"functionName"),sw(this,"message"),sw(this,"data"),sw(this,"handler"),sw(this,"originError"),this.name=kH[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");Hk?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):Wk&&(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 Ew){let{stack:n}=t,a={code:NH.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case _w.INVALID_PARAMETER:a.code=NH.INVALID_PARAMETER,a.message=t.message;break;case _w.INVALID_OPERATION:a.code=NH.INVALID_OPERATION;break;case _w.NOT_SUPPORTED:case _w.NOT_SUPPORTED_H264:a.code=NH.ENV_NOT_SUPPORTED,t.getCode()===_w.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(aP.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case _w.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case _w.SERVER_TIMEOUT:case _w.SWITCH_ROLE_FAILED:case _w.SWITCH_ROOM_FAILED:a.code=NH.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case _w.API_CALL_ABORTED:a.code=NH.OPERATION_ABORT;break;case _w.DEVICE_NOT_FOUND:case _w.DEVICE_AUTO_RECOVER_FAILED:case _w.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 _w.VIDEO_ENCODE_FAILED:a.extraCode=5505;case _w.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=NH.OPERATION_FAILED;break;case _w.UNKNOWN:break;default:a.code=NH.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:NH.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var LH=PH;function xH(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function UH(e){return e===DH.QOS_PREFERENCE_CLEAR?"detail":e===DH.QOS_PREFERENCE_SMOOTH?"motion":""}function VH(e,t){let r=t?eC:Zw;return KN(e)?tw(tw({},r),e):Qw[e]?Qw[e]:r}var FH={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:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},BH={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}}},HH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(zD(e)&&!document.getElementById(e))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},WH={name:"userId",required:!0,type:"string"},GH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{type:["string","object"],properties:{bitrate:{type:"number"},channelCount:{type:"number"}}},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function jH(e,t){if(!e)throw new LH({code:NH.INVALID_OPERATION,extraCode:5101,fnName:t})}function zH(e,t,r){if(!e)throw new LH({code:NH.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function KH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function qH(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function YH(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!qP())return XO.warn("small stream is not supported"),void delete e.option.small;let r=VH(e.option.profile),i=VH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:(XO.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var JH={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 LH({code:NH.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(zD(e.roomId))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});KH(e.roomId,r,t)}else{if(!e.strRoomId)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5015,fnName:r});qH(e.strRoomId,r,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:HH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:FH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&CP())throw new LH({code:NH.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&YH(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:rw(tw({},HH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:FH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&YH(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:GH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&CP())throw new LH({code:NH.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:GH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:HH,publish:{type:"boolean"},option:BH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(CP())throw new LH({code:NH.ENV_NOT_SUPPORTED,extraCode:5201});if(!LP())throw new LH({code:NH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:HH,publish:{type:"boolean"},option:BH}},muteRemoteAudio:[WH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[WH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:HH,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){jH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(zH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new LH({code:NH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:rw(tw({},HH),{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){jH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(zH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new LH({code:NH.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&&jD(e.streamType))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){jH(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(!dL)throw new LH({code:NH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new LH({code:NH.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});jH(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 LH({code:NH.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 LH({code:NH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(jH(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new LH({code:NH.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(jH(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new LH({code:NH.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)KH(e.roomId,r,t);else{if(!e.strRoomId)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5015,fnName:r});qH(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},XH={TRTC:JH},$H=class extends Error{};function QH(e,t){let r=pN(e);for(let i=0;i<t.length;i++)hN(r[i],t[i]);return r}function ZH(e){this._resolve=Promise.resolve(e)}function eW(e){this._reject=Promise.reject(e)}var tW=class e{constructor(t,r){this.instance=t,this.group=r,sw(this,"started",!1),sw(this,"ops",[]),sw(this,"startSame",()=>!0),sw(this,"mergeUpdate",QH);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 $H("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:ZH,reject:eW};try{switch(this.state){case 1:if(0===e)throw new $H("already started");break;case 4:if(2===e)throw new $H("not started");break;default:return this.cacheOp(n)}}catch(nM){return Promise.reject(nM)}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 $H("already start");break;case 3:switch(e.type){case 2:throw new $H("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new $H("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new $H("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 $H("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new $H("start not allowed after update");case 0:throw new $H("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new $H("keep start")),new $H("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}};sw(tW,"instances",new WeakMap);var rW=tW,iW=new WeakMap,oW=(e,t)=>{if(t instanceof $H){let{stack:r}=t;t=new LH({code:NH.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function nW(e,t){return gU((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=rW.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(oW.bind(null,i))):r.apply(this,n)})}function aW(e,t){let{merge:r,debounce:i}=t||{};return gU((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=rW.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 d=null==(s=iW.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout(()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(oW.bind(null,o)).then(i,n)},e);iW.has(this)?null==(l=iW.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):iW.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))})}return c.action(2,t.bind(this),a).catch(oW.bind(null,o))})}function sW(e){return gU((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(rW.gets(this,a).map(e=>e.action(3,()=>Promise.resolve(),o))).then(()=>t.call(this,...o));let s=rW.get(this,a);return s?s.action(3,t.bind(this),o).catch(oW.bind(null,r)):t.apply(this,o)})}var cW={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",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},lW=new Set([cW.ERROR,cW.AUTOPLAY_FAILED,cW.KICKED_OUT,cW.REMOTE_USER_ENTER,cW.REMOTE_USER_EXIT,cW.REMOTE_AUDIO_AVAILABLE,cW.REMOTE_AUDIO_UNAVAILABLE,cW.REMOTE_VIDEO_AVAILABLE,cW.REMOTE_VIDEO_UNAVAILABLE,cW.CONNECTION_STATE_CHANGED,cW.PUBLISH_STATE_CHANGED,cW.SCREEN_SHARE_STOPPED,cW.DEVICE_CHANGED,cW.FIRST_VIDEO_FRAME,cW.PERMISSION_STATE_CHANGE,cW.VIDEO_SIZE_CHANGED]),dW={};ow(dW,{ScheduleRequestType:()=>gW,getAbilityConfig:()=>vW,getScheduleDomain:()=>yW,isNeedToSchedule:()=>hW,scheduleProxy:()=>fW,sendScheduleRequest:()=>mW,setIsNeedToSchedule:()=>pW,setScheduleProxy:()=>_W});var uW=null,hW=!0;function pW(e){qD(e)&&e!==hW&&(hW=e,XO.info("setIsNeedToSchedule ".concat(e)))}function mW(e){return lw(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(!hW&&uW)return{isCached:!0,result:uW};let e={delta:0,count:[1,1],msg:[],detail:[]};try{let d=new FormData;d.append("userId",String(t)),d.append("sdkAppId",String(r)),d.append("isStrGroupId",String(i)),d.append("groupId",String(o)),d.append("sdkVersion",a),d.append("userSig",String(n));let u=yield PO();null!=u&&u.model&&d.append("model",String(null==u?void 0:u.model)),c&&d.append("role",String(c)),l&&d.append("latencyLevel",String(l)),s&&d.append("frameWorkType",String(s));let h=oN(),p=yield function(e,t,r){return new Promise((i,o)=>{let n=null;iN([IW(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]=EW(r,"config",rC.MAIN,!0)),o())})(EW(r,"config",rC.MAIN),e,{get timeout(){return 1e3*BD(2+t.count[0])}}),IW(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]=EW(r,"config",rC.BACKUP,!0)),o())})(EW(r,"config",rC.BACKUP),e,{get timeout(){return 1e3*BD(2+t.count[1])}})]).then(e=>{n=e,i(n)}).catch(o)})}(d,e,r);p.config&&(p.config.loggerDomain&&Pw(p.config.loggerDomain),qD(p.config.scheduleCache)&&pW(!p.config.scheduleCache)),e.delta=oN()-h;let m=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=EW(e,"config",rC.MAIN),a=EW(e,"config",rC.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?rC.MAIN:rC.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),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];YL.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=rw(tw({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){XO.error("getScheduleDetailCost error",n)}return i}(Number(r),t,h);return uW=p,{isCached:!1,result:p,detailCost:m}}catch(d){let e=JD(d)?d[0]:d,t=KD(e.code)?e.code:0,r="schedule failed".concat(e.message?": ".concat(e.message):""),i=new Ew({code:_w.SCHEDULE_FAILED,extraCode:t,message:lP({key:nP.JOIN_ROOM_FAILED,data:{error:r,code:t}})});throw XO.error(r,t),i}}()})}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(zC).map(e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">')).join("\r\n")),zO.on("28",()=>pW(!0)),zO.on("63",()=>pW(!0)),zO.on("84",()=>pW(!0)),zO.on("201",e=>{"RECONNECTING"===e.state&&pW(!0)}),zO.on("202",e=>{"RECONNECTING"===e.state&&pW(!0)});var fW={main:"",backup:""};function _W(e){JD(e)?(fW.main=e[0],fW.backup=e[1]):fW.main=e}var gW=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(gW||{});function EW(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:rC.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(fW[r]||yW(e,r,i),"/api/v1/").concat(t)}function vW(e,t,r){let i=EW(e,t),o=EW(e,t,rC.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then(e=>e.json()),s=fetch("".concat(o,"?").concat(n)).then(e=>e.json());return iN([a,s])}function yW(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rC.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=RD(e)?i?r===rC.MAIN?zC.MAIN_OVERSEA_BACKUP:zC.BACKUP_OVERSEA:r===rC.MAIN?zC.MAIN_OVERSEA:zC.BACKUP_OVERSEA:r===rC.MAIN?zC.MAIN:zC.BACKUP,t}function TW(e,t,r){return new Promise((i,o)=>{HN({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 IW=(e,t)=>qN({retryFunction:TW,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var AW=class{constructor(){sw(this,"_log"),this._log=XO.createLogger({id:"fd"})}download(e,t){return lw(this,null,function*(){let{type:r="blob"}=t||{};e=bN(e);try{let t,i=oN();if(t=GD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=oN()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),yP.addSuccessEvent({key:522700,cost:oN()-i}),t.data}catch(aM){throw this._log.error("failed to download: ".concat(e,", error: ").concat(aM)),yP.addFailedEvent({key:522700,error:aM}),aM}})}downloadWithFetch(e,t){return lw(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){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(NC){throw NC}})}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=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)})}loadWasm(e,t){return lw(this,null,function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=oN(),i=null,o=null;if(GD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&GD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(Dw){o=Dw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(Dw){o=Dw}if(i){let t=oN()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),yP.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),yP.addFailedEvent({key:522701,error:o}),o})}loadScript(e){this._log.info("loadScript ".concat(e));let t=oN();return new Promise((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(oN()-t,"ms")),yP.addSuccessEvent({key:522702,cost:oN()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),yP.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)})}};aw([XL({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],AW.prototype,"download",1),aw([XL({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],AW.prototype,"loadScript",1);var SW=new AW;function RW(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:SB,LocalVideoTrack:$F,LocalScreenTrack:wB,room:i,assetsPath:n,fileDownloader:SW,innerEmitter:zO,INNER_EVENT:qO,constants:Sw,environment:JN,utils:QF,eventLogger:YL,log:this.room.getLogger(),loggerManager:XO,errorModule:o,kvStatManager:yP,rtcDectection:ZO,trtc:this,rx:RU,enums:eM,schedule:dW,getDevices:Xx,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return lw(t,null,function*(){window.VisionTaskRegistry||(yield SW.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])})},audioContext:Ox(),deviceDetector:Yx,AudioPlayer:nU,AutoPlayDialog:vx,Timer:WL,clearStarted:(e,t)=>{let r=e.getAlias(),i=rW.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:NB,createAudioNode:Fx,getNetworkTimeOffset:vw}}var bW=new WeakMap;function wW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return gU((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{DW.call(this,t,o,r,this._name)}catch(aM){return Promise.reject(aM)}return e.apply(this,o)})}function CW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return gU((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{DW.call(this,t,o,r,this._name)}catch(aM){throw aM}return e.apply(this,o)})}function DW(e,t,r,i){if(JD(e))for(let o=0;o<e.length;o++)NW.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else NW.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function NW(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:NH.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(jD(r)){if(t.required)throw new LH(a(5001));if(jD(t.defaultValue))return void(GD(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),GD(t.type[i])&&r instanceof t.type[i]&&(e=!0),zD(t.type[i])&&WD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new LH({code:NH.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map(e=>ZD(e)?eN(e):zD(e)?e:WD(e))},value:r}})}else if(!jD(t.type)&&WD(r)!==t.type)throw new LH(a(5002));if(!1===t.allowEmpty){let e=KD(r)&&(0===r||Number.isNaN(r)),t=zD(r)&&""===r.trim();if(e||t)throw new LH(a(5003))}if(t.notLessThanZero&&KD(r)&&r<0)throw new LH(a(5006));if(!jD(t.min)&&KD(r)&&r<t.min)throw new LH(a(5007));if(!jD(t.max)&&KD(r)&&r>t.max)throw new LH(a(5008));if(zD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new LH(a(5004))}else if(GD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new LH(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new LH(a(5005));let{properties:s}=t;FD(s)&&YD(r)&&Object.keys(s).forEach(e=>{NW.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})});let{arrayItem:c}=t;FD(c)&&JD(r)&&r.forEach((e,t)=>{NW.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})}),GD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function kW(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return gU((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(WD(t)):t instanceof MediaStreamTrack?wN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(WD(t))}}let m=this._log||XO;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,(e,t)=>p(e,t,["userSig","privateMapKey"])))):m.info("".concat(a,"()"));let f=i?i(...c):pP[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=oN();if(QD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then(r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),yP.addSuccessEvent({key:f,cost:oN()-i}),r)).catch(r=>{var i;let o=(r=LH.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),yP.addFailedEvent({key:f,error:r}),r})}return yP.addSuccessEvent({key:f}),r}catch(dM){let t=(dM=LH.convertFrom.call(this,dM,a)).extraCode||dM.code,r=null!=(h=dM.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(dM).concat(r," params: ").concat(JSON.stringify(c,p))),yP.addFailedEvent({key:f,error:dM}),dM}})}var OW,MW=e=>gU((t,r)=>function(i,o){return lw(this,null,function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new LH({code:NH.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(GD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new LH({code:NH.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return DW.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)})}),PW=0,LW=class e{constructor(e){this.core=e,sw(this,"log"),sw(this,"customAudioReferenceMap",new Map),sw(this,"audioRefId",0),sw(this,"audioContext",Ox()),sw(this,"localAudioWorkletNode"),sw(this,"screenAudioWorkletNode"),sw(this,"mixNode"),sw(this,"silentNode"),PW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(PW)}),this.log.info("created id=".concat(this.getAlias()).concat(PW)),this.installEvent()}static getStartValidateRule(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&&!e.room.audioManager.hasScreenAudioTrack)throw new LH({code:NH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return OW||(OW=this.doPreload(e)),OW}doPreload(e){return lw(this,null,function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Tx(this.audioContext,r)}catch(aM){this.log.error("preload audioProcessor failed. ".concat(aM))}finally{URL.revokeObjectURL(r)}})}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return lw(this,null,function*(){var t,r,i,o;let{room:n}=this.core,{sdkAppId:a,userId:s,userSig:c,assetsPath:l=this.core.assetsPath,audioReference:d,processLevel:u,enableDump:h,isLocalAudioNeedAudioProcess:p=!0,isScreenAudioNeedAudioProcess:m=!1}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=p,this.core.room.audioManager.isScreenAudioNeedAudioProcess=m,!l)throw new LH({code:NH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(l,"/audioProcessor-wasm.js")),p&&!this.localAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",a,s,r,e,t,n)}if(m&&!this.screenAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",a,s,r,e,t,n)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"enable"}),null==(r=this.screenAudioWorkletNode)||r.port.postMessage({type:"enable"}),n.audioManager.addAudioProcessor(this.mixNode,this.silentNode,this.localAudioWorkletNode,this.screenAudioWorkletNode),jD(d)||d.forEach(e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}),jD(u)||null==(i=this.localAudioWorkletNode)||i.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:u}}),jD(h)||null==(o=this.localAudioWorkletNode)||o.port.postMessage({type:"dump",data:{enable:h}})})}update(e){return lw(this,null,function*(){var t,r,i;let{audioReference:o,enableDump:n,processLevel:a}=e;jD(o)||(this.customAudioReferenceMap.forEach((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})}),o.forEach(e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),jD(a)||null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),jD(n)||(null==(r=this.localAudioWorkletNode)||r.port.postMessage({type:"dump",data:{enable:n}}),null==(i=this.screenAudioWorkletNode)||i.port.postMessage({type:"dump",data:{enable:n}}))})}stop(){return lw(this,null,function*(){var e,t;let{room:r}=this.core;null==(e=this.localAudioWorkletNode)||e.port.postMessage({type:"disable"}),null==(t=this.screenAudioWorkletNode)||t.port.postMessage({type:"disable"}),yield r.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.screenAudioWorkletNode)})}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null),this.uninstallEvent()}getAuthData(e,t,r){return lw(this,null,function*(){let i=String(Date.now()).slice(0,-3),{auth:o,sign:n,status:a,message:s}=yield function(e){return lw(this,arguments,function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rC.MAIN;return"https://".concat(fW[t]||yW(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"×tamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=RD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()})}({sdkAppId:e,userSig:r,userId:t,timestamp:i});if(!o)throw this.log.info("audioProcessor: ".concat(t," auth result: ").concat(o,". Message: ").concat(s)),new LH({code:NH.INVALID_PARAMETER,message:s});return{sign:n,status:a,timestamp:i}})}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("".concat("localAudio"===t?"":"[".concat(t,"] "),"avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(Iw(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("".concat("localAudio"===t?"":"[".concat(t,"] ")).concat(i.value));case"dump":return void zO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}handleLocalAudioStarted(e){return lw(this,null,function*(){var t;if(this.hitTest(e.room)&&!0===(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor))try{yield this.core.trtc.startPlugin("AudioProcessor",{sdkAppId:this.core.room.sdkAppId,userId:this.core.room.userId,userSig:this.core.room.userSig}),this.log.warn("audio processor auto start success")}catch(NC){this.log.warn("audio processor auto start failed, error: ".concat(NC))}})}handleLocalAudioStopped(e){return lw(this,null,function*(){var t;!this.hitTest(e.room)||!0!==(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor)||(yield this.core.trtc.stopPlugin("AudioProcessor"))})}installEvent(){this.core.innerEmitter.on("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.on("114",this.handleLocalAudioStopped,this)}uninstallEvent(){this.core.innerEmitter.off("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.off("114",this.handleLocalAudioStopped,this)}hitTest(e){return e===this.core.room}};sw(LW,"updateValidateRule",{type:"object"}),sw(LW,"stopValidateRule",{type:"object"}),sw(LW,"Name","AudioProcessor");var xW=LW;var UW=0,VW=class{constructor(e,t){sw(this,"player"),sw(this,"publisher"),sw(this,"mixInput"),this.mixInput=new xx(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&&(jD(e.volume)||(this.volume=e.volume),jD(e.loop)||(this.loop=e.loop),jD(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 FW(e,t){if(t&&"function"!=typeof t)throw new LH({code:NH.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var BW=class e{constructor(e){this.core=e,sw(this,"log"),sw(this,"mixedMusicMap",new Map),sw(this,"cacheMusicMap",new Map),UW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(UW)}),this.log.info("created id=".concat(this.getAlias()).concat(UW))}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 lw(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 VW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),yP.addEnum({key:502700,value:3}),this.kvUpload(e)})}update(e){return lw(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),jD(r)||n.setOperation(r),jD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))})}stop(e){return lw(this,arguments,function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||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&&yP.addCount({key:502711}),r&&yP.addCount({key:502703}),i&&yP.addCount({key:502704}),o&&yP.addCount({key:502705}),n&&yP.addCount({key:502706}),a&&yP.addCount({key:502707}),"function"!=typeof s&&yP.addCount({key:502709}),"function"!=typeof l&&yP.addCount({key:502710}),"function"!=typeof c&&yP.addCount({key:502708})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId: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()}};sw(BW,"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 LH({code:NH.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new LH({code:NH.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});FW("onTimeUpdate",e.onTimeUpdate),FW("onEnded",e.onEnded),FW("onDurationChange",e.onDurationChange)}}),sw(BW,"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){FW("onTimeUpdate",e.onTimeUpdate),FW("onEnded",e.onEnded),FW("onDurationChange",e.onDurationChange)}}),sw(BW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),sw(BW,"Name","AudioMixer");var HW,WW=BW,GW=0,jW=class e{constructor(e){this.core=e,sw(this,"log"),sw(this,"audioContext",Ox()),sw(this,"workletNode"),GW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(GW)}),this.log.info("created id=".concat(this.getAlias()).concat(GW))}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 LH({code:NH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return HW||(HW=this.doPreload(e)),HW}doPreload(e){return lw(this,null,function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Tx(this.audioContext,r)}catch(aM){throw this.log.error("load worklet failed",aM),aM}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 lw(this,null,function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new LH({code:NH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(i,"/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 lw(this,arguments,function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=RD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()})}(r,rw(tw({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new LH({code:NH.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(Iw(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 lw(this,null,function*(){})}stop(){return lw(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)}};sw(jW,"updateValidateRule",{type:"object"}),sw(jW,"stopValidateRule",{type:"object"}),sw(jW,"Name","AIDenoiser");var zW=jW;var KW=nw(dw(),1),qW=class extends KW.EventEmitter{constructor(){super(),sw(this,"observer"),sw(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 lw(this,null,function*(){if(!this.observer)try{"PressureObserver"in window&&!sk&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Cw){YL.uploadEvent({log:"stat-pressure-detector-start-failed",error:Cw})}})}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&XO.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(NC){YL.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:NC})}}},YW=new qW;function JW(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 YF(new DataView(new Uint8Array(a).buffer),!0)}function XW(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(JW),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 d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function $W(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 YF(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(Cw){}return t}var QW=0,ZW=class e{constructor(e){this.core=e,sw(this,"log"),sw(this,"_seiMessageList",[]),sw(this,"_smallSeiMessageList",[]),sw(this,"_subStreamSeiMessageList",[]),QW++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(QW)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(QW)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return XW({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(NC){this.log.warn(NC)}return t}decode(e){let{frame:t,track:r}=e;return $W({frame:t,onSEI:e=>{e.forEach(e=>{this.core.trtc.emit(cW.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:cL?this.encode:XW,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:cL?this.decode:$W,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"}};sw(ZW,"autoStart",!0),sw(ZW,"Name","SEI");var eG=ZW;function tG(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function rG(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var iG={"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=>{iG["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}});var oG,nG=0,aG=class e{constructor(e){this.core=e,sw(this,"_core"),sw(this,"log"),sw(this,"dumpLocalVideoMap",{}),sw(this,"dumpRemoteVideoMap",{}),sw(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++nG)}),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 lw(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(e){return lw(this,arguments,function(e){var t=this;let{visible:r}=e;return function*(){r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor())}()})}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return lw(this,null,function*(){var e;if(!this.dialog)try{if(oG)yield oG;else{let t=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(bw,"/assets/debug-dialog.js");oG=this._core.fileDownloader.loadScript(t),yield oG}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Cw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Cw))}})}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):tG,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):rG,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 tG({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return rG({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};sw(aG,"Name","Debug"),sw(aG,"autoStart",!0);var sG=aG,cG=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},lG=class{constructor(e,t,r){sw(this,"trackDoneOB"),sw(this,"startOB"),sw(this,"stopOB"),sw(this,"inputFrameCount",0),sw(this,"decodedFrameCount",0),sw(this,"type","auto"),sw(this,"config"),sw(this,"decoder"),sw(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=_V(t,xL.INIT),this.stopOB=iV(),this.startOB=iV(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=iV();xU(this.startOB,QU(0),fF(e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),xU(r,VV(this.stopOB),FF(()=>{},r=>{t.log.error(r),i.addFailedEvent({key:cG(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)})),xU(r,UV(1),PF(CV))}),VV(this.stopOB),FF(()=>{t.player.setOutput(),n.next("STARTED")},e=>{n.next("FAILED")},()=>{i.addSuccessEvent({key:cG(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 jU()(t=>lw(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(aM){e.log.error(aM),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"}))}},dG={type:"object"},uG=class e{constructor(e){this.core=e,sw(this,"log"),sw(this,"contextMap",new Map),sw(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 dG}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 lG(this.core,i,e);return xU(o.trackDoneOB,UV(1),FF(()=>{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 lG(this.core,e.track,e))}}};sw(uG,"Name","TRTCAudioDecoder");var hG=uG,pG=class{constructor(){sw(this,"log"),this.log=XO.createLogger({id:"exp"})}call(e,t){return lw(this,null,function*(){return GD(this[e])?this[e](t):Promise.reject(new Ew({code:_w.INVALID_PARAMETER,message:lP({key:nP.API_NOT_EXIST,data:{name:e}})}))})}enableAudioFrameEvent(e){return lw(this,null,function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach(e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM(e=>{t.emit(cW.AUDIO_FRAME,e)},e.userId);c.set(e.userId,r)}});else{if(c.get(i))return;let e=s.getPCM(e=>{t.emit(cW.AUDIO_FRAME,e)},i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach(e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}});else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}})}};aw([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return gU((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return BB.call(this,t,o,r,this._name),e.apply(this,o)})}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],pG.prototype,"enableAudioFrameEvent",1);var mG=new pG,fG=nw(dw(),1),_G=class extends fG.EventEmitter{constructor(){super(),sw(this,"states",{}),sw(this,"permissionChangeHandler"),sw(this,"log"),this.log=XO.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return lw(this,null,function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach(e=>e.stop())})}get(e){return lw(this,null,function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(NC){return this.log.error("get ".concat(e," permission failed, error: ").concat(NC instanceof Error?NC.message:NC)),null}})}destroy(){Object.values(this.states).forEach(e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)}),this.states={}}},gG=new _G,EG=0,vG=new Set,yG=null;ww("5.13.0-wasm.3"),QO.checkStorage();var TG=class e extends RH.EventEmitter{constructor(t,r){super(),sw(this,"_room"),sw(this,"_eventListened",new Set),sw(this,"_localVideoTrack",null),sw(this,"_localAudioTrack",null),sw(this,"_localScreenTrack",null),sw(this,"_localScreenAudioTrack",null),sw(this,"_localVideoConfig",null),sw(this,"_localScreenConfig",null),sw(this,"_localAudioConfig",null),sw(this,"_remoteVideoConfigMap",new Map),sw(this,"_remoteAudioConfigMap",new Map),sw(this,"_remoteAudioVolumeMap",new Map),sw(this,"_remoteAudioMuteMap",new Map),sw(this,"_mediaTrackMap",new WeakMap),sw(this,"_log",XO.createLogger({id:"t".concat(++EG)})),sw(this,"_plugins",new Map),sw(this,"_networkQuality",null),sw(this,"_speakerId"),sw(this,"enterRoomParams"),sw(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(tw({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,qD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),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(WW,r.assetsPath),this._use(xW,r.assetsPath),this._use(zW,r.assetsPath),this._use(hG,r.assetsPath),this._use(sG),r.enableSEI&&dL&&this._use(eG),this._room.on("audio-volume",e=>{var t,i;!e.find(e=>""===e.userId)&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),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)}),r.enableDbVolume&&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(cW.AUDIO_VOLUME,{result:e.sort((e,t)=>t.volume-e.volume)})}),this._room.videoManager.on("error",e=>{this._log.error(new LH({code:NH.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(aM){let r=lP({key:nP.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return XO.warn("".concat(r,"\n\n").concat(aM.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(CH){CH=!1,5!==XO.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(Fw,"/en/index.html")),console.info("* Changelog: ".concat(Fw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),XO.info("TRTC Web SDK Version:",bw),wO||XO.debug("Build Time:","2025-08-26 19:47:31");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(LO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),XO.info(t),XO.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),PO().then(e=>{e&&XO.info(MO)})}}();let i=new e(t,r||{});return vG.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){KL(this,this._room).add("peer-join",e=>{let{userId:t}=e;this.emit(cW.REMOTE_USER_ENTER,{userId:t})}).add("peer-leave",e=>{this.emit(cW.REMOTE_USER_EXIT,{userId:e})}).add("banned",e=>{this._exitRoom().finally(()=>{this.emit(cW.KICKED_OUT,{reason:e.reason})})}).add("error",e=>{this._exitRoom().finally(()=>{this.emit(cW.ERROR,LH.convertFrom(e))})}).add("signal-connection-state-changed",e=>{this.emit(cW.CONNECTION_STATE_CHANGED,e)}).add("network-quality",e=>{this._networkQuality=e;let t=rw(tw({},e),{uplinkRTT:Math.min(e.uplinkRTT,iD),downlinkRTT:Math.min(e.downlinkRTT,iD)});this.emit(cW.NETWORK_QUALITY,t)}).add("remote-published",e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach(t=>{KL(t,t).add("player-state-changed",r=>{let i=rw(tw({},r),{userId:e.userId});t.kind===rC.VIDEO&&(i.streamType=xH(t.streamType)),this.emit(t.kind===rC.AUDIO?cW.AUDIO_PLAY_STATE_CHANGED:cW.VIDEO_PLAY_STATE_CHANGED,i)}).add("error",e=>{e.getCode()===_w.PLAY_NOT_ALLOWED&&this.emit(cW.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})})})}).add("remote-unpublished",e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach(e=>{qL(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._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?cW.REMOTE_VIDEO_AVAILABLE:cW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?cW.REMOTE_AUDIO_AVAILABLE:cW.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?cW.REMOTE_VIDEO_AVAILABLE:cW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))}).add("sei-message",e=>{this.emit(cW.SEI_MESSAGE,rw(tw({},e),{streamType:xH(e.streamType)}))}).add("firewall-restriction",()=>{this.emit(cW.ERROR,new LH({code:NH.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,iD),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)/KM},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)/KM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},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],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec}))}))};this.emit(cW.STATISTICS,l)}).add("custom-message",e=>{this.emit(cW.CUSTOM_MESSAGE,e)}).add("layerData",e=>this.emit(cW.LAYER_DATA,e)).add("first-video-frame",e=>{this.emit(cW.FIRST_VIDEO_FRAME,rw(tw({},e),{streamType:xH(e.streamType)}))}).add("audio-frame",e=>{this.emit(cW.AUDIO_FRAME,e)}),KL(this,Yx).add("audioInputAdded",e=>{this.emit(cW.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})}).add("audioInputRemoved",e=>{this.emit(cW.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})}).add("videoInputAdded",e=>{this.emit(cW.DEVICE_CHANGED,{type:"camera",action:"add",device:e})}).add("videoInputRemoved",e=>{this.emit(cW.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})}).add("audioOutputAdded",e=>lw(this,null,function*(){if(this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),yG&&yG.deviceId===XC){let e=(yield eU()).find(e=>e.deviceId===XC);e&&yG.groupId!==e.groupId&&(yG=e,this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})).add("audioOutputRemoved",e=>lw(this,null,function*(){this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield eU())[0];if(!t||!yG||yG.groupId===t.groupId)return;let r=yG.deviceId===e.deviceId,i=yG.deviceId===XC&&yG.deviceId===t.deviceId;(r||i)&&(yG=t,this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})),KL(this,gG).add("permission-state-change",e=>{this.emit(cW.PERMISSION_STATE_CHANGE,e)})}getNetworkTime(){return yw()}use(e){let t,r;return"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,"Chorus"===t.Name&&(this.room.enableChorus=!0),this._use(t,r)}_use(t,r){let i=this._plugins.get(t.Name);if(i)return this._log.warn("duplicate install plugin",t.Name),i;let o=new t(RW.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:LH,ErrorCode:NH,CoreErrorCode:_w,ErrorCodeDictionary:kH}}));return this._plugins.set(t.Name,o),o.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name),o}enterRoom(t){return lw(this,null,function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!zD(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,qD(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,useH265:t.useH265,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(),YW.start()})}exitRoom(){return lw(this,null,function*(){return yield this._exitRoom()})}switchRoom(e){return lw(this,null,function*(){if(this.room.isSwitchRoomSupported())try{yield this._room.switchRoom(e)}catch(NC){if(!(NC instanceof gw)||NC.code!==_w.API_CALL_TIMEOUT&&NC.code!==_w.SWITCH_ROOM_FAILED)throw NC;this._log.warn("switchRoom ".concat(NC.code===_w.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)})}_rejoinRoom(e){return lw(this,null,function*(){yield this.exitRoom();let t=tw(tw({},this.enterRoomParams),e);yield this.enterRoom(t)})}switchRole(e,t){return lw(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(){qL(this),this.removeAllListeners(),this._room.destroy(),vG.delete(this),0===vG.size&&YW.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(),zO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return lw(this,arguments,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new qF(e._room.audioManager),a={},s={muted:!0};o&&(jD(o.microphoneId)?jD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&KD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),jD(o.profile)||(zD(o.profile)?$w[o.profile]&&n.setProfile($w[o.profile]):n.setProfile(o.profile)),KD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),jD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),jD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),jD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),qD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",t=>{e.emit(cW.ERROR,new LH({code:NH.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))}),n.on("2",t=>{e.emit(cW.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})}),n.on("4",t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(cW.PUBLISH_STATE_CHANGED,rw(tw({},t),{error:r}))}),n.on("6",()=>{e.emit(cW.ERROR,new LH({code:NH.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))}),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),jD(i)||n.setMute(i),KL(n,n).add("player-state-changed",t=>{e.emit(cW.AUDIO_PLAY_STATE_CHANGED,rw(tw({},t),{userId:""}))}),r&&e._room.isJoined&&e._room.publish(n).catch(()=>{}),e._localAudioTrack=n,e._localAudioConfig=rw(tw({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),zO.emit("113",{userId:"",room:e.room})}()})}updateLocalAudio(e){return lw(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):jD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),jD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),jD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!jD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch(()=>{}),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch(()=>{})),jD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),hN(this._localAudioConfig,e)})}stopLocalAudio(){return lw(this,null,function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch(()=>{})),zO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),qL(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)})}startLocalVideo(){return lw(this,arguments,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new $F(e._room.videoManager),l={},d={};s&&(qD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:jD(s.useFrontCamera)?jD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?rC.FACING_MODE_USER:rC.FACING_MODE_ENVIRONMENT,jD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=UH(s.qosPreference)),jD(s.profile)||(zD(s.profile)?Qw[s.profile]&&c.setProfile(Qw[s.profile]):c.setProfile(s.profile)),jD(s.fillMode)||(d.objectFit=s.fillMode),jD(s.mirror)||(d.mirror=s.mirror),jD(s.small)||(jD(s.smallMode)||(e._room.smallMode=s.smallMode),qD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(VH(s.small,!0))),jD(s.rotation)||c.setRotation(s.rotation),qD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",t=>{e.emit(cW.FIRST_VIDEO_FRAME,rw(tw({},t),{streamType:xH(t.streamType)}))}),c.on("5",t=>{e.emit(cW.ERROR,new LH({code:NH.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))}),c.on("2",t=>{e.emit(cW.DEVICE_CHANGED,{type:"camera",action:"active",device:t})}),c.on("4",t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(cW.PUBLISH_STATE_CHANGED,rw(tw({},t),{error:r}))}),c.on("6",()=>{e.emit(cW.ERROR,new LH({code:NH.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))}),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),jD(a)||(yield c.setMute(a)),KL(c,c).add("player-state-changed",t=>{e.emit(cW.VIDEO_PLAY_STATE_CHANGED,rw(tw({},t),{userId:"",streamType:"main"}))}).add("video-size-changed",t=>{e.emit(cW.VIDEO_SIZE_CHANGED,rw(tw({},t),{streamType:xH(t.streamType)}))}),o&&e._room.isJoined&&e._room.publish(c).catch(()=>{}),e._localVideoTrack=c,e._localVideoConfig=rw(tw({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()})}updateLocalVideo(e){return lw(this,null,function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):jD(null==c?void 0:c.useFrontCamera)?jD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?rC.FACING_MODE_USER:rC.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?rC.FACING_MODE_USER:rC.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(jD(c.profile)||(zD(c.profile)?Qw[c.profile]&&this._localVideoTrack.setProfile(Qw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&jD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),jD(c.fillMode)||(l.objectFit=c.fillMode),jD(c.mirror)||(l.mirror=c.mirror),jD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(UH(c.qosPreference)),jD(c.small)||(qD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(VH(c.small,!0)))),this._room.isJoined&&jD(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch(()=>{}),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch(()=>{}):this._room.unpublish(this._localVideoTrack).catch(()=>{})),jD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),hN(this._localVideoConfig,e)})}stopLocalVideo(){return lw(this,null,function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch(()=>{})),this._localVideoTrack.stop(),this._localVideoTrack.close(),qL(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)})}startScreenShare(){return lw(this,arguments,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new wB(e._room.videoManager);c.on("4",t=>{let r;t.error&&(r=LH.convertFrom(t.error)),e.emit(cW.PUBLISH_STATE_CHANGED,rw(tw({},t),{error:r}))}),c.once("first-video-frame",t=>{e.emit(cW.FIRST_VIDEO_FRAME,rw(tw({},t),{streamType:xH(t.streamType)}))}),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(jD(s.profile)||(zD(s.profile)?tC[s.profile]&&c.setProfile(tC[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),jD(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=UH(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener(rC.ENDED,()=>{e._stopScreenShare(),e.emit(cW.SCREEN_SHARE_STOPPED)}),h.getAudioTracks()[0]){l=new DB(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),qD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(KL(c,c).add("player-state-changed",t=>{e.emit(cW.VIDEO_PLAY_STATE_CHANGED,rw(tw({},t),{userId:"",streamType:"sub"}))}),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch(()=>{})}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=rw(tw({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()})}updateScreenShare(e){return lw(this,null,function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(jD(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=UH(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!jD(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch(()=>{})}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch(()=>{})}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&qD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),hN(this._localScreenConfig,e)})}stopScreenShare(){return lw(this,null,function*(){return yield this._stopScreenShare()})}startRemoteVideo(e){return lw(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;c.on("decode-failed",e=>{this.emit(cW.ERROR,new LH({code:NH.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))}),c.on("video-size-changed",e=>{this.emit(cW.VIDEO_SIZE_CHANGED,rw(tw({},e),{streamType:xH(e.streamType)}))}),this._listenOutputTrackChanged(c),o&&(jD(o.fillMode)||(s.objectFit=o.fillMode),jD(o.mirror)||(s.mirror=o.mirror),jD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!jD(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&&!jD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})})}updateRemoteVideo(e){return lw(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&&(jD(a.fillMode)||(l.objectFit=a.fillMode),jD(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!jD(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),hN(h,e);let p=jD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=jD(i)?h.view:i,f=jD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})})}stopRemoteVideo(e){return lw(this,null,function*(){return this._stopRemoteVideo(e)})}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return lw(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));this._removeRemoteVideoConfig(e.userId,e.streamType)})}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return lw(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(aM){throw aM.code!==NH.OPERATION_ABORT&&this._remoteAudioMuteMap.delete(e),aM}})}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach((e,r)=>this._remoteAudioVolumeMap.set(r,t));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 lw(this,null,function*(){return e.start(t)})}updatePlugin(e,t){return lw(this,null,function*(){return e.update(t)})}stopPlugin(e,t){return lw(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(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(cW.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return 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{lW.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(aM){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach(e=>{null==e||e.abort("off")}),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(zD(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 lw(this,null,function*(){(yield eU()).forEach(t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),yG=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 lw(this,null,function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",e=>{this.emit(cW.ERROR,new LH({code:NH.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))}),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=KD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),xU(_V(n,"decode-failed"),VV(_V(n,xL.INIT)),FF(()=>{this.startPlugin(hG.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})})),yield this._updateAudioPlayOption({playOption:o,track:n}),zO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(cM){throw this._remoteAudioConfigMap.delete(r),cM}this._emitTrackEvent(n)})}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return lw(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)),zO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".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),xU(_V(e,"decode-failed"),VV(_V(e,xL.INIT)),BF(()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})}),gF(_V(e,"decode-downgrade-state-changed")),FF(i=>{r=i.state,this.emit(cW.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,rw(tw({},i),{streamType:t,userId:e.userId}))},t=>{e.log.error("fallback",t)},()=>{"STARTED"===r&&e.log.info("fallback complete")})))}_updateVideoPlayOption(e){return lw(this,arguments,function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),jD(t)&&o&&o.view&&!cN(r)){let e=mN(o.view);e.length>0&&(yield i.play(e,r))}if(!jD(t)){let e=mN(t);e.length>0?yield i.play(e,r):i.stop()}}()})}_updateAudioPlayOption(e){return lw(this,arguments,function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(Dw){}if(jD(r.muted)||i.setPlayerMute(r.muted),jD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof qF&&i.mediaTrack){let e=!1===r.muted&&!jD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof PB){let e=r.muted?0:r.volume;if(jD(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()})}_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(cW.TRACK,{userId:r,streamType:xH(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),this._checkScreenAudioEchoCancellation(this._localScreenTrack,this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch(console.error)}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(jD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(xH(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||JD(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),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))}),clearTimeout(c),c=window.setTimeout(()=>{[...s.values()].find(e=>e)?t.isSubscribed||this._room.subscribe(t).catch(()=>{}):t.isSubscribed&&this._room.unsubscribe(t).catch(()=>{})},200)},{root:o}));let l=new Set(mN(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 lw(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(),function(e){let t=bW.get(e);t&&(t.forEach(e=>clearTimeout(e)),bW.delete(e))}(this),this._room.remotePublishedUserMap.forEach(e=>{qL(e.remoteAudioTrack),qL(e.remoteVideoTrack),qL(e.remoteAuxiliaryTrack)})})}_stopScreenShare(){return lw(this,null,function*(){var e,t;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&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),qL(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}})}_checkScreenAudioEchoCancellation(e,t){return lw(this,null,function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(nM){this._log.warn("start audioProcessor plugin failed: ",nM)}}})}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!yG||Jx(yG))&&(this._initActiveSpeaker(),zO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return lw(this,null,function*(){if(yG&&!Jx(yG))this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:yG});else{let e=yield eU();e[0]&&!Jx(e[0])?(yG=e[0],this.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):zO.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:rw(tw({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),yP.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),yP.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return lw(this,null,function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),mG.call(e,tw({trtcInstance:this},t))})}static setLogLevel(e,t){XO.setLogLevel(e),jD(t)||(t?XO.enableUploadLog():XO.disableUploadLog())}static isSupported(){return MP(e.frameWorkType)}static getPermissions(e){return lw(this,arguments,function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield gG.request(r).catch(e=>{var t;return XO.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))}));let[e,i]=yield Promise.all([gG.get("camera"),gG.get("microphone")]);return{camera:e,microphone:i}}()})}static getCameraList(){return Qx(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return $x(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return eU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return lw(this,null,function*(){if(sk&&(t===DH.SPEAKER||t===DH.HEADSET)){let r=yield e.getMicrophoneList(),i="";if(r.forEach(e=>{e.label===t&&(i=e.deviceId)}),!i)return;return void vG.forEach(e=>lw(null,null,function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))}(yield eU()).forEach(e=>{e.deviceId===t&&(vG.forEach(r=>{r._setCurrentSpeaker(t),r.emit(cW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})}),yG=e)})})}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a,max:s}=e;switch(a&&(vP.version=a),t){case"count":vP.addCount({key:r,useUV:n});break;case"enum":vP.addEnum({key:r,value:i,useUV:n});break;case"number":vP.addNumber({key:r,value:i,split:o,max:s})}}};sw(TG,"_loggerManager",XO),sw(TG,"EVENT",cW),sw(TG,"ERROR_CODE",NH),sw(TG,"TYPE",DH),sw(TG,"frameWorkType",30),aw([kW({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"}})})],TG.prototype,"use",1),aw([wW(XH.TRTC.enterRoom),nW("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}),gU(e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)}),kW()],TG.prototype,"enterRoom",1),aw([kW()],TG.prototype,"exitRoom",1),aw([wW(XH.TRTC.switchRoom),kW(),AU()],TG.prototype,"switchRoom",1),aw([wW(XH.TRTC.switchRole),aW("room",{merge:(e,t)=>t}),kW()],TG.prototype,"switchRole",1),aw([kW()],TG.prototype,"destroy",1),aw([wW(XH.TRTC.startLocalAudio),nW("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)}),kW()],TG.prototype,"startLocalAudio",1),aw([wW(XH.TRTC.updateLocalAudio),aW("audio",{debounce:{delay:200,getKey:()=>"".concat(EG,"-localAudio"),isNeedToDebounce:e=>{var t;return!jD(null==(t=e.option)?void 0:t.captureVolume)}}}),kW()],TG.prototype,"updateLocalAudio",1),aw([sW("audio"),kW()],TG.prototype,"stopLocalAudio",1),aw([wW(XH.TRTC.startLocalVideo),nW("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)}),kW()],TG.prototype,"startLocalVideo",1),aw([wW(XH.TRTC.updateLocalVideo),aW("video"),kW()],TG.prototype,"updateLocalVideo",1),aw([sW("video"),kW()],TG.prototype,"stopLocalVideo",1),aw([wW(XH.TRTC.startScreenShare),nW("screen",()=>!0),kW()],TG.prototype,"startScreenShare",1),aw([wW(XH.TRTC.updateScreenShare),aW("screen"),kW()],TG.prototype,"updateScreenShare",1),aw([kW()],TG.prototype,"stopScreenShare",1),aw([wW(XH.TRTC.startRemoteVideo),nW(e=>"v".concat(e.userId).concat(e.streamType),()=>!0),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],TG.prototype,"startRemoteVideo",1),aw([wW(XH.TRTC.updateRemoteVideo),aW(e=>"v".concat(e.userId).concat(e.streamType)),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],TG.prototype,"updateRemoteVideo",1),aw([wW(XH.TRTC.stopRemoteVideo),gU(e=>function(t){return lw(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)})}),kW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],TG.prototype,"stopRemoteVideo",1),aw([sW(e=>"v".concat(e.userId).concat(e.streamType))],TG.prototype,"_stopRemoteVideo",1),aw([wW(...XH.TRTC.muteRemoteAudio),kW({getRemoteId:e=>e})],TG.prototype,"muteRemoteAudio",1),aw([CW(...XH.TRTC.setRemoteAudioVolume),function(e,t){return gU((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=bW.get(this);a||(a=new Map,bW.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=bW.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=bW.get(this))||e.delete(s)},e);a.set(s,t)}})}(200,e=>e),kW({getRemoteId:e=>e})],TG.prototype,"setRemoteAudioVolume",1),aw([MW("start"),_U(e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)}),nW((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>mP[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],TG.prototype,"startPlugin",1),aw([MW("update"),aW((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t),{merge:(e,t)=>(hN(e[1],t[1]),e)}),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>fP[e.getName()]})],TG.prototype,"updatePlugin",1),aw([MW("stop"),sW((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r}),kW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>_P[e.getName()]})],TG.prototype,"stopPlugin",1),aw([CW(...XH.TRTC.enableAudioVolumeEvaluation)],TG.prototype,"enableAudioVolumeEvaluation",1),aw([kW()],TG.prototype,"getVideoSnapshot",1),aw([kW()],TG.prototype,"_setCurrentSpeaker",1),aw([nW(e=>"a".concat(e.userId),()=>!0)],TG.prototype,"_startRemoteAudio",1),aw([gU(e=>function(t){return lw(this,null,function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map(e=>this._stopRemoteAudio(rw(tw({},t),{userId:e.userId})).catch(()=>{}))):e.call(this,t)})}),sW(e=>"a".concat(e.userId))],TG.prototype,"_stopRemoteAudio",1),aw([sW("room")],TG.prototype,"_exitRoom",1),aw([sW("screen")],TG.prototype,"_stopScreenShare",1),aw([wW(...XH.TRTC.sendSEIMessage),bH({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}})],TG.prototype,"sendSEIMessage",1),aw([wW(XH.TRTC.sendCustomMessage),bH({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],TG.prototype,"sendCustomMessage",1),aw([wW(XH.TRTC.create)],TG,"_create",1);var IG=TG,AG=class{constructor(e,t){sw(this,"_flag"),sw(this,"terminalType"),sw(this,"userId"),sw(this,"tinyId"),sw(this,"role"),sw(this,"remoteAudioTrack"),sw(this,"remoteVideoTrack"),sw(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new PB(e,this),this.remoteVideoTrack=new LB(e,this),this.remoteAuxiliaryTrack=new xB(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 lN(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()}},SG=class{constructor(){sw(this,"_set",new Set),zO.on(qO.LEAVE_SUCCESS,this.delete,this),zO.on(qO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,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))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function RG(){return lw(this,null,function*(){let e,t;try{let t=yield $x();e=t&&t.length}catch(p){}try{let e=yield Qx();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=ZO.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};YL.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),YL.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),SL()})}var bG=class{constructor(e){sw(this,"_frameWorkType"),sw(this,"_component"),sw(this,"_language"),sw(this,"connectionType"),sw(this,"_room"),sw(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),sw(this,"_keyPrefix"),sw(this,"_log"),sw(this,"_intervalId"),sw(this,"_firstPublishedUserList"),sw(this,"_networkQuality"),sw(this,"_basicInfo"),sw(this,"_pathJoinRoom"),sw(this,"_pathLeaveRoom"),sw(this,"_pathMainVideoMap"),sw(this,"_pathMainAudioMap"),sw(this,"_pathAuxiliaryMap"),sw(this,"_remoteStreamStatMap"),sw(this,"_localStreamStat"),sw(this,"_eventMap",new Map),sw(this,"_captureCostSum",0),sw(this,"_captureCostCount",0),sw(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=XO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach(e=>{e.startsWith("handle")&&GD(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 QD(n)?n.catch(e=>XO.error("".concat(t.name,"() error observed ").concat(e))):n}catch(NC){XO.error("".concat(t.name,"() error observed ").concat(NC))}}}({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:bw,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,PO().then(e=>{this._basicInfo.string_os_version=HO(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version})}addEvent(e,t){return this._eventMap.set(e,t),zO.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(qO.JOIN_START,this.handleJoinStart).addEvent(qO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(qO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(qO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(qO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(qO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(qO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(qO.JOIN_FAILED,this.handleJoinFailed).addEvent(qO.LEAVE_START,this.handleLeaveStart).addEvent(qO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(qO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(qO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(qO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(qO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(qO.PUBLISH_START,this.handlePublishStart).addEvent(qO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(qO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(qO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(qO.PLAY_TRACK_START,this.handlePlayStart).addEvent(qO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(qO.PLAYER_STATE_CHANGED,e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===rC.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))}).addEvent(qO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(qO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(qO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(qO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(qO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(qO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(qO.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(qO.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)=>zO.off(t,e)),this._eventMap.clear()}destroy(){this.uninstallEvents(),WL.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&&(jD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),jD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),jD(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 Ew?Number(r.getExtraCode()||r.getCode()):_w.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())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then(()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e})}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof Ew?Number(r.getExtraCode()||r.getCode()):_w.UNKNOWN)}}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:rw(tw({},CG),{msg_user_info:new DG({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 DG({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{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(d)&&this._pathMainAudioMap.set(d,{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(d)&&this._pathAuxiliaryMap.set(d,{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,yP.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/KM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/KM,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*Zb(10,6)))}}),!cN(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/KM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/KM,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 Ew?r.getExtraCode()||r.getCode():_w.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&aC)>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex(t=>t.userId===e&&t.flag&lC)>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex(t=>t.userId===e&&t.flag&cC)>=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,rC.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,rC.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,wG));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>wG&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+wG):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>wG&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+wG):this._pathMainVideoMap.delete(t)}),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>wG&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+wG)}getReportData(){this._basicInfo.uint32_networkType=kD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new DG({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:uN(this._signalInfo.relayIp),uint32_client_ip:uN(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Zb(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:uN(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return AN(e),e}report(){return lw(this,null,function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(oM){this._log.warn(oM)}finally{this.isDestroyed&&(this._room=null)}})}upload(e){return lw(this,null,function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=YO.enable?MN(e,2001,t):yield WN(e),i=r instanceof ArrayBuffer,o="".concat(bD(t,jw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(yP),this.uploadKVStat(vP)];n||a.push(HN({url:o,body:r,priority:"low"})),yield Promise.all(a)})}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return lw(this,null,function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=rw(tw({},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=YO.enable?MN(t,2003,this._room.sdkAppId):yield WN(t),i=r instanceof ArrayBuffer,o="".concat(bD(+this._room.sdkAppId,jw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||HN({url:o,body:r})})}};aw([XL({settings:{timeout:500,retries:3}})],bG.prototype,"upload",1);var wG=5e3,CG={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},DG=class{constructor(e){sw(this,"str_identifier"),sw(this,"str_tinyid"),sw(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},NG=bG,kG=class{constructor(){sw(this,"_startTime"),sw(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=oN())}stop(){0===this._endTime&&(this._endTime=oN())}getDuration(){return 0===this._endTime?oN()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},OG=class{constructor(e){sw(this,"_room",null),sw(this,"_durationMap"),sw(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(qO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(qO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(qO.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"),rC.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),rC.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),rC.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,rC.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,rC.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,rC.VIDEO,"auxiliary"))}),this._eventMap.forEach((e,t)=>zO.on(t,e,this))}uninstallEvents(){this._eventMap.forEach((e,t)=>zO.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 kG,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===rC.AUDIO?[o]:[],video:t===rC.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()}},MG=class{constructor(e){sw(this,"_room"),sw(this,"_renderFreezeMap",new Map),sw(this,"_isVideoPlayingEventFiredMap",new Map),sw(this,"_dataFreezeMap",new Map),sw(this,"_monitorFreezeData",new Map),sw(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(qO.LEAVE_SUCCESS,e=>{let{room:t}=e;this.hitTest(t)&&this.stop()}).set(qO.PLAY_TRACK_START,this.onPlayTrackStart).set(qO.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(qO.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(qO.PLAYER_STATE_CHANGED,e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===rC.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===rC.MUTE?this.onVideoTrackMuted(t):i===rC.UNMUTE&&this.onVideoTrackUnmuted(t)}}).set(qO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach((e,t)=>zO.on(t,e,this))}uninstallEvents(){this._eventMap.forEach((e,t)=>zO.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 kG;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>BC?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 lw(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=oN();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=oN();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!==rC.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()<BC&&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=oN()-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()}},PG=nw(dw(),1),LG=class{constructor(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:4/3;this.vbMode=e,this.faceDetectorHash=t,this.visionTaskRegistry=r,this.logger=i,sw(this,"animationState"),sw(this,"originalAspect"),sw(this,"totalOffsetX",0),sw(this,"totalOffsetY",0),sw(this,"defaultScaleRatio",.1),sw(this,"isRecovering",!1),sw(this,"boundaryY",280),sw(this,"lastActionTime",0),sw(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=o||4/3}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?yP.addSuccessEvent({key:i.key}):yP.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(lM){this.logger.error(lM)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout(()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0},this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=tw({},e),void(this.animationState.target=tw({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout(()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0},this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),KD(this.animationState.current.scaleOffsetX)&&KD(this.animationState.target.scaleOffsetX)&&KD(this.animationState.current.scaleOffsetY)&&KD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(Zb(e.sx-t.sx,2)+Zb(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},xG=class extends hB{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),sw(this,"_bgTexture"),sw(this,"_waterMarkTexture"),sw(this,"_lastMaskTexture"),sw(this,"_lastMaskFbo"),sw(this,"_textureValid",!1),sw(this,"_selfieTextureValid",!1),sw(this,"_selfieSegmentationHash"),sw(this,"wasm"),sw(this,"predictReady"),sw(this,"_color"),sw(this,"_prePrograme"),sw(this,"_segmentationMask"),sw(this,"_weixin",!1),sw(this,"_centerFace"),sw(this,"_textureMatrixLocation"),sw(this,"_offsetMatrixLocation"),sw(this,"_colorLocation"),sw(this,"_enableFaceCentering",!1),sw(this,"_enableEffectOptimization",!1),sw(this,"_mat4"),sw(this,"_postProcessing"),sw(this,"_onAbort"),sw(this,"_visionTaskRegistry"),sw(this,"resolvePreditReady"),this.init(t).catch(t=>{e.log.error(t),e.destroy(new Ew({code:_w.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()})}init(e){return lw(this,null,function*(){var t,r,i;this.predictReady=new Promise(e=>{this.resolvePreditReady=e});let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),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)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.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(n.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),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}this._enableEffectOptimization&&(2===this.wasm.vbMode||3===this.wasm.vbMode)&&(null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3)),yield this.initVisionTasks(e)})}initVisionTasks(e){return lw(this,null,function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._visionTaskRegistry.video=this.image,this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new LG(this.wasm.vbMode,e,this._visionTaskRegistry,this.context.log)}catch(NC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}})}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._enableEffectOptimization&&this._postProcessing&&(2===this.wasm.vbMode||3===this.wasm.vbMode)&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),DN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(DN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(cM){this._onAbort&&this._onAbort(cM)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}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),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},UG=class extends rB{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 }"}),sw(this,"yTextureRef"),sw(this,"uTextureRef"),sw(this,"vTextureRef"),sw(this,"Y"),sw(this,"U"),sw(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)}},VG=[e=>{e.codec="avc1.42e01f"},e=>{delete e.hardwareAcceleration}],FG=(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 BG=0,HG=class{constructor(e){sw(this,"id",BG++),sw(this,"trackDoneOB"),sw(this,"startOB"),sw(this,"stopOB"),sw(this,"decoder"),sw(this,"videoContext"),sw(this,"gop",0),sw(this,"gop_helper",0),sw(this,"waitFirstKeyFrame",!0),sw(this,"startTimestamp",0),sw(this,"startTime",0),sw(this,"startPerformanceTime",0),sw(this,"inputFrameCount",0),sw(this,"decodedFrameCount",0),sw(this,"decodeFrameCount",0),sw(this,"downgradeLevel",0),sw(this,"lastDowngradeTime",0),sw(this,"lastFrameDiff",0),sw(this,"lastDecodeFrameTimestamp",0),sw(this,"config"),sw(this,"gop_before_configure",[]),sw(this,"videoElement"),sw(this,"type","wasm"),sw(this,"goodType"),sw(this,"renderer","2d"),sw(this,"wasmOption"),sw(this,"createDecoder"),sw(this,"_decodeSink"),sw(this,"isReported",!1),sw(this,"track"),sw(this,"stateChangeOB"),sw(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=iV(),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=_V(t.availableState,xL.OFF),this.stopOB=iV(),"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),xU(this.stateChangeOB,aF((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r),"INITIALIZED"),VV(this.stopOB),FF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=xU(this.pipe(this.track),VV(this.stopOB),jU());xU(t,FF(()=>{this.track.stat.framesDecoded++},t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),yP.addFailedEvent({key:FG(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),yP.addFailedEvent({key:514704});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")),yP.addSuccessEvent({key:FG(this.type,this.renderer)}),yP.addSuccessEvent({key:514704})})),xU(t,UV(1),FF(()=>{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&&!DP()&&(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=oN()}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=>lw(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<=VG.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===VG.length)return void t.error(3);VG[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 gB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(gB.UNAVAILABLE,r=>{e.log.error(r),t.error(7)});let i=new UG(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 EB({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 aB(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(nM){e.log.error(nM),t.error("webCodecs"===n?2:6)}})}},WG=class extends PG.EventEmitter{constructor(e){super(),this.room=e,sw(this,"videoContext"),sw(this,"_glVideoContext"),sw(this,"_2dVideoContext"),sw(this,"destination"),sw(this,"smallVideoContext"),sw(this,"smallDestination"),sw(this,"smallTrackSource"),sw(this,"smallImageSource"),sw(this,"_isMirror",!1),sw(this,"_rotation",0),sw(this,"cameraTrack"),sw(this,"cameraNode"),sw(this,"transformNode"),sw(this,"mixNode"),sw(this,"screenTrack"),sw(this,"screenNode"),sw(this,"selfModel",!1),sw(this,"blurRadius",3),sw(this,"arTrack"),sw(this,"_enableFaceCentering",!1),sw(this,"_enableEffectOptimization",!1),sw(this,"onAbort"),sw(this,"_color"),sw(this,"Wasm"),sw(this,"waterMarkNode"),sw(this,"_waterMarkOption"),sw(this,"watermarkImageList",[]),sw(this,"_beautyParams"),sw(this,"isUsingArTrack",!1),sw(this,"mixTrack"),sw(this,"_isMixScreen",!1),sw(this,"_virtualBackground"),sw(this,"_virtualBackgroundAbortCallback"),sw(this,"virtualBackgroundInstance"),sw(this,"_bgAssetPath"),sw(this,"log",XO.createLogger({id:"vm"})),sw(this,"_mat4"),sw(this,"_postProcessing"),sw(this,"_checkId",0),sw(this,"_use2d",!1),sw(this,"_autoSwitchRenderMode",!0),sw(this,"encodePipeline",[]),sw(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new EB({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}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())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return DN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new EB({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 gB({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(gB.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(Cw){this.emit("error",Cw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=WL.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(),WL.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(fO||this._isMixScreen||this._isTransform||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?yP.addFailedEvent({key:t,error:e}):yP.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 gB({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}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new lB(this.smallVideoContext,e,this.log),this.smallVideoContext.on(gB.UNAVAILABLE,e=>{this.log.warn("small video context lost",e)})}if(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.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),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;fO&&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.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(aM){this.log.error("set main output failed",aM)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return lw(this,null,function*(){var t;if(!this.cameraTrack||!this.initialTrack)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}),this.destination.on(rB.RENDER,e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})),16===TO?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof hB?(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 hB?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);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new cB(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on(rB.RENDER,e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new xG(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new AB(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new TB(this.videoContext,this.log),e.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;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext._canvas)})}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof wB)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof $F)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof LB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof SB)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof wB?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof $F?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof LB?e.source&&e.source.context.destroy():e instanceof SB&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return lw(this,null,function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)})}getWatermarkImage(e,t){return lw(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 Ew({code:_w.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)}),TN(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 lw(this,null,function*(){this._beautyParams=e,this.update()})}stopBeauty(){return lw(this,null,function*(){this._beautyParams=void 0,this.update()})}setWatermark(e){return lw(this,null,function*(){let t;try{t=yield TN((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new Ew({code:_w.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2}=e;this.watermarkImageList.some(e=>e.type===a)?(this.watermarkImageList=this.watermarkImageList.filter(e=>e.type!==a),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,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 lw(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 lw(this,null,function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()})}setVirtualBackground(e){return lw(this,null,function*(){var t,r,i;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 TN(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}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 Ew({code:_w.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._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return lw(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 HG(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,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}};aw([function(e){return gU((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return lw(this,null,function*(){try{return yield t.apply(this,i)}catch(aM){e.call(this,aM)}})})}(function(e){this.log.error("update failed",e)})],WG.prototype,"update",1);var GG=0,jG=class extends xL{constructor(e){super("room"),sw(this,"seq",++GG),sw(this,"sdkAppId"),sw(this,"userId"),sw(this,"userSig"),sw(this,"privateMapKey"),sw(this,"latencyLevel"),sw(this,"tinyId"),sw(this,"scene"),sw(this,"roomId"),sw(this,"useStringRoomId"),sw(this,"role","anchor"),sw(this,"joinParams",null),sw(this,"localPublishFlag",0),sw(this,"localTracks",new Set),sw(this,"enableAutoPlayDialog",!0),sw(this,"autoReceiveAudio",!0),sw(this,"autoReceiveVideo",!0),sw(this,"proxy_ws"),sw(this,"proxy_wt"),sw(this,"proxy_unified"),sw(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,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),sw(this,"keyPointManager"),sw(this,"audioManager"),sw(this,"videoManager"),sw(this,"callDurationCalculator"),sw(this,"badCaseDetector"),sw(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),sw(this,"videoDecodeFallbackType"),sw(this,"smallMode","canvas"),sw(this,"enableChorus",!1),sw(this,"_isUsingCachedSchedule",!1),sw(this,"_log",XO.createLogger({id:"r".concat(this.seq)})),sw(this,"_joinedTimestamp",0),sw(this,"_sdkType"),sw(this,"heartbeatReport"),sw(this,"quality"),sw(this,"enableSEI"),sw(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,qD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),qD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),qD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new NG({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new OG({room:this}),this.badCaseDetector=new MG({room:this}),this.audioManager=new kB(this),this.videoManager=new WG(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 lw(this,null,function*(){return this.publish(e)})}removeTrack(e){return lw(this,null,function*(){return this.unpublish(e)})}replaceTrack(e){return lw(this,null,function*(){})}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(zD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(FD(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?(_W([n,n]),Pw("https://".concat(n))):(i&&Pw(i),o&&_W(o))}zO.once(qO.JOIN_RECEIVED_CMD_RES,()=>this.sendAbilityStatus({sched_domain:fW.main,sched_back_domain:fW.backup,signal_domain:this.proxy_ws||this.proxy_wt||""}))}getRemoteAudioStats(){return lw(this,null,function*(){let e={};return this.remotePublishedUserMap.forEach(t=>{e[t.userId]=t.remoteAudioTrack.stat}),e})}getTransportStats(){return lw(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 lw(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 Ew({code:_w.INVALID_OPERATION,message:lP({key:nP.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(aP.INVALID_DESTROY),new Ew({code:_w.INVALID_OPERATION,message:lP({key:nP.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,zO.emit(qO.ROOM_DESTROY,{room:this})}schedule(e,t){return lw(this,null,function*(){var r,i,o,n;let a=oN();try{let{isCached:s,result:c,detailCost:l}=yield mW({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:bw,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(gN(c,{keysToExclude:["username","credential"]}))),s&&zO.once(qO.JOIN_RECEIVED_CMD_RES,()=>this.sendAbilityStatus({scheduleCache:1})),this.scheduleResult=tw(tw({},this.scheduleResult),c),KD(null==(r=c.config)?void 0:r.retryCount)&&CC(c.config.retryCount),zD(null==(i=c.config)?void 0:i.loggerDomain)&&Pw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,zO.emit(qO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),yP.addSuccessEvent({key:521700,cost:oN()-a})}catch(rM){throw yP.addFailedEvent({key:521700,error:rM}),rM}})}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var zG={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},KG="__INLINE__WORKER__",qG="__INLINE__WASM__",{debug:YG}=console;zG.debug||(console.debug=()=>{});var JG,XG=!KG.startsWith("__"),$G=!qG.startsWith("__");function QG(){let e=bN("".concat(zG.assetsPath?"".concat(zG.assetsPath,"/"):"","worker.js"));return XG?URL.createObjectURL(new Blob([atob(KG)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then(e=>e.blob().then(e=>URL.createObjectURL(e))):e}function ZG(){return lw(this,null,function*(){let e=zG.assetsPath?"".concat(zG.assetsPath,"/"):"";return JG||(JG=$G?(new TextEncoder).encode(atob(qG)).buffer:yield fetch(bN("".concat(e,"av_processing.wasm"))).then(e=>e.arrayBuffer()),JG)})}var ej=new class{constructor(){sw(this,"playPort"),sw(this,"playPortSent",!1),sw(this,"worklet"),sw(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return lw(this,null,function*(){let e=Ox(),t=QG();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),XO.info("global audio player worklet addModule success",t)}catch(NC){throw XO.error("global audio player worklet addModule failed:",NC),NC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield ZG(),flag:zG},numberOfInputs:2}),XO.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort})}playAudio(e){return lw(this,null,function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))})}},tj="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";tj?Promise.resolve().then(function(){return nj}):Promise.resolve().then(function(){return uj}),tj?Promise.resolve().then(function(){return lj}):Promise.resolve().then(function(){return hj});var rj=tj?Promise.resolve().then(function(){return dj}):Promise.resolve().then(function(){return pj});function ij(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(this,null,function*(){return(yield rj).default(...t)})}var oj=e=>lw(null,null,function*(){let t=yield e.getFile();return t.handle=e,t}),nj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(null,[...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(oj));return e[0].multiple?i:i[0]}()})}};function aj(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 aj=function(e){this.s=e,this.n=e.next},aj.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 aj(e)}var sj,cj=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 lw(null,[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,d=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 aj(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.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(cj(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()})},lj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(null,[...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 cj(t,e.recursive,void 0,e.skipDirectory)}()})}},dj={__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 lw(null,[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)}()})}},uj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(null,[...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()})}()})}},hj={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(null,[...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()})}()})}},pj={__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 lw(null,[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 lw(this,null,function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return lw(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}()})}},mj=class{constructor(e){this.name=e,sw(this,"ready"),sw(this,"worker"),sw(this,"ports"),sw(this,"ids",1),sw(this,"transactions",new Map),sw(this,"log"),sw(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 lw(this,null,function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=QG(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise((t,i)=>lw(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(_N(),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 ZG(),flag:zG},this.ports)}))})}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},fj=class{constructor(e,t,r){this.worker=e,sw(this,"channel",new MessageChannel),sw(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()}},_j=new class e extends mj{constructor(){super("main"),sw(this,"switchValue",new Map),sw(this,"extendChannel"),sw(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return lw(this,null,function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield cw(e.prototype,this,"create").call(this),this.switchValue.forEach((e,t)=>{this.extendChannel.port1.postMessage([t,e])}),this)})}};function gj(e){return lw(this,null,function*(){yield _j.create(),zO.emit(qO.JOIN_SEND_CMD,{room:this});let t=new fj(_j,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(zO.emit(qO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new Ew({code:_w.JOIN_ROOM_FAILED,extraCode:Number(r),message:lP({key:nP.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r})}function Ej(e){return lw(this,null,function*(){_j.setSwitchValue("useAINS",e)})}function vj(e){return lw(this,null,function*(){_j.setSwitchValue("useV2",e)})}function yj(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),e.player.setVolume(0),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function Tj(e){return lw(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),xU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(iV(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=bU,e.onmessageerror=bU,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),VV(_V(e,xL.INIT)),FF(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:Ej},useWt:{set:function(e){return lw(this,null,function*(){_j.setSwitchValue("useWt",e)})}},enableDebug:{set(e){console.debug=e?YG:()=>{},_j.setSwitchValue("enableDebug",e)}},useV2:{set:vj},dump:{value(){if(sj||(console.warn("dump audio will be activated at next time join room"),sj=[]),!sj.length)return void console.warn("no audio data to dump,try it later");let e=[];return sj.forEach(t=>{e.push(new Uint16Array([t.length])),e.push(t)}),ij(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;_j.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,_j.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}});return ij(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:zG.useHardDecoder="prefer-hardware";break;case!1:zG.useHardDecoder="prefer-software";break;default:zG.useHardDecoder="no-preference"}}}});var Ij=[];function Aj(e){var t;let r=iV();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=Ij.length;l++)if(!Ij[l]){Ij[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:tw({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(rw(tw({},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=Ox().createMediaStreamSource(s),a.connect(ej.worklet,0,this.index)};xU(_V(e,"output-media-track-changed"),VV(_V(e,"ready")),FF(c,console.error,()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),Ij[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)})),xU(r,BF(t=>e.volume=t),gF(oB(1e3)),FF(()=>{e.volume=0})),c(e.outMediaTrack)}var Sj=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,sw(this,"track"),sw(this,"label"),sw(this,"insertKeyFrame",!0),sw(this,"session"),sw(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return lw(this,null,function*(){let i=yield this.recreate(r,{recreateCount:0});t.signal.addEventListener("abort",()=>{i.encoder.close()});let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)})}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return lw(this,null,function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.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},i)),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.encoder.close()})})}recreate(e,t){return lw(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.recreateCount&&zO.emit(qO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=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),t.recreateCount++,setTimeout(()=>this.recreate(e,t),100)}});return t.encoder=i,yield this.configure({},t),t})}configure(e,t){return lw(this,null,function*(){var r;if(Object.assign(this.config,e),0===t.frameEncoded)for(let e=0;e<=VG.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===VG.length)return;VG[e](this.config)}else t.recreateCount<=VG.length&&VG[t.recreateCount-1](this.config);null==(r=t.encoder)||r.configure(this.config)})}close(){this.port.postMessage(null),this.port.close()}};function Rj(e,t){return lw(this,null,function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.640028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:zG.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 Sj(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;UD({configureBr:[e.data.bitrate,t]}),a.session&&a.configure({bitrate:t},a.session)}},this._log.info("start push",i,t),a})}function bj(e){return lw(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 Rj.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>lw(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,d=XN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(i){console.warn(i)}})},pull(t){return lw(this,null,function*(){if(0===e.player.mode&&yL()&&e.player.element)return new Promise(r=>{e.player.element.requestVideoFrameCallback((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()})})})}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield Rj.call(this,e,{profile:u,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 xU(_V(e,"output-media-track-changed"),VV(_V(e,"ready")),FF(d,console.error,()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()})),d(e.outMediaTrack)})}var wj=class e extends xL{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,sw(this,"enableInBackground",!1),sw(this,"interval",400),t.on("joined",()=>{this.emit(e.INTERVALCHANGED,this.interval)}),xU(_V(this,e.INTERVALCHANGED),fF(e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):xU((e=>t=>{let r=0,i=performance.now();xU(iB,lF(t=>(t-i)/e|0),LV(e=>e!=r&&(r=e,!0)))(t)})(e),lF(()=>[]))),FF(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==xL.ON&&this.room.emit("audio-volume",e)}))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};sw(wj,"INTERVALCHANGED","intervalChanged"),aw([ML([xL.INIT,xL.OFF],xL.ON)],wj.prototype,"start",1),aw([ML([],xL.OFF)],wj.prototype,"stop",1);var Cj=wj,Dj=class extends jG{constructor(e){super(e),sw(this,"index",0),sw(this,"session"),sw(this,"tinyid"),sw(this,"roomid"),sw(this,"openid"),sw(this,"socketid"),sw(this,"relayip"),sw(this,"clientip"),sw(this,"remotePublishedUserMap",new Map),sw(this,"bussinessInfo"),sw(this,"token"),sw(this,"audioVolumeEvalution",new Cj(this)),sw(this,"enableAIVoice",Ej),sw(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:WO(),uint32_device_type:0,str_os_verion:GO(),uint32_link_type:1,str_client_version:bw,uint32_net_type:Jw[Aw.getNetworkType()],ua:navigator.userAgent,version:""}}),sw(this,"joinAbortController",new AbortController),sw(this,"smallAbortCtrl"),sw(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,vj(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return lw(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 lw(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 lw(this,null,function*(){var i,o,n;let a=Aw.getEnv(),s=AP(),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:VO(),browserInfo:AP(),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:bw,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 gj.call(this,c),console.log(this),ej.playAudio(e=>this.postMessage({cmd:"setAudioWorkletPort"},[e])),this.checkDestroy()})}leave(){return lw(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()),this.localTracks.clear()})}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 lw(this,null,function*(){xU(e=>lw(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])}),VV(_V(this,"left")),FF(e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(rw(tw({},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 qO.RECEIVED_PUBLISHED_USER_LIST:return void zO.emit(e,tw({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 AG(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 zO.emit(qO.REMOTE_PUBLISH_STATE_CHANGED,tw({room:this},t)),void this.emit("remote-publish-state-changed",t);case"7":return void(this.localPublishFlag!==t.flag&&(this.localPublishFlag=t.flag,this.emit("local-publish-flag-changed",t.flag)));case"network-quality":this.quality=tw({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:bw,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:Jw[CD()]},msg_event_msg:FB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};zO.emit(qO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),zO.emit(qO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void zO.emit(qO.SIGNAL_CONNECTION_STATE_CHANGED,tw({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 lw(this,null,function*(){t.forEach(e=>this.localTracks.add(e));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=>lw(this,null,function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),KL(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))Aj.call(this,e);else yield bj.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 lw(this,null,function*(){t.forEach(qL),t.forEach(e=>this.localTracks.delete(e))})}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return lw(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=tw({},n.subscribeState),s=Object.assign(new qM,a);s.mediaType|=e,zO.emit(qO.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?yj.call(this,e):Tj.call(this,e))),zO.emit(qO.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 lw(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();zO.emit(qO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}})}enableSmall(e){return lw(this,null,function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield Rj.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);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.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"))}};aw([_U(Dj.prototype.afterJoin),ML(["left",xL.INIT],"joined"),gU(e=>{let t=new SG;return function(r,i,o){return lw(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 Ew({code:_w.INVALID_OPERATION,message:lP({key:nP.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new Ew({code:_w.INVALID_OPERATION,message:lP({key:nP.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)),zO.emit(qO.JOIN_START,{room:this,roomId:n,params:r});let a=Aw.getEnv();a||(a=zw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(oC.OLD_CLOUD_LADDER)?a=zw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(oC.WEBRTC)&&(a=zw.WEBRTC))),YL.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),ZO.checkSystemRequirementsInternal(o).then(e=>{this.checkSystemResult=e,RG.call(this)});try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Aw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=Aw.performanceNow(),zO.emit(qO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&YL.uploadEvent({log:"stat-conv-".concat(Number(wO),"-").concat(location.hostname),userId:this.userId}),t}catch(nM){throw t.delete({room:this,roomId:n}),zO.emit(qO.JOIN_FAILED,{room:this,error:nM}),nM}})}})],Dj.prototype,"join",1),aw([ML("joined","left",{ignoreError:!0}),gU(e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return lw(this,null,function*(){zO.emit(qO.LEAVE_START,{room:this}),yield e.call(this,...r),zO.emit(qO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})})})],Dj.prototype,"leave",1),aw([AU(),gU(e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return lw(this,null,function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter(e=>e.outMediaTrack&&"ready"===e.state),!r.length))return;zO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map(e=>e.publish(this,t)))})})],Dj.prototype,"publish",1),aw([AU(),gU(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})],Dj.prototype,"unpublish",1),aw([function(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=IU.get(this)||new Map,a=i.get(n(t))||new yU;return i.set(n(t),a),IU.set(this,i),a.push({fn:o,args:t,context:this})},i}}(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId}),gU(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})],Dj.prototype,"subscribe",1);var Nj=Dj;return IG.frameWorkType=37,IG.create=function(e){let t=IG._create.call(this,Nj,e);return t._use(SH,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(zG.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",bw,"created",zG),t},Object.assign(IG.prototype,{_setCurrentSpeaker(e){let t=Ox();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return lw(this,null,function*(){return this.startPlugin(SH.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise((t,r)=>{xU(_V(e,"decode-downgrade-state-changed"),LV(e=>"STARTED"===e.state),UV(1),HF(1e4),VV(_V(e,xL.INIT)),FF(t,r))})})}}),vL(37),IG});
|