trtc-sdk-v5 5.15.0-wasm.1 → 5.15.0-wasm.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/worker.js +1 -1
- package/package.json +1 -1
- package/plugins/cdn-streaming/package.json +1 -1
- package/plugins/chorus/package.json +1 -1
- package/plugins/cross-room/package.json +1 -1
- package/plugins/custom-encryption/package.json +1 -1
- package/plugins/device-detector/package.json +1 -1
- package/plugins/lebplayer/package.json +1 -1
- package/plugins/small-stream-auto-switcher/package.json +1 -1
- package/plugins/video-decoder/package.json +1 -1
- package/plugins/video-effect/basic-beauty/package.json +1 -1
- package/plugins/video-effect/beauty/package.json +1 -1
- package/plugins/video-effect/face-detection/package.json +1 -1
- package/plugins/video-effect/video-mixer/package.json +1 -1
- package/plugins/video-effect/virtual-background/package.json +1 -1
- package/plugins/video-effect/watermark/package.json +1 -1
- package/plugins/voice-changer/package.json +1 -1
- package/trtc.esm.js +3 -3
- package/trtc.js +1 -1
package/assets/worker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var Yu=Object.create;var pr=Object.defineProperty,Ku=Object.defineProperties,as=Object.getOwnPropertyDescriptor,Ju=Object.getOwnPropertyDescriptors,Xu=Object.getOwnPropertyNames,mr=Object.getOwnPropertySymbols,Qu=Object.getPrototypeOf,_n=Object.prototype.hasOwnProperty,us=Object.prototype.propertyIsEnumerable;var fn=(n,t,e)=>t in n?pr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,Mt=(n,t)=>{for(var e in t||(t={}))_n.call(t,e)&&fn(n,e,t[e]);if(mr)for(var e of mr(t))us.call(t,e)&&fn(n,e,t[e]);return n},cs=(n,t)=>Ku(n,Ju(t));var ls=(n,t)=>{var e={};for(var r in n)_n.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&mr)for(var r of mr(n))t.indexOf(r)<0&&us.call(n,r)&&(e[r]=n[r]);return e};var zu=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var Zu=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Xu(t))!_n.call(n,i)&&i!==e&&pr(n,i,{get:()=>t[i],enumerable:!(r=as(t,i))||r.enumerable});return n};var fr=(n,t,e)=>(e=n!=null?Yu(Qu(n)):{},Zu(t||!n||!n.__esModule?pr(e,"default",{value:n,enumerable:!0}):e,n));var le=(n,t,e,r)=>{for(var i=r>1?void 0:r?as(t,e):t,o=n.length-1,u;o>=0;o--)(u=n[o])&&(i=(r?u(t,e,i):u(i))||i);return r&&i&&pr(t,e,i),i};var d=(n,t,e)=>fn(n,typeof t!="symbol"?t+"":t,e);var qt=zu((jm,bi)=>{"use strict";var Qc=Object.prototype.hasOwnProperty,pe="~";function Ht(){}Object.create&&(Ht.prototype=Object.create(null),new Ht().__proto__||(pe=!1));function zc(n,t,e){this.fn=n,this.context=t,this.once=e||!1}function ao(n,t,e,r,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new zc(e,r||n,i),u=pe?pe+t:t;return n._events[u]?n._events[u].fn?n._events[u]=[n._events[u],o]:n._events[u].push(o):(n._events[u]=o,n._eventsCount++),n}function Mr(n,t){--n._eventsCount===0?n._events=new Ht:delete n._events[t]}function ue(){this._events=new Ht,this._eventsCount=0}ue.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)Qc.call(e,r)&&t.push(pe?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};ue.prototype.listeners=function(t){var e=pe?pe+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,u=new Array(o);i<o;i++)u[i]=r[i].fn;return u};ue.prototype.listenerCount=function(t){var e=pe?pe+t:t,r=this._events[e];return r?r.fn?1:r.length:0};ue.prototype.emit=function(t,e,r,i,o,u){var p=pe?pe+t:t;if(!this._events[p])return!1;var l=this._events[p],m=arguments.length,h,f;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),m){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,r),!0;case 4:return l.fn.call(l.context,e,r,i),!0;case 5:return l.fn.call(l.context,e,r,i,o),!0;case 6:return l.fn.call(l.context,e,r,i,o,u),!0}for(f=1,h=new Array(m-1);f<m;f++)h[f-1]=arguments[f];l.fn.apply(l.context,h)}else{var g=l.length,A;for(f=0;f<g;f++)switch(l[f].once&&this.removeListener(t,l[f].fn,void 0,!0),m){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,e);break;case 3:l[f].fn.call(l[f].context,e,r);break;case 4:l[f].fn.call(l[f].context,e,r,i);break;default:if(!h)for(A=1,h=new Array(m-1);A<m;A++)h[A-1]=arguments[A];l[f].fn.apply(l[f].context,h)}}return!0};ue.prototype.on=function(t,e,r){return ao(this,t,e,r,!1)};ue.prototype.once=function(t,e,r){return ao(this,t,e,r,!0)};ue.prototype.removeListener=function(t,e,r,i){var o=pe?pe+t:t;if(!this._events[o])return this;if(!e)return Mr(this,o),this;var u=this._events[o];if(u.fn)u.fn===e&&(!i||u.once)&&(!r||u.context===r)&&Mr(this,o);else{for(var p=0,l=[],m=u.length;p<m;p++)(u[p].fn!==e||i&&!u[p].once||r&&u[p].context!==r)&&l.push(u[p]);l.length?this._events[o]=l.length===1?l[0]:l:Mr(this,o)}return this};ue.prototype.removeAllListeners=function(t){var e;return t?(e=pe?pe+t:t,this._events[e]&&Mr(this,e)):(this._events=new Ht,this._eventsCount=0),this};ue.prototype.off=ue.prototype.removeListener;ue.prototype.addListener=ue.prototype.on;ue.prefixed=pe;ue.EventEmitter=ue;typeof bi!="undefined"&&(bi.exports=ue)});function $(...n){}var ec=n=>n();function bn(){this.dispose()}var tc=()=>typeof __FASTRX_DEVTOOLS__!="undefined",rc=1,Ne=class extends Function{toString(){return`${this.name}(${this.args.length?[...this.args].join(", "):""})`}subscribe(t){let e=new hn(t,this,this.streamId++);return ee.subscribe({id:this.id,end:!1},{nodeId:e.sourceId,streamId:e.id}),this(e),e}},ht=class{constructor(){this.defers=new Set,this.disposed=!1}next(t){}complete(){this.dispose()}error(t){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=$,this.error=$,this.next=$,this.dispose=$,this.subscribe=$,this.doDefer()}subscribe(t){return t instanceof Ne?t.subscribe(this):t(this),this}get bindSubscribe(){return t=>this.subscribe(t)}doDefer(){this.defers.forEach(ec),this.defers.clear()}defer(t){this.defers.add(t)}removeDefer(t){this.defers.delete(t)}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}},N=class extends ht{constructor(t){super(),this.sink=t,t.defer(this.bindDispose)}next(t){this.sink.next(t)}complete(){this.sink.complete()}error(t){this.sink.error(t)}},_r=class extends ht{constructor(t,e=$,r=$,i=$){if(super(),this._next=e,this._error=r,this._complete=i,this.then=$,t instanceof Ne){let o={toString:()=>"subscribe",id:0,source:t};this.defer(()=>{ee.defer(o,0)}),ee.create(o),ee.pipe(o),this.sourceId=o.id,this.subscribe(t),ee.subscribe({id:o.id,end:!0}),e==$?this._next=u=>ee.next(o,0,u):this.next=u=>{ee.next(o,0,u),e(u)},i==$?this._complete=()=>ee.complete(o,0):this.complete=()=>{this.dispose(),ee.complete(o,0),i()},r==$?this._error=u=>ee.complete(o,0,u):this.error=u=>{this.dispose(),ee.complete(o,0,u),r(u)}}else this.subscribe(t)}next(t){this._next(t)}complete(){this.dispose(),this._complete()}error(t){this.dispose(),this._error(t)}};function H(n,...t){return t.reduce((e,r)=>r(e),n)}function de(n,t,e){if(tc()){let r=Object.defineProperties(Object.setPrototypeOf(n,Ne.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:e,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});ee.create(r);for(let i=0;i<e.length;i++){let o=e[i];typeof o=="function"&&o instanceof Ne&&ee.addSource(r,o)}return r}return n}function L(n,t){return function(...e){return r=>{if(r instanceof Ne){let i=de(o=>{let u=new n(o,...e);u.sourceId=i.id,u.subscribe(r)},t,arguments);return i.source=r,ee.pipe(i),i}else return i=>r(new n(i,...e))}}}function Ge(n,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:n,payload:t}})}var hn=class extends N{constructor(t,e,r){super(t),this.source=e,this.id=r,this.sourceId=t.sourceId,this.defer(()=>{ee.defer(this.source,this.id)})}next(t){ee.next(this.source,this.id,t),this.sink.next(t)}complete(){ee.complete(this.source,this.id),this.sink.complete()}error(t){ee.complete(this.source,this.id,t),this.sink.error(t)}},ee={addSource(n,t){Ge("addSource",{id:n.id,name:n.toString(),source:{id:t.id,name:t.toString()}})},next(n,t,e){Ge("next",{id:n.id,streamId:t,data:e&&e.toString()})},subscribe({id:n,end:t},e){Ge("subscribe",{id:n,end:t,sink:{nodeId:e&&e.nodeId,streamId:e&&e.streamId}})},complete(n,t,e){Ge("complete",{id:n.id,streamId:t,err:e?e.toString():null})},defer(n,t){Ge("defer",{id:n.id,streamId:t})},pipe(n){Ge("pipe",{name:n.toString(),id:n.id,source:{id:n.source.id,name:n.source.toString()}})},update(n){Ge("update",{id:n.id,name:n.toString()})},create(n){n.id||(n.id=rc++),Ge("create",{name:n.toString(),id:n.id})}},hr=class extends Error{constructor(t){super(`timeout after ${t}ms`),this.timeout=t}};var gn=class extends ht{constructor(t){super(),this.source=t,this.sinks=new Set}add(t){t.defer(()=>this.remove(t)),this.sinks.add(t).size===1&&(this.reset(),this.subscribe(this.source))}remove(t){this.sinks.delete(t),this.sinks.size===0&&this.dispose()}next(t){this.sinks.forEach(e=>e.next(t))}complete(){this.sinks.forEach(t=>t.complete()),this.sinks.clear()}error(t){this.sinks.forEach(e=>e.error(t)),this.sinks.clear()}};function We(){return n=>{let t=new gn(n);if(n instanceof Ne){let e=de(r=>{t.add(r)},"share",arguments);return t.sourceId=e.id,e.source=n,ee.pipe(e),e}return de(t.add.bind(t),"share",arguments)}}function ds(...n){return de(t=>{let e=new N(t),r=n.length;e.complete=()=>{--r===0&&t.complete()},n.forEach(e.bindSubscribe)},"merge",arguments)}function nc(...n){return de(t=>{let e=n.length,r=e,i=e,o=new Array(e),u=()=>{--i===0&&t.complete()},p=(l,m)=>{let h=new N(t);h.next=f=>{r--,h.next=g=>{o[m]=g,r===0&&t.next(o)},h.next(f)},h.complete=u,h.subscribe(l)};n.forEach(p)},"combineLatest",arguments)}function ms(...n){return de(t=>{let e=n.length,r=e,i=new Array(e),o=()=>{--r===0&&t.complete()},u=(p,l)=>{let m=new N(t),h=[];i[l]=h,m.next=f=>{h.push(f),i.every(g=>g.length)&&t.next(i.map(g=>g.shift()))},m.complete=o,m.subscribe(p)};n.forEach(u)},"zip",arguments)}var En=class extends N{constructor(t,...e){super(t);let r=new N(this.sink);r.next=i=>this.buffer=i,r.complete=$,r.subscribe(nc(...e))}next(t){this.buffer&&this.sink.next([t,...this.buffer])}},Cl=L(En,"withLatestFrom"),Tn=class extends N{constructor(t,e,r){super(t),this.bufferSize=e,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(t){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach(e=>{e.push(t)}),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(t),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(t=>this.sink.next(t)),super.complete()}},wl=L(Tn,"bufferCount"),In=class extends N{constructor(t,e){super(t),this.buffer=[];let r=new N(t);r.next=i=>{t.next(this.buffer),this.buffer=[]},r.complete=$,r.subscribe(e)}next(t){this.buffer.push(t)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},Ll=L(In,"buffer");function ze(n){let t=arguments,e=We()(de(r=>{e.next=i=>r.next(i),e.complete=()=>r.complete(),e.error=i=>r.error(i),n&&r.subscribe(n)},"subject",t));return e.next=$,e.complete=$,e.error=$,e}var br={promise:n=>{Promise.resolve().then(n)},setImmediate:typeof setImmediate!="undefined"?n=>setImmediate(n):null,setTimeout:n=>setTimeout(n,0)},ic=()=>typeof Promise!="undefined"?br.promise:br.setImmediate?br.setImmediate:br.setTimeout,Vl=ic();function bt(n){return de(t=>{let e=0,r=setInterval(()=>t.next(e++),n);return t.defer(()=>{clearInterval(r)}),"interval"},"interval",arguments)}function ps(n,t){return de(e=>{let r=0,i=setTimeout(()=>{if(e.removeDefer(o),e.next(r++),t){let u=setInterval(()=>e.next(r++),t);e.defer(()=>{clearInterval(u)})}else e.complete()},n),o=()=>clearTimeout(i);e.defer(o)},"timer",arguments)}function Sn(n,t){return e=>{let r=i=>e.next(i);e.defer(()=>t(r)),n(r)}}function Se(n,t){if("on"in n&&"off"in n)return de(Sn(e=>n.on(t,e),e=>n.off(t,e)),"fromEvent",arguments);if("addListener"in n&&"removeListener"in n)return de(Sn(e=>n.addListener(t,e),e=>n.removeListener(t,e)),"fromEvent",arguments);if("addEventListener"in n)return de(Sn(e=>n.addEventListener(t,e),e=>n.removeEventListener(t,e)),"fromEvent",arguments);throw"target is not a EventDispachter"}var yn=class extends N{constructor(t,e,r){super(t),this.f=e;let i=()=>{this.sink.next(this.acc),this.sink.complete()};typeof r=="undefined"?this.next=o=>{this.acc=o,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(t){this.acc=this.f(this.acc,t)}},sc=L(yn,"reduce");var An=class extends N{constructor(t,e,r){super(t),this.filter=e,this.thisArg=r}next(t){this.filter.call(this.thisArg,t)&&this.sink.next(t)}},gt=L(An,"filter"),Rn=class extends N{next(t){}},$l=L(Rn,"ignoreElements"),Un=class extends N{constructor(t,e){super(t),this.count=e}next(t){this.sink.next(t),--this.count===0&&(this.doDefer(),this.complete())}},Er=L(Un,"take"),On=class extends N{constructor(t,e){super(t);let r=new N(t);r.next=()=>{r.doDefer(),t.complete()},r.complete=bn,r.subscribe(e)}},Oe=L(On,"takeUntil"),xn=class extends N{constructor(t,e){super(t),this.f=e}next(t){this.f(t)?this.sink.next(t):(this.doDefer(),this.complete())}},Fn=L(xn,"takeWhile");var Pn=class extends N{constructor(t,e){super(t),this.count=e}next(t){--this.count===0&&(this.next=super.next)}},Yl=L(Pn,"skip"),vn=class extends N{constructor(t,e){super(t),t.next=$;let r=new N(t);r.next=()=>{r.doDefer(),t.resetNext()},r.complete=bn,r.subscribe(e)}},Kl=L(vn,"skipUntil"),Dn=class extends N{constructor(t,e){super(t),this.f=e}next(t){this.f(t)||(this.next=super.next,this.next(t))}},fs=L(Dn,"skipWhile"),oc={leading:!0,trailing:!1},Nn=class extends N{constructor(t,e,r){super(t),this.durationSelector=e,this.trailing=r}cacheValue(t){this.last=t,this.disposed&&this.throttle(t)}send(t){this.sink.next(t),this.throttle(t)}throttle(t){this.reset(),this.subscribe(this.durationSelector(t))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},Cn=class extends N{constructor(t,e,r=oc){super(t),this.durationSelector=e,this.config=r,this._throttle=new Nn(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(t){this._throttle.disposed&&this.config.leading?this._throttle.send(t):this._throttle.cacheValue(t)}complete(){this._throttle.throttle=$,this._throttle.complete(),super.complete()}},_s=L(Cn,"throttle");var wn=class extends N{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},gr=class extends N{constructor(t,e){super(t),this.durationSelector=e,this._debounce=new wn(this.sink),this._debounce.dispose()}next(t){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=t,this._debounce.subscribe(this.durationSelector(t))}complete(){this._debounce.complete(),super.complete()}},hs=L(gr,"debounce"),bs=n=>L(gr,"debounceTime")(t=>ps(n)),Ln=class extends N{constructor(t,e,r){super(t),this.count=e,this.defaultValue=r}next(t){this.count--===0&&(this.defaultValue=t,this.doDefer(),this.complete())}complete(){if(this.defaultValue===void 0){this.error(new Error("not enough elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},Jl=L(Ln,"elementAt");var Mn=class extends N{constructor(t,e){super(t),this.f=e,this.i=0}next(t){this.f(t)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},Xl=L(Mn,"findIndex"),kn=class extends N{constructor(t,e,r){super(t),this.f=e,this.defaultValue=r,this.index=0}next(t){(!this.f||this.f(t,this.index++))&&(this.defaultValue=t,this.doDefer(),this.complete())}complete(){if(this.defaultValue===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},Ql=L(kn,"first"),Bn=class extends N{constructor(t,e,r){super(t),this.f=e,this.defaultValue=r,this.index=0}next(t){(!this.f||this.f(t,this.index++))&&(this.defaultValue=t)}complete(){if(this.defaultValue===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},zl=L(Bn,"last"),Vn=class extends N{constructor(t,e){super(t),this.predicate=e,this.index=0}next(t){this.predicate(t,this.index++)?this.result=!0:(this.result=!1,this.doDefer(),this.complete())}complete(){if(this.result===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.result);super.complete()}},Zl=L(Vn,"every");var Hn=class extends N{constructor(t,e,r){super(t),this.f=e,typeof r=="undefined"?this.next=i=>{this.acc=i,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(t){this.sink.next(this.acc=this.f(this.acc,t))}},nd=L(Hn,"scan"),qn=class extends N{constructor(){super(...arguments),this.hasLast=!1}next(t){this.hasLast?this.sink.next([this.last,t]):this.hasLast=!0,this.last=t}},id=L(qn,"pairwise"),Tr=class extends N{constructor(t,e,r){super(t),this.mapper=e,this.thisArg=r}next(t){super.next(this.mapper.call(this.thisArg,t))}},tt=L(Tr,"map"),Zn=n=>L(Tr,"mapTo")(t=>n),Ze=class extends N{constructor(t,e,r){super(t),this.data=e,this.context=r}next(t){let e=this.context.combineResults;e?this.sink.next(e(this.data,t)):this.sink.next(t)}tryComplete(){this.context.resetComplete(),this.dispose()}},et=class n extends N{constructor(t,e,r){super(t),this.makeSource=e,this.combineResults=r,this.index=0}subInner(t,e){let r=this.currentSink=new e(this.sink,t,this);this.complete===n.prototype.complete&&(this.complete=this.tryComplete),r.complete=r.tryComplete,r.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},Ir=class extends Ze{},Sr=class extends et{next(t){this.subInner(t,Ir),this.next=e=>{this.currentSink.dispose(),this.subInner(e,Ir)}}},ei=L(Sr,"switchMap");function Ur(n){return(t,e)=>n(()=>t,e)}var kt=Ur(L(Sr,"switchMapTo")),Gn=class extends Ze{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},yr=class extends et{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(t){this.next2(t),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),Gn),this.disposed&&this.sources.length===0&&this.currentSink.resetComplete()}tryComplete(){this.sources.length===0&&this.currentSink.resetComplete(),this.dispose()}},sd=L(yr,"concatMap"),od=Ur(L(yr,"concatMapTo")),Wn=class extends Ze{tryComplete(){this.context.inners.delete(this),super.dispose(),this.context.inners.size===0&&this.context.resetComplete()}},Ar=class extends et{constructor(){super(...arguments),this.inners=new Set}next(t){this.subInner(t,Wn),this.inners.add(this.currentSink)}tryComplete(){this.inners.size===1?this.inners.forEach(t=>t.resetComplete()):this.dispose()}},ad=L(Ar,"mergeMap"),ud=Ur(L(Ar,"mergeMapTo")),jn=class extends Ze{dispose(){this.context.resetNext(),super.dispose()}},Rr=class extends et{next(t){this.next=$,this.subInner(t,jn)}},cd=L(Rr,"exhaustMap"),ld=Ur(L(Rr,"exhaustMapTo")),$n=class extends N{constructor(t,e){super(t),this.f=e,this.groups=new Map}next(t){let e=this.f(t),r=this.groups.get(e);typeof r=="undefined"&&(r=ze(),r.key=e,this.groups.set(e,r),super.next(r)),r.next(t)}complete(){this.groups.forEach(t=>t.complete()),super.complete()}error(t){this.groups.forEach(e=>e.error(t)),super.error(t)}},dd=L($n,"groupBy"),Yn=class extends N{constructor(){super(...arguments),this.start=new Date}next(t){this.sink.next({value:t,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},md=L(Yn,"timeInterval"),Kn=class extends N{constructor(t,e){super(t),this.miniseconds=e,this.buffer=[],this.id=setInterval(()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0},this.miniseconds)}next(t){this.buffer.push(t)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},pd=L(Kn,"bufferTime"),Jn=class extends N{constructor(t,e){super(t),this.buffer=[],this.delayTime=e}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(t){this.timeoutId=setTimeout(()=>{let e=this.buffer.shift();if(e){let{time:r,data:i}=e;super.next(i),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(r))}},t)}next(t){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:t})}complete(){this.timeoutId=setTimeout(()=>super.complete(),this.delayTime)}},fd=L(Jn,"delay"),Xn=class extends N{constructor(t,e){super(t),this.selector=e}error(t){this.dispose(),this.selector(t)(this.sink)}},_d=L(Xn,"catchError"),Qn=class extends Ze{tryComplete(){let t=this.context.inners.delete(this);super.dispose(),t&&this.context.checkComplete()}next(t){this.sink.next(t),this.context.expandValue(t)}},zn=class extends et{constructor(t,e){super(t,e),this.project=e,this.inners=new Set,this.sourceCompleted=!1}next(t){this.sink.next(t),this.expandValue(t)}expandValue(t){let e=new Qn(this.sink,t,this);this.currentSink=e,this.complete=this.tryComplete,e.complete=e.tryComplete,this.inners.add(e),e.subscribe(this.makeSource(t,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&this.inners.size===0&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},hd=L(zn,"expand");var X=(n=$,t=$,e=$)=>r=>new _r(r,n,t,e),ti=class extends N{constructor(t,e){super(t),e instanceof Function?this.next=r=>{e(r),t.next(r)}:(e.next&&(this.next=r=>{e.next(r),t.next(r)}),e.complete&&(this.complete=()=>{e.complete(),t.complete()}),e.error&&(this.error=r=>{e.error(r),t.error(r)}))}},Or=L(ti,"tap"),ri=class extends N{constructor(t,e){super(t),this.timeout=e,this.id=setTimeout(()=>this.error(new hr(this.timeout)),this.timeout)}next(t){super.next(t),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},Ed=L(ri,"timeout");var rt="5.0.0";var gs=typeof importScripts!="undefined",xr=typeof registerProcessor!="undefined";var ni="";var ac="web.sdk.qcloud.com";var uc=`https://${ac}/trtc/webrtc/doc`,Pd=`${uc}/zh-cn/`;var Es="https://yun.tim.qq.com",Ts="https://apisgp.my-imcloud.com";var Is={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"};var Be=(u=>(u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.NONE=5]="NONE",u))(Be||{}),Ss=18e3;var vd=7*24*3600*1e3;var ys={"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}},Dd=ys["480p_2"],Nd=ys["120p_2"];var Bt={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",LOADSTART:"loadstart",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"};var Et=1,Pr=2,vr=4,Tt=8,It=64,St=16;var Cd=Bt.MAIN,wd=Bt.AUXILIARY;var As=30;var Ld=Bt.BIG,Md=Bt.SMALL,kd=10*1e3;var Bd=Object.keys(Be),Rs=["normal leave","timeout leave","kick","role change"];var Vd=10*1e3;var lc=function(n,t,e,r){function i(o){return o instanceof e?o:new e(function(u){u(o)})}return new(e||(e=Promise))(function(o,u){function p(h){try{m(r.next(h))}catch(f){u(f)}}function l(h){try{m(r.throw(h))}catch(f){u(f)}}function m(h){h.done?o(h.value):i(h.value).then(p,l)}m((r=r.apply(n,t||[])).next())})},ii=Symbol(32),si=Symbol(16),oi=Symbol(8),me=class{constructor(t){this.g=t,this.consumed=0,t&&(this.need=t.next().value)}setG(t){this.g=t,this.demand(t.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(t,e){return e&&this.consume(),this.need=t,this.flush()}read(t){return lc(this,void 0,void 0,function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise((e,r)=>{var i;this.reject=r,this.resolve=u=>{delete this.lastReadPromise,delete this.resolve,delete this.need,e(u)},this.demand(t,!0)||(i=this.pull)===null||i===void 0||i.call(this,t)})})}readU32(){return this.read(ii)}readU16(){return this.read(si)}readU8(){return this.read(oi)}close(){var t;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),(t=this.reject)===null||t===void 0||t.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let t=null,e=this.buffer.subarray(this.consumed),r=0,i=o=>e.length<(r=o);if(typeof this.need=="number"){if(i(this.need))return;t=e.subarray(0,r)}else if(this.need===ii){if(i(4))return;t=e[0]<<24|e[1]<<16|e[2]<<8|e[3]}else if(this.need===si){if(i(2))return;t=e[0]<<8|e[1]}else if(this.need===oi){if(i(1))return;t=e[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(e.subarray(0,r)),t=this.need}else if(this.g){this.g.throw(new Error("Unsupported type"));return}}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(e.subarray(0,r)),t=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(t).value,!0):this.resolve&&this.resolve(t),t}write(t){if(t instanceof Uint8Array?this.malloc(t.length).set(t):"buffer"in t?this.malloc(t.byteLength).set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)):this.malloc(t.byteLength).set(new Uint8Array(t)),this.g||this.resolve)this.flush();else return new Promise(e=>this.pull=e)}writeU32(t){this.malloc(4).set([t>>24&255,t>>16&255,t>>8&255,t&255]),this.flush()}writeU16(t){this.malloc(2).set([t>>8&255,t&255]),this.flush()}writeU8(t){this.malloc(1)[0]=t,this.flush()}malloc(t){if(this.buffer){let e=this.buffer.length,r=e+t;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let i=new Uint8Array(r);i.set(this.buffer),this.buffer=i}return this.buffer.subarray(e,r)}else return this.buffer=new Uint8Array(t),this.buffer}};me.U32=ii;me.U16=si;me.U8=oi;var dc=128,mc=127,Yd=~mc,Kd=Math.pow(2,31);function ai(n){let t=new me;for(;n>=128;)t.malloc(1)[0]=n&255|dc,n>>>=7;return t.malloc(1)[0]=n&255,t.buffer||new Uint8Array(0)}function Dr(n,t=0){let e=new me,r=t<<3;switch(typeof n){case"boolean":let i=e.malloc(2);i[0]=r,i[1]=n?1:0;break;case"number":e.malloc(1)[0]=r,e.write(ai(n));break;case"string":e.malloc(1)[0]=r|2;let o=new TextEncoder().encode(n);e.write(ai(o.length));let u=e.malloc(o.length);for(let l=0;l<o.length;l++)u[l]=o[l];break;case"object":let p=new me;if(Array.isArray(n))for(let l=0;l<n.length;l++){let m=Dr(n[l],l+1);m&&p.write(m)}else{let l=1;for(let m in n){let h=Dr(n[m],l++);h&&p.write(h)}}t===0?p.buffer&&e.write(p.buffer):(e.malloc(1)[0]=r|2,p.buffer&&(e.write(ai(p.buffer.length)),e.write(p.buffer)))}return e.buffer||new Uint8Array(0)}var Vt=class{constructor(){d(this,"buffer");this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(t){this.buffer.push(t>>>24&255),this.buffer.push(t>>>16&255),this.buffer.push(t>>>8&255),this.buffer.push(t&255)}writeInt16(t){this.buffer.push(t>>>8&255),this.buffer.push(t&255)}writeByte(t){this.buffer.push(t&255)}writeBytes(t){for(let e=0;e<t.length;e++)this.buffer.push(t[e])}};function ui(n,t,e){n[e]=t>>>24&255,n[e+1]=t>>>16&255,n[e+2]=t>>>8&255,n[e+3]=t&255}function ae(n,t){return n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3]}function ci(n,t){return n[t]}function yt(n,t,e){return new TextDecoder().decode(pc(n,t,e))}function pc(n,t,e){return n.slice(t,t+e)}var li=0,Nr=2654435769,Cr=16,mi=4,At=2,Rt=7;function fc(n,t,e,r="AVQualityReportSvc.C2S",i=2e3,o=2,u=30){return{version:i,encryption:o,d2:"",d2Len:0,uinType:u,uin:"",uinLen:0,reqHead:{seqNumber:e,appId:n,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:r,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}function Us(n,t){let e=new Vt,r=fc(t,n,li);li=li+1&2147483647,e.writeInt32(0),e.writeInt32(r.version),e.writeByte(r.encryption);let i=new TextEncoder().encode(r.d2);e.writeInt32(i.length+4),i&&e.writeBytes(i),e.writeByte(r.uinType);let o=new TextEncoder().encode(r.uin);e.writeInt32(o.length+4),o.length&&e.writeBytes(o);let u=new Vt;u.writeInt32(0),u.writeInt32(r.reqHead.seqNumber),u.writeInt32(r.reqHead.appId),u.writeByte(r.reqHead.appId>>>24&255),u.writeByte(r.reqHead.appId>>>16&255),u.writeByte(r.reqHead.appId>>>8&255),u.writeByte(r.reqHead.appId&255);for(let G=4;G<16;G++)u.writeByte(0);let p=new TextEncoder().encode(r.reqHead.a2);u.writeInt32(p.length+4),p.length&&u.writeBytes(p);let l=new TextEncoder().encode(r.reqHead.serviceCmd);u.writeInt32(l.length+4),l.length&&u.writeBytes(l);let m=new TextEncoder().encode(r.reqHead.cookie);u.writeInt32(m.length+4),m.length&&u.writeBytes(m);let h=new TextEncoder().encode(r.reqHead.imei);u.writeInt32(h.length+4),h.length&&u.writeBytes(h);let f=new TextEncoder().encode(r.reqHead.ksid);u.writeInt32(f.length+4),f.length&&u.writeBytes(f);let g=new TextEncoder().encode(r.reqHead.clientVersionInfo);u.writeInt16(g.length+2),g.length&&u.writeBytes(g);let A=u.length;u.data[0]=A>>>24&255,u.data[1]=A>>>16&255,u.data[2]=A>>>8&255,u.data[3]=A&255,Ft(n)&&(n=new TextEncoder().encode(n)),u.writeInt32(n.length+4),n.length&&u.writeBytes(n);let R=new Uint8Array(u.data),w=null;r.encryption===1?w=new TextEncoder().encode(r.uin):r.encryption===2&&(w=new Uint8Array(16)),w&&(R=_c(R,w)),e.writeBytes(R);let U=new Uint8Array(e.data),D=U.length;return U[0]=D>>>24&255,U[1]=D>>>16&255,U[2]=D>>>8&255,U[3]=D&255,U}function _c(n,t){let e=n.length,i=(e+1+At+Rt)%8;i&&(i=8-i);let o=e+1+At+Rt+i,u=new Uint8Array(o),p=0,l=new Uint8Array(8),m=new Uint8Array(8),h=new Uint8Array(8),f=0;l[0]=Math.floor(Math.random()*256)&248|i,f=1;for(let A=0;A<i;A++)l[f]=Math.floor(Math.random()*256)&255,f+=1;for(let A=0;A<At;)if(f<8&&(l[f]=Math.floor(Math.random()*256)&255,f+=1,A+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let R=0;R<8;R++)h[R]=u[p-8+R]}let g=0;for(;g<e;)if(f<8&&(l[f]=n[g],f+=1,g+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let A=0;A<8;A++)h[A]=u[p-8+A]}for(let A=0;A<Rt;)if(f<8&&(l[f]=0,f+=1,A+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let R=0;R<8;R++)h[R]=u[p-8+R]}return u}function di(n,t,e,r,i,o){for(let u=0;u<8;u++)n[u]^=r[u];hc(n,t,i,o);for(let u=0;u<8;u++)i[o+u]^=e[u];for(let u=0;u<8;u++)e[u]=n[u]}function hc(n,t,e,r){let i=ae(n,0),o=ae(n,4),u=[];for(let l=0;l<4;l++)u[l]=ae(t,l*4);let p=0;for(let l=0;l<Cr;l++)p+=Nr,p=p>>>0,i+=(o<<4)+u[0]^o+p^(o>>>5)+u[1],i=i>>>0,o+=(i<<4)+u[2]^i+p^(i>>>5)+u[3],o=o>>>0;ui(e,i,r),ui(e,o,r+4)}var bc=0;var pi=function(){return Date.now()+bc},Os=function(){let n=new Date;return n.setTime(pi()),n.toLocaleString()},xs=function(n){let t=String(n.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),`${n.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")}:${t}`};function Ps(n){let t=gc(n);return t==null?void 0:t.busiBuff}function gc(n){try{let t={},e=0;t.totalLength=ae(n,e),e+=4,t.version=ae(n,e),e+=4,t.encryption=ci(n,e),e+=1,t.uinType=ci(n,e),e+=1,t.uinLength=ae(n,e),e+=4,t.uin=t.uinLength>4?yt(n,e,t.uinLength-4):"",e+=t.uinLength-4;let r=n.slice(e);if(t.encryption===2){let i=new Uint8Array(16).fill(0);n=Ec(r,i),t.decrypted=!0,e=0}else n=r,e=0;return t.rspHeadLength=ae(n,e),e+=4,t.seqNo=ae(n,e),e+=4,t.retCode=ae(n,e),e+=4,t.retStrLength=ae(n,e),e+=4,t.retStr=t.retStrLength?yt(n,e,t.retStrLength-4):"",e+=t.retStrLength-4,t.serviceCmdLength=ae(n,e),e+=4,t.serviceCmd=t.serviceCmdLength?yt(n,e,t.serviceCmdLength-4):"",e+=t.serviceCmdLength-4,t.cookieLength=ae(n,e),e+=4,t.cookie=t.cookieLength?yt(n,e,t.cookieLength-4):"",e+=t.cookieLength-4,t.flag=ae(n,e),e+=4,t.busiBuffLength=ae(n,e),e+=4,t.busiBuff=t.busiBuffLength?yt(n,e,t.busiBuffLength-4):"",e+=t.busiBuffLength-4,t}catch(t){}}function vs(n,t){let e=n[0]<<24|n[1]<<16|n[2]<<8|n[3],r=n[4]<<24|n[5]<<16|n[6]<<8|n[7];e=e>>>0,r=r>>>0;let i=Nr*Cr>>>0;for(let o=0;o<Cr;o++)r-=(e<<mi)+t[2]^e+i^(e>>>5)+t[3],r=r>>>0,e-=(r<<mi)+t[0]^r+i^(r>>>5)+t[1],e=e>>>0,i-=Nr,i=i>>>0;return new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,e&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255])}function Ec(n,t){let e=0,r=new Uint8Array(8).fill(0),i=new Uint8Array(n.slice(0,8)),o=vs(i,t),u=o[0]&7,p=n.length-1-u-At-Rt,l=new Uint8Array(p),m=0,h=r,f=n.slice(0,8);e=8;let g=1;g+=u;for(let R=1;R<=At;)if(g<8)g++,R++;else if(g===8){let w=fi(n,e,h,f,o,t);h=w.ivPreCrypt,f=w.ivCurCrypt,o=w.debiBuf,e=w.bufPos,g=0}let A=p;for(;A>0;)if(g<8)l[m++]=o[g]^h[g],g++,A--;else if(g===8){let R=fi(n,e,h,f,o,t);h=R.ivPreCrypt,f=R.ivCurCrypt,o=R.debiBuf,e=R.bufPos,g=0}for(let R=1;R<=Rt;)if(g<8)o[g]^h[g],g++,R++;else if(g===8){if(e>=n.length)break;let w=fi(n,e,h,f,o,t);if(!w.success)break;h=w.ivPreCrypt,f=w.ivCurCrypt,o=w.debiBuf,e=w.bufPos,g=0}return l}function fi(n,t,e,r,i,o){if(t+8>n.length)return{success:!1};let u=new Uint8Array(r),p=n.slice(t,t+8),l=new Uint8Array(8);for(let h=0;h<8;h++)l[h]=i[h]^p[h];let m=vs(l,o);return{success:!0,ivPreCrypt:u,ivCurCrypt:p,debiBuf:m,bufPos:t+8}}var Ds=typeof TextDecoder!="undefined"?new TextDecoder:void 0;function Ns({url:n,body:t,method:e="POST",timeout:r,priority:i}){return new Promise((o,u)=>{if("fetch"in window)return fetch(n,{method:e,body:t,priority:i}).then(l=>l.clone().json().then(m=>({data:m}),()=>l.arrayBuffer().then(m=>({data:Ps(new Uint8Array(m))||(Ds?Ds.decode(m):m)})))).then(o,u);let p=new XMLHttpRequest;p.onreadystatechange=()=>{if(p.readyState===4)if(p.status>=200&&p.status<300)try{let l=JSON.parse(p.response);o({data:l})}catch(l){o({data:p.response})}else u({status:p.status,statusText:p.statusText||"request failed!"})},p.timeout=r||5e3,p.open(e,n,!0),p.send(t)})}var Tc=Object.prototype.hasOwnProperty;var Ut=n=>typeof n=="function",it=n=>typeof n=="undefined";var Cs=n=>typeof n=="boolean";var Ic=function(n){if(!n||typeof n!="object"||Object.prototype.toString.call(n)!="[object Object]")return!1;let t=Object.getPrototypeOf(n);if(t===null)return!0;let e=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Function.prototype.toString.call(e)===Function.prototype.toString.call(Object)};function ws(n){if(n==null)return!0;if(typeof n=="boolean")return!1;if(typeof n=="number")return n===0;if(typeof n=="string"||typeof n=="function"||Array.isArray(n))return n.length===0;if(n instanceof Error)return n.message==="";if(Ic(n))switch(Object.prototype.toString.call(n)){case"[object File]":case"[object Map]":case"[object Set]":return n.size===0;case"[object Object]":{for(let t in n)if(Tc.call(n,t))return!1;return!0}}return!1}var Sc=0,yc=1,Ls=2;function Ac({retryFunction:n,settings:t,onError:e,onRetrying:r,onRetryFailed:i,onRetrySuccess:o,context:u}){return function(...p){let{retries:l=5,timeout:m=1e3}=t,h=0,f=-1,g=Sc,A=async(R,w)=>{let U=u||this;try{let D=await n.apply(U,p);h>0&&o&&o.call(this,h),h=0,R(D)}catch(D){let G=()=>{clearTimeout(f),h=0,g=Ls,w(D)},ye=()=>{g!==Ls&&h<(Ut(l)?l():l)?(h++,g=yc,Ut(r)&&r.call(this,h,G),f=window.setTimeout(()=>{f=-1,A(R,w)},Ut(m)?m(h):m)):(G(),Ut(i)&&i.call(this,D))};Ut(e)?e.call(this,{error:D,retry:ye,reject:w,retryFuncArgs:p,retriedCount:h}):ye()}};return new Promise(A)}}var Ms=Ac;var st=class n{constructor(t){d(this,"_parentPath");d(this,"userId");d(this,"remoteUserId");d(this,"id");d(this,"sdkAppId");d(this,"type");d(this,"isLocal");this.id=t.id,this.userId=t.userId,this.sdkAppId=t.sdkAppId,this.remoteUserId=t.remoteUserId,this.isLocal=Cs(t.isLocal)?t.isLocal:!0,this.type=this.isLocal?"":t.type}getFullId(){return this._parentPath&&this.id?`${this._parentPath}-${this.id}`:this._parentPath?this._parentPath:this.id}createChild(t){let e=new n({id:t.id,userId:it(t.userId)?this.userId:t.userId,sdkAppId:it(t.sdkAppId)?this.sdkAppId:t.sdkAppId,type:it(t.type)?this.type:t.type,isLocal:it(t.isLocal)?this.isLocal:t.isLocal,remoteUserId:it(t.remoteUserId)?this.remoteUserId:t.remoteUserId});return e.bindParent(this),e}bindParent(t){let e=t.getFullId();this._parentPath!==e&&(this.debug(`bind logger parent: ${t.id}`),this._parentPath=e,this.userId=t.userId||this.userId,this.sdkAppId=t.sdkAppId||this.sdkAppId)}setUserId(t){this.userId=t}setSdkAppId(t){this.sdkAppId=t}log(t,e){let r=this.isLocal?this.userId:this.remoteUserId,i=this.getFullId();e.unshift(`[${this.isLocal?"\u2191":"\u2193"}${this.type&&this.type!=="main"?"*":""}${i}${r?`|${r}`:""}]`),nt.log(t,e,it(this.userId)||ws(this.userId),this.userId,this.sdkAppId)}info(...t){this.log(2,t)}debug(...t){this.log(1,t)}warn(...t){this.log(3,t)}error(...t){this.log(4,t)}};var Ce=typeof navigator=="undefined"?"":navigator.userAgent,M=n=>new RegExp(n,"i").test(Ce),te=n=>{if(M(n)){let t=new RegExp(`${n}\\/([\\d.]+)`),e=Ce.match(t);if(e&&e[1])return e[1]}return""},wr=n=>{if(M(n)){let t=new RegExp(`${n}\\/(\\d+)`),e=Ce.match(t);if(e&&e[1])return parseFloat(e[1])}return NaN},ks=/AppleWebKit\/([\d.]+)/i.exec(Ce),Rc=ks?parseFloat(ks[1]):NaN,Fs=M("iPad"),Hs=typeof navigator!="undefined"&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&M("Macintosh"),qs=M("iPhone")&&!Fs,Uc=M("iPod"),Lr=qs||Fs||Uc||Hs;var Ot=M("Android"),Gs=function(){if(Ot){let n=Ce.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(n){let t=n[1]&&parseFloat(n[1]),e=n[2]&&parseFloat(n[2]);if(t&&e)return parseFloat(`${n[1]}.${n[2]}`);if(t)return t}}return NaN}(),Tm=Ot&&M("webkit")&&Gs<2.3,Im=Ot&&Gs<5&&Rc<537,Oc=M("Firefox"),xc=te("Firefox"),Sm=wr("Firefox"),Ws=M("Edge"),Pc=te("Edge"),js=M("Edg"),vc=te("Edg"),ym=wr("Edg"),$s=M("SogouMobileBrowser"),Dc=te("SogouMobileBrowser"),Ys=M("MetaSr\\s"),Nc=te("MetaSr\\s"),ot=M("TBS"),Cc=te("TBS"),Ks=M("XWEB"),wc=te("XWEB"),Am=M("MSIE\\s8\\.0"),Lc=M("MSIE\\/\\d+"),Rm=function(){if(Lc){let n=/MSIE\s(\d+)\.\d/.exec(Ce),t=n&&parseFloat(n[1]);return!t&&/Trident\/7.0/i.test(Ce)&&/rv:11.0/.test(Ce)&&(t=11),t}return NaN}(),Mc=M("(micromessenger|webbrowser)"),kc=te("MicroMessenger"),_i=!ot&&M("MQQBrowser")&&M("COVC"),hi=!ot&&M("MQQBrowser")&&!M("COVC"),Bs=hi||_i?te("MQQBrowser"):"",Js=!ot&&M(" QQBrowser"),Bc=te(" QQBrowser"),Xs=!ot&&M("QQBrowserLite"),Vc=te("QQBrowserLite"),Qs=!ot&&M("MQBHD"),Fc=te("MQBHD"),Um=M("Windows"),Om=!Lr&&M("MAC OS X"),xm=!Ot&&M("Linux"),Pm=M("CrOS"),vm=M("MicroMessenger"),Dm=M("UCBrowser"),Nm=M("Electron"),zs=M("MiuiBrowser"),Hc=te("MiuiBrowser"),Zs=M("HuaweiBrowser"),Cm=M("Huawei")||M("HUAWEI"),wm=M("Honor")||M("HONOR"),qc=te("HuaweiBrowser"),eo=M("SamsungBrowser"),Gc=te("SamsungBrowser"),to=M("HeyTapBrowser"),Wc=te("HeyTapBrowser"),ro=M("VivoBrowser"),jc=te("VivoBrowser"),Lm=M("OpenHarmony"),Mm=te("OpenHarmony"),$c=()=>wr("Chrome"),Vs=M("CriOS"),no=M("Chrome"),Yc=!Ws&&!Ys&&!$s&&!ot&&!Ks&&!js&&!Js&&!zs&&!Zs&&!eo&&!to&&!ro&&no,io=M("HeadlessChrome"),km=$c(),Kc=te("Chrome"),Bm=wr("Electron"),Jc=!no&&!hi&&!_i&&!Xs&&!Qs&&M("Safari");var so=te("Version"),Vm=/Android.*(wv|.0.0.0)/.test(Ce),oo=(()=>{if(Hs)return so;if(Lr){let n=Ce.match(/OS (\d+)_(\d+)/i);if(n&&n[1]){let t=n[1];return n[2]&&(t+=`.${n[2]}`),t}}return""})();var Fm=Number(oo.split(".")[0]);var Hm=(()=>{let n=Number(oo.split(".")[0]);return n===14||n===13})();var qm=typeof location=="undefined"?!1:location.protocol==="file:"||location.hostname==="localhost"||location.hostname==="127.0.0.1";var Gm=Xc();function Xc(){let n=new Map([[Oc,["Firefox",xc]],[js,["Edg",vc]],[Yc,["Chrome",Kc]],[Vs,["ChiOS",te("CriOS")]],[Jc&&!Vs,["Safari",so]],[ot,["TBS",Cc]],[Ks,["XWEB",wc]],[Mc&&qs,["WeChat",kc]],[Js,["QQ(Win)",Bc]],[hi,["QQ(Mobile)",Bs]],[_i,["QQ(Mobile X5)",Bs]],[Xs,["QQ(Mac)",Vc]],[Qs,["QQ(iPad)",Fc]],[zs,["MI",Hc]],[Zs,["HW",qc]],[eo,["Samsung",Gc]],[to,["OPPO",Wc]],[ro,["VIVO",jc]],[Ws,["EDGE",Pc]],[$s,["SogouMobile",Dc]],[Ys,["Sogou",Nc]]]),t="unknown",e="unknown";return n.has(!0)&&([t,e]=n.get(!0)),{name:t,version:e}}var uo=fr(qt(),1),Zc=new uo.default,we=Zc;var kr=(v=>(v.ROOM_DESTROY="1",v.JOIN_START="21",v.JOIN_SCHEDULE_SUCCESS="22",v.JOIN_SIGNAL_CONNECTION_START="23",v.JOIN_SIGNAL_CONNECTION_END="24",v.JOIN_SEND_CMD="25",v.JOIN_RECEIVED_CMD_RES="26",v.JOIN_SUCCESS="27",v.JOIN_FAILED="28",v.LEAVE_START="51",v.LEAVE_SEND_CMD="52",v.LEAVE_SUCCESS="53",v.PUBLISH_START="61",v.SEND_FIRST_VIDEO_FRAME="62",v.PUBLISH_FAILED="63",v.SUBSCRIBE_START="81",v.SUBSCRIBE_SUCCESS="82",v.SUBSCRIBE_FAILED="84",v.UNSUBSCRIBE_SUCCESS="83",v.LOCAL_TRACK_CAPTURE_START="101",v.LOCAL_TRACK_CAPTURE_SUCCESS="102",v.LOCAL_TRACK_CAPTURE_FAILED="103",v.LOCAL_TRACK_PUBLISHED="104",v.LOCAL_TRACK_UNPUBLISHED="105",v.LOCAL_TRACK_REPLACED="106",v.SWITCH_DEVICE_SUCCESS="107",v.TRACK_MUTED="108",v.TRACK_UNMUTED="109",v.REMOTE_TRACK_SUBSCRIBED="110",v.REMOTE_TRACK_UNSUBSCRIBED="111",v.LOCAL_TRACK_RECAPTURE="112",v.LOCAL_AUDIO_STARTED="113",v.LOCAL_AUDIO_STOPPED="114",v.REMOTE_AUDIO_STARTED="115",v.REMOTE_AUDIO_STOPPED="116",v.PLAY_TRACK_START="151",v.PLAYER_STATE_CHANGED="152",v.VIDEO_LOADED_DATA="153",v.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",v.AUDIO_CONTEXT_LONG_SUSPENDED="155",v.REMOTE_VIDEO_PLAY_START="156",v.REMOTE_VIDEO_PLAY_FINISH="157",v.SIGNAL_CONNECTION_STATE_CHANGED="201",v.PEER_CONNECTION_STATE_CHANGED="202",v.SINGLE_CONNECTION_STAT="203",v.SPC_RECONNECTED="204",v.HEARTBEAT_REPORT="251",v.RECEIVED_PUBLISHED_USER_LIST="252",v.REMOTE_PUBLISH_STATE_CHANGED="253",v.AUDIO_LEVEL_INTERVAL="260",v.NETWORK_QUALITY="261",v.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",v.QUALITY_LIMITATION_CHANGED="263",v.LOG="264",v.AUDIO_PROCESSOR_DEBUG="265",v.SSO_SWITCH="266",v.SEI_MESSAGE="267",v.USER_PAUSE_IN_PIP="268",v.USER_RESUME_IN_PIP="269",v.ENTER_PICTURE_IN_PICTURE="270",v.LEAVE_PICTURE_IN_PICTURE="271",v.SWITCH_ROOM_START="401",v.SWITCH_ROOM_SUCCESS="407",v.SWITCH_ROOM_FAILED="408",v))(kr||{});var at=kr;var gi=class{constructor(){d(this,"enable",!1);d(this,"ssoFailCount",0);we.on("22",({schedule:t})=>{var e;(e=t==null?void 0:t.config)!=null&&e.sso&&we.emit("266",{enable:!0})}),we.on("266",({enable:t})=>{this.enable=t})}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&we.emit("266",{enable:!1})}},Ei=new gi;var el="%cTRTC%c%s",tl="padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;",rl="display: inline",Br=class Br{constructor(){d(this,"_isEnableUploadLog",!0);d(this,"_localJoinedUser",new Map);d(this,"_queue",[]);d(this,"_timeoutId",-1);d(this,"_logLevel",1);d(this,"_logLevelToUpload",2);!gs&&!xr&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&this._timeoutId!==-1}installEvents(){we.on(at.JOIN_SCHEDULE_SUCCESS,({schedule:t})=>{var e;(e=t==null?void 0:t.config)!=null&&e.logLevelToUpload&&Be[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)}),we.on(at.JOIN_START,({params:t})=>{this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()}),we.on(at.LEAVE_SUCCESS,({room:t})=>{this.deleteJoinedUser(t.userId)})}startUpload(){this._timeoutId===-1&&this.uploadInterval()}addJoinedUser(t){this._localJoinedUser.set(t.userId,t),this.startUpload()}deleteJoinedUser(t){this._localJoinedUser.delete(t)}uploadInterval(){this.upload().catch(()=>{}),this._timeoutId=window.setTimeout(()=>this.uploadInterval(),5e3)}getLogsToUpload(){let t={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&this._localJoinedUser.size===0)return t;let e=0;for(;e<this._queue.length&&e!==50;e++){let r=this._queue[e];if(r.forAllJoinedClients)this._localJoinedUser.forEach(({userId:i,sdkAppId:o})=>{t.map.has(i)?t.map.get(i).logs.push(r):t.map.set(i,{userId:i,sdkAppId:o,logs:[r]})});else if(Ft(r.userId)&&lo(r.sdkAppId)){let{userId:i,sdkAppId:o}=r;t.map.has(i)?t.map.get(i).logs.push(r):t.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}}return t.map.size>0&&(t.splicedQueue=this._queue.splice(0,e)),t}async upload(){if(this._queue.length===0||!this._isEnableUploadLog)return;let{map:t,splicedQueue:e}=this.getLogsToUpload();if(t.size===0)return;try{let i=[...t.values()];for(let o=0;o<i.length;o++){let{userId:u,sdkAppId:p,logs:l}=i[o],m={timestamp:Os(),sdkAppId:String(p),userId:u,version:rt,log:l.map(g=>g.log).join(`
|
|
2
|
-
`)},h=JSON.stringify(m),f=Ei.enable?mo(m,2002,p):h;await this.uploadLogWithRetry(f,p,f instanceof Uint8Array,h),l.forEach(g=>g.uploaded=!0)}}catch(i){}let r=e.filter(i=>!i.uploaded);r.length>0&&(this._queue=r.concat(this._queue))}uploadLogWithRetry(t,e,r,i){return Ms({retryFunction:()=>Ns({url:co(e,Is.LOG),body:t,timeout:5e3,priority:"low"}).then(o=>{r&&o.data!=="ok"&&(Ei.handleUploadFailed(),this.uploadLogWithRetry(i,e,!1,i))}),settings:{retries:3,timeout:2e3},onError:({retry:o})=>{o()}})()}getPrefix(t){let e=new Date;return e.setTime(pi()),`[${xs(e)}] <${Be[t]}>`}getLogLevel(){return this._logLevel}setLogLevel(t){Gt(Be[t])||(this._logLevel!==t&&this.info("setLogLevel",t),this._logLevel=t)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(t){if(Ft(t))return t;try{return t instanceof Error?t.toString():JSON.stringify(t)}catch(e){return""}}addLogToQueue(t,e,r=!0,i,o){let u={log:e.reduce((p,l)=>`${p} ${this.logChunkToString(l)}`.trim(),""),level:t,userId:i,sdkAppId:o,forAllJoinedClients:r};we.emit(at.LOG,{log:u}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(u)}log(t,e,r=!0,i,o){var p;if(e.unshift(this.getPrefix(t)),this.addLogToQueue(t,e,r,i,o),t<this._logLevel)return;let u=((p=Be[t])==null?void 0:p.toLowerCase())||"info";Br.PRINT_LOG_TAG?console[u](el,tl,rl,...e):console[u](...e)}debug(...t){this.log(1,t)}info(...t){this.log(2,t)}warn(...t){this.log(3,t)}error(...t){this.log(4,t)}createLogger(t){if(t.parent instanceof st){let e=t,{parent:r}=e,i=ls(e,["parent"]),o=new st(i);return o.bindParent(r),o}return new st(t)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),r=e?Number(e):-1;Be[r]&&(this._logLevelToUpload=r)}getQueue(){return this._queue}};d(Br,"PRINT_LOG_TAG",!(Lr||Ot||io));var Ti=Br,nt=new Ti;var nl=n=>Number(n)<14e8,co=function(n,t){let e;ni?e=ni:e=nl(n)?Ts:Es;let r=Math.floor(Math.random()*2**31);return`${e}/v5/AVQualityReportSvc/C2S?random=${r}&sdkappid=${n}&cmdtype=${t}`};var Ip=typeof window!="undefined"&&typeof window.glog=="function"?window.glog:()=>{};var Gt=n=>typeof n=="undefined",Ft=n=>typeof n=="string",lo=n=>typeof n=="number";var Sp=typeof HTMLMediaElement!="undefined"&&"setSinkId"in HTMLMediaElement.prototype;var{toString:yp}=Object.prototype;function Ii(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}function il(n,t,e,r){let i={data:n,random:Math.floor(Math.random()*2147483648),sdkAppId:e};return Gt(r)||(i=cs(Mt({},i),{gzip:+r})),{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(i)}}}function mo(n,t,e,r){try{let i=il(n,t,e,r),o=Dr(i);return Us(o,e)}catch(i){return JSON.stringify(n)}}function Wt(n,t=!1){let e=Object.defineProperties(ze(),{postMessage:{value:n.postMessage.bind(n)},port:{get(){return n},set(i){n.onmessage=$,n.onmessageerror=$,n=i,r()}}});function r(){n.onmessage=i=>{i.data?i.ports.length||t?e.next(i):e.next(i.data):(e.complete(),n.close())},n.onmessageerror=i=>{e.error(i),n.close()}}return r(),e}var Si=class extends N{constructor(t,e){super(t);let r=new N(t);r.next=$,e(r)}},Ve=L(Si,"takeUntilComplete");var ne={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},sl="__INLINE__WORKER__",ol="__INLINE__WASM__",{debug:Vr}=console;ne.debug||(console.debug=()=>{});var Mp=!sl.startsWith("__"),kp=!ol.startsWith("__");var po=H(bt(250),tt(()=>performance.now()),We()),xe=n=>t=>{let e=0,r=performance.now();H(po,tt(i=>(i-r)/n>>0),gt(i=>i!=e?(e=i,!0):!1))(t)},je=n=>t=>{let e=performance.now();H(po,fs(r=>r-e<n),Er(1))(t)};function $e(n,t,e){let r=t.aborted?Promise.reject(t.reason):new Promise((i,o)=>{t.addEventListener("abort",()=>o(t.reason),{once:!0}),typeof n=="function"?n(i,o):n.then(i,o)});return e?r.catch(e):r}var al=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium"}),ut=()=>al.format(new Date),ie=(O=>(O[O.JOIN_ROOM=0]="JOIN_ROOM",O[O.LEAVE_ROOM=1]="LEAVE_ROOM",O[O.PUBLISH=2]="PUBLISH",O[O.UNPUBLISH=3]="UNPUBLISH",O[O.SUBSCRIBE=4]="SUBSCRIBE",O[O.UNSUBSCRIBE=5]="UNSUBSCRIBE",O[O.GET_WHOLE_LIST=6]="GET_WHOLE_LIST",O[O.QUALITY_REPORT=7]="QUALITY_REPORT",O[O.MUTE=8]="MUTE",O[O.UNMUTE=9]="UNMUTE",O[O.CONFIG=10]="CONFIG",O[O.REQUEST_PLI=11]="REQUEST_PLI",O[O.HEARTBEAT=12]="HEARTBEAT",O[O.START_PUSH_CDN=13]="START_PUSH_CDN",O[O.STOP_PUSH_CDN=14]="STOP_PUSH_CDN",O[O.START_MCU_MIX=15]="START_MCU_MIX",O[O.STOP_MCU_MIX=16]="STOP_MCU_MIX",O[O.UDPATE_TRACK=17]="UDPATE_TRACK",O[O.START_PUSHING=18]="START_PUSHING",O[O.STOP_PUSHING=19]="STOP_PUSHING",O[O.SWITCH_ROLE=20]="SWITCH_ROLE",O[O.WHOLE_LIST_UPDATE=255]="WHOLE_LIST_UPDATE",O[O.PEER_JOINED=256]="PEER_JOINED",O[O.PEER_LEFT=257]="PEER_LEFT",O[O.PEER_UDPATED_TRACK=258]="PEER_UDPATED_TRACK",O[O.SELECT_ABILITY=259]="SELECT_ABILITY",O[O.PEER_REQUEST_PLI=260]="PEER_REQUEST_PLI",O[O.AUDIO_DATA=4095]="AUDIO_DATA",O[O.VIDEO_DATA=4096]="VIDEO_DATA",O[O.SCREEN_DATA=4097]="SCREEN_DATA",O[O.NACK=4098]="NACK",O[O.ACK=4099]="ACK",O[O.REQUEST_RTT=4100]="REQUEST_RTT",O[O.RESPONSE_RTT=4101]="RESPONSE_RTT",O[O.PIP_DATA=4102]="PIP_DATA",O[O.LAYER_DATA=4103]="LAYER_DATA",O[O.MAX_FORCE=65535]="MAX_FORCE",O))(ie||{});function yi(n,t,e){let r=t>65535?1:0;return e.setUint8(0,0<<4|r),e.setUint16(1,n),r?e.setUint32(3,t):e.setUint16(3,t),r?7:5}function jt(n,t){let e=n>=255&&n<4095;e&&(t+=4);let i=(t>65535?1:0)?7:5,o=new DataView(new ArrayBuffer(i+t));yi(n,t,o),e&&(o.setUint32(i,0),i+=4),o=new DataView(o.buffer,i),i=0;let u=g=>{o.setUint8(i,g),i++},p=g=>{o.setUint16(i,g),i+=2},l=(g,A=!1)=>{o.setUint32(i,g,A),i+=4},m=g=>{o.setBigUint64(i,g),i+=8},h=g=>{let A=new Uint8Array(o.buffer,o.byteOffset+i,g);return i+=g,A};return{write8:u,write32:l,write16:p,write64:m,writeData:g=>h(g.length).set(g),dv:o,next:h}}function Fr(n,t,e){let r=JSON.stringify(t),{writeData:i,dv:o}=jt(n,r.length+16);switch(i(e.split("").map(u=>u.charCodeAt(0))),i(r.split("").map(u=>u.charCodeAt(0))),n){case 11:case 12:case 7:console.debug("send",ie[n],e,t,o.buffer);break;default:n<255&&console.log(ut(),"send",ie[n],e,t,o.buffer)}return o.buffer}var fo=fr(qt()),ge=class extends fo.EventEmitter{constructor(e){super();this.io=e}get statReportReq(){return this.io.statReportReq.stat}get qualityReport(){return this.io.qualityReportReq.report}get appId(){return this.io.joinReq.sdkAppID}get roomId(){return this.io.joinReq.roomid}get userId(){return this.io.joinRes.openid}get userMap_(){return this.io.userManager.remotePublishedUserMap}send(e,r){return this.io.sendReq(e,r)}post(e,r){return this.io.postReq(e,r)}postMessage(e,r){this.io.postMessage({cmd:e,payload:r})}createResposeOb(e){return Se(this.io,ie[e])}glog(e){self.postMessage({type:"glog",payload:e})}};var $t=class{constructor(){d(this,"arguments");d(this,"environment");d(this,"preInit");d(this,"preRun");d(this,"postRun");d(this,"onAbort");d(this,"preinitializedWebGLContext");d(this,"noInitialRun");d(this,"noExitRuntime");d(this,"logReadFiles");d(this,"filePackagePrefixURL");d(this,"wasmBinary");d(this,"HEAP");d(this,"IHEAP");d(this,"FHEAP");d(this,"HEAP8");d(this,"HEAP16");d(this,"HEAP32");d(this,"HEAPU8");d(this,"HEAPU16");d(this,"HEAPU32");d(this,"HEAPF32");d(this,"HEAPF64");d(this,"TOTAL_STACK");d(this,"TOTAL_MEMORY");d(this,"FAST_MEMORY");d(this,"preloadedImages");d(this,"preloadedAudios");d(this,"_GetEncodedFrame");d(this,"_ReceivedAudioPacket");d(this,"_CreateUdtPacketizer");d(this,"_PacketizeVideoUdt");d(this,"udtver",3)}onRuntimeInitialized(){}print(t){console.debug(t)}printErr(t){console.debug(t)}},ce=new $t,B=class{constructor(t,e){this.size=t;d(this,"point");this.point=ce._malloc(t),e&&this.set(e)}set(t){t.length>this.size&&this.grow(t.length),ce.HEAPU8.set(t,this.point)}setUint32(t,e){new DataView(ce.HEAPU8.buffer).setUint32(this.point+t,e)}setBigUint64(t,e){new DataView(ce.HEAPU8.buffer).setBigUint64(this.point+t,e)}getBigUint64(t){return new DataView(ce.HEAPU8.buffer).getBigUint64(this.point+t)}getUint32(t){return ce.HEAPU8[this.point+t]|ce.HEAPU8[this.point+t+1]<<8|ce.HEAPU8[this.point+t+2]<<16|ce.HEAPU8[this.point+t+3]<<24}getInt8(t){return ce.HEAPU8[this.point+t]}uint8Array(t=NaN){return new Uint8Array(ce.HEAPU8.buffer,this.point,t>=0?t:this.size)}uint8Slice(t=NaN){return ce.HEAPU8.slice(this.point,this.point+(t>=0?t:this.size))}fill(t=0,e=this.point,r=this.point+this.size){ce.HEAPU8.fill(t,e,r)}free(){ce._free(this.point)}grow(t){t>this.size&&(this.free(),this.size=t,this.point=ce._malloc(t))}};d(B,"global");var V=ce;var Hr=class{constructor(t){d(this,"lastReceiveTime",-1);d(this,"blocking",!1);d(this,"blockCnt",0);d(this,"blockTime",0);d(this,"received",ze());let e=je(t);H(this.received,hs(()=>(this.blockDone(),this.lastReceiveTime=Date.now(),e)),X(()=>{this.blocking=!0},$,()=>{this.blockDone()}))}blockDone(){this.blocking&&(this.blockCnt++,this.blockTime+=Date.now()-this.lastReceiveTime,this.blocking=!1)}clear(){this.blockCnt=0,this.blockTime=0}},jr=class jr{constructor(t=2){d(this,"videoStatus",{uint32_video_stream_type:2,uint32_video_codec_fps:0,uint32_video_capture_fps:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_type:0,uint32_video_gop:0,uint32_video_rps_open:0,uint32_video_rps_interval:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_fec_ratio:0,uint32_video_fec_recover:0,uint32_video_arq_request:0,uint32_video_arq_recover:0,uint32_video_arq_packets:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_final_lost:0,uint32_video_block_cnt:0,uint32_video_cache_ms:0,uint32_video_total_frame:0,uint32_video_decode_frame:0,uint32_video_block_time:0,uint32_video_quality:0,uint32_video_jitter_fps:0});d(this,"videoPort");d(this,"control");d(this,"lastReceiveTime",-1);d(this,"vBlock",new Hr(500));d(this,"ssrc",jr.g_ssrc++);d(this,"framesFromStartPull",0);this.videoStatus.uint32_video_stream_type=t}getVideoStatus(){let t=Mt({},this.videoStatus);return t.uint32_video_block_cnt=this.vBlock.blockCnt,t.uint32_video_block_time=this.vBlock.blockTime,t.uint32_video_codec_bitrate>>=1,t.uint32_video_total_bitrate>>=1,t.uint32_video_receive_fps>>=1,t.uint32_video_capture_fps>>=1,t.uint32_video_codec_fps>>=1,this.videoStatus.uint32_video_codec_bitrate=0,this.videoStatus.uint32_video_total_bitrate=0,this.videoStatus.uint32_video_receive_fps=0,this.videoStatus.uint32_video_capture_fps=0,this.videoStatus.uint32_video_codec_fps=0,this.vBlock.clear(),t}demuxPacket(t){let e=t.length,{ssrc:r,videoStatus:i,vBlock:o}=this;i.uint32_video_receive++;let u=Date.now();i.uint32_video_total_bitrate+=e<<3,B.global.set(t);let p=V._ReceivedVideoPacket(B.global.point,e,u/1e3,u%1e3,r);p==0&&(this.lastReceiveTime>0&&u-this.lastReceiveTime>500&&console.debug("demuxPacket",u-this.lastReceiveTime),this.lastReceiveTime=u),o.received.next(p)}gotVideoFrame(t){var r;this.videoStatus.uint32_video_total_frame++,this.videoStatus.uint32_video_codec_bitrate+=t.length<<3,this.videoStatus.uint32_video_receive_fps++,this.videoStatus.uint32_video_capture_fps++;let e=t.slice();(r=this.videoPort)==null||r.postMessage({data:e,packetsReceived:this.videoStatus.uint32_video_receive},[e.buffer])}};d(jr,"g_ssrc",1);var qr=jr,Gr=class{constructor(t,e){this.writer=t;this.ssrc=e;d(this,"buffer",new B(960));d(this,"timestamp",0);V._AddAudioChannel(e,e)}feed(){this.writer.write(new AudioData({format:"s16",numberOfChannels:1,numberOfFrames:480,sampleRate:48e3,timestamp:this.timestamp+=1e4,data:this.buffer.uint8Array()}))}close(){V._DelAudioChannel(this.ssrc),this.buffer.free()}},Wr=class{constructor(t,e){this.io=e;d(this,"userId");d(this,"tinyId");d(this,"role");d(this,"terminalType");d(this,"lastCapNtpMs",-1);d(this,"startTimestamp",Date.now());d(this,"alastReceivedTimestamp",-1);d(this,"lengthPoint",new B(4));d(this,"audioPuller");d(this,"mainPuller",new qr(2));d(this,"screenPuller",new qr(7));d(this,"aBlock",new Hr(250));d(this,"events",[]);d(this,"msg_audio_status",{uint32_audio_format:0,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_aec:0,uint32_audio_fec_ratio:0,uint32_audio_fec_recover:0,uint32_audio_arq_request:0,uint32_audio_arq_recover:0,uint32_audio_arq_packets:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0,uint32_audio_cache_ms:0,uint32_audio_capture_state:0,uint32_audio_filtered_max_cache_ms:0,uint32_audio_filtered_avg_cache_ms:0,uint32_audio_target_max_cache_ms:0,uint32_audio_target_avg_cache_ms:0,uint32_audio_delay_peak_count:0,uint32_audio_speed_percent:0,uint32_audio_quality:0,uint32_audio_block_time:0,uint32_audio_block_cnt:0,uint32_audio_level:0});d(this,"subscribe",0);d(this,"removing",!1);d(this,"isKeyPoint");Object.defineProperties(this,Object.getOwnPropertyDescriptors(t))}remove(){var t;this.lengthPoint.free(),(t=this.audioPuller)==null||t.close()}toDownStreamInfo(t,e){let r=[this.mainPuller.getVideoStatus()];r[0].uint32_video_stream_type=this.subscribe&8?3:2,this.screenPuller.videoPort&&r.push(this.screenPuller.getVideoStatus());let i=Mt({},this.msg_audio_status);return i.uint32_audio_codec_bitrate>>=1,i.uint32_audio_total_bitrate>>=1,i.uint32_audio_block_cnt=this.aBlock.blockCnt,i.uint32_audio_block_time=this.aBlock.blockTime,e&&console.log(new Date().toLocaleString(),t.userId,r.map(o=>({t:o.uint32_video_stream_type,r_fps:o.uint32_video_receive_fps,c_fps:o.uint32_video_codec_fps,c_bps:o.uint32_video_codec_bitrate})),i.uint32_audio_codec_bitrate),this.msg_audio_status.uint32_audio_total_bitrate=0,this.msg_audio_status.uint32_audio_codec_bitrate=0,this.aBlock.clear(),{msg_user_info:{str_identifier:this.userId,uint64_tinyid:Number(this.tinyId)},msg_audio_status:i,msg_video_status:r,msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0}}}getNextVideoFrame(t){this.lengthPoint.setUint32(0,B.global.size),this.isKeyPoint||(this.isKeyPoint=new B(1));let e=V._GetEncodedFrame(B.global.point,this.lengthPoint.point,this.isKeyPoint.point,t.ssrc),r=this.lengthPoint.getUint32(0);if(e==-1||r==0)return 10;let i=B.global.uint8Array(r);return t.videoStatus.uint32_video_total_frame||console.timeEnd(`${this.userId}${t==this.mainPuller?"big":"aux"}`),t.gotVideoFrame(i),e}startPullOnlyAudio(t,e,r){this.io.log_.info("start pull only audio",t),V._AddAudioChannel(t.ssrc,t.ssrc)}startPull(t,e,r){this.io.log_.info("start pull",t,r);let i=t===this.mainPuller;if(t.videoPort){t.framesFromStartPull=0,t.videoPort.port=e.port;return}let o=i?[2,1]:[7];t.videoPort=e,console.time(`${this.userId}${r.mediaType&2?"aux":"big"}`),H(e,X(({width:h,height:f})=>{t.videoStatus.uint32_video_width=h,t.videoStatus.uint32_video_height=f,t.videoStatus.uint32_video_decode_frame++,t.videoStatus.uint32_video_codec_fps++}));let u=h=>{delete t.videoPort,h?this.io.log_.error("stop pull",h):this.io.log_.info("stop pull",t),V._DelVideoChannel(t.ssrc),t.vBlock.received.complete(),i&&this.aBlock.received.complete()};V._AddVideoChannel(t.ssrc,t.ssrc);let p=0,l=0,m=()=>{Date.now()-l>2e3&&(l=Date.now(),this.io.sendReq(11,r))};H(this.io.wh.interval10ms,gt(h=>(p<=0&&(p=this.getNextVideoFrame(t),p>500&&(p=20)),p-=10,ne.useWt&&(h&1)==0&&!o.every(f=>{let g=V._CheckMissingPacket(B.global.point,B.global.size,f,t.ssrc,this.io.rtt);return g>0&&(B.global.setBigUint64(5,BigInt(this.tinyId)),this.io.send(B.global.uint8Array(g))),g>=0}))),Ve(e),X(m,u,u)),m(),H(xe(5e3),Ve(e),X(m))}};var ul=1e8;function cl(){let n=new B(500,[0]);return V._GetAudioEnergy(n.point,100),n}var xt=class xt extends ge{constructor(){super(...arguments);d(this,"audioReceivedBuff",new B(2048));d(this,"levelsMap",new Map);d(this,"timestampBuff",new B(12))}decodeAudio(e,r){H(this.createResposeOb(4095),Ve(r),X(({data:i})=>{let u=new DataView(i.buffer,i.byteOffset,i.byteLength).getBigUint64(9).toString();this.userMap_.has(u)&&(this.statReportReq.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.msg_net_stat_report.uint32_down_recv_br+=i.byteLength,this.demuxPacket(i,this.userMap_.get(u),e&&r))})),e&&H(r,X(({timestamp:i,rtpTimestamp:o,seqNum:u,ssrc:p,data:l})=>{this.audioReceivedBuff.set(l),V._ReceivedRawAudioPacket(this.audioReceivedBuff.point,l.byteLength,i,o,u,p)}))}pullAudio({tinyId:e,writable:r}){let i=this.userMap_.get(e);i&&(i.audioPuller=new Gr(r.getWriter(),i.mainPuller.ssrc))}getAudioEnergy(e,r){xt.energys||(xt.energys=cl());let{energys:i}=xt;H(xe(e),Ve(r),X(()=>{let o=i.getInt8(0);for(let u=1;u<5*o;u+=5)this.levelsMap.set(i.getUint32(u),i.getInt8(u+4));if(this.userMap_.size>0){let u=[...this.userMap_.values()];r.postMessage(u.map(p=>{let l=Math.min(100,(this.levelsMap.get(p.mainPuller.ssrc)||0)*2);return p.msg_audio_status.uint32_audio_level=l*ul/100>>0,{userId:p.userId,volume:l}}))}else r.postMessage([])}))}demuxPacket(e,r,i){let{aBlock:o,msg_audio_status:u}=r;o.received.next(!0),u.uint32_audio_total_bitrate+=e.byteLength<<3,u.uint32_audio_codec_bitrate=u.uint32_audio_total_bitrate-31,this.audioReceivedBuff.set(e);let p=Date.now(),l=p/1e3,m=p%1e3;if(i){let h=V._ParseUdtAudioPacket(this.audioReceivedBuff.point,e.length,this.timestampBuff.point,this.timestampBuff.point+4,this.timestampBuff.point+8,this.audioReceivedBuff.point,r.mainPuller.ssrc);if(h>0){let f=this.audioReceivedBuff.getUint32(0),g=V.HEAPU8.slice(f,f+h);i.postMessage({timestamp:this.timestampBuff.getUint32(0),rtpTimestamp:this.timestampBuff.getUint32(4),seqNum:this.timestampBuff.getUint32(8),data:g,ssrc:r.mainPuller.ssrc,userId:r.userId},[g.buffer])}}else V._ReceivedAudioUdtPacket(this.audioReceivedBuff.point,e.length,l,m,r.mainPuller.ssrc)}};d(xt,"energys");var Yt=xt;var ho=fr(qt(),1),_o=Symbol("instance"),Pf=Symbol("abortCtrl"),Kr=Symbol("cacheResult"),Kt=class{constructor(t,e,r){this.oldState=t,this.newState=e,this.action=r,this.aborted=!1}abort(t){this.aborted=!0,Xt.call(t,this.oldState,new Error(`action '${this.action}' aborted`))}toString(){return`${this.action}ing`}},ct=class extends Error{constructor(t,e,r){super(e),this.state=t,this.message=e,this.cause=r}};function ll(n){return typeof n=="object"&&n&&"then"in n}var Jt=new Map;function fe(n,t,e={}){return(r,i,o)=>{let u=e.action||i;if(!e.context){let l=Jt.get(r)||[];Jt.has(r)||Jt.set(r,l),l.push({from:n,to:t,action:u})}let p=o.value;o.value=function(...l){let m=this;if(e.context&&(m=Z.get(typeof e.context=="function"?e.context.call(this,...l):e.context)),m.state===t)return e.sync?m[Kr]:Promise.resolve(m[Kr]);m.state instanceof Kt&&m.state.action==e.abortAction&&m.state.abort(m);let h=null;Array.isArray(n)?n.length==0?m.state instanceof Kt&&m.state.abort(m):(typeof m.state!="string"||!n.includes(m.state))&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n.join("|")}`)):n!==m.state&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n}`));let f=U=>{if(e.fail&&e.fail.call(this,U),e.sync){if(e.ignoreError)return U;throw U}else return e.ignoreError?Promise.resolve(U):Promise.reject(U)};if(h)return f(h);let g=m.state,A=new Kt(g,t,u);Xt.call(m,A);let R=U=>{var D;return m[Kr]=U,A.aborted||(Xt.call(m,t),(D=e.success)===null||D===void 0||D.call(this,m[Kr])),U},w=U=>(Xt.call(m,g,U),f(U));try{let U=p.apply(this,l);return ll(U)?U.then(R).catch(w):e.sync?R(U):Promise.resolve(R(U))}catch(U){return w(new ct(m._state,`${m.name} ${u} from ${n} to ${t} failed: ${U}`,U instanceof Error?U:new Error(String(U))))}}}}var dl=typeof window!="undefined"&&window.__AFSM__?(e,r)=>{window.dispatchEvent(new CustomEvent(e,{detail:r}))}:typeof importScripts!="undefined"?(e,r)=>{postMessage({type:e,payload:r})}:()=>{};function Xt(n,t){let e=this._state;this._state=n;let r=n.toString();n&&this.emit(r,e),this.emit(Z.STATECHANGED,n,e,t),this.updateDevTools({value:n,old:e,err:t instanceof Error?t.message:String(t)})}var Z=class n extends ho.default{constructor(t,e,r){super(),this.name=t,this.groupName=e,this._state=n.INIT,t||(t=Date.now().toString(36)),r?Object.setPrototypeOf(this,r):r=Object.getPrototypeOf(this),e||(this.groupName=this.constructor.name);let i=r[_o];i?this.name=i.name+"-"+i.count++:r[_o]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let t=Object.getPrototypeOf(this),e=Jt.get(t)||[],r=new Set,i=[],o=[],u=new Set,p=Object.getPrototypeOf(t);Jt.has(p)&&(p.stateDiagram.forEach(m=>r.add(m)),p.allStates.forEach(m=>u.add(m))),e.forEach(({from:m,to:h,action:f})=>{typeof m=="string"?i.push({from:m,to:h,action:f}):m.length?m.forEach(g=>{i.push({from:g,to:h,action:f})}):o.push({to:h,action:f})}),i.forEach(({from:m,to:h,action:f})=>{u.add(m),u.add(h),u.add(f+"ing"),r.add(`${m} --> ${f}ing : ${f}`),r.add(`${f}ing --> ${h} : ${f} \u{1F7E2}`),r.add(`${f}ing --> ${m} : ${f} \u{1F534}`)}),o.forEach(({to:m,action:h})=>{r.add(`${h}ing --> ${m} : ${h} \u{1F7E2}`),u.forEach(f=>{f!==m&&r.add(`${f} --> ${h}ing : ${h}`)})});let l=[...r];return Object.defineProperties(t,{stateDiagram:{value:l},allStates:{value:u}}),l}static get(t){let e;return typeof t=="string"?(e=n.instances.get(t),e||n.instances.set(t,e=new n(t,void 0,Object.create(n.prototype)))):(e=n.instances2.get(t),e||n.instances2.set(t,e=new n(t.constructor.name,void 0,Object.create(n.prototype)))),e}static getState(t){var e;return(e=n.get(t))===null||e===void 0?void 0:e.state}updateDevTools(t={}){dl(n.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(t){Xt.call(this,t)}};Z.STATECHANGED="stateChanged";Z.UPDATEAFSM="updateAFSM";Z.INIT="[*]";Z.ON="on";Z.OFF="off";Z.instances=new Map;Z.instances2=new WeakMap;var Ye=class extends Z{constructor(e){super(e.params.userId,"WebSocket");this.connectFSM=e;d(this,"ws")}connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wsUrl);let e=new WebSocket(this.connectFSM.wsUrl);return console.time("WebSocket connect"),e.binaryType="arraybuffer",$e((r,i)=>{e.onerror=o=>{e.onmessage=null,this.connectFSM.log_.error("websocket onerror",o),i(o.type)},e.onclose=o=>{e.onmessage=null,i(o),this.connectFSM.log_.info("websocket onclose",o),this.disconnect(o.reason,o.code)},e.onopen=o=>{console.timeEnd("WebSocket connect"),this.connectFSM.log_.info("websocket onopen")},e.onmessage=o=>{try{let u=JSON.parse(String(o.data));if(this.connectFSM.log_.info("websocket verify",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.ws=e,r(e);let p=this.connectFSM.createOputReceiver("w");e.onmessage=l=>p.write(l.data)}catch(u){i(u)}}},this.connectFSM.abortCtrl.signal)}disconnect(e="",r=0){return r===0&&this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,e)),this.connectFSM.log_.warn("websocket disconnected :",r,e),this.connectFSM.disconnect(e)}close(){this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,"close"))}sendReq(e,r,i){this.send(Fr(e,r,i||this.connectFSM.generateUUID()))}send(e){var r;this.state=="CONNECTED"&&((r=this.ws)==null||r.send(e))}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ye.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ye.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ye.prototype,"close",1);var Yf=new Uint32Array([Date.now()]),ml=H(bt(20),tt(()=>performance.now()),We()),Ri=class{constructor(t){this.wt=t;d(this,"chunk",new Map);d(this,"timestamp",performance.now());d(this,"groupId");d(this,"resentCount",0);this.groupId=t.groupid,t.groupid=t.groupid+1&127,t.sentCache.has(this.groupId)&&t.sentCache.get(this.groupId).chunk.clear(),t.sentCache.set(this.groupId,this),H(ml,Fn(()=>this.chunk.size>0&&this.resentCount<20),Oe(Se(t,"DISCONNECTED")),X(e=>{e-this.timestamp>2*t.connectFSM.rtt+10&&(this.chunk.forEach((r,i)=>this.wt.send(r.buffer)),console.debug("resent",this.groupId,this.chunk.size,"after",e-this.timestamp,"ms",++this.resentCount),this.timestamp=e)},console.error,()=>{this.wt.sentCache.delete(this.groupId)}))}ack(t){this.chunk.delete(t)}},Ke=class extends Z{constructor(e){super(e.params.userId,"WebTransport");this.connectFSM=e;d(this,"wt");d(this,"writer");d(this,"dw");d(this,"sentCache",new Map);d(this,"groupid",0);d(this,"mtu",1e3)}async connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wtUrl);let e=new WebTransport(this.connectFSM.wtUrl);console.time("WebTransport connect"),e.ready.then(()=>console.timeEnd("WebTransport connect"));let r=this.connectFSM.abortCtrl.signal,{value:i,stream:o}=await Promise.race([(async()=>{await $e(e.ready,r);let p=await $e(e.createBidirectionalStream(),r),l=p.readable.getReader();return this.writer=p.writable.getWriter(),this.dw=e.datagrams.writable.getWriter(),$e(l.read(),r).then(({value:m})=>(l.releaseLock(),{value:m,stream:p}))})(),new Promise((p,l)=>setTimeout(()=>l(new Error("WebTransport connect timeout")),1e3))]),u=JSON.parse(String.fromCharCode(...i));if(this.connectFSM.log_.info("WebTransport connect result:",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.wt=e,H(Se(this.connectFSM,ie[4099]),Oe(Se(this,"DISCONNECTED")),X(({data:p})=>{let l=p[0]&127,m=this.sentCache.get(l);m&&m.ack(p[1])})),Promise.race([e.datagrams.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("d"))),o.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("s"))),e.closed]).then(()=>this.disconnect(),this.disconnect.bind(this))}disconnect(e=""){var r;return(r=this.wt)==null||r.close(),this.connectFSM.disconnect(e)}close(){var e;return(e=this.wt)==null?void 0:e.close()}async sendReq(e,r,i){if(i||(i=this.connectFSM.generateUUID()),!this.wt)return new Error("WebTransport not connected");if(!ne.unreliable){let A=Fr(e,r,i);return this.writer.write(A).then(()=>!0).catch(this.catchError)}let o=e>=255&&e<4095,u=JSON.stringify(r),p=0,l=u.length+(o?20:16),h=(l>65535?1:0)?7:5,f=Math.ceil(l/this.mtu),g=new Ri(this);console.debug("WebTransport send:",o?"ack":"",ie[e],i,"chunks:",f,g.groupId);for(let A=0;A<f;A++){let R=l-A*this.mtu,w=Math.min(this.mtu,R),U=new Uint8Array(h+4+w),D=yi(e,U.length-h,new DataView(U.buffer));if(U[0]|=2,U.set([1,2,(A==f-1?128:0)|g.groupId,A],D),D+=4,A==0){o&&(U.set([0,0,0,0],D),D+=4);for(let G=0;G<16;G++)U[D++]=i.charCodeAt(G)}for(let G=0;D<U.length;G++)U[D++]=u.charCodeAt(p++);g.chunk.set(A,U),this.send(U.buffer)}}async send(e){if(!(!this.wt||!this.dw)){if(e instanceof ArrayBuffer){if(!e.byteLength)throw bo}else{if(!e.length)throw bo;e=e.slice(0)}return this.dw.write(e).catch(this.catchError)}}catchError(e){}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ke.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ke.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ke.prototype,"close",1);var bo=new Error("WebTransport send empty datagram");var go=fr(qt(),1);var Jr=class extends go.EventEmitter{constructor(e,r,i="userId"){super();this.mySelfId=e;this._log=r;this.key=i;d(this,"userMap",new Map);d(this,"remotePublishedUserMap",new Map)}get hasRobotUser(){return!![...this.remotePublishedUserMap.values()].find(e=>e.isRobot)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let r=e[this.key],{userId:i,tinyId:o,role:u}=e;if(this.userMap.has(r))return;let p={userId:i,tinyId:o,role:u===20?"anchor":"audience"};this.userMap.set(r,p),this.emit("1",p)}deleteUser(e,r){let i=this.userMap.get(e);if(!i)return;let o=`peer leave [${e}]`;Gt(r)||(o+=`:${Rs[r]}`),this._log.info(o);let u=this.remotePublishedUserMap.get(e);if(u){let p=u.muteState;u.flag=0,this.emit("5",u.userId),this.deleteRemotePublishedUser(e),this.emit("6",{prevMuteState:p,muteState:u.muteState,flag:0})}this.userMap.delete(e),this.emit("2",{userId:i.userId,reason:r})}setUserList(e){this.userMap.forEach(r=>{e.findIndex(i=>i[this.key]===r[this.key])<0&&this.deleteUser(r[this.key],0)}),e.forEach(r=>{!this.userMap.has(r[this.key])&&r[this.key]!==this.mySelfId&&this.addUser(r)})}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){this.remotePublishedUserMap.has(e)&&this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach(r=>{let i=r[this.key];if(e.findIndex(o=>o[this.key]===r[this.key])<0){this._log.info(`remote [${i}] unpublish`);let o=r.muteState;r.flag=0,this.emit("5",r.userId),this.deleteRemotePublishedUser(i),this.emit("6",{prevMuteState:o,muteState:r.muteState,flag:0})}}),e.forEach(r=>{var h;let i=r[this.key];if(i===this.mySelfId){this.emit("7",r);return}let{flag:o,userId:u,tinyId:p}=r,l=Ii(o,u),m=(h=this.remotePublishedUserMap.get(i))==null?void 0:h.muteState;if(m){let f=this.remotePublishedUserMap.get(i);f&&f.flag!==o&&(f.flag=o,this._log.info(`remote publish updated: ${JSON.stringify(f.muteState)}`),this.emit("6",{prevMuteState:m,muteState:l,flag:o}))}else this._log.info(`remote publish. state: ${JSON.stringify(l)}`),this.addUser({userId:u,tinyId:p,role:20}),this.emit("3",r),this.emit("6",{prevMuteState:Ii(0,u),muteState:l,flag:o})})}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}};function Eo(n,t=1,e=1){return n<=1?e:Eo(n-1,e,t+e)}function hl(n){return n>8?30*1e3:Eo(n)*1e3}function bl(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}var Ui=class{constructor(t){this.connect=t;d(this,"publishReq");d(this,"recovering",!1);d(this,"pingCount",0)}async recoverLocal(){return this.recovering=!0,this.publishReq?this.connect._sendReq(2,this.publishReq).then(t=>{this.connect.log_.info("republish",t)}):!1}recoverRemote(t){this.recovering=!1,t.forEach((e,r)=>{this.connect.sendSubscribe(e)})}onSendReq(t,e){switch(t){case 2:this.publishReq?this.publishReq.mediaType|=e.mediaType:this.publishReq=e;break;case 3:this.publishReq=void 0;break;case 8:this.publishReq&&(this.publishReq.mediaType&=~e.mediaType);break;case 9:this.publishReq&&(this.publishReq.mediaType|=e.mediaType);break;case 12:this.connect.updateDevTools({note:`ping${this.pingCount++}`});break}}},Ee=class Ee extends Z{constructor(e,r,i){super(i.joinReq.roomid,"Connection");this.id=e;this.port=r;d(this,"signalInfo_");d(this,"reqUser_");d(this,"joinReq");d(this,"frameWorkType");d(this,"userManager");d(this,"joinRes");d(this,"statReportReq");d(this,"qualityReportReq");d(this,"wFSM");d(this,"rtt",50);d(this,"recovery",new Ui(this));d(this,"reqPromise",new Map);d(this,"rebuild");d(this,"osName");d(this,"browserInfo");d(this,"tinyId_",new B(32));d(this,"tinyId");d(this,"domains");d(this,"log_");d(this,"params");d(this,"proxy_ws");d(this,"proxy_wt");d(this,"proxy_cloud");d(this,"proxy_unified");d(this,"env");d(this,"wh");d(this,"abortCtrl",new AbortController);d(this,"firstReceiveUserlist");d(this,"connectParams");d(this,"selectDomain",0);d(this,"selectCloudDomain",0);d(this,"abort",this.abortCtrl.abort.bind(this.abortCtrl));d(this,"reconnectedOB",Se(this,"RECONNECTED"));d(this,"reconnectOB",e=>{this.reconnect().then(()=>{this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"RECONNECTING",state:"CONNECTED"}}),this.rejoinRoom()},r=>{e.next(r),this.selectDomain=1-this.selectDomain})});console.log(this),Object.assign(this,i),this.connectParams=new URLSearchParams({sdkAppid:this.params.sdkAppId.toString(),userSig:this.params.userSig,identifier:this.params.userId}),this.tinyId&&this.connectParams.append("tinyId",this.tinyId),this.log_=nt.createLogger({id:`wc${e}`,userId:this.params.userId,sdkAppId:this.params.sdkAppId}),this.proxy_unified?ne.useWt=!1:(this.proxy_ws||this.proxy_wt)&&(ne.useWt=!!this.proxy_wt),ne.useWt?this.wFSM=new Ke(this):this.wFSM=new Ye(this),this.userManager=new Jr("",this.log_,"tinyId");let o=u=>this.userManager.on(u,p=>this.postMessage({cmd:u,payload:p}));this.userManager.on("3",({flag:u,userId:p,tinyId:l})=>{let m={flag:u,userId:p,tinyId:l,get muteState(){return bl(this.flag,this.userId)},subscribe:0,removing:!1};this.log_.debug("create user",m),this.postMessage({cmd:"3",payload:m}),this.userManager.addRemotePublishedUser(new Wr(m,this))}),o("6"),o("5"),o("1"),o("2"),o("7"),this.statReportReq={tinyid:"",stat:{msg_audio_stat_report:{msg_audio_enc_stat:{uint32_audio_enc_br:0,uint32_audio_frame_interval:0},msg_audio_send_stat:{uint32_audio_send_br:0,uint32_audio_fec_br:0,uint32_audio_arq_br:0}},rpt_msg_video_stat_report:[{uint32_video_type:2,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}],msg_net_stat_report:{uint32_total_send_br:0,uint32_rtt:0,uint32_down_expect_pkg:0,uint32_down_real_pkg:0,uint32_down_recv_br:0},msg_rtt_info_req:{uint64_last_server_timestamp_ms:0,uint32_delay_since_last_server_timestamp_ms:0,uint64_client_timestamp_ms:0},msg_system_load_report:{uint32_total_cpu_rate:0},msg_down_bandwidth_est:{uint32_bandwidth_br:0,uint32_avg_bandwidth_br:0,uint32_jitter:0,uint32_jitter_in_frm:0},msg_play_report:{uint32_video_jitter_receive_fps_ratio:0}}},this.qualityReportReq={tinyid:"",report:{str_sdk_version:this.joinReq.jsSdkVersion,uint32_groupid:0,uint64_datetime:Date.now(),msg_user_info:{str_identifier:"",uint64_tinyid:0},msg_device_info:{uint32_terminal_type:this.joinReq.AbilityOption.GeneralLimit.uint32_terminal_type,str_device_name:this.browserInfo.browserName,str_os_version:this.osName,uint32_net_type:this.joinReq.AbilityOption.GeneralLimit.uint32_net_type,uint32_app_cpu:0,uint32_system_cpu:0,uint32_app_memory:0,uint32_background:0,uint32_headset:0},msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:48e3,uint32_audio_codec_bitrate:0,uint32_audio_receive:0},msg_video_status:[{uint32_video_stream_type:2,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_enc_fps:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0},msg_qos:[]},msg_down_stream_info:[],msg_event_msg:[],str_acc_ip:"",str_client_ip:"",str_groupid:""}}}get aborted(){return this.abortCtrl.signal.aborted}get wtDomain(){return this.env?`${this.env}.rtc.qq.com:8080`:this.proxy_wt?this.proxy_wt:this.domains.length?`${this.domains[this.selectDomain]}:80`:"wasm.rtc.qq.com:80"}get wsDomain(){return this.env?`${this.env}.rtc.qq.com:8687`:this.proxy_cloud.length?this.proxy_cloud[this.selectCloudDomain].replace("wss://",""):this.proxy_ws?this.proxy_ws:this.domains.length?this.domains[this.selectDomain]:"wasm.rtc.qq.com"}get wtUrl(){return`https://${this.wtDomain}/v1/wt?${this.connectParams}`}get wsUrl(){var r;let e=((r=this.domains)==null?void 0:r[this.selectDomain])||"wasm.rtc.qq.com";return`wss://${this.wsDomain}/v1/ws?${this.connectParams}&realHost=${e}`}async connect(){let e=this.wFSM.connect(),r=(i,o=!1)=>u=>{if(this.aborted||typeof u=="number")throw u;return this.selectDomain=i,this.wFSM=o?new Ke(this):new Ye(this),console.warn(u),console.warn("downgrade to",o?"WebTransport":"WebSocket",this.selectDomain?"\u5907\u7528\u57DF\u540D":"\u4E3B\u57DF\u540D"),this.wFSM.connect()};return ne.useWt&&(this.proxy_ws||!this.proxy_wt)&&(e=e.catch(r(0))),!this.proxy_wt&&!this.proxy_ws&&(e=e.catch(r(1,ne.useWt)),ne.useWt&&(e=e.catch(r(1)))),e}async joinRoom(){let{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}=this.signalInfo_,p=await this.sendReq(0,Object.assign(this.joinReq,{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}));if(p.err===0)this.setJoinRes(p.data);else throw p.err;return p}async leaveRoom(){return await this.sendReq(1,{}),this.close()}async rejoinRoom(){if(!this.rebuild){let e=await this.sendReq(0,this.joinReq);if(e.err===0)this.setJoinRes(e.data);else return}return this.recovery.recoverLocal()}async reconnect(){return this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"DISCONNECTED",state:"RECONNECTING"}}),this.wFSM.connect()}retry(e=0){if(console.log(ut(),"retry",e),e>As){this.close();return}let r=je(hl(e));H(e?ms(r,this.reconnectOB):this.reconnectOB,Er(1),Oe(this.reconnectedOB),X(i=>{typeof i!="number"&&this.state==="DISCONNECTED"&&this.retry(e+1)}))}disconnect(e){this.log_.warn("connection lost:",e),this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"CONNECTED",state:"DISCONNECTED"}}),this.retry()}close(){this.userManager.clear(),this.port.postMessage(null),this.port.close(),this.wFSM.close()}postMessage(e,r){this.port.postMessage(e,r)}verify(e,r){this.signalInfo_=e,this.rebuild=r,this.reqUser_={openid:e.openid,tinyid:e.tinyid}}async _sendReq(e,r){r.tinyid||(r.reqUser=this.reqUser_);let i=this.generateUUID();return await this.wFSM.sendReq(e,r,i),$e((o,u)=>this.reqPromise.set(i,{resolve:o,reject:u,startTime:Date.now()}),this.abortCtrl.signal,o=>(console.log("abort",ie[e]),{err:o}))}postReq(e,r){return this.wFSM.sendReq(e,r,this.generateUUID())}async sendReq(e,r){return this.recovery.onSendReq(e,r),this._sendReq(e,r)}send(e){return this.wFSM.send(e)}setJoinRes(e){this.joinRes=e,this.userManager.mySelfId=e.tinyid,this.statReportReq.tinyid=e.tinyid,this.qualityReportReq.tinyid=e.tinyid,this.qualityReportReq.report.str_acc_ip=e.relayip,this.qualityReportReq.report.str_client_ip=e.clientip,this.qualityReportReq.report.msg_user_info.str_identifier=e.openid,this.qualityReportReq.report.msg_user_info.uint64_tinyid=Number(e.tinyid),this.tinyId_.set([...e.tinyid].map(r=>r.charCodeAt(0)).concat(0)),[1,2,3,7].forEach(r=>{V._CreateUdtPacketizer(e.roomid,this.tinyId_.point,e.locationid,r,V.udtver,this.id)}),this.wFSM.sendReq(6,{})}onReceive(e,r,i){let o="",u=0,p=new DataView(i.buffer,i.byteOffset);r<255&&(u=p.getUint32(0),i=i.subarray(4)),r<4095&&(o=String.fromCharCode(...i.subarray(0,16)),i=i.subarray(16));let l=i;if(!o)p=new DataView(i.buffer,i.byteOffset,i.byteLength);else{let h="";for(let f=0,g=i.length,A=32768;f<g;f+=A)h+=String.fromCharCode.apply(null,i.subarray(f,Math.min(f+A,g)));if(u)l=h;else try{l=JSON.parse(h)}catch(f){l=h}}let m=ie[r];switch(r){case 259:this.joinRes&&this.wFSM.sendReq(r,{tinyid:this.joinRes.tinyid}),console.debug(e,"receive:",m,o,l);break;case 256:l.userlist.forEach(U=>{if(this.userManager.addUser({userId:U.userid,tinyId:U.srctinyid,role:U.role}),this.joinRes&&U.srctinyid!=this.joinRes.tinyid&&this.userManager.userMap.has(U.srctinyid)){let D=this.userManager.userMap.get(U.srctinyid);this.sendSubscribe(D)}}),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 257:this.userManager.deleteUser(l.userlist.srctinyid),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 6:this.userManager.setUserList(l.userlist.map(U=>({userId:U.userid,tinyId:U.srctinyid,role:U.role})));break;case 255:this.wFSM.sendReq(r,{count:this.userManager.userMap.size});{let U=l.userlist.map(D=>({userId:D.userid,tinyId:D.srctinyid,flag:D.flag,terminalType:D.terminaltype}));this.firstReceiveUserlist||(this.firstReceiveUserlist=!0,this.postMessage({cmd:at.RECEIVED_PUBLISHED_USER_LIST,payload:{publishedUserList:U}})),this.userManager.setRemotePublishedUserList(U),this.recovery.recovering&&this.recovery.recoverRemote(this.userManager.remotePublishedUserMap)}break;case 4100:this.rtt=p.getUint32(4),console.debug(e,"receive:",m,o,l,this.rtt);let{dv:h,writeData:f}=jt(4101,8);f(i.subarray(0,4)),this.send(h.buffer);break;case 12:this.reqPromise.forEach(U=>{Date.now()-U.startTime>5e3&&(U.reject(new Error("heartbeat timeout")),this.reqPromise.delete(U.uuid))}),self.postMessage({type:"glog",payload:{heartbeatReceive:1}});case 11:case 260:console.debug(e,"receive:",m,o,l);case 7:case 4095:break;case 4096:case 4097:{let U=i.length;this.statReportReq.stat.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.stat.msg_net_stat_report.uint32_down_recv_br+=U<<3;let D=p.getBigUint64(9).toString(),G=this.userManager.getPublishedUser(D);G?r===4096?(G.mainPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}big`,"first video data"),G.mainPuller.demuxPacket(i)):(G.screenPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}aux`,"first video data"),G.screenPuller.demuxPacket(i)):console.warn(e,"receive:",m,o,l,"user not found")}break;case 4102:case 4103:case 4099:break;case 4103:V.HEAPU8.set(i,B.global.point+8);let g=V._ParseUdtMousePacket(B.global.point+8,i.length,B.global.point),A=i.subarray(g),R=B.global.getBigUint64(0).toString(),w=this.userManager.userMap.get(R);w&&this.postMessage({cmd:"layerData",payload:{userId:w.userId,tinyId:R,layerData:A}}),console.debug(e,"receive:",m,g,l,R,A);break;case 4098:{let U=p.getUint8(8);for(let D=9;D<i.length;D+=6){let G=p.getUint32(D),ye=p.getUint16(D+4);for(let Ae=0;Ae<=16;Ae++){if(Ae>0&&(ye>>16-Ae&1)==0)continue;let Re=V._GetRetransPacket(U,G+Ae,B.global.point,this.id),se=B.global.getUint32(0),_e=V.HEAPU8.subarray(se,se+Re);Re>0&&this.send(_e)}}}break;case 1:this.log_.info(e,"receive:",m,o,l),l>0&&l!==3&&(this.postMessage({cmd:"banned",payload:l}),this.close());break;case 258:this.log_.info(e,"receive:",m,o||"",l);break;default:this.log_.info(e,"receive:",m||r,o||"",l)}this.reqPromise.has(o)&&(u&&this.log_.warn(u,l,o),this.reqPromise.get(o).resolve({err:u,data:l,uuid:o}),this.reqPromise.delete(o)),this.emit(m,o?{uuid:o,err:u,data:l}:{data:l})}sendSubscribe(e){let r=e.subscribe;if(r==0)return;let i={mediaType:r,mediaDescription:{audioParam:r&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>r&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))},userId:e.userId,srctinyid:e.tinyId};this._sendReq(4,i)}createOputReceiver(e){return new me(this.unMarshal(e))}*unMarshal(e){let r=null,i=new Map;for(;;){let o=0,u=0;try{r=yield 1;let p=r[0]>>4,l=r[0]&2,m=r[0]&1;r=yield 4+m*2;let h=new DataView(r.buffer,r.byteOffset);if(u=h.getUint16(0),o=m==1?h.getUint32(2):h.getUint16(2),r=yield o,l){let f=r[0]&63,g=r[1],A=r.subarray(2,2+g);switch(f){case 1:let R=A[0]>>7,w=A[0]&127,U=A[1],{dv:D,write8:G}=jt(4099,2);G(w),G(U),this.send(D.buffer);let ye=w%64;for(let Re=0;Re<64;Re++){let se=w-Re;se<0&&(se+=64);let _e=ye-Re;_e<0&&(_e+=64),i.has(_e)&&i.get(_e).groupId!=se&&i.delete(_e)}let Ae=i.get(ye);if(Ae||i.set(ye,Ae=new Oi(w)),r=Ae.push(U,r.slice(2+g),R!=0),r)i.delete(ye);else continue}}this.onReceive(e,u,r)}catch(p){this.log_.error(e,p,o,u,r)}}}generateUUID(){return"xxxxxxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=Math.random()*16|0;return(e=="x"?r:r&3|8).toString(16)})}};d(Ee,"JOINED","joined"),d(Ee,"CLOSED","closed"),le([fe(Z.INIT,"CONNECTED")],Ee.prototype,"connect",1),le([fe("CONNECTED",Ee.JOINED)],Ee.prototype,"joinRoom",1),le([fe("RECONNECTED",Ee.JOINED,{fail(){this.close()}})],Ee.prototype,"rejoinRoom",1),le([fe("DISCONNECTED","RECONNECTED")],Ee.prototype,"reconnect",1),le([fe([],"DISCONNECTED",{sync:!0})],Ee.prototype,"disconnect",1),le([fe([],Ee.CLOSED,{sync:!0})],Ee.prototype,"close",1);var Je=Ee,Oi=class{constructor(t){this.groupId=t;d(this,"chunks",[]);d(this,"totalLen",0);d(this,"marker",!1)}push(t,e,r){if(this.chunks[t])return null;if(this.chunks[t]=e,this.totalLen+=e.length,r&&(this.chunks.length=t+1,this.marker=!0),this.marker){for(let o=0;o<this.chunks.length;o++)if(!this.chunks[o])return null;let i=new Uint8Array(this.totalLen);for(;this.chunks.length;){let o=this.chunks.pop();i.set(o,this.totalLen-=o.length)}return i}return null}};var Qt=class extends ge{publishCdn(t,e){return"request_time"in t?(console.info("startPublishTXCDN:",t),this.send(18,t).then(e.postMessage)):(console.info("startPublishCDN:",t),this.send(13,t).then(e.postMessage))}stopPublishCdn(t,e){return"request_time"in t?(console.info("stopPublishTXCDN:",t),this.send(19,t).then(e.postMessage)):(console.info("stopPublishCDN:",t),this.send(14,t).then(e.postMessage))}startMcuMix(t,e){let{inputParam:r,outputParam:i}=t,o={mcuMix:{reqUser:this.io.reqUser_,roomid:t.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},inputParam:r.map(u=>({userid:u.userId,width:u.width,height:u.height,locationX:u.locationX,locationY:u.locationY,zOrder:u.zOrder,streamType:u.streamType,inputType:u.inputType})),outputParam:{streamId:i.streamId,streamType:i.streamType,videoWidth:i.width,videoHeight:i.height,videoBitrate:i.videoBps,videoFramerate:i.fps,vidoeGOP:i.gop,audioSampleRate:i.audioSampleRate,audioBitrate:i.audioBps,audioChannels:i.audioChannels,backgroundColor:i.backgroundColor,backgroundImage:i.backgroundImg,extraInfo:i.extraInfo,VCodec:i.videoCodec,ACodec:i.audioCodec}};return this.send(15,o).then(e.postMessage)}stopMcuMix(t,e){let r={mcuMix:{reqUser:this.io.reqUser_,roomid:this.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},userid:this.userId,streamType:t.streamType};return console.info("stop mcuMix:",t),this.send(16,r).then(e.postMessage)}};var gl=1200;var El=31,Tl=6,Il=6;var To={1:1,audio:1,video:4,2:4,auxVideo:2,7:2,3:8};var H_=Date.now(),q_=El+Tl+6+Il+gl+1;var zt=class extends ge{constructor(){super(...arguments);d(this,"videoEncBuffer_",new B(1920*1080*3>>1));d(this,"videoStats",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0});d(this,"audioStats",{bytesSent:0,packetsSent:0});d(this,"videoTypeIndexMap",new Map([[2,0]]));d(this,"requestTypeMap",new Map([[0,4096]]))}getLocalVideoStats(e){e.postMessage({[this.io.joinRes.openid]:this.videoStats})}getLocalAudioStats(e){e.postMessage({[this.io.joinRes.openid]:this.audioStats})}pushAudio({sampleRate:e,channelCount:r,bitrate:i,index:o},u,p){var A;let l=new B(e*r*2),m=R=>{this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=R.volume*1e8/100>>0;let{data:w}=R,U=w.length;l.set(w),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br+=U<<3,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval++,this.audioStats.packetsSent++;let D=V._PacketizeAudioUdt(l.point,U,R.timestamp,e,r,R.energy,B.global.point,B.global.size,this.io.id,!!p);if(D<=0){console.warn("audio pack len is 0");return}this.io.send(B.global.uint8Array(D)),this.audioStats.bytesSent+=D,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+=D<<3,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_receive++},h=R=>{l.free(),this.send(3,{mediaType:1})},f=new MessageChannel;(A=this.io.wh.playPort)==null||A.postMessage({cmd:"pushAudio",payload:{numberOfChannels:r,bitrate:i},encrypt:!!p,index:o},[f.port2,u.port]);let g=Wt(f.port1);p&&H(g,X()),H(p||g,X(m,h,h))}createSelectAbilityOb(e,r){let i=r.bitrate;return H(this.createResposeOb(259),_s(()=>je(2e3)),tt(o=>{var u;return(u=o.data.ability.rpt_msg_video_control_info)==null?void 0:u.find(p=>p.uint32_video_type===e)}),gt(o=>{if(!o)return!1;let u=o.uint32_video_enc_br,p=u*Math.pow(1-this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost/100,2),l=Math.min(i,p);o.uint32_video_enc_br=l,this.glog({[`confBr${e}`]:[u,p,l]});let m=!1;return((f,g)=>{o[g]&&o[g]!==r[f]&&(m=!0,r[f]=o[g])})("bitrate","uint32_video_enc_br"),m}),Zn(r))}pushVideo({profile:{width:e,height:r,frameRate:i,bitrate:o},type:u,trackType:p,crypto:l},m){this.videoStats.frameWidth=e,this.videoStats.frameHeight=r;let h=0,f=To[u];this.videoTypeIndexMap.has(u)?h=this.videoTypeIndexMap.get(u):(h=this.statReportReq.rpt_msg_video_stat_report.length,this.requestTypeMap.set(h,u===7?4097:4096),this.videoTypeIndexMap.set(u,h),this.statReportReq.rpt_msg_video_stat_report.push({uint32_video_type:u,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}),this.qualityReport.msg_up_stream_info.msg_video_status.push({uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_enc_fps:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_stream_type:u,uint32_video_codec_type:0,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_width:e,uint32_video_height:r}));let g={width:e,height:r,bitrate:o*1e3,framerate:i};Object.assign(this.qualityReport.msg_up_stream_info.msg_video_status[h],{uint32_video_width:e,uint32_video_height:r});let A=0,R=!1,w=D=>{this.send(3,{mediaType:f})};H(this.createSelectAbilityOb(u,g),X(()=>{m.postMessage(g)}));let U=m;p!="camera"&&(this.io.log_.info(`push ${p} track`),U=ds(m,H(m,bs(2e3),ei(D=>(this.io.log_.warn("start push last video frame"),H(xe(2e3),Zn(D),Oe(m),Or({complete:()=>this.io.log_.warn("stop push last video frame")})))),Ve(m)))),H(U,X(D=>{let G=this.getVideoStatus(h);G.uint32_video_total_frame++,A++,this.videoStats.framesSent++,G.uint32_video_capture_fps++,A%300==0&&m.postMessage(260),this.handleVideoEncoded(D,u,l)},w,w)),H(this.createResposeOb(260),Ve(m),X(()=>m.postMessage(260)))}getVideoStatus(e){return this.qualityReport.msg_up_stream_info.msg_video_status[e]}handleVideoEncoded(e,r,i){let{chunk:o,timestamp:u}=e;this.videoStats.framesEncoded++;let p=this.videoTypeIndexMap.get(r),l=this.getVideoStatus(p);l.uint32_video_decode_frame++,l.uint32_video_codec_fps++,l.uint32_video_enc_fps++,this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_fps++;let m="byteLength"in o?o.byteLength:o.data.length;if(this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_br+=m<<3,m>this.videoEncBuffer_.size){console.log("buffer too small!");return}"byteLength"in o?o.copyTo(this.videoEncBuffer_.uint8Array(m)):this.videoEncBuffer_.set(o.data),B.global.fill();let h=V._PacketizeVideoUdt(this.videoEncBuffer_.point,m,u,o.type=="key"?1:0,r,B.global.point,this.io.id,i);this.sendUdtv3Video(h,p)}sendUdtv3Video(e,r){let i=0,o=B.global.uint8Array();for(let u=0;u<e;u++){let p=B.global.getUint32(i);if(p<=0){this.io.log_.warn("sendUdtv3Video pktSize is ",p);continue}this.io.send(o.subarray(i+=4,i+=p)),this.statReportReq.rpt_msg_video_stat_report[r].msg_video_send_stat.uint32_video_send_br+=p<<3,this.videoStats.bytesSent+=p,this.videoStats.packetsSent++}}mute(e){if(this.send(8,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe&=~e.mediaType)}}unmute(e){if(this.send(9,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe|=e.mediaType)}}waitKeyFrame(e){this.send(11,e)}publish(e,r){this.audioStats.bytesSent=0,this.audioStats.packetsSent=0,this.videoStats.framesSent=0,this.videoStats.bytesSent=0,this.videoStats.packetsSent=0,this.videoStats.framesEncoded=0;let i={mediaType:e,mediaDescription:{audioParam:e&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>e&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))}};this.send(2,i).then(o=>{r.postMessage(o),r.postMessage(null)})}};var Sl=2,Zt=class extends ge{addEventMsgs(t){this.qualityReport.msg_event_msg=t}constructor(t){super(t);let e,r=Se(t,Je.JOINED),i=Se(t,Je.CLOSED),o={};H(r,kt(xe(1e3)),Oe(i),X(l=>{let m=Date.now();this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br=this.statReportReq.msg_down_bandwidth_est.uint32_bandwidth_br=this.statReportReq.msg_net_stat_report.uint32_down_recv_br,this.statReportReq.msg_rtt_info_req.uint64_client_timestamp_ms=m,this.statReportReq.msg_rtt_info_req.uint32_delay_since_last_server_timestamp_ms=e&&m-e||0,this.statReportReq.msg_net_stat_report.uint32_down_expect_pkg=this.statReportReq.msg_net_stat_report.uint32_down_real_pkg,this.statReportReq.msg_net_stat_report.uint32_total_send_br=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+this.statReportReq.rpt_msg_video_stat_report.reduce((f,g)=>f+g.msg_video_send_stat.uint32_video_send_br,0),o.bandwidth=this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br,o.heartbeatSend=1;let h=[this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_codec_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br];this.qualityReport.msg_up_stream_info.msg_video_status.forEach((f,g)=>{let A=this.statReportReq.rpt_msg_video_stat_report[g];f.uint32_video_total_bitrate=A.msg_video_send_stat.uint32_video_send_br,h[A.uint32_video_type==7?3:A.uint32_video_type-1]=f.uint32_video_codec_bitrate=A.msg_video_enc_stat.uint32_video_enc_br}),o.localBr=h,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_total_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br,l%2&&this.post(12,this.io.statReportReq),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval=0,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br=0,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br=0,this.statReportReq.rpt_msg_video_stat_report.forEach(f=>{f.msg_video_send_stat.uint32_video_send_br=0,f.msg_video_enc_stat.uint32_video_enc_br=0,f.msg_video_enc_stat.uint32_video_enc_fps=0}),this.statReportReq.msg_net_stat_report.uint32_down_recv_br=0}));let u=H(this.createResposeOb(12),Or(l=>{l.err||!l.data||(this.statReportReq.msg_rtt_info_req.uint64_last_server_timestamp_ms=l.data.msg_rtt_info_res.uint64_server_timestamp_ms,e=Date.now(),this.statReportReq.msg_net_stat_report.uint32_rtt=e-l.data.msg_rtt_info_res.uint64_last_client_timestamp_ms-l.data.msg_rtt_info_res.uint32_delay_since_last_client_timestamp_ms,this.statReportReq.msg_net_stat_report.uint32_rtt<0&&(this.statReportReq.msg_net_stat_report.uint32_rtt=30),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost=Math.max(0,(l.data.uint32_up_expect_pkg-l.data.uint32_up_real_pkg)*100/l.data.uint32_up_expect_pkg>>0))}));H(r,kt(u),kt(je(Ss)),Oe(i),X(()=>{this.io.log_.warn("ping timeout,lastrecv:",e,"now:",Date.now()),this.io.state==Je.JOINED&&this.io.wFSM.disconnect("ping timeout")}));let p=new B(52);H(r,kt(xe(Sl*1e3)),Oe(i),X(l=>{let m=[...this.userMap_.values()];this.qualityReport.uint64_datetime=Date.now(),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_bitrate=this.statReportReq.msg_net_stat_report.uint32_total_send_br,this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt=this.statReportReq.msg_net_stat_report.uint32_rtt,this.qualityReport.msg_down_stream_info=m.map(R=>{var D,G;let w=R.toDownStreamInfo(R,l%10===0),U=[w.msg_audio_status.uint32_audio_codec_bitrate];return U[1]=w.msg_video_status[0].uint32_video_codec_bitrate,U[2]=((D=w.msg_video_status[1])==null?void 0:D.uint32_video_codec_bitrate)||0,o[`RemoteBr_${R.userId}`]=U,o[`RemoteBlock_${R.userId}`]=[w.msg_audio_status.uint32_audio_block_cnt,w.msg_video_status[0].uint32_video_block_cnt,((G=w.msg_video_status[1])==null?void 0:G.uint32_video_block_cnt)||0],w}),this.glog(o),o={};let h=this.qualityReport.msg_down_stream_info.map(R=>({userId:R.msg_user_info.str_identifier,rtt:R.msg_network_status.uint32_rtt,loss:R.msg_network_status.uint32_lost})),f=yl(h),g=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt,A=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost;this.postMessage("network-quality",{uplinkNetworkQuality:this.io.state!="DISCONNECTED"?Io(A,g):6,downlinkNetworkQuality:Io(f.loss,f.rtt),uplinkInfo:this.qualityReport.msg_up_stream_info,msg_down_stream_info:this.qualityReport.msg_down_stream_info,downlinkInfo:h,uplinkRTT:g,uplinkLoss:A,downlinkRTT:f.rtt,downlinkLoss:f.loss}),this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps>>=1,R.uint32_video_codec_fps>>=1,l%10===0&&console.log(ut(),"video uplink fps:",R.uint32_video_stream_type,R.uint32_video_capture_fps,R.uint32_video_codec_fps)}),this.post(7,this.io.qualityReportReq),this.qualityReport.msg_event_msg=[],this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=0,this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps=0,R.uint32_video_codec_fps=0,R.uint32_video_enc_fps=0})},l=>{},()=>{this.qualityReport.msg_down_stream_info=[...this.userMap_.values()].map(l=>l.toDownStreamInfo(l,!1)),this.post(7,this.io.qualityReportReq),p.free()}))}};function yl(n){let t={rtt:0,loss:0};return Array.isArray(n)&&n.length>0&&(n.forEach(e=>{t.rtt+=e.rtt,t.loss+=e.loss}),Object.keys(t).forEach(e=>{t[e]=Math.round(t[e]/n.length)})),t}function Io(n,t){return n>50||t>500?5:n>30||t>350?4:n>20||t>200?3:n>10||t>100?2:n>=0||t>=0?1:0}var er=class extends ge{async subscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){if(o.subscribe|=t.mediaType,t.mediaType=o.subscribe,e)e.postMessage(await this.send(4,t));else return this.send(4,t);r===1&&o.startPullOnlyAudio(o.mainPuller,e,{mediaType:r,srctinyid:i})}}async unSubscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){let u=o.subscribe;o.subscribe&=~r,u!==o.subscribe&&e.postMessage(await(o.subscribe===0?this.send(5,t):this.io.sendSubscribe(o)))}}pullVideo({mediaType:t,tinyId:e},r){let i=this.userMap_.get(e);i&&i.startPull(t===2?i.screenPuller:i.mainPuller,r,{mediaType:t,srctinyid:e})}changetype(t){let{mediaType:e,srctinyid:r}=t,i=this.userMap_.get(r);if(i){let o=i.subscribe;e===8?(i.subscribe|=8,i.subscribe&=-5):e===4&&(i.subscribe|=4,i.subscribe&=-9),o!=i.subscribe&&(t.mediaType=i.subscribe,this.send(4,t))}}};var xi=class extends $t{constructor(e,r,i,o){super();this.seq=e;this.player=r;this.numberOfChannels=i;this.bitrate=o;d(this,"aecPtr");d(this,"encodePrt");d(this,"tenms",sampleRate/100);d(this,"numberOfFrames",this.tenms<<1);d(this,"float32Array");d(this,"pos",0);d(this,"bufferLen",0);d(this,"outputPort");d(this,"mainPort");d(this,"workerPort");d(this,"outPrt");d(this,"audioCaptBuff");d(this,"oput");d(this,"first10ms");d(this,"dumpPort");d(this,"encodeCount",0);d(this,"startTs");d(this,"startTime");this.wasmBinary=r.wasm,this.startTs=currentTime,this.startTime=Date.now()}locateFile(){return this.wasmBinary}reset(){this.encodeCount=0}print(e){console.debug(e)}printErr(e){console.debug(e)}onRuntimeInitialized(){this.aecPtr=this._malloc(1920*10),this.encodePrt=this._malloc(1920*4),this.outPrt=this._malloc(1920*4),this.float32Array=new Float32Array(this.HEAPU8.buffer,this.encodePrt),this._CreateMediaProcessing(0,1,0,!1),this._UseAINS(ne.useAINS),this._SetAudioFrameFormat(sampleRate,this.numberOfChannels),this._InitOpusEncoder(sampleRate,this.numberOfChannels,1),this.bitrate&&this._SetOpusEncBitrate(this.bitrate*1e3),console.log(rt,"audio worklet initialized",sampleRate,this.numberOfChannels,this.seq),this.oput=new me,this.oput.buffer=new Uint8Array(this.HEAPU8.buffer,this.encodePrt),this.player.encoders[this.seq]=this}aec(e){return this.HEAPU8.set(e,this.aecPtr),this._AudioReverseProcessFloat(this.aecPtr,e.length>>2),this.HEAPU8.subarray(this.aecPtr,this.aecPtr+e.length)}encode(...e){if(!this.bitrate)return;let r=this.encodePrt;for(let i of e){this.float32Array.set(i,this.bufferLen),this.bufferLen+=i.length;let o=0;for(;this.bufferLen-this.pos>=this.tenms;){let u=this.player.delay+(this.bufferLen-this.pos)/(sampleRate/1e3)+20>>0,p=this._AudioProcessFloat(this.encodePrt+this.pos*4,this.tenms,u);if(o<p&&(o=p),this.pos+=this.tenms,this.pos>=this.numberOfFrames){if(this.dumpPort){let f=this.float32Array.slice(0,this.numberOfFrames);this.dumpPort.postMessage({data:f},[f.buffer])}let l=this._OpusEncode(this.encodePrt,this.numberOfFrames,this.outPrt);this.encodeCount++,this.encodeCount<10&&console.log("audio encoded",this.encodeCount,l);let m=this.HEAPU8.slice(this.outPrt,this.outPrt+l),h=o*100/32768;this.mainPort.postMessage(h),this.outputPort.postMessage({data:m,volume:h,energy:o,timestamp:(currentTime-this.startTs)*1e3+this.startTime&4294967295},[m.buffer]),o=0,this.float32Array.copyWithin(0,this.numberOfFrames,this.bufferLen),this.bufferLen-=this.numberOfFrames,this.pos-=this.numberOfFrames}}break}}close(){this._free(this.aecPtr),this._free(this.encodePrt)}};function So(n){class t extends AudioWorkletProcessor{constructor(i){super();d(this,"oput",new me);d(this,"wasm");d(this,"encoders",[]);d(this,"useAINS",!0);console.log("worklet created:",sampleRate),this.wasm=i.processorOptions.wasm,Object.assign(ne,i.processorOptions.flag),this.port.onmessage=o=>{o.ports[0].onmessage=u=>this.pushAudio(u)}}get delay(){var i;return(((i=this.oput.buffer)==null?void 0:i.length)||0)/(sampleRate*4/1e3)}process(i,o){return this.oput.demand(o[0][0],!0),this.encoders.forEach((u,p)=>u.encode(...i[p])),!0}pushAudio(i){if(i.data instanceof Uint8Array){let{data:o}=i;this.encoders.forEach(u=>o=u.aec(i.data)),this.oput.malloc(o.length).set(o);return}switch(console.log("worklet receive",i.data.cmd),i.data.cmd){case"dump":switch(i.data.payload){case"mic0":this.encoders[0].dumpPort=i.ports[0];break}break;case"useAINS":ne.useAINS=i.data.payload,this.encoders.forEach(o=>o._UseAINS(i.data.payload));break;case"enableAEC":this.encoders.forEach(o=>o._EnableAEC(i.data.payload));break;case"enableDebug":console.debug=i.data.payload?Vr:()=>{};break;case"pushAudio":{let[o,u]=i.ports,{payload:{numberOfChannels:p,bitrate:l},encrypt:m,index:h}=i.data,f=this.encoders[h]||new xi(h,this,p,l);this.encoders[h]?(f.bitrate=l,f._SetOpusEncBitrate(l*1e3)):n(f),f.reset(),f.mainPort=u,f.workerPort=o,f.outputPort=m?u:o,u.onmessage=g=>{g.data?f.encode(g.data):(console.log(ut(),"encoder",h,"stopped"),o.postMessage(null))}}}}}registerProcessor("global-audio-player",t)}var Pi=class{constructor(){d(this,"playPort");d(this,"dumpPort");d(this,"downlinkAudioCount",0);d(this,"interval10ms",H(bt(10),We()));d(this,"ios")}glog(t){self.postMessage({type:"glog",payload:t})}async joinRoom(t){let{data:{id:e,payload:r},ports:i}=t,o=new Je(e,i[0],r);o.wh=this;let u=[new zt(o),new er(o),new Yt(o),new Zt(o),new Qt(o)],p=(m="leave room")=>{o.leaveRoom().catch(),o.abort(m),this.ios.delete(o)},l=setTimeout(o.abort,5e3,"timeout");H(Wt(o.port,!0),X(({data:{cmd:m,payload:h},ports:f})=>{switch(console.log(self.name,"received message",m),m){case"setAudioWorkletPort":this.playPort=f[0];break;case"switchRole":o.sendReq(20,{role:h,privateMapKey:o.params.privateMapKey}).then(A=>f[0].postMessage(A));break;default:let g=f.map(A=>Wt(A));typeof h!="undefined"&&g.unshift(h),u.forEach(A=>{var R;(R=A[m])==null||R.call(A,...g)})}},p,p));try{await o.connect(),postMessage({id:e,payload:await o.joinRoom()}),clearTimeout(l),this.ios.add(o)}catch(m){m instanceof WebTransportError?m=`Transport initialization failed.
|
|
2
|
+
`)},h=JSON.stringify(m),f=Ei.enable?mo(m,2002,p):h;await this.uploadLogWithRetry(f,p,f instanceof Uint8Array,h),l.forEach(g=>g.uploaded=!0)}}catch(i){}let r=e.filter(i=>!i.uploaded);r.length>0&&(this._queue=r.concat(this._queue))}uploadLogWithRetry(t,e,r,i){return Ms({retryFunction:()=>Ns({url:co(e,Is.LOG),body:t,timeout:5e3,priority:"low"}).then(o=>{r&&o.data!=="ok"&&(Ei.handleUploadFailed(),this.uploadLogWithRetry(i,e,!1,i))}),settings:{retries:3,timeout:2e3},onError:({retry:o})=>{o()}})()}getPrefix(t){let e=new Date;return e.setTime(pi()),`[${xs(e)}] <${Be[t]}>`}getLogLevel(){return this._logLevel}setLogLevel(t){Gt(Be[t])||(this._logLevel!==t&&this.info("setLogLevel",t),this._logLevel=t)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(t){if(Ft(t))return t;try{return t instanceof Error?t.toString():JSON.stringify(t)}catch(e){return""}}addLogToQueue(t,e,r=!0,i,o){let u={log:e.reduce((p,l)=>`${p} ${this.logChunkToString(l)}`.trim(),""),level:t,userId:i,sdkAppId:o,forAllJoinedClients:r};we.emit(at.LOG,{log:u}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(u)}log(t,e,r=!0,i,o){var p;if(e.unshift(this.getPrefix(t)),this.addLogToQueue(t,e,r,i,o),t<this._logLevel)return;let u=((p=Be[t])==null?void 0:p.toLowerCase())||"info";Br.PRINT_LOG_TAG?console[u](el,tl,rl,...e):console[u](...e)}debug(...t){this.log(1,t)}info(...t){this.log(2,t)}warn(...t){this.log(3,t)}error(...t){this.log(4,t)}createLogger(t){if(t.parent instanceof st){let e=t,{parent:r}=e,i=ls(e,["parent"]),o=new st(i);return o.bindParent(r),o}return new st(t)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),r=e?Number(e):-1;Be[r]&&(this._logLevelToUpload=r)}getQueue(){return this._queue}};d(Br,"PRINT_LOG_TAG",!(Lr||Ot||io));var Ti=Br,nt=new Ti;var nl=n=>Number(n)<14e8,co=function(n,t){let e;ni?e=ni:e=nl(n)?Ts:Es;let r=Math.floor(Math.random()*2**31);return`${e}/v5/AVQualityReportSvc/C2S?random=${r}&sdkappid=${n}&cmdtype=${t}`};var Ip=typeof window!="undefined"&&typeof window.glog=="function"?window.glog:()=>{};var Gt=n=>typeof n=="undefined",Ft=n=>typeof n=="string",lo=n=>typeof n=="number";var Sp=typeof HTMLMediaElement!="undefined"&&"setSinkId"in HTMLMediaElement.prototype;var{toString:yp}=Object.prototype;function Ii(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}function il(n,t,e,r){let i={data:n,random:Math.floor(Math.random()*2147483648),sdkAppId:e};return Gt(r)||(i=cs(Mt({},i),{gzip:+r})),{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(i)}}}function mo(n,t,e,r){try{let i=il(n,t,e,r),o=Dr(i);return Us(o,e)}catch(i){return JSON.stringify(n)}}function Wt(n,t=!1){let e=Object.defineProperties(ze(),{postMessage:{value:n.postMessage.bind(n)},port:{get(){return n},set(i){n.onmessage=$,n.onmessageerror=$,n=i,r()}}});function r(){n.onmessage=i=>{i.data?i.ports.length||t?e.next(i):e.next(i.data):(e.complete(),n.close())},n.onmessageerror=i=>{e.error(i),n.close()}}return r(),e}var Si=class extends N{constructor(t,e){super(t);let r=new N(t);r.next=$,e(r)}},Ve=L(Si,"takeUntilComplete");var ne={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},sl="__INLINE__WORKER__",ol="__INLINE__WASM__",{debug:Vr}=console;ne.debug||(console.debug=()=>{});var Mp=!sl.startsWith("__"),kp=!ol.startsWith("__");var po=H(bt(250),tt(()=>performance.now()),We()),xe=n=>t=>{let e=0,r=performance.now();H(po,tt(i=>(i-r)/n>>0),gt(i=>i!=e?(e=i,!0):!1))(t)},je=n=>t=>{let e=performance.now();H(po,fs(r=>r-e<n),Er(1))(t)};function $e(n,t,e){let r=t.aborted?Promise.reject(t.reason):new Promise((i,o)=>{t.addEventListener("abort",()=>o(t.reason),{once:!0}),typeof n=="function"?n(i,o):n.then(i,o)});return e?r.catch(e):r}var al=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium"}),ut=()=>al.format(new Date),ie=(O=>(O[O.JOIN_ROOM=0]="JOIN_ROOM",O[O.LEAVE_ROOM=1]="LEAVE_ROOM",O[O.PUBLISH=2]="PUBLISH",O[O.UNPUBLISH=3]="UNPUBLISH",O[O.SUBSCRIBE=4]="SUBSCRIBE",O[O.UNSUBSCRIBE=5]="UNSUBSCRIBE",O[O.GET_WHOLE_LIST=6]="GET_WHOLE_LIST",O[O.QUALITY_REPORT=7]="QUALITY_REPORT",O[O.MUTE=8]="MUTE",O[O.UNMUTE=9]="UNMUTE",O[O.CONFIG=10]="CONFIG",O[O.REQUEST_PLI=11]="REQUEST_PLI",O[O.HEARTBEAT=12]="HEARTBEAT",O[O.START_PUSH_CDN=13]="START_PUSH_CDN",O[O.STOP_PUSH_CDN=14]="STOP_PUSH_CDN",O[O.START_MCU_MIX=15]="START_MCU_MIX",O[O.STOP_MCU_MIX=16]="STOP_MCU_MIX",O[O.UDPATE_TRACK=17]="UDPATE_TRACK",O[O.START_PUSHING=18]="START_PUSHING",O[O.STOP_PUSHING=19]="STOP_PUSHING",O[O.SWITCH_ROLE=20]="SWITCH_ROLE",O[O.WHOLE_LIST_UPDATE=255]="WHOLE_LIST_UPDATE",O[O.PEER_JOINED=256]="PEER_JOINED",O[O.PEER_LEFT=257]="PEER_LEFT",O[O.PEER_UDPATED_TRACK=258]="PEER_UDPATED_TRACK",O[O.SELECT_ABILITY=259]="SELECT_ABILITY",O[O.PEER_REQUEST_PLI=260]="PEER_REQUEST_PLI",O[O.AUDIO_DATA=4095]="AUDIO_DATA",O[O.VIDEO_DATA=4096]="VIDEO_DATA",O[O.SCREEN_DATA=4097]="SCREEN_DATA",O[O.NACK=4098]="NACK",O[O.ACK=4099]="ACK",O[O.REQUEST_RTT=4100]="REQUEST_RTT",O[O.RESPONSE_RTT=4101]="RESPONSE_RTT",O[O.PIP_DATA=4102]="PIP_DATA",O[O.LAYER_DATA=4103]="LAYER_DATA",O[O.MAX_FORCE=65535]="MAX_FORCE",O))(ie||{});function yi(n,t,e){let r=t>65535?1:0;return e.setUint8(0,0<<4|r),e.setUint16(1,n),r?e.setUint32(3,t):e.setUint16(3,t),r?7:5}function jt(n,t){let e=n>=255&&n<4095;e&&(t+=4);let i=(t>65535?1:0)?7:5,o=new DataView(new ArrayBuffer(i+t));yi(n,t,o),e&&(o.setUint32(i,0),i+=4),o=new DataView(o.buffer,i),i=0;let u=g=>{o.setUint8(i,g),i++},p=g=>{o.setUint16(i,g),i+=2},l=(g,A=!1)=>{o.setUint32(i,g,A),i+=4},m=g=>{o.setBigUint64(i,g),i+=8},h=g=>{let A=new Uint8Array(o.buffer,o.byteOffset+i,g);return i+=g,A};return{write8:u,write32:l,write16:p,write64:m,writeData:g=>h(g.length).set(g),dv:o,next:h}}function Fr(n,t,e){let r=JSON.stringify(t),{writeData:i,dv:o}=jt(n,r.length+16);switch(i(e.split("").map(u=>u.charCodeAt(0))),i(r.split("").map(u=>u.charCodeAt(0))),n){case 11:case 12:case 7:console.debug("send",ie[n],e,t,o.buffer);break;default:n<255&&console.log(ut(),"send",ie[n],e,t,o.buffer)}return o.buffer}var fo=fr(qt()),ge=class extends fo.EventEmitter{constructor(e){super();this.io=e}get statReportReq(){return this.io.statReportReq.stat}get qualityReport(){return this.io.qualityReportReq.report}get appId(){return this.io.joinReq.sdkAppID}get roomId(){return this.io.joinReq.roomid}get userId(){return this.io.joinRes.openid}get userMap_(){return this.io.userManager.remotePublishedUserMap}send(e,r){return this.io.sendReq(e,r)}post(e,r){return this.io.postReq(e,r)}postMessage(e,r){this.io.postMessage({cmd:e,payload:r})}createResposeOb(e){return Se(this.io,ie[e])}glog(e){self.postMessage({type:"glog",payload:e})}};var $t=class{constructor(){d(this,"arguments");d(this,"environment");d(this,"preInit");d(this,"preRun");d(this,"postRun");d(this,"onAbort");d(this,"preinitializedWebGLContext");d(this,"noInitialRun");d(this,"noExitRuntime");d(this,"logReadFiles");d(this,"filePackagePrefixURL");d(this,"wasmBinary");d(this,"HEAP");d(this,"IHEAP");d(this,"FHEAP");d(this,"HEAP8");d(this,"HEAP16");d(this,"HEAP32");d(this,"HEAPU8");d(this,"HEAPU16");d(this,"HEAPU32");d(this,"HEAPF32");d(this,"HEAPF64");d(this,"TOTAL_STACK");d(this,"TOTAL_MEMORY");d(this,"FAST_MEMORY");d(this,"preloadedImages");d(this,"preloadedAudios");d(this,"_GetEncodedFrame");d(this,"_ReceivedAudioPacket");d(this,"_CreateUdtPacketizer");d(this,"_PacketizeVideoUdt");d(this,"udtver",3)}onRuntimeInitialized(){}print(t){console.debug(t)}printErr(t){console.debug(t)}},ce=new $t,B=class{constructor(t,e){this.size=t;d(this,"point");this.point=ce._malloc(t),e&&this.set(e)}set(t){t.length>this.size&&this.grow(t.length),ce.HEAPU8.set(t,this.point)}setUint32(t,e){new DataView(ce.HEAPU8.buffer).setUint32(this.point+t,e)}setBigUint64(t,e){new DataView(ce.HEAPU8.buffer).setBigUint64(this.point+t,e)}getBigUint64(t){return new DataView(ce.HEAPU8.buffer).getBigUint64(this.point+t)}getUint32(t){return ce.HEAPU8[this.point+t]|ce.HEAPU8[this.point+t+1]<<8|ce.HEAPU8[this.point+t+2]<<16|ce.HEAPU8[this.point+t+3]<<24}getInt8(t){return ce.HEAPU8[this.point+t]}uint8Array(t=NaN){return new Uint8Array(ce.HEAPU8.buffer,this.point,t>=0?t:this.size)}uint8Slice(t=NaN){return ce.HEAPU8.slice(this.point,this.point+(t>=0?t:this.size))}fill(t=0,e=this.point,r=this.point+this.size){ce.HEAPU8.fill(t,e,r)}free(){ce._free(this.point)}grow(t){t>this.size&&(this.free(),this.size=t,this.point=ce._malloc(t))}};d(B,"global");var V=ce;var Hr=class{constructor(t){d(this,"lastReceiveTime",-1);d(this,"blocking",!1);d(this,"blockCnt",0);d(this,"blockTime",0);d(this,"received",ze());let e=je(t);H(this.received,hs(()=>(this.blockDone(),this.lastReceiveTime=Date.now(),e)),X(()=>{this.blocking=!0},$,()=>{this.blockDone()}))}blockDone(){this.blocking&&(this.blockCnt++,this.blockTime+=Date.now()-this.lastReceiveTime,this.blocking=!1)}clear(){this.blockCnt=0,this.blockTime=0}},jr=class jr{constructor(t=2){d(this,"videoStatus",{uint32_video_stream_type:2,uint32_video_codec_fps:0,uint32_video_capture_fps:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_type:0,uint32_video_gop:0,uint32_video_rps_open:0,uint32_video_rps_interval:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_fec_ratio:0,uint32_video_fec_recover:0,uint32_video_arq_request:0,uint32_video_arq_recover:0,uint32_video_arq_packets:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_final_lost:0,uint32_video_block_cnt:0,uint32_video_cache_ms:0,uint32_video_total_frame:0,uint32_video_decode_frame:0,uint32_video_block_time:0,uint32_video_quality:0,uint32_video_jitter_fps:0});d(this,"videoPort");d(this,"control");d(this,"lastReceiveTime",-1);d(this,"vBlock",new Hr(500));d(this,"ssrc",jr.g_ssrc++);d(this,"framesFromStartPull",0);this.videoStatus.uint32_video_stream_type=t}getVideoStatus(){let t=Mt({},this.videoStatus);return t.uint32_video_block_cnt=this.vBlock.blockCnt,t.uint32_video_block_time=this.vBlock.blockTime,t.uint32_video_codec_bitrate>>=1,t.uint32_video_total_bitrate>>=1,t.uint32_video_receive_fps>>=1,t.uint32_video_capture_fps>>=1,t.uint32_video_codec_fps>>=1,this.videoStatus.uint32_video_codec_bitrate=0,this.videoStatus.uint32_video_total_bitrate=0,this.videoStatus.uint32_video_receive_fps=0,this.videoStatus.uint32_video_capture_fps=0,this.videoStatus.uint32_video_codec_fps=0,this.vBlock.clear(),t}demuxPacket(t){let e=t.length,{ssrc:r,videoStatus:i,vBlock:o}=this;i.uint32_video_receive++;let u=Date.now();i.uint32_video_total_bitrate+=e<<3,B.global.set(t);let p=V._ReceivedVideoPacket(B.global.point,e,u/1e3,u%1e3,r);p==0&&(this.lastReceiveTime>0&&u-this.lastReceiveTime>500&&console.debug("demuxPacket",u-this.lastReceiveTime),this.lastReceiveTime=u),o.received.next(p)}gotVideoFrame(t){var r;this.videoStatus.uint32_video_total_frame++,this.videoStatus.uint32_video_codec_bitrate+=t.length<<3,this.videoStatus.uint32_video_receive_fps++,this.videoStatus.uint32_video_capture_fps++;let e=t.slice();(r=this.videoPort)==null||r.postMessage({data:e,packetsReceived:this.videoStatus.uint32_video_receive},[e.buffer])}};d(jr,"g_ssrc",1);var qr=jr,Gr=class{constructor(t,e){this.writer=t;this.ssrc=e;d(this,"buffer",new B(960));d(this,"timestamp",0);V._AddAudioChannel(e,e)}feed(){this.writer.write(new AudioData({format:"s16",numberOfChannels:1,numberOfFrames:480,sampleRate:48e3,timestamp:this.timestamp+=1e4,data:this.buffer.uint8Array()}))}close(){V._DelAudioChannel(this.ssrc),this.buffer.free()}},Wr=class{constructor(t,e){this.io=e;d(this,"userId");d(this,"tinyId");d(this,"role");d(this,"terminalType");d(this,"lastCapNtpMs",-1);d(this,"startTimestamp",Date.now());d(this,"alastReceivedTimestamp",-1);d(this,"lengthPoint",new B(4));d(this,"audioPuller");d(this,"mainPuller",new qr(2));d(this,"screenPuller",new qr(7));d(this,"aBlock",new Hr(250));d(this,"events",[]);d(this,"msg_audio_status",{uint32_audio_format:0,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_aec:0,uint32_audio_fec_ratio:0,uint32_audio_fec_recover:0,uint32_audio_arq_request:0,uint32_audio_arq_recover:0,uint32_audio_arq_packets:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0,uint32_audio_cache_ms:0,uint32_audio_capture_state:0,uint32_audio_filtered_max_cache_ms:0,uint32_audio_filtered_avg_cache_ms:0,uint32_audio_target_max_cache_ms:0,uint32_audio_target_avg_cache_ms:0,uint32_audio_delay_peak_count:0,uint32_audio_speed_percent:0,uint32_audio_quality:0,uint32_audio_block_time:0,uint32_audio_block_cnt:0,uint32_audio_level:0});d(this,"subscribe",0);d(this,"removing",!1);d(this,"isKeyPoint");Object.defineProperties(this,Object.getOwnPropertyDescriptors(t))}remove(){var t;this.lengthPoint.free(),(t=this.audioPuller)==null||t.close()}toDownStreamInfo(t,e){let r=[this.mainPuller.getVideoStatus()];r[0].uint32_video_stream_type=this.subscribe&8?3:2,this.screenPuller.videoPort&&r.push(this.screenPuller.getVideoStatus());let i=Mt({},this.msg_audio_status);return i.uint32_audio_codec_bitrate>>=1,i.uint32_audio_total_bitrate>>=1,i.uint32_audio_block_cnt=this.aBlock.blockCnt,i.uint32_audio_block_time=this.aBlock.blockTime,e&&console.log(new Date().toLocaleString(),t.userId,r.map(o=>({t:o.uint32_video_stream_type,r_fps:o.uint32_video_receive_fps,c_fps:o.uint32_video_codec_fps,c_bps:o.uint32_video_codec_bitrate})),i.uint32_audio_codec_bitrate),this.msg_audio_status.uint32_audio_total_bitrate=0,this.msg_audio_status.uint32_audio_codec_bitrate=0,this.aBlock.clear(),{msg_user_info:{str_identifier:this.userId,uint64_tinyid:Number(this.tinyId)},msg_audio_status:i,msg_video_status:r,msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0}}}getNextVideoFrame(t){this.lengthPoint.setUint32(0,B.global.size),this.isKeyPoint||(this.isKeyPoint=new B(1));let e=V._GetEncodedFrame(B.global.point,this.lengthPoint.point,this.isKeyPoint.point,t.ssrc),r=this.lengthPoint.getUint32(0);if(e==-1||r==0)return 10;let i=B.global.uint8Array(r);return t.videoStatus.uint32_video_total_frame||console.timeEnd(`${this.userId}${t==this.mainPuller?"big":"aux"}`),t.gotVideoFrame(i),e}startPullOnlyAudio(t,e,r){this.io.log_.info("start pull only audio",t),V._AddAudioChannel(t.ssrc,t.ssrc)}startPull(t,e,r){this.io.log_.info("start pull",t,r);let i=t===this.mainPuller;if(t.videoPort){t.framesFromStartPull=0,t.videoPort.port=e.port;return}let o=i?[2,1]:[7];t.videoPort=e,console.time(`${this.userId}${r.mediaType&2?"aux":"big"}`),H(e,X(({width:h,height:f})=>{t.videoStatus.uint32_video_width=h,t.videoStatus.uint32_video_height=f,t.videoStatus.uint32_video_decode_frame++,t.videoStatus.uint32_video_codec_fps++}));let u=h=>{delete t.videoPort,h?this.io.log_.error("stop pull",h):this.io.log_.info("stop pull",t),V._DelVideoChannel(t.ssrc),t.vBlock.received.complete(),i&&this.aBlock.received.complete()};V._AddVideoChannel(t.ssrc,t.ssrc);let p=0,l=0,m=()=>{Date.now()-l>2e3&&(l=Date.now(),this.io.sendReq(11,r))};H(this.io.wh.interval10ms,gt(h=>(p<=0&&(p=this.getNextVideoFrame(t),p>500&&(p=20)),p-=10,ne.useWt&&(h&1)==0&&!o.every(f=>{let g=V._CheckMissingPacket(B.global.point,B.global.size,f,t.ssrc,this.io.rtt);return g>0&&(B.global.setBigUint64(5,BigInt(this.tinyId)),this.io.send(B.global.uint8Array(g))),g>=0}))),Ve(e),X(m,u,u)),m(),H(xe(5e3),Ve(e),X(m))}};var ul=1e8;function cl(){let n=new B(500,[0]);return V._GetAudioEnergy(n.point,100),n}var xt=class xt extends ge{constructor(){super(...arguments);d(this,"audioReceivedBuff",new B(2048));d(this,"levelsMap",new Map);d(this,"timestampBuff",new B(12))}decodeAudio(e,r){H(this.createResposeOb(4095),Ve(r),X(({data:i})=>{let u=new DataView(i.buffer,i.byteOffset,i.byteLength).getBigUint64(9).toString();this.userMap_.has(u)&&(this.statReportReq.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.msg_net_stat_report.uint32_down_recv_br+=i.byteLength,this.demuxPacket(i,this.userMap_.get(u),e&&r))})),e&&H(r,X(({timestamp:i,rtpTimestamp:o,seqNum:u,ssrc:p,data:l})=>{this.audioReceivedBuff.set(l),V._ReceivedRawAudioPacket(this.audioReceivedBuff.point,l.byteLength,i,o,u,p)}))}pullAudio({tinyId:e,writable:r}){let i=this.userMap_.get(e);i&&(i.audioPuller=new Gr(r.getWriter(),i.mainPuller.ssrc))}getAudioEnergy(e,r){xt.energys||(xt.energys=cl());let{energys:i}=xt;H(xe(e),Ve(r),X(()=>{let o=i.getInt8(0);for(let u=1;u<5*o;u+=5)this.levelsMap.set(i.getUint32(u),i.getInt8(u+4));if(this.userMap_.size>0){let u=[...this.userMap_.values()];r.postMessage(u.map(p=>{let l=Math.min(100,(this.levelsMap.get(p.mainPuller.ssrc)||0)*2);return p.msg_audio_status.uint32_audio_level=l*ul/100>>0,{userId:p.userId,volume:l}}))}else r.postMessage([])}))}demuxPacket(e,r,i){let{aBlock:o,msg_audio_status:u}=r;o.received.next(!0),u.uint32_audio_total_bitrate+=e.byteLength<<3,u.uint32_audio_codec_bitrate=u.uint32_audio_total_bitrate-31,this.audioReceivedBuff.set(e);let p=Date.now(),l=p/1e3,m=p%1e3;if(i){let h=V._ParseUdtAudioPacket(this.audioReceivedBuff.point,e.length,this.timestampBuff.point,this.timestampBuff.point+4,this.timestampBuff.point+8,this.audioReceivedBuff.point,r.mainPuller.ssrc);if(h>0){let f=this.audioReceivedBuff.getUint32(0),g=V.HEAPU8.slice(f,f+h);i.postMessage({timestamp:this.timestampBuff.getUint32(0),rtpTimestamp:this.timestampBuff.getUint32(4),seqNum:this.timestampBuff.getUint32(8),data:g,ssrc:r.mainPuller.ssrc,userId:r.userId},[g.buffer])}}else V._ReceivedAudioUdtPacket(this.audioReceivedBuff.point,e.length,l,m,r.mainPuller.ssrc)}};d(xt,"energys");var Yt=xt;var ho=fr(qt(),1),_o=Symbol("instance"),Pf=Symbol("abortCtrl"),Kr=Symbol("cacheResult"),Kt=class{constructor(t,e,r){this.oldState=t,this.newState=e,this.action=r,this.aborted=!1}abort(t){this.aborted=!0,Xt.call(t,this.oldState,new Error(`action '${this.action}' aborted`))}toString(){return`${this.action}ing`}},ct=class extends Error{constructor(t,e,r){super(e),this.state=t,this.message=e,this.cause=r}};function ll(n){return typeof n=="object"&&n&&"then"in n}var Jt=new Map;function fe(n,t,e={}){return(r,i,o)=>{let u=e.action||i;if(!e.context){let l=Jt.get(r)||[];Jt.has(r)||Jt.set(r,l),l.push({from:n,to:t,action:u})}let p=o.value;o.value=function(...l){let m=this;if(e.context&&(m=Z.get(typeof e.context=="function"?e.context.call(this,...l):e.context)),m.state===t)return e.sync?m[Kr]:Promise.resolve(m[Kr]);m.state instanceof Kt&&m.state.action==e.abortAction&&m.state.abort(m);let h=null;Array.isArray(n)?n.length==0?m.state instanceof Kt&&m.state.abort(m):(typeof m.state!="string"||!n.includes(m.state))&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n.join("|")}`)):n!==m.state&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n}`));let f=U=>{if(e.fail&&e.fail.call(this,U),e.sync){if(e.ignoreError)return U;throw U}else return e.ignoreError?Promise.resolve(U):Promise.reject(U)};if(h)return f(h);let g=m.state,A=new Kt(g,t,u);Xt.call(m,A);let R=U=>{var D;return m[Kr]=U,A.aborted||(Xt.call(m,t),(D=e.success)===null||D===void 0||D.call(this,m[Kr])),U},w=U=>(Xt.call(m,g,U),f(U));try{let U=p.apply(this,l);return ll(U)?U.then(R).catch(w):e.sync?R(U):Promise.resolve(R(U))}catch(U){return w(new ct(m._state,`${m.name} ${u} from ${n} to ${t} failed: ${U}`,U instanceof Error?U:new Error(String(U))))}}}}var dl=typeof window!="undefined"&&window.__AFSM__?(e,r)=>{window.dispatchEvent(new CustomEvent(e,{detail:r}))}:typeof importScripts!="undefined"?(e,r)=>{postMessage({type:e,payload:r})}:()=>{};function Xt(n,t){let e=this._state;this._state=n;let r=n.toString();n&&this.emit(r,e),this.emit(Z.STATECHANGED,n,e,t),this.updateDevTools({value:n,old:e,err:t instanceof Error?t.message:String(t)})}var Z=class n extends ho.default{constructor(t,e,r){super(),this.name=t,this.groupName=e,this._state=n.INIT,t||(t=Date.now().toString(36)),r?Object.setPrototypeOf(this,r):r=Object.getPrototypeOf(this),e||(this.groupName=this.constructor.name);let i=r[_o];i?this.name=i.name+"-"+i.count++:r[_o]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let t=Object.getPrototypeOf(this),e=Jt.get(t)||[],r=new Set,i=[],o=[],u=new Set,p=Object.getPrototypeOf(t);Jt.has(p)&&(p.stateDiagram.forEach(m=>r.add(m)),p.allStates.forEach(m=>u.add(m))),e.forEach(({from:m,to:h,action:f})=>{typeof m=="string"?i.push({from:m,to:h,action:f}):m.length?m.forEach(g=>{i.push({from:g,to:h,action:f})}):o.push({to:h,action:f})}),i.forEach(({from:m,to:h,action:f})=>{u.add(m),u.add(h),u.add(f+"ing"),r.add(`${m} --> ${f}ing : ${f}`),r.add(`${f}ing --> ${h} : ${f} \u{1F7E2}`),r.add(`${f}ing --> ${m} : ${f} \u{1F534}`)}),o.forEach(({to:m,action:h})=>{r.add(`${h}ing --> ${m} : ${h} \u{1F7E2}`),u.forEach(f=>{f!==m&&r.add(`${f} --> ${h}ing : ${h}`)})});let l=[...r];return Object.defineProperties(t,{stateDiagram:{value:l},allStates:{value:u}}),l}static get(t){let e;return typeof t=="string"?(e=n.instances.get(t),e||n.instances.set(t,e=new n(t,void 0,Object.create(n.prototype)))):(e=n.instances2.get(t),e||n.instances2.set(t,e=new n(t.constructor.name,void 0,Object.create(n.prototype)))),e}static getState(t){var e;return(e=n.get(t))===null||e===void 0?void 0:e.state}updateDevTools(t={}){dl(n.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(t){Xt.call(this,t)}};Z.STATECHANGED="stateChanged";Z.UPDATEAFSM="updateAFSM";Z.INIT="[*]";Z.ON="on";Z.OFF="off";Z.instances=new Map;Z.instances2=new WeakMap;var Ye=class extends Z{constructor(e){super(e.params.userId,"WebSocket");this.connectFSM=e;d(this,"ws")}connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wsUrl);let e=new WebSocket(this.connectFSM.wsUrl);return console.time("WebSocket connect"),e.binaryType="arraybuffer",$e((r,i)=>{e.onerror=o=>{e.onmessage=null,this.connectFSM.log_.error("websocket onerror",o),i(o.type)},e.onclose=o=>{e.onmessage=null,i(o),this.connectFSM.log_.info("websocket onclose",o),this.disconnect(o.reason,o.code)},e.onopen=o=>{console.timeEnd("WebSocket connect"),this.connectFSM.log_.info("websocket onopen")},e.onmessage=o=>{try{let u=JSON.parse(String(o.data));if(this.connectFSM.log_.info("websocket verify",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.ws=e,r(e);let p=this.connectFSM.createOputReceiver("w");e.onmessage=l=>p.write(l.data)}catch(u){i(u)}}},this.connectFSM.abortCtrl.signal)}disconnect(e="",r=0){return r===0&&this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,e)),this.connectFSM.log_.warn("websocket disconnected :",r,e),this.connectFSM.disconnect(e)}close(){this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,"close"))}sendReq(e,r,i){this.send(Fr(e,r,i||this.connectFSM.generateUUID()))}send(e){var r;this.state=="CONNECTED"&&((r=this.ws)==null||r.send(e))}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ye.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ye.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ye.prototype,"close",1);var Yf=new Uint32Array([Date.now()]),ml=H(bt(20),tt(()=>performance.now()),We()),Ri=class{constructor(t){this.wt=t;d(this,"chunk",new Map);d(this,"timestamp",performance.now());d(this,"groupId");d(this,"resentCount",0);this.groupId=t.groupid,t.groupid=t.groupid+1&127,t.sentCache.has(this.groupId)&&t.sentCache.get(this.groupId).chunk.clear(),t.sentCache.set(this.groupId,this),H(ml,Fn(()=>this.chunk.size>0&&this.resentCount<20),Oe(Se(t,"DISCONNECTED")),X(e=>{e-this.timestamp>2*t.connectFSM.rtt+10&&(this.chunk.forEach((r,i)=>this.wt.send(r.buffer)),console.debug("resent",this.groupId,this.chunk.size,"after",e-this.timestamp,"ms",++this.resentCount),this.timestamp=e)},console.error,()=>{this.wt.sentCache.delete(this.groupId)}))}ack(t){this.chunk.delete(t)}},Ke=class extends Z{constructor(e){super(e.params.userId,"WebTransport");this.connectFSM=e;d(this,"wt");d(this,"writer");d(this,"dw");d(this,"sentCache",new Map);d(this,"groupid",0);d(this,"mtu",1e3)}async connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wtUrl);let e=new WebTransport(this.connectFSM.wtUrl);console.time("WebTransport connect"),e.ready.then(()=>console.timeEnd("WebTransport connect"));let r=this.connectFSM.abortCtrl.signal,{value:i,stream:o}=await Promise.race([(async()=>{await $e(e.ready,r);let p=await $e(e.createBidirectionalStream(),r),l=p.readable.getReader();return this.writer=p.writable.getWriter(),this.dw=e.datagrams.writable.getWriter(),$e(l.read(),r).then(({value:m})=>(l.releaseLock(),{value:m,stream:p}))})(),new Promise((p,l)=>setTimeout(()=>l(new Error("WebTransport connect timeout")),1e3))]),u=JSON.parse(String.fromCharCode(...i));if(this.connectFSM.log_.info("WebTransport connect result:",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.wt=e,H(Se(this.connectFSM,ie[4099]),Oe(Se(this,"DISCONNECTED")),X(({data:p})=>{let l=p[0]&127,m=this.sentCache.get(l);m&&m.ack(p[1])})),Promise.race([e.datagrams.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("d"))),o.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("s"))),e.closed]).then(()=>this.disconnect(),this.disconnect.bind(this))}disconnect(e=""){var r;return(r=this.wt)==null||r.close(),this.connectFSM.disconnect(e)}close(){var e;return(e=this.wt)==null?void 0:e.close()}async sendReq(e,r,i){if(i||(i=this.connectFSM.generateUUID()),!this.wt)return new Error("WebTransport not connected");if(!ne.unreliable){let A=Fr(e,r,i);return this.writer.write(A).then(()=>!0).catch(this.catchError)}let o=e>=255&&e<4095,u=JSON.stringify(r),p=0,l=u.length+(o?20:16),h=(l>65535?1:0)?7:5,f=Math.ceil(l/this.mtu),g=new Ri(this);console.debug("WebTransport send:",o?"ack":"",ie[e],i,"chunks:",f,g.groupId);for(let A=0;A<f;A++){let R=l-A*this.mtu,w=Math.min(this.mtu,R),U=new Uint8Array(h+4+w),D=yi(e,U.length-h,new DataView(U.buffer));if(U[0]|=2,U.set([1,2,(A==f-1?128:0)|g.groupId,A],D),D+=4,A==0){o&&(U.set([0,0,0,0],D),D+=4);for(let G=0;G<16;G++)U[D++]=i.charCodeAt(G)}for(let G=0;D<U.length;G++)U[D++]=u.charCodeAt(p++);g.chunk.set(A,U),this.send(U.buffer)}}async send(e){if(!(!this.wt||!this.dw)){if(e instanceof ArrayBuffer){if(!e.byteLength)throw bo}else{if(!e.length)throw bo;e=e.slice(0)}return this.dw.write(e).catch(this.catchError)}}catchError(e){}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ke.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ke.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ke.prototype,"close",1);var bo=new Error("WebTransport send empty datagram");var go=fr(qt(),1);var Jr=class extends go.EventEmitter{constructor(e,r,i="userId"){super();this.mySelfId=e;this._log=r;this.key=i;d(this,"userMap",new Map);d(this,"remotePublishedUserMap",new Map)}get hasRobotUser(){return!![...this.remotePublishedUserMap.values()].find(e=>e.isRobot)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let r=e[this.key],{userId:i,tinyId:o,role:u}=e;if(this.userMap.has(r))return;let p={userId:i,tinyId:o,role:u===20?"anchor":"audience"};this.userMap.set(r,p),this.emit("1",p)}deleteUser(e,r){let i=this.userMap.get(e);if(!i)return;let o=`peer leave [${e}]`;Gt(r)||(o+=`:${Rs[r]}`),this._log.info(o);let u=this.remotePublishedUserMap.get(e);if(u){let p=u.muteState;u.flag=0,this.emit("5",u.userId),this.deleteRemotePublishedUser(e),this.emit("6",{prevMuteState:p,muteState:u.muteState,flag:0})}this.userMap.delete(e),this.emit("2",{userId:i.userId,reason:r})}setUserList(e){this.userMap.forEach(r=>{e.findIndex(i=>i[this.key]===r[this.key])<0&&this.deleteUser(r[this.key],0)}),e.forEach(r=>{!this.userMap.has(r[this.key])&&r[this.key]!==this.mySelfId&&this.addUser(r)})}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){this.remotePublishedUserMap.has(e)&&this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach(r=>{let i=r[this.key];if(e.findIndex(o=>o[this.key]===r[this.key])<0){this._log.info(`remote [${i}] unpublish`);let o=r.muteState;r.flag=0,this.emit("5",r.userId),this.deleteRemotePublishedUser(i),this.emit("6",{prevMuteState:o,muteState:r.muteState,flag:0})}}),e.forEach(r=>{var h;let i=r[this.key];if(i===this.mySelfId){this.emit("7",r);return}let{flag:o,userId:u,tinyId:p}=r,l=Ii(o,u),m=(h=this.remotePublishedUserMap.get(i))==null?void 0:h.muteState;if(m){let f=this.remotePublishedUserMap.get(i);f&&f.flag!==o&&(f.flag=o,this._log.info(`remote publish updated: ${JSON.stringify(f.muteState)}`),this.emit("6",{prevMuteState:m,muteState:l,flag:o}))}else this._log.info(`remote publish. state: ${JSON.stringify(l)}`),this.addUser({userId:u,tinyId:p,role:20}),this.emit("3",r),this.emit("6",{prevMuteState:Ii(0,u),muteState:l,flag:o})})}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}};function Eo(n,t=1,e=1){return n<=1?e:Eo(n-1,e,t+e)}function hl(n){return n>8?30*1e3:Eo(n)*1e3}function bl(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}var Ui=class{constructor(t){this.connect=t;d(this,"publishReq");d(this,"recovering",!1);d(this,"pingCount",0)}async recoverLocal(){return this.recovering=!0,this.publishReq?this.connect._sendReq(2,this.publishReq).then(t=>{this.connect.log_.info("republish",t)}):!1}recoverRemote(t){this.recovering=!1,t.forEach((e,r)=>{this.connect.sendSubscribe(e)})}onSendReq(t,e){switch(t){case 2:this.publishReq?this.publishReq.mediaType|=e.mediaType:this.publishReq=e;break;case 3:this.publishReq=void 0;break;case 8:this.publishReq&&(this.publishReq.mediaType&=~e.mediaType);break;case 9:this.publishReq&&(this.publishReq.mediaType|=e.mediaType);break;case 12:this.connect.updateDevTools({note:`ping${this.pingCount++}`});break}}},Ee=class Ee extends Z{constructor(e,r,i){super(i.joinReq.roomid,"Connection");this.id=e;this.port=r;d(this,"signalInfo_");d(this,"reqUser_");d(this,"joinReq");d(this,"frameWorkType");d(this,"userManager");d(this,"joinRes");d(this,"statReportReq");d(this,"qualityReportReq");d(this,"wFSM");d(this,"rtt",50);d(this,"recovery",new Ui(this));d(this,"reqPromise",new Map);d(this,"rebuild");d(this,"osName");d(this,"browserInfo");d(this,"tinyId_",new B(32));d(this,"tinyId");d(this,"domains");d(this,"log_");d(this,"params");d(this,"proxy_ws");d(this,"proxy_wt");d(this,"proxy_cloud");d(this,"proxy_unified");d(this,"env");d(this,"wh");d(this,"abortCtrl",new AbortController);d(this,"firstReceiveUserlist");d(this,"connectParams");d(this,"selectDomain",0);d(this,"selectCloudDomain",0);d(this,"abort",this.abortCtrl.abort.bind(this.abortCtrl));d(this,"reconnectedOB",Se(this,"RECONNECTED"));d(this,"reconnectOB",e=>{this.reconnect().then(()=>{this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"RECONNECTING",state:"CONNECTED"}}),this.rejoinRoom()},r=>{e.next(r),this.selectDomain=1-this.selectDomain})});console.log(this),Object.assign(this,i),this.connectParams=new URLSearchParams({sdkAppid:this.params.sdkAppId.toString(),userSig:this.params.userSig,identifier:this.params.userId}),this.tinyId&&this.connectParams.append("tinyId",this.tinyId),this.log_=nt.createLogger({id:`wc${e}`,userId:this.params.userId,sdkAppId:this.params.sdkAppId}),this.proxy_unified?ne.useWt=!1:(this.proxy_ws||this.proxy_wt)&&(ne.useWt=!!this.proxy_wt),ne.useWt?this.wFSM=new Ke(this):this.wFSM=new Ye(this),this.userManager=new Jr("",this.log_,"tinyId");let o=u=>this.userManager.on(u,p=>this.postMessage({cmd:u,payload:p}));this.userManager.on("3",({flag:u,userId:p,tinyId:l})=>{let m={flag:u,userId:p,tinyId:l,get muteState(){return bl(this.flag,this.userId)},subscribe:0,removing:!1};this.log_.debug("create user",m),this.postMessage({cmd:"3",payload:m}),this.userManager.addRemotePublishedUser(new Wr(m,this))}),o("6"),o("5"),o("1"),o("2"),o("7"),this.statReportReq={tinyid:"",stat:{msg_audio_stat_report:{msg_audio_enc_stat:{uint32_audio_enc_br:0,uint32_audio_frame_interval:0},msg_audio_send_stat:{uint32_audio_send_br:0,uint32_audio_fec_br:0,uint32_audio_arq_br:0}},rpt_msg_video_stat_report:[{uint32_video_type:2,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}],msg_net_stat_report:{uint32_total_send_br:0,uint32_rtt:0,uint32_down_expect_pkg:0,uint32_down_real_pkg:0,uint32_down_recv_br:0},msg_rtt_info_req:{uint64_last_server_timestamp_ms:0,uint32_delay_since_last_server_timestamp_ms:0,uint64_client_timestamp_ms:0},msg_system_load_report:{uint32_total_cpu_rate:0},msg_down_bandwidth_est:{uint32_bandwidth_br:0,uint32_avg_bandwidth_br:0,uint32_jitter:0,uint32_jitter_in_frm:0},msg_play_report:{uint32_video_jitter_receive_fps_ratio:0}}},this.qualityReportReq={tinyid:"",report:{str_sdk_version:this.joinReq.jsSdkVersion,uint32_groupid:0,uint64_datetime:Date.now(),msg_user_info:{str_identifier:"",uint64_tinyid:0},msg_device_info:{uint32_terminal_type:this.joinReq.AbilityOption.GeneralLimit.uint32_terminal_type,str_device_name:this.browserInfo.browserName,str_os_version:this.osName,uint32_net_type:this.joinReq.AbilityOption.GeneralLimit.uint32_net_type,uint32_app_cpu:0,uint32_system_cpu:0,uint32_app_memory:0,uint32_background:0,uint32_headset:0},msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:48e3,uint32_audio_codec_bitrate:0,uint32_audio_receive:0},msg_video_status:[{uint32_video_stream_type:2,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_enc_fps:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0},msg_qos:[]},msg_down_stream_info:[],msg_event_msg:[],str_acc_ip:"",str_client_ip:"",str_groupid:""}}}get aborted(){return this.abortCtrl.signal.aborted}get wtDomain(){return this.env?`${this.env}.rtc.qq.com:8080`:this.proxy_wt?this.proxy_wt:this.domains.length?`${this.domains[this.selectDomain]}:80`:"wasm.rtc.qq.com:80"}get wsDomain(){return this.env?`${this.env}.rtc.qq.com:8687`:this.proxy_cloud.length?this.proxy_cloud[this.selectCloudDomain].replace("wss://",""):this.proxy_ws?this.proxy_ws:this.domains.length?this.domains[this.selectDomain]:"wasm.rtc.qq.com"}get wtUrl(){return`${/^https?:/.test(this.wtDomain)?"":"https://"}${this.wtDomain}/v1/wt?${this.connectParams}`}get wsUrl(){var r;let e=((r=this.domains)==null?void 0:r[this.selectDomain])||"wasm.rtc.qq.com";return`${/^wss?:/.test(this.wsDomain)?"":"wss://"}${this.wsDomain}/v1/ws?${this.connectParams}&realHost=${e}`}async connect(){let e=this.wFSM.connect(),r=(i,o=!1)=>u=>{if(this.aborted||typeof u=="number")throw u;return this.selectDomain=i,this.wFSM=o?new Ke(this):new Ye(this),console.warn(u),console.warn("downgrade to",o?"WebTransport":"WebSocket",this.selectDomain?"\u5907\u7528\u57DF\u540D":"\u4E3B\u57DF\u540D"),this.wFSM.connect()};return ne.useWt&&(this.proxy_ws||!this.proxy_wt)&&(e=e.catch(r(0))),!this.proxy_wt&&!this.proxy_ws&&(e=e.catch(r(1,ne.useWt)),ne.useWt&&(e=e.catch(r(1)))),e}async joinRoom(){let{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}=this.signalInfo_,p=await this.sendReq(0,Object.assign(this.joinReq,{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}));if(p.err===0)this.setJoinRes(p.data);else throw p.err;return p}async leaveRoom(){return await this.sendReq(1,{}),this.close()}async rejoinRoom(){if(!this.rebuild){let e=await this.sendReq(0,this.joinReq);if(e.err===0)this.setJoinRes(e.data);else return}return this.recovery.recoverLocal()}async reconnect(){return this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"DISCONNECTED",state:"RECONNECTING"}}),this.wFSM.connect()}retry(e=0){if(console.log(ut(),"retry",e),e>As){this.close();return}let r=je(hl(e));H(e?ms(r,this.reconnectOB):this.reconnectOB,Er(1),Oe(this.reconnectedOB),X(i=>{typeof i!="number"&&this.state==="DISCONNECTED"&&this.retry(e+1)}))}disconnect(e){this.log_.warn("connection lost:",e),this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"CONNECTED",state:"DISCONNECTED"}}),this.retry()}close(){this.userManager.clear(),this.port.postMessage(null),this.port.close(),this.wFSM.close()}postMessage(e,r){this.port.postMessage(e,r)}verify(e,r){this.signalInfo_=e,this.rebuild=r,this.reqUser_={openid:e.openid,tinyid:e.tinyid}}async _sendReq(e,r){r.tinyid||(r.reqUser=this.reqUser_);let i=this.generateUUID();return await this.wFSM.sendReq(e,r,i),$e((o,u)=>this.reqPromise.set(i,{resolve:o,reject:u,startTime:Date.now()}),this.abortCtrl.signal,o=>(console.log("abort",ie[e]),{err:o}))}postReq(e,r){return this.wFSM.sendReq(e,r,this.generateUUID())}async sendReq(e,r){return this.recovery.onSendReq(e,r),this._sendReq(e,r)}send(e){return this.wFSM.send(e)}setJoinRes(e){this.joinRes=e,this.userManager.mySelfId=e.tinyid,this.statReportReq.tinyid=e.tinyid,this.qualityReportReq.tinyid=e.tinyid,this.qualityReportReq.report.str_acc_ip=e.relayip,this.qualityReportReq.report.str_client_ip=e.clientip,this.qualityReportReq.report.msg_user_info.str_identifier=e.openid,this.qualityReportReq.report.msg_user_info.uint64_tinyid=Number(e.tinyid),this.tinyId_.set([...e.tinyid].map(r=>r.charCodeAt(0)).concat(0)),[1,2,3,7].forEach(r=>{V._CreateUdtPacketizer(e.roomid,this.tinyId_.point,e.locationid,r,V.udtver,this.id)}),this.wFSM.sendReq(6,{})}onReceive(e,r,i){let o="",u=0,p=new DataView(i.buffer,i.byteOffset);r<255&&(u=p.getUint32(0),i=i.subarray(4)),r<4095&&(o=String.fromCharCode(...i.subarray(0,16)),i=i.subarray(16));let l=i;if(!o)p=new DataView(i.buffer,i.byteOffset,i.byteLength);else{let h="";for(let f=0,g=i.length,A=32768;f<g;f+=A)h+=String.fromCharCode.apply(null,i.subarray(f,Math.min(f+A,g)));if(u)l=h;else try{l=JSON.parse(h)}catch(f){l=h}}let m=ie[r];switch(r){case 259:this.joinRes&&this.wFSM.sendReq(r,{tinyid:this.joinRes.tinyid}),console.debug(e,"receive:",m,o,l);break;case 256:l.userlist.forEach(U=>{if(this.userManager.addUser({userId:U.userid,tinyId:U.srctinyid,role:U.role}),this.joinRes&&U.srctinyid!=this.joinRes.tinyid&&this.userManager.userMap.has(U.srctinyid)){let D=this.userManager.userMap.get(U.srctinyid);this.sendSubscribe(D)}}),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 257:this.userManager.deleteUser(l.userlist.srctinyid),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 6:this.userManager.setUserList(l.userlist.map(U=>({userId:U.userid,tinyId:U.srctinyid,role:U.role})));break;case 255:this.wFSM.sendReq(r,{count:this.userManager.userMap.size});{let U=l.userlist.map(D=>({userId:D.userid,tinyId:D.srctinyid,flag:D.flag,terminalType:D.terminaltype}));this.firstReceiveUserlist||(this.firstReceiveUserlist=!0,this.postMessage({cmd:at.RECEIVED_PUBLISHED_USER_LIST,payload:{publishedUserList:U}})),this.userManager.setRemotePublishedUserList(U),this.recovery.recovering&&this.recovery.recoverRemote(this.userManager.remotePublishedUserMap)}break;case 4100:this.rtt=p.getUint32(4),console.debug(e,"receive:",m,o,l,this.rtt);let{dv:h,writeData:f}=jt(4101,8);f(i.subarray(0,4)),this.send(h.buffer);break;case 12:this.reqPromise.forEach(U=>{Date.now()-U.startTime>5e3&&(U.reject(new Error("heartbeat timeout")),this.reqPromise.delete(U.uuid))}),self.postMessage({type:"glog",payload:{heartbeatReceive:1}});case 11:case 260:console.debug(e,"receive:",m,o,l);case 7:case 4095:break;case 4096:case 4097:{let U=i.length;this.statReportReq.stat.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.stat.msg_net_stat_report.uint32_down_recv_br+=U<<3;let D=p.getBigUint64(9).toString(),G=this.userManager.getPublishedUser(D);G?r===4096?(G.mainPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}big`,"first video data"),G.mainPuller.demuxPacket(i)):(G.screenPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}aux`,"first video data"),G.screenPuller.demuxPacket(i)):console.warn(e,"receive:",m,o,l,"user not found")}break;case 4102:case 4103:case 4099:break;case 4103:V.HEAPU8.set(i,B.global.point+8);let g=V._ParseUdtMousePacket(B.global.point+8,i.length,B.global.point),A=i.subarray(g),R=B.global.getBigUint64(0).toString(),w=this.userManager.userMap.get(R);w&&this.postMessage({cmd:"layerData",payload:{userId:w.userId,tinyId:R,layerData:A}}),console.debug(e,"receive:",m,g,l,R,A);break;case 4098:{let U=p.getUint8(8);for(let D=9;D<i.length;D+=6){let G=p.getUint32(D),ye=p.getUint16(D+4);for(let Ae=0;Ae<=16;Ae++){if(Ae>0&&(ye>>16-Ae&1)==0)continue;let Re=V._GetRetransPacket(U,G+Ae,B.global.point,this.id),se=B.global.getUint32(0),_e=V.HEAPU8.subarray(se,se+Re);Re>0&&this.send(_e)}}}break;case 1:this.log_.info(e,"receive:",m,o,l),l>0&&l!==3&&(this.postMessage({cmd:"banned",payload:l}),this.close());break;case 258:this.log_.info(e,"receive:",m,o||"",l);break;default:this.log_.info(e,"receive:",m||r,o||"",l)}this.reqPromise.has(o)&&(u&&this.log_.warn(u,l,o),this.reqPromise.get(o).resolve({err:u,data:l,uuid:o}),this.reqPromise.delete(o)),this.emit(m,o?{uuid:o,err:u,data:l}:{data:l})}sendSubscribe(e){let r=e.subscribe;if(r==0)return;let i={mediaType:r,mediaDescription:{audioParam:r&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>r&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))},userId:e.userId,srctinyid:e.tinyId};this._sendReq(4,i)}createOputReceiver(e){return new me(this.unMarshal(e))}*unMarshal(e){let r=null,i=new Map;for(;;){let o=0,u=0;try{r=yield 1;let p=r[0]>>4,l=r[0]&2,m=r[0]&1;r=yield 4+m*2;let h=new DataView(r.buffer,r.byteOffset);if(u=h.getUint16(0),o=m==1?h.getUint32(2):h.getUint16(2),r=yield o,l){let f=r[0]&63,g=r[1],A=r.subarray(2,2+g);switch(f){case 1:let R=A[0]>>7,w=A[0]&127,U=A[1],{dv:D,write8:G}=jt(4099,2);G(w),G(U),this.send(D.buffer);let ye=w%64;for(let Re=0;Re<64;Re++){let se=w-Re;se<0&&(se+=64);let _e=ye-Re;_e<0&&(_e+=64),i.has(_e)&&i.get(_e).groupId!=se&&i.delete(_e)}let Ae=i.get(ye);if(Ae||i.set(ye,Ae=new Oi(w)),r=Ae.push(U,r.slice(2+g),R!=0),r)i.delete(ye);else continue}}this.onReceive(e,u,r)}catch(p){this.log_.error(e,p,o,u,r)}}}generateUUID(){return"xxxxxxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=Math.random()*16|0;return(e=="x"?r:r&3|8).toString(16)})}};d(Ee,"JOINED","joined"),d(Ee,"CLOSED","closed"),le([fe(Z.INIT,"CONNECTED")],Ee.prototype,"connect",1),le([fe("CONNECTED",Ee.JOINED)],Ee.prototype,"joinRoom",1),le([fe("RECONNECTED",Ee.JOINED,{fail(){this.close()}})],Ee.prototype,"rejoinRoom",1),le([fe("DISCONNECTED","RECONNECTED")],Ee.prototype,"reconnect",1),le([fe([],"DISCONNECTED",{sync:!0})],Ee.prototype,"disconnect",1),le([fe([],Ee.CLOSED,{sync:!0})],Ee.prototype,"close",1);var Je=Ee,Oi=class{constructor(t){this.groupId=t;d(this,"chunks",[]);d(this,"totalLen",0);d(this,"marker",!1)}push(t,e,r){if(this.chunks[t])return null;if(this.chunks[t]=e,this.totalLen+=e.length,r&&(this.chunks.length=t+1,this.marker=!0),this.marker){for(let o=0;o<this.chunks.length;o++)if(!this.chunks[o])return null;let i=new Uint8Array(this.totalLen);for(;this.chunks.length;){let o=this.chunks.pop();i.set(o,this.totalLen-=o.length)}return i}return null}};var Qt=class extends ge{publishCdn(t,e){return"request_time"in t?(console.info("startPublishTXCDN:",t),this.send(18,t).then(e.postMessage)):(console.info("startPublishCDN:",t),this.send(13,t).then(e.postMessage))}stopPublishCdn(t,e){return"request_time"in t?(console.info("stopPublishTXCDN:",t),this.send(19,t).then(e.postMessage)):(console.info("stopPublishCDN:",t),this.send(14,t).then(e.postMessage))}startMcuMix(t,e){let{inputParam:r,outputParam:i}=t,o={mcuMix:{reqUser:this.io.reqUser_,roomid:t.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},inputParam:r.map(u=>({userid:u.userId,width:u.width,height:u.height,locationX:u.locationX,locationY:u.locationY,zOrder:u.zOrder,streamType:u.streamType,inputType:u.inputType})),outputParam:{streamId:i.streamId,streamType:i.streamType,videoWidth:i.width,videoHeight:i.height,videoBitrate:i.videoBps,videoFramerate:i.fps,vidoeGOP:i.gop,audioSampleRate:i.audioSampleRate,audioBitrate:i.audioBps,audioChannels:i.audioChannels,backgroundColor:i.backgroundColor,backgroundImage:i.backgroundImg,extraInfo:i.extraInfo,VCodec:i.videoCodec,ACodec:i.audioCodec}};return this.send(15,o).then(e.postMessage)}stopMcuMix(t,e){let r={mcuMix:{reqUser:this.io.reqUser_,roomid:this.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},userid:this.userId,streamType:t.streamType};return console.info("stop mcuMix:",t),this.send(16,r).then(e.postMessage)}};var gl=1200;var El=31,Tl=6,Il=6;var To={1:1,audio:1,video:4,2:4,auxVideo:2,7:2,3:8};var H_=Date.now(),q_=El+Tl+6+Il+gl+1;var zt=class extends ge{constructor(){super(...arguments);d(this,"videoEncBuffer_",new B(1920*1080*3>>1));d(this,"videoStats",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0});d(this,"audioStats",{bytesSent:0,packetsSent:0});d(this,"videoTypeIndexMap",new Map([[2,0]]));d(this,"requestTypeMap",new Map([[0,4096]]))}getLocalVideoStats(e){e.postMessage({[this.io.joinRes.openid]:this.videoStats})}getLocalAudioStats(e){e.postMessage({[this.io.joinRes.openid]:this.audioStats})}pushAudio({sampleRate:e,channelCount:r,bitrate:i,index:o},u,p){var A;let l=new B(e*r*2),m=R=>{this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=R.volume*1e8/100>>0;let{data:w}=R,U=w.length;l.set(w),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br+=U<<3,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval++,this.audioStats.packetsSent++;let D=V._PacketizeAudioUdt(l.point,U,R.timestamp,e,r,R.energy,B.global.point,B.global.size,this.io.id,!!p);if(D<=0){console.warn("audio pack len is 0");return}this.io.send(B.global.uint8Array(D)),this.audioStats.bytesSent+=D,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+=D<<3,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_receive++},h=R=>{l.free(),this.send(3,{mediaType:1})},f=new MessageChannel;(A=this.io.wh.playPort)==null||A.postMessage({cmd:"pushAudio",payload:{numberOfChannels:r,bitrate:i},encrypt:!!p,index:o},[f.port2,u.port]);let g=Wt(f.port1);p&&H(g,X()),H(p||g,X(m,h,h))}createSelectAbilityOb(e,r){let i=r.bitrate;return H(this.createResposeOb(259),_s(()=>je(2e3)),tt(o=>{var u;return(u=o.data.ability.rpt_msg_video_control_info)==null?void 0:u.find(p=>p.uint32_video_type===e)}),gt(o=>{if(!o)return!1;let u=o.uint32_video_enc_br,p=u*Math.pow(1-this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost/100,2),l=Math.min(i,p);o.uint32_video_enc_br=l,this.glog({[`confBr${e}`]:[u,p,l]});let m=!1;return((f,g)=>{o[g]&&o[g]!==r[f]&&(m=!0,r[f]=o[g])})("bitrate","uint32_video_enc_br"),m}),Zn(r))}pushVideo({profile:{width:e,height:r,frameRate:i,bitrate:o},type:u,trackType:p,crypto:l},m){this.videoStats.frameWidth=e,this.videoStats.frameHeight=r;let h=0,f=To[u];this.videoTypeIndexMap.has(u)?h=this.videoTypeIndexMap.get(u):(h=this.statReportReq.rpt_msg_video_stat_report.length,this.requestTypeMap.set(h,u===7?4097:4096),this.videoTypeIndexMap.set(u,h),this.statReportReq.rpt_msg_video_stat_report.push({uint32_video_type:u,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}),this.qualityReport.msg_up_stream_info.msg_video_status.push({uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_enc_fps:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_stream_type:u,uint32_video_codec_type:0,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_width:e,uint32_video_height:r}));let g={width:e,height:r,bitrate:o*1e3,framerate:i};Object.assign(this.qualityReport.msg_up_stream_info.msg_video_status[h],{uint32_video_width:e,uint32_video_height:r});let A=0,R=!1,w=D=>{this.send(3,{mediaType:f})};H(this.createSelectAbilityOb(u,g),X(()=>{m.postMessage(g)}));let U=m;p!="camera"&&(this.io.log_.info(`push ${p} track`),U=ds(m,H(m,bs(2e3),ei(D=>(this.io.log_.warn("start push last video frame"),H(xe(2e3),Zn(D),Oe(m),Or({complete:()=>this.io.log_.warn("stop push last video frame")})))),Ve(m)))),H(U,X(D=>{let G=this.getVideoStatus(h);G.uint32_video_total_frame++,A++,this.videoStats.framesSent++,G.uint32_video_capture_fps++,A%300==0&&m.postMessage(260),this.handleVideoEncoded(D,u,l)},w,w)),H(this.createResposeOb(260),Ve(m),X(()=>m.postMessage(260)))}getVideoStatus(e){return this.qualityReport.msg_up_stream_info.msg_video_status[e]}handleVideoEncoded(e,r,i){let{chunk:o,timestamp:u}=e;this.videoStats.framesEncoded++;let p=this.videoTypeIndexMap.get(r),l=this.getVideoStatus(p);l.uint32_video_decode_frame++,l.uint32_video_codec_fps++,l.uint32_video_enc_fps++,this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_fps++;let m="byteLength"in o?o.byteLength:o.data.length;if(this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_br+=m<<3,m>this.videoEncBuffer_.size){console.log("buffer too small!");return}"byteLength"in o?o.copyTo(this.videoEncBuffer_.uint8Array(m)):this.videoEncBuffer_.set(o.data),B.global.fill();let h=V._PacketizeVideoUdt(this.videoEncBuffer_.point,m,u,o.type=="key"?1:0,r,B.global.point,this.io.id,i);this.sendUdtv3Video(h,p)}sendUdtv3Video(e,r){let i=0,o=B.global.uint8Array();for(let u=0;u<e;u++){let p=B.global.getUint32(i);if(p<=0){this.io.log_.warn("sendUdtv3Video pktSize is ",p);continue}this.io.send(o.subarray(i+=4,i+=p)),this.statReportReq.rpt_msg_video_stat_report[r].msg_video_send_stat.uint32_video_send_br+=p<<3,this.videoStats.bytesSent+=p,this.videoStats.packetsSent++}}mute(e){if(this.send(8,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe&=~e.mediaType)}}unmute(e){if(this.send(9,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe|=e.mediaType)}}waitKeyFrame(e){this.send(11,e)}publish(e,r){this.audioStats.bytesSent=0,this.audioStats.packetsSent=0,this.videoStats.framesSent=0,this.videoStats.bytesSent=0,this.videoStats.packetsSent=0,this.videoStats.framesEncoded=0;let i={mediaType:e,mediaDescription:{audioParam:e&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>e&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))}};this.send(2,i).then(o=>{r.postMessage(o),r.postMessage(null)})}};var Sl=2,Zt=class extends ge{addEventMsgs(t){this.qualityReport.msg_event_msg=t}constructor(t){super(t);let e,r=Se(t,Je.JOINED),i=Se(t,Je.CLOSED),o={};H(r,kt(xe(1e3)),Oe(i),X(l=>{let m=Date.now();this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br=this.statReportReq.msg_down_bandwidth_est.uint32_bandwidth_br=this.statReportReq.msg_net_stat_report.uint32_down_recv_br,this.statReportReq.msg_rtt_info_req.uint64_client_timestamp_ms=m,this.statReportReq.msg_rtt_info_req.uint32_delay_since_last_server_timestamp_ms=e&&m-e||0,this.statReportReq.msg_net_stat_report.uint32_down_expect_pkg=this.statReportReq.msg_net_stat_report.uint32_down_real_pkg,this.statReportReq.msg_net_stat_report.uint32_total_send_br=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+this.statReportReq.rpt_msg_video_stat_report.reduce((f,g)=>f+g.msg_video_send_stat.uint32_video_send_br,0),o.bandwidth=this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br,o.heartbeatSend=1;let h=[this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_codec_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br];this.qualityReport.msg_up_stream_info.msg_video_status.forEach((f,g)=>{let A=this.statReportReq.rpt_msg_video_stat_report[g];f.uint32_video_total_bitrate=A.msg_video_send_stat.uint32_video_send_br,h[A.uint32_video_type==7?3:A.uint32_video_type-1]=f.uint32_video_codec_bitrate=A.msg_video_enc_stat.uint32_video_enc_br}),o.localBr=h,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_total_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br,l%2&&this.post(12,this.io.statReportReq),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval=0,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br=0,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br=0,this.statReportReq.rpt_msg_video_stat_report.forEach(f=>{f.msg_video_send_stat.uint32_video_send_br=0,f.msg_video_enc_stat.uint32_video_enc_br=0,f.msg_video_enc_stat.uint32_video_enc_fps=0}),this.statReportReq.msg_net_stat_report.uint32_down_recv_br=0}));let u=H(this.createResposeOb(12),Or(l=>{l.err||!l.data||(this.statReportReq.msg_rtt_info_req.uint64_last_server_timestamp_ms=l.data.msg_rtt_info_res.uint64_server_timestamp_ms,e=Date.now(),this.statReportReq.msg_net_stat_report.uint32_rtt=e-l.data.msg_rtt_info_res.uint64_last_client_timestamp_ms-l.data.msg_rtt_info_res.uint32_delay_since_last_client_timestamp_ms,this.statReportReq.msg_net_stat_report.uint32_rtt<0&&(this.statReportReq.msg_net_stat_report.uint32_rtt=30),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost=Math.max(0,(l.data.uint32_up_expect_pkg-l.data.uint32_up_real_pkg)*100/l.data.uint32_up_expect_pkg>>0))}));H(r,kt(u),kt(je(Ss)),Oe(i),X(()=>{this.io.log_.warn("ping timeout,lastrecv:",e,"now:",Date.now()),this.io.state==Je.JOINED&&this.io.wFSM.disconnect("ping timeout")}));let p=new B(52);H(r,kt(xe(Sl*1e3)),Oe(i),X(l=>{let m=[...this.userMap_.values()];this.qualityReport.uint64_datetime=Date.now(),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_bitrate=this.statReportReq.msg_net_stat_report.uint32_total_send_br,this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt=this.statReportReq.msg_net_stat_report.uint32_rtt,this.qualityReport.msg_down_stream_info=m.map(R=>{var D,G;let w=R.toDownStreamInfo(R,l%10===0),U=[w.msg_audio_status.uint32_audio_codec_bitrate];return U[1]=w.msg_video_status[0].uint32_video_codec_bitrate,U[2]=((D=w.msg_video_status[1])==null?void 0:D.uint32_video_codec_bitrate)||0,o[`RemoteBr_${R.userId}`]=U,o[`RemoteBlock_${R.userId}`]=[w.msg_audio_status.uint32_audio_block_cnt,w.msg_video_status[0].uint32_video_block_cnt,((G=w.msg_video_status[1])==null?void 0:G.uint32_video_block_cnt)||0],w}),this.glog(o),o={};let h=this.qualityReport.msg_down_stream_info.map(R=>({userId:R.msg_user_info.str_identifier,rtt:R.msg_network_status.uint32_rtt,loss:R.msg_network_status.uint32_lost})),f=yl(h),g=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt,A=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost;this.postMessage("network-quality",{uplinkNetworkQuality:this.io.state!="DISCONNECTED"?Io(A,g):6,downlinkNetworkQuality:Io(f.loss,f.rtt),uplinkInfo:this.qualityReport.msg_up_stream_info,msg_down_stream_info:this.qualityReport.msg_down_stream_info,downlinkInfo:h,uplinkRTT:g,uplinkLoss:A,downlinkRTT:f.rtt,downlinkLoss:f.loss}),this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps>>=1,R.uint32_video_codec_fps>>=1,l%10===0&&console.log(ut(),"video uplink fps:",R.uint32_video_stream_type,R.uint32_video_capture_fps,R.uint32_video_codec_fps)}),this.post(7,this.io.qualityReportReq),this.qualityReport.msg_event_msg=[],this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=0,this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps=0,R.uint32_video_codec_fps=0,R.uint32_video_enc_fps=0})},l=>{},()=>{this.qualityReport.msg_down_stream_info=[...this.userMap_.values()].map(l=>l.toDownStreamInfo(l,!1)),this.post(7,this.io.qualityReportReq),p.free()}))}};function yl(n){let t={rtt:0,loss:0};return Array.isArray(n)&&n.length>0&&(n.forEach(e=>{t.rtt+=e.rtt,t.loss+=e.loss}),Object.keys(t).forEach(e=>{t[e]=Math.round(t[e]/n.length)})),t}function Io(n,t){return n>50||t>500?5:n>30||t>350?4:n>20||t>200?3:n>10||t>100?2:n>=0||t>=0?1:0}var er=class extends ge{async subscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){if(o.subscribe|=t.mediaType,t.mediaType=o.subscribe,e)e.postMessage(await this.send(4,t));else return this.send(4,t);r===1&&o.startPullOnlyAudio(o.mainPuller,e,{mediaType:r,srctinyid:i})}}async unSubscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){let u=o.subscribe;o.subscribe&=~r,u!==o.subscribe&&e.postMessage(await(o.subscribe===0?this.send(5,t):this.io.sendSubscribe(o)))}}pullVideo({mediaType:t,tinyId:e},r){let i=this.userMap_.get(e);i&&i.startPull(t===2?i.screenPuller:i.mainPuller,r,{mediaType:t,srctinyid:e})}changetype(t){let{mediaType:e,srctinyid:r}=t,i=this.userMap_.get(r);if(i){let o=i.subscribe;e===8?(i.subscribe|=8,i.subscribe&=-5):e===4&&(i.subscribe|=4,i.subscribe&=-9),o!=i.subscribe&&(t.mediaType=i.subscribe,this.send(4,t))}}};var xi=class extends $t{constructor(e,r,i,o){super();this.seq=e;this.player=r;this.numberOfChannels=i;this.bitrate=o;d(this,"aecPtr");d(this,"encodePrt");d(this,"tenms",sampleRate/100);d(this,"numberOfFrames",this.tenms<<1);d(this,"float32Array");d(this,"pos",0);d(this,"bufferLen",0);d(this,"outputPort");d(this,"mainPort");d(this,"workerPort");d(this,"outPrt");d(this,"audioCaptBuff");d(this,"oput");d(this,"first10ms");d(this,"dumpPort");d(this,"encodeCount",0);d(this,"startTs");d(this,"startTime");this.wasmBinary=r.wasm,this.startTs=currentTime,this.startTime=Date.now()}locateFile(){return this.wasmBinary}reset(){this.encodeCount=0}print(e){console.debug(e)}printErr(e){console.debug(e)}onRuntimeInitialized(){this.aecPtr=this._malloc(1920*10),this.encodePrt=this._malloc(1920*4),this.outPrt=this._malloc(1920*4),this.float32Array=new Float32Array(this.HEAPU8.buffer,this.encodePrt),this._CreateMediaProcessing(0,1,0,!1),this._UseAINS(ne.useAINS),this._SetAudioFrameFormat(sampleRate,this.numberOfChannels),this._InitOpusEncoder(sampleRate,this.numberOfChannels,1),this.bitrate&&this._SetOpusEncBitrate(this.bitrate*1e3),console.log(rt,"audio worklet initialized",sampleRate,this.numberOfChannels,this.seq),this.oput=new me,this.oput.buffer=new Uint8Array(this.HEAPU8.buffer,this.encodePrt),this.player.encoders[this.seq]=this}aec(e){return this.HEAPU8.set(e,this.aecPtr),this._AudioReverseProcessFloat(this.aecPtr,e.length>>2),this.HEAPU8.subarray(this.aecPtr,this.aecPtr+e.length)}encode(...e){if(!this.bitrate)return;let r=this.encodePrt;for(let i of e){this.float32Array.set(i,this.bufferLen),this.bufferLen+=i.length;let o=0;for(;this.bufferLen-this.pos>=this.tenms;){let u=this.player.delay+(this.bufferLen-this.pos)/(sampleRate/1e3)+20>>0,p=this._AudioProcessFloat(this.encodePrt+this.pos*4,this.tenms,u);if(o<p&&(o=p),this.pos+=this.tenms,this.pos>=this.numberOfFrames){if(this.dumpPort){let f=this.float32Array.slice(0,this.numberOfFrames);this.dumpPort.postMessage({data:f},[f.buffer])}let l=this._OpusEncode(this.encodePrt,this.numberOfFrames,this.outPrt);this.encodeCount++,this.encodeCount<10&&console.log("audio encoded",this.encodeCount,l);let m=this.HEAPU8.slice(this.outPrt,this.outPrt+l),h=o*100/32768;this.mainPort.postMessage(h),this.outputPort.postMessage({data:m,volume:h,energy:o,timestamp:(currentTime-this.startTs)*1e3+this.startTime&4294967295},[m.buffer]),o=0,this.float32Array.copyWithin(0,this.numberOfFrames,this.bufferLen),this.bufferLen-=this.numberOfFrames,this.pos-=this.numberOfFrames}}break}}close(){this._free(this.aecPtr),this._free(this.encodePrt)}};function So(n){class t extends AudioWorkletProcessor{constructor(i){super();d(this,"oput",new me);d(this,"wasm");d(this,"encoders",[]);d(this,"useAINS",!0);console.log("worklet created:",sampleRate),this.wasm=i.processorOptions.wasm,Object.assign(ne,i.processorOptions.flag),this.port.onmessage=o=>{o.ports[0].onmessage=u=>this.pushAudio(u)}}get delay(){var i;return(((i=this.oput.buffer)==null?void 0:i.length)||0)/(sampleRate*4/1e3)}process(i,o){return this.oput.demand(o[0][0],!0),this.encoders.forEach((u,p)=>u.encode(...i[p])),!0}pushAudio(i){if(i.data instanceof Uint8Array){let{data:o}=i;this.encoders.forEach(u=>o=u.aec(i.data)),this.oput.malloc(o.length).set(o);return}switch(console.log("worklet receive",i.data.cmd),i.data.cmd){case"dump":switch(i.data.payload){case"mic0":this.encoders[0].dumpPort=i.ports[0];break}break;case"useAINS":ne.useAINS=i.data.payload,this.encoders.forEach(o=>o._UseAINS(i.data.payload));break;case"enableAEC":this.encoders.forEach(o=>o._EnableAEC(i.data.payload));break;case"enableDebug":console.debug=i.data.payload?Vr:()=>{};break;case"pushAudio":{let[o,u]=i.ports,{payload:{numberOfChannels:p,bitrate:l},encrypt:m,index:h}=i.data,f=this.encoders[h]||new xi(h,this,p,l);this.encoders[h]?(f.bitrate=l,f._SetOpusEncBitrate(l*1e3)):n(f),f.reset(),f.mainPort=u,f.workerPort=o,f.outputPort=m?u:o,u.onmessage=g=>{g.data?f.encode(g.data):(console.log(ut(),"encoder",h,"stopped"),o.postMessage(null))}}}}}registerProcessor("global-audio-player",t)}var Pi=class{constructor(){d(this,"playPort");d(this,"dumpPort");d(this,"downlinkAudioCount",0);d(this,"interval10ms",H(bt(10),We()));d(this,"ios")}glog(t){self.postMessage({type:"glog",payload:t})}async joinRoom(t){let{data:{id:e,payload:r},ports:i}=t,o=new Je(e,i[0],r);o.wh=this;let u=[new zt(o),new er(o),new Yt(o),new Zt(o),new Qt(o)],p=(m="leave room")=>{o.leaveRoom().catch(),o.abort(m),this.ios.delete(o)},l=setTimeout(o.abort,5e3,"timeout");H(Wt(o.port,!0),X(({data:{cmd:m,payload:h},ports:f})=>{switch(console.log(self.name,"received message",m),m){case"setAudioWorkletPort":this.playPort=f[0];break;case"switchRole":o.sendReq(20,{role:h,privateMapKey:o.params.privateMapKey}).then(A=>f[0].postMessage(A));break;default:let g=f.map(A=>Wt(A));typeof h!="undefined"&&g.unshift(h),u.forEach(A=>{var R;(R=A[m])==null||R.call(A,...g)})}},p,p));try{await o.connect(),postMessage({id:e,payload:await o.joinRoom()}),clearTimeout(l),this.ios.add(o)}catch(m){m instanceof WebTransportError?m=`Transport initialization failed.
|
|
3
3
|
Reason: ${m.message}.
|
|
4
4
|
Source: ${m.source}.
|
|
5
5
|
Error code: ${m.streamErrorCode}.`:m instanceof ct?m=m.cause:m instanceof Event&&(m=m.type),postMessage({id:e,payload:{err:m}}),o.close()}}};function Rl(n){self.onmessage=async t=>{let e=setTimeout(()=>{self.postMessage({type:"error",payload:"timeout"})},5e3);try{t.data.wasm&&(V.wasmBinary=t.data.wasm),V.locateFile=()=>t.data.wasm,Object.assign(ne,t.data.flag),console.time(`Worker[${self.name}${rt}]`),V.postRun=[()=>{B.global=new B(1920*1080*3>>1),V._CreateMediaProcessing(0,1,0,!1),console.timeEnd(`Worker[${self.name}${rt}]`),V._UseAINS(ne.useAINS),this.ios=new Set,t.ports[0].onmessage=m=>{var g,A,R;let[h,f]=m.data;switch(h){case"dump":switch(f){case"audio":this.dumpPort=m.ports[0];break;case"mic0":(g=this.playPort)==null||g.postMessage({cmd:h,payload:f},m.ports);break}break;case"useAINS":V._UseAINS(f),(A=this.playPort)==null||A.postMessage({cmd:h,payload:f});break;case"enableDebug":console.debug=f?Vr:()=>{},(R=this.playPort)==null||R.postMessage({cmd:h,payload:f});break;case"useV2":V.udtver=f?2:3;break;case"useWt":ne.useWt=f;break;case"enableAEC":V._EnableAEC(f);break}};let r=0,i=Date.now(),o=0;H(xe(1e3),X(()=>{let f=(Date.now()-i)/10-r;console.debug("interval10ms:",f,f-o),o=f,V._UpdateStreamSync()})),V._SetAudioOutStreamFormat(48e3,1);let u=V._malloc(3*4),p=new B(1920),l=0;H(this.interval10ms,X(()=>{r++;let m=r%20===0;this.ios.forEach(h=>h.userManager.remotePublishedUserMap.forEach(f=>{let g=f.audioPuller;if(!g)return;let A=V._GetAudioFrame(g.buffer.point,48e3,g.ssrc);l=Math.max(l,A),m&&(l=0),g.feed()}))})),self.onmessage=this.joinRoom.bind(this),clearTimeout(e),self.postMessage({type:"ready"})}],n(V)}catch(r){self.postMessage({type:"error",payload:r})}}}var yo=xr?So:Rl.bind(new Pi);var Ao={},Ul=function(){var n=Ao.url;return function(e){e=e||{};var e=typeof e!="undefined"?e:{},r,i;e.ready=new Promise(function(s,a){r=s,i=a});var o={},u;for(u in e)e.hasOwnProperty(u)&&(o[u]=e[u]);var p=[],l="./this.program",m=function(s,a){throw a},h=typeof window=="object",f=typeof importScripts=="function",g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",A=!h&&!g&&!f,R="";function w(s){return e.locateFile?e.locateFile(s,R):R+s}var U,D,G,ye;function Ae(s){if(!(s instanceof ju)){var a=s;se("exiting due to exception: "+a)}}A?(typeof read!="undefined"&&(U=function(a){return read(a)}),G=function(a){var c;return typeof readbuffer=="function"?new Uint8Array(readbuffer(a)):(c=read(a,"binary"),Di(typeof c=="object"),c)},D=function(a,c,_){setTimeout(function(){c(G(a))},0)},typeof scriptArgs!="undefined"?p=scriptArgs:typeof arguments!="undefined"&&(p=arguments),typeof quit=="function"&&(m=function(s,a){Ae(a),quit(s)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(h||f)&&(f?R=self.location.href:typeof document!="undefined"&&document.currentScript&&(R=document.currentScript.src),n&&(R=n),R.indexOf("blob:")!==0?R=R.substr(0,R.replace(/[?#].*/,"").lastIndexOf("/")+1):R="",U=function(s){var a=new XMLHttpRequest;return a.open("GET",s,!1),a.send(null),a.responseText},f&&(G=function(s){var a=new XMLHttpRequest;return a.open("GET",s,!1),a.responseType="arraybuffer",a.send(null),new Uint8Array(a.response)}),D=function(s,a,c){var _=new XMLHttpRequest;_.open("GET",s,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status==200||_.status==0&&_.response){a(_.response);return}c()},_.onerror=c,_.send(null)},ye=function(s){document.title=s});var Re=e.print||console.log.bind(console),se=e.printErr||console.warn.bind(console);for(u in o)o.hasOwnProperty(u)&&(e[u]=o[u]);o=null,e.arguments&&(p=e.arguments),e.thisProgram&&(l=e.thisProgram),e.quit&&(m=e.quit);function _e(s){_e.shown||(_e.shown={}),_e.shown[s]||(_e.shown[s]=1,se(s))}function Uo(s,a){if(typeof WebAssembly.Function=="function"){for(var c={i:"i32",j:"i64",f:"f32",d:"f64"},_={parameters:[],results:a[0]=="v"?[]:[c[a[0]]]},b=1;b<a.length;++b)_.parameters.push(c[a[b]]);return new WebAssembly.Function(_,s)}var T=[1,0,1,96],I=a.slice(0,1),y=a.slice(1),S={i:127,j:126,f:125,d:124};T.push(y.length);for(var b=0;b<y.length;++b)T.push(S[y[b]]);I=="v"?T.push(0):T=T.concat([1,S[I]]),T[1]=T.length-2;var x=new Uint8Array([0,97,115,109,1,0,0,0].concat(T,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),q=new WebAssembly.Module(x),K=new WebAssembly.Instance(q,{e:{f:s}}),W=K.exports.f;return W}var Xr=[],Xe;function Oo(){if(Xr.length)return Xr.pop();try{dt.grow(1)}catch(s){throw s instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":s}return dt.length-1}function xo(s,a){for(var c=s;c<s+a;c++){var _=nr(c);_&&Xe.set(_,c)}}function Po(s,a){if(Xe||(Xe=new WeakMap,xo(0,dt.length)),Xe.has(s))return Xe.get(s);var c=Oo();try{$i(c,s)}catch(b){if(!(b instanceof TypeError))throw b;var _=Uo(s,a);$i(c,_)}return Xe.set(s,c),c}function vo(s){Xe.delete(nr(s)),Xr.push(s)}var vt;e.wasmBinary&&(vt=e.wasmBinary);var Ol=e.noExitRuntime||!1;typeof WebAssembly!="object"&&mt("no native wasm support detected");var tr,vi=!1,Do;function Di(s,a){s||mt("Assertion failed: "+a)}function O(s){var a=e["_"+s];return Di(a,"Cannot call unknown function "+s+", make sure it is exported"),a}function Ni(s,a,c,_,b){var T={string:function(j){var re=0;if(j!=null&&j!==0){var Y=(j.length<<2)+1;re=dn(Y),Li(j,re,Y)}return re},array:function(j){var re=dn(j.length);return Bi(j,re),re}};function I(j){return a==="string"?Dt(j):a==="boolean"?!!j:j}var y=O(s),S=[],x=0;if(_)for(var q=0;q<_.length;q++){var K=T[c[q]];K?(x===0&&(x=ns()),S[q]=K(_[q])):S[q]=_[q]}var W=y.apply(null,S);function Q(j){return x!==0&&is(x),I(j)}return W=Q(W),W}function No(s,a,c,_){c=c||[];var b=c.every(function(I){return I==="number"}),T=a!=="string";return T&&b&&!_?O(s):function(){return Ni(s,a,c,arguments,_)}}var Ci=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function Qr(s,a,c){for(var _=a+c,b=a;s[b]&&!(b>=_);)++b;if(b-a>16&&s.subarray&&Ci)return Ci.decode(s.subarray(a,b));for(var T="";a<b;){var I=s[a++];if(!(I&128)){T+=String.fromCharCode(I);continue}var y=s[a++]&63;if((I&224)==192){T+=String.fromCharCode((I&31)<<6|y);continue}var S=s[a++]&63;if((I&240)==224?I=(I&15)<<12|y<<6|S:I=(I&7)<<18|y<<12|S<<6|s[a++]&63,I<65536)T+=String.fromCharCode(I);else{var x=I-65536;T+=String.fromCharCode(55296|x>>10,56320|x&1023)}}return T}function Dt(s,a){return s?Qr(oe,s,a):""}function wi(s,a,c,_){if(!(_>0))return 0;for(var b=c,T=c+_-1,I=0;I<s.length;++I){var y=s.charCodeAt(I);if(y>=55296&&y<=57343){var S=s.charCodeAt(++I);y=65536+((y&1023)<<10)|S&1023}if(y<=127){if(c>=T)break;a[c++]=y}else if(y<=2047){if(c+1>=T)break;a[c++]=192|y>>6,a[c++]=128|y&63}else if(y<=65535){if(c+2>=T)break;a[c++]=224|y>>12,a[c++]=128|y>>6&63,a[c++]=128|y&63}else{if(c+3>=T)break;a[c++]=240|y>>18,a[c++]=128|y>>12&63,a[c++]=128|y>>6&63,a[c++]=128|y&63}}return a[c]=0,c-b}function Li(s,a,c){return wi(s,oe,a,c)}function Mi(s){for(var a=0,c=0;c<s.length;++c){var _=s.charCodeAt(c);_>=55296&&_<=57343&&(_=65536+((_&1023)<<10)|s.charCodeAt(++c)&1023),_<=127?++a:_<=2047?a+=2:_<=65535?a+=3:a+=4}return a}var ki=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function Co(s,a){for(var c=s,_=c>>1,b=_+a/2;!(_>=b)&&rr[_];)++_;if(c=_<<1,c-s>32&&ki)return ki.decode(oe.subarray(s,c));for(var T="",I=0;!(I>=a/2);++I){var y=lt[s+I*2>>1];if(y==0)break;T+=String.fromCharCode(y)}return T}function wo(s,a,c){if(c===void 0&&(c=2147483647),c<2)return 0;c-=2;for(var _=a,b=c<s.length*2?c/2:s.length,T=0;T<b;++T){var I=s.charCodeAt(T);lt[a>>1]=I,a+=2}return lt[a>>1]=0,a-_}function Lo(s){return s.length*2}function Mo(s,a){for(var c=0,_="";!(c>=a/4);){var b=k[s+c*4>>2];if(b==0)break;if(++c,b>=65536){var T=b-65536;_+=String.fromCharCode(55296|T>>10,56320|T&1023)}else _+=String.fromCharCode(b)}return _}function ko(s,a,c){if(c===void 0&&(c=2147483647),c<4)return 0;for(var _=a,b=_+c-4,T=0;T<s.length;++T){var I=s.charCodeAt(T);if(I>=55296&&I<=57343){var y=s.charCodeAt(++T);I=65536+((I&1023)<<10)|y&1023}if(k[a>>2]=I,a+=4,a+4>b)break}return k[a>>2]=0,a-_}function Bo(s){for(var a=0,c=0;c<s.length;++c){var _=s.charCodeAt(c);_>=55296&&_<=57343&&++c,a+=4}return a}function Bi(s,a){z.set(s,a)}function Vo(s,a,c){for(var _=0;_<s.length;++_)z[a++>>0]=s.charCodeAt(_);c||(z[a>>0]=0)}function Fo(s,a){return s%a>0&&(s+=a-s%a),s}var zr,z,oe,lt,rr,k,Le,Vi,v;function Fi(s){zr=s,e.HEAP8=z=new Int8Array(s),e.HEAP16=lt=new Int16Array(s),e.HEAP32=k=new Int32Array(s),e.HEAPU8=oe=new Uint8Array(s),e.HEAPU16=rr=new Uint16Array(s),e.HEAPU32=Le=new Uint32Array(s),e.HEAPF32=Vi=new Float32Array(s),e.HEAPF64=v=new Float64Array(s)}var xl=e.INITIAL_MEMORY||134217728,dt,Hi=[],qi=[],Ho=[],Gi=[],qo=!1;function Go(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)$o(e.preRun.shift());en(Hi)}function Wo(){qo=!0,en(qi)}function jo(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Ko(e.postRun.shift());en(Gi)}function $o(s){Hi.unshift(s)}function Yo(s){qi.unshift(s)}function Ko(s){Gi.unshift(s)}var Qe=0,Zr=null,Nt=null;function Jo(s){Qe++,e.monitorRunDependencies&&e.monitorRunDependencies(Qe)}function Xo(s){if(Qe--,e.monitorRunDependencies&&e.monitorRunDependencies(Qe),Qe==0&&(Zr!==null&&(clearInterval(Zr),Zr=null),Nt)){var a=Nt;Nt=null,a()}}e.preloadedImages={},e.preloadedAudios={};function mt(s){e.onAbort&&e.onAbort(s),s="Aborted("+s+")",se(s),vi=!0,Do=1,s+=". Build with -s ASSERTIONS=1 for more info.";var a=new WebAssembly.RuntimeError(s);throw i(a),a}var Qo="data:application/octet-stream;base64,";function Wi(s){return s.startsWith(Qo)}var Te;e.locateFile?(Te="av_processing.wasm",Wi(Te)||(Te=w(Te))):Te=new URL("av_processing.wasm",Ao.url).toString();function ji(s){try{if(s==Te&&vt)return new Uint8Array(vt);if(G)return G(s);throw"both async and sync fetching of the wasm failed"}catch(a){mt(a)}}function zo(){return!vt&&(h||f)&&typeof fetch=="function"?fetch(Te,{credentials:"same-origin"}).then(function(s){if(!s.ok)throw"failed to load wasm binary file at '"+Te+"'";return s.arrayBuffer()}).catch(function(){return ji(Te)}):Promise.resolve().then(function(){return ji(Te)})}function Zo(){var s={a:ru};function a(I,y){var S=I.exports;e.asm=S,tr=e.asm.B,Fi(tr.buffer),dt=e.asm.na,Yo(e.asm.C),Xo("wasm-instantiate")}Jo("wasm-instantiate");function c(I){a(I.instance)}function _(I){return zo().then(function(y){return WebAssembly.instantiate(y,s)}).then(function(y){return y}).then(I,function(y){se("failed to asynchronously prepare wasm: "+y),mt(y)})}function b(){return!vt&&typeof WebAssembly.instantiateStreaming=="function"&&!Wi(Te)&&typeof fetch=="function"?fetch(Te,{credentials:"same-origin"}).then(function(I){var y=WebAssembly.instantiateStreaming(I,s);return y.then(c,function(S){return se("wasm streaming compile failed: "+S),se("falling back to ArrayBuffer instantiation"),_(c)})}):_(c)}if(e.instantiateWasm)try{var T=e.instantiateWasm(s,a);return T}catch(I){return se("Module.instantiateWasm callback failed with error: "+I),!1}return b().catch(i),{}}function en(s){for(;s.length>0;){var a=s.shift();if(typeof a=="function"){a(e);continue}var c=a.func;typeof c=="number"?a.arg===void 0?nr(c)():nr(c)(a.arg):c(a.arg===void 0?null:a.arg)}}function nr(s){return dt.get(s)}function ea(){var s=new Error;if(!s.stack){try{throw new Error}catch(a){s=a}if(!s.stack)return"(no stack trace available)"}return s.stack.toString()}function $i(s,a){dt.set(s,a)}function ta(s){return cr(s+16)+16}function ra(s,a){Ho.unshift({func:s,arg:a})}function na(s,a){return ra(s,a)}function ia(s){this.excPtr=s,this.ptr=s-16,this.set_type=function(a){k[this.ptr+4>>2]=a},this.get_type=function(){return k[this.ptr+4>>2]},this.set_destructor=function(a){k[this.ptr+8>>2]=a},this.get_destructor=function(){return k[this.ptr+8>>2]},this.set_refcount=function(a){k[this.ptr>>2]=a},this.set_caught=function(a){a=a?1:0,z[this.ptr+12>>0]=a},this.get_caught=function(){return z[this.ptr+12>>0]!=0},this.set_rethrown=function(a){a=a?1:0,z[this.ptr+13>>0]=a},this.get_rethrown=function(){return z[this.ptr+13>>0]!=0},this.init=function(a,c){this.set_type(a),this.set_destructor(c),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var a=k[this.ptr>>2];k[this.ptr>>2]=a+1},this.release_ref=function(){var a=k[this.ptr>>2];return k[this.ptr>>2]=a-1,a===1}}var sa=0,oa=0;function aa(s,a,c){var _=new ia(s);throw _.init(a,c),sa=s,oa++,s}function ua(s,a,c,_,b){}function tn(s){switch(s){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+s)}}function ca(){for(var s=new Array(256),a=0;a<256;++a)s[a]=String.fromCharCode(a);Yi=s}var Yi=void 0;function Fe(s){for(var a="",c=s;oe[c];)a+=Yi[oe[c++]];return a}var rn={},Ki={},la={},da=48,ma=57;function pa(s){if(s===void 0)return"_unknown";s=s.replace(/[^a-zA-Z0-9_]/g,"$");var a=s.charCodeAt(0);return a>=da&&a<=ma?"_"+s:s}function fa(s,a){return s=pa(s),new Function("body","return function "+s+`() {
|
package/package.json
CHANGED