aliyun-rtc-sdk 6.13.1 → 6.13.2-beta.1

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.
@@ -1,9 +1,9 @@
1
- var bu=Object.defineProperty,xu=Object.defineProperties;var Su=Object.getOwnPropertyDescriptors;var er=Object.getOwnPropertySymbols,_u=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable,yu=Reflect.get;var Ns=(ue,pe,xe)=>pe in ue?bu(ue,pe,{enumerable:!0,configurable:!0,writable:!0,value:xe}):ue[pe]=xe,be=(ue,pe)=>{for(var xe in pe||(pe={}))so.call(pe,xe)&&Ns(ue,xe,pe[xe]);if(er)for(var xe of er(pe))no.call(pe,xe)&&Ns(ue,xe,pe[xe]);return ue},Rt=(ue,pe)=>xu(ue,Su(pe));var pi=(ue,pe)=>{var xe={};for(var Je in ue)so.call(ue,Je)&&pe.indexOf(Je)<0&&(xe[Je]=ue[Je]);if(ue!=null&&er)for(var Je of er(ue))pe.indexOf(Je)<0&&no.call(ue,Je)&&(xe[Je]=ue[Je]);return xe};var _=(ue,pe,xe)=>(Ns(ue,typeof pe!="symbol"?pe+"":pe,xe),xe);var Fs=(ue,pe,xe)=>yu(_u(ue),xe,pe);var O=(ue,pe,xe)=>new Promise((Je,Pt)=>{var ht=Xe=>{try{it(xe.next(Xe))}catch(mt){Pt(mt)}},pt=Xe=>{try{it(xe.throw(Xe))}catch(mt){Pt(mt)}},it=Xe=>Xe.done?Je(Xe.value):Promise.resolve(Xe.value).then(ht,pt);it((xe=xe.apply(ue,pe)).next())}),tr=function(ue,pe){this[0]=ue,this[1]=pe},ao=(ue,pe,xe)=>{var Je=(pt,it,Xe,mt)=>{try{var $e=xe[pt](it),si=(it=$e.value)instanceof tr,mi=$e.done;Promise.resolve(si?it[0]:it).then(gt=>si?Je(pt==="return"?pt:"next",it[1]?{done:gt.done,value:gt.value}:gt,Xe,mt):Xe({value:gt,done:mi})).catch(gt=>Je("throw",gt,Xe,mt))}catch(gt){mt(gt)}},Pt=pt=>ht[pt]=it=>new Promise((Xe,mt)=>Je(pt,it,Xe,mt)),ht={};return xe=xe.apply(ue,pe),ht[Symbol.asyncIterator]=()=>ht,Pt("next"),Pt("throw"),Pt("return"),ht};(function(ue,pe){typeof exports=="object"&&typeof module!="undefined"?pe(exports,require("aliyun-rts-sdk"),require("eventemitter3")):typeof define=="function"&&define.amd?define(["exports","aliyun-rts-sdk","eventemitter3"],pe):(ue=typeof globalThis!="undefined"?globalThis:ue||self,pe(ue.AliRtcEngine={},ue.AliyunRts,ue.EventEmitter))})(this,function(ue,pe,xe){var st,Ut,kt,nt,ri,fe,Qa;"use strict";var Je=Object.defineProperty,Pt=(s,c,e)=>c in s?Je(s,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[c]=e,ht=(s,c,e)=>(Pt(s,typeof c!="symbol"?c+"":c,e),e),pt={exports:{}},it={exports:{}},Xe,mt;function $e(){if(mt)return Xe;mt=1,Date.now=Date.now||function(){return new Date().getTime()};var s=Date.now(),c=function(){},e=function(){var i=typeof console=="object"?console.warn:c;try{var r={warn:i};r.warn.call(r)}catch(n){return c}return i},t={noop:c,warn:e(),key:"__bl",selfErrKey:"ARMS_SDK_ERROR",selfErrPage:"ARMSSDK",win:typeof window=="object"&&window.document?window:void 0,regionMap:{cn:"https://arms-retcode.aliyuncs.com/r.png?",sg:"https://arms-retcode-sg.aliyuncs.com/r.png?",sg_2:"https://retcode-sg-lazada.arms.aliyuncs.com/r.png?",daily:"http://arms-retcode-daily.alibaba.net/r.png?",daily_2:"https://arms-retcode-daily.alibaba.net/r.png?",daily_3:"http://arms-retcode-daily.aliyun.test/r.png?",us:"https://retcode-us-west-1.arms.aliyuncs.com/r.png?",tw:"https://arms-retcode.orientalgame.com.tw/r.png?",tw_sg:"https://arms-retcode-sg.orientalgame.com.tw/r.png?",hz_finance:"https://arms-retcode-hz-finance.aliyuncs.com/r.png?"},defaultImgUrl:"https://arms-retcode.aliyuncs.com/r.png?",createObject:function(i){if(Object.create)return Object.create(i);var r=function(){};return r.prototype=i,new r},each:function(i,r){var n=0,a=i.length;if(this.T(i,"Array"))for(;n<a&&r.call(i[n],i[n],n)!==!1;n++);else for(n in i)if(r.call(i[n],i[n],n)===!1)break;return i},safetyCall:function(i,r,n){if(typeof i!="function")return n;try{return i.apply(this,r)}catch(a){return n}},T:function(i,r){var n=Object.prototype.toString.call(i).substring(8).replace("]","");return r?n===r:n},duration:function(){var i=Date;try{performance&&this.T(performance.now,"Function")&&(i=performance)}catch(n){i=Date}var r=i.now();return function(){return Math.round(i.now()-r)}},filterByRule:function(){var i=[].slice.call(arguments),r=i.length;if(r<2)return i[0];var n=i[r-1],a=i[0];if(!a)return"";if(!n)return a;var o=this,u=o.T(n),h=i.slice(0,r-1);return u==="Function"?o.safetyCall(n,h,a):u==="Array"?(this.each(n,function(g){h[0]=a=o.filterByRule.apply(o,[].concat(h,g))}),a):u==="Object"?a.replace(n.rule,n.target||""):a.replace(n,"")},ignoreByRule:function(i,r){if(!i||!r)return!1;if((this.isString(r)||r.source||this.T(r)==="Function")&&(r=[r]),!this.isArray(r))return this.warn("[arms] invalid rules of ignore config, (list of) String/RegExp/Funcitons are available"),!1;for(var n,a=[],o=0,u=r.length;o<u;o++)if(n=r[o],this.isString(n))a.push(n.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"));else if(n&&n.source)a.push(n.source);else if(n&&this.T(n)==="Function"&&this.safetyCall(n,[i],!1)===!0)return!0;var h=new RegExp(a.join("|"),"i");return!!(a.length&&h.test&&h.test(i))},J:function(i){if(!i||typeof i!="string")return i;var r=null;try{r=JSON.parse(i)}catch(n){}return r},pick:function(i){return i===1||Math.ceil(Math.random()*i)===1},verifyConfig:function(i){if("sample"in i){var r=i.sample,n=r;r&&/^\d+(\.\d+)?%$/.test(r)&&(n=parseInt(100/parseFloat(r))),0<n&&1>n&&(n=parseInt(1/n)),n>=1&&n<=100?i.sample=n:delete i.sample}return i},on:function(i,r,n,a,o){return i.addEventListener?(o=o||!1,i.addEventListener(r,function u(h){a&&i.removeEventListener(r,u,o),n.call(this,h)},o)):i.attachEvent&&i.attachEvent("on"+r,function u(h){a&&i.detachEvent("on"+r,u),n.call(this,h)}),this},off:function(i,r,n){return n?(i.removeEventListener?i.removeEventListener(r,n):i.detachEvent&&i.detachEvent(r,n),this):this},delay:function(i,r){return r===-1?(i(),null):setTimeout(i,r||0)},ext:function(i){for(var r=1,n=arguments.length;r<n;r++){var a=arguments[r];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])}return i},sub:function(i,r){var n={};return this.each(i,function(a,o){r.indexOf(o)!==-1&&(n[o]=a)}),n},uu:function(){for(var i,r,n=20,a=new Array(n),o=Date.now().toString(36).split("");n-- >0;)r=(i=36*Math.random()|0).toString(36),a[n]=i%3?r:r.toUpperCase();for(var u=0;u<8;u++)a.splice(3*u+2,0,o[u]);return a.join("")},guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var r=16*Math.random()|0;return(i==="x"?r:3&r|8).toString(16)})},seq:function(){return(s++).toString(36)},decode:function(i){try{i=decodeURIComponent(i)}catch(r){}return i},encode:function(i,r){try{i=r?encodeURIComponent(i).replace(/\(/g,"%28").replace(/\)/g,"%29"):encodeURIComponent(i)}catch(n){}return i},serialize:function(i){i=i||{};var r=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&i[n]!==void 0&&r.push(n+"="+this.encode(i[n],n==="msg"));return r.join("&")},checkAPI:function(i,r){if(!i||typeof i!="string")return!1;var n=/arms-retcode[\w-]*\.aliyuncs/.test(i);return!n&&r&&(n=/(alicdn\.com)|(mmstat\.com)/.test(i)),!n},checkAutoError:function(i){return!(!i||!i.message)&&!/failed[\w\s]+fetch/i.test(i.message)},cutUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/^(https?:)?\/\//,"").replace(/\?.*$/,""):""},removeUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/\?.*$/,""):""},createFakeToString:function(i){return function(){return i+"() { [native code] }"}},checkSameOrigin:function(i,r){if(!r||!i)return!1;var n="//"+r.split("/")[2];return i===r||i.slice(0,r.length+1)===r+"/"||i===n||i.slice(0,n.length+1)===n+"/"||!/^(\/\/|http:|https:).*/.test(i)},getRandIP:function(){for(var i=[],r=0;r<4;r++){var n=Math.floor(256*Math.random());i[r]=(n>15?"":"0")+n.toString(16)}return i.join("").replace(/^0/,"1")},getSortNum:function(i){return i?(i+=1)>=1e3&&i<=9999?i:i<1e3?i+1e3:i%1e4+1e3:1e3},getRandNum:function(i){return i&&typeof i=="string"?i.length<5?this.getNum(5):i.substring(i.length-5):this.getNum(5)},getNum:function(i){for(var r=[],n=0;n<i;n++){var a=Math.floor(16*Math.random());r[n]=a.toString(16)}return r.join("")},getCurDomain:function(){return location&&location.hostname||""},getSrcType:function(i,r){var n=location&&location.host||"";if(!n)return"";var a=new URL(i).host;if(a===n)return"self";for(var o=0;o<r.length;o+=1)if(a.includes(r[o]))return"cdn";return"others"},parseFetchHeaders:function(i){if(!i)return{};var r={};try{if(typeof i.keys=="function")for(var n=i.keys(),a=n.next();!a.done;){var o=a.value;r[o]=i.get(o),a=n.next()}else r=i}catch(u){r={}}return r},parseXhrHeaders:function(i){if(!i&&typeof i!="string")return{};var r={};try{var n=i.split(`\r
1
+ var bu=Object.defineProperty,xu=Object.defineProperties;var Su=Object.getOwnPropertyDescriptors;var er=Object.getOwnPropertySymbols,_u=Object.getPrototypeOf,so=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable,yu=Reflect.get;var Ns=(ue,fe,xe)=>fe in ue?bu(ue,fe,{enumerable:!0,configurable:!0,writable:!0,value:xe}):ue[fe]=xe,be=(ue,fe)=>{for(var xe in fe||(fe={}))so.call(fe,xe)&&Ns(ue,xe,fe[xe]);if(er)for(var xe of er(fe))no.call(fe,xe)&&Ns(ue,xe,fe[xe]);return ue},Rt=(ue,fe)=>xu(ue,Su(fe));var pi=(ue,fe)=>{var xe={};for(var Je in ue)so.call(ue,Je)&&fe.indexOf(Je)<0&&(xe[Je]=ue[Je]);if(ue!=null&&er)for(var Je of er(ue))fe.indexOf(Je)<0&&no.call(ue,Je)&&(xe[Je]=ue[Je]);return xe};var _=(ue,fe,xe)=>(Ns(ue,typeof fe!="symbol"?fe+"":fe,xe),xe);var Fs=(ue,fe,xe)=>yu(_u(ue),xe,fe);var O=(ue,fe,xe)=>new Promise((Je,Pt)=>{var ht=Xe=>{try{it(xe.next(Xe))}catch(mt){Pt(mt)}},pt=Xe=>{try{it(xe.throw(Xe))}catch(mt){Pt(mt)}},it=Xe=>Xe.done?Je(Xe.value):Promise.resolve(Xe.value).then(ht,pt);it((xe=xe.apply(ue,fe)).next())}),tr=function(ue,fe){this[0]=ue,this[1]=fe},ao=(ue,fe,xe)=>{var Je=(pt,it,Xe,mt)=>{try{var $e=xe[pt](it),si=(it=$e.value)instanceof tr,mi=$e.done;Promise.resolve(si?it[0]:it).then(gt=>si?Je(pt==="return"?pt:"next",it[1]?{done:gt.done,value:gt.value}:gt,Xe,mt):Xe({value:gt,done:mi})).catch(gt=>Je("throw",gt,Xe,mt))}catch(gt){mt(gt)}},Pt=pt=>ht[pt]=it=>new Promise((Xe,mt)=>Je(pt,it,Xe,mt)),ht={};return xe=xe.apply(ue,fe),ht[Symbol.asyncIterator]=()=>ht,Pt("next"),Pt("throw"),Pt("return"),ht};(function(ue,fe){typeof exports=="object"&&typeof module!="undefined"?fe(exports,require("aliyun-rts-sdk"),require("eventemitter3")):typeof define=="function"&&define.amd?define(["exports","aliyun-rts-sdk","eventemitter3"],fe):(ue=typeof globalThis!="undefined"?globalThis:ue||self,fe(ue.AliRtcEngine={},ue.AliyunRts,ue.EventEmitter))})(this,function(ue,fe,xe){var st,Ut,kt,nt,ri,pe,Qa;"use strict";var Je=Object.defineProperty,Pt=(s,c,e)=>c in s?Je(s,c,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[c]=e,ht=(s,c,e)=>(Pt(s,typeof c!="symbol"?c+"":c,e),e),pt={exports:{}},it={exports:{}},Xe,mt;function $e(){if(mt)return Xe;mt=1,Date.now=Date.now||function(){return new Date().getTime()};var s=Date.now(),c=function(){},e=function(){var i=typeof console=="object"?console.warn:c;try{var r={warn:i};r.warn.call(r)}catch(n){return c}return i},t={noop:c,warn:e(),key:"__bl",selfErrKey:"ARMS_SDK_ERROR",selfErrPage:"ARMSSDK",win:typeof window=="object"&&window.document?window:void 0,regionMap:{cn:"https://arms-retcode.aliyuncs.com/r.png?",sg:"https://arms-retcode-sg.aliyuncs.com/r.png?",sg_2:"https://retcode-sg-lazada.arms.aliyuncs.com/r.png?",daily:"http://arms-retcode-daily.alibaba.net/r.png?",daily_2:"https://arms-retcode-daily.alibaba.net/r.png?",daily_3:"http://arms-retcode-daily.aliyun.test/r.png?",us:"https://retcode-us-west-1.arms.aliyuncs.com/r.png?",tw:"https://arms-retcode.orientalgame.com.tw/r.png?",tw_sg:"https://arms-retcode-sg.orientalgame.com.tw/r.png?",hz_finance:"https://arms-retcode-hz-finance.aliyuncs.com/r.png?"},defaultImgUrl:"https://arms-retcode.aliyuncs.com/r.png?",createObject:function(i){if(Object.create)return Object.create(i);var r=function(){};return r.prototype=i,new r},each:function(i,r){var n=0,a=i.length;if(this.T(i,"Array"))for(;n<a&&r.call(i[n],i[n],n)!==!1;n++);else for(n in i)if(r.call(i[n],i[n],n)===!1)break;return i},safetyCall:function(i,r,n){if(typeof i!="function")return n;try{return i.apply(this,r)}catch(a){return n}},T:function(i,r){var n=Object.prototype.toString.call(i).substring(8).replace("]","");return r?n===r:n},duration:function(){var i=Date;try{performance&&this.T(performance.now,"Function")&&(i=performance)}catch(n){i=Date}var r=i.now();return function(){return Math.round(i.now()-r)}},filterByRule:function(){var i=[].slice.call(arguments),r=i.length;if(r<2)return i[0];var n=i[r-1],a=i[0];if(!a)return"";if(!n)return a;var o=this,u=o.T(n),h=i.slice(0,r-1);return u==="Function"?o.safetyCall(n,h,a):u==="Array"?(this.each(n,function(g){h[0]=a=o.filterByRule.apply(o,[].concat(h,g))}),a):u==="Object"?a.replace(n.rule,n.target||""):a.replace(n,"")},ignoreByRule:function(i,r){if(!i||!r)return!1;if((this.isString(r)||r.source||this.T(r)==="Function")&&(r=[r]),!this.isArray(r))return this.warn("[arms] invalid rules of ignore config, (list of) String/RegExp/Funcitons are available"),!1;for(var n,a=[],o=0,u=r.length;o<u;o++)if(n=r[o],this.isString(n))a.push(n.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"));else if(n&&n.source)a.push(n.source);else if(n&&this.T(n)==="Function"&&this.safetyCall(n,[i],!1)===!0)return!0;var h=new RegExp(a.join("|"),"i");return!!(a.length&&h.test&&h.test(i))},J:function(i){if(!i||typeof i!="string")return i;var r=null;try{r=JSON.parse(i)}catch(n){}return r},pick:function(i){return i===1||Math.ceil(Math.random()*i)===1},verifyConfig:function(i){if("sample"in i){var r=i.sample,n=r;r&&/^\d+(\.\d+)?%$/.test(r)&&(n=parseInt(100/parseFloat(r))),0<n&&1>n&&(n=parseInt(1/n)),n>=1&&n<=100?i.sample=n:delete i.sample}return i},on:function(i,r,n,a,o){return i.addEventListener?(o=o||!1,i.addEventListener(r,function u(h){a&&i.removeEventListener(r,u,o),n.call(this,h)},o)):i.attachEvent&&i.attachEvent("on"+r,function u(h){a&&i.detachEvent("on"+r,u),n.call(this,h)}),this},off:function(i,r,n){return n?(i.removeEventListener?i.removeEventListener(r,n):i.detachEvent&&i.detachEvent(r,n),this):this},delay:function(i,r){return r===-1?(i(),null):setTimeout(i,r||0)},ext:function(i){for(var r=1,n=arguments.length;r<n;r++){var a=arguments[r];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[o]=a[o])}return i},sub:function(i,r){var n={};return this.each(i,function(a,o){r.indexOf(o)!==-1&&(n[o]=a)}),n},uu:function(){for(var i,r,n=20,a=new Array(n),o=Date.now().toString(36).split("");n-- >0;)r=(i=36*Math.random()|0).toString(36),a[n]=i%3?r:r.toUpperCase();for(var u=0;u<8;u++)a.splice(3*u+2,0,o[u]);return a.join("")},guid:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(i){var r=16*Math.random()|0;return(i==="x"?r:3&r|8).toString(16)})},seq:function(){return(s++).toString(36)},decode:function(i){try{i=decodeURIComponent(i)}catch(r){}return i},encode:function(i,r){try{i=r?encodeURIComponent(i).replace(/\(/g,"%28").replace(/\)/g,"%29"):encodeURIComponent(i)}catch(n){}return i},serialize:function(i){i=i||{};var r=[];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&i[n]!==void 0&&r.push(n+"="+this.encode(i[n],n==="msg"));return r.join("&")},checkAPI:function(i,r){if(!i||typeof i!="string")return!1;var n=/arms-retcode[\w-]*\.aliyuncs/.test(i);return!n&&r&&(n=/(alicdn\.com)|(mmstat\.com)/.test(i)),!n},checkAutoError:function(i){return!(!i||!i.message)&&!/failed[\w\s]+fetch/i.test(i.message)},cutUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/^(https?:)?\/\//,"").replace(/\?.*$/,""):""},removeUrlSearch:function(i){return i&&typeof i=="string"?i.replace(/\?.*$/,""):""},createFakeToString:function(i){return function(){return i+"() { [native code] }"}},checkSameOrigin:function(i,r){if(!r||!i)return!1;var n="//"+r.split("/")[2];return i===r||i.slice(0,r.length+1)===r+"/"||i===n||i.slice(0,n.length+1)===n+"/"||!/^(\/\/|http:|https:).*/.test(i)},getRandIP:function(){for(var i=[],r=0;r<4;r++){var n=Math.floor(256*Math.random());i[r]=(n>15?"":"0")+n.toString(16)}return i.join("").replace(/^0/,"1")},getSortNum:function(i){return i?(i+=1)>=1e3&&i<=9999?i:i<1e3?i+1e3:i%1e4+1e3:1e3},getRandNum:function(i){return i&&typeof i=="string"?i.length<5?this.getNum(5):i.substring(i.length-5):this.getNum(5)},getNum:function(i){for(var r=[],n=0;n<i;n++){var a=Math.floor(16*Math.random());r[n]=a.toString(16)}return r.join("")},getCurDomain:function(){return location&&location.hostname||""},getSrcType:function(i,r){var n=location&&location.host||"";if(!n)return"";var a=new URL(i).host;if(a===n)return"self";for(var o=0;o<r.length;o+=1)if(a.includes(r[o]))return"cdn";return"others"},parseFetchHeaders:function(i){if(!i)return{};var r={};try{if(typeof i.keys=="function")for(var n=i.keys(),a=n.next();!a.done;){var o=a.value;r[o]=i.get(o),a=n.next()}else r=i}catch(u){r={}}return r},parseXhrHeaders:function(i){if(!i&&typeof i!="string")return{};var r={};try{var n=i.split(`\r
2
2
  `);r=n.reduce(function(a,o){var u=o.split(": ");return a[u[0]]=u[1],a},{})}catch(a){r={}}return r},getQuerys:function(i){if(!i)return"";var r={},n=[],a="",o="";try{var u=[];if(i.indexOf("?")>=0&&(u=i.substring(i.indexOf("?")+1,i.length).split("&")),u.length>0)for(var h in u)a=(n=u[h].split("="))[0],o=n[1],r[a]=o}catch(g){r={}}return r},getURL:function(i){if(!i)return null;var r={},n=i.length,a=i.indexOf("://");if(a<0)return null;r.protocol=i.substring(0,a+1);var o=i.indexOf("#"),u=i.indexOf("?");o<0&&(o=n),u<0&&(u=o),r.search=i.substring(u,o).substring(0,1e3);var h=i.substring(a+3,u),g=h.indexOf("/");return g<0&&(g=h.length),r.domain=h.substring(0,g).split(":")[0],r.path=h.substring(g,h.length).substring(0,1e3),r},getResType:function(i,r){if(["script","img","other"].indexOf(i)>-1)return i;if(["video"].indexOf(i)>-1)return"media";if(["document","iframe"].indexOf(i)>-1)return"doc";var n=r?this.getURL(r):null,a=n&&n.path?n.path.lastIndexOf("."):-1,o=(a>0?n.path.substr(a+1):"").toLowerCase();if(o){if(["eot","woff","woff2","ttf"].indexOf(o)>-1)return"font";if(o==="css")return"css";if(o==="js")return"script"}return["fetch","xmlhttprequest","beacon"].indexOf(i)>-1?"api":"others"},areInOrder:function(){for(var i=1;i<arguments.length;i+=1)if(arguments[i-1]>arguments[i])return!1;return!0},getFetchSnapshot:function(i,r,n){var a,o;try{var u=(i&&typeof i[0]!="string"?i[0].url:i[0])||"",h=(i&&typeof i[0]!="string"?i[0]:i[1])||{},g=h.method.toUpperCase()==="POST"?h.body:this.getQuerys(u);a={originApi:u,method:h.method||"unknown",params:g,response:r||"",reqHeaders:this.parseFetchHeaders(h.headers||null),resHeaders:this.parseFetchHeaders(n)},o=JSON&&JSON.stringify(a)||"{}"}catch(f){o="{}"}return o},getXhrSnapshot:function(i,r,n){if(!i||!r||!n)return{};var a,o;try{var u="";n.responseType===""||n.responseType==="text"?u=n.responseText:n.responseType==="document"&&(u=n.responseXML),a={originApi:i,method:r,params:this.getQuerys(i),response:u,reqHeaders:{},resHeaders:this.parseXhrHeaders(typeof n.getAllResponseHeaders=="function"&&n.getAllResponseHeaders()||"")},o=JSON&&JSON.stringify(a)||"{}"}catch(h){o="{}"}return o},isRobot:function(){var i=["nuhk","googlebot/","googlebot-image","yammybot","openbot","slurp","msnbot","ask jeeves/teoma","ia_archiver","baiduspider","bingbot/","adsbot"];if(!navigator||typeof navigator.userAgent!="string")return!1;try{for(var r=navigator.userAgent.toLowerCase(),n=0;n<i.length;n++){var a=i[n];if(r.lastIndexOf(a)>=0)return!0}}catch(o){this.warn("[arms] useragent parse error")}return!1},isFunction:function(i){return typeof i=="function"},isPlainObject:function(i){return Object.prototype.toString.call(i)==="[object Object]"},isString:function(i){return Object.prototype.toString.call(i)==="[object String]"},isArray:function(i){return Object.prototype.toString.call(i)==="[object Array]"},joinRegExp:function(i){for(var r,n=[],a=0,o=i.length;a<o;a++)r=i[a],this.isString(r)?n.push(r.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):r&&r.source&&n.push(r.source);return new RegExp(n.join("|"),"i")},reWriteMethod:function(i,r,n){if(i!==null){var a=i[r];i[r]=n(a)}},checkSDKError:function(i,r){return!i&&!r?!1:new RegExp(this.selfErrKey,"i").test(i)?!0:!!this.ignoreByRule(r,[/retcode.alicdn.com\/retcode\/bl.js/,/g.alicdn.com\/retcode\/cloud-sdk\/bl.js/,/laz-g-cdn.alicdn.com\/retcode\/cloud-sdk\/bl.js/,/local.taobao.com:8880\/build\/bl/])},sdkError:function(i){return{msg:i,message:this.selfErrKey}},dealParam:function(i,r,n){var a={};try{a=this.isPlainObject(i)?this.ext({key:i.key||"default",val:i.val||i.value||n},i,{begin:Date.now()}):{key:i||"default",val:r||n,begin:Date.now()}}catch(o){this.warn("[retcode] baseLog error: "+o)}return a}};return Xe=t,Xe}var si={exports:{}},mi={exports:{}},gt,Os;function oo(){if(Os)return gt;Os=1;var s=$e();return gt=function(c,e,t){typeof c=="object"&&(c=s.serialize(c));var i=e+c+(t?"&post_res=":"");window&&window.navigator&&typeof window.navigator.sendBeacon=="function"?window.navigator.sendBeacon(i,t||"&post_res="):s.warn("[arms] navigator.sendBeacon not surported")},gt}var Vs;function co(){if(Vs)return mi.exports;Vs=1;var s=$e(),c=oo(),e="aokcdqn3ly@e629dabd48a9933",t=function(r,n){var a;if(n.t==="error"&&(a=r.requestQueue[0])&&a.t==="error"&&n.msg===a.msg)return n.times=a.times+1,void(r.requestQueue[0]=n);if(n.t==="behavior"){var o=r.requestQueue&&r.requestQueue.length;if(o>0&&r.requestQueue[o-1].t==="behavior"){var u=n.behavior||[];r.requestQueue[o-1].behavior.concat(u)}else r.requestQueue.push(n)}else r.requestQueue.unshift(n);return r.onReady(function(){r.requestTimmer=s.delay(function(){r.clear()},r.requestQueue[0]&&r.requestQueue[0].t==="error"?3e3:-1)}),!0},i=function(r){return this.ver="1.8.36-beta.12",this._conf=s.ext({},i.dftCon),this.sampleCache={},this.requestQueue=[],this.selfQueue=[],this.sdkFlag=!0,this.hash=s.seq(),this.resetPageview(),this.setConfig(r),this.rip=s.getRandIP(),this.record=999,this["EagleEye-TraceID"]=this.getTraceId()["EagleEye-TraceID"],this._common={},this};return i.dftCon={sample:1,pvSample:1,tag:"",imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",region:null,ignore:{ignoreUrls:[],ignoreApis:[],ignoreErrors:[/^Script error\.?$/],ignoreResErrors:[],ignoreResources:[/\/(bl|wl)(.debug)?.js$/]},release:void 0,environment:"prod",beforeReport:null,parseTraceId:null},i.prototype={constructor:i,onReady:function(r){return r()},getPage:function(){var r=this._conf.page;return s.safetyCall(r,[],r+"")},setPage:function(){},setConfig:function(r){r&&typeof r=="object"&&(s.verifyConfig(r),r=this.setImgUrl(r),this._conf=s.ext({},this._conf,r))},setImgUrl:function(r){var n=r.region,a=r.imgUrl;if(n){var o=s.regionMap[n];return r.imgUrl=o||s.defaultImgUrl,r}return a&&(r.imgUrl=a),r},checkImgUrl:function(){return!0},sendRequest:function(){},sendBeacon:function(r,n,a){c(r,n||this.getConfig("imgUrl"),a)},postData:function(){},commonInfo:function(){return{}},setCommonInfo:function(r){r&&typeof r=="object"&&(this._common=s.ext({},this._common,r))},resetPageview:function(){this.pageview=s.uu(),this.sBegin=Date.now()},getUsername:function(){if(this.username)return this.username;var r=this._conf,n=r&&r.setUsername;if(typeof n=="function")try{var a=n();typeof a=="string"&&(a=a.substr(0,40),this.username=a)}catch(o){s.warn("[arms] setUsername fail",o)}return this.username},getTraceId:function(){var r=this.rip,n=Date.now(),a=s.getSortNum(this.record),o=r+n+a+s.getRandNum(this._conf.pid);return this["EagleEye-TraceID"]=o,this.record=a,{"EagleEye-TraceID":o}},getUberTraceId:function(r){var n=this.rip,a=Date.now(),o=s.getSortNum(this.record),u=s.getRandNum(this._conf.pid),h=n+a+o+s.getNum(2)+u,g=h.substring(0,16);return r=r?"1":"0",h[0]==="0"&&(h[0]="1"),h[16]==="0"&&(h[16]="1"),{"uber-trace-id":h+":"+g+":0:"+r,traceId:h}},getB3TraceId:function(r){var n=this.rip,a=Date.now(),o=s.getSortNum(this.record),u=s.getRandNum(this._conf.pid),h=n+a+o+s.getNum(2)+u,g=h.substring(0,16);return r=r?"1":"0",h[0]==="0"&&(h[0]="1"),h[16]==="0"&&(h[16]="1"),{b3:h+"-"+g+"-"+r+"-0","X-B3-TraceId":h,"X-B3-ParentSpanId":"0","X-B3-SpanId":g,"X-B3-Sampled":r}},getPageviewId:function(){return{"EagleEye-SessionID":this.pageview}},getConfig:function(r){return r?this._conf[r]:s.ext({},this._conf)},sampling:function(r){return r===1||(typeof this.sampleCache[r]=="boolean"?this.sampleCache[r]:(this.sampleCache[r]=s.pick(r),this.sampleCache[r]))},clear:function(r){var n;clearTimeout(this.requestTimmer),this.requestTimmer=null;for(var a=this._conf&&typeof this._conf.sendRequest=="function";n=this.requestQueue.pop();)if(n.t==="res")this.postData(n,"res");else if(n.t==="error")this.postData(n,"err");else if(n.t==="api")this.postData(n,"apiSnapshot");else if(n.t==="behavior")this.postData(n,"behavior");else if(n.t==="health"&&!a&&window&&window.navigator&&typeof window.navigator.sendBeacon=="function")this.sendBeacon(n);else if(n.t==="resource"&&!a&&window&&window.navigator&&typeof window.navigator.sendBeacon=="function"){var o=JSON.stringify({resource:n.resource});delete n.resource,this.sendBeacon(n,null,o)}else n.t==="resource"?this.postData(n,"resource"):this.sendRequest(n);return r&&this.clearSelf(),this},clearSelf:function(){var r;for(clearTimeout(this.Timmer),this.Timmer=null;r=this.selfQueue.pop();)this.postData(r,"err");return this},_lg:function(r,n,a,o){var u=this,h=u._conf,g=u.getPage(),f=h.ignore||{},l=f.ignoreErrors,p=f.ignoreResErrors,d=f.ignoreUrls,m=f.ignoreApis;if(u._isRobot||s.ignoreByRule(g,d)||s.ignoreByRule(s.decode(g),d)||r==="error"&&(s.ignoreByRule(n.msg,l)||s.ignoreByRule(s.decode(n.msg),l))||r==="resourceError"&&(s.ignoreByRule(n.src,p)||s.ignoreByRule(s.decode(n.src),p))||r==="api"&&(s.ignoreByRule(n.api,m)||s.ignoreByRule(s.decode(n.api),m))||!u.checkImgUrl(h.imgUrl)||!n||h.disabled||!h.pid||o===0)return u;var b=n.dl;if(delete n.dl,n=s.ext({t:r,times:1,page:g,tag:h.tag||"",release:h.release||"",environment:h.environment,begin:Date.now(),c1:h.c1,c2:h.c2,c3:h.c3},n,u.commonInfo(),u._common,{pid:h.pid,_v:u.ver,pv_id:u.pageview,username:u.getUsername(),sampling:a||1,dl:b,z:s.seq()}),s.T(h.beforeReport)==="Function")try{if(!(n=h.beforeReport(n)))return u}catch(v){return u}return o===1?t(u,n):a&&!u.sampling(a)?u:t(u,n)},_self:function(r,n,a){var o=this,u=o._conf;if(r!=="error"||!o.checkImgUrl(u.imgUrl)||!n||u.disabled||!u.pid||!e||a&&!o.sampling(a))return o;n=s.ext({t:r,times:1,page:s.selfErrPage,tag:u.pid,begin:Date.now()},n,{pid:e,_v:o.ver,sampling:a||1,z:s.seq()});var h=o.selfQueue[0];if(h){h.times++;try{h.err&&n.err&&h.err.msg_raw&&n.err.msg_raw&&h.err.msg_raw.split("&").indexOf(n.err.msg_raw)<0&&h.err.msg_raw.length<1e3&&(h.err.msg_raw+="&"+n.err.msg_raw)}catch(g){}}else o.selfQueue.unshift(n),o.onReady(function(){o.sdkFlag&&(o.sdkFlag=!1,o.Timmer=s.delay(function(){o.clearSelf()},1e4))})},custom:function(r,n){if(!r||typeof r!="object")return this;var a=!1,o={begin:Date.now()};return s.each(r,function(u,h){return!(a=h&&h.length<=20)&&s.warn("[retcode] invalid key: "+h),o["x-"+h]=u,a}),a?this._lg("custom",o,n||1):this}},mi.exports=i,mi.exports}var Us;function uo(){if(Us)return si.exports;Us=1;var s=$e(),c=co(),e=["api","success","time","code","msg","trace","traceId","begin","pv_id","sid","seq","domain","flag","apiSnapshot","tag","c1","c2","c3"],t=function(r){var n=(r.key||"default").split("::");return n.length>1?s.ext(r,{group:n[0],key:n[1]}):s.ext(r,{group:"default_group",key:n[0]})},i=function(r){c.call(this,r);var n;try{n=typeof performance=="object"?performance.timing.fetchStart:Date.now()}catch(a){n=Date.now()}return this._startTime=n,this};return i.prototype=s.createObject(c.prototype),s.ext(c.dftCon,{startTime:null}),s.ext(i.prototype,{constructor:i,_super:c,sum:function(r,n,a){try{var o=s.dealParam(r,n,1);return this._lg("sum",t(o),a)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},avg:function(r,n,a){try{var o=s.dealParam(r,n,0);return this._lg("avg",t(o),a)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},percent:function(r,n,a,o){try{return this._lg("percent",t({key:r,subkey:n,val:a||0,begin:Date.now()}),o)}catch(u){s.warn("[retcode] can not get parseStatData: "+u)}},msg:function(r,n){if(r&&!(r.length>180))return this.custom({msg:r},n)},error:function(r,n){if(!r)return s.warn("[retcode] invalid param e: "+r),this;arguments.length===1?(typeof r=="string"&&(r={message:r},n={}),typeof r=="object"&&(n=r=r.error||r)):(typeof r=="string"&&(r={message:r}),typeof n!="object"&&(n={}));var a=r.name||"CustomError",o=r.message||"",u=r.stack||"";n=n||{};var h=typeof location=="object"&&typeof location.href=="string"&&location.href.substring(0,500)||"";if(s.checkSDKError(o,n.filename)){var g=/^Script error\.?$/,f=r.msg||r.message;if(s.ignoreByRule(f,g)||s.ignoreByRule(s.decode(f),g))return this;var l={msg:s.selfErrKey,err:{msg_raw:s.encode(r.msg||r.message)}};return this._self("error",l,1)}for(var p={begin:Date.now(),cate:a,msg:o&&o.substring(0,1e3),stack:u&&u.substring(0,1e3),file:s.removeUrlSearch(n.filename||""),line:n.lineno||"",col:n.colno||"",err:{msg_raw:s.encode(o),stack_raw:s.encode(u)},dl:h},d=["tag","c1","c2","c3"],m=0;m<d.length;m++){var b=d[m];n[b]&&(p[b]=n[b])}var v=(this.getConfig("ignore")||{}).ignoreErrors;return s.ignoreByRule(p.msg,v)||s.ignoreByRule(s.decode(p.msg),v)?this:(this.beforeSend&&this.beforeSend("error",p),this._lg("error",p,1))},behavior:function(r){if(r){var n=typeof r=="object"&&r.behavior?r:{behavior:r};return this.beforeSend&&this.beforeSend("behavior",n),this._lg("behavior",n,1)}},api:function(r,n,a,o,u,h,g,f,l,p,d,m,b,v,x,y){if(!r)return s.warn("[retcode] api is null"),this;if(r=typeof r=="string"?{api:r,success:n,time:a,code:o,msg:u,begin:h,traceId:g,pv_id:f,apiSnapshot:l,domain:p,flag:m,tag:b,c1:v,c2:x,c3:y}:s.sub(r,e),!s.checkAPI(r.api,!0))return this;r.code=r.code||"";var E=r.msg||"";if(E=typeof E=="string"?E.substring(0,1e3):E,r.msg=E,r.success=r.success?1:0,r.time=+r.time,r.begin=r.begin,r.traceId=r.traceId||"",r.pv_id=r.pv_id||"",r.domain=r.domain||"",r.flag=r.flag,r.dl=typeof location=="object"&&typeof location.href=="string"&&location.href.substring(0,500)||"",r.apiSnapshot&&(typeof r.apiSnapshot=="object"&&(r.apiSnapshot=JSON.stringify(r.apiSnapshot)),typeof r.apiSnapshot!="string"&&delete r.apiSnapshot,r.apiSnapshot.length>2e3&&(r.apiSnapshot=r.apiSnapshot.substring(0,2e3))),d&&(r.traceOrigin=d),!r.api||isNaN(r.time))return s.warn("[retcode] invalid time or api"),this;var I=(this.getConfig("ignore")||{}).ignoreApis;return s.ignoreByRule(r.api,I)||s.ignoreByRule(s.decode(r.api),I)?this:r.time<0?this:(this.beforeSend&&this.beforeSend("api",r),this._lg("api",r,r.success&&this.getConfig("sample"),r.flag))},speed:function(r,n,a){var o=this,u=this.getConfig("startTime")||this._startTime;return/^s(\d|1[0])$/.test(r)?(n=typeof n!="number"?Date.now()-u:n>=u?n-u:n,o.speedCache=o.speedCache||{},o.speedCache[r]=n,o.speedCache.begin=u,clearTimeout(o.speedTimmer),o.speedTimmer=setTimeout(function(){a||(o.speedCache.page=o.getPage(!0)),o._lg("speed",o.speedCache),o.speedCache=null},5e3),o):(s.warn("[retcode] invalid point: "+r),o)},performance:function(r){if(r&&typeof r=="object"&&!this.hasSendPerf){var n={},a={},o=this.getConfig("autoSendPerf");if(r.autoSend&&o)return a=s.ext(this.perfData||{},r),this.hasSendPerf=!0,this._lg("perf",a,this.getConfig("sample"));if(r.autoSend&&!o)return delete r.autoSend,this.perfData?(a=s.ext(this.perfData||{},r),this.hasSendPerf=!0,this._lg("perf",a,this.getConfig("sample"))):void(this.perfData=r);for(var u in r)(/^t([1-9]|1[0])$/.test(u)||u==="ctti"||u==="cfpt")&&(n[u]=r[u]);if(r.autoSend===!0||!o&&(o||this.perfData))return r.autoSend!==!0&&o===!1&&this.perfData?(n=s.ext(this.perfData||{},n),this.hasSendPerf=!0,this._lg("perf",n,this.getConfig("sample"))):void 0;this.perfData=s.ext(this.perfData||{},n)}},resource:function(r,n){if(!r||!s.isPlainObject(r))return s.warn("[arms] invalid param data: "+r),this;var a=Object.keys(r),o=["begin","dom","load","res","dl"],u=!1;for(var h in o)if(a.indexOf(o[h])<0){u=!0;break}if(u)return s.warn("[arms] lack param data: "+r),this;var g={begin:r.begin||Date.now(),dom:r.dom||"",load:r.load||"",res:s.isArray(r.res)?JSON.stringify(r.res):JSON.stringify([]),dl:r.dl||""};return this._lg("res",g,n)},event:function(r,n){if(typeof r=="object"&&r&&r.key){var a={},o=["key","success","time","c1","c2","c3"];for(var u in r)o.indexOf(u)>-1&&(a[u]=r[u]);a.success=r.success===!1?0:1,this._lg("event",a,n)}}}),i._super=c,i._root=c,c.Reporter=i,si.exports=i,si.exports}var ir={exports:{}},Hs;function ho(){if(Hs)return ir.exports;Hs=1;var s=$e(),c=typeof window=="object"?window:{},e="catch",t=c.__oFetch_||c.fetch;return t=typeof t=="function"?t:void 0,ir.exports=function(i,r){var n=-1;typeof i=="object"&&(n=i.z,i=s.serialize(i));var a=r+i;if(t)return t(a,{method:"HEAD",mode:"no-cors"})[e](s.noop);if(c.document&&c.document.createElement){var o="__request_hold_"+n,u=c[o]=new Image;u.onload=u.onerror=function(){c[o]=void 0},u.src=a,u=null}},ir.exports}var rr={exports:{}},zs;function lo(){if(zs)return rr.exports;zs=1;var s=$e(),c=typeof window=="object"?window:{},e=c.__oXMLHttpRequest_||c.XMLHttpRequest;return e=typeof e=="function"?e:void 0,rr.exports=function(t,i){try{var r=new e;r.open("POST",i,!0),r.setRequestHeader("Content-Type","text/plain"),r.send(JSON.stringify(t))}catch(n){s.warn(`[retcode] Failed to log, exception is :
3
3
  `+n)}},rr.exports}var sr,js;function fo(){if(js)return sr;js=1;var s=$e();return sr=function(c,e){var t=[],i=null,r=e&&e.location&&e.location.href,n=void 0,a=null,o=function(f,l,p){if(f!==null){var d=f[l];f[l]=p(d)}},u=function(f){var l,p,d,m,b,v=[];if(!f||typeof f.tagName!="string")return"";if(v.push(f.tagName.toLowerCase()),typeof f.id=="string"&&v.push("#".concat(f.id)),typeof(l=f.className)=="string")for(p=l.split(/\s+/),b=0;b<p.length;b++)v.push(".".concat(p[b]));var x=["type","name","title","alt","data-arms-attr"];for(b=0;b<x.length;b++)d=x[b],typeof(m=f.getAttribute(d))=="string"&&v.push("[".concat(d,'="').concat(m,'"]'));return v.join("")},h=function(f,l){return function(p){if(p&&p!==a){a=p;var d;try{d=p.target}catch(b){d="<unknown>"}if(d.length!==0){var m={type:"ui.".concat(f),data:{message:function(b){if(!b||b.nodeType!==1)return"";for(var v=b||null,x=[],y=0,E=0,I=3,w="";v&&y++<5&&!((w=u(v))==="html"||y>1&&E+x.length*I+w.length>=80);)x.push(w),E+=w.length,v=v.parentNode;return x.reverse().join(" > ")}(d)},timestamp:Date.now()};f==="click"?i&&i.addBehavior(m):f==="keypress"&&(n||i&&i.addBehavior(m),clearTimeout(n),n=setTimeout(function(){n=void 0},100))}}}},g=function(){if(function(){var d=e&&e.chrome,m=d&&d.app&&d.app.runtime,b="history"in e&&!!e.history.pushState&&!!e.history.replaceState;return!m&&b}()){var f=function(d,m){var b={type:"navigation",data:{from:d,to:m}};i&&i.addBehavior(b),r=m},l=e.onpopstate;e.onpopstate=function(){for(var d=arguments.length,m=new Array(d),b=0;b<d;b++)m[b]=arguments[b];var v=e.location.href;if(f(r,v),l)return l.apply(this,m)};var p=function(d){return function(){for(var m=arguments.length,b=new Array(m),v=0;v<m;v++)b[v]=arguments[v];var x=b.length>2?b[2]:void 0;return x&&f(r,String(x)),d.apply(this,b)}};o(e.history,"pushState",p),o(e.history,"replaceState",p)}};s.ext(c.prototype,{addBehavior:function(f){if(this.getConfig("behavior")&&f&&typeof f=="object"){var l={},p=f.data||{};if(f.type)l=p;else{if(typeof p.name!="string"||typeof p.message!="string")return;l.name=p.name.substr(0,20),l.message=p.message.substr(0,200)}l.message&&(l.message=s.encode(l.message));var d={type:f.type||"custom",data:l||{},timestamp:f.timestamp||Date.now(),page:f.page||e&&e.location&&e.location.pathname};return t.push(d),t=t.slice(-100)}},getBehavior:function(){return t||[]},setBehavior:function(f){return f&&(t=f),t},reportBehavior:function(f){var l=this;l.getConfig("behavior")&&(l.sendBhTimer&&(clearTimeout(l.sendBhTimer),l.sendBhTimer=void 0),l.sendBhTimer=setTimeout(function(){t&&t.length>0&&(l.behavior(t),t=[],l.sendBhTimer=void 0,f&&typeof f=="function"&&f())},0))},initBehavior:function(){if(!this.hasInitBehavior&&!i){try{(function(){if(document&&document.referrer&&document.location){var l=document.referrer,p=document.location.href;if(l!==""){var d={type:"navigation",data:{from:l,to:p}};r=p,i&&i.addBehavior(d)}}})(),e&&e.document&&e.document.addEventListener&&(e.document.addEventListener("click",h("click"),!1),e.document.addEventListener("keypress",h("keypress"),!1)),g();var f=this.getConfig("enableConsole");f&&function(l){if(e&&e.console){var p=["debug","info","warn","log","error","assert"];s.isArray(l)&&(p=l);for(var d=0;d<p.length;d++){var m=p[d];m&&s.isString(m)&&e.console[m]&&typeof e.console[m]=="function"&&o(e.console,m,function(b){var v=m;return function(){for(var x=arguments.length,y=new Array(x),E=0;E<x;E++)y[E]=arguments[E];var I={type:"console",data:{level:v,message:y}};if(i&&i.addBehavior(I),v==="error")for(var w=0;w<y.length;w++){var R=y[w];R&&R.message&&R.stack&&i&&i.errorHandler(new ErrorEvent("error",{error:R,message:R.message}))}b&&Function.prototype.apply.call(b,e.console,y)}})}}}(f)}catch(l){s.warn("[arms] error in initBehavior",l)}i=this,this.hasInitBehavior=!0}return this}})},sr}var Ws={},Ks;function nr(){return Ks||(Ks=1,Ws.TIMING_KEYS=["startTime","fetchStart","domainLookupStart","domainLookupEnd","connectStart","connectEnd","requestStart","responseStart","responseEnd","","domInteractive","","domContentLoadedEventEnd","","loadEventStart","","msFirstPaint","secureConnectionStart","redirectStart","redirectEnd"]),Ws}var ar,$s;function po(){if($s)return ar;$s=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return ar=function(){var t=s.win||{},i=t.performance;if(!i||typeof i!="object"||typeof i.getEntriesByType!="function")return null;var r={},n=i.timing||{},a=i.getEntriesByType("resource")||[];if(r.begin=n[e[1]]||Date.now(),typeof t.PerformanceNavigationTiming=="function"){var o=i.getEntriesByType("navigation")[0];o&&(n=o)}return s.each({dom:[10,8],load:[14,1]},function(u,h){var g=n[e[u[1]]],f=n[e[u[0]]];if(g>0&&f>0){var l=Math.round(f-g);l>=0&&l<6e5&&(r[h]=l)}}),r.res=JSON.stringify(a),r},ar}var or,qs;function mo(){if(qs)return or;qs=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return or=function(){var t=s.win||{},i=t.performance;if(!i||typeof i!="object")return null;var r={},n=i.timing||{},a=Date.now(),o=1;if(typeof t.PerformanceNavigationTiming=="function"){var u=i.getEntriesByType("navigation")[0];u&&(n=u,o=2)}s.each({dns:[3,2],tcp:[5,4],ssl:[5,17],ttfb:[7,6],trans:[8,7],dom:[10,8],res:[14,12],firstbyte:[7,2],fpt:[8,1],tti:[10,1],ready:[12,1],load:[14,1]},function(p,d){var m=n[e[p[1]]],b=n[e[p[0]]];if(o===2||m>0&&b>0){var v=Math.round(b-m);v>=0&&v<6e5&&(r[d]=v)}});var h=t.navigator.connection,g=i.navigation||{};r.ct=h?h.effectiveType||h.type:"";var f=h&&(h.downlink||h.downlinkMax||h.bandwidth)||null;if((f=f>999?999:f)&&(r.bandwidth=f),r.navtype=g.type===1?"Reload":"Other",o===1&&n[e[16]]>0&&n[e[1]]>0){var l=n[e[16]]-n[e[1]];l>=0&&l<36e5&&(r.fpt=l)}return o===1&&n[e[1]]>0?r.begin=n[e[1]]:o===2&&r.load>0?r.begin=a-r.load:r.begin=a,r},or}var Gs,Js;function go(){return Js||(Js=1,Gs=function(s,c,e){var t=$e(),i=po(),r=mo(),n=null,a=e.documentElement,o=c.innerWidth||a.clientWidth||e.body.clientWidth,u=c.innerHeight||a.clientHeight||e.body.clientHeight,h=c.navigator.connection,g={sr:screen.width+"x"+screen.height,vp:o+"x"+u,ct:h?h.effectiveType||h.type:""},f={},l=function(d,m,b,v,x){if(m===void 0){var y,E;if(!f[d]){y=new RegExp(d+"=([^;]+)");try{E=y.exec(e.cookie)}catch(w){return t.warn("[retcode] can not get cookie:",w),null}E&&(f[d]=E[1])}return f[d]}var I=d+"="+m;I+="; path=/",b&&(I+="; max-age="+b);try{return e.cookie=I,!!e.cookie}catch(w){return t.warn("[retcode] can not set cookie: ",w),!1}},p=function(d){var m=d._conf.uid||l("_nk_")||l("_bl_uid");return!m&&(m=t.uu(),!l("_bl_uid",m,15552e3))?null:m};return t.ext(s.prototype,{activeErrHandler:function(d){return n&&!d?this:(n=this,this)},errorHandler:function(d){if(!d)return this;var m=d.type;if(m==="error"){var b=d.target||d.srcElement;!b||!b.tagName||d.message||d.filename||d.lineno||d.colno?this.error(d.error||{message:d.message},d):this.resourceErrorHandler(d)}else m==="unhandledrejection"&&t.T(d.reason,"Error")&&t.checkAutoError(d.reason)&&this.error(d.reason);try{this.getConfig("behavior")&&this.reportBehavior&&this.reportBehavior()}catch(v){}return this},resourceErrorHandler:function(d){var m=this,b=d.target||d.srcElement;try{var v=m.getSrc(b),x=typeof b.tagName=="string"?b.tagName.toLowerCase():"",y=m.getXPath(b,5),E=t.getURL(v),I={src:v&&v.substring(0,1e3),node_name:x,xpath:y,res_type:t.getResType(x,v),res_name:E.path,domain:E.domain};return m._conf.enableResource&&m.fixResourceStatus&&d.timeStamp&&m.fixResourceStatus({src:v,node_name:x,res_type:t.getResType(x,v),timeStamp:d.timeStamp,domain:E.domain}),m._lg("resourceError",I),m}catch(w){return t.warn("[ARMS] resourceErrorHandler error :",w),m}},getSrc:function(d){var m=d.src||d.href;try{if(!m){var b=(typeof d.tagName=="string"?d.tagName.toLowerCase():"")==="object",v=d.getAttribute("classid")&&d.getAttribute("classid").toLowerCase()==="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"||d.getAttribute("type")==="application/x-shockwave-flash";b&&v&&(m=d.getAttribute("data")||d.getAttribute("codebase")),m||(m=d.outerHTML||d.innerHTML)}}catch(x){m=""}return m},getXPath:function(d,m){var b=d.id?"#"+d.id:"",v=typeof d.className=="string"?"."+d.className.split(" ").join("."):"",x=(typeof d.tagName=="string"?d.tagName.toLowerCase():"")+b+v;return d.parentNode&&d.parentNode.tagName&&m-1!=0?this.getXPath(d.parentNode,m-1)+" > "+x:x},sendPerformance:function(d){var m=this;m.onReady(function(){var b=r();b&&b.load&&b.load>0&&(b.page=m.getPage(!0),d&&(b=t.ext(b,d)),b.autoSend=!0,m.performance(b))})},sendResources:function(d){var m=this;m.onReady(function(){var b=i();b&&b.load&&b.load>0&&(b.load&&b.load<=2e3||b.load&&b.load<=8e3&&Math.random()>.05||(b.page=m.getPage(!0),b.dl=location.href,d&&(b=t.ext(b,d)),m._lg("res",b,m.getConfig("sample"))))})},sendPV:function(){var d=this;d.onReady(function(){var m=function(b){var v=p(b),x=c.devicePixelRatio||1;return{uid:v,dt:e.title,dl:location.href,dr:e.referrer,dpr:x.toFixed(2),de:(e.characterSet||e.defaultCharset||"").toLowerCase(),ul:a.lang,begin:Date.now()}}(d);m&&m.uid&&d._lg("pv",m,d.getConfig("pvSample"))})},commonInfo:function(){return g.uid=p(this),g.sid=function(d){if(d.session)return d.session;var m;try{if(typeof window=="object"&&typeof sessionStorage=="object"&&typeof sessionStorage.getItem=="function")return typeof(m=sessionStorage.getItem("_bl_sid"))=="string"?(d.session=m,m):(m=t.uu(),d.session=m,typeof sessionStorage.setItem=="function"&&sessionStorage.setItem("_bl_sid",m),m)}catch(b){t.warn("[ARMS] getSid error :",b)}return d.session=m=t.uu(),m}(this),g},handleUnload:function(d){var m=Date.now();if(m-this._lastUnload<200)return this;this._lastUnload=m,this.sendHealth(d),this.speedCache&&(this._lg("speed",this.speedCache),this.speedCache=null,clearTimeout(this.speedTimmer)),this._conf&&this._conf.enableResource&&this.resourceComboReport(),this.clear(!0)},bindHashChange:function(d){var m=this;if(!d^m.hashChangeHandler)return m;d?(m.hackHistoryState(),m.hashChangeHandler=function(b){var v=m._conf.parseHash(location.hash);v&&m.setPage(v,b!==!1)},m.stateChangeHandler=function(b){var v=m._conf.parseHash(b.detail);v&&m.setPage(v)},t.on(c,"hashchange",m.hashChangeHandler),t.on(c,"historystatechange",m.stateChangeHandler),m.hashChangeHandler(!1)):(t.off(c,"hashchange",m.hashChangeHandler),t.off(c,"historystatechange",m.stateChangeHandler),m.hashChangeHandler=null,m.stateChangeHandler=null)},initHandler:function(){var d=this;if(d.hasInitHandler)return d;var m=d._conf;return t.on(c,"beforeunload",function(){d.handleUnload(0)}),d.bindHashChange(m.enableSPA),d.activeErrHandler(!1),d.hasInitHandler=!0,d}}),t.on(c,"error",function(d){n&&n.errorHandler(d)},!1,!0).on(c,"unhandledrejection",function(d){n&&n.errorHandler(d)}),s}),Gs}var cr,Xs;function vo(){if(Xs)return cr;Xs=1;var s=$e(),c=500;return cr=function(e,t,i){function r(g,f,l){var p=0,d=g.tagName;if(d!=="SCRIPT"&&d!=="STYLE"&&d!=="META"&&d!=="HEAD"){var m=g.children?g.children.length:0;if(m>0)for(var b=g.children,v=m-1;v>=0;v--)p+=r(b[v],f+1,p>0);if(p<=0&&!l&&!(g.getBoundingClientRect&&g.getBoundingClientRect().top<a))return 0;p+=1+.5*f}return p}function n(g){for(var f=1;f<g.length;f++)if(g[f].score<g[f-1].score)return g.splice(f,1),n(g);return g}var a=t.innerHeight||0,o=[],u=null,h=0;s.ext(e.prototype,{initFmpObserver:function(g){var f=this;if(!f._conf||!f._conf.useFmp)return null;if(!t.MutationObserver)return s.warn("[retcode] first meaningful paint can not be retrieved"),f.sendPerformance(),null;s.on(t,"beforeunload",function(){f.endObserving(0,!0)});var l=t.MutationObserver;return(u=new l(function(){(function(p){var d=Date.now()-p,m=i.querySelector("body");if(m){var b=0;b+=r(m,1,!1),o.push({score:b,t:d})}else o.push({score:0,t:d})})(f._startTime)})).observe(document,{childList:!0,subtree:!0}),h=1,f.onReady(function(){f.endObserving(g)}),u},endObserving:function(g,f){var l=this;if(u&&h)if(l.fmpTimmer&&(clearTimeout(l.fmpTimmer),l.fmpTimmer=null),f||!function(b,v){var x=Date.now()-b;return!(x>v||x-(o&&o.length&&o[o.length-1].t||0)>2*c)}(l._startTime,g)){u.disconnect(),h=0,o=n(o);for(var p=null,d=1;d<o.length;d++)if(o[d].t>=o[d-1].t){var m=o[d].score-o[d-1].score;(!p||p.rate<=m)&&(p={t:o[d].t,rate:m})}p&&p.t>0&&p.t<36e5?l.sendPerformance({fmp:p.t}):l.sendPerformance()}else l.fmpTimmer=s.delay(function(){l.endObserving(g)},c)}})},cr}var Zs,Ys;function bo(){return Ys||(Ys=1,Zs=function(s,c){var e=$e(),t=null,i=e.getCurDomain(),r=function(h,g,f,l,p,d,m,b,v,x,y,E,I){var w=e.J(p)||null,R=e.safetyCall(g,[w,l],null);if(!R)return!1;var L=R.code||d,D=!("success"in R)||R.success;h.api(f,D,m,L,R.msg,b,v,x,D?{}:y,i,E,I)},n="fetch",a="__oFetch_",o="__oXMLHttpRequest_",u="XMLHttpRequest";return e.ext(s.prototype,{removeHook:function(h,g){return t&&(g||this===t)?(c[a]&&(c[n]=c[a],delete c[a]),c[o]&&(c[u]=c[o],delete c[o]),t=null,this):this},addHook:function(h){return!h&&t?this:(t||(function(){if(typeof c[n]=="function"){var g=c[n];c[a]=g,c[n]=function(f,l){var p=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),d=t;if(!d||!d.api||l&&(l.method==="HEAD"||l.mode==="no-cors"))return g.apply(c,p);l||(l={});var m=Date.now(),b=d._conf,v=e.duration(),x=(f&&typeof f!="string"?f.url:f)||"",y=x;x=e.cutUrlSearch(x);var E=(b.ignore||{}).ignoreApis,I=b.parseTraceId;if(!e.checkAPI(x,!0)||e.ignoreByRule(x,E))return g.apply(c,p);x=e.filterByRule(x,y,b.ignoreApiPath?b.ignoreApiPath:b.apiHelper);var w=b.enableLinkTrace,R="",L="",D=d.getConfig("pid"),N=null,C=d.getConfig("sample"),M=d.getConfig("linkType"),A=1;if(C&&!d.sampling(C)&&(A=0),w){var U="";try{U=location.origin?location.origin:location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}catch(K){U=""}var ie=e.checkSameOrigin(y,U);if(d.getConfig("enableApiCors")||ie)if(f&&typeof f!="string")try{if(p[0].headers&&typeof p[0].headers.get=="function"&&typeof p[0].headers.append=="function")switch(M){case"arms":var q=p[0].headers.get("EagleEye-TraceID"),oe=p[0].headers.get("EagleEye-SessionID"),$=p[0].headers.get("EagleEye-pAppName");q?R=q:(R=d.getTraceId()["EagleEye-TraceID"],p[0].headers.append("EagleEye-TraceID",R)),oe?L=oe:(L=d.getPageviewId()["EagleEye-SessionID"],p[0].headers.append("EagleEye-SessionID",L)),$||p[0].headers.append("EagleEye-pAppName",D);break;case"b3":var se=p[0].headers.get("X-B3-TraceId");if(se)R=se;else{var k=d.getB3TraceId(A);p[0].headers.append("X-B3-TraceId",k["X-B3-TraceId"]),p[0].headers.append("X-B3-ParentSpanId",k["X-B3-ParentSpanId"]),p[0].headers.append("X-B3-SpanId",k["X-B3-SpanId"]),p[0].headers.append("X-B3-Sampled",k["X-B3-Sampled"]),p[0].headers.append("X-Request-ID",e.guid()),R=k["X-B3-TraceId"]}L=d.pageview;break;case"tracing":default:var P=p[0].headers.get("uber-trace-id");P?R=P.split(":")[0]:(P=d.getUberTraceId(A),p[0].headers.append("uber-trace-id",P["uber-trace-id"]),R=P.traceId),L=d.pageview}}catch(K){e.warn(`[retcode] fetch failed to set header, exception is :
4
4
  `+K)}else switch(l.headers=l.headers?l.headers:{},M){case"arms":l.headers["EagleEye-TraceID"]?R=l.headers["EagleEye-TraceID"]:(R=d.getTraceId()["EagleEye-TraceID"],l.headers["EagleEye-TraceID"]=R),l.headers["EagleEye-SessionID"]?L=l.headers["EagleEye-SessionID"]:(L=d.getPageviewId()["EagleEye-SessionID"],l.headers["EagleEye-SessionID"]=L),l.headers["EagleEye-pAppName"]||(l.headers["EagleEye-pAppName"]=D);break;case"b3":if(l.headers["X-B3-TraceId"])R=l.headers["X-B3-TraceId"];else{var z=d.getB3TraceId(A);l.headers["X-B3-TraceId"]=z["X-B3-TraceId"],l.headers["X-B3-ParentSpanId"]=z["X-B3-ParentSpanId"],l.headers["X-B3-SpanId"]=z["X-B3-SpanId"],l.headers["X-B3-Sampled"]=z["X-B3-Sampled"],l.headers["X-Request-ID"]=e.guid(),R=z["X-B3-TraceId"]}L=d.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:if(l.headers["uber-trace-id"])R=l.headers["uber-trace-id"].split(":")[0];else{var F=d.getUberTraceId(A);l.headers["uber-trace-id"]=F["uber-trace-id"],R=F.traceId}L=d.getPageviewId()["EagleEye-SessionID"]}}return g.apply(c,p).then(function(K){if(!d||!d.api)return K;try{if(!K||typeof K.clone!="function")return K;var Q=K.clone(),ge=Q.headers;if(ge&&typeof ge.get=="function"){var ce=ge.get("content-type");if(ce&&!/(text)|(json)/.test(ce))return K;if(!R){var Se=e.parseFetchHeaders(ge);typeof Se=="object"&&Se["eagleeye-traceid"]&&(R=Se["eagleeye-traceid"],N="response")}}var De=v();return Q.text().then(function(Ie){if(!R&&e.isFunction(I)){var Ue=I(Q,Ie);Ue&&e.isString(Ue)&&(R=Ue)}var Te=e.getFetchSnapshot(p,Ie,ge);Q.ok?r(d,b.parseResponse,x,y,Ie,Q.status||200,De,m,R,L,Te,N,A):(d.api(x,!1,De,Q.status||404,Q.statusText,m,R,L,Te,i,N,A),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:Q.url,res_type:"api"}))}),K}catch(Ie){return e.warn("[ARMS] fetch response error :",Ie),K}}).catch(function(K){if(!d||!d.api)throw K;var Q=v();throw d.api(x,!1,Q,K.name||"Error",K.message,m,R,L,{},i),b.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:y,res_type:"api"}),K})},c[n].toString=e.createFakeToString(n)}}(),function(){if(typeof c[u]=="function"){var g,f=c[u];c[o]=f;var l=function(p){var d=new f(p),m=t;if(!m||!m.api||!d.addEventListener)return d;var b,v,x,y,E=d.send,I=d.open,w=d.setRequestHeader,R=m._conf,L=(R.ignore||{}).ignoreApis,D=R.parseTraceId,N=m.getConfig("enableLinkTrace"),C="",M="",A="",U=null,ie=m.getConfig("sample"),q=m.getConfig("linkType"),oe=1;return ie&&!m.sampling(ie)&&(oe=0),d.open=function($,se){g=$;var k=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);I.apply(d,k),y=se||"",x=e.cutUrlSearch(y);var P=!e.checkAPI(x,!0)||e.ignoreByRule(x,L);if(x=x?e.filterByRule(x,y,R.ignoreApiPath?R.ignoreApiPath:R.apiHelper):"",!P&&N){var z="";try{z=location.origin?location.origin:location.protocol+"//"+location.hostname+(location.port?":"+location.port:"")}catch(ge){z=""}var F=e.checkSameOrigin(y,z);if((m.getConfig("enableApiCors")||F)&&w&&typeof w=="function")switch(q){case"arms":C=m.getTraceId()["EagleEye-TraceID"],w.apply(d,["EagleEye-TraceID",C]),M=m.getPageviewId()["EagleEye-SessionID"],w.apply(d,["EagleEye-SessionID",M]),A=m.getConfig("pid"),w.apply(d,["EagleEye-pAppName",A]);break;case"b3":var K=m.getB3TraceId(oe);w.apply(d,["X-B3-TraceId",K["X-B3-TraceId"]]),w.apply(d,["X-B3-ParentSpanId",K["X-B3-ParentSpanId"]]),w.apply(d,["X-B3-SpanId",K["X-B3-SpanId"]]),w.apply(d,["X-B3-Sampled",K["X-B3-Sampled"]]),w.apply(d,["X-Request-ID",e.guid()]),C=K["X-B3-TraceId"],M=m.getPageviewId()["EagleEye-SessionID"];break;case"tracing":default:var Q=m.getUberTraceId(oe);w.apply(d,["uber-trace-id",Q["uber-trace-id"]]),C=Q.traceId,M=m.getPageviewId()["EagleEye-SessionID"]}}},d.send=function(){b=Date.now(),v=e.duration();var $=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);E.apply(d,$)},e.on(d,"readystatechange",function(){if(x&&d.readyState===4){var $=v(),se=e.getXhrSnapshot(y,g,d);if(!C){var k=e.parseXhrHeaders(typeof d.getAllResponseHeaders=="function"&&d.getAllResponseHeaders()||"");typeof k=="object"&&k["eagleeye-traceid"]&&(C=k["eagleeye-traceid"],U="response")}if(!C&&e.isFunction(D)){var P=D(d);P&&e.isString(P)&&(C=P)}if(d.status>=200&&d.status<=299){var z=d.status||200;if(typeof d.getResponseHeader=="function"){var F=d.getResponseHeader("Content-Type");if(F&&!/(text)|(json)/.test(F))return}d.responseType&&d.responseType!=="text"?m.api(x,!0,$,z,"",b,C,M,{},i,U,oe):r(m,R.parseResponse,x,y,d.responseText,z,$,b,C,M,se,U,oe)}else m.api(x,!1,$,d.status||"FAILED",d.statusText,b,C,M,se,i,U,oe),R.enableResource&&t.fixResourceStatus&&t.fixResourceStatus({src:d.responseURL||y,res_type:"api"})}}),d};l.prototype=f.prototype,e.each(Object.keys(f),function(p){l[p]=f[p]}),c[u]=l,c[u].toString=e.createFakeToString(u)}}()),t=this,this)},initHook:function(){return this.hasInitHook?this:(this.getConfig("disableHook")||this.addHook(),this.hasInitHook=!0,this)}}),s}),Zs}var Qs,en;function xo(){return en||(en=1,Qs=function(s,c){var e=$e(),t=c.history||{},i=c.document,r=function(a,o){var u;c.CustomEvent?u=new CustomEvent(a,{detail:o}):((u=i.createEvent("HTMLEvents")).initEvent(a,!1,!0),u.detail=o),c.dispatchEvent(u)},n=function(a){var o=t[a];typeof o=="function"&&(t[a]=function(u,h,g){var f=arguments.length===1?[arguments[0]]:Array.apply(null,arguments),l=location.href,p=o.apply(t,f);if(!g||typeof g!="string"||g===l)return p;try{var d=l.split("#"),m=g.split("#"),b=e.cutUrlSearch(d[0]),v=e.cutUrlSearch(m[0]),x=d[1]&&d[1].replace(/^\/?(.*)/,"$1"),y=m[1]&&m[1].replace(/^\/?(.*)/,"$1");x!==y?r("historystatechange",y):b!==v&&r("historystatechange",v)}catch(E){e.warn("[retcode] error in "+a+": "+E)}return p},t[a].toString=e.createFakeToString(a))};e.ext(s.prototype,{hackHistoryState:function(){return this.hasHackedHistoryState?this:(n("pushState"),n("replaceState"),this.hasHackedHistoryState=!0,this)}})}),Qs}var ur,tn;function So(){if(tn)return ur;tn=1;var s=$e(),c=nr(),e=c.TIMING_KEYS;return ur=function(t,i){function r(o,u,h){if(o instanceof i.PerformanceResourceTiming&&o.initiatorType){var g=s.getResType(o.initiatorType,o.name),f=u.resourceTypes||[],l=(u.ignore||{}).ignoreResources;if(g&&f.includes(g)&&!s.ignoreByRule(o.name,l)&&!s.ignoreByRule(s.decode(o.name),l)){var p=o[e[0]],d=o[e[1]],m=o[e[2]],b=o[e[3]],v=o[e[4]],x=o[e[5]],y=o[e[6]],E=o[e[7]],I=o[e[8]],w=o[e[18]],R=o[e[19]];if(!h.has(o)&&(!s.areInOrder(p,d,m,b,v,x,y,E,I)||p>E))return;if(w<p&&(w=p),R<p&&(R=d),s.areInOrder(p,w,R,d))return{domain:s.getURL(o.name).domain,res_type:g,src_type:s.getSrcType(o.name,u.cdnHostList),success:1,size:Math.round(o.decodedBodySize),duration:Math.round(o.duration),timeStamp:o.responseEnd,timing:o}}}}var n="_resource-"+Date.now(),a="_resource_error-"+Date.now();s.ext(t.prototype,{initResource:function(){var o=this,u=i.performance,h=i.PerformanceObserver;if(o[a]||(o[a]=new WeakMap),!u||!h||typeof u!="object"||typeof u.getEntriesByType!="function")return null;var g=u.getEntriesByType("resource")||[];return setTimeout(function(){o.setResource(g)},10),new h(function(f){setTimeout(function(){o.setResource(f.getEntries())},10)}).observe({entryTypes:["resource"]}),this.onReady(function(){setTimeout(o.resourceComboReport.bind(o),5e3)}),o},setResource:function(o){var u=this._conf,h=this[a];if(s.isArray(o)&&o.length){this[n]||(this[n]={});for(var g=this[n],f=0,l=o.length;f<l;f+=1){var p=o[f];if(s.checkAPI(p.name,!1)){var d=r(p,u,h);if(d){var m=d.res_type+"-"+d.domain;m in g||(g[m]=[]),g[m].push(d)}}}return this}},fixResourceStatus:function(o){var u=i.performance;if(!u||typeof u.getEntriesByName!="function")return null;var h=this[a];if(!o.src||!s.checkAPI(o.src,!1))return this;var g=o.timeStamp||u.now(),f=u.getEntriesByName(o.src,"resource");return s.each(f,function(l){h.has(l)||g-l.responseEnd<100&&h.set(l,{success:0})}),this},resourceComboReport:function(){var o=this[n]||{},u=this._conf.resourceSlow||2e3,h=this[a];this[n]={};var g=Object.keys(o);if(g.length!==0){var f=[];s.each(g,function(m){var b=o[m],v={domain:"",res_type:"",src_type:"",size:0,duration:0,count:0,err_count:0,err_duration:0,slow_count:0,slow_duration:0,timings:[]};s.each(b,function(x){var y=x.timing||{},E=h.get(x.timing),I=E?E.success:1,w=x.duration>u?1:0;v.domain=x.domain,v.res_type=x.res_type,v.src_type=x.src_type,v.count+=1,v.duration+=x.duration,v.size+=x.size,I||(v.err_count+=1,v.err_duration+=x.duration),w&&(v.slow_count+=1,v.slow_duration+=x.duration);try{var R=JSON.parse(JSON.stringify(y));R.success=I,R.resourceSlow=u,R.isSlow=w,v.timings.push(R)}catch(L){}}),v.count&&(v.size=Math.round(v.size/v.count),v.duration=Math.round(v.duration/v.count)),v.slow_count&&(v.slow_duration=Math.round(v.slow_duration/v.slow_count)),v.err_count&&(v.err_duration=Math.round(v.err_duration/v.err_count)),v.timings.length>20&&(v.timings.sort(function(x,y){return y.duration-x.duration}),v.timings.length=20),v.timings=encodeURIComponent(JSON.stringify(v.timings)),f.push(v)});var l={_combo:1,resource:JSON.stringify(f)},p=i.navigator.connection;l.ct=p?p.effectiveType||p.type:"";var d=p&&(p.downlink||p.downlinkMax||p.bandwidth)||null;(d=d>999?999:d)&&(l.bandwidth=d),this._lg("resource",l,this.getConfig("sample"))}}})},ur}var rn;function _o(){if(rn)return it.exports;rn=1;var s=$e(),c=uo(),e=ho(),t=lo(),i=s.win,r=i.document,n=/^(error|api|speed|sum|avg|percent|custom|msg|setPage|setConfig|behavior|performance)$/,a=function(o){var u=this;return c.call(u,o),u._initialPage=o.page&&s.safetyCall(o.page,[],o.page+"")||null,u._isRobot=s.isRobot(),u._health={errcount:0,apisucc:0,apifail:0},u.beforeSend=function(h,g){h==="error"?u._health.errcount++:h==="api"&&u._health[g.success?"apisucc":"apifail"]++},o.enableInstanceAutoSend!==!1&&(u.initHandler(),u.initHook(),u.initFmpObserver(1e4),u._conf&&u._conf.behavior&&typeof u.initBehavior=="function"&&u.initBehavior(),u._conf&&u._conf.enableResource&&typeof u.initResource=="function"&&u.initResource()),Object.defineProperty&&i.addEventListener&&Object.defineProperty(u,"pipe",{set:u.sendPipe}),u};return a.prototype=s.createObject(c.prototype),s.ext(c._root.dftCon,{uid:null,setUsername:null,ignoreUrlPath:null,ignoreApiPath:null,urlHelper:[{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},/\/$/],resourceHelper:[],apiHelper:{rule:/\/([a-z\-_]+)?\d{2,20}/g,target:"/$1**"},ignoreUrlCase:!0,imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",cdnHostList:[],resourceTypes:["css","script","img","font"],resourceSlow:2e3,disableHook:!1,autoSendPv:!0,autoSendPerf:!0,enableSPA:!1,enableLinkTrace:!1,linkType:"arms",enableApiCors:!1,sendResource:!0,behavior:!0,enableConsole:!1,parseHash:function(o){return(o?s.cutUrlSearch(o.replace(/^#\/?/,"")):"")||"[index]"},parseResponse:function(o){if(!o||typeof o!="object")return{};var u=o.code,h=o.msg||o.message||o.subMsg||o.errorMsg||o.ret||o.errorResponse||"";return typeof h=="object"&&(u=u||h.code,h=h.msg||h.message||h.info||h.ret||JSON.stringify(h)),{msg:h,code:u,success:!0}}}),s.ext(a.prototype,{constructor:a,_super:c,onReady:function(o){var u=this;if(u.hasReady)return o();r.readyState==="complete"?(u.hasReady=!0,o()):s.on(i,"load",function(){u.hasReady=!0,o()},!0)},getPage:function(o){var u=this._conf,h=u.page,g=location,f=g.host+g.pathname;return h&&!o?s.safetyCall(h,[],h+""):this._initialPage||s.filterByRule(u.ignoreUrlCase?f.toLowerCase():f,g.href,u.ignoreUrlPath?u.ignoreUrlPath:u.urlHelper)},setPage:function(o,u){var h=this,g=h.prevPage;if(u!==!1){if(!o||o===g)return h;h.prevPage=o,clearTimeout(h.sendPVTimmer),h.handleUnload(1),h.resetPageview(),h.sendPVTimmer=setTimeout(function(){h.sendPV()},10)}else h.prevPage=o;return h._conf.page=o,h},setConfig:function(o,u){if(o&&typeof o=="object"){s.verifyConfig(o),o=this.setImgUrl(o);var h=this._conf;if(this._conf=s.ext({},h,o),!u){var g="disableHook";g in o&&h[g]!==o[g]&&(o[g]?this.removeHook():this.addHook()),(g="enableSPA")in o&&h[g]!==o[g]&&this.bindHashChange(o[g])}}},sendRequest:function(o){e(o,this.getConfig("imgUrl"))},postData:function(o,u){var h={};h[u]=o[u],delete o[u];var g="";typeof o=="object"&&(g=s.serialize(o)),t(h,this.getConfig("imgUrl")+g+"&post_res=")},sendPipe:function(o){var u=this;if(!o||!o.length)return u;try{if(s.T(o[0])==="Array")return s.each(o,function(g){return u.sendPipe(g)});if(s.T(o)!=="Array")return u;var h=o.shift();if(!n.test(h))return u;u[h].apply(u,o)}catch(g){return s.warn("[retcode] error in sendPipe",g),u}},sendHealth:function(){var o=s.ext({},this._health);o.healthy=o.errcount>0?0:1,o.begin=Date.now();var u=o.begin-this.sBegin;o.stay=u,this._lg("health",o,1),this._health={errcount:0,apisucc:0,apifail:0}},createInstance:function(o){o=s.ext({pid:this._conf.pid},o);var u=this.__proto__.constructor(o);return o.page&&u.sendPV(),u}}),fo()(a,i),go()(a,i,r),vo()(a,i,r),bo()(a,i),xo()(a,i),So()(a,i),a._super=c,a._root=c._root,c.Browser=a,it.exports=a,it.exports}var sn;function yo(){if(sn)return pt.exports;sn=1;function s(a,o){var u=e[i]=new t(a);u.sendPipe(o);var h=u._conf;return h.autoSendPv!==!1&&u.sendPV(),h&&h.useFmp||u.sendPerformance(),h&&h.sendResource&&u.sendResources(),e[r]=!0,u}function c(){if(e[r])return e[i];var a={},o=[];return i in e&&(a=e[i].config||{},o=e[i].pipe||[]),s(a,o)}var e=window,t=e.BrowserLogger=_o(),i=$e().key,r="__hasInitBlSdk";t.singleton=function(a,o){return e[r]?e[i]:s(a,o)},t.createExtraInstance=function(a){a&&typeof a=="object"&&a.enableInstanceAutoSend!==!0&&(a.enableInstanceAutoSend=!1);var o=new t(a),u=o._conf;return u.enableInstanceAutoSend&&(u.autoSendPv!==!1&&o.sendPV(),u&&u.useFmp||o.sendPerformance(),u&&u.sendResource&&o.sendResources()),o};var n=typeof window=="object"&&!!window.navigator;return n&&e[i]&&(t.bl=c()),pt.exports=t,pt.exports}function Ao(){return yo()}var Eo={getArmsLogger:Ao};const nn="https://arms-retcode.aliyuncs.com/r.png?",an="https://arms-retcode-sg.aliyuncs.com/r.png?",on="https://retcode-us-west-1.arms.aliyuncs.com/r.png?",cn="e1iftji1w7@7ec1cef2cc88733",un="e1iftji1w7@10a06d1ec260adc",hn="e1iftji1w7@10a06d1ec260adc",hr={cn:{reportUrl:nn,pid:cn},"cn-hangzhou":{reportUrl:nn,pid:cn},sg:{reportUrl:an,pid:un},"ap-southeast-1":{reportUrl:an,pid:un},usw:{reportUrl:on,pid:hn},"us-west-1":{reportUrl:on,pid:hn}},dn=s=>s!==null&&typeof s=="object",wo=s=>Object.prototype.toString.call(s).slice(8,-1),ln=s=>Object.isExtensible(s)?wo(s)==="Object":!1;function Co(s,c,e){const t=[],i=typeof Object.getOwnPropertyDescriptors=="function"?Object.getOwnPropertyDescriptors(Object.getPrototypeOf(s)):{};for(const n of Object.keys(i))i[n].get&&t.push(n);const r={MediaboxWrapperObjectGetter(n,a){if(typeof a=="string"&&t.indexOf(a)>-1){let h;try{h=n[a]}catch(g){throw e(g),g}return At(h,c+1,e)}let o=()=>{};typeof n[a]=="function"&&(o=n[a].bind(n));const u={MediaboxWrapperObjectMethod(...h){let g;try{g=o(...h)}catch(f){throw e(f),f}return At(g,c+1,e)}};return typeof n[a]=="function"?u.MediaboxWrapperObjectMethod:c>10?n[a]:At(n[a],c+1,e)},MediaboxWrapperObjectSetter(n,a,o){return n[a]=At(o,c+1,e),!0}};return new Proxy(s,{get:r.MediaboxWrapperObjectGetter,set:r.MediaboxWrapperObjectSetter})}function Io(s,c,e){const t={MediaboxWrapperFunctionApply(i,r,n){let a;try{a=i.apply(r,n),dn(a)&&ln(a)&&(a.__v_skip=!0)}catch(o){throw e(o),o}return At(a,c+1,e)},MediaboxWrapperFunctionGet(i,r){const n=Object.getOwnPropertyDescriptor(i,r);return n&&!n.writable&&!n.configurable?i[r]:At(i[r],c+1,e)},MediaboxWrapperClassConstructor(i,r){let n;try{n=new i(...r),n.__v_skip=!0}catch(a){throw e(a),a}return At(n,c+1,e)}};return new Proxy(s,{apply:t.MediaboxWrapperFunctionApply,get:t.MediaboxWrapperFunctionGet,construct:t.MediaboxWrapperClassConstructor})}const jt="-c-";function Ro(s){if(typeof s!="string")return jt;if(dr(s))return s;const c=s.indexOf(`
5
5
  `);return c<0?`${s}${jt}`:`${s.slice(0,c)}${jt}${s.slice(c)}`}function Do(s){return typeof s!="string"?"":dr(s)?s.replace(jt,""):s}function dr(s){if(typeof s!="string")return!1;const c=s.indexOf(jt);if(c<0)return!1;const e=s.indexOf(`
6
- `);return e<0?c===s.length-jt.length:c===e-jt.length}function At(s,c,e){return typeof s=="function"?Io(s,c+1,e):s instanceof Promise?s.then(t=>At(t,c+1,e)).catch(t=>(e(t),Promise.reject(t))):Array.isArray(s)?s.map(t=>At(t,c+1,e)):dn(s)&&ln(s)?Co(s,c+1,e):s}function To(s){return typeof s!="string"?!1:s.indexOf("g.alicdn.com/apsara-media-")>-1||s.indexOf("g.alicdn.com/thor-server")>-1}function fn(s){return typeof s!="string"?!1:s.indexOf("g.alicdn.com/apsara-media-")>-1||s.indexOf("g.alicdn.com/thor-server")>-1||s.indexOf("MediaboxWrapper")>-1}class pn extends Error{constructor(c){super(c),this.name="MQTError"}}class lr{constructor(c){ht(this,"armsLogger"),ht(this,"isReady",!1),ht(this,"isDestroyed",!1),ht(this,"options"),ht(this,"queue",[]),ht(this,"helper",{MediaboxWrapperQueue(n){return new pn(n)},MediaboxWrapperInitiative(n){return new pn(n)}}),this.options=c;const{region:e="cn",env:t="prod"}=c;if(!hr[e])throw new Error(`region ${e} is not supported`);const i=n=>{var a;if(this.isDestroyed||dr(n.stack)||n.t!=="pv"&&n.t!=="error")return!1;if(n.c1=(a=this.options.cid)!=null?a:window.location.host,n.c2=lr.version,this.options.customData&&(n.c3=new URLSearchParams(this.options.customData).toString()),n.t==="error"){if(To(n.file)||fn(n.stack)){let o=n;return this.options.beforeSend&&(o=this.options.beforeSend(n)),this.isReady?o:(o&&this.queue.push(o),!1)}return!1}return n},r=Eo.getArmsLogger();this.armsLogger=r.createExtraInstance({enableInstanceAutoSend:!0,pid:hr[e].pid,tag:c.businessName,release:`${c.businessName}_${c.version}`,imgUrl:hr[e].reportUrl,behavior:!0,sample:1,disableHook:!0,environment:t,beforeReport:i})}static get version(){return"0.19.0"}wrap(c){return this.options.disabled||typeof Proxy>"u"?c:At(c,0,e=>{e instanceof Error&&typeof e.stack=="string"&&fn(e.stack)&&(e.stack=Do(e.stack),this.armsLogger.error(e),e.stack=Ro(e.stack))})}updateOptions(c){this.options=be(be({},this.options),c)}setReady(){this.isReady=!0,this.queue.length&&this.queue.forEach(c=>{this.armsLogger.error(this.helper.MediaboxWrapperQueue(c.msg),{filename:c.file,lineno:c.line,colno:c.col})})}report(c,e){this.armsLogger.error(this.helper.MediaboxWrapperInitiative(c),e)}destroy(){this.isDestroyed=!0}}for(var Re=(s=>(s.PullStreamStats="remoteStat",s.RtsSubscribeExceeds="rtsSubscribeExceeds",s.UserJoined="userJoined",s.UserLeft="userLeft",s.Bye="bye",s.MuteAudio="muteAudio",s.UnmuteAudio="unmuteAudio",s.MuteVideo="muteVideo",s.UnmuteVideo="unmuteVideo",s.MuteScreen="muteScreen",s.UnmuteScreen="unmuteScreen",s.Error="error",s))(Re||{}),rt=(s=>(s.Local="local-device-status-change",s.Remote="remote-device-status-change",s))(rt||{}),G=(s=>(s.Audio="sophon_audio",s.VideoLarge="sophon_video_camera_large",s.VideoSmall="sophon_video_camera_small",s.Screen="sophon_video_screen_share",s.Data="sophon_data",s))(G||{}),fr=(s=>(s.Audio="rts audio",s.VideoLarge="rts video",s))(fr||{}),Wt=(s=>(s.Add="add",s.Delete="delete",s.Replace="replace",s.Stop="stop",s.UnPublish="unpublish",s))(Wt||{}),ni=(s=>(s[s.Camera=0]="Camera",s[s.Screen=1]="Screen",s[s.Image=2]="Image",s))(ni||{}),Pi=(s=>(s[s.Microphone=0]="Microphone",s[s.Screen=1]="Screen",s[s.Mixed=2]="Mixed",s))(Pi||{}),Be=(s=>(s.InRoom="inRoom",s.Join="join",s.Publish="publish",s.User="user",s.Resume="resume",s.Retry="retry",s.Reconnect="reconnect",s))(Be||{}),Bt=(s=>(s[s.MANUAL=0]="MANUAL",s[s.JOIN_CHANNEL=1]="JOIN_CHANNEL",s[s.ROLE_CHANGE=2]="ROLE_CHANGE",s))(Bt||{}),Ze=[],pr=0;pr<256;++pr)Ze.push((pr+256).toString(16).slice(1));function ko(s,c=0){return(Ze[s[c+0]]+Ze[s[c+1]]+Ze[s[c+2]]+Ze[s[c+3]]+"-"+Ze[s[c+4]]+Ze[s[c+5]]+"-"+Ze[s[c+6]]+Ze[s[c+7]]+"-"+Ze[s[c+8]]+Ze[s[c+9]]+"-"+Ze[s[c+10]]+Ze[s[c+11]]+Ze[s[c+12]]+Ze[s[c+13]]+Ze[s[c+14]]+Ze[s[c+15]]).toLowerCase()}var Bi,Po=new Uint8Array(16);function Bo(){if(!Bi&&(Bi=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Bi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Bi(Po)}var Lo=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const mn={randomUUID:Lo};function Kt(s,c,e){if(mn.randomUUID&&!c&&!s)return mn.randomUUID();s=s||{};var t=s.random||(s.rng||Bo)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,c){e=e||0;for(var i=0;i<16;++i)c[e+i]=t[i];return c}return ko(t)}var Li=(s=>(s.prod="rs.rtn.aliyuncs.com",s.pre="prs.rtn.aliyuncs.com",s))(Li||{});const mr="6.13.1",gn="web";class St{static getVersionNumber(){let c=mr.split("."),e="";return c.forEach(t=>{t.length===1?e+="0"+t:e+=t}),parseInt(e)}static queryingParam(c){let e=[];if(c)for(let t in c)e.push(t+"="+c[t]);return e.join("&")}static getQueryParams(c){const t=window.location.search.substring(1).split("&");for(let i=0;i<t.length;i++){const r=t[i].split("=");if(decodeURIComponent(r[0])===c)return decodeURIComponent(r[1])}}static createCallid(c=""){const e=Kt();return c&&e&&e.length>c.length?`${c}${e.substring(c.length)}`:e}static checkSubOptionsValid(c){if(c){const{audio:e,video:t,screen:i}=c;if(e===!1&&t===!1&&i===!1)return!1}return!0}static isNetworkAvailable(){return O(this,null,function*(){const c=Li.prod,{onLine:e}=navigator;if(!e)return!1;try{return yield fetch(`https://${c}/roomserver/v1/ws/version`),!0}catch(t){return!1}})}}var _e=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function vn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Mo(s){if(s.__esModule)return s;var c=s.default;if(typeof c=="function"){var e=function t(){return this instanceof t?Reflect.construct(c,arguments,this.constructor):c.apply(this,arguments)};e.prototype=c.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(s).forEach(function(t){var i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return s[t]}})}),e}function gi(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bn={exports:{}};/*!
6
+ `);return e<0?c===s.length-jt.length:c===e-jt.length}function At(s,c,e){return typeof s=="function"?Io(s,c+1,e):s instanceof Promise?s.then(t=>At(t,c+1,e)).catch(t=>(e(t),Promise.reject(t))):Array.isArray(s)?s.map(t=>At(t,c+1,e)):dn(s)&&ln(s)?Co(s,c+1,e):s}function To(s){return typeof s!="string"?!1:s.indexOf("g.alicdn.com/apsara-media-")>-1||s.indexOf("g.alicdn.com/thor-server")>-1}function fn(s){return typeof s!="string"?!1:s.indexOf("g.alicdn.com/apsara-media-")>-1||s.indexOf("g.alicdn.com/thor-server")>-1||s.indexOf("MediaboxWrapper")>-1}class pn extends Error{constructor(c){super(c),this.name="MQTError"}}class lr{constructor(c){ht(this,"armsLogger"),ht(this,"isReady",!1),ht(this,"isDestroyed",!1),ht(this,"options"),ht(this,"queue",[]),ht(this,"helper",{MediaboxWrapperQueue(n){return new pn(n)},MediaboxWrapperInitiative(n){return new pn(n)}}),this.options=c;const{region:e="cn",env:t="prod"}=c;if(!hr[e])throw new Error(`region ${e} is not supported`);const i=n=>{var a;if(this.isDestroyed||dr(n.stack)||n.t!=="pv"&&n.t!=="error")return!1;if(n.c1=(a=this.options.cid)!=null?a:window.location.host,n.c2=lr.version,this.options.customData&&(n.c3=new URLSearchParams(this.options.customData).toString()),n.t==="error"){if(To(n.file)||fn(n.stack)){let o=n;return this.options.beforeSend&&(o=this.options.beforeSend(n)),this.isReady?o:(o&&this.queue.push(o),!1)}return!1}return n},r=Eo.getArmsLogger();this.armsLogger=r.createExtraInstance({enableInstanceAutoSend:!0,pid:hr[e].pid,tag:c.businessName,release:`${c.businessName}_${c.version}`,imgUrl:hr[e].reportUrl,behavior:!0,sample:1,disableHook:!0,environment:t,beforeReport:i})}static get version(){return"0.19.0"}wrap(c){return this.options.disabled||typeof Proxy>"u"?c:At(c,0,e=>{e instanceof Error&&typeof e.stack=="string"&&fn(e.stack)&&(e.stack=Do(e.stack),this.armsLogger.error(e),e.stack=Ro(e.stack))})}updateOptions(c){this.options=be(be({},this.options),c)}setReady(){this.isReady=!0,this.queue.length&&this.queue.forEach(c=>{this.armsLogger.error(this.helper.MediaboxWrapperQueue(c.msg),{filename:c.file,lineno:c.line,colno:c.col})})}report(c,e){this.armsLogger.error(this.helper.MediaboxWrapperInitiative(c),e)}destroy(){this.isDestroyed=!0}}for(var Re=(s=>(s.PullStreamStats="remoteStat",s.RtsSubscribeExceeds="rtsSubscribeExceeds",s.UserJoined="userJoined",s.UserLeft="userLeft",s.Bye="bye",s.MuteAudio="muteAudio",s.UnmuteAudio="unmuteAudio",s.MuteVideo="muteVideo",s.UnmuteVideo="unmuteVideo",s.MuteScreen="muteScreen",s.UnmuteScreen="unmuteScreen",s.Error="error",s))(Re||{}),rt=(s=>(s.Local="local-device-status-change",s.Remote="remote-device-status-change",s))(rt||{}),G=(s=>(s.Audio="sophon_audio",s.VideoLarge="sophon_video_camera_large",s.VideoSmall="sophon_video_camera_small",s.Screen="sophon_video_screen_share",s.Data="sophon_data",s))(G||{}),fr=(s=>(s.Audio="rts audio",s.VideoLarge="rts video",s))(fr||{}),Wt=(s=>(s.Add="add",s.Delete="delete",s.Replace="replace",s.Stop="stop",s.UnPublish="unpublish",s))(Wt||{}),ni=(s=>(s[s.Camera=0]="Camera",s[s.Screen=1]="Screen",s[s.Image=2]="Image",s))(ni||{}),Pi=(s=>(s[s.Microphone=0]="Microphone",s[s.Screen=1]="Screen",s[s.Mixed=2]="Mixed",s))(Pi||{}),Be=(s=>(s.InRoom="inRoom",s.Join="join",s.Publish="publish",s.User="user",s.Resume="resume",s.Retry="retry",s.Reconnect="reconnect",s))(Be||{}),Bt=(s=>(s[s.MANUAL=0]="MANUAL",s[s.JOIN_CHANNEL=1]="JOIN_CHANNEL",s[s.ROLE_CHANGE=2]="ROLE_CHANGE",s))(Bt||{}),Ze=[],pr=0;pr<256;++pr)Ze.push((pr+256).toString(16).slice(1));function ko(s,c=0){return(Ze[s[c+0]]+Ze[s[c+1]]+Ze[s[c+2]]+Ze[s[c+3]]+"-"+Ze[s[c+4]]+Ze[s[c+5]]+"-"+Ze[s[c+6]]+Ze[s[c+7]]+"-"+Ze[s[c+8]]+Ze[s[c+9]]+"-"+Ze[s[c+10]]+Ze[s[c+11]]+Ze[s[c+12]]+Ze[s[c+13]]+Ze[s[c+14]]+Ze[s[c+15]]).toLowerCase()}var Bi,Po=new Uint8Array(16);function Bo(){if(!Bi&&(Bi=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Bi))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Bi(Po)}var Lo=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const mn={randomUUID:Lo};function Kt(s,c,e){if(mn.randomUUID&&!c&&!s)return mn.randomUUID();s=s||{};var t=s.random||(s.rng||Bo)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,c){e=e||0;for(var i=0;i<16;++i)c[e+i]=t[i];return c}return ko(t)}var Li=(s=>(s.prod="rs.rtn.aliyuncs.com",s.pre="prs.rtn.aliyuncs.com",s))(Li||{});const mr="6.13.2-beta.1",gn="web";class St{static getVersionNumber(){let c=mr.split("."),e="";return c.forEach(t=>{t.length===1?e+="0"+t:e+=t}),parseInt(e)}static queryingParam(c){let e=[];if(c)for(let t in c)e.push(t+"="+c[t]);return e.join("&")}static getQueryParams(c){const t=window.location.search.substring(1).split("&");for(let i=0;i<t.length;i++){const r=t[i].split("=");if(decodeURIComponent(r[0])===c)return decodeURIComponent(r[1])}}static createCallid(c=""){const e=Kt();return c&&e&&e.length>c.length?`${c}${e.substring(c.length)}`:e}static checkSubOptionsValid(c){if(c){const{audio:e,video:t,screen:i}=c;if(e===!1&&t===!1&&i===!1)return!1}return!0}static isNetworkAvailable(){return O(this,null,function*(){const c=Li.prod,{onLine:e}=navigator;if(!e)return!1;try{return yield fetch(`https://${c}/roomserver/v1/ws/version`),!0}catch(t){return!1}})}}var _e=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function vn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Mo(s){if(s.__esModule)return s;var c=s.default;if(typeof c=="function"){var e=function t(){return this instanceof t?Reflect.construct(c,arguments,this.constructor):c.apply(this,arguments)};e.prototype=c.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(s).forEach(function(t){var i=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return s[t]}})}),e}function gi(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bn={exports:{}};/*!
7
7
 
8
8
  JSZip v3.10.1 - A JavaScript class for generating and reading zip files
9
9
  <http://stuartk.com/jszip>
@@ -36,8 +36,8 @@ var bu=Object.defineProperty,xu=Object.defineProperties;var Su=Object.getOwnProp
36
36
  `+a+`
37
37
  `;const h=(p,d)=>p[0].localeCompare(d[0]),g=p=>p[0].startsWith("x-log-")||p[0].startsWith("x-acs-");try{const p=[...r.entries()].filter(g).sort(h).map(d=>d[0]+":"+d[1]+`
38
38
  `).join("");u+=p}catch(p){}u+=c,i.size>0&&(u+="?");try{u+=[...i.entries()].sort(h).map(p=>p[0]+"="+p[1]).join("&")}catch(p){}const f=vi.HmacSHA1(u,t).toString(vi.enc.Base64),l="LOG "+e+":"+f;return r.set("Authorization",l),r.set("x-log-date",a),l}var Wc=(s,c,e)=>new Promise((t,i)=>{var r=o=>{try{a(e.next(o))}catch(u){i(u)}},n=o=>{try{a(e.throw(o))}catch(u){i(u)}},a=o=>o.done?t(o.value):Promise.resolve(o.value).then(r,n);a((e=e.apply(s,c)).next())});function Kc(s){return Wc(this,null,function*(){const c=new Date;if(s.refreshSTSTokenInterval||(s.refreshSTSTokenInterval=3e5),!s.stsTokenFreshTime||+c-s.stsTokenFreshTime>=s.refreshSTSTokenInterval){s.stsTokenFreshTime=c;try{yield s.refreshSTSToken()}catch(e){typeof console.error=="function"&&console.error(`Some error occured during excuting refreshSTSToken, see:
39
- `+e)}}return null})}var $c=(s,c,e)=>new Promise((t,i)=>{var r=o=>{try{a(e.next(o))}catch(u){i(u)}},n=o=>{try{a(e.throw(o))}catch(u){i(u)}},a=o=>o.done?t(o.value):Promise.resolve(o.value).then(r,n);a((e=e.apply(s,c)).next())});function xa(s){return{transString:function(c){let e={},t=0,i=!1;for(let r in c){if((r==="time"||r==="__time__")&&typeof c[r]=="number"){t=c[r],i=!0;continue}typeof c[r]=="object"?e[r]=JSON.stringify(c[r]):e[r]=String(c[r])}return e.__time__=i?t:Math.floor(new Date().getTime()/1e3),e},process:function(c,e){return $c(this,null,function*(){yield Kc(s);let t=c.slice(c.indexOf("/logstores")),i=e.length,r=zc(e),n=new Date().toUTCString(),a=new Map,o=new Map([["Content-Type","application/json"],["Content-MD5",r],["x-log-bodyrawsize",i.toString()]]);s.securityToken&&o.set("x-acs-security-token",s.securityToken),jc("POST",t,s.accessKeyId,s.accessKeySecret,a,o,r,n);let u=Object.fromEntries(o);return{data:e,header:u}})}}}typeof window!="undefined"&&ga(window,"stsPlugin",xa);const{BrowserUtil:qc}=pe.AliRTS,ai={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Gecko:"Gecko",WebKit:"WebKit"},Vi=(s,c)=>{const e=c.match(s);return e&&e.length>0&&e[1]||""},Gc=[{test:[/\sedg\//i,[/edg([ea]|ios)/i]],describe(s){if(/\sedg\//i.test(s))return{name:ai.Blink};const e=Vi(/edge\/(\d+(\.?_?\d+)+)/i,s);return{name:ai.EdgeHTML,version:e}}},{test:[/trident/i],describe(s){const c={name:ai.Trident},e=Vi(/trident\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test(s){const c=/gecko/i.test(s),e=/like gecko/i.test(s);return c&&!e},describe(s){const c={name:ai.Gecko},e=Vi(/gecko\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:ai.Blink}}},{test:[/(apple)?webkit/i],describe(s){const c={name:ai.WebKit},e=Vi(/webkit\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}}],us=(s,c)=>s.find(e=>{if(typeof e.test=="function")return e.test(c);if(Array.isArray(e.test))return e.test.some(t=>typeof t=="string"?c.indexOf(t)>-1:t instanceof RegExp?t.test(c):!1)}),Jc=()=>{try{const s=navigator.userAgent||"",c=us(Gc,s);if(c){const e=c.describe(s);return`${e.name}/${e.version||qc.browserVersion}`}}catch(s){}return navigator.userAgent},Xc=[{test:["wow64","win64","x64"],describe(){return"amd64"}},{test:["i686","x86"],describe(){return"x86"}},{test:["aarch64","arm64"],describe(){return"arm64"}},{test:["arm"],describe(){return"arm"}}],Zc=()=>{let s="unknown";try{const c=navigator.userAgent||"",e=us(Xc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},Yc=[{test:[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],describe(){return"Samsung"}},{test:[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i,/\((ipad);[-\w\),; ]+apple/i,/(macintosh);/i],describe(){return"Apple"}},{test:[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],describe(){return"Huawei"}},{test:[/(?:honor)([-\w ]+)[;\)]/i],describe(){return"Honor"}},{test:[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],describe(){return"Xiaomi"}},{test:[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],describe(){return"Oppo"}},{test:[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],describe(){return"Vivo"}},{test:[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],describe(){return"Realme"}},{test:[/(pixel c)\b/i,/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],describe(){return"Google"}},{test:[/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],describe(){return"ZTE"}},{test:[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],describe(){return"Meizu"}}],Qc=()=>{let s="Unknown";try{const c=navigator.userAgent||"",e=us(Yc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},{BrowserUtil:hs,SystenUtil:Sa}=pe.AliRTS;class _a{constructor(){_(this,"tracker");_(this,"param");_(this,"msgCacheArr",[]);_(this,"index",0);_(this,"stsOpt");_(this,"slsToken");_(this,"ossToken")}createTracker(){if(!this.tracker&&this.slsToken&&this.param){const c=this.slsToken;this.ossToken&&(this.param.ossbn=this.ossToken.bucket_name,this.param.ossep=this.ossToken.region_endpoint);const e=new ba({host:c.region_endpoint,project:c.project,logstore:c.log_store_stats}),t={accessKeyId:c.access_key_id,accessKeySecret:c.access_key_secret,securityToken:c.security_token,refreshSTSToken:()=>{this.slsToken&&(t.accessKeyId=this.slsToken.access_key_id,t.accessKeySecret=this.slsToken.access_key_secret,t.securityToken=this.slsToken.security_token)}};this.stsOpt=t;const i=xa(t);e.useStsPlugin(i),this.tracker=e,this.msgCacheArr.forEach((r,n)=>{var a,o;(o=this.tracker)==null||o.send(be(Rt(be({},this.param),{stat_log_id:`${((a=this.param)==null?void 0:a.sesid)||"nosession"}-${n}`}),r))}),this.index=this.index+this.msgCacheArr.length,this.msgCacheArr=[]}}start(c){this.initParam(c),this.createTracker()}updateToken(c,e){this.slsToken=c,this.ossToken=e,this.createTracker()}stop(){this.tracker=void 0}sendReport(c){var t,i;c.tm=Date.now();let e;try{e=JSON.parse(JSON.stringify(be(Rt(be({bt:hs.browserName||"unknown"},this.param),{stat_log_id:`${((t=this.param)==null?void 0:t.sesid)||"nosession"}-${this.index}`}),c)))}catch(r){}if(e){if(!this.tracker){this.msgCacheArr.push(e);return}(i=this.tracker)==null||i.send(e),this.index++}}initParam(c){let e=localStorage==null?void 0:localStorage.getItem("AliRtcUUID");e||(e=Kt(),localStorage==null||localStorage.setItem("AliRtcUUID",e)),this.param||(this.param={apid:c.appId,usrid:c.userId,statsvrs:"0.6.1",evetid:0,sesid:c.sessionId,sessionId:c.sessionId,channelid:c.channelId,usrn:c.userId,osn:Sa.systemName,osv:Sa.systemVersion,deb:Qc(),den:Jc(),udid:e,sdkvrs:mr,acs:"Unknown",cput:Zc(),dm:`${window.location.protocol}//${window.location.host}`,bt:hs.browserName,bv:hs.browserVersion,envir:"PRODUCT",args:""})}}const Le=(s,c=1,e=6e4,t=0)=>{let i=s;return i||(i=0),Math.min(e,Math.max(t,Math.round(i*c)))},vt=(s,c,e=2e7,t=0)=>{let i=c;(!c||c<0||c>1e4)&&(i=1e3);let r=s;return r||(r=0),Math.min(e,Math.max(t,Math.round(r/(i/1e3))))},Jt=(s,c)=>{if(c===0||!c)return"0.00";let e=s;return(!e||e<0)&&(e=0),(e/c*100).toFixed(2)},ya=s=>s>=0&&s<=1?Le(Math.floor(32767*s),1,32767):0,Me=(s,c)=>{var t,i,r;let e=((t=s._last)==null?void 0:t[c])||0;return s.ssrc&&((i=s._last)!=null&&i.ssrc)&&s.ssrc!==((r=s._last)==null?void 0:r.ssrc)&&(e=0),((s==null?void 0:s[c])||0)-e},e0=(s,c)=>{var e,t,i;return(((e=s==null?void 0:s._source)==null?void 0:e[c])||0)-(((i=(t=s==null?void 0:s._last)==null?void 0:t._source)==null?void 0:i[c])||0)},Aa=(s,c)=>Le(Me(s,c),1e3,1e4),Xt=(s,c=2e7)=>Le(s,1,c),Ti=class Ti{constructor(c){_(this,"engine");_(this,"logClient");_(this,"authInfo");this.logClient=new _a,this.engine=c}static getLogClient(){return this.staticClient||(this.staticClient=new _a),this.staticClient}static reportOSSUpload(c,e,t=0){Ti.getLogClient().sendReport({errmsg:`${e}/${c}.log`,errtype:t,evetid:70017,sesid:c,sessionId:c,stat_log_id:`${c}-70017`})}start(c){this.authInfo=c,this.logClient.start(c)}updateToken(c,e){this.logClient.updateToken(c,e),Ti.getLogClient().updateToken(c,e)}stop(){this.logClient.stop()}reportPublishMonitor(c,e,t,i,r){if(!t||r.length<=0)return;const n=t===G.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],y=[],E=[],I=[],w=[],R=[],L=[],D=[];try{if(r.forEach(N=>{var z,F,K,Q,ge,ce;if(!N||!N.timestamp)return;const C=(z=N._last)!=null&&z.timestamp?N.timestamp-N._last.timestamp:1e3,M=Me(N,"bytesSent"),A=Me(N,"headerBytesSent"),U=vt(Le(M+A,8,2e7),C);o.push(U);const ie=vt(Le(M,8,2e7),C);u.push(ie);const q=vt(Le(A,8,2e7),C);h.push(q);const oe=Me(N,"packetsSent"),$=vt(oe,C);g.push($);const se=Me(N,"packetsLost"),k=vt(se,C);f.push(k);const P=Jt(se,oe);if(l.push(P),n)(F=N._source)!=null&&F.audioLevel&&p.push(ya(N._source.audioLevel)),d.push(0);else{m.push(Aa(N,"totalEncodeTime")),b.push(Xt((K=N._source)==null?void 0:K.framesPerSecond,100)),v.push(Xt((Q=N._source)==null?void 0:Q.framesPerSecond,100)),x.push(Xt(N.framesPerSecond,100)),y.push(Xt((ge=N._source)==null?void 0:ge.height,4400)),E.push(Xt((ce=N._source)==null?void 0:ce.width,7700)),I.push(Xt(N.frameHeight,4400)),w.push(Xt(N.frameWidth,7700));const Se=Me(N,"totalPacketSendDelay");R.push(Le(Se,1/(se||1),2e3));const De=Me(N,"qpSum");L.push(Le(De,1/(N.framesPerSecond||1),51)),D.push(0)}}),a.sbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.ps=g.join(","),a.pl=f.join(","),a.plr=l.join(","),n){const N=(i==null?void 0:i.getSettings().sampleRate)||0;a.ailevel=p.join(","),a.arpc=d.join(","),a.arsr=N,a.aesr=N,a.publevel=-90,a.rawlevel=-90}else a.em=m.join(","),a.cfps=b.join(","),a.ifps=v.join(","),a.sfps=x.join(","),a.ih=y.join(","),a.iw=E.join(","),a.sh=I.join(","),a.sw=w.join(","),a.sd=R.join(","),a.aqp=L.join(","),a.caf=D.join(","),a.can=D.join(","),a.cav=u.join(","),a.ifimax=D.join(","),a.ifimin=D.join(","),a.efimax=D.join(","),a.efimin=D.join(","),a.sfimax=D.join(","),a.sfimin=D.join(","),a.apsnr=D.join(",")}catch(N){}this.log({evetid:10070,traceid:e,calid:c,args:this.data2String(be({calid:c,tckid:t,traceid:e},a))})}reportSubscribeMonitor(c,e,t,i,r){if(!i||!r||r.length<=0)return;const n=i===G.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],y=[],E=[],I=[],w=[],R=[],L=[],D=[],N=[],C=[],M=[],A=[],U=[],ie=[],q=[],oe=[],$=[],se=[],k=[],P=[],z=[],F=[],K=[];try{r.forEach(Q=>{var ee,le;if(!Q||!Q.timestamp)return;const ge=(ee=Q._last)!=null&&ee.timestamp?Q.timestamp-Q._last.timestamp:1e3,ce=Me(Q,"bytesReceived"),Se=Me(Q,"headerBytesReceived"),De=vt(Le(ce+Se,8,2e7),ge);o.push(De);const Ie=vt(Le(ce,8,2e7),ge);u.push(Ie);const Ue=vt(Le(Se,8,2e7),ge);h.push(Ue);const Te=Me(Q,"packetsReceived"),S=vt(Te,ge);g.push(S);const J=Me(Q,"packetsLost"),W=vt(J,ge);f.push(W);const B=Jt(J,Te);l.push(B);const T=Me(Q,"jitterBufferDelay"),V=Me(Q,"jitterBufferEmittedCount");if(Q.jitterBufferDelay&&Q.jitterBufferEmittedCount){const re=Le(T,1e3/V,1e4);p.push(re)}else p.push(0);const Z=Me(Q,"fecPacketsReceived");x.push(Jt(Z,Te));const X=Me(Q,"retransmittedPacketsReceived"),H=Te+J-X;if(m.push(Jt(Te-X,H)),b.push(Jt(J,H)),d.push(Jt(X,H)),v.push(H),F.push(0),K.push(""),n){E.push(ya(Q.audioLevel));const re=e0(Q,"synthesizedSamplesEvents");I.push(re);const me=Aa(Q,"synthesizedSamplesDuration");w.push(me);const we=Jt(me,ge);y.push(we),R.push(0)}else{const re=(le=Q._last)!=null&&le.totalInterFrameDelay?Q.totalInterFrameDelay-Q._last.totalInterFrameDelay:0;L.push(Le(re,1e3/(Q.framesDecoded||30),500)),D.push(Le(Q.framesPerSecond,1,100)),N.push(Me(Q,"framesReceived")),z.push(Me(Q,"framesRendered")),C.push(Le(Q.frameHeight,1,4400)),M.push(Le(Q.frameWidth,1,7700));const me=Me(Q,"totalProcessingDelay");A.push(Le(me,1e3/(Q.framesDecoded||30),12e4));const we=Me(Q,"nackCount");ie.push(we);const ye=Me(Q,"pliCount");U.push(ye);const Qe=Me(Q,"qpSum");q.push(Le(Qe,1/(Q.framesPerSecond||1),51)),oe.push(Le(Q.framesDropped));const Ct=Me(Q,"totalFreezesDuration");$.push(Le(Ct,1e3,3e4));const Fe=Me(Q,"jitterBufferEmittedCount"),ut=Me(Q,"jitterBufferDelay");ut&&Fe?se.push(Le(ut,1e3/Fe,3e4)):se.push(0);const Ne=Me(Q,"jitterBufferTargetDelay");Ne&&Fe?k.push(Le(Ne,1e3/Fe,3e4)):k.push(0);const It=Me(Q,"jitterBufferMinimumDelay");It&&Fe?P.push(Le(It,1e3/Fe,3e4)):P.push(0)}}),a.rbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.pr=g.join(","),a.pl=f.join(","),a.plr=l.join(","),a.jd=p.join(","),a.fecr=x.join(","),a.retransr=d.join(","),a.baser=m.join(","),a.basel=b.join(","),a.recoverr=F.join(","),a.alll=b.join(","),a.totalc=v.join(","),n?(a.er=y.join(","),a.aolevel=E.join(","),a.asrc=R.join(","),a.scnt=I.join(","),a.sdura=w.join(",")):(a.dm=L.join(","),a.dfps=D.join(","),a.rfps=N.join(","),a.rh=C.join(","),a.rw=M.join(","),a.fpt=K.join(","),a.ns=ie.join(","),a.pliss=U.join(","),a.aqp=q.join(","),a.ofimax=F.join(","),a.ofimin=F.join(","),a.dfimax=F.join(","),a.dfimin=F.join(","),a.rfimax=F.join(","),a.rfimin=F.join(","),a.vrstutter=$.join(","),a.cdm=se.join(","),a.tdm=k.join(","),a.pdm=P.join(","),a.ofps=z.join(","),a.dfbd=oe.join(","))}catch(Q){}this.log({evetid:10080,traceid:t,rmtid:e,calid:c,args:this.data2String(be({calid:c,rmtid:e,tckid:i,traceid:t},a))})}reportNetworkMonitor(c){if(c.length<=0)return;const e=[],t=[],i=[],r=[],n=[],a=[],o=[],u=[],h=[],g=[];c.forEach((l,p)=>{var m;if(!l.timestamp)return;const d=(m=l._last)!=null&&m.timestamp?l.timestamp-l._last.timestamp:1e3;e.push(Le(l.currentRoundTripTime,1e3)),t.push(Le(l.availableOutgoingBitrate,8,2e8)),i.push(vt(Le(l.bytesSent,8,2e7),d,25e6)),r.push(vt(Le(l.bytesReceived,8,2e7),d,25e6)),n.push(0),a.push(0),p%5===0&&(o.push(""),u.push(""),h.push(""),g.push(""))});const f={ctm:Math.floor(c[0].timestamp||0),rtt:e.join(","),bsps:i.join(","),brps:r.join(","),cpu:o.join(","),mem:u.join(","),sysmem:h.join(","),systotalmem:g.join(","),audioonly:this.engine.isAudioOnly()?1:0};this.log({evetid:10071,args:this.data2String(be({asb:t.join(","),abms:n.join(","),vbms:a.join(",")},f))}),this.log({evetid:10081,args:this.data2String(be({},f))})}reportJoin(c,e,t=""){var g,f;const{start:i,rs:r=0,re:n=0}=e,a=Date.now()-i,o=n-r;let u=0;r&&(u=r-i);let h=0;n&&(h=n-r),this.log({evetid:10010,args:this.data2String({sesid:((g=this.authInfo)==null?void 0:g.sessionId)||"",joitm:a,rslt:c,gslbtm:0,dnstm:0,avcftm:0,gslbrslt:0,dnsrslt:0,avcfrslt:0,mode:2,jrtc:o,usrn:(f=this.authInfo)==null?void 0:f.userId,mgt:"cdn",cttc:u,iptc:h,ndn:1,gslbloc:1,ccag:0,ucag:0,cpg:0,upg:0,tid:t})})}reportJoinConnection(c){this.log({evetid:20002,args:this.data2String(be({transretrynum:0,ldnstc:0,tcptc:0,ssltc:0,url:""},c))})}reportLeave(c,e,t){this.log({evetid:10020,args:this.data2String({lvetm:c,rslt:e,tid:t})})}reportPublish(c,e,t,i,r,n,a,o,u,h,g){this.log({evetid:c?10032:10030,calid:t,args:this.data2String({calid:t,url:e,isvl:i?1:0,isvs:r?1:0,isvss:n?1:0,isaudio:a?1:0,rslt:o,tid:"123",pubtm:Date.now()-g,pctid:u,pubtid:h,isvp:0,isarecording:0,isad:0,isdc:0,pubretry:0,pbrttimes:0})})}reportPublishFirstPacket(c,e,t,i,r,n,a,o,u){const h=Date.now();this.log({evetid:c?10033:10031,calid:e,args:this.data2String({calid:e,fpst:h-t,tckid:n,est:t,pctid:a,pubtid:o,totaltm:h-r,jorm:u===Bt.JOIN_CHANNEL?1:0,cptc:0,sptc:i-t,iptc:0,ipc2fptc:0,dctc:0,patc:0})})}reportUnpublish(c,e,t,i){var r;this.log({evetid:10040,args:this.data2String({calid:c,unpubtm:e,rslt:t,tid:i,sesid:((r=this.authInfo)==null?void 0:r.sessionId)||""})})}reportSubscribe(c,e,t,i,r,n,a,o,u,h){this.log({evetid:10050,calid:c,rmtid:e,args:this.data2String(be({calid:c,rmtid:e,isvl:t?1:0,isvs:i?1:0,isvss:r?1:0,isaudio:n?1:0,rslt:a,tid:o,subtm:u,isvp:0,isaplaying:0,isad:0,isdc:0,subretry:0,sbrttimes:0},h))})}reportSubscribeFirstPacket(c,e,t,i,r){this.log({evetid:c?10054:10051,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i,cptc:0,iptc:0,ipc2fptc:0,dctc:0,patc:0},r))})}reportSubscribeFirstFrame(c,e,t,i,r){this.log({evetid:c?10055:10052,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))}),this.log({evetid:c?10058:10057,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))})}reportUnsubscribe(c,e,t,i,r){this.log({evetid:10060,calid:c,args:this.data2String({calid:c,rmtid:e,unsubtm:t,rslt:i,tid:r})})}reportMute(c,e,t){this.log({evetid:11030,args:this.data2String({calid:c,rmtid:"",enable:e?1:0,mt:t})})}reportRoleUpdate(c,e){this.log({evetid:11040,args:this.data2String({or:c||"",nr:e,ctm:Date.now(),rslt:0})})}reportRoleUpdateResult(c,e,t,i){this.log({evetid:11041,args:this.data2String({or:c||"",nr:e,ctm:t,rslt:i})})}reportVideoProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_camera_large"})})}reportScreenProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_screenshare"})})}reportError(c){this.log({evetid:10091,args:this.data2String({rslt:(c==null?void 0:c.code)||-1})})}reportWarning(c){this.log({evetid:10092,args:this.data2String({rslt:-1,errmsg:c})})}reportRoomServerEvent(c,e,t,i){this.log({evetid:20005,args:this.data2String({calid:"",rmtid:"",rt:c?0:1,dr:c?"s":"r",mt:e,ri:t,cs:1,srt:Date.now(),rspc:(i==null?void 0:i.code)||"",mc:JSON.stringify(i)})})}reportTranscodingError(c,e){this.log({evetid:10101,args:this.data2String({rslt:c,taskid:e})})}reportBye(c){var e;this.log({evetid:10093,args:this.data2String({rslt:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportAudio(c,e,t){var i;this.log({evetid:80013,args:this.data2String({rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})}),this.log({evetid:80014,args:this.data2String({sesid:((i=this.authInfo)==null?void 0:i.sessionId)||"",rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})})}reportScreen(c,e){var t,i,r,n;this.log({evetid:90013,args:this.data2String({rslt:c?-1:0,vcms:e,vde:(t=c==null?void 0:c.code)!=null?t:-1,sesid:((i=this.authInfo)==null?void 0:i.sessionId)||""})}),this.log({evetid:90014,args:this.data2String({rslt:c?-1:0,vcms:e,vde:(r=c==null?void 0:c.code)!=null?r:-1,sesid:((n=this.authInfo)==null?void 0:n.sessionId)||""})})}reportScreenStop(c){this.log({evetid:90019,args:this.data2String({rslt:c?c.code||-1:0})}),this.log({evetid:90020,args:this.data2String({rslt:c?c.code||-1:0})})}reportSwitchCamera(c){var e;this.log({evetid:90025,args:this.data2String({rslt:0,td:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportPublishProfile(c,e){this.log({evetid:10201,args:this.data2String(be({tckid:c},e))})}reportSDKCreated(c){this.log({evetid:70011,createtm:Date.now()-c,tm:c})}reportJoinInvoked(c){this.log({evetid:70012,jnnonce:c.nonce||"",jntoken:c.token||"",jntm:c.timestamp||""})}reportJoinResult(c){this.log({evetid:70013,rslt:c?c.code||-1:0,dnsrslt:0})}reportSTSResult(c,e){this.log({evetid:70014,rslt:c,asty:1,reqtm:Date.now()-e})}reportLeaveInvoked(){this.log({evetid:70015})}reportSEIMessage(c,e,t,i,r){this.log({evetid:40301,args:this.data2String({tm:Date.now(),sei_pt:c,sei_len:e,sei_rep:t,sei_delay:i,sei_key:r})})}log(c){c&&(c.tm=new Date().getTime(),ae.debug("[ConsoleLogger]","log",c),this.logClient.sendReport(c))}data2String(c){let e="";for(let t in c)e.length&&(e+="&"),e+=t+"="+c[t];return e}};_(Ti,"staticClient");let bi=Ti;const t0=1e3*60*60*24*7,i0=s=>{if(!s||s.length!==8)return new Date;const c=parseInt(s.substring(0,4),10),e=parseInt(s.substring(4,6),10)-1,t=parseInt(s.substring(6,8),10);if(isNaN(c)||isNaN(e)||isNaN(t))return new Date;const i=new Date(c,e,t);return isNaN(i.getTime())?new Date:i};var ds=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.API=2]="API",s[s.WARNING=3]="WARNING",s[s.ERROR=4]="ERROR",s[s.NONE=5]="NONE",s))(ds||{});class Ui{constructor(){_(this,"dbPromise");_(this,"stsToken");_(this,"logLevel");_(this,"logToConsole");_(this,"logToServer");_(this,"appId");_(this,"sessionId");_(this,"logCache",[]);_(this,"logMethod",(c,e=console.log)=>(...t)=>{if(this.logLevel>c)return;let i=this.getCurrentTime();this.logToConsole&&e(i,...t);let r=Ui.paramArrayToString(t);c>0&&this.addLog(r)});_(this,"d",this.logMethod(0,console.debug));_(this,"i",this.logMethod(1));_(this,"w",this.logMethod(3,console.warn));_(this,"e",this.logMethod(4,(...c)=>{const[e,...t]=c;console.error(e,"<error>",t)}));_(this,"ev",this.logMethod(2));_(this,"a",this.logMethod(2,(...c)=>{const[e,...t]=c;if(t.length>2){const i=`${t[1]}`;i.startsWith("__g__")&&console.group(`${i.substring(5)}_${t[2]}`)}console.log(e,...t)}));_(this,"ar",this.logMethod(2,(...c)=>{const[e,...t]=c;console.log(e,...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));_(this,"ae",this.logMethod(2,(...c)=>{const[e,...t]=c;console.error(e,"<error>",...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));this.logLevel=3,this.logToConsole=!0,this.logToServer=!0,this.appId="",this.sessionId="",this.dbPromise=Zo()}static toString(c){let e;if(c instanceof Error)e=c.message;else if(typeof c=="string")e=c;else try{e=JSON.stringify(c)}catch(t){e="undefined"}return e}changeConfig(c){c.logLevel!==void 0&&c.logLevel>=0&&c.logLevel<=5&&(this.logLevel=c.logLevel),c.logToConsole!==void 0&&(this.logToConsole=c.logToConsole),c.logToServer!==void 0&&(this.logToServer=c.logToServer)}updateSTSToken(c){const e=!!this.stsToken;this.stsToken=c,!e&&c&&this.tryUploadHistorySessionLog()}uploadSessionDateLog(c,e,t){return O(this,null,function*(){if(!c||!e||!t||t.length===0||!this.stsToken)return;const i=new Fo;i.file(`${c}.log`,t.map(f=>f.log||"").join(`
40
- `));const r=yield i.generateAsync({type:"blob"}),n=yield Rc(r),a=cs(new Date,"UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'"),o={"x-oss-date":a,"content-md5":n,"content-type":"application/zip"};o.date=a,o["x-oss-security-token"]=this.stsToken.security_token;const u=`client/${e}/${this.appId}/${c}.zip`;o.authorization=yield Tc(this.stsToken.access_key_id,this.stsToken.access_key_secret,o,`/${this.stsToken.bucket_name}/${u}`);const h=`https://${this.stsToken.bucket_name}.${this.stsToken.region_endpoint}/${u}`,g=yield fetch(h,{method:"PUT",headers:o,body:r});if(g.status===200){bi.reportOSSUpload(c,e);const f=yield this.dbPromise;t.forEach(l=>{Ar(f,l.id)})}else bi.reportOSSUpload(c,e,g.status)})}uploadSessionLog(c){c&&this.dbPromise.then(e=>O(this,null,function*(){if(!this.stsToken)return;const t=yield In(e,c),i={},r=[];t.forEach(n=>{if(!n.date||!n.log){try{Ar(e,n.id)}catch(o){}return}const a=n.date;if(Date.now()-i0(a).getTime()>t0)try{Ar(e,n.id)}catch(o){}else i[a]||(i[a]=[],r.push(a)),i[a].push(n)}),Promise.all(r.map(n=>this.uploadSessionDateLog(c,n,i[n]))).then(()=>O(this,null,function*(){(yield In(e,c)).length===0&&ec(e,c)}))}))}tryUploadHistorySessionLog(){this.dbPromise.then(c=>O(this,null,function*(){(yield Qo(c)).filter(t=>(t==null?void 0:t.sid)!==this.sessionId).forEach(t=>{this.uploadSessionLog(t.sid)})}))}uploadCurrent(){const c=this.sessionId;this.sessionId="",this.uploadSessionLog(c)}setSessionID(c,e){!c||!e||(this.appId=c,this.dbPromise.then(t=>{this.sessionId=e,Yo(t,e),this.logCache&&(this.logCache.forEach(i=>{i.date&&i.log&&Cn(t,this.sessionId,i.date,`${i.log}`)}),this.logCache=[])}))}addLog(c){if(!this.logToServer)return;const e=this.getCurrentTime(),t=this.getCurrentDate(),i=`${e} ${c}`;this.sessionId?this.dbPromise.then(r=>{Cn(r,this.sessionId,t,i)}):this.logCache.push({date:t,log:i})}getCurrentTime(){return cs(new Date,"HH:MM:ss.l")}getCurrentDate(){return cs(new Date,"yyyymmdd")}static paramArrayToString(c){let e="";for(let t=0;t<c.length;t++){e!==""&&(e+=" ");let i=Ui.toString(c[t]);e+=i}return e}}class ae{static getLogger(){return this.logger||(this.logger=new Ui),this.logger}static setLogLevel(c){this.getLogger().changeConfig({logLevel:c})}static config(c){this.getLogger().changeConfig(c)}static updateToken(c){this.getLogger().updateSTSToken(c)}static setSessionID(c,e){this.getLogger().setSessionID(c,e)}static uploadLog(){this.getLogger().uploadCurrent()}static interface(...c){this.getLogger().a("[API]",...c)}static interfaceResult(c,e,t,...i){t?this.getLogger().ar("[ARE]",c,e,...i):this.getLogger().ae("[ARE]",c,e,...i)}static event(...c){this.getLogger().ev("[EVT]",...c)}static debug(...c){this.getLogger().d("[DBG]",...c)}static info(...c){this.getLogger().i("[INF]",...c)}static warn(...c){this.getLogger().w("[WARN]",...c)}static error(...c){this.getLogger().e("[ERR]",...c)}}_(ae,"logger");const r0=s=>O(this,null,function*(){const c=new pe.AliRTS.SupportUtil;let e={support:!1,detail:{isWebRTCSupported:c.checkMediaDevices()&&c.checkWebRtcSupport(),isH264DecodeSupported:!1,isH264EncodeSupported:!1,isScreenShareSupported:!1,isSendMediaExtensionMsgSupported:!1,isBrowserSupported:c.checkBrowser({errorCode:0,message:""})}};if(e.support=e.detail.isWebRTCSupported&&e.detail.isBrowserSupported,c.checkWebRtcSupport()&&s!=="sendonly"){const t=yield c.checkH264Decode();e.detail.isH264DecodeSupported=t,e.support=e.support&&t}if(c.checkWebRtcSupport()&&s!=="recvonly"){const t=yield c.checkH264Encode();e.detail.isH264EncodeSupported=t,e.support=e.support&&t}return e.detail.isScreenShareSupported=c.checkWebRtcSupport()&&c.checkScreenCapture()&&!pe.AliRTS.SystenUtil.isAndroid&&!pe.AliRTS.SystenUtil.isIos,e.detail.isSendMediaExtensionMsgSupported=c.checkWebRtcSupport()&&c.checkEncodedTransformSupport(),e}),s0=()=>new pe.AliRTS.SupportUtil().checkScreenCapture();var We=(s=>(s[s.AliRtcSdkStreamTypeCapture=0]="AliRtcSdkStreamTypeCapture",s[s.AliRtcSdkStreamTypeScreen=1]="AliRtcSdkStreamTypeScreen",s))(We||{}),Ea=(s=>(s[s.PRE_PROCESSOR=0]="PRE_PROCESSOR",s[s.POST_PROCESSOR=1]="POST_PROCESSOR",s))(Ea||{}),xi=(s=>(s[s.AUDIO=0]="AUDIO",s[s.VIDEO=1]="VIDEO",s[s.BOTH=2]="BOTH",s))(xi||{});class Zt extends xe{constructor(e,t=We.AliRtcSdkStreamTypeCapture,i=1){super();_(this,"name");_(this,"options");_(this,"type",0);_(this,"streamType");_(this,"trackType");_(this,"zIndex",1);_(this,"_isEnable",!0);_(this,"lastInputAudioTrack");_(this,"lastOutputAudioTrack");_(this,"lastInputVideoTrack");_(this,"lastOutputVideoTrack");_(this,"_hasCleared",!0);this.name=e,this.streamType=t,this.trackType=i,this.options=this.initOptions}get initOptions(){return{}}getOptions(){return this.options}init(){return O(this,null,function*(){})}enable(){this._isEnable||(this._isEnable=!0,this.init(),this.emit("enabled"))}disable(){this._isEnable&&(this._isEnable=!1,this.clear(),this.emit("disabled"))}get isEnable(){return this._isEnable}audioUpdated(e){var t,i;return((t=this.lastInputAudioTrack)==null?void 0:t.id)!==((i=e.currentAudioTrack)==null?void 0:i.id)}videoUpdated(e){var t,i;return((t=this.lastInputVideoTrack)==null?void 0:t.id)!==((i=e.currentVideoTrack)==null?void 0:i.id)}execute(e,t){return O(this,null,function*(){const i=this.shouldUpdate(e,t);this.lastInputAudioTrack=e.currentAudioTrack,this.lastInputVideoTrack=e.currentVideoTrack,this._hasCleared||i?(yield this.process(e,t),this._hasCleared=!1):(this.lastOutputAudioTrack&&(this.trackType===2||this.trackType===0)&&this.lastOutputAudioTrack&&e.updateAudioTrack(this.lastOutputAudioTrack),this.lastOutputVideoTrack&&(this.trackType===2||this.trackType===1)&&this.lastOutputVideoTrack&&e.updateVideoTrack(this.lastOutputVideoTrack)),this.lastOutputAudioTrack=e.currentAudioTrack,this.lastOutputVideoTrack=e.currentVideoTrack})}clear(e){this._hasCleared=!0,this.lastInputAudioTrack=void 0,this.lastInputVideoTrack=void 0,this.lastOutputAudioTrack=void 0,this.lastOutputVideoTrack=void 0}}var Si=(s=>(s[s.LiveTranscodingSingle=0]="LiveTranscodingSingle",s[s.LiveTranscodingMix=1]="LiveTranscodingMix",s))(Si||{}),ls=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingAudio=1]="LiveTranscodingAudio",s[s.LiveTranscodingVideo=2]="LiveTranscodingVideo",s))(ls||{}),oi=(s=>(s[s.LiveTranscodingCamera=0]="LiveTranscodingCamera",s[s.LiveTranscodingShareScreen=1]="LiveTranscodingShareScreen",s))(oi||{});const _i={0:"camera",1:"shareScreen"};var fs=(s=>(s[s.LiveTranscoding_Profile_1IN_1080P=0]="LiveTranscoding_Profile_1IN_1080P",s[s.LiveTranscoding_Profile_1IN_720P=1]="LiveTranscoding_Profile_1IN_720P",s[s.LiveTranscoding_Profile_1IN_360P=2]="LiveTranscoding_Profile_1IN_360P",s[s.LiveTranscoding_Profile_2IN_1080P=3]="LiveTranscoding_Profile_2IN_1080P",s[s.LiveTranscoding_Profile_2IN_720P=4]="LiveTranscoding_Profile_2IN_720P",s[s.LiveTranscoding_Profile_2IN_360P=5]="LiveTranscoding_Profile_2IN_360P",s[s.LiveTranscoding_Profile_4IN_1080P=6]="LiveTranscoding_Profile_4IN_1080P",s[s.LiveTranscoding_Profile_4IN_720P=7]="LiveTranscoding_Profile_4IN_720P",s[s.LiveTranscoding_Profile_4IN_360P=8]="LiveTranscoding_Profile_4IN_360P",s[s.LiveTranscoding_Profile_9IN_1080P=9]="LiveTranscoding_Profile_9IN_1080P",s[s.LiveTranscoding_Profile_9IN_720P=10]="LiveTranscoding_Profile_9IN_720P",s[s.LiveTranscoding_Profile_9IN_360P=11]="LiveTranscoding_Profile_9IN_360P",s[s.LiveTranscoding_Profile_12IN_1080P=12]="LiveTranscoding_Profile_12IN_1080P",s[s.LiveTranscoding_Profile_12IN_720P=13]="LiveTranscoding_Profile_12IN_720P",s[s.LiveTranscoding_Profile_12IN_360P=14]="LiveTranscoding_Profile_12IN_360P",s[s.LiveTranscoding_Profile_16IN_1080P=15]="LiveTranscoding_Profile_16IN_1080P",s[s.LiveTranscoding_Profile_16IN_720P=16]="LiveTranscoding_Profile_16IN_720P",s[s.LiveTranscoding_Profile_16IN_360P=17]="LiveTranscoding_Profile_16IN_360P",s[s.LiveTranscoding_Profile_Mixed=9999]="LiveTranscoding_Profile_Mixed",s))(fs||{});const n0={0:"1IN_1080P",1:"1IN_720P",2:"1IN_360P",3:"2IN_1080P",4:"2IN_720P",5:"2IN_360P",6:"4IN_1080P",7:"4IN_720P",8:"4IN_360P",9:"9IN_1080P",10:"9IN_720P",11:"9IN_360P",12:"12IN_1080P",13:"12IN_720P",14:"12IN_360P",15:"16IN_1080P",16:"16IN_720P",17:"16IN_360P",9999:"Mixed_Audio"};var Hi=(s=>(s[s.LiveTranscoding_HZ_48000=48e3]="LiveTranscoding_HZ_48000",s[s.LiveTranscoding_HZ_44100=44100]="LiveTranscoding_HZ_44100",s[s.LiveTranscoding_HZ_32000=32e3]="LiveTranscoding_HZ_32000",s[s.LiveTranscoding_HZ_16000=16e3]="LiveTranscoding_HZ_16000",s[s.LiveTranscoding_HZ_8000=8e3]="LiveTranscoding_HZ_8000",s))(Hi||{}),yi=(s=>(s[s.LiveTranscodingNoBody=0]="LiveTranscodingNoBody",s[s.LiveTranscodingBody=1]="LiveTranscodingBody",s))(yi||{}),Ai=(s=>(s[s.NOTO_SERIF_CJKSC_REGULAR=0]="NOTO_SERIF_CJKSC_REGULAR",s[s.ALIBABA_PUHUITI_REGULAR=1]="ALIBABA_PUHUITI_REGULAR",s[s.ALIBABA_PUHUITI_BOLD=2]="ALIBABA_PUHUITI_BOLD",s[s.ALIBABA_PUHUITI_Heavy=3]="ALIBABA_PUHUITI_Heavy",s[s.ALIBABA_PUHUITI_LIGHT=4]="ALIBABA_PUHUITI_LIGHT",s[s.ALIBABA_PUHUITI_MEDIUM=5]="ALIBABA_PUHUITI_MEDIUM",s))(Ai||{}),ps=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingCrop=1]="LiveTranscodingCrop",s[s.LiveTranscodingFill=2]="LiveTranscodingFill",s))(ps||{}),zi=(s=>(s[s.LiveTranscodingNormal=0]="LiveTranscodingNormal",s[s.LiveTranscodingVirtualBackground=1]="LiveTranscodingVirtualBackground",s))(zi||{}),ms=(s=>(s[s.LiveTranscodingState_IDLE=0]="LiveTranscodingState_IDLE",s[s.LiveTranscodingState_CONNNECT=1]="LiveTranscodingState_CONNNECT",s[s.LiveTranscodingState_RUNNING=2]="LiveTranscodingState_RUNNING",s[s.LiveTranscodingState_RECOVERING=3]="LiveTranscodingState_RECOVERING",s[s.LiveTranscodingState_FAILURE=4]="LiveTranscodingState_FAILURE",s[s.LiveTranscodingState_END=5]="LiveTranscodingState_END",s))(ms||{}),Et=(s=>(s[s.LiveTranscodingErrorPublishOk=0]="LiveTranscodingErrorPublishOk",s[s.LiveTranscodingErrorStreamNotFound=17825793]="LiveTranscodingErrorStreamNotFound",s[s.LiveTranscodingErrorStreamAlreadyExist=17825794]="LiveTranscodingErrorStreamAlreadyExist",s[s.LiveTranscodingErrorInvalidParam=17825795]="LiveTranscodingErrorInvalidParam",s[s.LiveTranscodingErrorInternalError=17825796]="LiveTranscodingErrorInternalError",s[s.LiveTranscodingErrorRtmpServerError=17825797]="LiveTranscodingErrorRtmpServerError",s[s.LiveTranscodingErrorRtmpStreamUrlError=17825798]="LiveTranscodingErrorRtmpStreamUrlError",s[s.LiveTranscodingErrorPublishTimeout=17825799]="LiveTranscodingErrorPublishTimeout",s[s.LiveTranscodingErrorNotAuthorized=17825800]="LiveTranscodingErrorNotAuthorized",s))(Et||{}),gs=(s=>(s[s.TrascodingPublishTaskStatusStart=0]="TrascodingPublishTaskStatusStart",s[s.TrascodingPublishTaskStatusUpdate=1]="TrascodingPublishTaskStatusUpdate",s[s.TrascodingPublishTaskStatusStop=2]="TrascodingPublishTaskStatusStop",s))(gs||{}),ot=(s=>(s[s.MPU_TASK_TRANSACTION_START=0]="MPU_TASK_TRANSACTION_START",s[s.MPU_TASK_TRANSACTION_UPDATE=1]="MPU_TASK_TRANSACTION_UPDATE",s[s.MPU_TASK_TRANSACTION_STOP=2]="MPU_TASK_TRANSACTION_STOP",s[s.MPU_TASK_TRANSACTION_LIST=3]="MPU_TASK_TRANSACTION_LIST",s[s.MPU_TASK_TRANSACTION_POLLING=4]="MPU_TASK_TRANSACTION_POLLING",s[s.MPU_TASK_TRANSACTION_ACKNOWLEDGE=5]="MPU_TASK_TRANSACTION_ACKNOWLEDGE",s[s.MPU_TASK_TRANSACTION_END=6]="MPU_TASK_TRANSACTION_END",s))(ot||{});const a0={0:"/libra/v1/sdk/start-task",1:"/libra/v1/sdk/update-task",2:"/libra/v1/sdk/stop-task",3:"/libra/v1/sdk/list-task",4:"/libra/v1/sdk/polling",5:"/libra/v1/sdk/acknowledge",6:"/"};class vs{constructor(c,e,t,i,r,n,a,o){_(this,"videoWidth");_(this,"videoHeight");_(this,"videoFramerate",20);_(this,"videoBitrate",2e3);_(this,"videoGop",30);_(this,"audioSamplerate",Hi.LiveTranscoding_HZ_44100);_(this,"audioBitrate",500);_(this,"audioChannels",1);this.videoWidth=c,this.videoHeight=e,t&&(this.videoFramerate=t),i&&(this.videoBitrate=i),r&&(this.videoGop=r),n&&(this.audioSamplerate=n),a&&(this.audioBitrate=a),o&&(this.audioChannels=o)}}const bs=s=>((s&16711680)>>16)+(s&65280)+((s&255)<<16),bt=(s=0,c)=>{if(c==0)return 0;let e=s/c;return e<0&&(e=0),e>1&&(e=1),e};class ji{constructor(c,e,t){_(this,"mixMode",Si.LiveTranscodingSingle);_(this,"singleParam");_(this,"mixParam");c&&(this.mixMode=c),e&&(this.singleParam=e),t&&(this.mixParam=t)}toJson(c,e,t,i,r){const n={appid:e.appId,channelid:e.channelId};if(c===ot.MPU_TASK_TRANSACTION_POLLING||c===ot.MPU_TASK_TRANSACTION_LIST||c===ot.MPU_TASK_TRANSACTION_ACKNOWLEDGE)return c===ot.MPU_TASK_TRANSACTION_ACKNOWLEDGE&&(n.messageid=r),n;if(n.taskid=t,c!==ot.MPU_TASK_TRANSACTION_STOP){if(n.mixmode=this.mixMode,i&&(n.streamurl=i),this.mixMode===Si.LiveTranscodingSingle){const a=this.singleParam;if(a){n.streamtype=a.streamType,a.sourceType===oi.LiveTranscodingShareScreen?n.sourcetype=_i[a.sourceType]:n.sourcetype=_i[oi.LiveTranscodingCamera];const o=[];a.userId&&o.push(a.userId),n.subspecusers=o}}else if(c===ot.MPU_TASK_TRANSACTION_START||c===ot.MPU_TASK_TRANSACTION_UPDATE){const a=this.mixParam;if(a){a.taskProfile&&(n.taskprofile=n0[a.taskProfile]);const o=a.encodeParam||new vs(1280,720);let u=o.videoWidth,h=o.videoHeight;const g={};Object.keys(o).forEach(l=>{const p=o[l];p>0&&(g[l.toLowerCase()]=p)}),g.lowbitratehighquality=0,n.encodeparam=g,n.backgrounds=a.backgrounds.map(l=>l.toJson(u,h)),n.watermarks=a.watermarks.map(l=>l.toJson(u,h)),n.clockwidgets=a.clockWidgets.map(l=>l.toJson(u,h));const f=a.users.map(l=>l.userId);n.subspecusers=[...new Set(f)],n.layouts=[{audiomixcount:a.users.length,panes:a.users.map((l,p)=>l.toJson(p,u,h,a.mediaProcessMode))}],n.layoutids=["0"],n.cropmode=a.cropMode,n.backgroundcolor=bs(a.backgroundColor),n.taskmode=a.mediaProcessMode}}}return n}}var Dt=(s=>(s.pre="pre",s.prod="prod",s))(Dt||{}),Tt=(s=>(s.AliRtcSdkCommunication="communication",s.AliRtcSdkInteractiveLive="interactive_live",s.AliRtcSdkInteractiveWithLowLatencyLive="cdn_live",s))(Tt||{}),Mt=(s=>(s.AliRtcSdkInteractive="interactive",s.AliRtcSdkLive="live",s))(Mt||{}),wt=(s=>(s[s.AliEngineLocalDeviceTypeUnknown=0]="AliEngineLocalDeviceTypeUnknown",s[s.AliEngineLocalDeviceTypeMic=1]="AliEngineLocalDeviceTypeMic",s[s.AliEngineLocalDeviceTypeSpeaker=2]="AliEngineLocalDeviceTypeSpeaker",s[s.AliEngineLocalDeviceTypeAudioDevice=3]="AliEngineLocalDeviceTypeAudioDevice",s[s.AliEngineLocalDeviceTypeCamera=4]="AliEngineLocalDeviceTypeCamera",s[s.AliEngineLocalDeviceTypeDisplay=5]="AliEngineLocalDeviceTypeDisplay",s[s.AliEngineLocalDeviceTypeVideoDevice=6]="AliEngineLocalDeviceTypeVideoDevice",s))(wt||{}),He=(s=>(s[s.AliEngineLocalDeviceExceptionTypeUnknown=0]="AliEngineLocalDeviceExceptionTypeUnknown",s[s.AliEngineLocalDeviceExceptionTypeMicOpenFail=1]="AliEngineLocalDeviceExceptionTypeMicOpenFail",s[s.AliEngineLocalDeviceExceptionTypeMicInterrupt=2]="AliEngineLocalDeviceExceptionTypeMicInterrupt",s[s.AliEngineLocalDeviceExceptionTypeMicAuthFail=3]="AliEngineLocalDeviceExceptionTypeMicAuthFail",s[s.AliEngineLocalDeviceExceptionTypeMicNotAvailable=4]="AliEngineLocalDeviceExceptionTypeMicNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeSpeakerOpenFail=5]="AliEngineLocalDeviceExceptionTypeSpeakerOpenFail",s[s.AliEngineLocalDeviceExceptionTypeSpeakerInterrupt=6]="AliEngineLocalDeviceExceptionTypeSpeakerInterrupt",s[s.AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable=7]="AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeAudioDeviceException=8]="AliEngineLocalDeviceExceptionTypeAudioDeviceException",s[s.AliEngineLocalDeviceExceptionTypeCameraOpenFail=9]="AliEngineLocalDeviceExceptionTypeCameraOpenFail",s[s.AliEngineLocalDeviceExceptionTypeCameraInterrupt=10]="AliEngineLocalDeviceExceptionTypeCameraInterrupt",s[s.AliEngineLocalDeviceExceptionTypeCameraAuthFail=11]="AliEngineLocalDeviceExceptionTypeCameraAuthFail",s[s.AliEngineLocalDeviceExceptionTypeDisplayException=12]="AliEngineLocalDeviceExceptionTypeDisplayException",s[s.AliEngineLocalDeviceExceptionTypeVideoDeviceException=13]="AliEngineLocalDeviceExceptionTypeVideoDeviceException",s))(He||{}),ke=(s=>(s[s.AliRtcConnectionStatusInit=0]="AliRtcConnectionStatusInit",s[s.AliRtcConnectionStatusDisconnected=1]="AliRtcConnectionStatusDisconnected",s[s.AliRtcConnectionStatusConnecting=2]="AliRtcConnectionStatusConnecting",s[s.AliRtcConnectionStatusConnected=3]="AliRtcConnectionStatusConnected",s[s.AliRtcConnectionStatusReconnecting=4]="AliRtcConnectionStatusReconnecting",s[s.AliRtcConnectionStatusFailed=5]="AliRtcConnectionStatusFailed",s))(ke||{}),Yt=(s=>(s[s.AliRtcConnectionChangedDummyReason=0]="AliRtcConnectionChangedDummyReason",s[s.AliRtcConnectionMediaPathChanged=1]="AliRtcConnectionMediaPathChanged",s[s.AliRtcConnectionSignalingHeartbeatTimeout=2]="AliRtcConnectionSignalingHeartbeatTimeout",s[s.AliRtcConnectionSignalingHeartbeatAlive=3]="AliRtcConnectionSignalingHeartbeatAlive",s[s.AliRtcConnectionSignalingHttpDnsResolved=4]="AliRtcConnectionSignalingHttpDnsResolved",s[s.AliRtcConnectionSignalingHttpDnsFailure=5]="AliRtcConnectionSignalingHttpDnsFailure",s[s.AliRtcConnectionSignalingGslbFailure=6]="AliRtcConnectionSignalingGslbFailure",s[s.AliRtcConnectionSignalingGslbSuccess=7]="AliRtcConnectionSignalingGslbSuccess",s[s.AliRtcConnectionSignalingJoinRoomFailure=8]="AliRtcConnectionSignalingJoinRoomFailure",s[s.AliRtcConnectionSignalingJoinRoomSuccess=9]="AliRtcConnectionSignalingJoinRoomSuccess",s[s.AliRtcConnectionSignalingLeaveRoom=10]="AliRtcConnectionSignalingLeaveRoom",s[s.AliRtcConnectionSignalingConnecting=11]="AliRtcConnectionSignalingConnecting",s[s.AliRtcConnectionChangedNetworkInterrupted=12]="AliRtcConnectionChangedNetworkInterrupted",s))(Yt||{}),xs=(s=>(s[s.AliRtcUserOfflineQuit=0]="AliRtcUserOfflineQuit",s[s.AliRtcUserOfflineDropped=1]="AliRtcUserOfflineDropped",s[s.AliRtcUserOfflineBecomeAudience=2]="AliRtcUserOfflineBecomeAudience",s))(xs||{}),ci=(s=>(s[s.AliRtcAudioTrackNo=0]="AliRtcAudioTrackNo",s[s.AliRtcAudioTrackMic=1]="AliRtcAudioTrackMic",s[s.AliRtcAudioTrackDual=2]="AliRtcAudioTrackDual",s))(ci||{}),Ae=(s=>(s[s.AliRtcVideoTrackNo=0]="AliRtcVideoTrackNo",s[s.AliRtcVideoTrackCamera=1]="AliRtcVideoTrackCamera",s[s.AliRtcVideoTrackScreen=2]="AliRtcVideoTrackScreen",s[s.AliRtcVideoTrackBoth=3]="AliRtcVideoTrackBoth",s))(Ae||{}),ve=(s=>(s[s.AliRtcStatePublishIdle=0]="AliRtcStatePublishIdle",s[s.AliRtcStateNoPublish=1]="AliRtcStateNoPublish",s[s.AliRtcStatePublishing=2]="AliRtcStatePublishing",s[s.AliRtcStatePublished=3]="AliRtcStatePublished",s))(ve||{}),Pe=(s=>(s[s.AliRtcStateSubscribeIdle=0]="AliRtcStateSubscribeIdle",s[s.AliRtcStateNoSubscribe=1]="AliRtcStateNoSubscribe",s[s.AliRtcStateSubscribing=2]="AliRtcStateSubscribing",s[s.AliRtcStateSubscribed=3]="AliRtcStateSubscribed",s))(Pe||{}),Ge=(s=>(s[s.AliRtcVideoStreamTypeNone=0]="AliRtcVideoStreamTypeNone",s[s.AliRtcVideoStreamTypeHigh=1]="AliRtcVideoStreamTypeHigh",s[s.AliRtcVideoStreamTypeLow=2]="AliRtcVideoStreamTypeLow",s))(Ge||{}),Ei=(s=>(s[s.CAMERA_INVALID=-1]="CAMERA_INVALID",s[s.CAMERA_REAR=0]="CAMERA_REAR",s[s.CAMERA_FRONT=1]="CAMERA_FRONT",s))(Ei||{});const wa=10,Ca=5e3,di=class di extends xe{constructor(e){super();_(this,"ws");_(this,"socketStatus",0);_(this,"wsUrl","");_(this,"lastConnectStartTime",0);_(this,"maxConnectRetryCount",wa);_(this,"connectRetryCount",0);_(this,"gotErr",!1);_(this,"closedByInvoke",!0);_(this,"isReconnecting",!1);_(this,"networkAvailableChecked",!0);_(this,"reconnectTimeoutId",0);this.maxConnectRetryCount=e!=null?e:wa,this.onOpen=this.onOpen.bind(this),this.onMessage=this.onMessage.bind(this),this.onError=this.onError.bind(this),this.onClose=this.onClose.bind(this)}get connectUrl(){return this.wsUrl}get connectStatus(){return this.socketStatus}start(e){this.wsUrl=e,this.initWebSocket()}send(e){return this.ws&&this.socketStatus===2?(this.ws.send(JSON.stringify(e)),!0):!1}close(){this.closedByInvoke=!0,this.uninitWebscoket()}reconnect(){this.reconnectTimeoutId&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=0),this.emit("onReconnectStart"),this.isReconnecting=!0,this.initWebSocket()}onOpen(e){ae.info(`[${di.logName}]`,"onOpen"),this.socketStatus=2,this.connectRetryCount=0,this.networkAvailableChecked=!1,this.closedByInvoke=!1,this.gotErr=!1,this.isReconnecting=!1,this.emit("onOpen",e)}onMessage(e){this.emit("onMessage",e)}onError(e){this.isReconnecting&&this.emit("onReconnectFail",e),this.emit("onError",e),this.isReconnecting=!1,this.socketStatus!==2&&St.isNetworkAvailable().then(t=>{t&&console.error(di.logName,"onError, Network is available, token may be invalid")})}onClose(e){return O(this,null,function*(){if(this.closedByInvoke){this.socketStatus=0;return}if(ae.info(`[${di.logName}]`,`onClose, code: ${e.code}, reason: ${e.reason}, status: ${status}, retryCount: ${this.connectRetryCount}`),(yield St.isNetworkAvailable())&&!this.networkAvailableChecked){this.reconnect(),this.networkAvailableChecked=!0;return}else this.connectRetryCount||this.emit("onNetworkError"),this.reconnectTimeoutId||(this.connectRetryCount+=1,this.connectRetryCount>this.maxConnectRetryCount?this.emit("onConnectFail"):Date.now()-this.lastConnectStartTime>=Ca?this.reconnect():this.reconnectTimeoutId=window.setTimeout(()=>{this.reconnect()},Ca));this.socketStatus=0,this.emit("onClose",e)})}initWebSocket(){this.uninitWebscoket(),this.socketStatus=1,this.lastConnectStartTime=Date.now(),this.ws=new WebSocket(this.wsUrl),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)}uninitWebscoket(){this.ws&&(this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("message",this.onMessage),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("close",this.onClose),this.ws.readyState!==WebSocket.CLOSED&&this.ws.close(),this.ws=void 0,this.socketStatus=0)}};_(di,"logName","Socket");let Ss=di;var ze=(s=>(s.KEEPALIVE="keepalive",s.JOINCHANNEL="joinchannel",s.NOTIFYJOIN="notifyjoin",s.NOTIFYSTATUS="notifystatus",s.STATUSREPORT="statusreport",s.LEAVECHANNEL="leavechannel",s.NOTIFYLEAVE="notifyleave",s.NOTIFYPUBLISH="notifypublish",s.BYE="bye",s.RECONNECT="reconnect",s.PUBLISH="publish",s.REFRESHURL="refreshurl",s.UNSUBSCRIBE="unsubscribe",s.ROLEUPDATE="roleupdate",s))(ze||{});class o0{constructor(c,e){_(this,"authInfo");_(this,"userName");_(this,"seqIndex",0);this.authInfo=c,this.userName=e}get roleAuth(){if(this.authInfo.role){const{timestamp:c,nonce:e,token:t,role:i}=this.authInfo;return{timestamp:c,nonce:e,token:t,tokenrole:i}}}refreshAuthInfo(c){this.authInfo=c}getSeqIndex(){return this.seqIndex}createKeepAlivePackage(){return this.createBaseSendPackage("keepalive")}createJoinPackage(){let c=this.createBaseSendPackage("joinchannel");return c.header.displayName=this.userName,c.header.clientversion=St.getVersionNumber().toString(),c.header.platform=gn,this.roleAuth&&(c.data.auth=this.roleAuth),c}crateLeavePackage(){return this.createBaseSendPackage("leavechannel")}createStatusPackage(c){let e=this.createBaseSendPackage("statusreport");return e.header.displayName=this.userName,e.data.status=c,e}createPublishPackage(){let c=this.createBaseSendPackage("publish");return c.data.users=[{}],this.roleAuth&&(c.data.auth=this.roleAuth),c}createRoleUpdatePackage(){let c=this.createBaseSendPackage("roleupdate");return c.header.displayName=this.userName,c}createReconnectPackage(c){let e=this.createBaseSendPackage("reconnect");return e.header.displayName=this.userName,e.header.clientversion=St.getVersionNumber().toString(),e.header.platform=gn,e.data=be(be({},e.data),c!=null?c:{}),this.roleAuth&&(e.data.auth=this.roleAuth),e}createRefreshUrlPackage(){let c=this.createBaseSendPackage("refreshurl");return c.header.displayName=this.userName,c}createResponsePackage(c,e){return{version:1,code:200,tid:c,msgtype:e}}createBaseSendPackage(c){var t;return++this.seqIndex,{version:1,msgtype:c,tid:Kt(),header:{appid:this.authInfo.appId,channelid:this.authInfo.channelId,sessionid:(t=this.authInfo.sessionId)!=null?t:"",userid:this.authInfo.userId},data:{seq:this.seqIndex}}}}var te=(s=>(s[s.ERR_JOIN_ALREADY_JOINED=16843521]="ERR_JOIN_ALREADY_JOINED",s[s.ERR_JOIN_BAD_APPID=33620481]="ERR_JOIN_BAD_APPID",s[s.ERR_JOIN_INVALID_APPID=33620482]="ERR_JOIN_INVALID_APPID",s[s.ERR_JOIN_BAD_CHANNEL=33620484]="ERR_JOIN_BAD_CHANNEL",s[s.ERR_JOIN_INVALID_CHANNEL=33620483]="ERR_JOIN_INVALID_CHANNEL",s[s.ERR_JOIN_BAD_TOKEN=33620485]="ERR_JOIN_BAD_TOKEN",s[s.ERR_JOIN_TIMEOUT=16908804]="ERR_JOIN_TIMEOUT",s[s.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD=16974081]="ERR_JOIN_ERR_JOIN_BAD_PARAMBAD",s[s.ERR_JOIN_CHANNEL_FAILED=16974338]="ERR_JOIN_CHANNEL_FAILED",s[s.ERR_LOG_ALREADY_INIT=16974085]="ERR_LOG_ALREADY_INIT",s[s.ERR_LOG_ROOT_PATH_ERROR=16974086]="ERR_LOG_ROOT_PATH_ERROR",s[s.ERR_MIC_OPEN_FAIL=17040388]="ERR_MIC_OPEN_FAIL",s[s.ERR_SPEAKER_OPEN_FAIL=17040389]="ERR_SPEAKER_OPEN_FAIL",s[s.ERR_MIC_INTERRUPT=17040390]="ERR_MIC_INTERRUPT",s[s.ERR_SPEAKER_INTERRUPT=17040391]="ERR_SPEAKER_INTERRUPT",s[s.ERR_MIC_AUTH_FAIL=17040392]="ERR_MIC_AUTH_FAIL",s[s.ERR_MIC_NOT_AVAILABLE=17040393]="ERR_MIC_NOT_AVAILABLE",s[s.ERR_SPEAKER_NOT_AVAILABLE=17040400]="ERR_SPEAKER_NOT_AVAILABLE",s[s.ERR_CAMERA_OPEN_FAIL=17039620]="ERR_CAMERA_OPEN_FAIL",s[s.ERR_CAMERA_AUTH_FAIL=17039621]="ERR_CAMERA_AUTH_FAIL",s[s.ERR_CAMERA_INTERRUPT=17039622]="ERR_CAMERA_INTERRUPT",s[s.ERR_CAMERA_NOT_AVAILABLE=17039623]="ERR_CAMERA_NOT_AVAILABLE",s[s.ERR_VIDEO_DISPLAY_OPEN_FAIL=17039873]="ERR_VIDEO_DISPLAY_OPEN_FAIL",s[s.ERR_VIDEO_DISPLAY_INTERRUPT=1064992]="ERR_VIDEO_DISPLAY_INTERRUPT",s[s.ERR_ICE_CONNECTION_CONNECT_FAIL=17105409]="ERR_ICE_CONNECTION_CONNECT_FAIL",s[s.ERR_ICE_CONNECTION_RECONNECT_FAI=17105410]="ERR_ICE_CONNECTION_RECONNECT_FAI",s[s.ERR_ICE_CONNECTION_MOBILITY_FAIL=17105411]="ERR_ICE_CONNECTION_MOBILITY_FAIL",s[s.ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT=16908812]="ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT",s[s.ERR_LATENCY_LIVE_COMMUNICATION_FAILED=17235971]="ERR_LATENCY_LIVE_COMMUNICATION_FAILED",s[s.ERR_LATENCY_LIVE_MEIDASETTING_FAILED=17235972]="ERR_LATENCY_LIVE_MEIDASETTING_FAILED",s[s.ERR_LATENCY_LIVE_NONE_BROADCASTER=17235973]="ERR_LATENCY_LIVE_NONE_BROADCASTER",s[s.ERR_LATENCY_LIVE_NEED_RESTART=17235974]="ERR_LATENCY_LIVE_NEED_RESTART",s[s.ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER=17235975]="ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER",s[s.ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE=17235976]="ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE",s[s.ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION=17235977]="ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION",s[s.ERR_SDK_PUBLISH_INVAILD=16974597]="ERR_SDK_PUBLISH_INVAILD",s[s.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL=16843782]="ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL",s[s.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED=16843856]="ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED=16843857]="ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_DUAL_STREAM_FAILED=16843858]="ERR_SDK_PUBLISH_DUAL_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED=16843859]="ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED",s[s.ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR=16843860]="ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR",s[s.ERR_SDK_SUBSCRIBE_INVAILD=16974852]="ERR_SDK_SUBSCRIBE_INVAILD",s[s.ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL=16844112]="ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL",s[s.ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED=16844113]="ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED=16844114]="ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED=16844115]="ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED=16844116]="ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED",s[s.ERR_SDK_SUBSCRIBE_DATA_FAILED=16844117]="ERR_SDK_SUBSCRIBE_DATA_FAILED",s[s.ERR_SDK_INVALID_STATE=16974340]="ERR_SDK_INVALID_STATE",s[s.ERR_INVALID_ARGUMENTS=16974083]="ERR_INVALID_ARGUMENTS",s[s.ERR_SESSION_REMOVED=33620229]="ERR_SESSION_REMOVED",s[s.ERR_SDK_UPDATE_ROLE_CHANNEL=16908801]="ERR_SDK_UPDATE_ROLE_CHANNEL",s[s.ERR_INNER=-1]="ERR_INNER",s[s.ERR_SDK_MPU_TASK_PUBLISH_OK=0]="ERR_SDK_MPU_TASK_PUBLISH_OK",s[s.ERR_SDK_MPU_TASK_STREAM_NOT_FOUND=17825793]="ERR_SDK_MPU_TASK_STREAM_NOT_FOUND",s[s.ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST=17825794]="ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST",s[s.ERR_SDK_MPU_TASK_INVALID_PARAM=17825795]="ERR_SDK_MPU_TASK_INVALID_PARAM",s[s.ERR_SDK_MPU_TASK_INTERNAL_ERROR=17825796]="ERR_SDK_MPU_TASK_INTERNAL_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR=17825797]="ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR=17825798]="ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR",s[s.ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT=17825799]="ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT",s[s.ERR_SDK_MPU_TASK_NOT_AUTHORIZED=17825800]="ERR_SDK_MPU_TASK_NOT_AUTHORIZED",s[s.ERR_SDK_CHANNEL_RELAY_STATE_ERROR=18874369]="ERR_SDK_CHANNEL_RELAY_STATE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW=18874370]="ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW",s[s.ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED=18874371]="ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED",s[s.ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID=18874372]="ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID",s[s.ERR_SDK_CHANNEL_RELAY_ROLE_ERROR=18874373]="ERR_SDK_CHANNEL_RELAY_ROLE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_INVALID_PARAM=18874374]="ERR_SDK_CHANNEL_RELAY_INVALID_PARAM",s[s.ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR=18874375]="ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR",s))(te||{});class Y extends Error{constructor(e,t,i){super(t);_(this,"_code");_(this,"_extra");this._code=e,this._extra=i}static fromRtsError(e){return e instanceof Y?e:new Y((e==null?void 0:e.errorCode)||-1,(e==null?void 0:e.message)||(e==null?void 0:e.errorCodeName)||"rts error",e==null?void 0:e.extraInfo)}static fromError(e,t=-1,i=""){return new Y(t,(e==null?void 0:e.message)||(e==null?void 0:e.reason)||i||"error",e==null?void 0:e.extraInfo)}get code(){return this._code}set code(e){this._code=e}get reason(){return this.message}get extra(){return this._extra}}const c0=3e4,lt=class lt extends xe{constructor(e,t,i,r,n,a){super();_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"wsClient");_(this,"packageCreater");_(this,"keepAliveTimer",0);_(this,"packageCache",new Map);_(this,"isFirstConnect",!0);_(this,"aliveChecker",0);_(this,"reconnectData");this.authInfo=e,this.userName=t,this.packageCreater=new o0(e,t),this.channelProfile=i,this.clientRole=r,this.slsReporter=n,this.wsClient=new Ss(a),this.wsClient.on("onOpen",this.onOpen.bind(this)),this.wsClient.on("onMessage",this.onMessage.bind(this)),this.wsClient.on("onError",this.onError.bind(this)),this.wsClient.on("onClose",this.onClose.bind(this)),this.wsClient.on("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.on("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.on("onNetworkError",this.onNetworkError.bind(this)),this.wsClient.on("onReconnectStart",this.onReconnectStart.bind(this)),this.wsClient.on("onReconnectFail",this.onReconnectFail.bind(this))}get retryCount(){return this.wsClient.connectRetryCount}start(e){this.wsClient.start(e)}startKeepAlive(){this.keepAliveTimer===0&&(this.keepAliveTimer=window.setInterval(()=>{let e=this.packageCreater.createKeepAlivePackage();this.sendPackage(e)},5e3)),this.checkAlive()}stopKeepAlive(){this.keepAliveTimer!==0&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=0),this.aliveChecker&&(window.clearTimeout(this.aliveChecker),this.aliveChecker=0)}sendPkgCache(){this.packageCache.forEach(e=>{this.wsClient.send(e)})}leave(){let e=this.packageCreater.crateLeavePackage();this.sendPackage(e)}reportStatus(e){let t=this.packageCreater.createStatusPackage(e);this.sendPackage(t)}publish(e){const o=e,{l1ip:t}=o,i=pi(o,["l1ip"]);let r=this.packageCreater.createPublishPackage();r.data.users=[],r.data.l1ip=t,i.subscribe.signal=this.wsClient.connectUrl;const{tracks:n,resume:a}=i;n.forEach(u=>{const{codec:h,ssrc:g}=u;u.userdata=JSON.stringify({codec:h}),u.ssrc=`${g}`,a&&(u.attr={reason:"reconnect"})}),r.data.users.push(i),this.sendPackage(r)}roleUpdate(e){let t=this.packageCreater.createRoleUpdatePackage();t.data.clientrole=e,this.sendPackage(t)}refreshUrl(e){const t=this.packageCreater.createRefreshUrlPackage();t.data=be(Rt(be({},t.data),{sessionid:t.header.sessionid}),e),this.sendPackage(t)}refreshAuthInfo(e){this.authInfo=e,this.packageCreater.refreshAuthInfo(e)}close(){ae.info(`[${lt.logName}] close`),this.stopKeepAlive(),this.wsClient.off("onOpen",this.onOpen.bind(this)),this.wsClient.off("onMessage",this.onMessage.bind(this)),this.wsClient.off("onError",this.onError.bind(this)),this.wsClient.off("onClose",this.onClose.bind(this)),this.wsClient.off("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.off("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.off("onReconnectStart"),this.wsClient.off("onReconnectFail"),this.wsClient.close()}sendPackage(e){[ze.KEEPALIVE,ze.RECONNECT,ze.JOINCHANNEL].includes(e.msgtype)||this.packageCache.set(e.tid,e),this.wsClient.send(e),e.msgtype!==ze.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!0,e.msgtype,e.tid,e)}updateReconnectData(e){this.reconnectData=e}onOpen(){if(ae.info(`[${lt.logName}] onOpen`),this.isFirstConnect){let e=this.packageCreater.createJoinPackage();e.data.configure={channelprofile:this.channelProfile},(this.channelProfile===Tt.AliRtcSdkInteractiveLive||this.channelProfile===Tt.AliRtcSdkInteractiveWithLowLatencyLive)&&(e.data.configure.clientrole=this.clientRole),this.sendPackage(e)}else{this.stopKeepAlive();const e=this.packageCreater.createReconnectPackage(this.reconnectData);this.sendPackage(e)}}onMessage(e){try{let t=JSON.parse(e.data);this.packageCache.delete(t.tid),this.onRecvMessage(t),t!=null&&t.msgtype&&(t==null?void 0:t.msgtype)!==ze.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!1,t.msgtype,t.tid,t)}catch(t){ae.warn(`[${lt.logName}] onMessage err`,t,e)}}onError(e){ae.warn(`[${lt.logName}] onError`,e),this.isFirstConnect&&this.onConnectFail()}onConnectFail(){ae.warn(`[${lt.logName}] onConnectFail`);const e=new Y(te.ERR_INNER,"Signaling connect failed.");this.isFirstConnect?this.emit("onJoinChannelResult",e):this.emit("onConnectFail",e)}onAuthInvalid(){ae.warn(`[${lt.logName}] onAuthInvalid`),this.isFirstConnect&&this.emit("onAuthInvalid")}onNetworkError(){ae.warn(`[${lt.logName}] onNetworkError`);const e=new Y(te.ERR_INNER,"Network error, signaling connect failed.");this.emit("onNetworkError",e)}onClose(e){ae.info(`[${lt.logName}] onClose`,e),this.stopKeepAlive()}onKeepAliveRsp(){this.emit("onKeepAliveRsp"),this.checkAlive()}onReconnectStart(){this.emit("onReconnectStart")}onReconnectFail(){this.emit("onReconnectFail",new Y(te.ERR_INNER,"signaling reconnect failed."))}checkAlive(){window.clearTimeout(this.aliveChecker),this.aliveChecker=window.setTimeout(()=>{ae.info(`[${lt.logName}] not alive, reconnect`),this.stopKeepAlive(),this.emit("onReconnectStart"),this.wsClient.reconnect()},c0)}onRecvMessage(e){switch(e.msgtype!==ze.KEEPALIVE&&ae.info(`[${lt.logName}] recv msg: ${e.msgtype}`),e.msgtype){case ze.JOINCHANNEL:this.onJoinResult(e);break;case ze.KEEPALIVE:this.onKeepAliveRsp();break;case ze.PUBLISH:this.onPublishResult(e);break;case ze.NOTIFYJOIN:this.onNotifyJoin(e);break;case ze.NOTIFYSTATUS:this.onNotifyStatus(e);break;case ze.LEAVECHANNEL:this.onLeaveResult(e);break;case ze.NOTIFYLEAVE:this.onNotifyLeave(e);break;case ze.NOTIFYPUBLISH:this.onNotifyPublish(e);break;case ze.STATUSREPORT:this.onStatusReport(e);break;case ze.BYE:this.onBye(e);break;case ze.ROLEUPDATE:this.onRoleUpdateResult(e);break;case ze.REFRESHURL:this.onRefreshUrlResult(e);break;case ze.RECONNECT:this.onReconnectResult(e);break}}onJoinResult(e){this.isFirstConnect=!1,this.emit("onJoinChannelResult",e)}onLeaveResult(e){this.emit("onLeaveResult",e.code,e.tid)}onPublishResult(e){this.emit("onPublishResult",e.code,e.tid,e.description)}onRoleUpdateResult(e){this.emit("onRoleUpdateResult",e.code,e.tid,e.description)}onRefreshUrlResult(e){this.emit("onRefreshUrlResult",e)}onReconnectResult(e){if(e.code===200)this.sendPkgCache(),this.startKeepAlive(),this.emit("onReconnectSuccess",e.data.users);else{const t=new Y(te.ERR_INNER,`reconnect failed, code: ${e.code};description: ${e.description}`);e.code===403&&(t.code=403),this.emit("onReconnectFail",t),this.close()}}onNotifyJoin(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e&&e.data&&e.data.users&&this.emit("onNotifyJoin",e.data.users)}onNotifyStatus(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.status&&e.data.status.length&&this.emit("onNotifyStatus",e.data.status)}onNotifyLeave(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyLeave",e.data.users)}onNotifyPublish(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyPublish",e.data.users)}onStatusReport(e){this.emit("onStatusReport",e.code,e.tid,e.description)}onBye(e){this.stopKeepAlive(),this.emit("onBye",e.reason,e.description)}};_(lt,"logName","RSMessageCenter");let _s=lt;const j=(s,c)=>(e,t,i)=>{const r=i.value;return i.value=function(...n){var g;const a=`[${((g=e.constructor)==null?void 0:g.logName)||""}]`,o=Date.now();let u=[];if(s)try{u=s(n)}catch(f){}ae.interface(a,t,...u);const h=r.apply(this,n);return Promise.resolve(h).then(f=>f).catch(f=>f).then(f=>{var m;let l="";const p=f instanceof Error,d=p&&((m=e.constructor)==null?void 0:m.logError);if(!(!c&&!p)){if(d)l=f;else if(p)l=f.message||"";else if(c)if(f===void 0)l="";else try{l=c(f)}catch(b){}else return;ae.interfaceResult(a,t,!(p&&d),`${Date.now()-o}ms`,l)}}),h},i},ne=s=>s;var u0=Object.defineProperty,h0=Object.getOwnPropertyDescriptor,ys=(s,c,e,t)=>{for(var i=t>1?void 0:t?h0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&u0(c,e,i),i};const Wi=(st=class extends xe{constructor(e,t,i,r=Dt.prod){super();_(this,"messageCenter");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"reconnectData");_(this,"roomServerUri","");this.channelProfile=e,this.clientRole=t,this.slsReporter=i,this.reconnectData={role:{channelprofile:e,clientrole:t}};const n=r===Dt.pre?Li.pre:Li.prod;this.roomServerUri=`wss://${n}/roomserver/v1/ws`}updateReconnectData(e){var t;this.reconnectData=e,(t=this.messageCenter)==null||t.updateReconnectData(this.reconnectData)}reset(){ae.info("[roomsig] reset"),this.messageCenter&&(this.messageCenter.close(),this.messageCenter=void 0),this.authInfo=void 0}join(e,t,i){return O(this,null,function*(){return new Promise((r,n)=>{const a={};this.authInfo=e,this.userName=t,this.messageCenter=new _s(e,t,this.channelProfile,this.clientRole,this.slsReporter,i),this.initMessageCenter(),this.messageCenter.once("onJoinChannelResult",u=>{var h,g,f;if(ae.info(`[${st.logName}]`,"join result: ",u),a.taskretrynum=((h=this.messageCenter)==null?void 0:h.retryCount)||0,u.code==200){(g=this.messageCenter)==null||g.sendPkgCache(),(f=this.messageCenter)==null||f.startKeepAlive();let l=u.data;l.tid=u.tid,l.users=u.data.users,l.timestamp=u.timestamp,a.est&&(a.joinconnecttc=Date.now()-a.est),this.slsReporter.reportJoinConnection(a),r(l)}else this.reset(),n(this.handleSignalError(u.code,u.reason,te.ERR_JOIN_CHANNEL_FAILED))}),this.messageCenter.once("onAuthInvalid",()=>{this.reset(),n(new Y(te.ERR_JOIN_BAD_TOKEN,"join failed because authentication failed"))}),ae.info(`[${st.logName}]`,"start ws connecting roomserver and auto join when connected");const o={appid:this.authInfo.appId,callid:this.authInfo.sessionId,channelid:this.authInfo.channelId,userid:this.authInfo.userId,nonce:this.authInfo.nonce||"",timestamp:this.authInfo.timestamp,token:this.authInfo.token,authtype:"app",tid:Kt()};e.role&&(o.tokenrole=e.role),a.est=Date.now(),this.messageCenter.start(this.roomServerUri+"?"+St.queryingParam(o))})})}leave(){return ae.info("[roomsig] leave .."),new Promise((e,t)=>{this.messageCenter?(this.messageCenter.on("onLeaveResult",(i,r)=>{ae.info(`[${st.logName}]`,"recv leave response "+i),i===200?(this.updateReconnectData(),this.reset(),e({tid:r})):t(this.handleSignalError(i,"leave error"))}),ae.info(`[${st.logName}]`,"send leave request"),this.messageCenter.leave()):(ae.info(`[${st.logName}]`,"no message center, ok to leave"),e({tid:""}))})}publish(e){return new Promise((t,i)=>{var r;this.messageCenter?(this.messageCenter.once("onPublishResult",(n,a,o)=>{ae.info(`[${st.logName}]`,"recv pubish response "+n),n===200?(this.updateReconnectData(Rt(be({},this.reconnectData),{publish:{users:[e]}})),t({tid:a})):i(this.handleSignalError(n,`publish error, ${o}`))}),this.authInfo&&(e.sessionid=(r=this.authInfo.sessionId)!=null?r:""),e.callid||(e.callid=Kt()),ae.info(`[${st.logName}]`,"assign callid "+e.callid+" and send publish request"),this.messageCenter.publish(e)):i(this.handleSignalError(-1,"publish error, no message center"))})}roleUpdate(e){return new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"role update error, no message center"));return}this.messageCenter.on("onRoleUpdateResult",(r,n,a)=>{var o,u;ae.info(`[${st.logName}]`,"recv role update response "+r),r===200?((u=(o=this.reconnectData)==null?void 0:o.role)!=null&&u.clientrole&&(this.reconnectData.role.clientrole=e,this.updateReconnectData(this.reconnectData)),t({tid:n})):i(this.handleSignalError(r,`role update error, ${a}`))}),this.messageCenter.roleUpdate(e)})}setChannelProfile(e){this.channelProfile=e}refreshUrl(e){return ae.info(`[${st.logName}]`,"refreshUrl .."),new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"refresh url error, no message center"));return}this.messageCenter.on("onRefreshUrlResult",r=>{const{code:n,description:a,data:o={}}=r||{};ae.info("recv refresh url response "+n),n===200?t(o):i(this.handleSignalError(n,`refresh url error, ${a}`))}),ae.info("send refresh url request"),this.messageCenter.refreshUrl(e)})}reportStatus(e){return ae.info(`[${st.logName}]`,"reportStatus "+e),new Promise((t,i)=>{this.messageCenter?(this.messageCenter.once("onStatusReport",(r,n)=>{r===200?t():i(new Y(r,n))}),this.messageCenter.reportStatus(e)):i(new Y(-1,"No messageCenter"))})}handleSignalError(e,t,i=te.ERR_INNER){const r=`signal error: code - ${e}; description - ${t}`;return new Y(i,r)}refreshAuthInfo(e){return O(this,null,function*(){var t;this.authInfo&&(this.authInfo=e,(t=this.messageCenter)==null||t.refreshAuthInfo(this.authInfo))})}initMessageCenter(){var e,t,i,r,n,a,o,u,h,g,f,l;(e=this.messageCenter)==null||e.on("onKeepAliveRsp",()=>{this.emit("onKeepAliveRsp")}),(t=this.messageCenter)==null||t.on("onNotifyJoin",p=>{this.emit("onNotifyJoin",p)}),(i=this.messageCenter)==null||i.on("onNotifyStatus",p=>{this.emit("onNotifyStatus",p)}),(r=this.messageCenter)==null||r.on("onNotifyLeave",p=>{this.emit("onNotifyLeave",p)}),(n=this.messageCenter)==null||n.on("onNotifyPublish",p=>{this.emit("onNotifyPublish",p)}),(a=this.messageCenter)==null||a.on("onBye",(p,d)=>{this.emit("onBye",p,d)}),(o=this.messageCenter)==null||o.on("onReconnectStart",()=>{this.emit("onReconnectStart")}),(u=this.messageCenter)==null||u.on("onReconnectSuccess",p=>{this.emit("onReconnectSuccess",p)}),(h=this.messageCenter)==null||h.on("onReconnectFail",p=>{this.emit("onReconnectFail",p)}),(g=this.messageCenter)==null||g.on("onConnectFail",p=>{this.emit("onConnectFail",p),this.reset()}),(f=this.messageCenter)==null||f.on("onNetworkError",p=>{this.emit("onNetworkError",p)}),(l=this.messageCenter)==null||l.on("onAuthInvalid",()=>{this.emit("onAuthInvalid")})}},_(st,"logName","RoomServerSignaling"),st);ys([j()],Wi.prototype,"join",1),ys([j()],Wi.prototype,"publish",1),ys([j()],Wi.prototype,"roleUpdate",1);let d0=Wi;const l0="https://pgw.rtn.aliyuncs.com",f0="https://gw.rtn.aliyuncs.com",Ia=10*60*1e3,p0=12,ki=class ki extends xe{constructor(e,t){super();_(this,"env");_(this,"authInfo");_(this,"timer");_(this,"slsReporter");_(this,"expiration",0);_(this,"skipTime",0);_(this,"requestToken",()=>O(this,null,function*(){if(this.skipTime=0,!this.authInfo)return;const{appId:e,channelId:t,userId:i,nonce:r="",token:n,timestamp:a,sessionId:o,role:u}=this.authInfo;let h=f0;this.env===Dt.pre&&(h=l0);const g=`${h}/gslb/v1/stsupdate?appid=${e}&channelid=${t}&userid=${i}&nonce=${r}&token=${n}&timestamp=${a}&session=${o}${u?`&tokenrole=${u}`:""}&slstoken=true&osstoken=true&tokensid=false`,f=Date.now();fetch(g).then(l=>l.json()).then(l=>{var p,d;if(l.code===0){const m=(p=l.data)==null?void 0:p.oss,b=(d=l.data)==null?void 0:d.sls;this.expiration=m.expiration||b.expiration,this.emit("onTokenUpdate",m,b),ae.event(`[${ki.logName}]`,"getToken",m,b)}else throw new Error;this.slsReporter.reportSTSResult(200,f)}).catch(l=>{this.slsReporter.reportSTSResult(-1,f),ae.error(`[${ki.logName}]`,"getToken",l.message)})}));this.slsReporter=e,this.env=t}refreshAuthInfo(e){this.authInfo=e}startSTSUpdate(e){this.authInfo=e,this.requestToken(),this.timer&&clearInterval(this.timer),this.timer=window.setInterval(()=>{if(this.expiration&&Math.floor((Date.now()+Ia*1.5)/1e3)<this.expiration&&this.skipTime<p0){this.skipTime+=1;return}this.requestToken()},Ia)}clear(){this.timer&&clearInterval(this.timer)}};_(ki,"logName","StsManager");let As=ki;var m0=Object.defineProperty,g0=Object.getOwnPropertyDescriptor,v0=(s,c,e,t)=>{for(var i=t>1?void 0:t?g0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&m0(c,e,i),i};class Es extends xe{constructor(e,t,i,r=Dt.prod){super();_(this,"signaling");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"env",Dt.prod);_(this,"maxConnectRetryCount");_(this,"stsManager");_(this,"slsReporter");this.channelProfile=e,this.clientRole=t,this.env=r,this.slsReporter=i,this.stsManager=new As(i,r)}reset(){var e;ae.info("[signalingmanager] reset"),(e=this.signaling)==null||e.reset(),this.stsManager.clear(),this.signaling=void 0,this.authInfo=void 0}join(e,t=e.userId,i,r){return this.maxConnectRetryCount=i,this.userName=t,new Promise((n,a)=>{this.signaling?a(new Y(te.ERR_JOIN_ALREADY_JOINED,"already joined")):(ae.info("[signalingmanager] create signaling"),this.signaling=new d0(this.channelProfile,this.clientRole,this.slsReporter,this.env),this.initSignaling(),r&&(r.rs=Date.now()),this.signaling.join(e,t,i).then(o=>{this.authInfo=e,r&&(r.re=Date.now()),n(o)}).catch(o=>{this.reset(),a(o)}),this.stsManager.startSTSUpdate(e))})}retryJoin(){const e=this.authInfo;this.reset(),e&&this.join(e,this.userName,this.maxConnectRetryCount)}leave(){return new Promise((e,t)=>{this.signaling?this.signaling.leave().then(i=>{this.reset(),e(i)}).catch(i=>{t(i)}):e({tid:""})})}publish(e){return new Promise((t,i)=>{var r;this.signaling&&this.authInfo?(e.userid=this.authInfo.userId,e.displayname=(r=this.userName)!=null?r:this.authInfo.userId,this.signaling.publish(e).then(n=>{t(n)}).catch(n=>{i(n)})):i(new Y(te.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL,"no signaling"))})}reportStatus(e){return new Promise((t,i)=>{this.signaling?this.signaling.reportStatus(e).then(()=>{t()}).catch(r=>{i(r)}):i(new Y(-1,"no signaling"))})}setClientRole(e){return O(this,null,function*(){const t=this.clientRole;if(!this.signaling){this.clientRole=e;return}const i=Date.now();try{const r=yield this.signaling.roleUpdate(e);return this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,0),r}catch(r){this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,r.code||-1)}})}setChannelProfile(e){this.signaling?this.signaling.setChannelProfile(e):this.channelProfile=e}refreshUrl(e){return this.signaling?this.signaling.refreshUrl(e):Promise.reject(new Y(te.ERR_SDK_INVALID_STATE,"should join first"))}refreshAuthInfo(e){return O(this,null,function*(){var t;try{this.authInfo&&(this.authInfo=be(be({},this.authInfo),e),(t=this.signaling)==null||t.refreshAuthInfo(this.authInfo),this.stsManager.refreshAuthInfo(this.authInfo))}catch(i){throw i}})}initSignaling(){var e,t,i,r,n,a,o,u,h,g,f,l,p;(e=this.signaling)==null||e.on("onKeepAliveRsp",this.onKeepAliveRsp.bind(this)),(t=this.signaling)==null||t.on("onNotifyJoin",this.onNotifyJoin.bind(this)),(i=this.signaling)==null||i.on("onNotifyStatus",this.onNotifyStatus.bind(this)),(r=this.signaling)==null||r.on("onNotifyLeave",this.onNotifyLeave.bind(this)),(n=this.signaling)==null||n.on("onNotifyPublish",this.onNotifyPublish.bind(this)),(a=this.signaling)==null||a.on("onBye",this.onBye.bind(this)),(o=this.signaling)==null||o.on("onReconnectStart",this.onReconnectStart.bind(this)),(u=this.signaling)==null||u.on("onReconnectSuccess",this.onReconnectSuccess.bind(this)),(h=this.signaling)==null||h.on("onReconnectFail",this.onReconnectFail.bind(this)),(g=this.signaling)==null||g.on("onConnectFail",this.onConnectFail.bind(this)),(f=this.signaling)==null||f.on("onNetworkError",this.onNetworkError.bind(this)),(l=this.signaling)==null||l.on("onAuthInvalid",this.onAuthInvalid.bind(this)),(p=this.signaling)==null||p.on("onError",this.onError.bind(this))}onKeepAliveRsp(){this.emit("onKeepAliveRsp")}onNotifyJoin(e){this.emit("onNotifyJoin",e)}onNotifyStatus(e){this.emit("onNotifyStatus",e)}onNotifyLeave(e){this.emit("onNotifyLeave",e)}onNotifyPublish(e){this.emit("onNotifyPublish",e)}onBye(e,t){this.emit("onBye",e,t)}onConnectFail(e){this.reset(),this.emit("onConnectFail",e)}onNetworkError(e){this.emit("onNetworkError",e)}onAuthInvalid(e){}onReconnectStart(){this.emit("onReconnectStart")}onReconnectSuccess(e){this.emit("onReconnectSuccess",e)}onReconnectFail(e){this.emit("onReconnectFail",e)}onError(e){this.emit("onError",e)}}_(Es,"logName","SignalingManager"),v0([j(ne)],Es.prototype,"publish",1);const ii=class ii{static getInstance(){return ii.instance||(ii.instance=new AudioContext),ii.instance.resume(),ii.instance}};_(ii,"instance");let ui=ii;function b0(s,c,e,t,i){let r=t,n=0,a;const o=s.createAnalyser();o.fftSize=256;const u=new Uint8Array(o.frequencyBinCount);c.connect(o),o.connect(e);const h=()=>{a&&window.clearInterval(a)},g=()=>{a=window.setInterval(()=>{o.getByteFrequencyData(u);let f=Math.round(u.reduce((l,p)=>l+p)/u.length);f=Math.min(100,f),n=f,i&&i(f)},r)};return g(),{updateInterval:f=>{h(),r=f,g()},getLevel:()=>n,dispose:()=>{h(),c.disconnect(),o.disconnect()}}}class x0 extends xe{constructor(){super();_(this,"audioContext");_(this,"stream");_(this,"sourceNode");_(this,"analyser");this.audioContext=ui.getInstance(),this.stream=new MediaStream}getLevel(){return this.analyser?this.analyser.getLevel():0}start(e,t=1e3){this.sourceNode&&this.stop(),this.stream.addTrack(e),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const i=this.audioContext.createMediaStreamDestination();this.analyser=b0(this.audioContext,this.sourceNode,i,t,r=>{this.emit("audioLevel",r)})}stop(){this.analyser&&this.analyser.dispose(),this.analyser=void 0,this.sourceNode=void 0,this.stream.getAudioTracks().forEach(e=>{this.stream.removeTrack(e)})}dispose(){this.stop()}}class Ra extends xe{constructor(e,t,i,r){super();_(this,"uid");_(this,"name");_(this,"rtsManager");_(this,"callId","");_(this,"audioLevelMonitor");_(this,"audioVolumeIndicationInterval",0);this.uid=e,this.name=t,this.rtsManager=i,this.audioVolumeIndicationInterval=r,this.audioLevelMonitor=new x0}get userId(){return this.uid}get displayname(){return this.name}createCallId(){this.callId||(this.callId=St.createCallid())}setUserInfo(e,t){this.uid=e,this.name=t}refreshUserInfo(e){this.uid=e}getAudioLevel(){return this.audioLevelMonitor.getLevel()}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval=e}clear(){this.audioLevelMonitor.dispose()}}class Da{static getCurrentStatus(c){let e=0;c.micOpen&&(e+=1),c.micInterrupted&&(e+=2),c.cameraOpen&&(e+=4),c.screenShare&&(e+=128),c.audioDisable&&(e+=8),c.videoDisable&&(e+=16),c.screenDisable&&(e+=256);let t=e.toString(16);for(;t.length<16;)t="0"+t;return t}static parseStatus(c){let e=parseInt(c,16);return{micOpen:!!(e&1),micInterrupted:!!(e&2),cameraOpen:!!(e&4),screenShare:!!(e&128),audioDisable:!!(e&8),videoDisable:!!(e&16),screenDisable:!!(e&256),backgroundMode:!!(e&32),accompanyPlaying:!!(e&64)}}}const Ta="customVideoProfile",ka="customScreenProfile",wi={width:1280,height:720,frameRate:30,maxBitrate:2e3},Ci={width:1920,height:1080,frameRate:30,maxBitrate:2600},S0={1e4:He.AliEngineLocalDeviceExceptionTypeUnknown,2e4:He.AliEngineLocalDeviceExceptionTypeUnknown,10001:He.AliEngineLocalDeviceExceptionTypeMicNotAvailable,10002:He.AliEngineLocalDeviceExceptionTypeMicAuthFail,10003:He.AliEngineLocalDeviceExceptionTypeMicOpenFail,10005:He.AliEngineLocalDeviceExceptionTypeCameraAuthFail,10004:He.AliEngineLocalDeviceExceptionTypeVideoDeviceException,10006:He.AliEngineLocalDeviceExceptionTypeCameraOpenFail,10010:He.AliEngineLocalDeviceExceptionTypeDisplayException,10011:He.AliEngineLocalDeviceExceptionTypeDisplayException,10012:He.AliEngineLocalDeviceExceptionTypeDisplayException,10013:He.AliEngineLocalDeviceExceptionTypeDisplayException,10014:He.AliEngineLocalDeviceExceptionTypeDisplayException,10019:He.AliEngineLocalDeviceExceptionTypeDisplayException},_0=s=>s.getAudioTracks()[0];function Pa(s){var c;if(((c=s==null?void 0:s.nodeName)==null?void 0:c.toLowerCase())==="video")return s.setAttribute("playsinline",""),s;if(typeof s=="string"){let e=document.getElementById(s);if(e){if(e.nodeName.toLocaleLowerCase()==="video")return e.setAttribute("playsinline",""),e;throw new Y(te.ERR_INVALID_ARGUMENTS,"element should be HtmlVideoElement")}else throw new Y(te.ERR_INVALID_ARGUMENTS,"element not founded")}else throw new Y(te.ERR_INVALID_ARGUMENTS,"element id should be string")}function ws(s){var e;const c=[];if(Array.isArray(s))s.forEach(t=>{try{c.push(Pa(t))}catch(i){}});else if(typeof s=="string"||((e=s==null?void 0:s.nodeName)==null?void 0:e.toLowerCase())==="video")try{c.push(Pa(s))}catch(t){}return c}function Nt(s){return new Promise(c=>setTimeout(c,s))}function Ba(s,c,e=1e3,t=i=>!0){return O(this,null,function*(){let i=0,r;for(;i<c;)try{return yield s(i)}catch(n){if(i++,i>=c||!t(n))throw n||r;yield new Promise(a=>setTimeout(a,e))}})}function y0(s,c){let e=0;const t=[];for(;e<s.byteLength;){const i=Math.min(c,s.byteLength-e),r=s.slice(e,e+i);t.push(r),e+=i}return t}const La=(s,c,e=!1)=>{const t=()=>(s.muted=!0,Promise.race([Nt(500),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{let i;return e&&s.srcObject===c?i=Promise.resolve():(s.load(),s.srcObject=c,i=s.play(),s._playPromise=i),i}));return new Promise(i=>{if(pe.AliRTS.BrowserUtil.isMicroMessenger){const r=window.top!==window.self,n=window.WeixinJSBridge||window.top.WeixinJSBridge;n?n.invoke("getNetworkType",{},()=>{i(t())}):(r?window.top.document:document).addEventListener("WeixinJSBridgeReady",()=>{n.invoke("getNetworkType",{},()=>{i(t())})}),setTimeout(()=>{i(t())},1e3)}else setTimeout(()=>{i(t())},0)})},Ft=s=>{Promise.race([Nt(100),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{s.srcObject=null,s._playPromise=void 0})};var Cs=(s=>(s[s.AliEngineDataMsgNone=0]="AliEngineDataMsgNone",s[s.AliEngineDataMsgMusicProgress=1]="AliEngineDataMsgMusicProgress",s[s.AliEngineDataMsgCustom=2]="AliEngineDataMsgCustom",s))(Cs||{});class Ki{constructor(c,e,t,i=0){_(this,"msgType");_(this,"msgId");_(this,"protocolVersion");_(this,"tlvVersion");this.msgType=c,this.msgId=e,this.protocolVersion=t,this.tlvVersion=i}build(){const c=new Uint8Array(4);return c.set(Uint8Array.from([this.protocolVersion,this.tlvVersion<<4|this.msgType&15]),0),c.set(Uint16Array.from([this.msgId]),2),c}static parse(c){const e=new DataView(c),t=e.getUint8(0),i=e.getUint8(1)>>4,r=e.getUint8(1)&15,n=e.getUint16(2);return new Ki(r,n,t,i)}}const Qt=5;class $i{constructor(c,e,t){_(this,"_byteArray");if(this._byteArray=new Uint8Array(0),c!==void 0&&e!==void 0&&t!==void 0){const r=new Ki(c,e,t).build();this._byteArray=new Uint8Array(r.byteLength+this._byteArray.byteLength),this._byteArray.set(r,0)}}write(c,e){const t=this._byteArray,i=new ArrayBuffer(Qt),r=new DataView(i);r.setUint8(0,c),r.setUint32(1,e.byteLength);const n=new Uint8Array(t.byteLength+Qt+e.byteLength);n.set(t,0),n.set(new Uint8Array(i),t.byteLength),n.set(new Uint8Array(e),t.byteLength+Qt),this._byteArray=n}static parse(c){const e={},t=new DataView(c);let i=0;for(;i<c.byteLength;){const r=t.getUint8(i),n=t.getUint32(i+1);if(i+Qt+n<=c.byteLength){const a=c.slice(i+Qt,i+Qt+n);e[r]=a,i+=Qt+n}else break}return e}get buffer(){return this._byteArray.buffer}}class Ii{constructor(c=0,e=!0,t=1,i=!1,r=0,n=!1,a=!1,o=3){_(this,"_fin",!0);_(this,"_hasExtension",!1);_(this,"_version",0);_(this,"_frameType",1);_(this,"_isEncrypted",!1);_(this,"_isCompressed",!1);_(this,"_signalType",3);_(this,"_payloadLength",0);this._fin=e,this._hasExtension=i,this._version=r,this._frameType=t,this._isEncrypted=n,this._isCompressed=a,this._signalType=o,this._payloadLength=c}get fin(){return this._fin}get hasExtension(){return this._hasExtension}get version(){return this._version}get frameType(){return this._frameType}get isEncrypted(){return this._isEncrypted}get isCompressed(){return this._isCompressed}get signalType(){return this._signalType}get payloadLength(){return this._payloadLength}toBuffer(){const c=new ArrayBuffer(4),e=new DataView(c);return e.setUint8(0,(this._fin?1:0)<<7|(this._hasExtension?1:0)<<6|this._version<<4|this._frameType&15),e.setUint8(1,(this._isEncrypted?1:0)<<7|(this._isCompressed?1:0)<<6|this._signalType&15),e.setUint16(2,this._payloadLength),c}static parse(c){const e=new DataView(c),t=e.getUint8(0)>>7===1,i=(e.getUint8(0)&64)>>6===1,r=(e.getUint8(0)&48)>>4,n=e.getUint8(0)&15,a=e.getUint8(1)>>7===1,o=(e.getUint8(1)&64)>>6===1,u=e.getUint8(1)&15,h=e.getUint16(2);return new Ii(h,t,n,i,r,a,o,u)}}class qi{constructor(c,e){_(this,"_body");_(this,"_header",new Ii);this._header=c,this._body=e}get header(){return this._header}get isFin(){return this._header.fin}get body(){return this._body}toGRTNBuffer(){const c=this._header.toBuffer(),e=this._body,t=new ArrayBuffer(4);new DataView(t).setUint8(0,1*Math.pow(2,4));const i=new Uint8Array(t.byteLength+c.byteLength+e.byteLength);return i.set(new Uint8Array(t),0),i.set(new Uint8Array(c),t.byteLength),i.set(new Uint8Array(e),t.byteLength+c.byteLength),i.buffer}static parse(c){const e=c.slice(0,4),t=Ii.parse(e);let i=new ArrayBuffer(0);return c.byteLength-4>=t.payloadLength&&(i=c.slice(4,4+t.payloadLength)),new qi(t,i)}}const Is=s=>{const c=s.byteLength,e=new DataView(s);let t=0;for(let i=0;i<c;i++)t=t*256+e.getUint8(i);return t};let Ma=0;class ei{constructor(c,e=0,t=0,i=0){_(this,"data");_(this,"networkTime");_(this,"futureOrProgress");_(this,"type");this.data=c,this.type=e,this.networkTime=t,this.futureOrProgress=i}toBuffer(){const c=new $i(0,0,0);c.write(1,Uint8Array.from([0]).buffer),c.write(2,Uint16Array.from([0]).buffer),Ma++,c.write(3,Uint32Array.from([Ma]).buffer);const e=new $i;return e.write(1,Uint8Array.from([0]).buffer),e.write(2,Uint8Array.from([this.type]).buffer),e.write(3,Uint32Array.from([this.futureOrProgress]).buffer),e.write(4,Uint32Array.from([Number(this.networkTime>>32&4294967295),Number(this.networkTime&4294967295)]).buffer),e.write(5,this.data),c.write(30,e.buffer),c.buffer}static parse(c){if(!c||c.byteLength<4)return;Ki.parse(c.slice(0,4));const t=$i.parse(c.slice(4))[30];if(!t)return;const i=$i.parse(t),r=i[2],n=i[3],a=i[4],o=i[5];if(o.byteLength!==0)return new ei(o,Is(r),Is(a),Is(n))}}var A0=Object.defineProperty,E0=Object.getOwnPropertyDescriptor,Ve=(s,c,e,t)=>{for(var i=t>1?void 0:t?E0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&A0(c,e,i),i};const Na=30;class Ri extends xe{constructor(){super();_(this,"state");_(this,"time");this.state=ve.AliRtcStatePublishIdle,this.time=Date.now()}setState(e){const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}}const Oe=(Ut=class extends Ra{constructor(e){const{rtsManager:t,localStreamManager:i,slsReporter:r,signalingManager:n,audioVolumeIndicationInterval:a,parameter:o}=e;super("","",t,a);_(this,"url","");_(this,"joinTime",0);_(this,"_isPublishing",!1);_(this,"publishPromise",Promise.resolve({traceId:"",l1ip:void 0}));_(this,"previewElements",[]);_(this,"screenPreviewElements",[]);_(this,"streamManager");_(this,"dc");_(this,"streamTracks");_(this,"publishId",Kt());_(this,"signalingManager");_(this,"traceId","");_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"candidateDataCache",[]);_(this,"pcMediaStatsMap",{});_(this,"slsReporter");_(this,"audioPubState");_(this,"videoPubState");_(this,"videoSmallPubState");_(this,"screenPubState");_(this,"dataPubState");_(this,"parameter",{});_(this,"onTrackEnd",e=>{this.emit(e)});this.streamManager=i,this.signalingManager=n,this.slsReporter=r,this.parameter=o,this.streamManager.on("trackended",u=>{this.onTrackEnd(u)}),this.streamManager.on("publishupdate",()=>{this.publishUpdate()}),this.audioPubState=new Ri,this.audioPubState.on("change",(u,h,g)=>{this.emit("audioPublishStateChanged",u,h,g)}),this.videoPubState=new Ri,this.videoPubState.on("change",(u,h,g)=>{this.emit("videoPublishStateChanged",u,h,g)}),this.videoSmallPubState=new Ri,this.videoSmallPubState.on("change",(u,h,g)=>{this.emit("dualStreamPublishStateChanged",u,h,g)}),this.screenPubState=new Ri,this.screenPubState.on("change",(u,h,g)=>{this.emit("screenPublishStateChanged",u,h,g)}),this.dataPubState=new Ri,this.dataPubState.on("change",(u,h,g)=>{this.emit("dataPublishStateChanged",u,h,g)}),this.startStreamMonitor()}get joined(){return!!this.uid}get isPublishing(){return this._isPublishing}get publishStreams(){return this.streamManager.publishStreams}get cameraTrack(){return this.streamManager.cameraStreamInfo.originVideoTrack}get screenTrack(){return this.streamManager.screenStreamInfo.originVideoTrack}get audioTrack(){return this.streamManager.cameraStreamInfo.originAudioTrack}get hasCamera(){return!!this.streamManager.cameraStreamInfo.originVideoTrack}get hasMicrophone(){return!!this.streamManager.cameraStreamInfo.originAudioTrack}get hasScreenShare(){return!!this.streamManager.screenStreamInfo.originVideoTrack}get hasCameraTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.VideoLarge))}get hasCameraDualTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.VideoSmall))}get hasScreenTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.Screen))}get hasAudioTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="audio"&&t&&r===G.Audio))}get cameraDirection(){var e,t;return(t=(e=this.streamManager.cameraStreamInfo)==null?void 0:e.cameraVideoConstraints)==null?void 0:t.facingMode}get audioCaptureDisabled(){return this.streamManager.audioCaptureDisabled}get cameraCaptureDisabled(){return this.streamManager.cameraCaptureDisabled}get publishLocalVideoStreamEnabled(){return this.streamManager.publishLocalVideoStreamEnabled}get publishLocalAudioStreamEnabled(){return this.streamManager.publishLocalAudioStreamEnabled}get publishLocalScreenStreamEnabled(){return this.streamManager.publishLocalScreenStreamEnabled}setPublishLocalAudioStreamEnabled(e){this.streamManager.publishLocalAudioStreamEnabled=e}setPublishLocalVideoStreamEnabled(e){this.streamManager.publishLocalVideoStreamEnabled=e}setPublishLocalScreenStreamEnabled(e){this.streamManager.publishLocalScreenStreamEnabled=e}initInfo(e,t){this.joinTime=Date.now(),this.rtsManager.localJoinTime=this.joinTime,this.setUserInfo(e.userId,e.userId),this.url=t,this.callId=e.sessionId||St.createCallid(),this.updatePubId()}setVideoProfile(e,t){return O(this,null,function*(){yield this.streamManager.setVideoProfile(e,t)})}setVideoContentHint(e){this.streamManager.setVideoContentHint(e)}setScreenContentHint(e){this.streamManager.setScreenContentHint(e)}setAudioProfile(e){return O(this,null,function*(){yield this.streamManager.setAudioProfile(e)})}setScreenProfile(e,t){return O(this,null,function*(){yield this.streamManager.setScreenProfile(e,t)})}setCameraDirection(e){if(e===Ei.CAMERA_FRONT)this.streamManager.setCameraVideoConstraints({facingMode:"user"});else if(e===Ei.CAMERA_REAR)this.streamManager.setCameraVideoConstraints({facingMode:"environment"});else throw new Y(te.ERR_CAMERA_OPEN_FAIL,`camera direction set to ${e} failed`)}setCameraDeviceId(e){this.streamManager.setCameraVideoConstraints({deviceId:e})}muteLocalCamera(e){this.streamManager.setCameraMuted(e),this.slsReporter.reportMute(this.callId,!e,"video")}muteLocalMic(e){this.streamManager.setAudioMuted(e),this.slsReporter.reportMute(this.callId,!e,"audio")}muteLocalScreen(e){this.streamManager.setScreenMuted(e),this.slsReporter.reportMute(this.callId,!e,"screen")}setMicrophoneDeviceId(e){this.streamManager.setMicAudioConstraints({deviceId:e})}updatePubId(){this.publishId=Kt()}clearPublishState(){this.streamTracks=void 0}leave(){return O(this,null,function*(){this._isPublishing&&(this._isPublishing=!1,yield this.unPublish())})}clear(){return O(this,null,function*(){Fs(Ut.prototype,this,"clear").call(this),this.stopPreview(),this.resetPreviewElements(),this.resetSecondayPreviewElements(),this.clearStream(),yield this.leave(),this.streamManager.cameraCaptureDisabled=!1})}resetElement(e){this.previewElements.includes(e)&&(Ft(e),this.previewElements.splice(this.previewElements.indexOf(e),1)),this.screenPreviewElements.includes(e)&&(Ft(e),this.screenPreviewElements.splice(this.screenPreviewElements.indexOf(e),1))}setPreviewElement(e){const{videoElement:t,screen:i}=e;i?this.screenPreviewElements.includes(t)||this.screenPreviewElements.push(t):this.previewElements.includes(t)||this.previewElements.push(t)}startDefaultCamera(e){return O(this,null,function*(){const{hasCamera:t,cameraCaptureDisabled:i,publishLocalVideoStreamEnabled:r}=this;let n=[];if(!t&&!e&&!i&&r){try{n=yield pe.AliRTS.getCameraList(),n.length&&(yield this.startCameraCapture())}catch(a){throw a.code===pe.AliRTS.ErrorCode.ERROR_DEVICE_VIDEODEVICE_NOTALLOWED?new Y(te.ERR_CAMERA_AUTH_FAIL,"camera auth fail"):new Y(te.ERR_CAMERA_OPEN_FAIL,`camera open fail: ${a.message}`)}if(!n.length)throw new Y(te.ERR_CAMERA_NOT_AVAILABLE,"No camera device can be captured")}})}startDefaultAudio(){return O(this,null,function*(){const{hasMicrophone:e,audioCaptureDisabled:t,publishLocalAudioStreamEnabled:i}=this;let r=[];if(!e&&!t&&i){try{r=yield pe.AliRTS.getMicList(),r.length&&(yield this.startAudioCapture())}catch(n){throw n.code===pe.AliRTS.ErrorCode.ERROR_DEVICE_AUDIODEVICE_NOTALLOWED?new Y(te.ERR_MIC_AUTH_FAIL,"microphone auth fail"):new Y(te.ERR_MIC_OPEN_FAIL,`microphone open fail: ${n.message}`)}if(!r.length)throw new Y(te.ERR_MIC_NOT_AVAILABLE,"No microphone device can be captured")}})}setViewConfig(e,t){if(!e){t===Ae.AliRtcVideoTrackCamera?this.stopPreview({primary:!0,screen:!1}):this.stopPreview({primary:!1,screen:!0});return}if(![Ae.AliRtcVideoTrackCamera,Ae.AliRtcVideoTrackScreen].includes(t))throw new Y(te.ERR_INVALID_ARGUMENTS,"set view config invalid track",{track:t});e.forEach(i=>{this.setPreviewElement({videoElement:i,screen:t===Ae.AliRtcVideoTrackScreen})})}startCameraCapture(){return O(this,null,function*(){return this.streamManager.cameraCaptureDisabled=!1,yield this.createLocalStream({video:!0})})}stopCameraCapture(){return O(this,null,function*(){this.streamManager.cameraCaptureDisabled=!0,yield this.stopLocalStream({video:!0})})}startAudioCapture(){return O(this,null,function*(){return this.streamManager.audioCaptureDisabled=!1,yield this.createLocalStream({audio:!0})})}stopAudioCapture(){return O(this,null,function*(){this.streamManager.audioCaptureDisabled=!0,yield this.stopLocalStream({audio:!0})})}preview(e){return O(this,null,function*(){const{videoElement:t,screen:i}=e!=null?e:{};try{let r=i?this.streamManager.screenStreamInfo.previewStream:this.streamManager.cameraStreamInfo.previewStream;if(!t)throw new Y(te.ERR_INVALID_ARGUMENTS,"no video element found",{videoElement:t});if(!r){ae.info(`[${Ut.logName}]`,"preview no stream founded");return}return La(t,r.mediaStream),this.setPreviewElement(e),r.mediaStream}catch(r){const n=te.ERR_INNER;throw Y.fromError(r,n,"preview failed")}})}previewAll(e){return O(this,null,function*(){const{primary:t=!0,screen:i=!0}=e!=null?e:{};if(t&&this.previewElements.length)for(let r=0;r<this.previewElements.length;r++){const n=this.previewElements[r];yield this.preview({videoElement:n})}if(i&&this.screenPreviewElements.length)for(let r=0;r<this.screenPreviewElements.length;r++){const n=this.screenPreviewElements[r];yield this.preview({videoElement:n,screen:!0})}})}stopPreview(e){const{videoElement:t,primary:i=!0,screen:r=!0}=e||{};if(!t)i&&(this.previewElements.forEach(n=>{Ft(n)}),this.previewElements=[]),r&&(this.screenPreviewElements.forEach(n=>{Ft(n)}),this.screenPreviewElements=[]);else{const n=this.previewElements.findIndex(a=>a===t);if(n>=0)this.previewElements.splice(n,1),Ft(t);else{const a=this.screenPreviewElements.findIndex(o=>o===t);a>=0&&(this.screenPreviewElements.splice(a,1),Ft(t))}}}resumePublish(){return O(this,null,function*(){this._isPublishing=!1,yield this.startPublish(!0)})}createLocalStream(e){return O(this,null,function*(){try{const t=yield this.streamManager.createLocalStream(e);return t!=null&&t.audioTrack&&this.audioVolumeIndicationInterval>0&&this.audioLevelMonitor.start(t.audioTrack,this.audioVolumeIndicationInterval),e.video?this.previewAll({primary:!0}):e.screen&&this.previewAll({screen:!0}),t}catch(t){const i=S0[t.errorCode];throw i&&(e.audio?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeMic,i,""):e.video?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeCamera,i,""):e.screen?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeDisplay,i,""):this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeUnknown,i,"")),t}})}stopLocalStream(e){return O(this,null,function*(){e.audio&&this.audioLevelMonitor.stop(),yield this.streamManager.stopLocalStream(e)})}compareAndPublish(e,t,i){return O(this,null,function*(){var n,a;if(!e&&!t)return;if(e&&!t){const o={};return i===G.Audio?o.audio=!0:i===G.VideoLarge||i===G.VideoSmall?(o.video=!0,o.vMsid=i):i===G.Screen&&(o.screen=!0),yield this.publishDeleteTracks(o)}const r={};if(t!=null&&t.hasVideo&&(r.isScreen=i===G.Screen,r.vMsid=i),t!=null&&t.hasAudio&&(r.aMsid=i),!e&&t)return yield this.publishAdd(t,r,!1);if(e&&t){const o=e.trackId,u=((n=t.videoTrack)==null?void 0:n.id)||((a=t.audioTrack)==null?void 0:a.id);if(o!==u)return yield this.publishReplace(t,r)}})}reportAudioProfile(){const e=this.streamManager.cameraStreamInfo.audioProfile||"standard",t=pe.AliRTS.AudioProfileMap.get(e);this.slsReporter.reportPublishProfile(G.Audio,{a_profile:e,bits:(t==null?void 0:t.maxBitrate)||0,samplerate:(t==null?void 0:t.sampleRate)||0,channel:(t==null?void 0:t.channelCount)||0})}reportVideoProfile(){const e=this.streamManager.cameraStreamInfo.videoProfile||"",t=pe.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(G.VideoLarge,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}reportScreenProfile(){const e=this.streamManager.screenStreamInfo.videoProfile||"",t=pe.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(G.Screen,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}startPublish(){return O(this,arguments,function*(e=!1,t=Bt.MANUAL){var u;if(!this.joined)return;this.createCallId();const i=yield this.streamManager.publishStreams,{audio:r,video:n,videoSmall:a,screen:o}=i;try{const h=new Date().getTime();r&&this.audioPubState.setState(ve.AliRtcStatePublishing),n&&this.videoPubState.setState(ve.AliRtcStatePublishing),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),o&&this.screenPubState.setState(ve.AliRtcStatePublishing),this.publishPromise=this.rtsManager.publish(this.url,this.callId,e,t);const{traceId:g,l1ip:f}=yield this.publishPromise;if(this._isPublishing=!0,this.streamTracks=this.rtsManager.publishingTracks,this.traceId=g,(u=this.parameter.data)!=null&&u.enablePubDataChannel){this.dataPubState.setState(ve.AliRtcStatePublishing);const p=yield this.rtsManager.publishAddDataChannel(this.url);p?(this.dc=p,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dataPubState.setState(ve.AliRtcStatePublished)):this.emit("publishDataError",new Y(te.ERR_INNER,"publishDataError"))}r&&(this.trackTraceIdMap[G.Audio]=g,this.reportAudioProfile()),a&&(this.trackTraceIdMap[G.VideoSmall]=g),n&&(this.trackTraceIdMap[G.VideoLarge]=g,this.reportVideoProfile()),o&&(this.trackTraceIdMap[G.Screen]=g,this.reportScreenProfile());const l={type:Wt.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:e,subscribe:{signal:"",pullstreamurl:this.url},l1ip:this.parameter.reportL1IP?f:void 0,callid:this.callId,tracks:this.streamTracks,traceid:g};yield this.syncPublishToRoomServer(l,i,h),r&&this.audioPubState.setState(ve.AliRtcStatePublished),n&&this.videoPubState.setState(ve.AliRtcStatePublished),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublished),o&&this.screenPubState.setState(ve.AliRtcStatePublished)}catch(h){throw r&&this.audioPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoPubState.setState(ve.AliRtcStateNoPublish),a&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),o&&this.screenPubState.setState(ve.AliRtcStateNoPublish),h}})}updateStreams(){return O(this,null,function*(){yield this.streamManager.updateStreams()})}publishUpdate(){return O(this,null,function*(){var r,n,a,o;if(!this._isPublishing)return;yield this.publishPromise;const e=this.streamManager.publishStreams;let t;const i=new Date().getTime();try{const u=(r=this.streamTracks)==null?void 0:r.find(({ssrc:b,type:v,msid:x})=>v==="audio"&&b&&x===G.Audio),h=yield this.compareAndPublish(u,e.audio,G.Audio);h&&(t=h);const g=(n=this.streamTracks)==null?void 0:n.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.VideoLarge),f=yield this.compareAndPublish(g,e.video,G.VideoLarge);f&&(t=f);const l=(a=this.streamTracks)==null?void 0:a.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.VideoSmall),p=yield this.compareAndPublish(l,e.videoSmall,G.VideoSmall);p&&(t=p);const d=(o=this.streamTracks)==null?void 0:o.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.Screen),m=yield this.compareAndPublish(d,e.screen,G.Screen);if(m&&(t=m),!t)return;yield this.syncPublishToRoomServer(t,e,i)}catch(u){const{code:h}=u!=null?u:{},g=this.url;throw h===403&&g&&(yield this.refreshPushStreamUrl(),t=yield this.publishUpdate()),u}return t})}syncPublishToRoomServer(e,t,i){return O(this,null,function*(){var o;if(!e)throw new Y(te.ERR_INNER,"sync publish to room server failed because no publishInfo");let r=e;if(this.dc){const a=e,{tracks:u}=a,h=pi(a,["tracks"]);r=Rt(be({},h),{tracks:[...u,{type:"data",msid:G.Data,ssrc:`${((o=this.callId)==null?void 0:o.length)>8?this.callId.substring(0,8):"web"}${this.dc.datachannel.id||"0"}`,codec:"text"}]})}const n=yield this.signalingManager.publish(r);e.signaltid=n.tid})}refreshPushStreamUrl(){return O(this,null,function*(){const e=new Y(te.ERR_INNER,"refresh push stream url error"),t=this.url;if(!t)throw e;const i=yield this.signalingManager.refreshUrl({pushstreamurl:t});if(!(i!=null&&i.pushstreamurl))throw e;this.url=i==null?void 0:i.pushstreamurl})}publishAdd(e,t,i=!1,r=0){return O(this,null,function*(){this.createCallId();const n=(t==null?void 0:t.aMsid)===G.Audio,a=(t==null?void 0:t.vMsid)===G.VideoLarge,o=(t==null?void 0:t.vMsid)===G.VideoSmall,u=(t==null?void 0:t.vMsid)===G.Screen;n&&this.audioPubState.setState(ve.AliRtcStatePublishing),a&&this.videoPubState.setState(ve.AliRtcStatePublishing),o&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),u&&this.screenPubState.setState(ve.AliRtcStatePublishing);try{const h=yield this.rtsManager.publishAdd(this.url,e,this.callId,t,!1,!0);n&&(this.audioPubState.setState(ve.AliRtcStatePublished),this.reportAudioProfile(),this.trackTraceIdMap[G.Audio]=h),a&&(this.videoPubState.setState(ve.AliRtcStatePublished),this.reportVideoProfile(),this.trackTraceIdMap[G.VideoLarge]=h),o&&(this.videoSmallPubState.setState(ve.AliRtcStatePublished),this.trackTraceIdMap[G.VideoSmall]=h),u&&(this.screenPubState.setState(ve.AliRtcStatePublished),this.reportScreenProfile(),this.trackTraceIdMap[G.Screen]=h),this.streamTracks=this.rtsManager.publishingTracks;const g={type:Wt.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:i,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceid:h};return this.reportSelfDeviceStatus(),this.monitorTimerId||this.startStreamMonitor(),g}catch(h){let g=te.ERR_SDK_PUBLISH_INVAILD;if(n&&(this.audioPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED),a&&(this.videoPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED),o&&(this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_DUAL_STREAM_FAILED),u&&(this.screenPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED),h.errorCode===15006&&r<3)return this.publishAdd(e,t,i,r+1);throw Y.fromError(h,g,"publish add failed")}})}publishReplace(e,t){return O(this,null,function*(){try{yield this.rtsManager.publishReplace(this.url,e,t),this.streamTracks=this.rtsManager.publishingTracks;const i={type:Wt.Replace,userid:this.userId,sessionid:"",pubid:this.publishId,displayname:this.name,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks};return this.reportSelfDeviceStatus(),i}catch(i){throw Y.fromError(i,te.ERR_INNER,`publish replace failed, vMsid: ${t==null?void 0:t.vMsid} aMsid: ${t==null?void 0:t.aMsid}`)}})}publishDeleteTracks(e){return O(this,null,function*(){const t={type:Wt.Delete,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{return yield this.rtsManager.publishDelete(this.url,e),this.streamTracks=this.rtsManager.publishingTracks,e.audio&&this.audioPubState.setState(ve.AliRtcStateNoPublish),e.video&&(e.vMsid===G.VideoSmall?this.videoSmallPubState.setState(ve.AliRtcStateNoPublish):this.videoPubState.setState(ve.AliRtcStateNoPublish)),e.screen&&this.screenPubState.setState(ve.AliRtcStateNoPublish),t.tracks=this.streamTracks,this.reportSelfDeviceStatus(),t}catch(i){throw Y.fromError(i,te.ERR_INNER,"publish delete tracks failed")}})}publishStop(){return O(this,null,function*(){if(!this._isPublishing)throw new Y(te.ERR_INNER,"publish stop failed, previous localStream is required for publishing stopping");ae.info(`[${Ut.logName}]`,"publishStop",{url:this.url});const e=new Date().getTime();try{const t=this.hasAudioTrackInMS,i=this.hasCameraTrackInMS,r=this.hasCameraDualTrackInMS,n=this.hasScreenTrackInMS;yield this.rtsManager.publishStop(this.url),t&&this.audioPubState.setState(ve.AliRtcStateNoPublish),i&&this.videoPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),n&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this.traceId="",Object.keys(this.monitorDataCache).forEach(o=>{this.reportPublishMonitor(o)}),this.streamTracks=[];const a={type:Wt.Stop,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};return this.syncPublishToRoomServer(a,{},e),a}catch(t){throw Y.fromError(t,te.ERR_INNER,"publish stop failed")}})}unPublish(){return O(this,null,function*(){const e=new Date().getTime();let t={type:Wt.UnPublish,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{if(this._isPublishing){const i=this.hasAudioTrackInMS,r=this.hasCameraTrackInMS,n=this.hasCameraDualTrackInMS,a=this.hasScreenTrackInMS;yield this.rtsManager.unpublish(),this.streamTracks=[],this.stopStreamMonitor(),i&&this.audioPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),a&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this._isPublishing=!1,this.traceId="",this.clearStream()}return this.dc&&(this.rtsManager.publishStopDataChannel(this.url,this.dc),this.dataPubState.setState(ve.AliRtcStateNoPublish),this.dc=void 0),this.slsReporter.reportUnpublish(this.callId||"",e,0,""),t}catch(i){throw Y.fromError(i,te.ERR_INNER,"unpublish failed")}})}reportSelfDeviceStatus(){this.emit(rt.Local,this.getDeviceStatus())}getDeviceStatus(){var t,i,r,n;let e={micOpen:!1,micInterrupted:!1,cameraOpen:!1,screenShare:!1,audioDisable:!0,videoDisable:!0,screenDisable:!0,backgroundMode:!1,accompanyPlaying:!1};return e.cameraOpen=this.hasCamera,e.micOpen=this.hasMicrophone,e.screenShare=this.hasScreenShare,e.audioDisable=!((t=this.streamManager.cameraStreamInfo.originAudioTrack)!=null&&t.enabled),e.videoDisable=!((i=this.streamManager.cameraStreamInfo.originVideoTrack)!=null&&i.enabled),e.screenDisable=!this.hasScreenShare||!((n=(r=this.streamManager.screenStreamInfo)==null?void 0:r.originVideoTrack)!=null&&n.enabled),Da.getCurrentStatus(e)}resetPreviewElements(){this.previewElements.forEach(e=>{e.srcObject=null,e._playPromise=void 0},[]),this.previewElements=[]}resetSecondayPreviewElements(){this.screenPreviewElements.forEach(e=>{e.srcObject=null,e._playPromise=void 0},[]),this.screenPreviewElements=[]}getMediaStats(e){return this.pcMediaStatsMap[e]}reportPublishMonitor(e){if(!e)return;let t;try{e===G.Audio?t=this.rtsManager.getStreamByMsid({url:this.url,aMsid:e}).audioTrack:t=this.rtsManager.getStreamByMsid({url:this.url,vMsid:e}).videoTrack}catch(i){}this.slsReporter.reportPublishMonitor(this.callId,this.trackTraceIdMap[e]||"",e,t,this.monitorDataCache[e]),this.monitorDataCache[e]=[]}reportNetwork(){this.slsReporter.reportNetworkMonitor(this.candidateDataCache),this.candidateDataCache=[]}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>O(this,null,function*(){var e,i;try{const r=yield this.rtsManager.getPCStats();let n;r==null||r.forEach(u=>{u.type==="media-source"||u.type==="media-playout"?u.id&&(this.pcMediaStatsMap[u.id]=u):u.type==="candidate-pair"&&u.state==="succeeded"&&(n=u)});let a;if(((e=this.candidateDataCache)==null?void 0:e.length)>0){const t=this.candidateDataCache[this.candidateDataCache.length-1]||{},{_last:h}=t;a=pi(t,["_last"])}((i=this.candidateDataCache)==null?void 0:i.length)>=Na&&this.reportNetwork(),n&&(n._last=a,this.candidateDataCache.push(n));let o=Object.keys(this.monitorDataCache).filter(u=>{var h;return((h=this.monitorDataCache[u])==null?void 0:h.length)>0});(this.streamTracks||[]).forEach(u=>{const h=u.msid;if(!h)return;o.includes(h)&&(o=o.filter(l=>l!==h));let g;h===G.Audio?g=this.rtsManager.getPublishAudioStats(this.url):g=this.rtsManager.getPublishVideoStats(this.url,h),g.then(l=>{if(!l.timestamp)return;this.monitorDataCache[h]||(this.monitorDataCache[h]=[]);const p=this.getMediaStats(l.mediaSourceId);l._source=p;const d=this.monitorDataCache[h];let m;if((d==null?void 0:d.length)>0){const b=d[d.length-1]||{},{_last:x}=b;m=pi(b,["_last"])}(d==null?void 0:d.length)>=Na&&this.reportPublishMonitor(h),l._last=m,l._codec=u.codec||"",this.monitorDataCache[h].push(l)})}),o.forEach(u=>{this.reportPublishMonitor(u)})}catch(r){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportPublishMonitor(e)})}clearStream(){this.streamManager.stop(),this.audioPubState.setState(ve.AliRtcStatePublishIdle),this.videoPubState.setState(ve.AliRtcStatePublishIdle),this.videoSmallPubState.setState(ve.AliRtcStatePublishIdle),this.screenPubState.setState(ve.AliRtcStatePublishIdle)}getCurrentCameraDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originVideoTrack)==null?void 0:e.getSettings().deviceId}getCurrentMicDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originAudioTrack)==null?void 0:e.getSettings().deviceId}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.streamManager.cameraStreamInfo.originAudioTrack&&this.audioLevelMonitor.start(this.streamManager.cameraStreamInfo.originAudioTrack,e),this.audioVolumeIndicationInterval=e)}sendSEI(e,t,i){return O(this,null,function*(){if(!this.url)return;let r=0;return!t||t<1?r=1:r=t-1,this.rtsManager.sendSEI(this.url,e,r,i)})}sendDataChannelMessage(e){return O(this,null,function*(){var r;if(!((r=this.parameter.data)!=null&&r.enablePubDataChannel))throw new Y(te.ERR_INNER,"data channel publish is not enabled");if(!this.dc)throw new Y(te.ERR_INNER,"data channel is not ready");const t=e.toBuffer(),i=y0(t,1156);i.forEach((n,a)=>{const o=new qi(new Ii(n.byteLength,a===i.length-1,a===0?1:0),n);this.dc.send(o.toGRTNBuffer())})})}getStats(){return O(this,null,function*(){const e=[];if(this.hasAudioTrackInMS){const n=yield this.rtsManager.getPublishAudioStats(this.url);n&&e.push({stats:n,track:ci.AliRtcAudioTrackMic})}const t=[];if(this.hasCameraTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.VideoLarge);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeHigh,stats:n})}if(this.hasCameraDualTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.VideoSmall);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeLow,stats:n})}if(this.hasScreenTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.Screen);n&&t.push({track:Ae.AliRtcVideoTrackScreen,stats:n})}let i;const r=yield this.rtsManager.getPCStats();return r==null||r.forEach(n=>{n.type==="candidate-pair"&&n.state==="succeeded"&&(i=n)}),{audio:e,video:t,candidate:i}})}},_(Ut,"logName","LocalUser"),Ut);Ve([j()],Oe.prototype,"clearPublishState",1),Ve([j()],Oe.prototype,"clear",1),Ve([j(ne)],Oe.prototype,"startDefaultCamera",1),Ve([j(ne)],Oe.prototype,"startDefaultAudio",1),Ve([j()],Oe.prototype,"setViewConfig",1),Ve([j()],Oe.prototype,"startCameraCapture",1),Ve([j()],Oe.prototype,"stopCameraCapture",1),Ve([j()],Oe.prototype,"startAudioCapture",1),Ve([j()],Oe.prototype,"stopAudioCapture",1),Ve([j()],Oe.prototype,"stopPreview",1),Ve([j()],Oe.prototype,"resumePublish",1),Ve([j()],Oe.prototype,"createLocalStream",1),Ve([j()],Oe.prototype,"stopLocalStream",1),Ve([j(ne)],Oe.prototype,"startPublish",1),Ve([j(([s])=>[s])],Oe.prototype,"syncPublishToRoomServer",1),Ve([j()],Oe.prototype,"refreshPushStreamUrl",1),Ve([j(([s,c,e])=>[JSON.stringify(e)])],Oe.prototype,"publishAdd",1),Ve([j(([s,c])=>[JSON.stringify(c)])],Oe.prototype,"publishReplace",1),Ve([j(ne)],Oe.prototype,"publishDeleteTracks",1),Ve([j()],Oe.prototype,"publishStop",1),Ve([j()],Oe.prototype,"unPublish",1),Ve([j(([s,c,e])=>[s.length,c,e])],Oe.prototype,"sendSEI",1);let Fa=Oe;var Ot=(s=>(s.OPUS="opus",s.H264="H264",s.UNKNOWN="",s))(Ot||{}),Ee=(s=>(s[s.NotSubscribe=0]="NotSubscribe",s[s.Subscribing=1]="Subscribing",s[s.Subscribed=2]="Subscribed",s))(Ee||{}),ti=(s=>(s.VideoTrackEnded="videoTrackEnded",s.AudioTrackEnded="audioTrackEnded",s.ScreenTrackEnded="screenTrackEnded",s))(ti||{});const w0=s=>{const c=new MediaStream;return c.addTrack(s),c},Oa=s=>O(this,null,function*(){return yield pe.AliRTS.createStream({custom:!0,mediaStream:s})}),Di=s=>O(this,null,function*(){const c=w0(s);return yield Oa(c)}),C0=s=>{const{audio:c,video:e,screen:t}=s;if(e&&t)throw new Y(te.ERR_INNER,"create stream error, cannot create video && screen together");return!(!e&&!c&&!t)},I0=s=>s===G.Audio||s===fr.Audio,R0=s=>s===G.VideoLarge||s===fr.VideoLarge,D0=s=>s===G.VideoSmall,T0=s=>s===G.Screen,k0=s=>s===G.Data;var P0=Object.defineProperty,B0=Object.getOwnPropertyDescriptor,L0=(s,c,e,t)=>{for(var i=t>1?void 0:t?B0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&P0(c,e,i),i};class Gi extends xe{constructor(){super();_(this,"audioInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"videoLargeInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"videoSmallInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"screenInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"dataInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"audioVolume",1);_(this,"audioMuted",!1);_(this,"userStatus")}getAudioInfo(){return this.audioInfo}getVideoSmallInfo(){return this.videoSmallInfo}getVideoLargeInfo(){return this.videoLargeInfo}getScreenInfo(){return this.screenInfo}getDataInfo(){return this.dataInfo}get subscribingInfos(){return[this.audioInfo,this.videoLargeInfo,this.videoSmallInfo,this.screenInfo].filter(e=>e.msid&&e.subscribeState===Ee.Subscribed)}get hasTrack(){return this.hasAudio||this.hasVideo||this.hasScreen||this.hasData}get hasAudio(){return this.audioInfo.ssrc!==""}get hasVideo(){return this.videoLargeInfo.ssrc!==""||this.videoSmallInfo.ssrc!==""}get hasVideoLarge(){return this.videoLargeInfo.ssrc!==""}get hasVideoSmall(){return this.videoSmallInfo.ssrc!==""}get hasScreen(){return this.screenInfo.ssrc!==""}get hasData(){return this.dataInfo.ssrc!==""}get isAudioSubscribed(){return this.audioInfo.subscribeState===Ee.Subscribed}get isAudioSubscribing(){return this.audioInfo.subscribeState===Ee.Subscribing}get isVideoSubscribed(){return this.isVideoLargeSubscribed||this.isVideoSmallSubscribed}get isVideoSubscribing(){return this.isVideoLargeSubscribing||this.isVideoSmallSubscribing}get isVideoLargeSubscribed(){return this.videoLargeInfo.subscribeState===Ee.Subscribed}get isVideoLargeSubscribing(){return this.videoLargeInfo.subscribeState===Ee.Subscribing}get isVideoSmallSubscribed(){return this.videoSmallInfo.subscribeState===Ee.Subscribed}get isVideoSmallSubscribing(){return this.videoSmallInfo.subscribeState===Ee.Subscribing}get isScreenSubscribed(){return this.screenInfo.subscribeState===Ee.Subscribed}get isScreenSubscribing(){return this.screenInfo.subscribeState===Ee.Subscribing}get isDataSubscribed(){return this.dataInfo.subscribeState===Ee.Subscribed}get isDataSubscribing(){return this.dataInfo.subscribeState===Ee.Subscribing}get audioCodec(){return this.audioInfo.codec}get videoCodec(){return this.hasVideoLarge?this.videoLargeInfo.codec:this.hasVideoSmall?this.videoSmallInfo.codec:this.hasScreen?this.screenInfo.codec:Ot.UNKNOWN}get audioTrackInfo(){return this.hasAudio?ci.AliRtcAudioTrackMic:ci.AliRtcAudioTrackNo}get videoTrackInfo(){return this.hasVideo&&this.hasScreen?Ae.AliRtcVideoTrackBoth:this.hasVideo?Ae.AliRtcVideoTrackCamera:this.hasScreen?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackNo}updateTracks(e){let t="",i="",r="",n="",a="";return e?(e.forEach(o=>{var g;let u=Ot.UNKNOWN;const h=((g=o==null?void 0:o.attr)==null?void 0:g.reason)==="reconnect";if(o.userdata){const{codec:f}=JSON.parse(o.userdata);f&&(u=f)}I0(o.msid)?(t=o.ssrc,this.audioInfo.msid=o.msid,this.audioInfo.codec=u,(h||this.audioInfo.ssrc!==t)&&(this.audioInfo.subscribeState=Ee.NotSubscribe)):D0(o.msid)?(r=o.ssrc,this.videoSmallInfo.msid=o.msid,this.videoSmallInfo.codec=u,(h||this.videoSmallInfo.ssrc!==r)&&(this.videoSmallInfo.subscribeState=Ee.NotSubscribe)):R0(o.msid)?(i=o.ssrc,this.videoLargeInfo.msid=o.msid,this.videoLargeInfo.codec=u,(h||this.videoLargeInfo.ssrc!==i)&&(this.videoLargeInfo.subscribeState=Ee.NotSubscribe)):T0(o.msid)?(n=o.ssrc,this.screenInfo.msid=o.msid,this.screenInfo.codec=u,(h||this.screenInfo.ssrc!==n)&&(this.screenInfo.subscribeState=Ee.NotSubscribe)):k0(o.msid)&&(a=o.ssrc,this.dataInfo.msid=o.msid,this.dataInfo.codec=u,(h||this.dataInfo.ssrc!==a)&&(this.dataInfo.subscribeState=Ee.NotSubscribe))}),this.updateRemoteTrackSsrc(t,i,r,n,a)):this.updateRemoteTrackSsrc(t,i,r,n,a),{}}updateRemoteTrackSsrc(e,t,i,r,n){this.audioInfo.ssrc=e,this.videoSmallInfo.ssrc=i,this.videoLargeInfo.ssrc=t,this.screenInfo.ssrc=r,this.dataInfo.ssrc=n}markRemoteTrackSubscribing(e){return e.video&&(e.vMsid===this.videoSmallInfo.msid&&(this.videoSmallInfo.subscribeState=Ee.Subscribing),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=Ee.Subscribing)),e.screen&&(this.screenInfo.subscribeState=Ee.Subscribing),e.audio&&(this.audioInfo.subscribeState=Ee.Subscribing),e.data&&(this.dataInfo.subscribeState=Ee.Subscribing),{videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo}}updateRemoteTrackSubState(e){return e.video!==void 0&&((e.vMsid===this.videoSmallInfo.msid||!e.vMsid)&&(this.videoSmallInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe)),e.screen!==void 0&&(this.screenInfo.subscribeState=e.screen?Ee.Subscribed:Ee.NotSubscribe),e.audio!==void 0&&(this.audioInfo.subscribeState=e.audio?Ee.Subscribed:Ee.NotSubscribe),e.data!==void 0&&(this.dataInfo.subscribeState=e.data?Ee.Subscribed:Ee.NotSubscribe),{audioInfo:this.audioInfo,videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo,screenInfo:this.screenInfo,dataInfo:this.dataInfo}}updateRemoteUserDeviceStatus(e){let t=Da.parseStatus(e);const{audioDisable:i,videoDisable:r,screenDisable:n}=t;return this.userStatus?(this.userStatus.audioDisable!=i&&(this.userStatus.audioDisable=i,this.emit(rt.Remote,i?Re.MuteAudio:Re.UnmuteAudio)),this.userStatus.videoDisable!=r&&(this.userStatus.videoDisable=r,this.emit(rt.Remote,r?Re.MuteVideo:Re.UnmuteVideo)),this.userStatus.screenDisable!=n&&(this.userStatus.screenDisable=n,this.emit(rt.Remote,n?Re.MuteScreen:Re.UnmuteScreen))):(this.userStatus=t,this.emit(rt.Remote,i?Re.MuteAudio:Re.UnmuteAudio),this.emit(rt.Remote,r?Re.MuteVideo:Re.UnmuteVideo),this.emit(rt.Remote,n?Re.MuteScreen:Re.UnmuteScreen)),!1}}_(Gi,"logName","RemoteStreamInfo"),L0([j()],Gi.prototype,"updateRemoteTrackSubState",1);class Va{constructor(c){_(this,"remoteUser");this.remoteUser=c}get userId(){return this.remoteUser.userId}get displayName(){return this.remoteUser.displayname}get isMuteAudioPlaying(){return this.remoteUser.getAudioMuted()}get hasAudio(){return this.remoteUser.hasAudioTrack}get hasCamera(){return this.remoteUser.hasVideoTrack}get hasCameraLarge(){return this.remoteUser.hasVideoLargeTrack}get hasCameraSmall(){return this.remoteUser.hasVideoSmallTrack}get hasScreenShare(){return this.remoteUser.hasScreenTrack}get isAudioSubscribing(){return this.remoteUser.isAudioSubscribing}get isVideoSubscribing(){return this.remoteUser.isVideoSubscribing}get isVideoLargeSubscribing(){return this.remoteUser.isVideoLargeSubscribing}get isVideoSmallSubscribing(){return this.remoteUser.isVideoSmallSubscribing}get isScreenSubscribing(){return this.remoteUser.isScreenSubscribing}}var M0=Object.defineProperty,N0=Object.getOwnPropertyDescriptor,et=(s,c,e,t)=>{for(var i=t>1?void 0:t?N0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&M0(c,e,i),i};class hi extends xe{constructor(){super();_(this,"state");_(this,"time");_(this,"_enabled");this.state=Pe.AliRtcStateSubscribeIdle,this.time=Date.now(),this._enabled=!0}setState(e){if(this.state===e)return;const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}get currentState(){return this.state}getEnabled(){return this._enabled}setEnabled(e){this._enabled=e}}const F0=30,Ye=(kt=class extends Ra{constructor(e){var l;const{userId:t,displayName:i,rtsManager:r,usersViewMap:n,slsReporter:a,signalingManager:o,localUser:u,audioVolumeIndicationInterval:h,playoutVolume:g,parameter:f}=e;super(t,i,r,h);_(this,"remoteCallid","");_(this,"remoteUserInfo");_(this,"localUser");_(this,"lastPubId","");_(this,"stream");_(this,"screenStream");_(this,"viewMap");_(this,"audioTrack");_(this,"audioElement");_(this,"subscribed",!1);_(this,"mediaStream");_(this,"secondaryMediaStream");_(this,"prevSubConfig");_(this,"signalingManager");_(this,"slsReporter");_(this,"wantSubAudio",!1);_(this,"wantSubVideo",!1);_(this,"wantSubScreen",!1);_(this,"defaultVideoStreamType",Ge.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"playoutGainNode");_(this,"audioSubState");_(this,"videoSubState");_(this,"videoLargeSubState",new hi);_(this,"videoSmallSubState",new hi);_(this,"screenSubState");_(this,"dataSubState");_(this,"dc");_(this,"dcMsgWaitingPieces",[]);_(this,"streamInfo");_(this,"streamUrl","");_(this,"parameter",{});_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"handleAudioContextSuspended",e=>{e.target.state==="suspended"&&this.emit("remoteAudioPlayError",this.uid,"AudioContext suspended")});_(this,"onDataChannelMessage",e=>{var r;const t=qi.parse(e.slice(4));let i;if(t.body)if(t.isFin){if(this.dcMsgWaitingPieces.length>0){const n=this.dcMsgWaitingPieces.reduce((a,o)=>a+o.byteLength,t.body.byteLength);try{const a=new ArrayBuffer(n);let o=0;for(let h=0;h<this.dcMsgWaitingPieces.length;h++){const g=this.dcMsgWaitingPieces[h];new Uint8Array(a,o,g.byteLength).set(new Uint8Array(g)),o+=g.byteLength}new Uint8Array(a,o,t.body.byteLength).set(new Uint8Array(t.body)),i=ei.parse(a)}catch(a){}this.dcMsgWaitingPieces=[],i||(i=ei.parse(t.body))}else i=ei.parse(t.body);i||ae.event(`[${kt.logName}]`,`parse data channel message fail, piece count: ${this.dcMsgWaitingPieces.length+1}`)}else{t.header.frameType===1&&(this.dcMsgWaitingPieces=[]),this.dcMsgWaitingPieces.push(t.body);return}i&&(ae.event(`[${kt.logName}]`,`receive data channel message, length: ${(r=i.data)==null?void 0:r.byteLength}`),this.emit("remoteDataChannelMessage",this.uid,i))});_(this,"handleAudioPaused",()=>{this.emit("remoteAudioPlayError","paused")});this.streamInfo=new Gi,this.remoteUserInfo=new Va(this),this.parameter=f,this.streamInfo.on(rt.Remote,p=>{this.emit(rt.Remote,p,this.userId)}),this.signalingManager=o,this.viewMap=(l=n[t])!=null?l:{cameraViews:[],screenViews:[]},n[t]=this.viewMap,this.slsReporter=a,this.localUser=u,this.audioSubState=new hi,this.audioSubState.on("change",(p,d,m)=>{this.emit("audioSubscribeStateChanged",this.uid,p,d,m)}),this.videoSubState=new hi,this.videoSubState.on("change",(p,d,m)=>{this.emit("videoSubscribeStateChanged",this.uid,p,d,m)}),this.screenSubState=new hi,this.screenSubState.on("change",(p,d,m)=>{this.emit("screenSubscribeStateChanged",this.uid,p,d,m)}),this.dataSubState=new hi,this.dataSubState.on("change",(p,d,m)=>{this.emit("dataSubscribeStateChanged",this.uid,p,d,m)}),this.playoutVolume=g}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e}setRemoteDefaultVideoStreamType(e){e!==this.defaultVideoStreamType&&(this.defaultVideoStreamType=e,this.updateSubscribe(Be.User))}setAudioMuted(e){this.audioMuted=e,this.toggleAudio(!e)}setPlayoutVolume(e){if(this.playoutVolume=e,this.audioElement)if(this.parameter.enableAudioContextPlayoutVolume)if(this.playoutGainNode)this.playoutGainNode.gain.value=e;else{const t=this.audioElement.srcObject;if(t){const i=ui.getInstance();i.addEventListener("statechange",this.handleAudioContextSuspended);const r=i.createMediaStreamSource(t);this.audioElement.muted=!0,this.playoutGainNode=i.createGain(),r.connect(this.playoutGainNode),this.playoutGainNode.gain.value=e,this.playoutGainNode.connect(i.destination)}}else this.audioElement.volume=e}getAudioMuted(){return this.audioMuted}get hasAudioTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasAudio)}get hasVideoTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideo)}get hasVideoLargeTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoLarge)}get hasVideoSmallTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoSmall)}get hasScreenTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasScreen)}get isAudioSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isAudioSubscribed)||!!((t=this.streamInfo)!=null&&t.isAudioSubscribing)}get isVideoSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSubscribing)}get isVideoLargeSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoLargeSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoLargeSubscribing)}get isVideoSmallSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSmallSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSmallSubscribing)}get isScreenSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isScreenSubscribed)||!!((t=this.streamInfo)!=null&&t.isScreenSubscribing)}get isDataSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isDataSubscribed)||!!((t=this.streamInfo)!=null&&t.isDataSubscribing)}get audioEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.audioTrack)!=null&&t.enabled)}get videoEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get screenEnabled(){var e,t;return!!((t=(e=this.screenStream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get getAudioTrack(){return this.audioTrack}get getCameraStream(){return this.stream}get getScreenStream(){return this.screenStream}setViewConfig(e,t){if(t!==Ae.AliRtcVideoTrackScreen&&t!==Ae.AliRtcVideoTrackCamera)throw new Y(te.ERR_INVALID_ARGUMENTS,"track is not AliRtcVideoTrackScreen or AliRtcVideoTrackCamera");e?ws(e).forEach(r=>{r.setAttribute("playsinline",""),pe.AliRTS.BrowserUtil.isMicroMessenger&&(r.setAttribute("x5-video-player-type","h5-page"),r.setAttribute("x5-playsinline",""),pe.AliRTS.SystenUtil.isAndroid||pe.AliRTS.SystenUtil.isIos&&r.setAttribute("x-webkit-airplay","allow")),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews.push(r):this.viewMap.cameraViews.push(r),this.play(r,t===Ae.AliRtcVideoTrackScreen)}):(this.stopPlayAll(t===Ae.AliRtcVideoTrackScreen),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews=[]:this.viewMap.cameraViews=[])}clear(e=!0){return O(this,null,function*(){var t;this.subscribeStopDataChannel(),e&&this.doStopSubscribe(this.streamUrl),Fs(kt.prototype,this,"clear").call(this),this.clearStream(),this.clearScreenStream(),this.playoutGainNode&&(this.playoutGainNode.disconnect(),this.playoutGainNode=void 0,ui.getInstance().removeEventListener("statechange",this.handleAudioContextSuspended)),(t=this.streamInfo)==null||t.removeAllListeners(rt.Remote)})}updateRemoteUserDeviceStatus(e){var t;(t=this.streamInfo)==null||t.updateRemoteUserDeviceStatus(e)}updateRemoteTracks(e,t,i,r){return O(this,null,function*(){var a;return this.remoteCallid=e,(!this.streamUrl||!this.streamInfo.hasTrack)&&(this.streamUrl=t!=null?t:""),this.callId=e!=null?e:"",this.streamInfo||(this.streamInfo=new Gi),(a=this.streamInfo)==null?void 0:a.updateTracks(r)})}subscribe(r,n){return O(this,arguments,function*(e,t,i=Date.now()){var l,p;let a=e;if(!a){const{hasAudio:d,hasVideo:m,hasScreen:b,hasData:v}=(l=this.streamInfo)!=null?l:{};a={audio:this.wantSubAudio&&d,video:this.wantSubVideo&&m,screen:this.wantSubScreen&&b,data:((p=this.parameter.data)==null?void 0:p.enableSubDataChannel)&&v}}this.streamInfo.markRemoteTrackSubscribing(a);const{screen:o,audio:u,video:h,vMsid:g}=a,f=[];(h||u)&&f.push({audio:u,video:h,vMsid:g}),o&&f.push({screen:o}),!(f.length===0&&!(e!=null&&e.data))&&(yield Promise.all(f.map(d=>this.subscribeProxy(d,t||Be.User,i))),e!=null&&e.data&&this.subscribeDataChannel())})}subscribeProxy(e,t,i){return O(this,null,function*(){var a,o,u,h;let r=new Date().getTime(),n="";try{e.audio&&this.audioSubState.setState(Pe.AliRtcStateSubscribing),e.video&&(this.videoSubState.currentState===Pe.AliRtcStateSubscribeIdle||this.videoSubState.currentState===Pe.AliRtcStateNoSubscribe)&&this.videoSubState.setState(Pe.AliRtcStateSubscribing),e.screen&&this.screenSubState.setState(Pe.AliRtcStateSubscribing);const g=yield this.rtsManager.subscribe({remoteUser:this,options:e},t,((a=this.localUser)==null?void 0:a.callId)||"",this.callId,i);this.streamInfo.updateRemoteTrackSubState(e),n=g.traceId||"";const{stream:f}=g;if(e.audio){this.trackTraceIdMap[G.Audio]=n;const p=f.audioTrack;p&&(this.audioTrack=p,(o=f.mediaStream)==null||o.removeTrack(p),this.playAudio(),this.audioVolumeIndicationInterval&&this.audioLevelMonitor.start(p,this.audioVolumeIndicationInterval)),this.audioSubState.setState(Pe.AliRtcStateSubscribed),this.audioSubState.getEnabled()||this.toggleAudio(!1)}e.video&&(this.videoSubState.setState(Pe.AliRtcStateSubscribed),e.vMsid===G.VideoSmall?(this.trackTraceIdMap[G.VideoSmall]=n,this.videoSmallSubState.setState(Pe.AliRtcStateSubscribed)):(this.trackTraceIdMap[G.VideoLarge]=n,this.videoLargeSubState.setState(Pe.AliRtcStateSubscribed)),this.videoSubState.getEnabled()||this.toggleVideo(!1),this.updateStream(f,this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing)),e.screen&&(this.screenSubState.setState(Pe.AliRtcStateSubscribed),this.trackTraceIdMap[G.Screen]=n,this.videoSubState.getEnabled()||this.toggleScreen(!1),this.updateScreenStream(f));const l=new Date().getTime()-r;this.slsReporter.reportSubscribe(((u=this.localUser)==null?void 0:u.callId)||"",this.callId,!!e.video&&e.vMsid===G.VideoLarge,!!e.video&&e.vMsid===G.VideoSmall,!!e.screen,!!e.audio,0,"",l,{pctid:this.rtsManager.pcTraceId,subtid:n,ajsub:t===Be.Join?1:0,url:this.streamUrl,est:r}),this.startStreamMonitor()}catch(g){const f=new Date().getTime()-r;e.audio&&this.audioSubState.setState(Pe.AliRtcStateNoSubscribe),e.video&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe),e.screen&&this.screenSubState.setState(Pe.AliRtcStateNoSubscribe),g&&(g.message=`user(${this.uid}) subscribe error, ${(g==null?void 0:g.message)||""}`);let l=te.ERR_INNER;e.audio&&(l=te.ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED),e.video&&(e.vMsid===G.VideoSmall?l=te.ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED:l=te.ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED),e.screen&&(l=te.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED),this.slsReporter.reportSubscribe(((h=this.localUser)==null?void 0:h.callId)||"",this.callId,!!e.video&&e.vMsid===G.VideoLarge,!!e.video&&e.vMsid===G.VideoSmall,!!e.screen,!!e.audio,l,"",f,{pctid:this.rtsManager.pcTraceId,subtid:"",ajsub:t===Be.Join?1:0,url:this.streamUrl,est:r});const p=Y.fromError(g,l);throw this.emit("remoteSubscribeError",p),p}})}subscribeDeleteTracks(e){return O(this,null,function*(){const{audio:t,video:i,screen:r,data:n,vMsid:a}=e,o=[];(t||i||n)&&o.push({audio:t,video:i,vMsid:a}),r&&o.push({screen:r}),o.length!==0&&(yield Promise.all(o.map(u=>this.subscribeDeleteProxy(u))),e.data&&this.subscribeStopDataChannel())})}subscribeDeleteProxy(e){return O(this,null,function*(){try{const t=yield this.rtsManager.subscibeDelete({remoteUser:this,options:e}),{stream:i}=t!=null?t:{},r={};e.audio===!0&&(r.audio=!1,this.audioSubState.setState(Pe.AliRtcStateNoSubscribe)),e.video===!0&&(r.video=!1,e.vMsid===G.VideoSmall?(this.videoSmallSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoLargeSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoLargeSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe)):(this.videoLargeSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoSmallSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoSmallSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe))),e.screen===!0&&(r.screen=!1,this.screenSubState.setState(Pe.AliRtcStateNoSubscribe));const{callId:n,remoteCallid:a}=this,o={callid:n,remoteCallid:a,remoteStream:i};return e.audio&&(this.audioLevelMonitor.stop(),this.stopPlayAudio(),this.audioTrack=void 0),this.streamInfo.updateRemoteTrackSubState({audio:e.audio===!0?!1:void 0,video:e.video===!0?!1:void 0,screen:e.screen===!0?!1:void 0,vMsid:e.vMsid}),o}catch(t){throw Y.fromError(t,te.ERR_INNER,"subscribe delete failed")}})}restore(){this.callId="",this.clearStream(),this.clearScreenStream(),this.audioTrack=void 0,this.streamInfo.updateRemoteTrackSubState({audio:!1,video:!1,screen:!1,data:!1}),this.audioElement&&this.audioElement.removeEventListener("pause",this.handleAudioPaused)}resumeAudio(){return O(this,null,function*(){const e=ui.getInstance();return e.state!=="running"&&e.resume(),this.audioElement?this.audioElement.play():this.playAudio()})}resumeVideo(e){return O(this,null,function*(){if(!e||e===Ae.AliRtcVideoTrackCamera||e===Ae.AliRtcVideoTrackBoth)return this.playAll();if(!e||e===Ae.AliRtcVideoTrackScreen||e===Ae.AliRtcVideoTrackBoth)return this.playAll(!0)})}resumePlay(){this.playAudio(),this.playAll(),this.playAll(!0)}stopSubscribe(e){return O(this,null,function*(){var i,r;let t=new Date().getTime();try{let n;e?n=yield this.subscribeDeleteTracks(e):n=yield this.doStopSubscribe(this.streamUrl),this.slsReporter.reportUnsubscribe(((i=this.localUser)==null?void 0:i.callId)||(n==null?void 0:n.callid)||"",this.callId,new Date().getTime()-t,0,"")}catch(n){throw this.slsReporter.reportUnsubscribe(((r=this.localUser)==null?void 0:r.callId)||"",this.callId,new Date().getTime()-t,0,""),n}})}doStopSubscribe(e){return O(this,null,function*(){var r,n,a,o;const{callId:t,remoteCallid:i}=this;if((this.isAudioSubscribing||this.isVideoSubscribing||this.isScreenSubscribing)&&e)try{this.stopStreamMonitor(),yield this.rtsManager.subscibeStop(e),this.restore();const u={callid:t,remoteCallid:i,remoteStream:this.stream};return this.callId="",u}catch(u){if(((o=(a=(n=(r=u==null?void 0:u.extraInfo)==null?void 0:r.parsedData)==null?void 0:n.streams)==null?void 0:a[0])==null?void 0:o.res_code)!==404)throw Y.fromError(u,te.ERR_INNER,"subscribe stop failed")}})}updateStream(e,t=!1){return O(this,null,function*(){this.stream&&this.stream.videoTrack&&e.mediaStream&&t&&(yield new Promise(i=>{let r,n;if(e.mediaStream){n=document.createElement("video");const a=()=>{ae.event(`uid: ${this.userId} new mediaStream canplay`),n&&n.removeEventListener("canplaythrough",a,!1),n=void 0,clearTimeout(r),i(!0)};n.addEventListener("canplaythrough",a,!1),(n._playPromise||Promise.resolve()).then(()=>{n&&e.mediaStream&&(n.srcObject=e.mediaStream)})}else i(!0);r=window.setTimeout(()=>{ae.event(`uid: ${this.userId} new mediaStream timeout`),n=void 0,i(!0)},3e3)}),this.updateSubscribe(Be.User)),this.stream=e,this.playAll(!1,t),!this.subscribed&&e&&(this.subscribed=!0),e.hasAudio&&this.isAudioSubscribing&&e.enableAudio(),e.hasVideo&&this.isVideoSubscribing&&e.enableVideo()})}updateScreenStream(e){this.screenStream=e,this.playAll(!0),!this.subscribed&&e&&(this.subscribed=!0),e.hasVideo&&this.isScreenSubscribing&&e.enableVideo()}clearStream(){var e;(e=this.stream)==null||e.stop(),this.stream=void 0}clearScreenStream(){var e;(e=this.screenStream)==null||e.stop(),this.screenStream=void 0}subscribeDataChannel(){if(this.dc)try{this.dc.dispose(),this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dc=void 0}catch(e){}!this.streamInfo.hasAudio&&!this.streamInfo.hasVideo&&!this.streamInfo.hasScreen||(this.dataSubState.setState(Pe.AliRtcStateSubscribing),this.rtsManager.subscribeAddDataChannel(this.streamUrl).then(e=>{if(e){this.dc=e,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dc.on("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateSubscribed),this.streamInfo.updateRemoteTrackSubState({data:!0});return}else throw new Error("no dc founded")}).catch(e=>{const t=Y.fromError(e,te.ERR_INNER,"subscribe data failed");this.emit("remoteSubscribeError",t),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe)}))}subscribeStopDataChannel(){if(this.dc){try{this.rtsManager.subscribeStopDatachannel(this.streamUrl,this.dc)}catch(e){}this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe),this.dc=void 0,this.streamInfo.updateRemoteTrackSubState({data:!1})}}getRetryOptions(){var i,r,n,a,o,u,h;const e={};this.wantSubAudio&&((i=this.streamInfo)!=null&&i.hasAudio)&&(e.audio=!0,e.aMsid=((r=this.streamInfo.getAudioInfo())==null?void 0:r.msid)||G.Audio),this.wantSubVideo&&((n=this.streamInfo)!=null&&n.hasVideo)&&(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&((a=this.streamInfo)!=null&&a.hasVideoSmall)?(e.video=!0,e.vMsid=G.VideoSmall):(o=this.streamInfo)!=null&&o.hasVideoLarge&&(e.video=!0,e.vMsid=((u=this.streamInfo.getVideoLargeInfo())==null?void 0:u.msid)||G.VideoLarge)),this.wantSubScreen&&((h=this.streamInfo)!=null&&h.hasScreen)&&(e.screen=!0);let t={};if(e.audio||e.video)t={audio:e.audio,video:e.video},this.streamInfo.updateRemoteTrackSubState({screen:!1,data:!1});else if(e.screen)t={screen:e.screen},this.streamInfo.updateRemoteTrackSubState({data:!1});else return;return{remoteUser:this,options:t}}updateSubscribe(e){var n,a,o,u,h,g,f,l,p,d,m,b,v,x,y,E,I;const t=Date.now(),i={},r={};if(this.wantSubAudio&&!this.isAudioSubscribing&&((n=this.streamInfo)!=null&&n.hasAudio)?(i.audio=!0,i.aMsid=((a=this.streamInfo.getAudioInfo())==null?void 0:a.msid)||G.Audio):(!this.wantSubAudio||!((o=this.streamInfo)!=null&&o.hasAudio))&&this.isAudioSubscribing&&(r.audio=!0,r.aMsid=((u=this.streamInfo.getAudioInfo())==null?void 0:u.msid)||G.Audio),this.wantSubVideo&&((h=this.streamInfo)!=null&&h.hasVideo)?(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&!this.isVideoSmallSubscribing&&((g=this.streamInfo)!=null&&g.hasVideoSmall)?(i.video=!0,i.vMsid=G.VideoSmall):!this.isVideoLargeSubscribing&&((f=this.streamInfo)!=null&&f.hasVideoLarge)&&!(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&this.isVideoSmallSubscribing)&&(i.video=!0,i.vMsid=((l=this.streamInfo.getVideoLargeInfo())==null?void 0:l.msid)||G.VideoLarge),this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&this.streamInfo.hasVideoSmall?(r.video=!0,r.vMsid=G.VideoLarge):this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeHigh&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&(r.video=!0,r.vMsid=G.VideoSmall)):(!this.wantSubVideo||!((p=this.streamInfo)!=null&&p.hasVideo))&&this.isVideoSubscribing&&(r.video=!0,r.vMsid=this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?G.VideoSmall:((d=this.streamInfo.getVideoLargeInfo())==null?void 0:d.msid)||G.VideoLarge),this.wantSubScreen&&!this.isScreenSubscribing&&((m=this.streamInfo)!=null&&m.hasScreen)?i.screen=!0:(!this.wantSubScreen||!((b=this.streamInfo)!=null&&b.hasScreen))&&this.isScreenSubscribing&&(r.screen=!0),(v=this.parameter.data)!=null&&v.enableSubDataChannel&&!this.isDataSubscribing&&((x=this.streamInfo)!=null&&x.hasData)?i.data=!0:(!((y=this.parameter.data)!=null&&y.enableSubDataChannel)||!((E=this.streamInfo)!=null&&E.hasData))&&this.isDataSubscribing&&(r.data=!0),(i.audio||i.video||i.screen||i.data)&&(this.createCallId(),this.subscribe(i,e,t)),(r.audio||r.video||r.screen)&&this.subscribeDeleteTracks(r),e===Be.Reconnect){if(ae.event(`[${kt.logName}]`,"reconnect, try to resume"),this.streamInfo.hasAudio&&!i.audio){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,aMsid:this.streamInfo.getAudioInfo().msid||G.Audio}).audioTrack;w&&(this.audioTrack=w,this.playAudio())}if(this.streamInfo.hasVideo&&!i.video){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,vMsid:this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?G.VideoSmall:((I=this.streamInfo.getVideoLargeInfo())==null?void 0:I.msid)||G.VideoLarge});w&&w.mediaStream&&(this.stream=w,this.playAll(!1))}if(this.streamInfo.hasScreen&&!i.screen){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,sMsid:this.streamInfo.getScreenInfo().msid||G.Screen});w&&w.mediaStream&&(this.screenStream=w,this.playAll(!0))}}return{addOption:i,deleteOption:r}}handleAutoPlayFailed(){this.emit("remoteAudioAutoPlayFail",this.uid);const e=()=>{this.resumeAudio().then(()=>{document.removeEventListener("click",e,!1),document.removeEventListener("touchstart",e,!1)})};document.addEventListener("click",e,!1),document.addEventListener("touchstart",e,!1)}handleVideoPlayFailded(e,t){this.emit("remoteVideoAutoPlayFail",this.uid,t);const i=()=>{var n;const r=(n=t===Ae.AliRtcVideoTrackScreen?this.screenStream:this.stream)==null?void 0:n.mediaStream;e.srcObject===r&&this.play(e,t===Ae.AliRtcVideoTrackScreen),document.removeEventListener("click",i,!1),document.removeEventListener("touchstart",i,!1)};document.addEventListener("click",i,!1),document.addEventListener("touchstart",i,!1)}playAudio(){return O(this,null,function*(){var t,i;if(!this.audioTrack)return;if(this.toggleAudio(!this.audioMuted),this.audioElement||(this.audioElement=document.createElement("audio"),this.audioElement.addEventListener("pause",this.handleAudioPaused),this.setPlayoutVolume(this.playoutVolume)),((i=(t=this.audioElement.srcObject)==null?void 0:t.getAudioTracks())==null?void 0:i[0])!==this.audioTrack){let r=this.audioElement.srcObject;r?r.getAudioTracks().forEach(n=>{r.removeTrack(n)}):(r=new MediaStream,this.audioElement.srcObject=r),r.addTrack(this.audioTrack)}this.audioElement.play().catch(()=>{this.handleAutoPlayFailed()});const e=this.audioElement;this.audioElement.addEventListener("playing",function r(){e.removeEventListener("playing",r),pe.AliRTS.SystenUtil.isIos&&parseInt(pe.AliRTS.SystenUtil.systemVersion)<=14&&(e.muted||(e.pause(),e.play()))})})}stopPlayAudio(){this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null,this.audioElement.removeEventListener("pause",this.handleAudioPaused),this.audioElement=void 0)}playAll(e=!1,t=!1){e?(this.viewMap.screenViews||[]).forEach(i=>{this.play(i,e,t)}):(this.viewMap.cameraViews||[]).forEach(i=>{this.play(i,e,t)})}play(e,t=!1,i=!1){const r=t?this.screenStream:this.stream;!e||!r||!r.mediaStream||La(e,r.mediaStream,i).catch(n=>{n.code===20||n.name==="AbortError"||this.handleVideoPlayFailded(e,t?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackCamera)})}stopPlayAll(e=!1){e?this.viewMap.screenViews.forEach(t=>{Ft(t)}):this.viewMap.cameraViews.forEach(t=>{Ft(t)})}toggleAudio(e=!0){this.audioSubState.setEnabled(e),this.audioTrack&&(this.audioTrack.enabled=e)}toggleVideo(e=!0){this.videoSubState.setEnabled(e),this.stream&&(e?this.stream.enableVideo():this.stream.disableVideo())}toggleScreen(e=!0){this.screenSubState.setEnabled(e),this.screenStream&&(e?this.screenStream.enableVideo():this.screenStream.disableVideo())}getStats(){return O(this,null,function*(){var i,r,n,a,o;const e=[];if(this.isAudioSubscribing){const u=yield this.rtsManager.getSubscribeAudioStats(this.streamUrl);u&&e.push({uid:this.uid,track:ci.AliRtcAudioTrackMic,stats:u})}const t=[];if((i=this.streamInfo)!=null&&i.isVideoLargeSubscribed){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((r=this.streamInfo.getVideoLargeInfo())==null?void 0:r.msid)||G.VideoLarge);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeHigh,stats:u})}if((n=this.streamInfo)!=null&&n.isVideoSmallSubscribed){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((a=this.streamInfo.getVideoSmallInfo())==null?void 0:a.msid)||G.VideoSmall);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeLow,stats:u})}if(this.isScreenSubscribing){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((o=this.streamInfo.getScreenInfo())==null?void 0:o.msid)||G.Screen);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackScreen,stats:u})}return{audio:e,video:t}})}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.audioTrack&&this.audioLevelMonitor.start(this.audioTrack,e),this.audioVolumeIndicationInterval=e)}reportSubscribeMonitor(e){var t;e&&(this.slsReporter.reportSubscribeMonitor(((t=this.localUser)==null?void 0:t.callId)||"",this.callId,this.trackTraceIdMap[e]||"",e,this.monitorDataCache[e]),this.monitorDataCache[e]=[])}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>O(this,null,function*(){try{if(this.streamInfo.subscribingInfos.length===0){this.stopStreamMonitor();return}let e=Object.keys(this.monitorDataCache).filter(t=>{var i;return((i=this.monitorDataCache[t])==null?void 0:i.length)>0});this.streamInfo.subscribingInfos.forEach(t=>{const i=t.msid;if(!i)return;e.includes(i)&&(e=e.filter(a=>a!==i));let r;const n=i===G.Audio;n?r=this.rtsManager.getSubscribeAudioStats(this.streamUrl):r=this.rtsManager.getSubscribeVideoStats(this.streamUrl,i),r.then(a=>{var g;if(!a.timestamp)return;this.monitorDataCache[i]||(this.monitorDataCache[i]=[]);const o=this.monitorDataCache[i];let u;if((o==null?void 0:o.length)>0){const h=o[o.length-1]||{},{_last:l}=h;u=pi(h,["_last"])}(o==null?void 0:o.length)>=F0&&this.reportSubscribeMonitor(i),a._last=u,a._codec=t.codec,n&&(a._source=(g=this.localUser)==null?void 0:g.getMediaStats(a.playoutId)),this.monitorDataCache[i].push(a)})}),e.forEach(t=>{this.reportSubscribeMonitor(t)})}catch(e){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportSubscribeMonitor(e)})}},_(kt,"logName","RemoteUser"),kt);et([j()],Ye.prototype,"clear",1),et([j()],Ye.prototype,"updateRemoteUserDeviceStatus",1),et([j()],Ye.prototype,"updateRemoteTracks",1),et([j(ne)],Ye.prototype,"subscribe",1),et([j()],Ye.prototype,"subscribeProxy",1),et([j(ne)],Ye.prototype,"subscribeDeleteProxy",1),et([j()],Ye.prototype,"restore",1),et([j(ne)],Ye.prototype,"stopSubscribe",1),et([j(ne)],Ye.prototype,"doStopSubscribe",1),et([j()],Ye.prototype,"clearStream",1),et([j()],Ye.prototype,"clearScreenStream",1),et([j()],Ye.prototype,"updateSubscribe",1),et([j()],Ye.prototype,"playAudio",1),et([j()],Ye.prototype,"stopPlayAudio",1),et([j((s,c,e)=>[typeof s=="string"?s:s==null?void 0:s.nodeType,c,e])],Ye.prototype,"play",1),et([j()],Ye.prototype,"stopPlayAll",1);let O0=Ye;var Vt=(s=>(s[s.AliRtcPluginErrorCodeSuccess=0]="AliRtcPluginErrorCodeSuccess",s[s.AliRtcPluginErrorCodeFailed=-1]="AliRtcPluginErrorCodeFailed",s[s.AliRtcPluginErrorNoFindPlugin=-2]="AliRtcPluginErrorNoFindPlugin",s[s.AliRtcPluginErrorParameterError=-3]="AliRtcPluginErrorParameterError",s[s.AliRtcPluginErrorLoadError=-4]="AliRtcPluginErrorLoadError",s[s.AliRtcPluginErrorCreateError=-5]="AliRtcPluginErrorCreateError",s[s.AliRtcPluginErrorInitError=-6]="AliRtcPluginErrorInitError",s[s.AliRtcPluginErrorInitTokenError=-7]="AliRtcPluginErrorInitTokenError",s))(Vt||{});class V0 extends xe{constructor(){super(...arguments);_(this,"plugins",new Map)}add(e,t){if(this.plugins.has(e.name))throw new Y(Vt.AliRtcPluginErrorCreateError,`Plugin ${e.name} already exists`);this.plugins.set(e.name,e),t&&e.setOptions(t),this.emit("added",e),e.on("enabled",()=>this.emit("added",e)),e.on("disabled",()=>this.emit("removed",e)),e.on("updated",()=>this.emit("updated",e))}remove(e){const t=this.plugins.get(e);if(!t)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,`Plugin ${e} not founded`);this.plugins.delete(e),t.removeAllListeners(),this.emit("removed",t)}removeAll(){this.plugins.forEach(e=>{this.remove(e.name)})}get(e){return this.plugins.get(e)}has(e){return!!this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}}var U0=Object.defineProperty,H0=Object.getOwnPropertyDescriptor,Ke=(s,c,e,t)=>{for(var i=t>1?void 0:t?H0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&U0(c,e,i),i};const Ji=([s])=>{const{remoteUser:c,options:e}=s;return[`user(${c.userId})`,e]},Ua=5,je=(nt=class extends xe{constructor(e,t,i,r,n){super();_(this,"rts");_(this,"encodedInsertableStreams",!0);_(this,"audioRedEnabled",!1);_(this,"localStreamManager");_(this,"slsReporter");_(this,"_rtsReconnecting",!1);_(this,"_rtsPeerConnectionType","publish");_(this,"connecting",!1);_(this,"connected",!1);_(this,"_pcTraceId","");_(this,"_localJoinTime",0);_(this,"publishRetryHook");_(this,"subscribeRetryOptionsHook");_(this,"connectionResolve");_(this,"connectingPromise");_(this,"dcResolve");_(this,"dcConnectingPromise");_(this,"_publishingTracks",[]);_(this,"parameter",{});this.localStreamManager=e,this.slsReporter=t,this.publishRetryHook=i,this.subscribeRetryOptionsHook=r,this.parameter=n,this.rts=pe.AliRTS.createClient(),this.addRTSListener()}addRTSListener(){this.rts.on("connectStatusChange",e=>{var t,i,r,n;if(ae.event(`[${nt.logName}]`,"rts connectStatusChange to:",e.status),e.status===pe.EConnectStatus.CONNECT_STATUS_DISCONNECTED)this.setConnected(!1),this.slsReporter.reportWarning("rts disconnected"),this.emit("disconnected");else if(e.status===pe.EConnectStatus.CONNECT_STATUS_CONNECTED){const a=(n=(r=(i=(t=this.rts.commonController)==null?void 0:t.peerCore)==null?void 0:i.getSignal())==null?void 0:r.getDatachannelCore())==null?void 0:n.readyState;ae.event(`[${nt.logName}]`,"dcReadyState:",a),a==="open"&&this.dcResolve&&this.dcResolve(!0),this._rtsReconnecting&&this._rtsPeerConnectionType==="publish"&&(this._publishingTracks=this.rts.getPublishTrackInfoList());try{this.emit("connected",this._rtsReconnecting,this._rtsPeerConnectionType)}catch(o){}this.setConnected(!0)}}),this.rts.on("datachannelStatusChange",e=>{ae.event(`[${nt.logName}]`,"rts datachannelStatusChange to:",e.status),e.status===pe.EDatachannelStatus.DATACHANNEL_STATUS_OPEN?this.dcResolve&&this.dcResolve(!0):e.status===pe.EDatachannelStatus.DATACHANNEL_STATUS_CLOSE&&(this.dcConnectingPromise=new Promise(t=>{this.dcResolve=t}))}),this.rts.on("receivedSEI",e=>{this.emit("seimessage",e.url,e.sei.payloadType,e.sei.data)})}get pcTraceId(){return this._pcTraceId}set localJoinTime(e){this._localJoinTime=e}setEncodedInsertableStreams(e){this.encodedInsertableStreams=e}setAudioRedEnabled(e){var t;if(e!==this.audioRedEnabled){try{const r=[...((t=RTCRtpReceiver.getCapabilities("audio"))==null?void 0:t.codecs)||[]];if(r.length>0){if(e){const n=r.findIndex(o=>o.mimeType==="audio/red"),a=r.findIndex(o=>o.mimeType==="audio/opus");if(n>-1&&a>-1&&n>a){const o=r[a];r[a]=r[n],r[n]=o}}this.rts.setSenderCodecPreferences({audio:r}),this.rts.setReceiverCodecPreferences({audio:r})}}catch(i){}this.audioRedEnabled=e}}clear(){this.setConnected(!1);try{this.rts.unpublish()}catch(e){}this.rts=pe.AliRTS.createClient(),this.addRTSListener()}startConnect(){this.connecting=!0,this.connectingPromise=new Promise(e=>{this.connectionResolve=e}),this.dcConnectingPromise=new Promise(e=>{this.dcResolve=e})}setConnected(e){var t;this.connected=e,this.connecting=!1,this._rtsReconnecting=!1,(t=this.connectionResolve)==null||t.call(this,!0),e||(this.dcConnectingPromise=new Promise(i=>{this.dcResolve=i}))}get isConnecting(){return this.connecting}get isConnected(){return this.connected}get publishingTracks(){return this._publishingTracks}getPubMsid(e,t){const{aMsid:i,vMsid:r}=t!=null?t:{},n={};return e.hasAudio&&(n.aMsid=[i!=null?i:G.Audio]),e.hasScreen&&(n.vMsid=[G.Screen]),e.hasVideo&&(n.vMsid=[r!=null?r:t!=null&&t.isScreen?G.Screen:G.VideoLarge]),n}updatePublishingTracks(e){e&&(this._publishingTracks=e.map(({msid:t,from:i,ssrc:r,codec:n,type:a,trackId:o})=>({msid:t,from:i,type:a,ssrc:`${r}`,codec:n!=null?n:"",trackId:o})))}httpPublish(n,a){return O(this,arguments,function*(e,t,i=!1,r=Bt.MANUAL){var v,x;let o;const{publishStream:u,videoSmallStream:h,screenStream:g,vMsid:f}=yield this.localStreamManager.createHTTPPublishStream();if(!u)return ae.warn(`[${nt.logName}]`,"publishStream is null"),{traceId:"",l1ip:o};const l=this.getPubMsid(u,{vMsid:f});this.encodedInsertableStreams&&(l.encodedInsertableStreams=!0),l.answerSdpHook=y=>{const E=/\d+\.\d+\.\d+\.\d+(?=\s+1106|\s+8000)/.exec(y);return E!=null&&E[0]&&(o=E[0]),y},(x=(v=this.parameter)==null?void 0:v.net)!=null&&x.useTCP&&(l.tcpOnly=!0),l.beforeRetry=y=>O(this,null,function*(){this._rtsReconnecting=!0,this.publishRetryHook&&this.publishRetryHook();const{publishStream:E,vMsid:I}=yield this.localStreamManager.createHTTPPublishStream();if(!E)return;const w=this.getPubMsid(E,{vMsid:I});return y.stream=E,w.aMsid?y.aMsid=w.aMsid:y.aMsid=[],w.vMsid?y.vMsid=w.vMsid:y.vMsid=[],y}),this._rtsPeerConnectionType="publish";let p=!u.hasVideo,d=f,m="";this.startConnect();const b=Date.now();try{m=yield this.rts.publish(e,u,l)}catch(y){this.setConnected(!1);const E=2e3-(Date.now()-b);throw E<=0?this.emit("disconnected"):setTimeout(()=>{this.emit("disconnected")},E),this.slsReporter.reportPublish(i,e,t,u.hasVideo&&(!f||f===G.VideoLarge),u.hasVideo&&f===G.VideoSmall,u.hasVideo&&f===G.Screen,u.hasAudio,(y==null?void 0:y.errorCode)||-1,this.pcTraceId,"",b),Y.fromRtsError(y)}ae.event(`[${nt.logName}]`,"rts publish success",m),this.slsReporter.reportPublish(i,e,t,u.hasVideo&&(!f||f===G.VideoLarge),u.hasVideo&&f===G.VideoSmall,u.hasVideo&&f===G.Screen,u.hasAudio,0,m,m,b);try{const y=Date.now();return this._pcTraceId=m,this.setConnected(!0),this._publishingTracks=this.rts.getPublishTrackInfoList(),h&&(yield this.publishAdd(e,h,t,{vMsid:G.VideoSmall},i),p=!1,d=G.VideoSmall),g&&(yield this.publishAdd(e,g,t,{vMsid:G.Screen},i),p=!1,d=G.Screen),yield this.waitPublishSender(e,p,d),this.slsReporter.reportPublishFirstPacket(i,t,b,y,this._localJoinTime,p?G.Audio:l.vMsid,m||"",m||"",r),{traceId:m,l1ip:o}}catch(y){throw this.setConnected(!1),Y.fromError(y)}})}waitPublishSender(e,t=!1,i){return O(this,null,function*(){const r=(n,a)=>{let o=0;const u=()=>(t?this.rts.getPublishAudioStats(e,i):this.rts.getPublishVideoStats(e,i)).then(g=>!(g.bytesSent>0)&&o<n?(o++,new Promise(l=>setTimeout(()=>l(u()),a))):Promise.resolve());return u()};return Promise.race([Nt(1e3),r(5,100)]).catch(()=>{})})}getPublishVideoStats(e,t){return O(this,null,function*(){return yield this.rts.getPublishVideoStats(e,t)})}getPublishAudioStats(e,t){return O(this,null,function*(){return yield this.rts.getPublishAudioStats(e,t)})}publishAdd(u,h,g,f){return O(this,arguments,function*(e,t,i,r,n=!1,a=!1,o=Bt.MANUAL){var d,m,b,v,x,y,E,I;const l=Date.now(),p=this.getPubMsid(t,r);try{const w=yield Ba(R=>O(this,null,function*(){return R>0&&ae.event(`[${nt.logName}]`,`publishAdd retry times: ${R}`),this.isConnected?(yield this.dcConnectingPromise,this.rts.publishAdd([be({url:e,stream:t,updateSourceStream:!1},p)])):Promise.reject(new Y(te.ERR_INNER,"rts not connected"))}),Ua,0,R=>(R==null?void 0:R.errorCode)===15006);if(w){const R=Date.now(),[L]=w;return this.slsReporter.reportPublish(!1,e,i,((d=p.vMsid)==null?void 0:d[0])===G.VideoLarge,((m=p.vMsid)==null?void 0:m[0])===G.VideoSmall,((b=p.vMsid)==null?void 0:b[0])===G.Screen,((v=p.aMsid)==null?void 0:v[0])===G.Audio,0,this.pcTraceId,L.traceId||"",l),this.updatePublishingTracks(L.trackInfoList),a&&(yield this.waitPublishSender(e,!t.hasVideo,t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)),this.slsReporter.reportPublishFirstPacket(n,i,l,R,this._localJoinTime,(t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)||"",this.pcTraceId,L.traceId||"",o),L.traceId||""}}catch(w){throw this.slsReporter.reportPublish(!1,e,i,((x=p.vMsid)==null?void 0:x[0])===G.VideoLarge,((y=p.vMsid)==null?void 0:y[0])===G.VideoSmall,((E=p.vMsid)==null?void 0:E[0])===G.Screen,((I=p.aMsid)==null?void 0:I[0])===G.Audio,(w==null?void 0:w.errorCode)||-1,this.pcTraceId,"",l),w!=null&&w.errorCode?Y.fromRtsError(w):Y.fromError(w)}return""})}publishDelete(e,t){return O(this,null,function*(){var u,h,g,f,l,p,d,m;yield this.dcConnectingPromise;const i=(h=(u=this.publishingTracks)==null?void 0:u.find(({msid:b})=>b===G.Audio))==null?void 0:h.msid,r=(f=(g=this.publishingTracks)==null?void 0:g.find(({msid:b})=>b===G.VideoLarge))==null?void 0:f.msid,n=(p=(l=this.publishingTracks)==null?void 0:l.find(({msid:b})=>b===G.Screen))==null?void 0:p.msid,a=[];t.screen&&n?a.push(n):t.video&&a.push(t.vMsid||r);const o=[];t.audio&&i&&o.push(i),ae.event(nt.logName,"publishDelete",{streamUrl:e,aMsid:o,vMsid:a});try{const[b]=(yield this.rts.publishDeleteTracks([{url:e,aMsid:o,vMsid:a}]))||[];return ae.event(nt.logName,"publishDelete",{result:b}),b&&this.updatePublishingTracks(b.trackInfoList),((m=(d=b==null?void 0:b.trackInfoList)==null?void 0:d[0])==null?void 0:m.trackId)||""}catch(b){throw Y.fromRtsError(b)}})}publishReplace(e,t,i){return O(this,null,function*(){var a,o;yield this.dcConnectingPromise;const{vMsid:r,aMsid:n}=i!=null?i:{};try{const u=yield this.rts.publishReplaceTracks([{url:e,stream:t,updateSourceStream:!1,vMsid:r,aMsid:n}]),[h]=u;return this.updatePublishingTracks(h.trackInfoList),((o=(a=h==null?void 0:h.trackInfoList)==null?void 0:a[0])==null?void 0:o.trackId)||""}catch(u){throw Y.fromRtsError(u)}})}publishStop(e){return O(this,null,function*(){return yield this.rts.publishStop([{url:e}]),this._publishingTracks=[],""})}publishAddDataChannel(e){return O(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.publishAddDatachannel({signalUrl:e,url:e,label:G.Data,msid:G.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.datachannel.send(r)}return i})}publishStopDataChannel(e,t){return O(this,null,function*(){return yield this.rts.publishStopDatachannel({url:e,datachannel:t})})}unpublish(){return O(this,null,function*(){yield this.rts.unpublish(),this.connecting=!1,this.connected=!1})}getSubConfig(e,t){let i=t!=null?t:{};t||(i={audio:!0,video:!0,screen:!0});const r={};return i.audio&&(r.aMsid=[(e==null?void 0:e.getAudioInfo().msid)||G.Audio]),i.video?i.vMsid?r.vMsid=[i.vMsid]:e!=null&&e.hasVideoLarge?r.vMsid=[(e==null?void 0:e.getVideoLargeInfo().msid)||G.VideoLarge]:e!=null&&e.hasVideoSmall?r.vMsid=[(e==null?void 0:e.getVideoSmallInfo().msid)||G.VideoSmall]:r.vMsid=[G.VideoLarge]:i.screen&&e!=null&&e.hasScreen&&(r.vMsid=[(e==null?void 0:e.getScreenInfo().msid)||G.Screen]),r}httpSubscribe(e){return O(this,null,function*(){var a,o;const{remoteUser:t,options:i}=e;let r=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(r+="@subaudio=no"):r+="@subvideo=no";const n=this.getSubConfig(t.streamInfo,i);this.encodedInsertableStreams&&(n.encodedInsertableStreams=!0),(o=(a=this.parameter)==null?void 0:a.net)!=null&&o.useTCP&&(n.tcpOnly=!0),n.beforeRetry=u=>O(this,null,function*(){this._rtsReconnecting=!0;try{this.emit("reconnecting","subscribe")}catch(h){}if(this._publishingTracks=[],this.subscribeRetryOptionsHook){const h=this.subscribeRetryOptionsHook();if(h){let g=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(g+="@subaudio=no"):g+="@subvideo=no",u.url=g;const f=this.getSubConfig(h.remoteUser.streamInfo,h.options);f.aMsid&&(u.aMsid=f.aMsid),f.vMsid&&(u.vMsid=f.vMsid)}else return}return u}),this._rtsPeerConnectionType="subscribe";try{this.startConnect();const u=yield this.rts.subscribe(r,n);return this._pcTraceId=u.traceId,this.setConnected(!0),{traceId:u.traceId,stream:u}}catch(u){throw this.setConnected(!1),this.emit("disconnected"),Y.fromRtsError(u)}})}subscribeAdd(e){return O(this,null,function*(){var n,a,o,u;const{remoteUser:t,options:i}=e,r=Rt(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield Ba(g=>O(this,null,function*(){return yield this.dcConnectingPromise,g>0&&ae.event(`[${nt.logName}]`,`subscribeAdd retry times: ${g}`),this.isConnected?this.rts.subscribeAdd([r]):Promise.reject()}),Ua,0,g=>(g==null?void 0:g.errorCode)===15006))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===508)return this.emit("subscribeexceeds"),null;throw Y.fromRtsError(h)}})}subscibeDelete(e){return O(this,null,function*(){var n,a,o,u;yield this.dcConnectingPromise;const{remoteUser:t,options:i}=e,r=Rt(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield this.rts.subscribeDeleteTracks([r]))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===404)return;throw Y.fromRtsError(h)}})}subscibeStop(e){return O(this,null,function*(){var t,i,r,n;try{yield this.rts.subscribeStop([{url:e}])}catch(a){if(((n=(r=(i=(t=a==null?void 0:a.extraInfo)==null?void 0:t.parsedData)==null?void 0:i.streams)==null?void 0:r[0])==null?void 0:n.res_code)===404)return;throw Y.fromRtsError(a)}})}subscribeAddDataChannel(e){return O(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.subscribeAddDatachannel({signalUrl:e,url:e,label:G.Data,msid:G.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.send(r)}return i})}subscribeStopDatachannel(e,t){return O(this,null,function*(){let i;try{i=yield this.rts.subscribeStopDatachannel({url:e,datachannel:t})}catch(r){}return t==null||t.dispose(),i})}publish(n,a){return O(this,arguments,function*(e,t,i=!1,r=Bt.MANUAL){let o="",u;if(this.connecting&&(yield this.connectingPromise),this.connected){yield this.dcConnectingPromise;let h=!1,g;const{audio:f,video:l,videoSmall:p,screen:d}=this.localStreamManager.publishStreams;f&&(o=yield this.publishAdd(e,f,t,{aMsid:G.Audio},i),h=!0,g=G.Audio,yield Nt(100)),l&&(o=yield this.publishAdd(e,l,t,{vMsid:G.VideoLarge},i),h=!1,g=G.VideoLarge,yield Nt(100)),p&&(o=yield this.publishAdd(e,p,t,{vMsid:G.VideoSmall},i),h=!1,g=G.VideoSmall,yield Nt(100)),d&&(o=yield this.publishAdd(e,d,t,{isScreen:!0,vMsid:G.Screen},i),h=!1,g=G.Screen),g&&(yield this.waitPublishSender(e,h,g))}else{const h=yield this.httpPublish(e,t,i,r);o=h.traceId,u=h.l1ip}return{traceId:o,l1ip:u}})}subscribe(e,t,i,r,n){return O(this,null,function*(){let a=!1;const{options:o,remoteUser:u}=e;if(o.video&&o.screen)throw new Y(te.ERR_INNER,"subscribe error, video and screen cannot be subscribed at the same time");this.connecting&&(yield this.connectingPromise);let h,g=Date.now();this.connected?(g=Date.now(),h=yield this.subscribeAdd(e)):(a=!0,h=yield this.httpSubscribe(e));const f=Date.now();let l=G.VideoLarge,p=o.video||o.screen,d=o.audio;o.video&&o.vMsid?l=o.vMsid:o.screen&&(l=G.Screen);let m=0,b=0,v=0;const y=((E,I)=>{let w=0;const R=()=>{let L;return d&&!m&&(L=this.rts.getSubscribeAudioStats(u.streamUrl).then(D=>{if(D.packetsReceived>0)m=Date.now();else if(!p)return w<E?(w++,new Promise(N=>setTimeout(()=>N(R()),I))):!1;return!0})),p&&!v&&(L=this.rts.getSubscribeVideoStats(u.streamUrl,l).then(D=>{if(D.packetsReceived>0&&(b=Date.now()),D.framesDecoded>0)v=Date.now();else return w<E?(w++,new Promise(N=>setTimeout(()=>N(R()),I))):(ae.error(`[${nt.logName}]`,u.userId,"尝试获取首帧数据失败"),!1);return!0})),Promise.resolve(L)};return R()})(40,100);return y.then(()=>{b&&this.slsReporter.reportSubscribeFirstPacket(t===Be.Resume,i,r,l,{fprt:b-g,ifsprtc:v?v-g:0,ajsub:t===Be.Join?1:0,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",sstc:f-g}),v&&this.slsReporter.reportSubscribeFirstFrame(t===Be.Resume,i,r,l,{fvfrt:v-g,fp2fftc:v-b,ajsub:t===Be.Join?1:0,tffrtc:t===Be.Join?v-this.localJoinTime:v-n,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",fvfdtc:v-g}),m&&this.slsReporter.reportSubscribeFirstPacket(t===Be.Resume,i,r,G.Audio,{fprt:m-g,ifsprtc:m-g,ajsub:t===Be.Join?1:0,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",sstc:f-g})}),a&&(yield Promise.race([y,Nt(1500)])),h})}getSubscribeVideoStats(e,t){return O(this,null,function*(){return yield this.rts.getSubscribeVideoStats(e,t)})}getSubscribeAudioStats(e,t){return O(this,null,function*(){return yield this.rts.getSubscribeAudioStats(e,t)})}getStreamByMsid(e){return this.rts.commonController.streamManager.getStreamByMsid(e)}getPCStats(){return O(this,null,function*(){var e,t;return(t=(e=this.rts.commonController.peerCore)==null?void 0:e.pc)==null?void 0:t.getStats()})}sendSEI(e,t,i,r){return O(this,null,function*(){return this.rts.sendSEI({url:e,vMsid:G.VideoLarge,data:t,repeatCount:i,payloadType:r})})}},_(nt,"logName","RtsManager"),nt);Ke([j()],je.prototype,"updatePublishingTracks",1),Ke([j(ne,ne)],je.prototype,"httpPublish",1),Ke([j(ne,ne)],je.prototype,"waitPublishSender",1),Ke([j(([s,c,e])=>[s,JSON.stringify(e)],ne)],je.prototype,"publishAdd",1),Ke([j(ne,ne)],je.prototype,"publishDelete",1),Ke([j(([s,c,e])=>[s,JSON.stringify(e)])],je.prototype,"publishReplace",1),Ke([j(ne)],je.prototype,"publishStop",1),Ke([j(ne)],je.prototype,"publishAddDataChannel",1),Ke([j(ne)],je.prototype,"publishStopDataChannel",1),Ke([j()],je.prototype,"unpublish",1),Ke([j(Ji,({traceId:s})=>s)],je.prototype,"httpSubscribe",1),Ke([j(Ji,({traceId:s})=>s)],je.prototype,"subscribeAdd",1),Ke([j(Ji)],je.prototype,"subscibeDelete",1),Ke([j(ne)],je.prototype,"subscibeStop",1),Ke([j(ne)],je.prototype,"subscribeAddDataChannel",1),Ke([j(ne)],je.prototype,"subscribeStopDatachannel",1),Ke([j(ne)],je.prototype,"publish",1),Ke([j(Ji)],je.prototype,"subscribe",1),Ke([j()],je.prototype,"sendSEI",1);let z0=je;class Rs{constructor(){_(this,"profile");_(this,"profileMap",new Map);_(this,"audioProfile");_(this,"contentHint")}updateProfile(c,e){e&&this.profileMap.set(c,e),this.profile=c}get videoProfile(){return this.profile}updateAudioProfile(c){this.audioProfile=c}setContentHint(c,e){e&&(this.contentHint=e),this.contentHint&&c&&(c.contentHint=this.contentHint)}setVideoProfile(c,e,t=!1){return O(this,null,function*(){if(!this.profile)return;const i=this.profileMap.get(this.profile)||(e==null?void 0:e.VideoProfileMap.get(this.profile));if(i){if(!t&&c&&c.applyConstraints)try{yield c.applyConstraints(i)}catch(r){}e&&(e==null||e.VideoProfileMap.set(this.profile,i),yield e.setVideoProfile(this.profile))}})}}class Ds extends xe{constructor(e){super();_(this,"type");_(this,"originVideoTrack");_(this,"videoSource");_(this,"_videoMuted",!1);_(this,"originAudioTrack");_(this,"audioSource");_(this,"_audioMuted",!1);_(this,"_targetVideoTrack");_(this,"_targetDualVideoTrack");_(this,"_targetAudioTrack");_(this,"_publishVideoStream");_(this,"_publishDualVideoStream");_(this,"_publishAudioStream");_(this,"_previewStream");_(this,"plugins",[]);_(this,"_profileManager");_(this,"cameraVideoConstraints");_(this,"micAudioConstraints");_(this,"onVideoTrackEnded",()=>{this.emit("videotrackended")});_(this,"onAudioTrackEnded",()=>{this.emit("audiotrackended")});this.type=e}get profileManager(){return this._profileManager}get audioProfile(){var e;return(e=this.profileManager)==null?void 0:e.audioProfile}updateSource(e,t,i){return O(this,null,function*(){var a,o,u,h,g,f;const{videoTrack:r,audioTrack:n}=e;r&&((a=this.originVideoTrack)==null||a.removeEventListener("ended",this.onVideoTrackEnded)),n&&((o=this.originAudioTrack)==null||o.removeEventListener("ended",this.onAudioTrackEnded)),this.type===We.AliRtcSdkStreamTypeScreen?this.stop():(r&&((u=this.originVideoTrack)==null||u.stop()),n&&((h=this.originAudioTrack)==null||h.stop())),r&&(this.originVideoTrack=r,(g=this.originVideoTrack)==null||g.addEventListener("ended",this.onVideoTrackEnded),this.videoSource=t||ni.Camera,this.updateVideoTrack(r)),n&&(this.originAudioTrack=n,(f=this.originAudioTrack)==null||f.addEventListener("ended",this.onAudioTrackEnded),this.audioSource=i||Pi.Microphone,this.updateAudioTrack(n))})}get currentProfile(){var e;return(e=this.profileManager)==null?void 0:e.profile}get currentVideoTrack(){return this._targetVideoTrack}get currentDualVideoTrack(){return this._targetDualVideoTrack}get publishVideoStream(){return this._publishVideoStream}get publishDualVideoStream(){return this._publishDualVideoStream}get currentAudioTrack(){return this._targetAudioTrack}get publishAudioStream(){return this._publishAudioStream}get previewStream(){return this._previewStream}updateVideoTrack(e,t=!1){return O(this,null,function*(){(this._targetVideoTrack!==e||t)&&(this._targetVideoTrack=e)})}updateDualVideoTrack(e,t=!1){return O(this,null,function*(){(this._targetDualVideoTrack!==e||t)&&(this._targetDualVideoTrack=e)})}updateAudioTrack(e,t=!1){return O(this,null,function*(){(this._targetAudioTrack!==e||t)&&(this._targetAudioTrack=e)})}setAudioMuted(e){var t,i;this._audioMuted=e,e?(t=this.publishAudioStream)==null||t.disableAudio():(i=this.publishAudioStream)==null||i.enableAudio()}get isAudioMuted(){return this._audioMuted}setVideoMuted(e){var t,i;this._videoMuted=e,e?(t=this.publishVideoStream)==null||t.disableVideo():(i=this.publishVideoStream)==null||i.enableVideo()}get isVideoMuted(){return this._videoMuted}process(e){return O(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l,p;this._targetAudioTrack=this.originAudioTrack,this._targetVideoTrack=this.originVideoTrack;for(const d of this.plugins)try{yield d.execute(this,e)}catch(m){console.error(`error in plugin-${d.name}, error: ${m}`)}this._targetVideoTrack?((i=(t=this._publishVideoStream)==null?void 0:t.videoTrack)==null?void 0:i.id)!==this._targetVideoTrack.id&&(this._publishVideoStream=yield Di(this._targetVideoTrack),this.setVideoMuted(this._videoMuted),(r=this.profileManager)==null||r.setVideoProfile(this.originVideoTrack,this._publishVideoStream,!0),(n=this.profileManager)==null||n.setContentHint(this._targetVideoTrack),this.previewStream?(a=this.previewStream)==null||a.mergeStream(this._publishVideoStream):this._previewStream=yield Di(this._targetVideoTrack)):(this._publishVideoStream=void 0,(o=this.previewStream)==null||o.deleteTracks({video:!0})),this._targetDualVideoTrack?((h=(u=this._publishDualVideoStream)==null?void 0:u.videoTrack)==null?void 0:h.id)!==this._targetDualVideoTrack.id&&(this._publishDualVideoStream=yield Di(this._targetDualVideoTrack),this._videoMuted?this._publishDualVideoStream.disableVideo():this._publishDualVideoStream.enableVideo()):this._publishDualVideoStream=void 0,this._targetAudioTrack?((f=(g=this._publishAudioStream)==null?void 0:g.audioTrack)==null?void 0:f.id)!==this._targetAudioTrack.id&&(this._publishAudioStream=yield Di(this._targetAudioTrack),this.setAudioMuted(this._audioMuted),this.previewStream?(l=this.previewStream)==null||l.mergeStream(this._publishAudioStream):this._previewStream=yield Di(this._targetAudioTrack)):(this._publishAudioStream=void 0,(p=this.previewStream)==null||p.deleteTracks({audio:!0}))})}stopVideo(){var e,t;this.originVideoTrack&&((e=this.originVideoTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originVideoTrack)==null||t.stop(),this.originVideoTrack=void 0),this.updateVideoTrack(void 0)}stopAudio(){var e,t;this.originAudioTrack&&((e=this.originAudioTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originAudioTrack)==null||t.stop(),this.originAudioTrack=void 0),this.updateAudioTrack(void 0)}stop(){this.stopVideo(),this.stopAudio()}updateVideoProfile(e,t){return O(this,null,function*(){this._profileManager||(this._profileManager=new Rs),e&&this._profileManager.updateProfile(e,t),yield this._profileManager.setVideoProfile(this.originVideoTrack,this._publishVideoStream,this.type===We.AliRtcSdkStreamTypeScreen)})}get videoProfile(){var e;return(e=this.profileManager)==null?void 0:e.videoProfile}setVideoContentHint(e){this._profileManager||(this._profileManager=new Rs),this._profileManager.setContentHint(this.currentVideoTrack,e)}updateAudioProfile(e){return O(this,null,function*(){this._profileManager||(this._profileManager=new Rs),this._profileManager.updateAudioProfile(e)})}cloneVideoProfile(e){return O(this,null,function*(){var t;yield(t=this.profileManager)==null?void 0:t.setVideoProfile(void 0,e)})}addPlugin(e){const t=this.plugins.findIndex(i=>i.zIndex>e.zIndex);t>-1?this.plugins.splice(t,0,e):this.plugins.push(e)}removePlugin(e){const t=this.plugins.indexOf(e);return t>-1?(e.clear(this),this.plugins.splice(t,1),!0):!1}}var j0=Object.defineProperty,W0=Object.getOwnPropertyDescriptor,_t=(s,c,e,t)=>{for(var i=t>1?void 0:t?W0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&j0(c,e,i),i};const xt=(ri=class extends xe{constructor(e,t){super();_(this,"pluginManager");_(this,"slsReporter");_(this,"publishingCameraVideoStream");_(this,"publishingScreenVideoStream");_(this,"cameraStreamInfo",new Ds(We.AliRtcSdkStreamTypeCapture));_(this,"screenStreamInfo",new Ds(We.AliRtcSdkStreamTypeScreen));_(this,"streamInfos",[this.cameraStreamInfo,this.screenStreamInfo]);_(this,"_audioCaptureDisabled",!1);_(this,"_cameraCaptureDisabled",!1);_(this,"_publishLocalAudioStreamEnabled",!0);_(this,"_publishLocalVideoStreamEnabled",!0);_(this,"_publishLocalScreenStreamEnabled",!0);this.screenStreamInfo.setVideoContentHint("motion"),this.pluginManager=e,this.slsReporter=t;const i=r=>O(this,null,function*(){if(ae.info(`[${ri.logName}]`,"plugin added",r.name),!r.isSupported("6.13.1")){console.warn(`${r.name} is not supported!!!`),r.emit("unsupported");return}try{yield r.init()}catch(n){r.emit("error",Y.fromError(n,Vt.AliRtcPluginErrorInitError))}r.streamType===We.AliRtcSdkStreamTypeCapture&&(this.cameraStreamInfo.addPlugin(r),yield this.cameraStreamInfo.process(this.streamInfos)),r.streamType===We.AliRtcSdkStreamTypeScreen&&(this.screenStreamInfo.addPlugin(r),yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")});this.cameraStreamInfo.updateVideoProfile(Ta,wi),this.cameraStreamInfo.on("videotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({video:!0}),this.emit("trackended",ti.VideoTrackEnded)})),this.cameraStreamInfo.on("audiotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({audio:!0}),this.emit("trackended",ti.AudioTrackEnded)})),this.screenStreamInfo.updateVideoProfile(ka,Ci),this.screenStreamInfo.on("videotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({screen:!0}),this.emit("trackended",ti.ScreenTrackEnded)})),this.pluginManager.on("added",i),this.pluginManager.on("removed",r=>O(this,null,function*(){this.cameraStreamInfo.removePlugin(r)&&(yield this.cameraStreamInfo.process(this.streamInfos)),this.screenStreamInfo.removePlugin(r)&&(yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")})),this.pluginManager.on("updated",()=>O(this,null,function*(){yield this.updateStreams()}))}get hasCamera(){return!!this.cameraStreamInfo.originVideoTrack}get audioCaptureDisabled(){return this._audioCaptureDisabled}set audioCaptureDisabled(e){this._audioCaptureDisabled=e}get cameraCaptureDisabled(){return this._cameraCaptureDisabled}set cameraCaptureDisabled(e){this._cameraCaptureDisabled=e}setAudioMuted(e){this.cameraStreamInfo.setAudioMuted(e)}get isAudioMuted(){return this.cameraStreamInfo.isAudioMuted}setCameraMuted(e){this.cameraStreamInfo.setVideoMuted(e)}get isCameraMuted(){return this.cameraStreamInfo.isVideoMuted}setScreenMuted(e){this.screenStreamInfo.setVideoMuted(e)}get isScreenMuted(){return this.screenStreamInfo.isVideoMuted}get publishLocalAudioStreamEnabled(){return this._publishLocalAudioStreamEnabled}set publishLocalAudioStreamEnabled(e){this._publishLocalAudioStreamEnabled=e}get publishLocalVideoStreamEnabled(){return this._publishLocalVideoStreamEnabled}set publishLocalVideoStreamEnabled(e){this._publishLocalVideoStreamEnabled=e}get publishLocalScreenStreamEnabled(){return this._publishLocalScreenStreamEnabled}set publishLocalScreenStreamEnabled(e){this._publishLocalScreenStreamEnabled=e}updateStreams(){return O(this,null,function*(){yield this.cameraStreamInfo.process(this.streamInfos),yield this.screenStreamInfo.process(this.streamInfos),this.emit("publishupdate")})}setAvailableCameraDeviceId(){return O(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.cameraVideoConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.cameraVideoConstraints)==null?void 0:t.deviceId;const a=yield pe.AliRTS.getCameraList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.cameraVideoConstraints.deviceId=n}})}setAvailableMicrophoneDeviceId(){return O(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.micAudioConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.micAudioConstraints)==null?void 0:t.deviceId;const a=yield pe.AliRTS.getMicList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.micAudioConstraints.deviceId=n}})}createLocalStream(e){return O(this,null,function*(){var g;const{screen:t,mediaStream:i,videoProfile:r,screenProfile:n}=e;let{video:a,audio:o}=e;const u=C0(e);let h;if(u){i||(a===!0&&this.cameraStreamInfo.cameraVideoConstraints?(yield this.setAvailableCameraDeviceId(),a=be({},this.cameraStreamInfo.cameraVideoConstraints)):typeof a=="object"&&(yield this.setAvailableCameraDeviceId(),a=be(be({},a),this.cameraStreamInfo.cameraVideoConstraints)),o===void 0&&this.audioCaptureDisabled?o=!1:o&&(o===!0&&this.cameraStreamInfo.micAudioConstraints?(yield this.setAvailableMicrophoneDeviceId(),o=be({},this.cameraStreamInfo.micAudioConstraints)):typeof o=="object"&&(yield this.setAvailableMicrophoneDeviceId(),o=be(be({},o),this.cameraStreamInfo.micAudioConstraints)),this._audioCaptureDisabled=!1));const f=Date.now();try{h=yield pe.AliRTS.createStream({audio:o,video:a,screen:t,custom:!!i,mediaStream:i,skipProfile:!0}),o&&!i&&this.slsReporter.reportAudio(null,Date.now()-f,((g=h==null?void 0:h.audioTrack)==null?void 0:g.label)||""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f)}catch(l){throw o&&!i&&this.slsReporter.reportAudio(l,Date.now()-f,""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f),l}if(t)yield this.screenStreamInfo.updateSource(h,ni.Screen,Pi.Screen),yield this.setScreenProfile(n),this.setScreenContentHint(),this.publishingScreenVideoStream=void 0;else if(yield this.cameraStreamInfo.updateSource(h,ni.Camera,Pi.Microphone),h.hasVideo&&(yield this.setVideoProfile(r),this.setVideoContentHint(),this.publishingCameraVideoStream=void 0),h.hasAudio&&typeof o=="boolean"){const l=this.cameraStreamInfo.audioProfile;l&&(yield h.setAudioProfile(l))}}return pe.AliRTS.SystenUtil.isIos&&pe.AliRTS.SystenUtil.compareVersion("15.1")&&!pe.AliRTS.SystenUtil.compareVersion("15.2")&&(yield Nt(1e3)),yield this.updateStreams(),h})}stopLocalStream(e){return O(this,null,function*(){const{screen:t,video:i,audio:r}=e!=null?e:{};let n=!1;i&&this.cameraStreamInfo.originVideoTrack&&(n=!0,this.cameraStreamInfo.stopVideo(),this.publishingCameraVideoStream=void 0),r&&this.cameraStreamInfo.originAudioTrack&&(n=!0,this.cameraStreamInfo.stopAudio()),t&&this.screenStreamInfo.originVideoTrack&&(n=!0,this.screenStreamInfo.stop(),this.publishingScreenVideoStream=void 0,this.slsReporter.reportScreenStop(null)),n&&(yield this.updateStreams())})}get publishStreams(){const{publishLocalVideoStreamEnabled:e,publishLocalAudioStreamEnabled:t,publishLocalScreenStreamEnabled:i}=this;return{video:e?this.cameraStreamInfo.publishVideoStream:void 0,videoSmall:e?this.cameraStreamInfo.publishDualVideoStream:void 0,audio:t?this.cameraStreamInfo.publishAudioStream:void 0,screen:i?this.screenStreamInfo.publishVideoStream:void 0}}createHTTPPublishStream(){return O(this,null,function*(){var o,u,h,g;let e,t=!1,i,r,n;const a=yield this.publishStreams;try{if(!a.audio&&!a.video&&!a.videoSmall&&!a.screen)throw ae.error(`[${ri.logName}]`,"no tracks founded"),new Y(te.ERR_SDK_PUBLISH_INVAILD,"no tracks founded");const f=new MediaStream;(o=a.audio)!=null&&o.audioTrack&&f.addTrack(a.audio.audioTrack),(u=a.video)!=null&&u.videoTrack?(f.addTrack(a.video.videoTrack),r=a.videoSmall,n=a.screen):(h=a.screen)!=null&&h.videoTrack&&(i=G.Screen,f.addTrack((g=a.screen)==null?void 0:g.videoTrack),t=!0),e=yield Oa(f),t?(this.screenStreamInfo.cloneVideoProfile(e),this.publishingScreenVideoStream=e):(this.cameraStreamInfo.cloneVideoProfile(e),this.publishingCameraVideoStream=e)}catch(f){}return{publishStream:e,videoSmallStream:r,screenStream:n,vMsid:i}})}stop(){this.cameraStreamInfo.stop(),this.screenStreamInfo.stop(),this.updateStreams()}setVideoProfile(e,t){return O(this,null,function*(){yield this.cameraStreamInfo.updateVideoProfile(e,t),this.publishingCameraVideoStream&&this.cameraStreamInfo.cloneVideoProfile(this.publishingCameraVideoStream)})}setVideoContentHint(e){this.cameraStreamInfo.setVideoContentHint(e)}setAudioProfile(e){return O(this,null,function*(){var t;yield this.cameraStreamInfo.updateAudioProfile(e),yield(t=this.publishingCameraVideoStream)==null?void 0:t.setAudioProfile(e)})}setScreenProfile(e,t){return O(this,null,function*(){yield this.screenStreamInfo.updateVideoProfile(e,t),this.publishingScreenVideoStream&&this.screenStreamInfo.cloneVideoProfile(this.publishingScreenVideoStream)})}setScreenContentHint(e){this.screenStreamInfo.setVideoContentHint(e)}setCameraVideoConstraints(e){var t;this.cameraStreamInfo.cameraVideoConstraints=be(be({},(t=this.cameraStreamInfo.cameraVideoConstraints)!=null?t:{}),e)}setMicAudioConstraints(e){var t;this.cameraStreamInfo.micAudioConstraints=be(be({},(t=this.cameraStreamInfo.micAudioConstraints)!=null?t:{}),e)}},_(ri,"logName","LocalStreamManager"),ri);_t([j(([s])=>{const{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}=s;return[{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}]})],xt.prototype,"createLocalStream",1),_t([j(ne)],xt.prototype,"stopLocalStream",1),_t([j()],xt.prototype,"createHTTPPublishStream",1),_t([j()],xt.prototype,"stop",1),_t([j(ne)],xt.prototype,"setVideoProfile",1),_t([j(ne)],xt.prototype,"setVideoContentHint",1),_t([j(ne)],xt.prototype,"setAudioProfile",1),_t([j(ne)],xt.prototype,"setScreenProfile",1),_t([j(ne)],xt.prototype,"setScreenContentHint",1),_t([j(ne)],xt.prototype,"setCameraVideoConstraints",1),_t([j(ne)],xt.prototype,"setMicAudioConstraints",1);let K0=xt;class $0 extends Zt{constructor(){super("AliRtcScreenStandardize",We.AliRtcSdkStreamTypeScreen);_(this,"canvas");_(this,"lastWidth");_(this,"lastHeight");_(this,"hasScreenTrack",!1)}get initOptions(){return{base:4}}setOptions(e){this.options=e}isSupported(){return!(typeof TransformStream=="undefined"||typeof MediaStreamTrackProcessor=="undefined"||typeof MediaStreamTrackGenerator=="undefined")}updateProcessCanvas(e,t){if(this.canvas&&this.lastWidth===e&&this.lastHeight===t)return;const i=Math.ceil(e/this.options.base)*this.options.base,r=Math.ceil(t/this.options.base)*this.options.base;if(this.canvas||(this.canvas=document.createElement("canvas")),this.canvas.width=i,this.canvas.height=r,this.lastWidth&&e>this.lastWidth||this.lastHeight&&t>this.lastHeight){const n=this.canvas.getContext("2d");n&&n.clearRect(0,0,i,r)}this.lastWidth=e,this.lastHeight=t}shouldUpdate(e){return this.hasScreenTrack!==(!!e.originVideoTrack&&e.videoSource===ni.Screen)}handleFrame(e,t){return O(this,null,function*(){var a;const{displayWidth:i,displayHeight:r}=e;if(!i||!r||i%this.options.base===0&&r%this.options.base===0)return this.clear(t),e;this.updateProcessCanvas(i,r);const n=(a=this.canvas)==null?void 0:a.getContext("2d");if(this.canvas&&n){n.drawImage(e,0,0,i,r);const o=new VideoFrame(this.canvas,{timestamp:e.timestamp});return e.close(),o}return e})}process(e){return O(this,null,function*(){var h;if(!e.originVideoTrack||e.videoSource!==ni.Screen){this.clear(e),this.hasScreenTrack=!1;return}const t=new MediaStreamTrackProcessor({track:e.originVideoTrack}),i=new MediaStreamTrackGenerator({kind:"video"}),r=new MediaStream([i]),n=this,a=new TransformStream({transform(g,f){return O(this,null,function*(){const l=yield n.handleFrame(g,e);yield f.enqueue(l),l==null||l.close()})}});t.readable.pipeThrough(a).pipeTo(i.writable);const o=(h=r.getVideoTracks())==null?void 0:h[0];e.updateVideoTrack(o),this.hasScreenTrack=!0})}clear(e){this.canvas=void 0,this.lastWidth=void 0,this.lastHeight=void 0,super.clear(e)}}class q0 extends Zt{constructor(){super("blankAudio",We.AliRtcSdkStreamTypeCapture,xi.BOTH);_(this,"hasTrack",!1);_(this,"oscillator",null);_(this,"audioTrack",null);_(this,"createAudioTrack",()=>{const e=new AudioContext;this.oscillator=e.createOscillator();const t=e.createGain();t.gain.value=0;const i=e.createMediaStreamDestination();this.oscillator.connect(t),t.connect(i),this.oscillator.start();const r=i.stream;return this.audioTrack=r.getAudioTracks()[0],this.audioTrack});this.zIndex=9}isSupported(){return!0}setOptions(){throw new Error("Method not implemented.")}shouldUpdate(e,t){return this.hasTrack!==t.some(i=>i.originVideoTrack||i.originAudioTrack)}process(e,t){return O(this,null,function*(){var r;const i=t.some(n=>n.originVideoTrack||n.originAudioTrack);this.hasTrack=i,i?this.audioTrack&&((r=this.oscillator)==null||r.stop(),this.oscillator=null,this.audioTrack.stop(),this.audioTrack=null):(this.audioTrack||(this.audioTrack=this.createAudioTrack()),e.updateAudioTrack(this.audioTrack))})}}class Ha{constructor(c){_(this,"name","COMMON");this.name=c||this.name}info(...c){}warn(...c){}print(c,...e){const t=c.toLowerCase();t&&console[t](`[${c}][${this.name}]`,...e)}}_(Ha,"LEVEL",0);class G0{constructor(){_(this,"logger",new Ha("AudioMixer"));_(this,"audioContext",new AudioContext);_(this,"audioDestination",this.audioContext.createMediaStreamDestination());_(this,"audioTrack",_0(this.audioDestination.stream));_(this,"sourceNodeMap",{})}get sourceNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.sourceNode).filter(c=>!!c)}get gainNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.gainNode).filter(c=>!!c)}get sourceCount(){return this.sourceNodeList.length}resume(){var c;return(c=this.audioContext)==null?void 0:c.resume()}addTrack(c){this.connectTrack(c)}hasTrack(c){return!!this.sourceNodeMap[c]}removeTrack(c){const{sourceNode:e,gainNode:t}=this.sourceNodeMap[c]||{};t==null||t.disconnect(),e==null||e.disconnect(),delete this.sourceNodeMap[c],e?this.logger.info("SourceNode disconnected. Active source node:",this.sourceNodeList.length):this.logger.warn(`SourceNode ${c} does not exit. Active source node: ${this.sourceNodeList.length}`)}getAudioTrack(){return this.audioTrack}setVolume(c,e){const{gainNode:t}=this.sourceNodeMap[e]||{};t?(this.logger.info(`Setting node(${e}) volume to ${this.scale(c)}`),t.gain.value=this.scale(c)):this.logger.warn(`GainNode ${e} does not exit.`)}reset(){this.disconnectSourceNode(),this.sourceNodeMap={}}dispose(){var c;this.reset(),(c=this.audioTrack)==null||c.stop(),this.audioDestination.disconnect(),this.audioContext.close()}connectTrack(c){if(!this.audioContext)return this.logger.warn("AudioContext not initialized");let e=new MediaStream;e.addTrack(c);const t=this.audioContext.createMediaStreamSource(e),i=this.audioContext.createGain();i.gain.value=1,t.connect(i),i.connect(this.audioDestination),this.sourceNodeMap[c.id]={track:c,sourceNode:t,gainNode:i},this.logger.info("New sourceNode connected. Active source node:",this.sourceNodeList.length)}disconnectSourceNode(){this.sourceNodeList.forEach(c=>c.disconnect()),this.gainNodeList.forEach(c=>c.disconnect())}scale(c){return c/100}}const J0=4;class X0 extends Zt{constructor(){super("audioMixer",We.AliRtcSdkStreamTypeCapture,xi.AUDIO);_(this,"audioMixer");_(this,"primaryAudioTrackId");_(this,"screenAudioTrackId");_(this,"dirty",!1);this.zIndex=8}get initOptions(){return{audio:1,screen:1}}setOptions(e){Object.entries(e).forEach(([t,i])=>{this.isValidVolume(i)&&(this.options[t]=i)}),this.dirty=!0,this.emit("updated")}isSupported(){return"AudioContext"in window}shouldUpdate(e,t){var n,a;if(e.type!==We.AliRtcSdkStreamTypeCapture)return!1;const i=t.find(o=>o.type===We.AliRtcSdkStreamTypeCapture),r=t.find(o=>o.type===We.AliRtcSdkStreamTypeScreen);return!(this.primaryAudioTrackId===((n=i==null?void 0:i.currentAudioTrack)==null?void 0:n.id)&&this.screenAudioTrackId===((a=r==null?void 0:r.currentAudioTrack)==null?void 0:a.id)&&!this.dirty)}process(e,t){return O(this,null,function*(){var a,o;this.dirty=!1;const i=t.find(u=>u.type===We.AliRtcSdkStreamTypeScreen),r=e.currentAudioTrack,n=i==null?void 0:i.currentAudioTrack;if(!n&&this.options.audio===1){this.audioMixer&&(this.audioMixer.dispose(),this.audioMixer=void 0),this.primaryAudioTrackId=r==null?void 0:r.id,e.updateAudioTrack(r);return}this.audioMixer||(this.audioMixer=new G0),yield this.audioMixer.resume(),this.primaryAudioTrackId&&(r==null?void 0:r.id)!==this.primaryAudioTrackId&&((a=this.audioMixer)==null||a.removeTrack(this.primaryAudioTrackId)),r&&!this.audioMixer.hasTrack(r==null?void 0:r.id)&&this.audioMixer.addTrack(r),this.primaryAudioTrackId=r==null?void 0:r.id,this.screenAudioTrackId&&(n==null?void 0:n.id)!==this.screenAudioTrackId&&((o=this.audioMixer)==null||o.removeTrack(this.screenAudioTrackId)),n&&!this.audioMixer.hasTrack(n==null?void 0:n.id)&&this.audioMixer.addTrack(n),this.screenAudioTrackId=n==null?void 0:n.id,this.updateVolume(),e.updateAudioTrack(this.audioMixer.getAudioTrack())})}isValidVolume(e){return e!==void 0&&e>=0&&e<=J0}updateVolume(){this.audioMixer&&(this.primaryAudioTrackId&&this.audioMixer.setVolume(this.options.audio*100,this.primaryAudioTrackId),this.screenAudioTrackId&&this.audioMixer.setVolume(this.options.screen*100,this.screenAudioTrackId))}clear(e){var t;(t=this.audioMixer)==null||t.dispose(),super.clear(e)}}class Ts{constructor(c,e){_(this,"originTrack");_(this,"originVideo");_(this,"targetWidth");_(this,"targetHeight");_(this,"targetFrameRate");_(this,"targetCanvas");_(this,"animationFrameId");_(this,"resultTrack");this.targetWidth=e.width,this.targetHeight=e.height,this.targetFrameRate=e.frameRate,this.originTrack=c,this.originVideo=document.createElement("video"),this.originVideo.muted=!0,this.originVideo.autoplay=!0,this.originVideo.controls=!1,this.targetCanvas=document.createElement("canvas"),this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight}updateOptions(c){this.targetWidth=c.width,this.targetHeight=c.height,this.targetFrameRate=c.frameRate,this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight,this.resultTrack&&this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})}dispose(){}getVideoTrack(){return this.resultTrack||(this.resultTrack=this.targetCanvas.captureStream().getVideoTracks()[0],this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})),this.resultTrack}cancelAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}getPositionAndSize(c,e,t,i){const r=e/c,n=i/t;let a=t,o=i,u=0,h=0;return n>r?(a=Math.round(o/r),u=Math.round((t-a)/2)):n<r&&(o=Math.round(a*r),h=Math.round((i-o)/2)),{x:u,y:h,width:a,height:o}}}class Z0 extends Ts{constructor(e,t){super(e,t);_(this,"targetCtx");this.targetCtx=this.targetCanvas.getContext("2d"),this.startRender=this.startRender.bind(this),this.stopRender=this.startRender.bind(this),this.initStream(e)}initStream(e){const t=new MediaStream;t.addTrack(e),this.originVideo.srcObject=t,this.originVideo.play(),this.originVideo.addEventListener("canplay",this.startRender),this.originVideo.addEventListener("pause",this.stopRender),this.originVideo.addEventListener("ended",this.stopRender)}startRender(){this.cancelAnimation();const e=()=>{if(!this.targetCtx)return;const t=this.getPositionAndSize(this.originVideo.videoWidth,this.originVideo.videoHeight,this.targetWidth,this.targetHeight);this.targetCtx.drawImage(this.originVideo,0,0,this.originVideo.videoWidth,this.originVideo.videoHeight,t.x,t.y,t.width,t.height),!this.originVideo.paused&&!this.originVideo.ended&&(this.animationFrameId=requestAnimationFrame(e))};e()}stopRender(){this.cancelAnimation()}dispose(){this.stopRender(),this.originVideo.removeEventListener("play",this.startRender),this.originVideo.removeEventListener("pause",this.stopRender),this.originVideo.removeEventListener("ended",this.stopRender),this.originVideo.pause(),this.originVideo.srcObject=null}}const Y0=`
39
+ `+e)}}return null})}var $c=(s,c,e)=>new Promise((t,i)=>{var r=o=>{try{a(e.next(o))}catch(u){i(u)}},n=o=>{try{a(e.throw(o))}catch(u){i(u)}},a=o=>o.done?t(o.value):Promise.resolve(o.value).then(r,n);a((e=e.apply(s,c)).next())});function xa(s){return{transString:function(c){let e={},t=0,i=!1;for(let r in c){if((r==="time"||r==="__time__")&&typeof c[r]=="number"){t=c[r],i=!0;continue}typeof c[r]=="object"?e[r]=JSON.stringify(c[r]):e[r]=String(c[r])}return e.__time__=i?t:Math.floor(new Date().getTime()/1e3),e},process:function(c,e){return $c(this,null,function*(){yield Kc(s);let t=c.slice(c.indexOf("/logstores")),i=e.length,r=zc(e),n=new Date().toUTCString(),a=new Map,o=new Map([["Content-Type","application/json"],["Content-MD5",r],["x-log-bodyrawsize",i.toString()]]);s.securityToken&&o.set("x-acs-security-token",s.securityToken),jc("POST",t,s.accessKeyId,s.accessKeySecret,a,o,r,n);let u=Object.fromEntries(o);return{data:e,header:u}})}}}typeof window!="undefined"&&ga(window,"stsPlugin",xa);const{BrowserUtil:qc}=fe.AliRTS,ai={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Gecko:"Gecko",WebKit:"WebKit"},Vi=(s,c)=>{const e=c.match(s);return e&&e.length>0&&e[1]||""},Gc=[{test:[/\sedg\//i,[/edg([ea]|ios)/i]],describe(s){if(/\sedg\//i.test(s))return{name:ai.Blink};const e=Vi(/edge\/(\d+(\.?_?\d+)+)/i,s);return{name:ai.EdgeHTML,version:e}}},{test:[/trident/i],describe(s){const c={name:ai.Trident},e=Vi(/trident\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test(s){const c=/gecko/i.test(s),e=/like gecko/i.test(s);return c&&!e},describe(s){const c={name:ai.Gecko},e=Vi(/gecko\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:ai.Blink}}},{test:[/(apple)?webkit/i],describe(s){const c={name:ai.WebKit},e=Vi(/webkit\/(\d+(\.?_?\d+)+)/i,s);return e&&(c.version=e),c}}],us=(s,c)=>s.find(e=>{if(typeof e.test=="function")return e.test(c);if(Array.isArray(e.test))return e.test.some(t=>typeof t=="string"?c.indexOf(t)>-1:t instanceof RegExp?t.test(c):!1)}),Jc=()=>{try{const s=navigator.userAgent||"",c=us(Gc,s);if(c){const e=c.describe(s);return`${e.name}/${e.version||qc.browserVersion}`}}catch(s){}return navigator.userAgent},Xc=[{test:["wow64","win64","x64"],describe(){return"amd64"}},{test:["i686","x86"],describe(){return"x86"}},{test:["aarch64","arm64"],describe(){return"arm64"}},{test:["arm"],describe(){return"arm"}}],Zc=()=>{let s="unknown";try{const c=navigator.userAgent||"",e=us(Xc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},Yc=[{test:[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],describe(){return"Samsung"}},{test:[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i,/\((ipad);[-\w\),; ]+apple/i,/(macintosh);/i],describe(){return"Apple"}},{test:[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],describe(){return"Huawei"}},{test:[/(?:honor)([-\w ]+)[;\)]/i],describe(){return"Honor"}},{test:[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],describe(){return"Xiaomi"}},{test:[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],describe(){return"Oppo"}},{test:[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],describe(){return"Vivo"}},{test:[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],describe(){return"Realme"}},{test:[/(pixel c)\b/i,/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],describe(){return"Google"}},{test:[/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],describe(){return"ZTE"}},{test:[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],describe(){return"Meizu"}}],Qc=()=>{let s="Unknown";try{const c=navigator.userAgent||"",e=us(Yc,c);if(!e)return s;s=e.describe(c)}catch(c){}return s},{BrowserUtil:hs,SystenUtil:Sa}=fe.AliRTS;class _a{constructor(){_(this,"tracker");_(this,"param");_(this,"msgCacheArr",[]);_(this,"index",0);_(this,"stsOpt");_(this,"slsToken");_(this,"ossToken")}createTracker(){if(!this.tracker&&this.slsToken&&this.param){const c=this.slsToken;this.ossToken&&(this.param.ossbn=this.ossToken.bucket_name,this.param.ossep=this.ossToken.region_endpoint);const e=new ba({host:c.region_endpoint,project:c.project,logstore:c.log_store_stats}),t={accessKeyId:c.access_key_id,accessKeySecret:c.access_key_secret,securityToken:c.security_token,refreshSTSToken:()=>{this.slsToken&&(t.accessKeyId=this.slsToken.access_key_id,t.accessKeySecret=this.slsToken.access_key_secret,t.securityToken=this.slsToken.security_token)}};this.stsOpt=t;const i=xa(t);e.useStsPlugin(i),this.tracker=e,this.msgCacheArr.forEach((r,n)=>{var a,o;(o=this.tracker)==null||o.send(be(Rt(be({},this.param),{stat_log_id:`${((a=this.param)==null?void 0:a.sesid)||"nosession"}-${n}`}),r))}),this.index=this.index+this.msgCacheArr.length,this.msgCacheArr=[]}}start(c){this.initParam(c),this.createTracker()}updateToken(c,e){this.slsToken=c,this.ossToken=e,this.createTracker()}stop(){this.tracker=void 0}sendReport(c){var t,i;c.tm=Date.now();let e;try{e=JSON.parse(JSON.stringify(be(Rt(be({bt:hs.browserName||"unknown"},this.param),{stat_log_id:`${((t=this.param)==null?void 0:t.sesid)||"nosession"}-${this.index}`}),c)))}catch(r){}if(e){if(!this.tracker){this.msgCacheArr.push(e);return}(i=this.tracker)==null||i.send(e),this.index++}}initParam(c){let e=localStorage==null?void 0:localStorage.getItem("AliRtcUUID");e||(e=Kt(),localStorage==null||localStorage.setItem("AliRtcUUID",e)),this.param||(this.param={apid:c.appId,usrid:c.userId,statsvrs:"0.6.1",evetid:0,sesid:c.sessionId,sessionId:c.sessionId,channelid:c.channelId,usrn:c.userId,osn:Sa.systemName,osv:Sa.systemVersion,deb:Qc(),den:Jc(),udid:e,sdkvrs:mr,acs:"Unknown",cput:Zc(),dm:`${window.location.protocol}//${window.location.host}`,bt:hs.browserName,bv:hs.browserVersion,envir:"PRODUCT",args:""})}}const Le=(s,c=1,e=6e4,t=0)=>{let i=s;return i||(i=0),Math.min(e,Math.max(t,Math.round(i*c)))},vt=(s,c,e=2e7,t=0)=>{let i=c;(!c||c<0||c>1e4)&&(i=1e3);let r=s;return r||(r=0),Math.min(e,Math.max(t,Math.round(r/(i/1e3))))},Jt=(s,c)=>{if(c===0||!c)return"0.00";let e=s;return(!e||e<0)&&(e=0),(e/c*100).toFixed(2)},ya=s=>s>=0&&s<=1?Le(Math.floor(32767*s),1,32767):0,Me=(s,c)=>{var t,i,r;let e=((t=s._last)==null?void 0:t[c])||0;return s.ssrc&&((i=s._last)!=null&&i.ssrc)&&s.ssrc!==((r=s._last)==null?void 0:r.ssrc)&&(e=0),((s==null?void 0:s[c])||0)-e},e0=(s,c)=>{var e,t,i;return(((e=s==null?void 0:s._source)==null?void 0:e[c])||0)-(((i=(t=s==null?void 0:s._last)==null?void 0:t._source)==null?void 0:i[c])||0)},Aa=(s,c)=>Le(Me(s,c),1e3,1e4),Xt=(s,c=2e7)=>Le(s,1,c),Ti=class Ti{constructor(c){_(this,"engine");_(this,"logClient");_(this,"authInfo");this.logClient=new _a,this.engine=c}static getLogClient(){return this.staticClient||(this.staticClient=new _a),this.staticClient}static reportOSSUpload(c,e,t=0){Ti.getLogClient().sendReport({errmsg:`${e}/${c}.log`,errtype:t,evetid:70017,sesid:c,sessionId:c,stat_log_id:`${c}-70017`})}start(c){this.authInfo=c,this.logClient.start(c)}updateToken(c,e){this.logClient.updateToken(c,e),Ti.getLogClient().updateToken(c,e)}stop(){this.logClient.stop()}reportPublishMonitor(c,e,t,i,r){if(!t||r.length<=0)return;const n=t===G.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],y=[],E=[],I=[],w=[],R=[],L=[],D=[];try{if(r.forEach(N=>{var z,F,K,Q,ge,ce;if(!N||!N.timestamp)return;const C=(z=N._last)!=null&&z.timestamp?N.timestamp-N._last.timestamp:1e3,M=Me(N,"bytesSent"),A=Me(N,"headerBytesSent"),U=vt(Le(M+A,8,2e7),C);o.push(U);const ie=vt(Le(M,8,2e7),C);u.push(ie);const q=vt(Le(A,8,2e7),C);h.push(q);const oe=Me(N,"packetsSent"),$=vt(oe,C);g.push($);const se=Me(N,"packetsLost"),k=vt(se,C);f.push(k);const P=Jt(se,oe);if(l.push(P),n)(F=N._source)!=null&&F.audioLevel&&p.push(ya(N._source.audioLevel)),d.push(0);else{m.push(Aa(N,"totalEncodeTime")),b.push(Xt((K=N._source)==null?void 0:K.framesPerSecond,100)),v.push(Xt((Q=N._source)==null?void 0:Q.framesPerSecond,100)),x.push(Xt(N.framesPerSecond,100)),y.push(Xt((ge=N._source)==null?void 0:ge.height,4400)),E.push(Xt((ce=N._source)==null?void 0:ce.width,7700)),I.push(Xt(N.frameHeight,4400)),w.push(Xt(N.frameWidth,7700));const Se=Me(N,"totalPacketSendDelay");R.push(Le(Se,1/(se||1),2e3));const De=Me(N,"qpSum");L.push(Le(De,1/(N.framesPerSecond||1),51)),D.push(0)}}),a.sbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.ps=g.join(","),a.pl=f.join(","),a.plr=l.join(","),n){const N=(i==null?void 0:i.getSettings().sampleRate)||0;a.ailevel=p.join(","),a.arpc=d.join(","),a.arsr=N,a.aesr=N,a.publevel=-90,a.rawlevel=-90}else a.em=m.join(","),a.cfps=b.join(","),a.ifps=v.join(","),a.sfps=x.join(","),a.ih=y.join(","),a.iw=E.join(","),a.sh=I.join(","),a.sw=w.join(","),a.sd=R.join(","),a.aqp=L.join(","),a.caf=D.join(","),a.can=D.join(","),a.cav=u.join(","),a.ifimax=D.join(","),a.ifimin=D.join(","),a.efimax=D.join(","),a.efimin=D.join(","),a.sfimax=D.join(","),a.sfimin=D.join(","),a.apsnr=D.join(",")}catch(N){}this.log({evetid:10070,traceid:e,calid:c,args:this.data2String(be({calid:c,tckid:t,traceid:e},a))})}reportSubscribeMonitor(c,e,t,i,r){if(!i||!r||r.length<=0)return;const n=i===G.Audio,a={ctm:Math.floor(r[0].timestamp||0),src:r[0].ssrc||"",codec:r[0]._codec||""},o=[],u=[],h=[],g=[],f=[],l=[],p=[],d=[],m=[],b=[],v=[],x=[],y=[],E=[],I=[],w=[],R=[],L=[],D=[],N=[],C=[],M=[],A=[],U=[],ie=[],q=[],oe=[],$=[],se=[],k=[],P=[],z=[],F=[],K=[];try{r.forEach(Q=>{var ee,le;if(!Q||!Q.timestamp)return;const ge=(ee=Q._last)!=null&&ee.timestamp?Q.timestamp-Q._last.timestamp:1e3,ce=Me(Q,"bytesReceived"),Se=Me(Q,"headerBytesReceived"),De=vt(Le(ce+Se,8,2e7),ge);o.push(De);const Ie=vt(Le(ce,8,2e7),ge);u.push(Ie);const Ue=vt(Le(Se,8,2e7),ge);h.push(Ue);const Te=Me(Q,"packetsReceived"),S=vt(Te,ge);g.push(S);const J=Me(Q,"packetsLost"),W=vt(J,ge);f.push(W);const B=Jt(J,Te);l.push(B);const T=Me(Q,"jitterBufferDelay"),V=Me(Q,"jitterBufferEmittedCount");if(Q.jitterBufferDelay&&Q.jitterBufferEmittedCount){const re=Le(T,1e3/V,1e4);p.push(re)}else p.push(0);const Z=Me(Q,"fecPacketsReceived");x.push(Jt(Z,Te));const X=Me(Q,"retransmittedPacketsReceived"),H=Te+J-X;if(m.push(Jt(Te-X,H)),b.push(Jt(J,H)),d.push(Jt(X,H)),v.push(H),F.push(0),K.push(""),n){E.push(ya(Q.audioLevel));const re=e0(Q,"synthesizedSamplesEvents");I.push(re);const me=Aa(Q,"synthesizedSamplesDuration");w.push(me);const we=Jt(me,ge);y.push(we),R.push(0)}else{const re=(le=Q._last)!=null&&le.totalInterFrameDelay?Q.totalInterFrameDelay-Q._last.totalInterFrameDelay:0;L.push(Le(re,1e3/(Q.framesDecoded||30),500)),D.push(Le(Q.framesPerSecond,1,100)),N.push(Me(Q,"framesReceived")),z.push(Me(Q,"framesRendered")),C.push(Le(Q.frameHeight,1,4400)),M.push(Le(Q.frameWidth,1,7700));const me=Me(Q,"totalProcessingDelay");A.push(Le(me,1e3/(Q.framesDecoded||30),12e4));const we=Me(Q,"nackCount");ie.push(we);const ye=Me(Q,"pliCount");U.push(ye);const Qe=Me(Q,"qpSum");q.push(Le(Qe,1/(Q.framesPerSecond||1),51)),oe.push(Le(Q.framesDropped));const Ct=Me(Q,"totalFreezesDuration");$.push(Le(Ct,1e3,3e4));const Fe=Me(Q,"jitterBufferEmittedCount"),ut=Me(Q,"jitterBufferDelay");ut&&Fe?se.push(Le(ut,1e3/Fe,3e4)):se.push(0);const Ne=Me(Q,"jitterBufferTargetDelay");Ne&&Fe?k.push(Le(Ne,1e3/Fe,3e4)):k.push(0);const It=Me(Q,"jitterBufferMinimumDelay");It&&Fe?P.push(Le(It,1e3/Fe,3e4)):P.push(0)}}),a.rbr=o.join(","),a.mbrs=u.join(","),a.pbrs=h.join(","),a.pr=g.join(","),a.pl=f.join(","),a.plr=l.join(","),a.jd=p.join(","),a.fecr=x.join(","),a.retransr=d.join(","),a.baser=m.join(","),a.basel=b.join(","),a.recoverr=F.join(","),a.alll=b.join(","),a.totalc=v.join(","),n?(a.er=y.join(","),a.aolevel=E.join(","),a.asrc=R.join(","),a.scnt=I.join(","),a.sdura=w.join(",")):(a.dm=L.join(","),a.dfps=D.join(","),a.rfps=N.join(","),a.rh=C.join(","),a.rw=M.join(","),a.fpt=K.join(","),a.ns=ie.join(","),a.pliss=U.join(","),a.aqp=q.join(","),a.ofimax=F.join(","),a.ofimin=F.join(","),a.dfimax=F.join(","),a.dfimin=F.join(","),a.rfimax=F.join(","),a.rfimin=F.join(","),a.vrstutter=$.join(","),a.cdm=se.join(","),a.tdm=k.join(","),a.pdm=P.join(","),a.ofps=z.join(","),a.dfbd=oe.join(","))}catch(Q){}this.log({evetid:10080,traceid:t,rmtid:e,calid:c,args:this.data2String(be({calid:c,rmtid:e,tckid:i,traceid:t},a))})}reportNetworkMonitor(c){if(c.length<=0)return;const e=[],t=[],i=[],r=[],n=[],a=[],o=[],u=[],h=[],g=[];c.forEach((l,p)=>{var m;if(!l.timestamp)return;const d=(m=l._last)!=null&&m.timestamp?l.timestamp-l._last.timestamp:1e3;e.push(Le(l.currentRoundTripTime,1e3)),t.push(Le(l.availableOutgoingBitrate,8,2e8)),i.push(vt(Le(l.bytesSent,8,2e7),d,25e6)),r.push(vt(Le(l.bytesReceived,8,2e7),d,25e6)),n.push(0),a.push(0),p%5===0&&(o.push(""),u.push(""),h.push(""),g.push(""))});const f={ctm:Math.floor(c[0].timestamp||0),rtt:e.join(","),bsps:i.join(","),brps:r.join(","),cpu:o.join(","),mem:u.join(","),sysmem:h.join(","),systotalmem:g.join(","),audioonly:this.engine.isAudioOnly()?1:0};this.log({evetid:10071,args:this.data2String(be({asb:t.join(","),abms:n.join(","),vbms:a.join(",")},f))}),this.log({evetid:10081,args:this.data2String(be({},f))})}reportJoin(c,e,t=""){var g,f;const{start:i,rs:r=0,re:n=0}=e,a=Date.now()-i,o=n-r;let u=0;r&&(u=r-i);let h=0;n&&(h=n-r),this.log({evetid:10010,args:this.data2String({sesid:((g=this.authInfo)==null?void 0:g.sessionId)||"",joitm:a,rslt:c,gslbtm:0,dnstm:0,avcftm:0,gslbrslt:0,dnsrslt:0,avcfrslt:0,mode:2,jrtc:o,usrn:(f=this.authInfo)==null?void 0:f.userId,mgt:"cdn",cttc:u,iptc:h,ndn:1,gslbloc:1,ccag:0,ucag:0,cpg:0,upg:0,tid:t})})}reportJoinConnection(c){this.log({evetid:20002,args:this.data2String(be({transretrynum:0,ldnstc:0,tcptc:0,ssltc:0,url:""},c))})}reportLeave(c,e,t){this.log({evetid:10020,args:this.data2String({lvetm:c,rslt:e,tid:t})})}reportPublish(c,e,t,i,r,n,a,o,u,h,g){this.log({evetid:c?10032:10030,calid:t,args:this.data2String({calid:t,url:e,isvl:i?1:0,isvs:r?1:0,isvss:n?1:0,isaudio:a?1:0,rslt:o,tid:"123",pubtm:Date.now()-g,pctid:u,pubtid:h,isvp:0,isarecording:0,isad:0,isdc:0,pubretry:0,pbrttimes:0})})}reportPublishFirstPacket(c,e,t,i,r,n,a,o,u){const h=Date.now();this.log({evetid:c?10033:10031,calid:e,args:this.data2String({calid:e,fpst:h-t,tckid:n,est:t,pctid:a,pubtid:o,totaltm:h-r,jorm:u===Bt.JOIN_CHANNEL?1:0,cptc:0,sptc:i-t,iptc:0,ipc2fptc:0,dctc:0,patc:0})})}reportUnpublish(c,e,t,i){var r;this.log({evetid:10040,args:this.data2String({calid:c,unpubtm:e,rslt:t,tid:i,sesid:((r=this.authInfo)==null?void 0:r.sessionId)||""})})}reportSubscribe(c,e,t,i,r,n,a,o,u,h){this.log({evetid:10050,calid:c,rmtid:e,args:this.data2String(be({calid:c,rmtid:e,isvl:t?1:0,isvs:i?1:0,isvss:r?1:0,isaudio:n?1:0,rslt:a,tid:o,subtm:u,isvp:0,isaplaying:0,isad:0,isdc:0,subretry:0,sbrttimes:0},h))})}reportSubscribeFirstPacket(c,e,t,i,r){this.log({evetid:c?10054:10051,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i,cptc:0,iptc:0,ipc2fptc:0,dctc:0,patc:0},r))})}reportSubscribeFirstFrame(c,e,t,i,r){this.log({evetid:c?10055:10052,calid:e,rmtid:t,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))}),this.log({evetid:c?10058:10057,args:this.data2String(be({calid:e,rmtid:t,tckid:i},r))})}reportUnsubscribe(c,e,t,i,r){this.log({evetid:10060,calid:c,args:this.data2String({calid:c,rmtid:e,unsubtm:t,rslt:i,tid:r})})}reportMute(c,e,t){this.log({evetid:11030,args:this.data2String({calid:c,rmtid:"",enable:e?1:0,mt:t})})}reportRoleUpdate(c,e){this.log({evetid:11040,args:this.data2String({or:c||"",nr:e,ctm:Date.now(),rslt:0})})}reportRoleUpdateResult(c,e,t,i){this.log({evetid:11041,args:this.data2String({or:c||"",nr:e,ctm:t,rslt:i})})}reportVideoProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_camera_large"})})}reportScreenProfile(c){this.log({evetid:20074,args:this.data2String({pf:c,tckid:"sophon_screenshare"})})}reportError(c){this.log({evetid:10091,args:this.data2String({rslt:(c==null?void 0:c.code)||-1})})}reportWarning(c){this.log({evetid:10092,args:this.data2String({rslt:-1,errmsg:c})})}reportRoomServerEvent(c,e,t,i){this.log({evetid:20005,args:this.data2String({calid:"",rmtid:"",rt:c?0:1,dr:c?"s":"r",mt:e,ri:t,cs:1,srt:Date.now(),rspc:(i==null?void 0:i.code)||"",mc:JSON.stringify(i)})})}reportTranscodingError(c,e){this.log({evetid:10101,args:this.data2String({rslt:c,taskid:e})})}reportBye(c){var e;this.log({evetid:10093,args:this.data2String({rslt:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportAudio(c,e,t){var i;this.log({evetid:80013,args:this.data2String({rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})}),this.log({evetid:80014,args:this.data2String({sesid:((i=this.authInfo)==null?void 0:i.sessionId)||"",rslt:c?-1:0,adm:1,adt:0,adr:c?2:0,acms:e,adrpn:t})})}reportScreen(c,e){var t,i,r,n;this.log({evetid:90013,args:this.data2String({rslt:c?-1:0,vcms:e,vde:(t=c==null?void 0:c.code)!=null?t:-1,sesid:((i=this.authInfo)==null?void 0:i.sessionId)||""})}),this.log({evetid:90014,args:this.data2String({rslt:c?-1:0,vcms:e,vde:(r=c==null?void 0:c.code)!=null?r:-1,sesid:((n=this.authInfo)==null?void 0:n.sessionId)||""})})}reportScreenStop(c){this.log({evetid:90019,args:this.data2String({rslt:c?c.code||-1:0})}),this.log({evetid:90020,args:this.data2String({rslt:c?c.code||-1:0})})}reportSwitchCamera(c){var e;this.log({evetid:90025,args:this.data2String({rslt:0,td:c,sesid:((e=this.authInfo)==null?void 0:e.sessionId)||""})})}reportPublishProfile(c,e){this.log({evetid:10201,args:this.data2String(be({tckid:c},e))})}reportSDKCreated(c){this.log({evetid:70011,createtm:Date.now()-c,tm:c})}reportJoinInvoked(c){this.log({evetid:70012,jnnonce:c.nonce||"",jntoken:c.token||"",jntm:c.timestamp||""})}reportJoinResult(c){this.log({evetid:70013,rslt:c?c.code||-1:0,dnsrslt:0})}reportSTSResult(c,e){this.log({evetid:70014,rslt:c,asty:1,reqtm:Date.now()-e})}reportLeaveInvoked(){this.log({evetid:70015})}reportSEIMessage(c,e,t,i,r){this.log({evetid:40301,args:this.data2String({tm:Date.now(),sei_pt:c,sei_len:e,sei_rep:t,sei_delay:i,sei_key:r})})}log(c){c&&(c.tm=new Date().getTime(),ae.debug("[ConsoleLogger]","log",c),this.logClient.sendReport(c))}data2String(c){let e="";for(let t in c)e.length&&(e+="&"),e+=t+"="+c[t];return e}};_(Ti,"staticClient");let bi=Ti;const t0=1e3*60*60*24*7,i0=s=>{if(!s||s.length!==8)return new Date;const c=parseInt(s.substring(0,4),10),e=parseInt(s.substring(4,6),10)-1,t=parseInt(s.substring(6,8),10);if(isNaN(c)||isNaN(e)||isNaN(t))return new Date;const i=new Date(c,e,t);return isNaN(i.getTime())?new Date:i};var ds=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.API=2]="API",s[s.WARNING=3]="WARNING",s[s.ERROR=4]="ERROR",s[s.NONE=5]="NONE",s))(ds||{});class Ui{constructor(){_(this,"dbPromise");_(this,"stsToken");_(this,"logLevel");_(this,"logToConsole");_(this,"logToServer");_(this,"appId");_(this,"sessionId");_(this,"logCache",[]);_(this,"logMethod",(c,e=console.log)=>(...t)=>{if(this.logLevel>c)return;let i=this.getCurrentTime();this.logToConsole&&e(i,...t);let r=Ui.paramArrayToString(t);c>0&&this.addLog(r)});_(this,"d",this.logMethod(0,console.debug));_(this,"i",this.logMethod(1));_(this,"w",this.logMethod(3,console.warn));_(this,"e",this.logMethod(4,(...c)=>{const[e,...t]=c;console.error(e,"<error>",t)}));_(this,"ev",this.logMethod(2));_(this,"a",this.logMethod(2,(...c)=>{const[e,...t]=c;if(t.length>2){const i=`${t[1]}`;i.startsWith("__g__")&&console.group(`${i.substring(5)}_${t[2]}`)}console.log(e,...t)}));_(this,"ar",this.logMethod(2,(...c)=>{const[e,...t]=c;console.log(e,...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));_(this,"ae",this.logMethod(2,(...c)=>{const[e,...t]=c;console.error(e,"<error>",...t),t.length>2&&`${t[1]}`.startsWith("__g__")&&console.groupEnd()}));this.logLevel=3,this.logToConsole=!0,this.logToServer=!0,this.appId="",this.sessionId="",this.dbPromise=Zo()}static toString(c){let e;if(c instanceof Error)e=c.message;else if(typeof c=="string")e=c;else try{e=JSON.stringify(c)}catch(t){e="undefined"}return e}changeConfig(c){c.logLevel!==void 0&&c.logLevel>=0&&c.logLevel<=5&&(this.logLevel=c.logLevel),c.logToConsole!==void 0&&(this.logToConsole=c.logToConsole),c.logToServer!==void 0&&(this.logToServer=c.logToServer)}updateSTSToken(c){const e=!!this.stsToken;this.stsToken=c,!e&&c&&this.tryUploadHistorySessionLog()}uploadSessionDateLog(c,e,t){return O(this,null,function*(){if(!c||!e||!t||t.length===0||!this.stsToken)return;const i=new Fo;i.file(`${c}.log`,t.map(f=>f.log||"").join(`
40
+ `));const r=yield i.generateAsync({type:"blob"}),n=yield Rc(r),a=cs(new Date,"UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'"),o={"x-oss-date":a,"content-md5":n,"content-type":"application/zip"};o.date=a,o["x-oss-security-token"]=this.stsToken.security_token;const u=`client/${e}/${this.appId}/${c}.zip`;o.authorization=yield Tc(this.stsToken.access_key_id,this.stsToken.access_key_secret,o,`/${this.stsToken.bucket_name}/${u}`);const h=`https://${this.stsToken.bucket_name}.${this.stsToken.region_endpoint}/${u}`,g=yield fetch(h,{method:"PUT",headers:o,body:r});if(g.status===200){bi.reportOSSUpload(c,e);const f=yield this.dbPromise;t.forEach(l=>{Ar(f,l.id)})}else bi.reportOSSUpload(c,e,g.status)})}uploadSessionLog(c){c&&this.dbPromise.then(e=>O(this,null,function*(){if(!this.stsToken)return;const t=yield In(e,c),i={},r=[];t.forEach(n=>{if(!n.date||!n.log){try{Ar(e,n.id)}catch(o){}return}const a=n.date;if(Date.now()-i0(a).getTime()>t0)try{Ar(e,n.id)}catch(o){}else i[a]||(i[a]=[],r.push(a)),i[a].push(n)}),Promise.all(r.map(n=>this.uploadSessionDateLog(c,n,i[n]))).then(()=>O(this,null,function*(){(yield In(e,c)).length===0&&ec(e,c)}))}))}tryUploadHistorySessionLog(){this.dbPromise.then(c=>O(this,null,function*(){(yield Qo(c)).filter(t=>(t==null?void 0:t.sid)!==this.sessionId).forEach(t=>{this.uploadSessionLog(t.sid)})}))}uploadCurrent(){const c=this.sessionId;this.sessionId="",this.uploadSessionLog(c)}setSessionID(c,e){!c||!e||(this.appId=c,this.dbPromise.then(t=>{this.sessionId=e,Yo(t,e),this.logCache&&(this.logCache.forEach(i=>{i.date&&i.log&&Cn(t,this.sessionId,i.date,`${i.log}`)}),this.logCache=[])}))}addLog(c){if(!this.logToServer)return;const e=this.getCurrentTime(),t=this.getCurrentDate(),i=`${e} ${c}`;this.sessionId?this.dbPromise.then(r=>{Cn(r,this.sessionId,t,i)}):this.logCache.push({date:t,log:i})}getCurrentTime(){return cs(new Date,"HH:MM:ss.l")}getCurrentDate(){return cs(new Date,"yyyymmdd")}static paramArrayToString(c){let e="";for(let t=0;t<c.length;t++){e!==""&&(e+=" ");let i=Ui.toString(c[t]);e+=i}return e}}class ae{static getLogger(){return this.logger||(this.logger=new Ui),this.logger}static setLogLevel(c){this.getLogger().changeConfig({logLevel:c})}static config(c){this.getLogger().changeConfig(c)}static updateToken(c){this.getLogger().updateSTSToken(c)}static setSessionID(c,e){this.getLogger().setSessionID(c,e)}static uploadLog(){this.getLogger().uploadCurrent()}static interface(...c){this.getLogger().a("[API]",...c)}static interfaceResult(c,e,t,...i){t?this.getLogger().ar("[ARE]",c,e,...i):this.getLogger().ae("[ARE]",c,e,...i)}static event(...c){this.getLogger().ev("[EVT]",...c)}static debug(...c){this.getLogger().d("[DBG]",...c)}static info(...c){this.getLogger().i("[INF]",...c)}static warn(...c){this.getLogger().w("[WARN]",...c)}static error(...c){this.getLogger().e("[ERR]",...c)}}_(ae,"logger");const r0=s=>O(this,null,function*(){const c=new fe.AliRTS.SupportUtil;let e={support:!1,detail:{isWebRTCSupported:c.checkMediaDevices()&&c.checkWebRtcSupport(),isH264DecodeSupported:!1,isH264EncodeSupported:!1,isScreenShareSupported:!1,isSendMediaExtensionMsgSupported:!1,isBrowserSupported:c.checkBrowser({errorCode:0,message:""})}};if(e.support=e.detail.isWebRTCSupported&&e.detail.isBrowserSupported,c.checkWebRtcSupport()&&s!=="sendonly"){const t=yield c.checkH264Decode();e.detail.isH264DecodeSupported=t,e.support=e.support&&t}if(c.checkWebRtcSupport()&&s!=="recvonly"){const t=yield c.checkH264Encode();e.detail.isH264EncodeSupported=t,e.support=e.support&&t}return e.detail.isScreenShareSupported=c.checkWebRtcSupport()&&c.checkScreenCapture()&&!fe.AliRTS.SystenUtil.isAndroid&&!fe.AliRTS.SystenUtil.isIos,e.detail.isSendMediaExtensionMsgSupported=c.checkWebRtcSupport()&&c.checkEncodedTransformSupport(),e}),s0=()=>new fe.AliRTS.SupportUtil().checkScreenCapture();var We=(s=>(s[s.AliRtcSdkStreamTypeCapture=0]="AliRtcSdkStreamTypeCapture",s[s.AliRtcSdkStreamTypeScreen=1]="AliRtcSdkStreamTypeScreen",s))(We||{}),Ea=(s=>(s[s.PRE_PROCESSOR=0]="PRE_PROCESSOR",s[s.POST_PROCESSOR=1]="POST_PROCESSOR",s))(Ea||{}),xi=(s=>(s[s.AUDIO=0]="AUDIO",s[s.VIDEO=1]="VIDEO",s[s.BOTH=2]="BOTH",s))(xi||{});class Zt extends xe{constructor(e,t=We.AliRtcSdkStreamTypeCapture,i=1){super();_(this,"name");_(this,"options");_(this,"type",0);_(this,"streamType");_(this,"trackType");_(this,"zIndex",1);_(this,"_isEnable",!0);_(this,"lastInputAudioTrack");_(this,"lastOutputAudioTrack");_(this,"lastInputVideoTrack");_(this,"lastOutputVideoTrack");_(this,"_hasCleared",!0);this.name=e,this.streamType=t,this.trackType=i,this.options=this.initOptions}get initOptions(){return{}}getOptions(){return this.options}init(){return O(this,null,function*(){})}enable(){this._isEnable||(this._isEnable=!0,this.init(),this.emit("enabled"))}disable(){this._isEnable&&(this._isEnable=!1,this.clear(),this.emit("disabled"))}get isEnable(){return this._isEnable}audioUpdated(e){var t,i;return((t=this.lastInputAudioTrack)==null?void 0:t.id)!==((i=e.currentAudioTrack)==null?void 0:i.id)}videoUpdated(e){var t,i;return((t=this.lastInputVideoTrack)==null?void 0:t.id)!==((i=e.currentVideoTrack)==null?void 0:i.id)}execute(e,t){return O(this,null,function*(){const i=this.shouldUpdate(e,t);this.lastInputAudioTrack=e.currentAudioTrack,this.lastInputVideoTrack=e.currentVideoTrack,this._hasCleared||i?(yield this.process(e,t),this._hasCleared=!1):(this.lastOutputAudioTrack&&(this.trackType===2||this.trackType===0)&&this.lastOutputAudioTrack&&e.updateAudioTrack(this.lastOutputAudioTrack),this.lastOutputVideoTrack&&(this.trackType===2||this.trackType===1)&&this.lastOutputVideoTrack&&e.updateVideoTrack(this.lastOutputVideoTrack)),this.lastOutputAudioTrack=e.currentAudioTrack,this.lastOutputVideoTrack=e.currentVideoTrack})}clear(e){this._hasCleared=!0,this.lastInputAudioTrack=void 0,this.lastInputVideoTrack=void 0,this.lastOutputAudioTrack=void 0,this.lastOutputVideoTrack=void 0}}var Si=(s=>(s[s.LiveTranscodingSingle=0]="LiveTranscodingSingle",s[s.LiveTranscodingMix=1]="LiveTranscodingMix",s))(Si||{}),ls=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingAudio=1]="LiveTranscodingAudio",s[s.LiveTranscodingVideo=2]="LiveTranscodingVideo",s))(ls||{}),oi=(s=>(s[s.LiveTranscodingCamera=0]="LiveTranscodingCamera",s[s.LiveTranscodingShareScreen=1]="LiveTranscodingShareScreen",s))(oi||{});const _i={0:"camera",1:"shareScreen"};var fs=(s=>(s[s.LiveTranscoding_Profile_1IN_1080P=0]="LiveTranscoding_Profile_1IN_1080P",s[s.LiveTranscoding_Profile_1IN_720P=1]="LiveTranscoding_Profile_1IN_720P",s[s.LiveTranscoding_Profile_1IN_360P=2]="LiveTranscoding_Profile_1IN_360P",s[s.LiveTranscoding_Profile_2IN_1080P=3]="LiveTranscoding_Profile_2IN_1080P",s[s.LiveTranscoding_Profile_2IN_720P=4]="LiveTranscoding_Profile_2IN_720P",s[s.LiveTranscoding_Profile_2IN_360P=5]="LiveTranscoding_Profile_2IN_360P",s[s.LiveTranscoding_Profile_4IN_1080P=6]="LiveTranscoding_Profile_4IN_1080P",s[s.LiveTranscoding_Profile_4IN_720P=7]="LiveTranscoding_Profile_4IN_720P",s[s.LiveTranscoding_Profile_4IN_360P=8]="LiveTranscoding_Profile_4IN_360P",s[s.LiveTranscoding_Profile_9IN_1080P=9]="LiveTranscoding_Profile_9IN_1080P",s[s.LiveTranscoding_Profile_9IN_720P=10]="LiveTranscoding_Profile_9IN_720P",s[s.LiveTranscoding_Profile_9IN_360P=11]="LiveTranscoding_Profile_9IN_360P",s[s.LiveTranscoding_Profile_12IN_1080P=12]="LiveTranscoding_Profile_12IN_1080P",s[s.LiveTranscoding_Profile_12IN_720P=13]="LiveTranscoding_Profile_12IN_720P",s[s.LiveTranscoding_Profile_12IN_360P=14]="LiveTranscoding_Profile_12IN_360P",s[s.LiveTranscoding_Profile_16IN_1080P=15]="LiveTranscoding_Profile_16IN_1080P",s[s.LiveTranscoding_Profile_16IN_720P=16]="LiveTranscoding_Profile_16IN_720P",s[s.LiveTranscoding_Profile_16IN_360P=17]="LiveTranscoding_Profile_16IN_360P",s[s.LiveTranscoding_Profile_Mixed=9999]="LiveTranscoding_Profile_Mixed",s))(fs||{});const n0={0:"1IN_1080P",1:"1IN_720P",2:"1IN_360P",3:"2IN_1080P",4:"2IN_720P",5:"2IN_360P",6:"4IN_1080P",7:"4IN_720P",8:"4IN_360P",9:"9IN_1080P",10:"9IN_720P",11:"9IN_360P",12:"12IN_1080P",13:"12IN_720P",14:"12IN_360P",15:"16IN_1080P",16:"16IN_720P",17:"16IN_360P",9999:"Mixed_Audio"};var Hi=(s=>(s[s.LiveTranscoding_HZ_48000=48e3]="LiveTranscoding_HZ_48000",s[s.LiveTranscoding_HZ_44100=44100]="LiveTranscoding_HZ_44100",s[s.LiveTranscoding_HZ_32000=32e3]="LiveTranscoding_HZ_32000",s[s.LiveTranscoding_HZ_16000=16e3]="LiveTranscoding_HZ_16000",s[s.LiveTranscoding_HZ_8000=8e3]="LiveTranscoding_HZ_8000",s))(Hi||{}),yi=(s=>(s[s.LiveTranscodingNoBody=0]="LiveTranscodingNoBody",s[s.LiveTranscodingBody=1]="LiveTranscodingBody",s))(yi||{}),Ai=(s=>(s[s.NOTO_SERIF_CJKSC_REGULAR=0]="NOTO_SERIF_CJKSC_REGULAR",s[s.ALIBABA_PUHUITI_REGULAR=1]="ALIBABA_PUHUITI_REGULAR",s[s.ALIBABA_PUHUITI_BOLD=2]="ALIBABA_PUHUITI_BOLD",s[s.ALIBABA_PUHUITI_Heavy=3]="ALIBABA_PUHUITI_Heavy",s[s.ALIBABA_PUHUITI_LIGHT=4]="ALIBABA_PUHUITI_LIGHT",s[s.ALIBABA_PUHUITI_MEDIUM=5]="ALIBABA_PUHUITI_MEDIUM",s))(Ai||{}),ps=(s=>(s[s.LiveTranscodingOrigin=0]="LiveTranscodingOrigin",s[s.LiveTranscodingCrop=1]="LiveTranscodingCrop",s[s.LiveTranscodingFill=2]="LiveTranscodingFill",s))(ps||{}),zi=(s=>(s[s.LiveTranscodingNormal=0]="LiveTranscodingNormal",s[s.LiveTranscodingVirtualBackground=1]="LiveTranscodingVirtualBackground",s))(zi||{}),ms=(s=>(s[s.LiveTranscodingState_IDLE=0]="LiveTranscodingState_IDLE",s[s.LiveTranscodingState_CONNNECT=1]="LiveTranscodingState_CONNNECT",s[s.LiveTranscodingState_RUNNING=2]="LiveTranscodingState_RUNNING",s[s.LiveTranscodingState_RECOVERING=3]="LiveTranscodingState_RECOVERING",s[s.LiveTranscodingState_FAILURE=4]="LiveTranscodingState_FAILURE",s[s.LiveTranscodingState_END=5]="LiveTranscodingState_END",s))(ms||{}),Et=(s=>(s[s.LiveTranscodingErrorPublishOk=0]="LiveTranscodingErrorPublishOk",s[s.LiveTranscodingErrorStreamNotFound=17825793]="LiveTranscodingErrorStreamNotFound",s[s.LiveTranscodingErrorStreamAlreadyExist=17825794]="LiveTranscodingErrorStreamAlreadyExist",s[s.LiveTranscodingErrorInvalidParam=17825795]="LiveTranscodingErrorInvalidParam",s[s.LiveTranscodingErrorInternalError=17825796]="LiveTranscodingErrorInternalError",s[s.LiveTranscodingErrorRtmpServerError=17825797]="LiveTranscodingErrorRtmpServerError",s[s.LiveTranscodingErrorRtmpStreamUrlError=17825798]="LiveTranscodingErrorRtmpStreamUrlError",s[s.LiveTranscodingErrorPublishTimeout=17825799]="LiveTranscodingErrorPublishTimeout",s[s.LiveTranscodingErrorNotAuthorized=17825800]="LiveTranscodingErrorNotAuthorized",s))(Et||{}),gs=(s=>(s[s.TrascodingPublishTaskStatusStart=0]="TrascodingPublishTaskStatusStart",s[s.TrascodingPublishTaskStatusUpdate=1]="TrascodingPublishTaskStatusUpdate",s[s.TrascodingPublishTaskStatusStop=2]="TrascodingPublishTaskStatusStop",s))(gs||{}),ot=(s=>(s[s.MPU_TASK_TRANSACTION_START=0]="MPU_TASK_TRANSACTION_START",s[s.MPU_TASK_TRANSACTION_UPDATE=1]="MPU_TASK_TRANSACTION_UPDATE",s[s.MPU_TASK_TRANSACTION_STOP=2]="MPU_TASK_TRANSACTION_STOP",s[s.MPU_TASK_TRANSACTION_LIST=3]="MPU_TASK_TRANSACTION_LIST",s[s.MPU_TASK_TRANSACTION_POLLING=4]="MPU_TASK_TRANSACTION_POLLING",s[s.MPU_TASK_TRANSACTION_ACKNOWLEDGE=5]="MPU_TASK_TRANSACTION_ACKNOWLEDGE",s[s.MPU_TASK_TRANSACTION_END=6]="MPU_TASK_TRANSACTION_END",s))(ot||{});const a0={0:"/libra/v1/sdk/start-task",1:"/libra/v1/sdk/update-task",2:"/libra/v1/sdk/stop-task",3:"/libra/v1/sdk/list-task",4:"/libra/v1/sdk/polling",5:"/libra/v1/sdk/acknowledge",6:"/"};class vs{constructor(c,e,t,i,r,n,a,o){_(this,"videoWidth");_(this,"videoHeight");_(this,"videoFramerate",20);_(this,"videoBitrate",2e3);_(this,"videoGop",30);_(this,"audioSamplerate",Hi.LiveTranscoding_HZ_44100);_(this,"audioBitrate",500);_(this,"audioChannels",1);this.videoWidth=c,this.videoHeight=e,t&&(this.videoFramerate=t),i&&(this.videoBitrate=i),r&&(this.videoGop=r),n&&(this.audioSamplerate=n),a&&(this.audioBitrate=a),o&&(this.audioChannels=o)}}const bs=s=>((s&16711680)>>16)+(s&65280)+((s&255)<<16),bt=(s=0,c)=>{if(c==0)return 0;let e=s/c;return e<0&&(e=0),e>1&&(e=1),e};class ji{constructor(c,e,t){_(this,"mixMode",Si.LiveTranscodingSingle);_(this,"singleParam");_(this,"mixParam");c&&(this.mixMode=c),e&&(this.singleParam=e),t&&(this.mixParam=t)}toJson(c,e,t,i,r){const n={appid:e.appId,channelid:e.channelId};if(c===ot.MPU_TASK_TRANSACTION_POLLING||c===ot.MPU_TASK_TRANSACTION_LIST||c===ot.MPU_TASK_TRANSACTION_ACKNOWLEDGE)return c===ot.MPU_TASK_TRANSACTION_ACKNOWLEDGE&&(n.messageid=r),n;if(n.taskid=t,c!==ot.MPU_TASK_TRANSACTION_STOP){if(n.mixmode=this.mixMode,i&&(n.streamurl=i),this.mixMode===Si.LiveTranscodingSingle){const a=this.singleParam;if(a){n.streamtype=a.streamType,a.sourceType===oi.LiveTranscodingShareScreen?n.sourcetype=_i[a.sourceType]:n.sourcetype=_i[oi.LiveTranscodingCamera];const o=[];a.userId&&o.push(a.userId),n.subspecusers=o}}else if(c===ot.MPU_TASK_TRANSACTION_START||c===ot.MPU_TASK_TRANSACTION_UPDATE){const a=this.mixParam;if(a){a.taskProfile&&(n.taskprofile=n0[a.taskProfile]);const o=a.encodeParam||new vs(1280,720);let u=o.videoWidth,h=o.videoHeight;const g={};Object.keys(o).forEach(l=>{const p=o[l];p>0&&(g[l.toLowerCase()]=p)}),g.lowbitratehighquality=0,n.encodeparam=g,n.backgrounds=a.backgrounds.map(l=>l.toJson(u,h)),n.watermarks=a.watermarks.map(l=>l.toJson(u,h)),n.clockwidgets=a.clockWidgets.map(l=>l.toJson(u,h));const f=a.users.map(l=>l.userId);n.subspecusers=[...new Set(f)],n.layouts=[{audiomixcount:a.users.length,panes:a.users.map((l,p)=>l.toJson(p,u,h,a.mediaProcessMode))}],n.layoutids=["0"],n.cropmode=a.cropMode,n.backgroundcolor=bs(a.backgroundColor),n.taskmode=a.mediaProcessMode}}}return n}}var Dt=(s=>(s.pre="pre",s.prod="prod",s))(Dt||{}),Tt=(s=>(s.AliRtcSdkCommunication="communication",s.AliRtcSdkInteractiveLive="interactive_live",s.AliRtcSdkInteractiveWithLowLatencyLive="cdn_live",s))(Tt||{}),Mt=(s=>(s.AliRtcSdkInteractive="interactive",s.AliRtcSdkLive="live",s))(Mt||{}),wt=(s=>(s[s.AliEngineLocalDeviceTypeUnknown=0]="AliEngineLocalDeviceTypeUnknown",s[s.AliEngineLocalDeviceTypeMic=1]="AliEngineLocalDeviceTypeMic",s[s.AliEngineLocalDeviceTypeSpeaker=2]="AliEngineLocalDeviceTypeSpeaker",s[s.AliEngineLocalDeviceTypeAudioDevice=3]="AliEngineLocalDeviceTypeAudioDevice",s[s.AliEngineLocalDeviceTypeCamera=4]="AliEngineLocalDeviceTypeCamera",s[s.AliEngineLocalDeviceTypeDisplay=5]="AliEngineLocalDeviceTypeDisplay",s[s.AliEngineLocalDeviceTypeVideoDevice=6]="AliEngineLocalDeviceTypeVideoDevice",s))(wt||{}),He=(s=>(s[s.AliEngineLocalDeviceExceptionTypeUnknown=0]="AliEngineLocalDeviceExceptionTypeUnknown",s[s.AliEngineLocalDeviceExceptionTypeMicOpenFail=1]="AliEngineLocalDeviceExceptionTypeMicOpenFail",s[s.AliEngineLocalDeviceExceptionTypeMicInterrupt=2]="AliEngineLocalDeviceExceptionTypeMicInterrupt",s[s.AliEngineLocalDeviceExceptionTypeMicAuthFail=3]="AliEngineLocalDeviceExceptionTypeMicAuthFail",s[s.AliEngineLocalDeviceExceptionTypeMicNotAvailable=4]="AliEngineLocalDeviceExceptionTypeMicNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeSpeakerOpenFail=5]="AliEngineLocalDeviceExceptionTypeSpeakerOpenFail",s[s.AliEngineLocalDeviceExceptionTypeSpeakerInterrupt=6]="AliEngineLocalDeviceExceptionTypeSpeakerInterrupt",s[s.AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable=7]="AliEngineLocalDeviceExceptionTypeSpeakerNotAvailable",s[s.AliEngineLocalDeviceExceptionTypeAudioDeviceException=8]="AliEngineLocalDeviceExceptionTypeAudioDeviceException",s[s.AliEngineLocalDeviceExceptionTypeCameraOpenFail=9]="AliEngineLocalDeviceExceptionTypeCameraOpenFail",s[s.AliEngineLocalDeviceExceptionTypeCameraInterrupt=10]="AliEngineLocalDeviceExceptionTypeCameraInterrupt",s[s.AliEngineLocalDeviceExceptionTypeCameraAuthFail=11]="AliEngineLocalDeviceExceptionTypeCameraAuthFail",s[s.AliEngineLocalDeviceExceptionTypeDisplayException=12]="AliEngineLocalDeviceExceptionTypeDisplayException",s[s.AliEngineLocalDeviceExceptionTypeVideoDeviceException=13]="AliEngineLocalDeviceExceptionTypeVideoDeviceException",s))(He||{}),ke=(s=>(s[s.AliRtcConnectionStatusInit=0]="AliRtcConnectionStatusInit",s[s.AliRtcConnectionStatusDisconnected=1]="AliRtcConnectionStatusDisconnected",s[s.AliRtcConnectionStatusConnecting=2]="AliRtcConnectionStatusConnecting",s[s.AliRtcConnectionStatusConnected=3]="AliRtcConnectionStatusConnected",s[s.AliRtcConnectionStatusReconnecting=4]="AliRtcConnectionStatusReconnecting",s[s.AliRtcConnectionStatusFailed=5]="AliRtcConnectionStatusFailed",s))(ke||{}),Yt=(s=>(s[s.AliRtcConnectionChangedDummyReason=0]="AliRtcConnectionChangedDummyReason",s[s.AliRtcConnectionMediaPathChanged=1]="AliRtcConnectionMediaPathChanged",s[s.AliRtcConnectionSignalingHeartbeatTimeout=2]="AliRtcConnectionSignalingHeartbeatTimeout",s[s.AliRtcConnectionSignalingHeartbeatAlive=3]="AliRtcConnectionSignalingHeartbeatAlive",s[s.AliRtcConnectionSignalingHttpDnsResolved=4]="AliRtcConnectionSignalingHttpDnsResolved",s[s.AliRtcConnectionSignalingHttpDnsFailure=5]="AliRtcConnectionSignalingHttpDnsFailure",s[s.AliRtcConnectionSignalingGslbFailure=6]="AliRtcConnectionSignalingGslbFailure",s[s.AliRtcConnectionSignalingGslbSuccess=7]="AliRtcConnectionSignalingGslbSuccess",s[s.AliRtcConnectionSignalingJoinRoomFailure=8]="AliRtcConnectionSignalingJoinRoomFailure",s[s.AliRtcConnectionSignalingJoinRoomSuccess=9]="AliRtcConnectionSignalingJoinRoomSuccess",s[s.AliRtcConnectionSignalingLeaveRoom=10]="AliRtcConnectionSignalingLeaveRoom",s[s.AliRtcConnectionSignalingConnecting=11]="AliRtcConnectionSignalingConnecting",s[s.AliRtcConnectionChangedNetworkInterrupted=12]="AliRtcConnectionChangedNetworkInterrupted",s))(Yt||{}),xs=(s=>(s[s.AliRtcUserOfflineQuit=0]="AliRtcUserOfflineQuit",s[s.AliRtcUserOfflineDropped=1]="AliRtcUserOfflineDropped",s[s.AliRtcUserOfflineBecomeAudience=2]="AliRtcUserOfflineBecomeAudience",s))(xs||{}),ci=(s=>(s[s.AliRtcAudioTrackNo=0]="AliRtcAudioTrackNo",s[s.AliRtcAudioTrackMic=1]="AliRtcAudioTrackMic",s[s.AliRtcAudioTrackDual=2]="AliRtcAudioTrackDual",s))(ci||{}),Ae=(s=>(s[s.AliRtcVideoTrackNo=0]="AliRtcVideoTrackNo",s[s.AliRtcVideoTrackCamera=1]="AliRtcVideoTrackCamera",s[s.AliRtcVideoTrackScreen=2]="AliRtcVideoTrackScreen",s[s.AliRtcVideoTrackBoth=3]="AliRtcVideoTrackBoth",s))(Ae||{}),ve=(s=>(s[s.AliRtcStatePublishIdle=0]="AliRtcStatePublishIdle",s[s.AliRtcStateNoPublish=1]="AliRtcStateNoPublish",s[s.AliRtcStatePublishing=2]="AliRtcStatePublishing",s[s.AliRtcStatePublished=3]="AliRtcStatePublished",s))(ve||{}),Pe=(s=>(s[s.AliRtcStateSubscribeIdle=0]="AliRtcStateSubscribeIdle",s[s.AliRtcStateNoSubscribe=1]="AliRtcStateNoSubscribe",s[s.AliRtcStateSubscribing=2]="AliRtcStateSubscribing",s[s.AliRtcStateSubscribed=3]="AliRtcStateSubscribed",s))(Pe||{}),Ge=(s=>(s[s.AliRtcVideoStreamTypeNone=0]="AliRtcVideoStreamTypeNone",s[s.AliRtcVideoStreamTypeHigh=1]="AliRtcVideoStreamTypeHigh",s[s.AliRtcVideoStreamTypeLow=2]="AliRtcVideoStreamTypeLow",s))(Ge||{}),Ei=(s=>(s[s.CAMERA_INVALID=-1]="CAMERA_INVALID",s[s.CAMERA_REAR=0]="CAMERA_REAR",s[s.CAMERA_FRONT=1]="CAMERA_FRONT",s))(Ei||{});const wa=10,Ca=5e3,di=class di extends xe{constructor(e){super();_(this,"ws");_(this,"socketStatus",0);_(this,"wsUrl","");_(this,"lastConnectStartTime",0);_(this,"maxConnectRetryCount",wa);_(this,"connectRetryCount",0);_(this,"gotErr",!1);_(this,"closedByInvoke",!0);_(this,"isReconnecting",!1);_(this,"networkAvailableChecked",!0);_(this,"reconnectTimeoutId",0);this.maxConnectRetryCount=e!=null?e:wa,this.onOpen=this.onOpen.bind(this),this.onMessage=this.onMessage.bind(this),this.onError=this.onError.bind(this),this.onClose=this.onClose.bind(this)}get connectUrl(){return this.wsUrl}get connectStatus(){return this.socketStatus}start(e){this.wsUrl=e,this.initWebSocket()}send(e){return this.ws&&this.socketStatus===2?(this.ws.send(JSON.stringify(e)),!0):!1}close(){this.closedByInvoke=!0,this.uninitWebscoket()}reconnect(){this.reconnectTimeoutId&&(clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=0),this.emit("onReconnectStart"),this.isReconnecting=!0,this.initWebSocket()}onOpen(e){ae.info(`[${di.logName}]`,"onOpen"),this.socketStatus=2,this.connectRetryCount=0,this.networkAvailableChecked=!1,this.closedByInvoke=!1,this.gotErr=!1,this.isReconnecting=!1,this.emit("onOpen",e)}onMessage(e){this.emit("onMessage",e)}onError(e){this.isReconnecting&&this.emit("onReconnectFail",e),this.emit("onError",e),this.isReconnecting=!1,this.socketStatus!==2&&St.isNetworkAvailable().then(t=>{t&&console.error(di.logName,"onError, Network is available, token may be invalid")})}onClose(e){return O(this,null,function*(){if(this.closedByInvoke){this.socketStatus=0;return}if(ae.info(`[${di.logName}]`,`onClose, code: ${e.code}, reason: ${e.reason}, status: ${status}, retryCount: ${this.connectRetryCount}`),(yield St.isNetworkAvailable())&&!this.networkAvailableChecked){this.reconnect(),this.networkAvailableChecked=!0;return}else this.connectRetryCount||this.emit("onNetworkError"),this.reconnectTimeoutId||(this.connectRetryCount+=1,this.connectRetryCount>this.maxConnectRetryCount?this.emit("onConnectFail"):Date.now()-this.lastConnectStartTime>=Ca?this.reconnect():this.reconnectTimeoutId=window.setTimeout(()=>{this.reconnect()},Ca));this.socketStatus=0,this.emit("onClose",e)})}initWebSocket(){this.uninitWebscoket(),this.socketStatus=1,this.lastConnectStartTime=Date.now(),this.ws=new WebSocket(this.wsUrl),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)}uninitWebscoket(){this.ws&&(this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("message",this.onMessage),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("close",this.onClose),this.ws.readyState!==WebSocket.CLOSED&&this.ws.close(),this.ws=void 0,this.socketStatus=0)}};_(di,"logName","Socket");let Ss=di;var ze=(s=>(s.KEEPALIVE="keepalive",s.JOINCHANNEL="joinchannel",s.NOTIFYJOIN="notifyjoin",s.NOTIFYSTATUS="notifystatus",s.STATUSREPORT="statusreport",s.LEAVECHANNEL="leavechannel",s.NOTIFYLEAVE="notifyleave",s.NOTIFYPUBLISH="notifypublish",s.BYE="bye",s.RECONNECT="reconnect",s.PUBLISH="publish",s.REFRESHURL="refreshurl",s.UNSUBSCRIBE="unsubscribe",s.ROLEUPDATE="roleupdate",s))(ze||{});class o0{constructor(c,e){_(this,"authInfo");_(this,"userName");_(this,"seqIndex",0);this.authInfo=c,this.userName=e}get roleAuth(){if(this.authInfo.role){const{timestamp:c,nonce:e,token:t,role:i}=this.authInfo;return{timestamp:c,nonce:e,token:t,tokenrole:i}}}refreshAuthInfo(c){this.authInfo=c}getSeqIndex(){return this.seqIndex}createKeepAlivePackage(){return this.createBaseSendPackage("keepalive")}createJoinPackage(){let c=this.createBaseSendPackage("joinchannel");return c.header.displayName=this.userName,c.header.clientversion=St.getVersionNumber().toString(),c.header.platform=gn,this.roleAuth&&(c.data.auth=this.roleAuth),c}crateLeavePackage(){return this.createBaseSendPackage("leavechannel")}createStatusPackage(c){let e=this.createBaseSendPackage("statusreport");return e.header.displayName=this.userName,e.data.status=c,e}createPublishPackage(){let c=this.createBaseSendPackage("publish");return c.data.users=[{}],this.roleAuth&&(c.data.auth=this.roleAuth),c}createRoleUpdatePackage(){let c=this.createBaseSendPackage("roleupdate");return c.header.displayName=this.userName,c}createReconnectPackage(c){let e=this.createBaseSendPackage("reconnect");return e.header.displayName=this.userName,e.header.clientversion=St.getVersionNumber().toString(),e.header.platform=gn,e.data=be(be({},e.data),c!=null?c:{}),this.roleAuth&&(e.data.auth=this.roleAuth),e}createRefreshUrlPackage(){let c=this.createBaseSendPackage("refreshurl");return c.header.displayName=this.userName,c}createResponsePackage(c,e){return{version:1,code:200,tid:c,msgtype:e}}createBaseSendPackage(c){var t;return++this.seqIndex,{version:1,msgtype:c,tid:Kt(),header:{appid:this.authInfo.appId,channelid:this.authInfo.channelId,sessionid:(t=this.authInfo.sessionId)!=null?t:"",userid:this.authInfo.userId},data:{seq:this.seqIndex}}}}var te=(s=>(s[s.ERR_JOIN_ALREADY_JOINED=16843521]="ERR_JOIN_ALREADY_JOINED",s[s.ERR_JOIN_BAD_APPID=33620481]="ERR_JOIN_BAD_APPID",s[s.ERR_JOIN_INVALID_APPID=33620482]="ERR_JOIN_INVALID_APPID",s[s.ERR_JOIN_BAD_CHANNEL=33620484]="ERR_JOIN_BAD_CHANNEL",s[s.ERR_JOIN_INVALID_CHANNEL=33620483]="ERR_JOIN_INVALID_CHANNEL",s[s.ERR_JOIN_BAD_TOKEN=33620485]="ERR_JOIN_BAD_TOKEN",s[s.ERR_JOIN_TIMEOUT=16908804]="ERR_JOIN_TIMEOUT",s[s.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD=16974081]="ERR_JOIN_ERR_JOIN_BAD_PARAMBAD",s[s.ERR_JOIN_CHANNEL_FAILED=16974338]="ERR_JOIN_CHANNEL_FAILED",s[s.ERR_LOG_ALREADY_INIT=16974085]="ERR_LOG_ALREADY_INIT",s[s.ERR_LOG_ROOT_PATH_ERROR=16974086]="ERR_LOG_ROOT_PATH_ERROR",s[s.ERR_MIC_OPEN_FAIL=17040388]="ERR_MIC_OPEN_FAIL",s[s.ERR_SPEAKER_OPEN_FAIL=17040389]="ERR_SPEAKER_OPEN_FAIL",s[s.ERR_MIC_INTERRUPT=17040390]="ERR_MIC_INTERRUPT",s[s.ERR_SPEAKER_INTERRUPT=17040391]="ERR_SPEAKER_INTERRUPT",s[s.ERR_MIC_AUTH_FAIL=17040392]="ERR_MIC_AUTH_FAIL",s[s.ERR_MIC_NOT_AVAILABLE=17040393]="ERR_MIC_NOT_AVAILABLE",s[s.ERR_SPEAKER_NOT_AVAILABLE=17040400]="ERR_SPEAKER_NOT_AVAILABLE",s[s.ERR_CAMERA_OPEN_FAIL=17039620]="ERR_CAMERA_OPEN_FAIL",s[s.ERR_CAMERA_AUTH_FAIL=17039621]="ERR_CAMERA_AUTH_FAIL",s[s.ERR_CAMERA_INTERRUPT=17039622]="ERR_CAMERA_INTERRUPT",s[s.ERR_CAMERA_NOT_AVAILABLE=17039623]="ERR_CAMERA_NOT_AVAILABLE",s[s.ERR_VIDEO_DISPLAY_OPEN_FAIL=17039873]="ERR_VIDEO_DISPLAY_OPEN_FAIL",s[s.ERR_VIDEO_DISPLAY_INTERRUPT=1064992]="ERR_VIDEO_DISPLAY_INTERRUPT",s[s.ERR_ICE_CONNECTION_CONNECT_FAIL=17105409]="ERR_ICE_CONNECTION_CONNECT_FAIL",s[s.ERR_ICE_CONNECTION_RECONNECT_FAI=17105410]="ERR_ICE_CONNECTION_RECONNECT_FAI",s[s.ERR_ICE_CONNECTION_MOBILITY_FAIL=17105411]="ERR_ICE_CONNECTION_MOBILITY_FAIL",s[s.ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT=16908812]="ERR_ICE_CONNECTION_HEARTBEAT_TIMEOUT",s[s.ERR_LATENCY_LIVE_COMMUNICATION_FAILED=17235971]="ERR_LATENCY_LIVE_COMMUNICATION_FAILED",s[s.ERR_LATENCY_LIVE_MEIDASETTING_FAILED=17235972]="ERR_LATENCY_LIVE_MEIDASETTING_FAILED",s[s.ERR_LATENCY_LIVE_NONE_BROADCASTER=17235973]="ERR_LATENCY_LIVE_NONE_BROADCASTER",s[s.ERR_LATENCY_LIVE_NEED_RESTART=17235974]="ERR_LATENCY_LIVE_NEED_RESTART",s[s.ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER=17235975]="ERR_LATENCY_LIVE_NEED_RESTART_AGAIN_LATER",s[s.ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE=17235976]="ERR_LATENCY_LIVE_SERVICE_UNAVAILABLE",s[s.ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION=17235977]="ERR_LATENCY_LIVE_MEDIACONNECTION_INTERRUPTION",s[s.ERR_SDK_PUBLISH_INVAILD=16974597]="ERR_SDK_PUBLISH_INVAILD",s[s.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL=16843782]="ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL",s[s.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED=16843856]="ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED=16843857]="ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_DUAL_STREAM_FAILED=16843858]="ERR_SDK_PUBLISH_DUAL_STREAM_FAILED",s[s.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED=16843859]="ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED",s[s.ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR=16843860]="ERR_SDK_PUBLISH_SCREEN_SHARE_CONFIG_ERROR",s[s.ERR_SDK_SUBSCRIBE_INVAILD=16974852]="ERR_SDK_SUBSCRIBE_INVAILD",s[s.ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL=16844112]="ERR_SDK_SUBSCRIBE_NOT_JOIN_CHANNEL",s[s.ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED=16844113]="ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED=16844114]="ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED=16844115]="ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED",s[s.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED=16844116]="ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED",s[s.ERR_SDK_SUBSCRIBE_DATA_FAILED=16844117]="ERR_SDK_SUBSCRIBE_DATA_FAILED",s[s.ERR_SDK_SUBSCRIBE_DATA_ERROR=16844118]="ERR_SDK_SUBSCRIBE_DATA_ERROR",s[s.ERR_SDK_INVALID_STATE=16974340]="ERR_SDK_INVALID_STATE",s[s.ERR_INVALID_ARGUMENTS=16974083]="ERR_INVALID_ARGUMENTS",s[s.ERR_SESSION_REMOVED=33620229]="ERR_SESSION_REMOVED",s[s.ERR_SDK_UPDATE_ROLE_CHANNEL=16908801]="ERR_SDK_UPDATE_ROLE_CHANNEL",s[s.ERR_INNER=-1]="ERR_INNER",s[s.ERR_SDK_MPU_TASK_PUBLISH_OK=0]="ERR_SDK_MPU_TASK_PUBLISH_OK",s[s.ERR_SDK_MPU_TASK_STREAM_NOT_FOUND=17825793]="ERR_SDK_MPU_TASK_STREAM_NOT_FOUND",s[s.ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST=17825794]="ERR_SDK_MPU_TASK_STREAM_ALREADY_EXIST",s[s.ERR_SDK_MPU_TASK_INVALID_PARAM=17825795]="ERR_SDK_MPU_TASK_INVALID_PARAM",s[s.ERR_SDK_MPU_TASK_INTERNAL_ERROR=17825796]="ERR_SDK_MPU_TASK_INTERNAL_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR=17825797]="ERR_SDK_MPU_TASK_RTMP_SERVER_ERROR",s[s.ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR=17825798]="ERR_SDK_MPU_TASK_RTMP_STREAM_URL_ERROR",s[s.ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT=17825799]="ERR_SDK_MPU_TASK_PUBLISH_TIMEOUT",s[s.ERR_SDK_MPU_TASK_NOT_AUTHORIZED=17825800]="ERR_SDK_MPU_TASK_NOT_AUTHORIZED",s[s.ERR_SDK_CHANNEL_RELAY_STATE_ERROR=18874369]="ERR_SDK_CHANNEL_RELAY_STATE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW=18874370]="ERR_SDK_CHANNEL_RELAY_SRC_NOT_ALLOW",s[s.ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED=18874371]="ERR_SDK_CHANNEL_RELAY_JOIN_DEST_FAILED",s[s.ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID=18874372]="ERR_SDK_CHANNEL_RELAY_TOKEN_INVALID",s[s.ERR_SDK_CHANNEL_RELAY_ROLE_ERROR=18874373]="ERR_SDK_CHANNEL_RELAY_ROLE_ERROR",s[s.ERR_SDK_CHANNEL_RELAY_INVALID_PARAM=18874374]="ERR_SDK_CHANNEL_RELAY_INVALID_PARAM",s[s.ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR=18874375]="ERR_SDK_CHANNEL_RELAY_TO_SELF_ERROR",s))(te||{});class Y extends Error{constructor(e,t,i){super(t);_(this,"_code");_(this,"_extra");this._code=e,this._extra=i}static fromRtsError(e){return e instanceof Y?e:new Y((e==null?void 0:e.errorCode)||-1,(e==null?void 0:e.message)||(e==null?void 0:e.errorCodeName)||"rts error",e)}static fromError(e,t=-1,i=""){return new Y(t,(e==null?void 0:e.message)||(e==null?void 0:e.reason)||i||"error",e)}get code(){return this._code}set code(e){this._code=e}get reason(){return this.message}get extra(){return this._extra}}const c0=3e4,lt=class lt extends xe{constructor(e,t,i,r,n,a){super();_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"wsClient");_(this,"packageCreater");_(this,"keepAliveTimer",0);_(this,"packageCache",new Map);_(this,"isFirstConnect",!0);_(this,"aliveChecker",0);_(this,"reconnectData");this.authInfo=e,this.userName=t,this.packageCreater=new o0(e,t),this.channelProfile=i,this.clientRole=r,this.slsReporter=n,this.wsClient=new Ss(a),this.wsClient.on("onOpen",this.onOpen.bind(this)),this.wsClient.on("onMessage",this.onMessage.bind(this)),this.wsClient.on("onError",this.onError.bind(this)),this.wsClient.on("onClose",this.onClose.bind(this)),this.wsClient.on("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.on("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.on("onNetworkError",this.onNetworkError.bind(this)),this.wsClient.on("onReconnectStart",this.onReconnectStart.bind(this)),this.wsClient.on("onReconnectFail",this.onReconnectFail.bind(this))}get retryCount(){return this.wsClient.connectRetryCount}start(e){this.wsClient.start(e)}startKeepAlive(){this.keepAliveTimer===0&&(this.keepAliveTimer=window.setInterval(()=>{let e=this.packageCreater.createKeepAlivePackage();this.sendPackage(e)},5e3)),this.checkAlive()}stopKeepAlive(){this.keepAliveTimer!==0&&(clearInterval(this.keepAliveTimer),this.keepAliveTimer=0),this.aliveChecker&&(window.clearTimeout(this.aliveChecker),this.aliveChecker=0)}sendPkgCache(){this.packageCache.forEach(e=>{this.wsClient.send(e)})}leave(){let e=this.packageCreater.crateLeavePackage();this.sendPackage(e)}reportStatus(e){let t=this.packageCreater.createStatusPackage(e);this.sendPackage(t)}publish(e){const o=e,{l1ip:t}=o,i=pi(o,["l1ip"]);let r=this.packageCreater.createPublishPackage();r.data.users=[],r.data.l1ip=t,i.subscribe.signal=this.wsClient.connectUrl;const{tracks:n,resume:a}=i;n.forEach(u=>{const{codec:h,ssrc:g}=u;u.userdata=JSON.stringify({codec:h}),u.ssrc=`${g}`,a&&(u.attr={reason:"reconnect"})}),r.data.users.push(i),this.sendPackage(r)}roleUpdate(e){let t=this.packageCreater.createRoleUpdatePackage();t.data.clientrole=e,this.sendPackage(t)}refreshUrl(e){const t=this.packageCreater.createRefreshUrlPackage();t.data=be(Rt(be({},t.data),{sessionid:t.header.sessionid}),e),this.sendPackage(t)}refreshAuthInfo(e){this.authInfo=e,this.packageCreater.refreshAuthInfo(e)}close(){ae.info(`[${lt.logName}] close`),this.stopKeepAlive(),this.wsClient.off("onOpen",this.onOpen.bind(this)),this.wsClient.off("onMessage",this.onMessage.bind(this)),this.wsClient.off("onError",this.onError.bind(this)),this.wsClient.off("onClose",this.onClose.bind(this)),this.wsClient.off("onConnectFail",this.onConnectFail.bind(this)),this.wsClient.off("onAuthInvalid",this.onAuthInvalid.bind(this)),this.wsClient.off("onReconnectStart"),this.wsClient.off("onReconnectFail"),this.wsClient.close()}sendPackage(e){[ze.KEEPALIVE,ze.RECONNECT,ze.JOINCHANNEL].includes(e.msgtype)||this.packageCache.set(e.tid,e),this.wsClient.send(e),e.msgtype!==ze.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!0,e.msgtype,e.tid,e)}updateReconnectData(e){this.reconnectData=e}onOpen(){if(ae.info(`[${lt.logName}] onOpen`),this.isFirstConnect){let e=this.packageCreater.createJoinPackage();e.data.configure={channelprofile:this.channelProfile},(this.channelProfile===Tt.AliRtcSdkInteractiveLive||this.channelProfile===Tt.AliRtcSdkInteractiveWithLowLatencyLive)&&(e.data.configure.clientrole=this.clientRole),this.sendPackage(e)}else{this.stopKeepAlive();const e=this.packageCreater.createReconnectPackage(this.reconnectData);this.sendPackage(e)}}onMessage(e){try{let t=JSON.parse(e.data);this.packageCache.delete(t.tid),this.onRecvMessage(t),t!=null&&t.msgtype&&(t==null?void 0:t.msgtype)!==ze.KEEPALIVE&&this.slsReporter.reportRoomServerEvent(!1,t.msgtype,t.tid,t)}catch(t){ae.warn(`[${lt.logName}] onMessage err`,t,e)}}onError(e){ae.warn(`[${lt.logName}] onError`,e),this.isFirstConnect&&this.onConnectFail()}onConnectFail(){ae.warn(`[${lt.logName}] onConnectFail`);const e=new Y(te.ERR_INNER,"Signaling connect failed.");this.isFirstConnect?this.emit("onJoinChannelResult",e):this.emit("onConnectFail",e)}onAuthInvalid(){ae.warn(`[${lt.logName}] onAuthInvalid`),this.isFirstConnect&&this.emit("onAuthInvalid")}onNetworkError(){ae.warn(`[${lt.logName}] onNetworkError`);const e=new Y(te.ERR_INNER,"Network error, signaling connect failed.");this.emit("onNetworkError",e)}onClose(e){ae.info(`[${lt.logName}] onClose`,e),this.stopKeepAlive()}onKeepAliveRsp(){this.emit("onKeepAliveRsp"),this.checkAlive()}onReconnectStart(){this.emit("onReconnectStart")}onReconnectFail(){this.emit("onReconnectFail",new Y(te.ERR_INNER,"signaling reconnect failed."))}checkAlive(){window.clearTimeout(this.aliveChecker),this.aliveChecker=window.setTimeout(()=>{ae.info(`[${lt.logName}] not alive, reconnect`),this.stopKeepAlive(),this.emit("onReconnectStart"),this.wsClient.reconnect()},c0)}onRecvMessage(e){switch(e.msgtype!==ze.KEEPALIVE&&ae.info(`[${lt.logName}] recv msg: ${e.msgtype}`),e.msgtype){case ze.JOINCHANNEL:this.onJoinResult(e);break;case ze.KEEPALIVE:this.onKeepAliveRsp();break;case ze.PUBLISH:this.onPublishResult(e);break;case ze.NOTIFYJOIN:this.onNotifyJoin(e);break;case ze.NOTIFYSTATUS:this.onNotifyStatus(e);break;case ze.LEAVECHANNEL:this.onLeaveResult(e);break;case ze.NOTIFYLEAVE:this.onNotifyLeave(e);break;case ze.NOTIFYPUBLISH:this.onNotifyPublish(e);break;case ze.STATUSREPORT:this.onStatusReport(e);break;case ze.BYE:this.onBye(e);break;case ze.ROLEUPDATE:this.onRoleUpdateResult(e);break;case ze.REFRESHURL:this.onRefreshUrlResult(e);break;case ze.RECONNECT:this.onReconnectResult(e);break}}onJoinResult(e){this.isFirstConnect=!1,this.emit("onJoinChannelResult",e)}onLeaveResult(e){this.emit("onLeaveResult",e.code,e.tid)}onPublishResult(e){this.emit("onPublishResult",e.code,e.tid,e.description)}onRoleUpdateResult(e){this.emit("onRoleUpdateResult",e.code,e.tid,e.description)}onRefreshUrlResult(e){this.emit("onRefreshUrlResult",e)}onReconnectResult(e){if(e.code===200)this.sendPkgCache(),this.startKeepAlive(),this.emit("onReconnectSuccess",e.data.users);else{const t=new Y(te.ERR_INNER,`reconnect failed, code: ${e.code};description: ${e.description}`);e.code===403&&(t.code=403),this.emit("onReconnectFail",t),this.close()}}onNotifyJoin(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e&&e.data&&e.data.users&&this.emit("onNotifyJoin",e.data.users)}onNotifyStatus(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.status&&e.data.status.length&&this.emit("onNotifyStatus",e.data.status)}onNotifyLeave(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyLeave",e.data.users)}onNotifyPublish(e){let t=this.packageCreater.createResponsePackage(e.tid,e.msgtype);this.wsClient.send(t),e.data&&e.data.users&&e.data.users.length&&this.emit("onNotifyPublish",e.data.users)}onStatusReport(e){this.emit("onStatusReport",e.code,e.tid,e.description)}onBye(e){this.stopKeepAlive(),this.emit("onBye",e.reason,e.description)}};_(lt,"logName","RSMessageCenter");let _s=lt;const j=(s,c)=>(e,t,i)=>{const r=i.value;return i.value=function(...n){var g;const a=`[${((g=e.constructor)==null?void 0:g.logName)||""}]`,o=Date.now();let u=[];if(s)try{u=s(n)}catch(f){}ae.interface(a,t,...u);const h=r.apply(this,n);return Promise.resolve(h).then(f=>f).catch(f=>f).then(f=>{var m;let l="";const p=f instanceof Error,d=p&&((m=e.constructor)==null?void 0:m.logError);if(!(!c&&!p)){if(d)l=f;else if(p)l=f.message||"";else if(c)if(f===void 0)l="";else try{l=c(f)}catch(b){}else return;ae.interfaceResult(a,t,!(p&&d),`${Date.now()-o}ms`,l)}}),h},i},ne=s=>s;var u0=Object.defineProperty,h0=Object.getOwnPropertyDescriptor,ys=(s,c,e,t)=>{for(var i=t>1?void 0:t?h0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&u0(c,e,i),i};const Wi=(st=class extends xe{constructor(e,t,i,r=Dt.prod){super();_(this,"messageCenter");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"slsReporter");_(this,"reconnectData");_(this,"roomServerUri","");this.channelProfile=e,this.clientRole=t,this.slsReporter=i,this.reconnectData={role:{channelprofile:e,clientrole:t}};const n=r===Dt.pre?Li.pre:Li.prod;this.roomServerUri=`wss://${n}/roomserver/v1/ws`}updateReconnectData(e){var t;this.reconnectData=e,(t=this.messageCenter)==null||t.updateReconnectData(this.reconnectData)}reset(){ae.info("[roomsig] reset"),this.messageCenter&&(this.messageCenter.close(),this.messageCenter=void 0),this.authInfo=void 0}join(e,t,i){return O(this,null,function*(){return new Promise((r,n)=>{const a={};this.authInfo=e,this.userName=t,this.messageCenter=new _s(e,t,this.channelProfile,this.clientRole,this.slsReporter,i),this.initMessageCenter(),this.messageCenter.once("onJoinChannelResult",u=>{var h,g,f;if(ae.info(`[${st.logName}]`,"join result: ",u),a.taskretrynum=((h=this.messageCenter)==null?void 0:h.retryCount)||0,u.code==200){(g=this.messageCenter)==null||g.sendPkgCache(),(f=this.messageCenter)==null||f.startKeepAlive();let l=u.data;l.tid=u.tid,l.users=u.data.users,l.timestamp=u.timestamp,a.est&&(a.joinconnecttc=Date.now()-a.est),this.slsReporter.reportJoinConnection(a),r(l)}else this.reset(),n(this.handleSignalError(u.code,u.reason,te.ERR_JOIN_CHANNEL_FAILED))}),this.messageCenter.once("onAuthInvalid",()=>{this.reset(),n(new Y(te.ERR_JOIN_BAD_TOKEN,"join failed because authentication failed"))}),ae.info(`[${st.logName}]`,"start ws connecting roomserver and auto join when connected");const o={appid:this.authInfo.appId,callid:this.authInfo.sessionId,channelid:this.authInfo.channelId,userid:this.authInfo.userId,nonce:this.authInfo.nonce||"",timestamp:this.authInfo.timestamp,token:this.authInfo.token,authtype:"app",tid:Kt()};e.role&&(o.tokenrole=e.role),a.est=Date.now(),this.messageCenter.start(this.roomServerUri+"?"+St.queryingParam(o))})})}leave(){return ae.info("[roomsig] leave .."),new Promise((e,t)=>{this.messageCenter?(this.messageCenter.on("onLeaveResult",(i,r)=>{ae.info(`[${st.logName}]`,"recv leave response "+i),i===200?(this.updateReconnectData(),this.reset(),e({tid:r})):t(this.handleSignalError(i,"leave error"))}),ae.info(`[${st.logName}]`,"send leave request"),this.messageCenter.leave()):(ae.info(`[${st.logName}]`,"no message center, ok to leave"),e({tid:""}))})}publish(e){return new Promise((t,i)=>{var r;this.messageCenter?(this.messageCenter.once("onPublishResult",(n,a,o)=>{ae.info(`[${st.logName}]`,"recv pubish response "+n),n===200?(this.updateReconnectData(Rt(be({},this.reconnectData),{publish:{users:[e]}})),t({tid:a})):i(this.handleSignalError(n,`publish error, ${o}`))}),this.authInfo&&(e.sessionid=(r=this.authInfo.sessionId)!=null?r:""),e.callid||(e.callid=Kt()),ae.info(`[${st.logName}]`,"assign callid "+e.callid+" and send publish request"),this.messageCenter.publish(e)):i(this.handleSignalError(-1,"publish error, no message center"))})}roleUpdate(e){return new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"role update error, no message center"));return}this.messageCenter.on("onRoleUpdateResult",(r,n,a)=>{var o,u;ae.info(`[${st.logName}]`,"recv role update response "+r),r===200?((u=(o=this.reconnectData)==null?void 0:o.role)!=null&&u.clientrole&&(this.reconnectData.role.clientrole=e,this.updateReconnectData(this.reconnectData)),t({tid:n})):i(this.handleSignalError(r,`role update error, ${a}`))}),this.messageCenter.roleUpdate(e)})}setChannelProfile(e){this.channelProfile=e}refreshUrl(e){return ae.info(`[${st.logName}]`,"refreshUrl .."),new Promise((t,i)=>{if(!this.messageCenter){i(this.handleSignalError(-1,"refresh url error, no message center"));return}this.messageCenter.on("onRefreshUrlResult",r=>{const{code:n,description:a,data:o={}}=r||{};ae.info("recv refresh url response "+n),n===200?t(o):i(this.handleSignalError(n,`refresh url error, ${a}`))}),ae.info("send refresh url request"),this.messageCenter.refreshUrl(e)})}reportStatus(e){return ae.info(`[${st.logName}]`,"reportStatus "+e),new Promise((t,i)=>{this.messageCenter?(this.messageCenter.once("onStatusReport",(r,n)=>{r===200?t():i(new Y(r,n))}),this.messageCenter.reportStatus(e)):i(new Y(-1,"No messageCenter"))})}handleSignalError(e,t,i=te.ERR_INNER){const r=`signal error: code - ${e}; description - ${t}`;return new Y(i,r)}refreshAuthInfo(e){return O(this,null,function*(){var t;this.authInfo&&(this.authInfo=e,(t=this.messageCenter)==null||t.refreshAuthInfo(this.authInfo))})}initMessageCenter(){var e,t,i,r,n,a,o,u,h,g,f,l;(e=this.messageCenter)==null||e.on("onKeepAliveRsp",()=>{this.emit("onKeepAliveRsp")}),(t=this.messageCenter)==null||t.on("onNotifyJoin",p=>{this.emit("onNotifyJoin",p)}),(i=this.messageCenter)==null||i.on("onNotifyStatus",p=>{this.emit("onNotifyStatus",p)}),(r=this.messageCenter)==null||r.on("onNotifyLeave",p=>{this.emit("onNotifyLeave",p)}),(n=this.messageCenter)==null||n.on("onNotifyPublish",p=>{this.emit("onNotifyPublish",p)}),(a=this.messageCenter)==null||a.on("onBye",(p,d)=>{this.emit("onBye",p,d)}),(o=this.messageCenter)==null||o.on("onReconnectStart",()=>{this.emit("onReconnectStart")}),(u=this.messageCenter)==null||u.on("onReconnectSuccess",p=>{this.emit("onReconnectSuccess",p)}),(h=this.messageCenter)==null||h.on("onReconnectFail",p=>{this.emit("onReconnectFail",p)}),(g=this.messageCenter)==null||g.on("onConnectFail",p=>{this.emit("onConnectFail",p),this.reset()}),(f=this.messageCenter)==null||f.on("onNetworkError",p=>{this.emit("onNetworkError",p)}),(l=this.messageCenter)==null||l.on("onAuthInvalid",()=>{this.emit("onAuthInvalid")})}},_(st,"logName","RoomServerSignaling"),st);ys([j()],Wi.prototype,"join",1),ys([j()],Wi.prototype,"publish",1),ys([j()],Wi.prototype,"roleUpdate",1);let d0=Wi;const l0="https://pgw.rtn.aliyuncs.com",f0="https://gw.rtn.aliyuncs.com",Ia=10*60*1e3,p0=12,ki=class ki extends xe{constructor(e,t){super();_(this,"env");_(this,"authInfo");_(this,"timer");_(this,"slsReporter");_(this,"expiration",0);_(this,"skipTime",0);_(this,"requestToken",()=>O(this,null,function*(){if(this.skipTime=0,!this.authInfo)return;const{appId:e,channelId:t,userId:i,nonce:r="",token:n,timestamp:a,sessionId:o,role:u}=this.authInfo;let h=f0;this.env===Dt.pre&&(h=l0);const g=`${h}/gslb/v1/stsupdate?appid=${e}&channelid=${t}&userid=${i}&nonce=${r}&token=${n}&timestamp=${a}&session=${o}${u?`&tokenrole=${u}`:""}&slstoken=true&osstoken=true&tokensid=false`,f=Date.now();fetch(g).then(l=>l.json()).then(l=>{var p,d;if(l.code===0){const m=(p=l.data)==null?void 0:p.oss,b=(d=l.data)==null?void 0:d.sls;this.expiration=m.expiration||b.expiration,this.emit("onTokenUpdate",m,b),ae.event(`[${ki.logName}]`,"getToken",m,b)}else throw new Error;this.slsReporter.reportSTSResult(200,f)}).catch(l=>{this.slsReporter.reportSTSResult(-1,f),ae.error(`[${ki.logName}]`,"getToken",l.message)})}));this.slsReporter=e,this.env=t}refreshAuthInfo(e){this.authInfo=e}startSTSUpdate(e){this.authInfo=e,this.requestToken(),this.timer&&clearInterval(this.timer),this.timer=window.setInterval(()=>{if(this.expiration&&Math.floor((Date.now()+Ia*1.5)/1e3)<this.expiration&&this.skipTime<p0){this.skipTime+=1;return}this.requestToken()},Ia)}clear(){this.timer&&clearInterval(this.timer)}};_(ki,"logName","StsManager");let As=ki;var m0=Object.defineProperty,g0=Object.getOwnPropertyDescriptor,v0=(s,c,e,t)=>{for(var i=t>1?void 0:t?g0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&m0(c,e,i),i};class Es extends xe{constructor(e,t,i,r=Dt.prod){super();_(this,"signaling");_(this,"authInfo");_(this,"userName");_(this,"channelProfile");_(this,"clientRole");_(this,"env",Dt.prod);_(this,"maxConnectRetryCount");_(this,"stsManager");_(this,"slsReporter");this.channelProfile=e,this.clientRole=t,this.env=r,this.slsReporter=i,this.stsManager=new As(i,r)}reset(){var e;ae.info("[signalingmanager] reset"),(e=this.signaling)==null||e.reset(),this.stsManager.clear(),this.signaling=void 0,this.authInfo=void 0}join(e,t=e.userId,i,r){return this.maxConnectRetryCount=i,this.userName=t,new Promise((n,a)=>{this.signaling?a(new Y(te.ERR_JOIN_ALREADY_JOINED,"already joined")):(ae.info("[signalingmanager] create signaling"),this.signaling=new d0(this.channelProfile,this.clientRole,this.slsReporter,this.env),this.initSignaling(),r&&(r.rs=Date.now()),this.signaling.join(e,t,i).then(o=>{this.authInfo=e,r&&(r.re=Date.now()),n(o)}).catch(o=>{this.reset(),a(o)}),this.stsManager.startSTSUpdate(e))})}retryJoin(){const e=this.authInfo;this.reset(),e&&this.join(e,this.userName,this.maxConnectRetryCount)}leave(){return new Promise((e,t)=>{this.signaling?this.signaling.leave().then(i=>{this.reset(),e(i)}).catch(i=>{t(i)}):e({tid:""})})}publish(e){return new Promise((t,i)=>{var r;this.signaling&&this.authInfo?(e.userid=this.authInfo.userId,e.displayname=(r=this.userName)!=null?r:this.authInfo.userId,this.signaling.publish(e).then(n=>{t(n)}).catch(n=>{i(n)})):i(new Y(te.ERR_SDK_PUBLISH_NOT_JOIN_CHANNEL,"no signaling"))})}reportStatus(e){return new Promise((t,i)=>{this.signaling?this.signaling.reportStatus(e).then(()=>{t()}).catch(r=>{i(r)}):i(new Y(-1,"no signaling"))})}setClientRole(e){return O(this,null,function*(){const t=this.clientRole;if(!this.signaling){this.clientRole=e;return}const i=Date.now();try{const r=yield this.signaling.roleUpdate(e);return this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,0),r}catch(r){this.slsReporter.reportRoleUpdateResult(t,e,Date.now()-i,r.code||-1)}})}setChannelProfile(e){this.signaling?this.signaling.setChannelProfile(e):this.channelProfile=e}refreshUrl(e){return this.signaling?this.signaling.refreshUrl(e):Promise.reject(new Y(te.ERR_SDK_INVALID_STATE,"should join first"))}refreshAuthInfo(e){return O(this,null,function*(){var t;try{this.authInfo&&(this.authInfo=be(be({},this.authInfo),e),(t=this.signaling)==null||t.refreshAuthInfo(this.authInfo),this.stsManager.refreshAuthInfo(this.authInfo))}catch(i){throw i}})}initSignaling(){var e,t,i,r,n,a,o,u,h,g,f,l,p;(e=this.signaling)==null||e.on("onKeepAliveRsp",this.onKeepAliveRsp.bind(this)),(t=this.signaling)==null||t.on("onNotifyJoin",this.onNotifyJoin.bind(this)),(i=this.signaling)==null||i.on("onNotifyStatus",this.onNotifyStatus.bind(this)),(r=this.signaling)==null||r.on("onNotifyLeave",this.onNotifyLeave.bind(this)),(n=this.signaling)==null||n.on("onNotifyPublish",this.onNotifyPublish.bind(this)),(a=this.signaling)==null||a.on("onBye",this.onBye.bind(this)),(o=this.signaling)==null||o.on("onReconnectStart",this.onReconnectStart.bind(this)),(u=this.signaling)==null||u.on("onReconnectSuccess",this.onReconnectSuccess.bind(this)),(h=this.signaling)==null||h.on("onReconnectFail",this.onReconnectFail.bind(this)),(g=this.signaling)==null||g.on("onConnectFail",this.onConnectFail.bind(this)),(f=this.signaling)==null||f.on("onNetworkError",this.onNetworkError.bind(this)),(l=this.signaling)==null||l.on("onAuthInvalid",this.onAuthInvalid.bind(this)),(p=this.signaling)==null||p.on("onError",this.onError.bind(this))}onKeepAliveRsp(){this.emit("onKeepAliveRsp")}onNotifyJoin(e){this.emit("onNotifyJoin",e)}onNotifyStatus(e){this.emit("onNotifyStatus",e)}onNotifyLeave(e){this.emit("onNotifyLeave",e)}onNotifyPublish(e){this.emit("onNotifyPublish",e)}onBye(e,t){this.emit("onBye",e,t)}onConnectFail(e){this.reset(),this.emit("onConnectFail",e)}onNetworkError(e){this.emit("onNetworkError",e)}onAuthInvalid(e){}onReconnectStart(){this.emit("onReconnectStart")}onReconnectSuccess(e){this.emit("onReconnectSuccess",e)}onReconnectFail(e){this.emit("onReconnectFail",e)}onError(e){this.emit("onError",e)}}_(Es,"logName","SignalingManager"),v0([j(ne)],Es.prototype,"publish",1);const ii=class ii{static getInstance(){return ii.instance||(ii.instance=new AudioContext),ii.instance.resume(),ii.instance}};_(ii,"instance");let ui=ii;function b0(s,c,e,t,i){let r=t,n=0,a;const o=s.createAnalyser();o.fftSize=256;const u=new Uint8Array(o.frequencyBinCount);c.connect(o),o.connect(e);const h=()=>{a&&window.clearInterval(a)},g=()=>{a=window.setInterval(()=>{o.getByteFrequencyData(u);let f=Math.round(u.reduce((l,p)=>l+p)/u.length);f=Math.min(100,f),n=f,i&&i(f)},r)};return g(),{updateInterval:f=>{h(),r=f,g()},getLevel:()=>n,dispose:()=>{h(),c.disconnect(),o.disconnect()}}}class x0 extends xe{constructor(){super();_(this,"audioContext");_(this,"stream");_(this,"sourceNode");_(this,"analyser");this.audioContext=ui.getInstance(),this.stream=new MediaStream}getLevel(){return this.analyser?this.analyser.getLevel():0}start(e,t=1e3){this.sourceNode&&this.stop(),this.stream.addTrack(e),this.sourceNode=this.audioContext.createMediaStreamSource(this.stream);const i=this.audioContext.createMediaStreamDestination();this.analyser=b0(this.audioContext,this.sourceNode,i,t,r=>{this.emit("audioLevel",r)})}stop(){this.analyser&&this.analyser.dispose(),this.analyser=void 0,this.sourceNode=void 0,this.stream.getAudioTracks().forEach(e=>{this.stream.removeTrack(e)})}dispose(){this.stop()}}class Ra extends xe{constructor(e,t,i,r){super();_(this,"uid");_(this,"name");_(this,"rtsManager");_(this,"callId","");_(this,"audioLevelMonitor");_(this,"audioVolumeIndicationInterval",0);this.uid=e,this.name=t,this.rtsManager=i,this.audioVolumeIndicationInterval=r,this.audioLevelMonitor=new x0}get userId(){return this.uid}get displayname(){return this.name}createCallId(){this.callId||(this.callId=St.createCallid())}setUserInfo(e,t){this.uid=e,this.name=t}refreshUserInfo(e){this.uid=e}getAudioLevel(){return this.audioLevelMonitor.getLevel()}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval=e}clear(){this.audioLevelMonitor.dispose()}}class Da{static getCurrentStatus(c){let e=0;c.micOpen&&(e+=1),c.micInterrupted&&(e+=2),c.cameraOpen&&(e+=4),c.screenShare&&(e+=128),c.audioDisable&&(e+=8),c.videoDisable&&(e+=16),c.screenDisable&&(e+=256);let t=e.toString(16);for(;t.length<16;)t="0"+t;return t}static parseStatus(c){let e=parseInt(c,16);return{micOpen:!!(e&1),micInterrupted:!!(e&2),cameraOpen:!!(e&4),screenShare:!!(e&128),audioDisable:!!(e&8),videoDisable:!!(e&16),screenDisable:!!(e&256),backgroundMode:!!(e&32),accompanyPlaying:!!(e&64)}}}const Ta="customVideoProfile",ka="customScreenProfile",wi={width:1280,height:720,frameRate:30,maxBitrate:2e3},Ci={width:1920,height:1080,frameRate:30,maxBitrate:2600},S0={1e4:He.AliEngineLocalDeviceExceptionTypeUnknown,2e4:He.AliEngineLocalDeviceExceptionTypeUnknown,10001:He.AliEngineLocalDeviceExceptionTypeMicNotAvailable,10002:He.AliEngineLocalDeviceExceptionTypeMicAuthFail,10003:He.AliEngineLocalDeviceExceptionTypeMicOpenFail,10005:He.AliEngineLocalDeviceExceptionTypeCameraAuthFail,10004:He.AliEngineLocalDeviceExceptionTypeVideoDeviceException,10006:He.AliEngineLocalDeviceExceptionTypeCameraOpenFail,10010:He.AliEngineLocalDeviceExceptionTypeDisplayException,10011:He.AliEngineLocalDeviceExceptionTypeDisplayException,10012:He.AliEngineLocalDeviceExceptionTypeDisplayException,10013:He.AliEngineLocalDeviceExceptionTypeDisplayException,10014:He.AliEngineLocalDeviceExceptionTypeDisplayException,10019:He.AliEngineLocalDeviceExceptionTypeDisplayException},_0=s=>s.getAudioTracks()[0];function Pa(s){var c;if(((c=s==null?void 0:s.nodeName)==null?void 0:c.toLowerCase())==="video")return s.setAttribute("playsinline",""),s;if(typeof s=="string"){let e=document.getElementById(s);if(e){if(e.nodeName.toLocaleLowerCase()==="video")return e.setAttribute("playsinline",""),e;throw new Y(te.ERR_INVALID_ARGUMENTS,"element should be HtmlVideoElement")}else throw new Y(te.ERR_INVALID_ARGUMENTS,"element not founded")}else throw new Y(te.ERR_INVALID_ARGUMENTS,"element id should be string")}function ws(s){var e;const c=[];if(Array.isArray(s))s.forEach(t=>{try{c.push(Pa(t))}catch(i){}});else if(typeof s=="string"||((e=s==null?void 0:s.nodeName)==null?void 0:e.toLowerCase())==="video")try{c.push(Pa(s))}catch(t){}return c}function Nt(s){return new Promise(c=>setTimeout(c,s))}function Ba(s,c,e=1e3,t=i=>!0){return O(this,null,function*(){let i=0,r;for(;i<c;)try{return yield s(i)}catch(n){if(i++,i>=c||!t(n))throw n||r;yield new Promise(a=>setTimeout(a,e))}})}function y0(s,c){let e=0;const t=[];for(;e<s.byteLength;){const i=Math.min(c,s.byteLength-e),r=s.slice(e,e+i);t.push(r),e+=i}return t}const La=(s,c,e=!1)=>{const t=()=>(s.muted=!0,Promise.race([Nt(500),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{let i;return e&&s.srcObject===c?i=Promise.resolve():(s.load(),s.srcObject=c,i=s.play(),s._playPromise=i),i}));return new Promise(i=>{if(fe.AliRTS.BrowserUtil.isMicroMessenger){const r=window.top!==window.self,n=window.WeixinJSBridge||window.top.WeixinJSBridge;n?n.invoke("getNetworkType",{},()=>{i(t())}):(r?window.top.document:document).addEventListener("WeixinJSBridgeReady",()=>{n.invoke("getNetworkType",{},()=>{i(t())})}),setTimeout(()=>{i(t())},1e3)}else setTimeout(()=>{i(t())},0)})},Ft=s=>{Promise.race([Nt(100),s._playPromise||Promise.resolve()]).catch(()=>{}).then(()=>{s.srcObject=null,s._playPromise=void 0})};var Cs=(s=>(s[s.AliEngineDataMsgNone=0]="AliEngineDataMsgNone",s[s.AliEngineDataMsgMusicProgress=1]="AliEngineDataMsgMusicProgress",s[s.AliEngineDataMsgCustom=2]="AliEngineDataMsgCustom",s))(Cs||{});class Ki{constructor(c,e,t,i=0){_(this,"msgType");_(this,"msgId");_(this,"protocolVersion");_(this,"tlvVersion");this.msgType=c,this.msgId=e,this.protocolVersion=t,this.tlvVersion=i}build(){const c=new Uint8Array(4);return c.set(Uint8Array.from([this.protocolVersion,this.tlvVersion<<4|this.msgType&15]),0),c.set(Uint16Array.from([this.msgId]),2),c}static parse(c){const e=new DataView(c),t=e.getUint8(0),i=e.getUint8(1)>>4,r=e.getUint8(1)&15,n=e.getUint16(2);return new Ki(r,n,t,i)}}const Qt=5;class $i{constructor(c,e,t){_(this,"_byteArray");if(this._byteArray=new Uint8Array(0),c!==void 0&&e!==void 0&&t!==void 0){const r=new Ki(c,e,t).build();this._byteArray=new Uint8Array(r.byteLength+this._byteArray.byteLength),this._byteArray.set(r,0)}}write(c,e){const t=this._byteArray,i=new ArrayBuffer(Qt),r=new DataView(i);r.setUint8(0,c),r.setUint32(1,e.byteLength);const n=new Uint8Array(t.byteLength+Qt+e.byteLength);n.set(t,0),n.set(new Uint8Array(i),t.byteLength),n.set(new Uint8Array(e),t.byteLength+Qt),this._byteArray=n}static parse(c){const e={},t=new DataView(c);let i=0;for(;i<c.byteLength;){const r=t.getUint8(i),n=t.getUint32(i+1);if(i+Qt+n<=c.byteLength){const a=c.slice(i+Qt,i+Qt+n);e[r]=a,i+=Qt+n}else break}return e}get buffer(){return this._byteArray.buffer}}class Ii{constructor(c=0,e=!0,t=1,i=!1,r=0,n=!1,a=!1,o=3){_(this,"_fin",!0);_(this,"_hasExtension",!1);_(this,"_version",0);_(this,"_frameType",1);_(this,"_isEncrypted",!1);_(this,"_isCompressed",!1);_(this,"_signalType",3);_(this,"_payloadLength",0);this._fin=e,this._hasExtension=i,this._version=r,this._frameType=t,this._isEncrypted=n,this._isCompressed=a,this._signalType=o,this._payloadLength=c}get fin(){return this._fin}get hasExtension(){return this._hasExtension}get version(){return this._version}get frameType(){return this._frameType}get isEncrypted(){return this._isEncrypted}get isCompressed(){return this._isCompressed}get signalType(){return this._signalType}get payloadLength(){return this._payloadLength}toBuffer(){const c=new ArrayBuffer(4),e=new DataView(c);return e.setUint8(0,(this._fin?1:0)<<7|(this._hasExtension?1:0)<<6|this._version<<4|this._frameType&15),e.setUint8(1,(this._isEncrypted?1:0)<<7|(this._isCompressed?1:0)<<6|this._signalType&15),e.setUint16(2,this._payloadLength),c}static parse(c){const e=new DataView(c),t=e.getUint8(0)>>7===1,i=(e.getUint8(0)&64)>>6===1,r=(e.getUint8(0)&48)>>4,n=e.getUint8(0)&15,a=e.getUint8(1)>>7===1,o=(e.getUint8(1)&64)>>6===1,u=e.getUint8(1)&15,h=e.getUint16(2);return new Ii(h,t,n,i,r,a,o,u)}}class qi{constructor(c,e){_(this,"_body");_(this,"_header",new Ii);this._header=c,this._body=e}get header(){return this._header}get isFin(){return this._header.fin}get body(){return this._body}toGRTNBuffer(){const c=this._header.toBuffer(),e=this._body,t=new ArrayBuffer(4);new DataView(t).setUint8(0,1*Math.pow(2,4));const i=new Uint8Array(t.byteLength+c.byteLength+e.byteLength);return i.set(new Uint8Array(t),0),i.set(new Uint8Array(c),t.byteLength),i.set(new Uint8Array(e),t.byteLength+c.byteLength),i.buffer}static parse(c){const e=c.slice(0,4),t=Ii.parse(e);let i=new ArrayBuffer(0);return c.byteLength-4>=t.payloadLength&&(i=c.slice(4,4+t.payloadLength)),new qi(t,i)}}const Is=s=>{const c=s.byteLength,e=new DataView(s);let t=0;for(let i=0;i<c;i++)t=t*256+e.getUint8(i);return t};let Ma=0;class ei{constructor(c,e=0,t=0,i=0){_(this,"data");_(this,"networkTime");_(this,"futureOrProgress");_(this,"type");this.data=c,this.type=e,this.networkTime=t,this.futureOrProgress=i}toBuffer(){const c=new $i(0,0,0);c.write(1,Uint8Array.from([0]).buffer),c.write(2,Uint16Array.from([0]).buffer),Ma++,c.write(3,Uint32Array.from([Ma]).buffer);const e=new $i;return e.write(1,Uint8Array.from([0]).buffer),e.write(2,Uint8Array.from([this.type]).buffer),e.write(3,Uint32Array.from([this.futureOrProgress]).buffer),e.write(4,Uint32Array.from([Number(this.networkTime>>32&4294967295),Number(this.networkTime&4294967295)]).buffer),e.write(5,this.data),c.write(30,e.buffer),c.buffer}static parse(c){if(!c||c.byteLength<4)return;Ki.parse(c.slice(0,4));const t=$i.parse(c.slice(4))[30];if(!t)return;const i=$i.parse(t),r=i[2],n=i[3],a=i[4],o=i[5];if(o.byteLength!==0)return new ei(o,Is(r),Is(a),Is(n))}}var A0=Object.defineProperty,E0=Object.getOwnPropertyDescriptor,Ve=(s,c,e,t)=>{for(var i=t>1?void 0:t?E0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&A0(c,e,i),i};const Na=30;class Ri extends xe{constructor(){super();_(this,"state");_(this,"time");this.state=ve.AliRtcStatePublishIdle,this.time=Date.now()}setState(e){const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}}const Oe=(Ut=class extends Ra{constructor(e){const{rtsManager:t,localStreamManager:i,slsReporter:r,signalingManager:n,audioVolumeIndicationInterval:a,parameter:o}=e;super("","",t,a);_(this,"url","");_(this,"joinTime",0);_(this,"_isPublishing",!1);_(this,"publishPromise",Promise.resolve({traceId:"",l1ip:void 0}));_(this,"previewElements",[]);_(this,"screenPreviewElements",[]);_(this,"streamManager");_(this,"dc");_(this,"streamTracks");_(this,"publishId",Kt());_(this,"signalingManager");_(this,"traceId","");_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"candidateDataCache",[]);_(this,"pcMediaStatsMap",{});_(this,"slsReporter");_(this,"audioPubState");_(this,"videoPubState");_(this,"videoSmallPubState");_(this,"screenPubState");_(this,"dataPubState");_(this,"parameter",{});_(this,"onTrackEnd",e=>{this.emit(e)});this.streamManager=i,this.signalingManager=n,this.slsReporter=r,this.parameter=o,this.streamManager.on("trackended",u=>{this.onTrackEnd(u)}),this.streamManager.on("publishupdate",()=>{this.publishUpdate()}),this.audioPubState=new Ri,this.audioPubState.on("change",(u,h,g)=>{this.emit("audioPublishStateChanged",u,h,g)}),this.videoPubState=new Ri,this.videoPubState.on("change",(u,h,g)=>{this.emit("videoPublishStateChanged",u,h,g)}),this.videoSmallPubState=new Ri,this.videoSmallPubState.on("change",(u,h,g)=>{this.emit("dualStreamPublishStateChanged",u,h,g)}),this.screenPubState=new Ri,this.screenPubState.on("change",(u,h,g)=>{this.emit("screenPublishStateChanged",u,h,g)}),this.dataPubState=new Ri,this.dataPubState.on("change",(u,h,g)=>{this.emit("dataPublishStateChanged",u,h,g)}),this.startStreamMonitor()}get joined(){return!!this.uid}get isPublishing(){return this._isPublishing}get publishStreams(){return this.streamManager.publishStreams}get cameraTrack(){return this.streamManager.cameraStreamInfo.originVideoTrack}get screenTrack(){return this.streamManager.screenStreamInfo.originVideoTrack}get audioTrack(){return this.streamManager.cameraStreamInfo.originAudioTrack}get hasCamera(){return!!this.streamManager.cameraStreamInfo.originVideoTrack}get hasMicrophone(){return!!this.streamManager.cameraStreamInfo.originAudioTrack}get hasScreenShare(){return!!this.streamManager.screenStreamInfo.originVideoTrack}get hasCameraTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.VideoLarge))}get hasCameraDualTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.VideoSmall))}get hasScreenTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="video"&&t&&r===G.Screen))}get hasAudioTrackInMS(){var e;return!!((e=this.streamTracks)!=null&&e.find(({ssrc:t,type:i,msid:r})=>i==="audio"&&t&&r===G.Audio))}get cameraDirection(){var e,t;return(t=(e=this.streamManager.cameraStreamInfo)==null?void 0:e.cameraVideoConstraints)==null?void 0:t.facingMode}get audioCaptureDisabled(){return this.streamManager.audioCaptureDisabled}get cameraCaptureDisabled(){return this.streamManager.cameraCaptureDisabled}get publishLocalVideoStreamEnabled(){return this.streamManager.publishLocalVideoStreamEnabled}get publishLocalAudioStreamEnabled(){return this.streamManager.publishLocalAudioStreamEnabled}get publishLocalScreenStreamEnabled(){return this.streamManager.publishLocalScreenStreamEnabled}setPublishLocalAudioStreamEnabled(e){this.streamManager.publishLocalAudioStreamEnabled=e}setPublishLocalVideoStreamEnabled(e){this.streamManager.publishLocalVideoStreamEnabled=e}setPublishLocalScreenStreamEnabled(e){this.streamManager.publishLocalScreenStreamEnabled=e}initInfo(e,t){this.joinTime=Date.now(),this.rtsManager.localJoinTime=this.joinTime,this.setUserInfo(e.userId,e.userId),this.url=t,this.callId=e.sessionId||St.createCallid(),this.updatePubId()}setVideoProfile(e,t){return O(this,null,function*(){yield this.streamManager.setVideoProfile(e,t)})}setVideoContentHint(e){this.streamManager.setVideoContentHint(e)}setScreenContentHint(e){this.streamManager.setScreenContentHint(e)}setAudioProfile(e){return O(this,null,function*(){yield this.streamManager.setAudioProfile(e)})}setScreenProfile(e,t){return O(this,null,function*(){yield this.streamManager.setScreenProfile(e,t)})}setCameraDirection(e){if(e===Ei.CAMERA_FRONT)this.streamManager.setCameraVideoConstraints({facingMode:"user"});else if(e===Ei.CAMERA_REAR)this.streamManager.setCameraVideoConstraints({facingMode:"environment"});else throw new Y(te.ERR_CAMERA_OPEN_FAIL,`camera direction set to ${e} failed`)}setCameraDeviceId(e){this.streamManager.setCameraVideoConstraints({deviceId:e})}muteLocalCamera(e){this.streamManager.setCameraMuted(e),this.slsReporter.reportMute(this.callId,!e,"video")}muteLocalMic(e){this.streamManager.setAudioMuted(e),this.slsReporter.reportMute(this.callId,!e,"audio")}muteLocalScreen(e){this.streamManager.setScreenMuted(e),this.slsReporter.reportMute(this.callId,!e,"screen")}setMicrophoneDeviceId(e){this.streamManager.setMicAudioConstraints({deviceId:e})}updatePubId(){this.publishId=Kt()}clearPublishState(){this.streamTracks=void 0}leave(){return O(this,null,function*(){this._isPublishing&&(this._isPublishing=!1,yield this.unPublish())})}clear(){return O(this,null,function*(){Fs(Ut.prototype,this,"clear").call(this),this.stopPreview(),this.resetPreviewElements(),this.resetSecondayPreviewElements(),this.clearStream(),yield this.leave(),this.streamManager.cameraCaptureDisabled=!1})}resetElement(e){this.previewElements.includes(e)&&(Ft(e),this.previewElements.splice(this.previewElements.indexOf(e),1)),this.screenPreviewElements.includes(e)&&(Ft(e),this.screenPreviewElements.splice(this.screenPreviewElements.indexOf(e),1))}setPreviewElement(e){const{videoElement:t,screen:i}=e;i?this.screenPreviewElements.includes(t)||this.screenPreviewElements.push(t):this.previewElements.includes(t)||this.previewElements.push(t)}startDefaultCamera(e){return O(this,null,function*(){const{hasCamera:t,cameraCaptureDisabled:i,publishLocalVideoStreamEnabled:r}=this;let n=[];if(!t&&!e&&!i&&r){try{n=yield fe.AliRTS.getCameraList(),n.length&&(yield this.startCameraCapture())}catch(a){throw a.code===fe.AliRTS.ErrorCode.ERROR_DEVICE_VIDEODEVICE_NOTALLOWED?new Y(te.ERR_CAMERA_AUTH_FAIL,"camera auth fail"):new Y(te.ERR_CAMERA_OPEN_FAIL,`camera open fail: ${a.message}`)}if(!n.length)throw new Y(te.ERR_CAMERA_NOT_AVAILABLE,"No camera device can be captured")}})}startDefaultAudio(){return O(this,null,function*(){const{hasMicrophone:e,audioCaptureDisabled:t,publishLocalAudioStreamEnabled:i}=this;let r=[];if(!e&&!t&&i){try{r=yield fe.AliRTS.getMicList(),r.length&&(yield this.startAudioCapture())}catch(n){throw n.code===fe.AliRTS.ErrorCode.ERROR_DEVICE_AUDIODEVICE_NOTALLOWED?new Y(te.ERR_MIC_AUTH_FAIL,"microphone auth fail"):new Y(te.ERR_MIC_OPEN_FAIL,`microphone open fail: ${n.message}`)}if(!r.length)throw new Y(te.ERR_MIC_NOT_AVAILABLE,"No microphone device can be captured")}})}setViewConfig(e,t){if(!e){t===Ae.AliRtcVideoTrackCamera?this.stopPreview({primary:!0,screen:!1}):this.stopPreview({primary:!1,screen:!0});return}if(![Ae.AliRtcVideoTrackCamera,Ae.AliRtcVideoTrackScreen].includes(t))throw new Y(te.ERR_INVALID_ARGUMENTS,"set view config invalid track",{track:t});e.forEach(i=>{this.setPreviewElement({videoElement:i,screen:t===Ae.AliRtcVideoTrackScreen})})}startCameraCapture(){return O(this,null,function*(){return this.streamManager.cameraCaptureDisabled=!1,yield this.createLocalStream({video:!0})})}stopCameraCapture(){return O(this,null,function*(){this.streamManager.cameraCaptureDisabled=!0,yield this.stopLocalStream({video:!0})})}startAudioCapture(){return O(this,null,function*(){return this.streamManager.audioCaptureDisabled=!1,yield this.createLocalStream({audio:!0})})}stopAudioCapture(){return O(this,null,function*(){this.streamManager.audioCaptureDisabled=!0,yield this.stopLocalStream({audio:!0})})}preview(e){return O(this,null,function*(){const{videoElement:t,screen:i}=e!=null?e:{};try{let r=i?this.streamManager.screenStreamInfo.previewStream:this.streamManager.cameraStreamInfo.previewStream;if(!t)throw new Y(te.ERR_INVALID_ARGUMENTS,"no video element found",{videoElement:t});if(!r){ae.info(`[${Ut.logName}]`,"preview no stream founded");return}return La(t,r.mediaStream),this.setPreviewElement(e),r.mediaStream}catch(r){const n=te.ERR_INNER;throw Y.fromError(r,n,"preview failed")}})}previewAll(e){return O(this,null,function*(){const{primary:t=!0,screen:i=!0}=e!=null?e:{};if(t&&this.previewElements.length)for(let r=0;r<this.previewElements.length;r++){const n=this.previewElements[r];yield this.preview({videoElement:n})}if(i&&this.screenPreviewElements.length)for(let r=0;r<this.screenPreviewElements.length;r++){const n=this.screenPreviewElements[r];yield this.preview({videoElement:n,screen:!0})}})}stopPreview(e){const{videoElement:t,primary:i=!0,screen:r=!0}=e||{};if(!t)i&&(this.previewElements.forEach(n=>{Ft(n)}),this.previewElements=[]),r&&(this.screenPreviewElements.forEach(n=>{Ft(n)}),this.screenPreviewElements=[]);else{const n=this.previewElements.findIndex(a=>a===t);if(n>=0)this.previewElements.splice(n,1),Ft(t);else{const a=this.screenPreviewElements.findIndex(o=>o===t);a>=0&&(this.screenPreviewElements.splice(a,1),Ft(t))}}}resumePublish(){return O(this,null,function*(){this._isPublishing=!1,yield this.startPublish(!0)})}createLocalStream(e){return O(this,null,function*(){try{const t=yield this.streamManager.createLocalStream(e);return t!=null&&t.audioTrack&&this.audioVolumeIndicationInterval>0&&this.audioLevelMonitor.start(t.audioTrack,this.audioVolumeIndicationInterval),e.video?this.previewAll({primary:!0}):e.screen&&this.previewAll({screen:!0}),t}catch(t){const i=S0[t.errorCode];throw i&&(e.audio?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeMic,i,""):e.video?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeCamera,i,""):e.screen?this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeDisplay,i,""):this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeUnknown,i,"")),t}})}stopLocalStream(e){return O(this,null,function*(){e.audio&&this.audioLevelMonitor.stop(),yield this.streamManager.stopLocalStream(e)})}compareAndPublish(e,t,i){return O(this,null,function*(){var n,a;if(!e&&!t)return;if(e&&!t){const o={};return i===G.Audio?o.audio=!0:i===G.VideoLarge||i===G.VideoSmall?(o.video=!0,o.vMsid=i):i===G.Screen&&(o.screen=!0),yield this.publishDeleteTracks(o)}const r={};if(t!=null&&t.hasVideo&&(r.isScreen=i===G.Screen,r.vMsid=i),t!=null&&t.hasAudio&&(r.aMsid=i),!e&&t)return yield this.publishAdd(t,r,!1);if(e&&t){const o=e.trackId,u=((n=t.videoTrack)==null?void 0:n.id)||((a=t.audioTrack)==null?void 0:a.id);if(o!==u)return yield this.publishReplace(t,r)}})}reportAudioProfile(){const e=this.streamManager.cameraStreamInfo.audioProfile||"standard",t=fe.AliRTS.AudioProfileMap.get(e);this.slsReporter.reportPublishProfile(G.Audio,{a_profile:e,bits:(t==null?void 0:t.maxBitrate)||0,samplerate:(t==null?void 0:t.sampleRate)||0,channel:(t==null?void 0:t.channelCount)||0})}reportVideoProfile(){const e=this.streamManager.cameraStreamInfo.videoProfile||"",t=fe.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(G.VideoLarge,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}reportScreenProfile(){const e=this.streamManager.screenStreamInfo.videoProfile||"",t=fe.AliRTS.VideoProfileMap.get(e);t&&this.slsReporter.reportPublishProfile(G.Screen,{v_profile:e,wdth:(t==null?void 0:t.width)||0,hgt:(t==null?void 0:t.height)||0,fps:(t==null?void 0:t.frameRate)||0,bitrate:(t==null?void 0:t.maxBitrate)||0})}startPublish(){return O(this,arguments,function*(e=!1,t=Bt.MANUAL){var u;if(!this.joined)return;this.createCallId();const i=yield this.streamManager.publishStreams,{audio:r,video:n,videoSmall:a,screen:o}=i;try{const h=new Date().getTime();r&&this.audioPubState.setState(ve.AliRtcStatePublishing),n&&this.videoPubState.setState(ve.AliRtcStatePublishing),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),o&&this.screenPubState.setState(ve.AliRtcStatePublishing),this.publishPromise=this.rtsManager.publish(this.url,this.callId,e,t);const{traceId:g,l1ip:f}=yield this.publishPromise;if(this._isPublishing=!0,this.streamTracks=this.rtsManager.publishingTracks,this.traceId=g,(u=this.parameter.data)!=null&&u.enablePubDataChannel){this.dataPubState.setState(ve.AliRtcStatePublishing);const p=yield this.rtsManager.publishAddDataChannel(this.url);p?(this.dc=p,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dataPubState.setState(ve.AliRtcStatePublished)):this.emit("publishDataError",new Y(te.ERR_INNER,"publishDataError"))}r&&(this.trackTraceIdMap[G.Audio]=g,this.reportAudioProfile()),a&&(this.trackTraceIdMap[G.VideoSmall]=g),n&&(this.trackTraceIdMap[G.VideoLarge]=g,this.reportVideoProfile()),o&&(this.trackTraceIdMap[G.Screen]=g,this.reportScreenProfile());const l={type:Wt.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:e,subscribe:{signal:"",pullstreamurl:this.url},l1ip:this.parameter.reportL1IP?f:void 0,callid:this.callId,tracks:this.streamTracks,traceid:g};yield this.syncPublishToRoomServer(l,i,h),r&&this.audioPubState.setState(ve.AliRtcStatePublished),n&&this.videoPubState.setState(ve.AliRtcStatePublished),a&&this.videoSmallPubState.setState(ve.AliRtcStatePublished),o&&this.screenPubState.setState(ve.AliRtcStatePublished)}catch(h){throw r&&this.audioPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoPubState.setState(ve.AliRtcStateNoPublish),a&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),o&&this.screenPubState.setState(ve.AliRtcStateNoPublish),h}})}updateStreams(){return O(this,null,function*(){yield this.streamManager.updateStreams()})}publishUpdate(){return O(this,null,function*(){var r,n,a,o;if(!this._isPublishing)return;yield this.publishPromise;const e=this.streamManager.publishStreams;let t;const i=new Date().getTime();try{const u=(r=this.streamTracks)==null?void 0:r.find(({ssrc:b,type:v,msid:x})=>v==="audio"&&b&&x===G.Audio),h=yield this.compareAndPublish(u,e.audio,G.Audio);h&&(t=h);const g=(n=this.streamTracks)==null?void 0:n.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.VideoLarge),f=yield this.compareAndPublish(g,e.video,G.VideoLarge);f&&(t=f);const l=(a=this.streamTracks)==null?void 0:a.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.VideoSmall),p=yield this.compareAndPublish(l,e.videoSmall,G.VideoSmall);p&&(t=p);const d=(o=this.streamTracks)==null?void 0:o.find(({ssrc:b,type:v,msid:x})=>v==="video"&&b&&x===G.Screen),m=yield this.compareAndPublish(d,e.screen,G.Screen);if(m&&(t=m),!t)return;yield this.syncPublishToRoomServer(t,e,i)}catch(u){const{code:h}=u!=null?u:{},g=this.url;throw h===403&&g&&(yield this.refreshPushStreamUrl(),t=yield this.publishUpdate()),u}return t})}syncPublishToRoomServer(e,t,i){return O(this,null,function*(){var o;if(!e)throw new Y(te.ERR_INNER,"sync publish to room server failed because no publishInfo");let r=e;if(this.dc){const a=e,{tracks:u}=a,h=pi(a,["tracks"]);r=Rt(be({},h),{tracks:[...u,{type:"data",msid:G.Data,ssrc:`${((o=this.callId)==null?void 0:o.length)>8?this.callId.substring(0,8):"web"}${this.dc.datachannel.id||"0"}`,codec:"text"}]})}const n=yield this.signalingManager.publish(r);e.signaltid=n.tid})}refreshPushStreamUrl(){return O(this,null,function*(){const e=new Y(te.ERR_INNER,"refresh push stream url error"),t=this.url;if(!t)throw e;const i=yield this.signalingManager.refreshUrl({pushstreamurl:t});if(!(i!=null&&i.pushstreamurl))throw e;this.url=i==null?void 0:i.pushstreamurl})}publishAdd(e,t,i=!1,r=0){return O(this,null,function*(){this.createCallId();const n=(t==null?void 0:t.aMsid)===G.Audio,a=(t==null?void 0:t.vMsid)===G.VideoLarge,o=(t==null?void 0:t.vMsid)===G.VideoSmall,u=(t==null?void 0:t.vMsid)===G.Screen;n&&this.audioPubState.setState(ve.AliRtcStatePublishing),a&&this.videoPubState.setState(ve.AliRtcStatePublishing),o&&this.videoSmallPubState.setState(ve.AliRtcStatePublishing),u&&this.screenPubState.setState(ve.AliRtcStatePublishing);try{const h=yield this.rtsManager.publishAdd(this.url,e,this.callId,t,!1,!0);n&&(this.audioPubState.setState(ve.AliRtcStatePublished),this.reportAudioProfile(),this.trackTraceIdMap[G.Audio]=h),a&&(this.videoPubState.setState(ve.AliRtcStatePublished),this.reportVideoProfile(),this.trackTraceIdMap[G.VideoLarge]=h),o&&(this.videoSmallPubState.setState(ve.AliRtcStatePublished),this.trackTraceIdMap[G.VideoSmall]=h),u&&(this.screenPubState.setState(ve.AliRtcStatePublished),this.reportScreenProfile(),this.trackTraceIdMap[G.Screen]=h),this.streamTracks=this.rtsManager.publishingTracks;const g={type:Wt.Add,userid:this.userId,sessionid:"",displayname:this.name,pubid:this.publishId,resume:i,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks,traceid:h};return this.reportSelfDeviceStatus(),this.monitorTimerId||this.startStreamMonitor(),g}catch(h){let g=te.ERR_SDK_PUBLISH_INVAILD;if(n&&(this.audioPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED),a&&(this.videoPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED),o&&(this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_DUAL_STREAM_FAILED),u&&(this.screenPubState.setState(ve.AliRtcStateNoPublish),g=te.ERR_SDK_PUBLISH_SCEEN_SHARE_FAILED),h.errorCode===15006&&r<3)return this.publishAdd(e,t,i,r+1);throw Y.fromError(h,g,"publish add failed")}})}publishReplace(e,t){return O(this,null,function*(){try{yield this.rtsManager.publishReplace(this.url,e,t),this.streamTracks=this.rtsManager.publishingTracks;const i={type:Wt.Replace,userid:this.userId,sessionid:"",pubid:this.publishId,displayname:this.name,subscribe:{signal:"",pullstreamurl:this.url},callid:this.callId,tracks:this.streamTracks};return this.reportSelfDeviceStatus(),i}catch(i){throw Y.fromError(i,te.ERR_INNER,`publish replace failed, vMsid: ${t==null?void 0:t.vMsid} aMsid: ${t==null?void 0:t.aMsid}`)}})}publishDeleteTracks(e){return O(this,null,function*(){const t={type:Wt.Delete,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{return yield this.rtsManager.publishDelete(this.url,e),this.streamTracks=this.rtsManager.publishingTracks,e.audio&&this.audioPubState.setState(ve.AliRtcStateNoPublish),e.video&&(e.vMsid===G.VideoSmall?this.videoSmallPubState.setState(ve.AliRtcStateNoPublish):this.videoPubState.setState(ve.AliRtcStateNoPublish)),e.screen&&this.screenPubState.setState(ve.AliRtcStateNoPublish),t.tracks=this.streamTracks,this.reportSelfDeviceStatus(),t}catch(i){throw Y.fromError(i,te.ERR_INNER,"publish delete tracks failed")}})}publishStop(){return O(this,null,function*(){if(!this._isPublishing)throw new Y(te.ERR_INNER,"publish stop failed, previous localStream is required for publishing stopping");ae.info(`[${Ut.logName}]`,"publishStop",{url:this.url});const e=new Date().getTime();try{const t=this.hasAudioTrackInMS,i=this.hasCameraTrackInMS,r=this.hasCameraDualTrackInMS,n=this.hasScreenTrackInMS;yield this.rtsManager.publishStop(this.url),t&&this.audioPubState.setState(ve.AliRtcStateNoPublish),i&&this.videoPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),n&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this.traceId="",Object.keys(this.monitorDataCache).forEach(o=>{this.reportPublishMonitor(o)}),this.streamTracks=[];const a={type:Wt.Stop,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};return this.syncPublishToRoomServer(a,{},e),a}catch(t){throw Y.fromError(t,te.ERR_INNER,"publish stop failed")}})}unPublish(){return O(this,null,function*(){const e=new Date().getTime();let t={type:Wt.UnPublish,userid:this.userId,sessionid:"",displayname:this.displayname,callid:this.callId,pubid:this.publishId,subscribe:{signal:"",pullstreamurl:this.url},tracks:[]};try{if(this._isPublishing){const i=this.hasAudioTrackInMS,r=this.hasCameraTrackInMS,n=this.hasCameraDualTrackInMS,a=this.hasScreenTrackInMS;yield this.rtsManager.unpublish(),this.streamTracks=[],this.stopStreamMonitor(),i&&this.audioPubState.setState(ve.AliRtcStateNoPublish),r&&this.videoPubState.setState(ve.AliRtcStateNoPublish),n&&this.videoSmallPubState.setState(ve.AliRtcStateNoPublish),a&&this.screenPubState.setState(ve.AliRtcStateNoPublish),this._isPublishing=!1,this.traceId="",this.clearStream()}return this.dc&&(this.rtsManager.publishStopDataChannel(this.url,this.dc),this.dataPubState.setState(ve.AliRtcStateNoPublish),this.dc=void 0),this.slsReporter.reportUnpublish(this.callId||"",e,0,""),t}catch(i){throw Y.fromError(i,te.ERR_INNER,"unpublish failed")}})}reportSelfDeviceStatus(){this.emit(rt.Local,this.getDeviceStatus())}getDeviceStatus(){var t,i,r,n;let e={micOpen:!1,micInterrupted:!1,cameraOpen:!1,screenShare:!1,audioDisable:!0,videoDisable:!0,screenDisable:!0,backgroundMode:!1,accompanyPlaying:!1};return e.cameraOpen=this.hasCamera,e.micOpen=this.hasMicrophone,e.screenShare=this.hasScreenShare,e.audioDisable=!((t=this.streamManager.cameraStreamInfo.originAudioTrack)!=null&&t.enabled),e.videoDisable=!((i=this.streamManager.cameraStreamInfo.originVideoTrack)!=null&&i.enabled),e.screenDisable=!this.hasScreenShare||!((n=(r=this.streamManager.screenStreamInfo)==null?void 0:r.originVideoTrack)!=null&&n.enabled),Da.getCurrentStatus(e)}resetPreviewElements(){this.previewElements.forEach(e=>{e.srcObject=null,e._playPromise=void 0},[]),this.previewElements=[]}resetSecondayPreviewElements(){this.screenPreviewElements.forEach(e=>{e.srcObject=null,e._playPromise=void 0},[]),this.screenPreviewElements=[]}getMediaStats(e){return this.pcMediaStatsMap[e]}reportPublishMonitor(e){if(!e)return;let t;try{e===G.Audio?t=this.rtsManager.getStreamByMsid({url:this.url,aMsid:e}).audioTrack:t=this.rtsManager.getStreamByMsid({url:this.url,vMsid:e}).videoTrack}catch(i){}this.slsReporter.reportPublishMonitor(this.callId,this.trackTraceIdMap[e]||"",e,t,this.monitorDataCache[e]),this.monitorDataCache[e]=[]}reportNetwork(){this.slsReporter.reportNetworkMonitor(this.candidateDataCache),this.candidateDataCache=[]}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>O(this,null,function*(){var e,i;try{const r=yield this.rtsManager.getPCStats();let n;r==null||r.forEach(u=>{u.type==="media-source"||u.type==="media-playout"?u.id&&(this.pcMediaStatsMap[u.id]=u):u.type==="candidate-pair"&&u.state==="succeeded"&&(n=u)});let a;if(((e=this.candidateDataCache)==null?void 0:e.length)>0){const t=this.candidateDataCache[this.candidateDataCache.length-1]||{},{_last:h}=t;a=pi(t,["_last"])}((i=this.candidateDataCache)==null?void 0:i.length)>=Na&&this.reportNetwork(),n&&(n._last=a,this.candidateDataCache.push(n));let o=Object.keys(this.monitorDataCache).filter(u=>{var h;return((h=this.monitorDataCache[u])==null?void 0:h.length)>0});(this.streamTracks||[]).forEach(u=>{const h=u.msid;if(!h)return;o.includes(h)&&(o=o.filter(l=>l!==h));let g;h===G.Audio?g=this.rtsManager.getPublishAudioStats(this.url):g=this.rtsManager.getPublishVideoStats(this.url,h),g.then(l=>{if(!l.timestamp)return;this.monitorDataCache[h]||(this.monitorDataCache[h]=[]);const p=this.getMediaStats(l.mediaSourceId);l._source=p;const d=this.monitorDataCache[h];let m;if((d==null?void 0:d.length)>0){const b=d[d.length-1]||{},{_last:x}=b;m=pi(b,["_last"])}(d==null?void 0:d.length)>=Na&&this.reportPublishMonitor(h),l._last=m,l._codec=u.codec||"",this.monitorDataCache[h].push(l)})}),o.forEach(u=>{this.reportPublishMonitor(u)})}catch(r){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportPublishMonitor(e)})}clearStream(){this.streamManager.stop(),this.audioPubState.setState(ve.AliRtcStatePublishIdle),this.videoPubState.setState(ve.AliRtcStatePublishIdle),this.videoSmallPubState.setState(ve.AliRtcStatePublishIdle),this.screenPubState.setState(ve.AliRtcStatePublishIdle)}getCurrentCameraDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originVideoTrack)==null?void 0:e.getSettings().deviceId}getCurrentMicDeviceId(){var e;return(e=this.streamManager.cameraStreamInfo.originAudioTrack)==null?void 0:e.getSettings().deviceId}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.streamManager.cameraStreamInfo.originAudioTrack&&this.audioLevelMonitor.start(this.streamManager.cameraStreamInfo.originAudioTrack,e),this.audioVolumeIndicationInterval=e)}sendSEI(e,t,i){return O(this,null,function*(){if(!this.url)return;let r=0;return!t||t<1?r=1:r=t-1,this.rtsManager.sendSEI(this.url,e,r,i)})}sendDataChannelMessage(e){return O(this,null,function*(){var r;if(!((r=this.parameter.data)!=null&&r.enablePubDataChannel))throw new Y(te.ERR_INNER,"data channel publish is not enabled");if(!this.dc)throw new Y(te.ERR_INNER,"data channel is not ready");const t=e.toBuffer(),i=y0(t,1156);i.forEach((n,a)=>{const o=new qi(new Ii(n.byteLength,a===i.length-1,a===0?1:0),n);this.dc.send(o.toGRTNBuffer())})})}getStats(){return O(this,null,function*(){const e=[];if(this.hasAudioTrackInMS){const n=yield this.rtsManager.getPublishAudioStats(this.url);n&&e.push({stats:n,track:ci.AliRtcAudioTrackMic})}const t=[];if(this.hasCameraTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.VideoLarge);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeHigh,stats:n})}if(this.hasCameraDualTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.VideoSmall);n&&t.push({track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeLow,stats:n})}if(this.hasScreenTrackInMS){const n=yield this.rtsManager.getPublishVideoStats(this.url,G.Screen);n&&t.push({track:Ae.AliRtcVideoTrackScreen,stats:n})}let i;const r=yield this.rtsManager.getPCStats();return r==null||r.forEach(n=>{n.type==="candidate-pair"&&n.state==="succeeded"&&(i=n)}),{audio:e,video:t,candidate:i}})}},_(Ut,"logName","LocalUser"),Ut);Ve([j()],Oe.prototype,"clearPublishState",1),Ve([j()],Oe.prototype,"clear",1),Ve([j(ne)],Oe.prototype,"startDefaultCamera",1),Ve([j(ne)],Oe.prototype,"startDefaultAudio",1),Ve([j()],Oe.prototype,"setViewConfig",1),Ve([j()],Oe.prototype,"startCameraCapture",1),Ve([j()],Oe.prototype,"stopCameraCapture",1),Ve([j()],Oe.prototype,"startAudioCapture",1),Ve([j()],Oe.prototype,"stopAudioCapture",1),Ve([j()],Oe.prototype,"stopPreview",1),Ve([j()],Oe.prototype,"resumePublish",1),Ve([j()],Oe.prototype,"createLocalStream",1),Ve([j()],Oe.prototype,"stopLocalStream",1),Ve([j(ne)],Oe.prototype,"startPublish",1),Ve([j(([s])=>[s])],Oe.prototype,"syncPublishToRoomServer",1),Ve([j()],Oe.prototype,"refreshPushStreamUrl",1),Ve([j(([s,c,e])=>[JSON.stringify(e)])],Oe.prototype,"publishAdd",1),Ve([j(([s,c])=>[JSON.stringify(c)])],Oe.prototype,"publishReplace",1),Ve([j(ne)],Oe.prototype,"publishDeleteTracks",1),Ve([j()],Oe.prototype,"publishStop",1),Ve([j()],Oe.prototype,"unPublish",1),Ve([j(([s,c,e])=>[s.length,c,e])],Oe.prototype,"sendSEI",1);let Fa=Oe;var Ot=(s=>(s.OPUS="opus",s.H264="H264",s.UNKNOWN="",s))(Ot||{}),Ee=(s=>(s[s.NotSubscribe=0]="NotSubscribe",s[s.Subscribing=1]="Subscribing",s[s.Subscribed=2]="Subscribed",s))(Ee||{}),ti=(s=>(s.VideoTrackEnded="videoTrackEnded",s.AudioTrackEnded="audioTrackEnded",s.ScreenTrackEnded="screenTrackEnded",s))(ti||{});const w0=s=>{const c=new MediaStream;return c.addTrack(s),c},Oa=s=>O(this,null,function*(){return yield fe.AliRTS.createStream({custom:!0,mediaStream:s})}),Di=s=>O(this,null,function*(){const c=w0(s);return yield Oa(c)}),C0=s=>{const{audio:c,video:e,screen:t}=s;if(e&&t)throw new Y(te.ERR_INNER,"create stream error, cannot create video && screen together");return!(!e&&!c&&!t)},I0=s=>s===G.Audio||s===fr.Audio,R0=s=>s===G.VideoLarge||s===fr.VideoLarge,D0=s=>s===G.VideoSmall,T0=s=>s===G.Screen,k0=s=>s===G.Data;var P0=Object.defineProperty,B0=Object.getOwnPropertyDescriptor,L0=(s,c,e,t)=>{for(var i=t>1?void 0:t?B0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&P0(c,e,i),i};class Gi extends xe{constructor(){super();_(this,"audioInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"videoLargeInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"videoSmallInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"screenInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"dataInfo",{subscribeState:Ee.NotSubscribe,ssrc:"",msid:"",pt:0,red:0,codec:Ot.UNKNOWN});_(this,"audioVolume",1);_(this,"audioMuted",!1);_(this,"userStatus")}getAudioInfo(){return this.audioInfo}getVideoSmallInfo(){return this.videoSmallInfo}getVideoLargeInfo(){return this.videoLargeInfo}getScreenInfo(){return this.screenInfo}getDataInfo(){return this.dataInfo}get subscribingInfos(){return[this.audioInfo,this.videoLargeInfo,this.videoSmallInfo,this.screenInfo].filter(e=>e.msid&&e.subscribeState===Ee.Subscribed)}get hasTrack(){return this.hasAudio||this.hasVideo||this.hasScreen||this.hasData}get hasAudio(){return this.audioInfo.ssrc!==""}get hasVideo(){return this.videoLargeInfo.ssrc!==""||this.videoSmallInfo.ssrc!==""}get hasVideoLarge(){return this.videoLargeInfo.ssrc!==""}get hasVideoSmall(){return this.videoSmallInfo.ssrc!==""}get hasScreen(){return this.screenInfo.ssrc!==""}get hasData(){return this.dataInfo.ssrc!==""}get isAudioSubscribed(){return this.audioInfo.subscribeState===Ee.Subscribed}get isAudioSubscribing(){return this.audioInfo.subscribeState===Ee.Subscribing}get isVideoSubscribed(){return this.isVideoLargeSubscribed||this.isVideoSmallSubscribed}get isVideoSubscribing(){return this.isVideoLargeSubscribing||this.isVideoSmallSubscribing}get isVideoLargeSubscribed(){return this.videoLargeInfo.subscribeState===Ee.Subscribed}get isVideoLargeSubscribing(){return this.videoLargeInfo.subscribeState===Ee.Subscribing}get isVideoSmallSubscribed(){return this.videoSmallInfo.subscribeState===Ee.Subscribed}get isVideoSmallSubscribing(){return this.videoSmallInfo.subscribeState===Ee.Subscribing}get isScreenSubscribed(){return this.screenInfo.subscribeState===Ee.Subscribed}get isScreenSubscribing(){return this.screenInfo.subscribeState===Ee.Subscribing}get isDataSubscribed(){return this.dataInfo.subscribeState===Ee.Subscribed}get isDataSubscribing(){return this.dataInfo.subscribeState===Ee.Subscribing}get audioCodec(){return this.audioInfo.codec}get videoCodec(){return this.hasVideoLarge?this.videoLargeInfo.codec:this.hasVideoSmall?this.videoSmallInfo.codec:this.hasScreen?this.screenInfo.codec:Ot.UNKNOWN}get audioTrackInfo(){return this.hasAudio?ci.AliRtcAudioTrackMic:ci.AliRtcAudioTrackNo}get videoTrackInfo(){return this.hasVideo&&this.hasScreen?Ae.AliRtcVideoTrackBoth:this.hasVideo?Ae.AliRtcVideoTrackCamera:this.hasScreen?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackNo}updateTracks(e){let t="",i="",r="",n="",a="";return e?(e.forEach(o=>{var g;let u=Ot.UNKNOWN;const h=((g=o==null?void 0:o.attr)==null?void 0:g.reason)==="reconnect";if(o.userdata){const{codec:f}=JSON.parse(o.userdata);f&&(u=f)}I0(o.msid)?(t=o.ssrc,this.audioInfo.msid=o.msid,this.audioInfo.codec=u,(h||this.audioInfo.ssrc!==t)&&(this.audioInfo.subscribeState=Ee.NotSubscribe)):D0(o.msid)?(r=o.ssrc,this.videoSmallInfo.msid=o.msid,this.videoSmallInfo.codec=u,(h||this.videoSmallInfo.ssrc!==r)&&(this.videoSmallInfo.subscribeState=Ee.NotSubscribe)):R0(o.msid)?(i=o.ssrc,this.videoLargeInfo.msid=o.msid,this.videoLargeInfo.codec=u,(h||this.videoLargeInfo.ssrc!==i)&&(this.videoLargeInfo.subscribeState=Ee.NotSubscribe)):T0(o.msid)?(n=o.ssrc,this.screenInfo.msid=o.msid,this.screenInfo.codec=u,(h||this.screenInfo.ssrc!==n)&&(this.screenInfo.subscribeState=Ee.NotSubscribe)):k0(o.msid)&&(a=o.ssrc,this.dataInfo.msid=o.msid,this.dataInfo.codec=u,(h||this.dataInfo.ssrc!==a)&&(this.dataInfo.subscribeState=Ee.NotSubscribe))}),this.updateRemoteTrackSsrc(t,i,r,n,a)):this.updateRemoteTrackSsrc(t,i,r,n,a),{}}updateRemoteTrackSsrc(e,t,i,r,n){this.audioInfo.ssrc=e,this.videoSmallInfo.ssrc=i,this.videoLargeInfo.ssrc=t,this.screenInfo.ssrc=r,this.dataInfo.ssrc=n}markRemoteTrackSubscribing(e){return e.video&&(e.vMsid===this.videoSmallInfo.msid&&(this.videoSmallInfo.subscribeState=Ee.Subscribing),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=Ee.Subscribing)),e.screen&&(this.screenInfo.subscribeState=Ee.Subscribing),e.audio&&(this.audioInfo.subscribeState=Ee.Subscribing),e.data&&(this.dataInfo.subscribeState=Ee.Subscribing),{videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo}}updateRemoteTrackSubState(e){return e.video!==void 0&&((e.vMsid===this.videoSmallInfo.msid||!e.vMsid)&&(this.videoSmallInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe),(e.vMsid===this.videoLargeInfo.msid||!e.vMsid)&&(this.videoLargeInfo.subscribeState=e.video?Ee.Subscribed:Ee.NotSubscribe)),e.screen!==void 0&&(this.screenInfo.subscribeState=e.screen?Ee.Subscribed:Ee.NotSubscribe),e.audio!==void 0&&(this.audioInfo.subscribeState=e.audio?Ee.Subscribed:Ee.NotSubscribe),e.data!==void 0&&(this.dataInfo.subscribeState=e.data?Ee.Subscribed:Ee.NotSubscribe),{audioInfo:this.audioInfo,videoLargeInfo:this.videoLargeInfo,videoSmallInfo:this.videoSmallInfo,screenInfo:this.screenInfo,dataInfo:this.dataInfo}}updateRemoteUserDeviceStatus(e){let t=Da.parseStatus(e);const{audioDisable:i,videoDisable:r,screenDisable:n}=t;return this.userStatus?(this.userStatus.audioDisable!=i&&(this.userStatus.audioDisable=i,this.emit(rt.Remote,i?Re.MuteAudio:Re.UnmuteAudio)),this.userStatus.videoDisable!=r&&(this.userStatus.videoDisable=r,this.emit(rt.Remote,r?Re.MuteVideo:Re.UnmuteVideo)),this.userStatus.screenDisable!=n&&(this.userStatus.screenDisable=n,this.emit(rt.Remote,n?Re.MuteScreen:Re.UnmuteScreen))):(this.userStatus=t,this.emit(rt.Remote,i?Re.MuteAudio:Re.UnmuteAudio),this.emit(rt.Remote,r?Re.MuteVideo:Re.UnmuteVideo),this.emit(rt.Remote,n?Re.MuteScreen:Re.UnmuteScreen)),!1}}_(Gi,"logName","RemoteStreamInfo"),L0([j()],Gi.prototype,"updateRemoteTrackSubState",1);class Va{constructor(c){_(this,"remoteUser");this.remoteUser=c}get userId(){return this.remoteUser.userId}get displayName(){return this.remoteUser.displayname}get isMuteAudioPlaying(){return this.remoteUser.getAudioMuted()}get hasAudio(){return this.remoteUser.hasAudioTrack}get hasCamera(){return this.remoteUser.hasVideoTrack}get hasCameraLarge(){return this.remoteUser.hasVideoLargeTrack}get hasCameraSmall(){return this.remoteUser.hasVideoSmallTrack}get hasScreenShare(){return this.remoteUser.hasScreenTrack}get isAudioSubscribing(){return this.remoteUser.isAudioSubscribing}get isVideoSubscribing(){return this.remoteUser.isVideoSubscribing}get isVideoLargeSubscribing(){return this.remoteUser.isVideoLargeSubscribing}get isVideoSmallSubscribing(){return this.remoteUser.isVideoSmallSubscribing}get isScreenSubscribing(){return this.remoteUser.isScreenSubscribing}get audioElement(){return this.remoteUser.getAudioElement()}}var M0=Object.defineProperty,N0=Object.getOwnPropertyDescriptor,et=(s,c,e,t)=>{for(var i=t>1?void 0:t?N0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&M0(c,e,i),i};class hi extends xe{constructor(){super();_(this,"state");_(this,"time");_(this,"_enabled");this.state=Pe.AliRtcStateSubscribeIdle,this.time=Date.now(),this._enabled=!0}setState(e){if(this.state===e)return;const t=this.state,i=this.time;this.state=e,this.time=Date.now(),this.emit("change",t,e,Math.floor((this.time-i)/1e3))}get currentState(){return this.state}getEnabled(){return this._enabled}setEnabled(e){this._enabled=e}}const F0=30,Ye=(kt=class extends Ra{constructor(e){var l;const{userId:t,displayName:i,rtsManager:r,usersViewMap:n,slsReporter:a,signalingManager:o,localUser:u,audioVolumeIndicationInterval:h,playoutVolume:g,parameter:f}=e;super(t,i,r,h);_(this,"remoteCallid","");_(this,"remoteUserInfo");_(this,"localUser");_(this,"lastPubId","");_(this,"stream");_(this,"screenStream");_(this,"viewMap");_(this,"audioTrack");_(this,"audioElement");_(this,"subscribed",!1);_(this,"mediaStream");_(this,"secondaryMediaStream");_(this,"prevSubConfig");_(this,"signalingManager");_(this,"slsReporter");_(this,"wantSubAudio",!1);_(this,"wantSubVideo",!1);_(this,"wantSubScreen",!1);_(this,"defaultVideoStreamType",Ge.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"playoutGainNode");_(this,"audioSubState");_(this,"videoSubState");_(this,"videoLargeSubState",new hi);_(this,"videoSmallSubState",new hi);_(this,"screenSubState");_(this,"dataSubState");_(this,"dc");_(this,"dcMsgWaitingPieces",[]);_(this,"streamInfo");_(this,"streamUrl","");_(this,"parameter",{});_(this,"monitorTimerId");_(this,"monitorDataCache",{});_(this,"trackTraceIdMap",{});_(this,"handleAudioContextSuspended",e=>{e.target.state==="suspended"&&this.emit("remoteAudioPlayError",this.uid,"AudioContext suspended")});_(this,"onDataChannelMessage",e=>{var r;const t=qi.parse(e.slice(4));let i;if(t.body)if(t.isFin){if(this.dcMsgWaitingPieces.length>0){const n=this.dcMsgWaitingPieces.reduce((a,o)=>a+o.byteLength,t.body.byteLength);try{const a=new ArrayBuffer(n);let o=0;for(let h=0;h<this.dcMsgWaitingPieces.length;h++){const g=this.dcMsgWaitingPieces[h];new Uint8Array(a,o,g.byteLength).set(new Uint8Array(g)),o+=g.byteLength}new Uint8Array(a,o,t.body.byteLength).set(new Uint8Array(t.body)),i=ei.parse(a)}catch(a){}this.dcMsgWaitingPieces=[],i||(i=ei.parse(t.body))}else i=ei.parse(t.body);i||ae.event(`[${kt.logName}]`,`parse data channel message fail, piece count: ${this.dcMsgWaitingPieces.length+1}`)}else{t.header.frameType===1&&(this.dcMsgWaitingPieces=[]),this.dcMsgWaitingPieces.push(t.body);return}i&&(ae.event(`[${kt.logName}]`,`receive data channel message, length: ${(r=i.data)==null?void 0:r.byteLength}`),this.emit("remoteDataChannelMessage",this.uid,i))});_(this,"onDataChannelError",e=>{this.emit("occurError",Y.fromError(e,te.ERR_SDK_SUBSCRIBE_DATA_ERROR))});_(this,"handleAudioPaused",()=>{this.emit("remoteAudioPlayError","paused")});this.streamInfo=new Gi,this.remoteUserInfo=new Va(this),this.parameter=f,this.streamInfo.on(rt.Remote,p=>{this.emit(rt.Remote,p,this.userId)}),this.signalingManager=o,this.viewMap=(l=n[t])!=null?l:{cameraViews:[],screenViews:[]},n[t]=this.viewMap,this.slsReporter=a,this.localUser=u,this.audioSubState=new hi,this.audioSubState.on("change",(p,d,m)=>{this.emit("audioSubscribeStateChanged",this.uid,p,d,m)}),this.videoSubState=new hi,this.videoSubState.on("change",(p,d,m)=>{this.emit("videoSubscribeStateChanged",this.uid,p,d,m)}),this.screenSubState=new hi,this.screenSubState.on("change",(p,d,m)=>{this.emit("screenSubscribeStateChanged",this.uid,p,d,m)}),this.dataSubState=new hi,this.dataSubState.on("change",(p,d,m)=>{this.emit("dataSubscribeStateChanged",this.uid,p,d,m)}),this.playoutVolume=g}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e}setRemoteDefaultVideoStreamType(e){e!==this.defaultVideoStreamType&&(this.defaultVideoStreamType=e,this.updateSubscribe(Be.User))}setAudioMuted(e){this.audioMuted=e,this.toggleAudio(!e)}getAudioElement(){return this.audioElement}setPlayoutVolume(e){if(this.playoutVolume=e,this.audioElement)if(this.parameter.enableAudioContextPlayoutVolume)if(this.playoutGainNode)this.playoutGainNode.gain.value=e;else{const t=this.audioElement.srcObject;if(t){const i=ui.getInstance();i.addEventListener("statechange",this.handleAudioContextSuspended);const r=i.createMediaStreamSource(t);this.audioElement.muted=!0,this.playoutGainNode=i.createGain(),r.connect(this.playoutGainNode),this.playoutGainNode.gain.value=e,this.playoutGainNode.connect(i.destination)}}else this.audioElement.volume=e}getAudioMuted(){return this.audioMuted}get hasAudioTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasAudio)}get hasVideoTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideo)}get hasVideoLargeTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoLarge)}get hasVideoSmallTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasVideoSmall)}get hasScreenTrack(){var e;return!!((e=this.streamInfo)!=null&&e.hasScreen)}get isAudioSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isAudioSubscribed)||!!((t=this.streamInfo)!=null&&t.isAudioSubscribing)}get isVideoSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSubscribing)}get isVideoLargeSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoLargeSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoLargeSubscribing)}get isVideoSmallSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isVideoSmallSubscribed)||!!((t=this.streamInfo)!=null&&t.isVideoSmallSubscribing)}get isScreenSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isScreenSubscribed)||!!((t=this.streamInfo)!=null&&t.isScreenSubscribing)}get isDataSubscribing(){var e,t;return!!((e=this.streamInfo)!=null&&e.isDataSubscribed)||!!((t=this.streamInfo)!=null&&t.isDataSubscribing)}get audioEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.audioTrack)!=null&&t.enabled)}get videoEnabled(){var e,t;return!!((t=(e=this.stream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get screenEnabled(){var e,t;return!!((t=(e=this.screenStream)==null?void 0:e.videoTrack)!=null&&t.enabled)}get getAudioTrack(){return this.audioTrack}get getCameraStream(){return this.stream}get getScreenStream(){return this.screenStream}setViewConfig(e,t){if(t!==Ae.AliRtcVideoTrackScreen&&t!==Ae.AliRtcVideoTrackCamera)throw new Y(te.ERR_INVALID_ARGUMENTS,"track is not AliRtcVideoTrackScreen or AliRtcVideoTrackCamera");e?ws(e).forEach(r=>{r.setAttribute("playsinline",""),fe.AliRTS.BrowserUtil.isMicroMessenger&&(r.setAttribute("x5-video-player-type","h5-page"),r.setAttribute("x5-playsinline",""),fe.AliRTS.SystenUtil.isAndroid||fe.AliRTS.SystenUtil.isIos&&r.setAttribute("x-webkit-airplay","allow")),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews.push(r):this.viewMap.cameraViews.push(r),this.play(r,t===Ae.AliRtcVideoTrackScreen)}):(this.stopPlayAll(t===Ae.AliRtcVideoTrackScreen),t===Ae.AliRtcVideoTrackScreen?this.viewMap.screenViews=[]:this.viewMap.cameraViews=[])}clear(e=!0){return O(this,null,function*(){var t;this.subscribeStopDataChannel(),e&&this.doStopSubscribe(this.streamUrl),Fs(kt.prototype,this,"clear").call(this),this.clearStream(),this.clearScreenStream(),this.playoutGainNode&&(this.playoutGainNode.disconnect(),this.playoutGainNode=void 0,ui.getInstance().removeEventListener("statechange",this.handleAudioContextSuspended)),(t=this.streamInfo)==null||t.removeAllListeners(rt.Remote)})}updateRemoteUserDeviceStatus(e){var t;(t=this.streamInfo)==null||t.updateRemoteUserDeviceStatus(e)}updateRemoteTracks(e,t,i,r){return O(this,null,function*(){var a;return this.remoteCallid=e,(!this.streamUrl||!this.streamInfo.hasTrack)&&(this.streamUrl=t!=null?t:""),this.callId=e!=null?e:"",this.streamInfo||(this.streamInfo=new Gi),(a=this.streamInfo)==null?void 0:a.updateTracks(r)})}subscribe(r,n){return O(this,arguments,function*(e,t,i=Date.now()){var l,p;let a=e;if(!a){const{hasAudio:d,hasVideo:m,hasScreen:b,hasData:v}=(l=this.streamInfo)!=null?l:{};a={audio:this.wantSubAudio&&d,video:this.wantSubVideo&&m,screen:this.wantSubScreen&&b,data:((p=this.parameter.data)==null?void 0:p.enableSubDataChannel)&&v}}this.streamInfo.markRemoteTrackSubscribing(a);const{screen:o,audio:u,video:h,vMsid:g}=a,f=[];(h||u)&&f.push({audio:u,video:h,vMsid:g}),o&&f.push({screen:o}),!(f.length===0&&!(e!=null&&e.data))&&(yield Promise.all(f.map(d=>this.subscribeProxy(d,t||Be.User,i))),e!=null&&e.data&&this.subscribeDataChannel())})}subscribeProxy(e,t,i){return O(this,null,function*(){var a,o,u,h;let r=new Date().getTime(),n="";try{e.audio&&this.audioSubState.setState(Pe.AliRtcStateSubscribing),e.video&&(this.videoSubState.currentState===Pe.AliRtcStateSubscribeIdle||this.videoSubState.currentState===Pe.AliRtcStateNoSubscribe)&&this.videoSubState.setState(Pe.AliRtcStateSubscribing),e.screen&&this.screenSubState.setState(Pe.AliRtcStateSubscribing);const g=yield this.rtsManager.subscribe({remoteUser:this,options:e},t,((a=this.localUser)==null?void 0:a.callId)||"",this.callId,i);this.streamInfo.updateRemoteTrackSubState(e),n=g.traceId||"";const{stream:f}=g;if(e.audio){this.trackTraceIdMap[G.Audio]=n;const p=f.audioTrack;p&&(this.audioTrack=p,(o=f.mediaStream)==null||o.removeTrack(p),this.playAudio(),this.audioVolumeIndicationInterval&&this.audioLevelMonitor.start(p,this.audioVolumeIndicationInterval)),this.audioSubState.setState(Pe.AliRtcStateSubscribed),this.audioSubState.getEnabled()||this.toggleAudio(!1)}e.video&&(this.videoSubState.setState(Pe.AliRtcStateSubscribed),e.vMsid===G.VideoSmall?(this.trackTraceIdMap[G.VideoSmall]=n,this.videoSmallSubState.setState(Pe.AliRtcStateSubscribed)):(this.trackTraceIdMap[G.VideoLarge]=n,this.videoLargeSubState.setState(Pe.AliRtcStateSubscribed)),this.videoSubState.getEnabled()||this.toggleVideo(!1),this.updateStream(f,this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing)),e.screen&&(this.screenSubState.setState(Pe.AliRtcStateSubscribed),this.trackTraceIdMap[G.Screen]=n,this.videoSubState.getEnabled()||this.toggleScreen(!1),this.updateScreenStream(f));const l=new Date().getTime()-r;this.slsReporter.reportSubscribe(((u=this.localUser)==null?void 0:u.callId)||"",this.callId,!!e.video&&e.vMsid===G.VideoLarge,!!e.video&&e.vMsid===G.VideoSmall,!!e.screen,!!e.audio,0,"",l,{pctid:this.rtsManager.pcTraceId,subtid:n,ajsub:t===Be.Join?1:0,url:this.streamUrl,est:r}),this.startStreamMonitor()}catch(g){const f=new Date().getTime()-r;e.audio&&this.audioSubState.setState(Pe.AliRtcStateNoSubscribe),e.video&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe),e.screen&&this.screenSubState.setState(Pe.AliRtcStateNoSubscribe),g&&(g.message=`user(${this.uid}) subscribe error, ${(g==null?void 0:g.message)||""}`);let l=te.ERR_INNER;e.audio&&(l=te.ERR_SDK_SUBSCRIBE_AUDIO_STREAM_FAILED),e.video&&(e.vMsid===G.VideoSmall?l=te.ERR_SDK_SUBSCRIBE_DUAL_STREAM_FAILED:l=te.ERR_SDK_SUBSCRIBE_VIDEO_STREAM_FAILED),e.screen&&(l=te.ERR_SDK_SUBSCRIBE_SCREEN_SHARE_FAILED),this.slsReporter.reportSubscribe(((h=this.localUser)==null?void 0:h.callId)||"",this.callId,!!e.video&&e.vMsid===G.VideoLarge,!!e.video&&e.vMsid===G.VideoSmall,!!e.screen,!!e.audio,l,"",f,{pctid:this.rtsManager.pcTraceId,subtid:"",ajsub:t===Be.Join?1:0,url:this.streamUrl,est:r});const p=Y.fromError(g,l);throw this.emit("remoteSubscribeError",p),p}})}subscribeDeleteTracks(e){return O(this,null,function*(){const{audio:t,video:i,screen:r,data:n,vMsid:a}=e,o=[];(t||i||n)&&o.push({audio:t,video:i,vMsid:a}),r&&o.push({screen:r}),o.length!==0&&(yield Promise.all(o.map(u=>this.subscribeDeleteProxy(u))),e.data&&this.subscribeStopDataChannel())})}subscribeDeleteProxy(e){return O(this,null,function*(){try{const t=yield this.rtsManager.subscibeDelete({remoteUser:this,options:e}),{stream:i}=t!=null?t:{},r={};e.audio===!0&&(r.audio=!1,this.audioSubState.setState(Pe.AliRtcStateNoSubscribe)),e.video===!0&&(r.video=!1,e.vMsid===G.VideoSmall?(this.videoSmallSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoLargeSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoLargeSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe)):(this.videoLargeSubState.setState(Pe.AliRtcStateNoSubscribe),(this.videoSmallSubState.currentState===Pe.AliRtcStateNoSubscribe||this.videoSmallSubState.currentState===Pe.AliRtcStateSubscribeIdle)&&this.videoSubState.setState(Pe.AliRtcStateNoSubscribe))),e.screen===!0&&(r.screen=!1,this.screenSubState.setState(Pe.AliRtcStateNoSubscribe));const{callId:n,remoteCallid:a}=this,o={callid:n,remoteCallid:a,remoteStream:i};return e.audio&&(this.audioLevelMonitor.stop(),this.stopPlayAudio(),this.audioTrack=void 0),this.streamInfo.updateRemoteTrackSubState({audio:e.audio===!0?!1:void 0,video:e.video===!0?!1:void 0,screen:e.screen===!0?!1:void 0,vMsid:e.vMsid}),o}catch(t){throw Y.fromError(t,te.ERR_INNER,"subscribe delete failed")}})}restore(){this.callId="",this.clearStream(),this.clearScreenStream(),this.audioTrack=void 0,this.streamInfo.updateRemoteTrackSubState({audio:!1,video:!1,screen:!1,data:!1}),this.audioElement&&this.audioElement.removeEventListener("pause",this.handleAudioPaused)}resumeAudio(){return O(this,null,function*(){const e=ui.getInstance();return e.state!=="running"&&e.resume(),this.audioElement?this.audioElement.play():this.playAudio()})}resumeVideo(e){return O(this,null,function*(){if(!e||e===Ae.AliRtcVideoTrackCamera||e===Ae.AliRtcVideoTrackBoth)return this.playAll();if(!e||e===Ae.AliRtcVideoTrackScreen||e===Ae.AliRtcVideoTrackBoth)return this.playAll(!0)})}resumePlay(){this.playAudio(),this.playAll(),this.playAll(!0)}stopSubscribe(e){return O(this,null,function*(){var i,r;let t=new Date().getTime();try{let n;e?n=yield this.subscribeDeleteTracks(e):n=yield this.doStopSubscribe(this.streamUrl),this.slsReporter.reportUnsubscribe(((i=this.localUser)==null?void 0:i.callId)||(n==null?void 0:n.callid)||"",this.callId,new Date().getTime()-t,0,"")}catch(n){throw this.slsReporter.reportUnsubscribe(((r=this.localUser)==null?void 0:r.callId)||"",this.callId,new Date().getTime()-t,0,""),n}})}doStopSubscribe(e){return O(this,null,function*(){var r,n,a,o;const{callId:t,remoteCallid:i}=this;if((this.isAudioSubscribing||this.isVideoSubscribing||this.isScreenSubscribing)&&e)try{this.stopStreamMonitor(),yield this.rtsManager.subscibeStop(e),this.restore();const u={callid:t,remoteCallid:i,remoteStream:this.stream};return this.callId="",u}catch(u){if(((o=(a=(n=(r=u==null?void 0:u.extraInfo)==null?void 0:r.parsedData)==null?void 0:n.streams)==null?void 0:a[0])==null?void 0:o.res_code)!==404)throw Y.fromError(u,te.ERR_INNER,"subscribe stop failed")}})}updateStream(e,t=!1){return O(this,null,function*(){this.stream&&this.stream.videoTrack&&e.mediaStream&&t&&(yield new Promise(i=>{let r,n;if(e.mediaStream){n=document.createElement("video");const a=()=>{ae.event(`uid: ${this.userId} new mediaStream canplay`),n&&n.removeEventListener("canplaythrough",a,!1),n=void 0,clearTimeout(r),i(!0)};n.addEventListener("canplaythrough",a,!1),(n._playPromise||Promise.resolve()).then(()=>{n&&e.mediaStream&&(n.srcObject=e.mediaStream)})}else i(!0);r=window.setTimeout(()=>{ae.event(`uid: ${this.userId} new mediaStream timeout`),n=void 0,i(!0)},3e3)}),this.updateSubscribe(Be.User)),this.stream=e,this.playAll(!1,t),!this.subscribed&&e&&(this.subscribed=!0),e.hasAudio&&this.isAudioSubscribing&&e.enableAudio(),e.hasVideo&&this.isVideoSubscribing&&e.enableVideo()})}updateScreenStream(e){this.screenStream=e,this.playAll(!0),!this.subscribed&&e&&(this.subscribed=!0),e.hasVideo&&this.isScreenSubscribing&&e.enableVideo()}clearStream(){var e;(e=this.stream)==null||e.stop(),this.stream=void 0}clearScreenStream(){var e;(e=this.screenStream)==null||e.stop(),this.screenStream=void 0}subscribeDataChannel(){if(this.dc)try{this.dc.dispose(),this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dc=void 0}catch(e){}!this.streamInfo.hasAudio&&!this.streamInfo.hasVideo&&!this.streamInfo.hasScreen||(this.dataSubState.setState(Pe.AliRtcStateSubscribing),this.rtsManager.subscribeAddDataChannel(this.streamUrl).then(e=>{if(e){this.dc=e,this.dc.datachannel&&(this.dc.datachannel.binaryType="arraybuffer"),this.dc.on("message",this.onDataChannelMessage),this.dc.on("error",this.onDataChannelError),this.dataSubState.setState(Pe.AliRtcStateSubscribed),this.streamInfo.updateRemoteTrackSubState({data:!0});return}else throw new Error("no dc founded")}).catch(e=>{const t=Y.fromError(e,te.ERR_INNER,"subscribe data failed");this.emit("remoteSubscribeError",t),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe)}))}subscribeStopDataChannel(){if(this.dc){try{this.rtsManager.subscribeStopDatachannel(this.streamUrl,this.dc)}catch(e){}this.dcMsgWaitingPieces=[],this.dc.off("message",this.onDataChannelMessage),this.dc.off("error",this.onDataChannelError),this.dataSubState.setState(Pe.AliRtcStateNoSubscribe),this.dc=void 0,this.streamInfo.updateRemoteTrackSubState({data:!1})}}getRetryOptions(){var i,r,n,a,o,u,h;const e={};this.wantSubAudio&&((i=this.streamInfo)!=null&&i.hasAudio)&&(e.audio=!0,e.aMsid=((r=this.streamInfo.getAudioInfo())==null?void 0:r.msid)||G.Audio),this.wantSubVideo&&((n=this.streamInfo)!=null&&n.hasVideo)&&(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&((a=this.streamInfo)!=null&&a.hasVideoSmall)?(e.video=!0,e.vMsid=G.VideoSmall):(o=this.streamInfo)!=null&&o.hasVideoLarge&&(e.video=!0,e.vMsid=((u=this.streamInfo.getVideoLargeInfo())==null?void 0:u.msid)||G.VideoLarge)),this.wantSubScreen&&((h=this.streamInfo)!=null&&h.hasScreen)&&(e.screen=!0);let t={};if(e.audio||e.video)t={audio:e.audio,video:e.video},this.streamInfo.updateRemoteTrackSubState({screen:!1,data:!1});else if(e.screen)t={screen:e.screen},this.streamInfo.updateRemoteTrackSubState({data:!1});else return;return{remoteUser:this,options:t}}updateSubscribe(e){var n,a,o,u,h,g,f,l,p,d,m,b,v,x,y,E,I;const t=Date.now(),i={},r={};if(this.wantSubAudio&&!this.isAudioSubscribing&&((n=this.streamInfo)!=null&&n.hasAudio)?(i.audio=!0,i.aMsid=((a=this.streamInfo.getAudioInfo())==null?void 0:a.msid)||G.Audio):(!this.wantSubAudio||!((o=this.streamInfo)!=null&&o.hasAudio))&&this.isAudioSubscribing&&(r.audio=!0,r.aMsid=((u=this.streamInfo.getAudioInfo())==null?void 0:u.msid)||G.Audio),this.wantSubVideo&&((h=this.streamInfo)!=null&&h.hasVideo)?(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&!this.isVideoSmallSubscribing&&((g=this.streamInfo)!=null&&g.hasVideoSmall)?(i.video=!0,i.vMsid=G.VideoSmall):!this.isVideoLargeSubscribing&&((f=this.streamInfo)!=null&&f.hasVideoLarge)&&!(this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&this.isVideoSmallSubscribing)&&(i.video=!0,i.vMsid=((l=this.streamInfo.getVideoLargeInfo())==null?void 0:l.msid)||G.VideoLarge),this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeLow&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&this.streamInfo.hasVideoSmall?(r.video=!0,r.vMsid=G.VideoLarge):this.defaultVideoStreamType===Ge.AliRtcVideoStreamTypeHigh&&this.isVideoLargeSubscribing&&this.isVideoSmallSubscribing&&(r.video=!0,r.vMsid=G.VideoSmall)):(!this.wantSubVideo||!((p=this.streamInfo)!=null&&p.hasVideo))&&this.isVideoSubscribing&&(r.video=!0,r.vMsid=this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?G.VideoSmall:((d=this.streamInfo.getVideoLargeInfo())==null?void 0:d.msid)||G.VideoLarge),this.wantSubScreen&&!this.isScreenSubscribing&&((m=this.streamInfo)!=null&&m.hasScreen)?i.screen=!0:(!this.wantSubScreen||!((b=this.streamInfo)!=null&&b.hasScreen))&&this.isScreenSubscribing&&(r.screen=!0),(v=this.parameter.data)!=null&&v.enableSubDataChannel&&!this.isDataSubscribing&&((x=this.streamInfo)!=null&&x.hasData)?i.data=!0:(!((y=this.parameter.data)!=null&&y.enableSubDataChannel)||!((E=this.streamInfo)!=null&&E.hasData))&&this.isDataSubscribing&&(r.data=!0),(i.audio||i.video||i.screen||i.data)&&(this.createCallId(),this.subscribe(i,e,t)),(r.audio||r.video||r.screen)&&this.subscribeDeleteTracks(r),e===Be.Reconnect){if(ae.event(`[${kt.logName}]`,"reconnect, try to resume"),this.streamInfo.hasAudio&&!i.audio){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,aMsid:this.streamInfo.getAudioInfo().msid||G.Audio}).audioTrack;w&&(this.audioTrack=w,this.playAudio())}if(this.streamInfo.hasVideo&&!i.video){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,vMsid:this.streamInfo.isVideoSmallSubscribed||this.streamInfo.isVideoSmallSubscribing?G.VideoSmall:((I=this.streamInfo.getVideoLargeInfo())==null?void 0:I.msid)||G.VideoLarge});w&&w.mediaStream&&(this.stream=w,this.playAll(!1))}if(this.streamInfo.hasScreen&&!i.screen){const w=this.rtsManager.getStreamByMsid({url:this.streamUrl,sMsid:this.streamInfo.getScreenInfo().msid||G.Screen});w&&w.mediaStream&&(this.screenStream=w,this.playAll(!0))}}return{addOption:i,deleteOption:r}}handleAutoPlayFailed(){this.emit("remoteAudioAutoPlayFail",this.uid);const e=()=>{this.resumeAudio().then(()=>{document.removeEventListener("click",e,!1),document.removeEventListener("touchstart",e,!1)})};document.addEventListener("click",e,!1),document.addEventListener("touchstart",e,!1)}handleVideoPlayFailded(e,t){this.emit("remoteVideoAutoPlayFail",this.uid,t);const i=()=>{var n;const r=(n=t===Ae.AliRtcVideoTrackScreen?this.screenStream:this.stream)==null?void 0:n.mediaStream;e.srcObject===r&&this.play(e,t===Ae.AliRtcVideoTrackScreen),document.removeEventListener("click",i,!1),document.removeEventListener("touchstart",i,!1)};document.addEventListener("click",i,!1),document.addEventListener("touchstart",i,!1)}playAudio(){return O(this,null,function*(){var t,i;if(!this.audioTrack)return;if(this.toggleAudio(!this.audioMuted),!this.audioElement){if(this.audioElement=document.createElement("audio"),this.audioElement.addEventListener("pause",this.handleAudioPaused),fe.AliRTS.SystenUtil.isIos&&parseInt(fe.AliRTS.SystenUtil.systemVersion)<=14){const r=()=>{const n=this.audioElement;n&&(n.removeEventListener("playing",r),n.muted||(n.pause(),n.play()))};this.audioElement.addEventListener("playing",r)}this.setPlayoutVolume(this.playoutVolume)}if(((i=(t=this.audioElement.srcObject)==null?void 0:t.getAudioTracks())==null?void 0:i[0])!==this.audioTrack){let r=this.audioElement.srcObject;r?r.getAudioTracks().forEach(n=>{r.removeTrack(n)}):(r=new MediaStream,this.audioElement.srcObject=r),r.addTrack(this.audioTrack)}this.audioElement.play().catch(()=>{this.handleAutoPlayFailed()});const e=this.audioElement;this.audioElement.addEventListener("playing",function r(){e.removeEventListener("playing",r),fe.AliRTS.SystenUtil.isIos&&parseInt(fe.AliRTS.SystenUtil.systemVersion)<=14&&(e.muted||(e.pause(),e.play()))})})}stopPlayAudio(){this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null,this.audioElement.removeEventListener("pause",this.handleAudioPaused))}playAll(e=!1,t=!1){e?(this.viewMap.screenViews||[]).forEach(i=>{this.play(i,e,t)}):(this.viewMap.cameraViews||[]).forEach(i=>{this.play(i,e,t)})}play(e,t=!1,i=!1){const r=t?this.screenStream:this.stream;!e||!r||!r.mediaStream||La(e,r.mediaStream,i).catch(n=>{n.code===20||n.name==="AbortError"||this.handleVideoPlayFailded(e,t?Ae.AliRtcVideoTrackScreen:Ae.AliRtcVideoTrackCamera)})}stopPlayAll(e=!1){e?this.viewMap.screenViews.forEach(t=>{Ft(t)}):this.viewMap.cameraViews.forEach(t=>{Ft(t)})}toggleAudio(e=!0){this.audioSubState.setEnabled(e),this.audioTrack&&(this.audioTrack.enabled=e)}toggleVideo(e=!0){this.videoSubState.setEnabled(e),this.stream&&(e?this.stream.enableVideo():this.stream.disableVideo())}toggleScreen(e=!0){this.screenSubState.setEnabled(e),this.screenStream&&(e?this.screenStream.enableVideo():this.screenStream.disableVideo())}getStats(){return O(this,null,function*(){var i,r,n,a,o;const e=[];if(this.isAudioSubscribing){const u=yield this.rtsManager.getSubscribeAudioStats(this.streamUrl);u&&e.push({uid:this.uid,track:ci.AliRtcAudioTrackMic,stats:u})}const t=[];if((i=this.streamInfo)!=null&&i.isVideoLargeSubscribed){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((r=this.streamInfo.getVideoLargeInfo())==null?void 0:r.msid)||G.VideoLarge);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeHigh,stats:u})}if((n=this.streamInfo)!=null&&n.isVideoSmallSubscribed){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((a=this.streamInfo.getVideoSmallInfo())==null?void 0:a.msid)||G.VideoSmall);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackCamera,streamType:Ge.AliRtcVideoStreamTypeLow,stats:u})}if(this.isScreenSubscribing){const u=yield this.rtsManager.getSubscribeVideoStats(this.streamUrl,((o=this.streamInfo.getScreenInfo())==null?void 0:o.msid)||G.Screen);u&&t.push({uid:this.uid,track:Ae.AliRtcVideoTrackScreen,stats:u})}return{audio:e,video:t}})}enableAudioVolumeIndication(e){this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.audioLevelMonitor.stop(),e>0&&this.audioTrack&&this.audioLevelMonitor.start(this.audioTrack,e),this.audioVolumeIndicationInterval=e)}reportSubscribeMonitor(e){var t;e&&(this.slsReporter.reportSubscribeMonitor(((t=this.localUser)==null?void 0:t.callId)||"",this.callId,this.trackTraceIdMap[e]||"",e,this.monitorDataCache[e]),this.monitorDataCache[e]=[])}startStreamMonitor(){this.monitorTimerId||(this.monitorTimerId=window.setInterval(()=>O(this,null,function*(){try{if(this.streamInfo.subscribingInfos.length===0){this.stopStreamMonitor();return}let e=Object.keys(this.monitorDataCache).filter(t=>{var i;return((i=this.monitorDataCache[t])==null?void 0:i.length)>0});this.streamInfo.subscribingInfos.forEach(t=>{const i=t.msid;if(!i)return;e.includes(i)&&(e=e.filter(a=>a!==i));let r;const n=i===G.Audio;n?r=this.rtsManager.getSubscribeAudioStats(this.streamUrl):r=this.rtsManager.getSubscribeVideoStats(this.streamUrl,i),r.then(a=>{var g;if(!a.timestamp)return;this.monitorDataCache[i]||(this.monitorDataCache[i]=[]);const o=this.monitorDataCache[i];let u;if((o==null?void 0:o.length)>0){const h=o[o.length-1]||{},{_last:l}=h;u=pi(h,["_last"])}(o==null?void 0:o.length)>=F0&&this.reportSubscribeMonitor(i),a._last=u,a._codec=t.codec,n&&(a._source=(g=this.localUser)==null?void 0:g.getMediaStats(a.playoutId)),this.monitorDataCache[i].push(a)})}),e.forEach(t=>{this.reportSubscribeMonitor(t)})}catch(e){}}),1e3))}stopStreamMonitor(){this.monitorTimerId&&(clearInterval(this.monitorTimerId),this.monitorTimerId=void 0),Object.keys(this.monitorDataCache).forEach(e=>{this.reportSubscribeMonitor(e)})}},_(kt,"logName","RemoteUser"),kt);et([j()],Ye.prototype,"clear",1),et([j()],Ye.prototype,"updateRemoteUserDeviceStatus",1),et([j()],Ye.prototype,"updateRemoteTracks",1),et([j(ne)],Ye.prototype,"subscribe",1),et([j()],Ye.prototype,"subscribeProxy",1),et([j(ne)],Ye.prototype,"subscribeDeleteProxy",1),et([j()],Ye.prototype,"restore",1),et([j(ne)],Ye.prototype,"stopSubscribe",1),et([j(ne)],Ye.prototype,"doStopSubscribe",1),et([j()],Ye.prototype,"clearStream",1),et([j()],Ye.prototype,"clearScreenStream",1),et([j()],Ye.prototype,"updateSubscribe",1),et([j()],Ye.prototype,"playAudio",1),et([j()],Ye.prototype,"stopPlayAudio",1),et([j((s,c,e)=>[typeof s=="string"?s:s==null?void 0:s.nodeType,c,e])],Ye.prototype,"play",1),et([j()],Ye.prototype,"stopPlayAll",1);let O0=Ye;var Vt=(s=>(s[s.AliRtcPluginErrorCodeSuccess=0]="AliRtcPluginErrorCodeSuccess",s[s.AliRtcPluginErrorCodeFailed=-1]="AliRtcPluginErrorCodeFailed",s[s.AliRtcPluginErrorNoFindPlugin=-2]="AliRtcPluginErrorNoFindPlugin",s[s.AliRtcPluginErrorParameterError=-3]="AliRtcPluginErrorParameterError",s[s.AliRtcPluginErrorLoadError=-4]="AliRtcPluginErrorLoadError",s[s.AliRtcPluginErrorCreateError=-5]="AliRtcPluginErrorCreateError",s[s.AliRtcPluginErrorInitError=-6]="AliRtcPluginErrorInitError",s[s.AliRtcPluginErrorInitTokenError=-7]="AliRtcPluginErrorInitTokenError",s))(Vt||{});class V0 extends xe{constructor(){super(...arguments);_(this,"plugins",new Map)}add(e,t){if(this.plugins.has(e.name))throw new Y(Vt.AliRtcPluginErrorCreateError,`Plugin ${e.name} already exists`);this.plugins.set(e.name,e),t&&e.setOptions(t),this.emit("added",e),e.on("enabled",()=>this.emit("added",e)),e.on("disabled",()=>this.emit("removed",e)),e.on("updated",()=>this.emit("updated",e))}remove(e){const t=this.plugins.get(e);if(!t)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,`Plugin ${e} not founded`);this.plugins.delete(e),t.removeAllListeners(),this.emit("removed",t)}removeAll(){this.plugins.forEach(e=>{this.remove(e.name)})}get(e){return this.plugins.get(e)}has(e){return!!this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}}var U0=Object.defineProperty,H0=Object.getOwnPropertyDescriptor,Ke=(s,c,e,t)=>{for(var i=t>1?void 0:t?H0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&U0(c,e,i),i};const Ji=([s])=>{const{remoteUser:c,options:e}=s;return[`user(${c.userId})`,e]},Ua=5,je=(nt=class extends xe{constructor(e,t,i,r,n){super();_(this,"rts");_(this,"encodedInsertableStreams",!0);_(this,"audioRedEnabled",!1);_(this,"localStreamManager");_(this,"slsReporter");_(this,"_rtsReconnecting",!1);_(this,"_rtsPeerConnectionType","publish");_(this,"connecting",!1);_(this,"connected",!1);_(this,"_pcTraceId","");_(this,"_localJoinTime",0);_(this,"publishRetryHook");_(this,"subscribeRetryOptionsHook");_(this,"connectionResolve");_(this,"connectingPromise");_(this,"dcResolve");_(this,"dcConnectingPromise");_(this,"_publishingTracks",[]);_(this,"parameter",{});this.localStreamManager=e,this.slsReporter=t,this.publishRetryHook=i,this.subscribeRetryOptionsHook=r,this.parameter=n,this.rts=fe.AliRTS.createClient(),this.addRTSListener()}addRTSListener(){this.rts.on("connectStatusChange",e=>{var t,i,r,n;if(ae.event(`[${nt.logName}]`,"rts connectStatusChange to:",e.status),e.status===fe.EConnectStatus.CONNECT_STATUS_DISCONNECTED)this.setConnected(!1),this.slsReporter.reportWarning("rts disconnected"),this.emit("disconnected");else if(e.status===fe.EConnectStatus.CONNECT_STATUS_CONNECTED){const a=(n=(r=(i=(t=this.rts.commonController)==null?void 0:t.peerCore)==null?void 0:i.getSignal())==null?void 0:r.getDatachannelCore())==null?void 0:n.readyState;ae.event(`[${nt.logName}]`,"dcReadyState:",a),a==="open"&&this.dcResolve&&this.dcResolve(!0),this._rtsReconnecting&&this._rtsPeerConnectionType==="publish"&&(this._publishingTracks=this.rts.getPublishTrackInfoList());try{this.emit("connected",this._rtsReconnecting,this._rtsPeerConnectionType)}catch(o){}this.setConnected(!0)}}),this.rts.on("datachannelStatusChange",e=>{ae.event(`[${nt.logName}]`,"rts datachannelStatusChange to:",e.status),e.status===fe.EDatachannelStatus.DATACHANNEL_STATUS_OPEN?this.dcResolve&&this.dcResolve(!0):e.status===fe.EDatachannelStatus.DATACHANNEL_STATUS_CLOSE&&(this.dcConnectingPromise=new Promise(t=>{this.dcResolve=t}))}),this.rts.on("receivedSEI",e=>{this.emit("seimessage",e.url,e.sei.payloadType,e.sei.data)})}get pcTraceId(){return this._pcTraceId}set localJoinTime(e){this._localJoinTime=e}setEncodedInsertableStreams(e){this.encodedInsertableStreams=e}setAudioRedEnabled(e){var t;if(e!==this.audioRedEnabled){try{const r=[...((t=RTCRtpReceiver.getCapabilities("audio"))==null?void 0:t.codecs)||[]];if(r.length>0){if(e){const n=r.findIndex(o=>o.mimeType==="audio/red"),a=r.findIndex(o=>o.mimeType==="audio/opus");if(n>-1&&a>-1&&n>a){const o=r[a];r[a]=r[n],r[n]=o}}this.rts.setSenderCodecPreferences({audio:r}),this.rts.setReceiverCodecPreferences({audio:r})}}catch(i){}this.audioRedEnabled=e}}clear(){this.setConnected(!1);try{this.rts.unpublish()}catch(e){}this.rts=fe.AliRTS.createClient(),this.addRTSListener()}startConnect(){this.connecting=!0,this.connectingPromise=new Promise(e=>{this.connectionResolve=e}),this.dcConnectingPromise=new Promise(e=>{this.dcResolve=e})}setConnected(e){var t;this.connected=e,this.connecting=!1,this._rtsReconnecting=!1,(t=this.connectionResolve)==null||t.call(this,!0),e||(this.dcConnectingPromise=new Promise(i=>{this.dcResolve=i}))}get isConnecting(){return this.connecting}get isConnected(){return this.connected}get publishingTracks(){return this._publishingTracks}getPubMsid(e,t){const{aMsid:i,vMsid:r}=t!=null?t:{},n={};return e.hasAudio&&(n.aMsid=[i!=null?i:G.Audio]),e.hasScreen&&(n.vMsid=[G.Screen]),e.hasVideo&&(n.vMsid=[r!=null?r:t!=null&&t.isScreen?G.Screen:G.VideoLarge]),n}updatePublishingTracks(e){e&&(this._publishingTracks=e.map(({msid:t,from:i,ssrc:r,codec:n,type:a,trackId:o})=>({msid:t,from:i,type:a,ssrc:`${r}`,codec:n!=null?n:"",trackId:o})))}httpPublish(n,a){return O(this,arguments,function*(e,t,i=!1,r=Bt.MANUAL){var v,x;let o;const{publishStream:u,videoSmallStream:h,screenStream:g,vMsid:f}=yield this.localStreamManager.createHTTPPublishStream();if(!u)return ae.warn(`[${nt.logName}]`,"publishStream is null"),{traceId:"",l1ip:o};const l=this.getPubMsid(u,{vMsid:f});this.encodedInsertableStreams&&(l.encodedInsertableStreams=!0),l.answerSdpHook=y=>{const E=/\d+\.\d+\.\d+\.\d+(?=\s+1106|\s+8000)/.exec(y);return E!=null&&E[0]&&(o=E[0]),y},(x=(v=this.parameter)==null?void 0:v.net)!=null&&x.useTCP&&(l.tcpOnly=!0),l.beforeRetry=y=>O(this,null,function*(){this._rtsReconnecting=!0,this.publishRetryHook&&this.publishRetryHook();const{publishStream:E,vMsid:I}=yield this.localStreamManager.createHTTPPublishStream();if(!E)return;const w=this.getPubMsid(E,{vMsid:I});return y.stream=E,w.aMsid?y.aMsid=w.aMsid:y.aMsid=[],w.vMsid?y.vMsid=w.vMsid:y.vMsid=[],y}),this._rtsPeerConnectionType="publish";let p=!u.hasVideo,d=f,m="";this.startConnect();const b=Date.now();try{m=yield this.rts.publish(e,u,l)}catch(y){this.setConnected(!1);const E=2e3-(Date.now()-b);throw E<=0?this.emit("disconnected"):setTimeout(()=>{this.emit("disconnected")},E),this.slsReporter.reportPublish(i,e,t,u.hasVideo&&(!f||f===G.VideoLarge),u.hasVideo&&f===G.VideoSmall,u.hasVideo&&f===G.Screen,u.hasAudio,(y==null?void 0:y.errorCode)||-1,this.pcTraceId,"",b),Y.fromRtsError(y)}ae.event(`[${nt.logName}]`,"rts publish success",m),this.slsReporter.reportPublish(i,e,t,u.hasVideo&&(!f||f===G.VideoLarge),u.hasVideo&&f===G.VideoSmall,u.hasVideo&&f===G.Screen,u.hasAudio,0,m,m,b);try{const y=Date.now();return this._pcTraceId=m,this.setConnected(!0),this._publishingTracks=this.rts.getPublishTrackInfoList(),h&&(yield this.publishAdd(e,h,t,{vMsid:G.VideoSmall},i),p=!1,d=G.VideoSmall),g&&(yield this.publishAdd(e,g,t,{vMsid:G.Screen},i),p=!1,d=G.Screen),yield this.waitPublishSender(e,p,d),this.slsReporter.reportPublishFirstPacket(i,t,b,y,this._localJoinTime,p?G.Audio:l.vMsid,m||"",m||"",r),{traceId:m,l1ip:o}}catch(y){throw this.setConnected(!1),Y.fromError(y)}})}waitPublishSender(e,t=!1,i){return O(this,null,function*(){const r=(n,a)=>{let o=0;const u=()=>(t?this.rts.getPublishAudioStats(e,i):this.rts.getPublishVideoStats(e,i)).then(g=>!(g.bytesSent>0)&&o<n?(o++,new Promise(l=>setTimeout(()=>l(u()),a))):Promise.resolve());return u()};return Promise.race([Nt(1e3),r(5,100)]).catch(()=>{})})}getPublishVideoStats(e,t){return O(this,null,function*(){return yield this.rts.getPublishVideoStats(e,t)})}getPublishAudioStats(e,t){return O(this,null,function*(){return yield this.rts.getPublishAudioStats(e,t)})}publishAdd(u,h,g,f){return O(this,arguments,function*(e,t,i,r,n=!1,a=!1,o=Bt.MANUAL){var d,m,b,v,x,y,E,I;const l=Date.now(),p=this.getPubMsid(t,r);try{const w=yield Ba(R=>O(this,null,function*(){return R>0&&ae.event(`[${nt.logName}]`,`publishAdd retry times: ${R}`),this.isConnected?(yield this.dcConnectingPromise,this.rts.publishAdd([be({url:e,stream:t,updateSourceStream:!1},p)])):Promise.reject(new Y(te.ERR_INNER,"rts not connected"))}),Ua,0,R=>(R==null?void 0:R.errorCode)===15006);if(w){const R=Date.now(),[L]=w;return this.slsReporter.reportPublish(!1,e,i,((d=p.vMsid)==null?void 0:d[0])===G.VideoLarge,((m=p.vMsid)==null?void 0:m[0])===G.VideoSmall,((b=p.vMsid)==null?void 0:b[0])===G.Screen,((v=p.aMsid)==null?void 0:v[0])===G.Audio,0,this.pcTraceId,L.traceId||"",l),this.updatePublishingTracks(L.trackInfoList),a&&(yield this.waitPublishSender(e,!t.hasVideo,t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)),this.slsReporter.reportPublishFirstPacket(n,i,l,R,this._localJoinTime,(t.hasVideo?r==null?void 0:r.vMsid:r==null?void 0:r.aMsid)||"",this.pcTraceId,L.traceId||"",o),L.traceId||""}}catch(w){throw this.slsReporter.reportPublish(!1,e,i,((x=p.vMsid)==null?void 0:x[0])===G.VideoLarge,((y=p.vMsid)==null?void 0:y[0])===G.VideoSmall,((E=p.vMsid)==null?void 0:E[0])===G.Screen,((I=p.aMsid)==null?void 0:I[0])===G.Audio,(w==null?void 0:w.errorCode)||-1,this.pcTraceId,"",l),w!=null&&w.errorCode?Y.fromRtsError(w):Y.fromError(w)}return""})}publishDelete(e,t){return O(this,null,function*(){var u,h,g,f,l,p,d,m;yield this.dcConnectingPromise;const i=(h=(u=this.publishingTracks)==null?void 0:u.find(({msid:b})=>b===G.Audio))==null?void 0:h.msid,r=(f=(g=this.publishingTracks)==null?void 0:g.find(({msid:b})=>b===G.VideoLarge))==null?void 0:f.msid,n=(p=(l=this.publishingTracks)==null?void 0:l.find(({msid:b})=>b===G.Screen))==null?void 0:p.msid,a=[];t.screen&&n?a.push(n):t.video&&a.push(t.vMsid||r);const o=[];t.audio&&i&&o.push(i),ae.event(nt.logName,"publishDelete",{streamUrl:e,aMsid:o,vMsid:a});try{const[b]=(yield this.rts.publishDeleteTracks([{url:e,aMsid:o,vMsid:a}]))||[];return ae.event(nt.logName,"publishDelete",{result:b}),b&&this.updatePublishingTracks(b.trackInfoList),((m=(d=b==null?void 0:b.trackInfoList)==null?void 0:d[0])==null?void 0:m.trackId)||""}catch(b){throw Y.fromRtsError(b)}})}publishReplace(e,t,i){return O(this,null,function*(){var a,o;yield this.dcConnectingPromise;const{vMsid:r,aMsid:n}=i!=null?i:{};try{const u=yield this.rts.publishReplaceTracks([{url:e,stream:t,updateSourceStream:!1,vMsid:r,aMsid:n}]),[h]=u;return this.updatePublishingTracks(h.trackInfoList),((o=(a=h==null?void 0:h.trackInfoList)==null?void 0:a[0])==null?void 0:o.trackId)||""}catch(u){throw Y.fromRtsError(u)}})}publishStop(e){return O(this,null,function*(){return yield this.rts.publishStop([{url:e}]),this._publishingTracks=[],""})}publishAddDataChannel(e){return O(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.publishAddDatachannel({signalUrl:e,url:e,label:G.Data,msid:G.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.datachannel.send(r)}return i})}publishStopDataChannel(e,t){return O(this,null,function*(){return yield this.rts.publishStopDatachannel({url:e,datachannel:t})})}unpublish(){return O(this,null,function*(){yield this.rts.unpublish(),this.connecting=!1,this.connected=!1})}getSubConfig(e,t){let i=t!=null?t:{};t||(i={audio:!0,video:!0,screen:!0});const r={};return i.audio&&(r.aMsid=[(e==null?void 0:e.getAudioInfo().msid)||G.Audio]),i.video?i.vMsid?r.vMsid=[i.vMsid]:e!=null&&e.hasVideoLarge?r.vMsid=[(e==null?void 0:e.getVideoLargeInfo().msid)||G.VideoLarge]:e!=null&&e.hasVideoSmall?r.vMsid=[(e==null?void 0:e.getVideoSmallInfo().msid)||G.VideoSmall]:r.vMsid=[G.VideoLarge]:i.screen&&e!=null&&e.hasScreen&&(r.vMsid=[(e==null?void 0:e.getScreenInfo().msid)||G.Screen]),r}httpSubscribe(e){return O(this,null,function*(){var a,o;const{remoteUser:t,options:i}=e;let r=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(r+="@subaudio=no"):r+="@subvideo=no";const n=this.getSubConfig(t.streamInfo,i);this.encodedInsertableStreams&&(n.encodedInsertableStreams=!0),(o=(a=this.parameter)==null?void 0:a.net)!=null&&o.useTCP&&(n.tcpOnly=!0),n.beforeRetry=u=>O(this,null,function*(){this._rtsReconnecting=!0;try{this.emit("reconnecting","subscribe")}catch(h){}if(this._publishingTracks=[],this.subscribeRetryOptionsHook){const h=this.subscribeRetryOptionsHook();if(h){let g=t.streamUrl;i.video||i.screen?i!=null&&i.audio||(g+="@subaudio=no"):g+="@subvideo=no",u.url=g;const f=this.getSubConfig(h.remoteUser.streamInfo,h.options);f.aMsid&&(u.aMsid=f.aMsid),f.vMsid&&(u.vMsid=f.vMsid)}else return}return u}),this._rtsPeerConnectionType="subscribe";try{this.startConnect();const u=yield this.rts.subscribe(r,n);return this._pcTraceId=u.traceId,this.setConnected(!0),{traceId:u.traceId,stream:u}}catch(u){throw this.setConnected(!1),this.emit("disconnected"),Y.fromRtsError(u)}})}subscribeAdd(e){return O(this,null,function*(){var n,a,o,u;const{remoteUser:t,options:i}=e,r=Rt(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield Ba(g=>O(this,null,function*(){return yield this.dcConnectingPromise,g>0&&ae.event(`[${nt.logName}]`,`subscribeAdd retry times: ${g}`),this.isConnected?this.rts.subscribeAdd([r]):Promise.reject()}),Ua,0,g=>(g==null?void 0:g.errorCode)===15006))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===508)return this.emit("subscribeexceeds"),null;throw Y.fromRtsError(h)}})}subscibeDelete(e){return O(this,null,function*(){var n,a,o,u;yield this.dcConnectingPromise;const{remoteUser:t,options:i}=e,r=Rt(be({url:t.streamUrl,subAudio:!!i.audio,subVideo:!!(i.screen||i.video)},this.getSubConfig(t.streamInfo,i)),{targetStream:i.screen?t.getScreenStream:t.getCameraStream});try{return(yield this.rts.subscribeDeleteTracks([r]))[0]}catch(h){if(((u=(o=(a=(n=h==null?void 0:h.extraInfo)==null?void 0:n.parsedData)==null?void 0:a.streams)==null?void 0:o[0])==null?void 0:u.res_code)===404)return;throw Y.fromRtsError(h)}})}subscibeStop(e){return O(this,null,function*(){var t,i,r,n;try{yield this.rts.subscribeStop([{url:e}])}catch(a){if(((n=(r=(i=(t=a==null?void 0:a.extraInfo)==null?void 0:t.parsedData)==null?void 0:i.streams)==null?void 0:r[0])==null?void 0:n.res_code)===404)return;throw Y.fromRtsError(a)}})}subscribeAddDataChannel(e){return O(this,null,function*(){yield this.dcConnectingPromise;const t=yield this.rts.subscribeAddDatachannel({signalUrl:e,url:e,label:G.Data,msid:G.Data}),i=t==null?void 0:t.datachannel;if(i&&i.send){const r=new ArrayBuffer(4);new DataView(r).setUint8(0,240),i.send(r)}return i})}subscribeStopDatachannel(e,t){return O(this,null,function*(){let i;try{i=yield this.rts.subscribeStopDatachannel({url:e,datachannel:t})}catch(r){}return t==null||t.dispose(),i})}publish(n,a){return O(this,arguments,function*(e,t,i=!1,r=Bt.MANUAL){let o="",u;if(this.connecting&&(yield this.connectingPromise),this.connected){yield this.dcConnectingPromise;let h=!1,g;const{audio:f,video:l,videoSmall:p,screen:d}=this.localStreamManager.publishStreams;f&&(o=yield this.publishAdd(e,f,t,{aMsid:G.Audio},i),h=!0,g=G.Audio,yield Nt(100)),l&&(o=yield this.publishAdd(e,l,t,{vMsid:G.VideoLarge},i),h=!1,g=G.VideoLarge,yield Nt(100)),p&&(o=yield this.publishAdd(e,p,t,{vMsid:G.VideoSmall},i),h=!1,g=G.VideoSmall,yield Nt(100)),d&&(o=yield this.publishAdd(e,d,t,{isScreen:!0,vMsid:G.Screen},i),h=!1,g=G.Screen),g&&(yield this.waitPublishSender(e,h,g))}else{const h=yield this.httpPublish(e,t,i,r);o=h.traceId,u=h.l1ip}return{traceId:o,l1ip:u}})}subscribe(e,t,i,r,n){return O(this,null,function*(){let a=!1;const{options:o,remoteUser:u}=e;if(o.video&&o.screen)throw new Y(te.ERR_INNER,"subscribe error, video and screen cannot be subscribed at the same time");this.connecting&&(yield this.connectingPromise);let h,g=Date.now();this.connected?(g=Date.now(),h=yield this.subscribeAdd(e)):(a=!0,h=yield this.httpSubscribe(e));const f=Date.now();let l=G.VideoLarge,p=o.video||o.screen,d=o.audio;o.video&&o.vMsid?l=o.vMsid:o.screen&&(l=G.Screen);let m=0,b=0,v=0;const y=((E,I)=>{let w=0;const R=()=>{let L;return d&&!m&&(L=this.rts.getSubscribeAudioStats(u.streamUrl).then(D=>{if(D.packetsReceived>0)m=Date.now();else if(!p)return w<E?(w++,new Promise(N=>setTimeout(()=>N(R()),I))):!1;return!0})),p&&!v&&(L=this.rts.getSubscribeVideoStats(u.streamUrl,l).then(D=>{if(D.packetsReceived>0&&(b=Date.now()),D.framesDecoded>0)v=Date.now();else return w<E?(w++,new Promise(N=>setTimeout(()=>N(R()),I))):(ae.error(`[${nt.logName}]`,u.userId,"尝试获取首帧数据失败"),!1);return!0})),Promise.resolve(L)};return R()})(40,100);return y.then(()=>{b&&this.slsReporter.reportSubscribeFirstPacket(t===Be.Resume,i,r,l,{fprt:b-g,ifsprtc:v?v-g:0,ajsub:t===Be.Join?1:0,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",sstc:f-g}),v&&this.slsReporter.reportSubscribeFirstFrame(t===Be.Resume,i,r,l,{fvfrt:v-g,fp2fftc:v-b,ajsub:t===Be.Join?1:0,tffrtc:t===Be.Join?v-this.localJoinTime:v-n,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",fvfdtc:v-g}),m&&this.slsReporter.reportSubscribeFirstPacket(t===Be.Resume,i,r,G.Audio,{fprt:m-g,ifsprtc:m-g,ajsub:t===Be.Join?1:0,pctid:this.pcTraceId,subtid:(h==null?void 0:h.traceId)||"",sstc:f-g})}),a&&(yield Promise.race([y,Nt(1500)])),h})}getSubscribeVideoStats(e,t){return O(this,null,function*(){return yield this.rts.getSubscribeVideoStats(e,t)})}getSubscribeAudioStats(e,t){return O(this,null,function*(){return yield this.rts.getSubscribeAudioStats(e,t)})}getStreamByMsid(e){return this.rts.commonController.streamManager.getStreamByMsid(e)}getPCStats(){return O(this,null,function*(){var e,t;return(t=(e=this.rts.commonController.peerCore)==null?void 0:e.pc)==null?void 0:t.getStats()})}sendSEI(e,t,i,r){return O(this,null,function*(){return this.rts.sendSEI({url:e,vMsid:G.VideoLarge,data:t,repeatCount:i,payloadType:r})})}},_(nt,"logName","RtsManager"),nt);Ke([j()],je.prototype,"updatePublishingTracks",1),Ke([j(ne,ne)],je.prototype,"httpPublish",1),Ke([j(ne,ne)],je.prototype,"waitPublishSender",1),Ke([j(([s,c,e])=>[s,JSON.stringify(e)],ne)],je.prototype,"publishAdd",1),Ke([j(ne,ne)],je.prototype,"publishDelete",1),Ke([j(([s,c,e])=>[s,JSON.stringify(e)])],je.prototype,"publishReplace",1),Ke([j(ne)],je.prototype,"publishStop",1),Ke([j(ne)],je.prototype,"publishAddDataChannel",1),Ke([j(ne)],je.prototype,"publishStopDataChannel",1),Ke([j()],je.prototype,"unpublish",1),Ke([j(Ji,({traceId:s})=>s)],je.prototype,"httpSubscribe",1),Ke([j(Ji,({traceId:s})=>s)],je.prototype,"subscribeAdd",1),Ke([j(Ji)],je.prototype,"subscibeDelete",1),Ke([j(ne)],je.prototype,"subscibeStop",1),Ke([j(ne)],je.prototype,"subscribeAddDataChannel",1),Ke([j(ne)],je.prototype,"subscribeStopDatachannel",1),Ke([j(ne)],je.prototype,"publish",1),Ke([j(Ji)],je.prototype,"subscribe",1),Ke([j()],je.prototype,"sendSEI",1);let z0=je;class Rs{constructor(){_(this,"profile");_(this,"profileMap",new Map);_(this,"audioProfile");_(this,"contentHint")}updateProfile(c,e){e&&this.profileMap.set(c,e),this.profile=c}get videoProfile(){return this.profile}updateAudioProfile(c){this.audioProfile=c}setContentHint(c,e){e&&(this.contentHint=e),this.contentHint&&c&&(c.contentHint=this.contentHint)}setVideoProfile(c,e,t=!1){return O(this,null,function*(){if(!this.profile)return;const i=this.profileMap.get(this.profile)||(e==null?void 0:e.VideoProfileMap.get(this.profile));if(i){if(!t&&c&&c.applyConstraints)try{yield c.applyConstraints(i)}catch(r){}e&&(e==null||e.VideoProfileMap.set(this.profile,i),yield e.setVideoProfile(this.profile))}})}}class Ds extends xe{constructor(e){super();_(this,"type");_(this,"originVideoTrack");_(this,"videoSource");_(this,"_videoMuted",!1);_(this,"originAudioTrack");_(this,"audioSource");_(this,"_audioMuted",!1);_(this,"_targetVideoTrack");_(this,"_targetDualVideoTrack");_(this,"_targetAudioTrack");_(this,"_publishVideoStream");_(this,"_publishDualVideoStream");_(this,"_publishAudioStream");_(this,"_previewStream");_(this,"plugins",[]);_(this,"_profileManager");_(this,"cameraVideoConstraints");_(this,"micAudioConstraints");_(this,"onVideoTrackEnded",()=>{this.emit("videotrackended")});_(this,"onAudioTrackEnded",()=>{this.emit("audiotrackended")});this.type=e}get profileManager(){return this._profileManager}get audioProfile(){var e;return(e=this.profileManager)==null?void 0:e.audioProfile}updateSource(e,t,i){return O(this,null,function*(){var a,o,u,h,g,f;const{videoTrack:r,audioTrack:n}=e;r&&((a=this.originVideoTrack)==null||a.removeEventListener("ended",this.onVideoTrackEnded)),n&&((o=this.originAudioTrack)==null||o.removeEventListener("ended",this.onAudioTrackEnded)),this.type===We.AliRtcSdkStreamTypeScreen?this.stop():(r&&((u=this.originVideoTrack)==null||u.stop()),n&&((h=this.originAudioTrack)==null||h.stop())),r&&(this.originVideoTrack=r,(g=this.originVideoTrack)==null||g.addEventListener("ended",this.onVideoTrackEnded),this.videoSource=t||ni.Camera,this.updateVideoTrack(r)),n&&(this.originAudioTrack=n,(f=this.originAudioTrack)==null||f.addEventListener("ended",this.onAudioTrackEnded),this.audioSource=i||Pi.Microphone,this.updateAudioTrack(n))})}get currentProfile(){var e;return(e=this.profileManager)==null?void 0:e.profile}get currentVideoTrack(){return this._targetVideoTrack}get currentDualVideoTrack(){return this._targetDualVideoTrack}get publishVideoStream(){return this._publishVideoStream}get publishDualVideoStream(){return this._publishDualVideoStream}get currentAudioTrack(){return this._targetAudioTrack}get publishAudioStream(){return this._publishAudioStream}get previewStream(){return this._previewStream}updateVideoTrack(e,t=!1){return O(this,null,function*(){(this._targetVideoTrack!==e||t)&&(this._targetVideoTrack=e)})}updateDualVideoTrack(e,t=!1){return O(this,null,function*(){(this._targetDualVideoTrack!==e||t)&&(this._targetDualVideoTrack=e)})}updateAudioTrack(e,t=!1){return O(this,null,function*(){(this._targetAudioTrack!==e||t)&&(this._targetAudioTrack=e)})}setAudioMuted(e){var t,i;this._audioMuted=e,e?(t=this.publishAudioStream)==null||t.disableAudio():(i=this.publishAudioStream)==null||i.enableAudio()}get isAudioMuted(){return this._audioMuted}setVideoMuted(e){var t,i;this._videoMuted=e,e?(t=this.publishVideoStream)==null||t.disableVideo():(i=this.publishVideoStream)==null||i.enableVideo()}get isVideoMuted(){return this._videoMuted}process(e){return O(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l,p;this._targetAudioTrack=this.originAudioTrack,this._targetVideoTrack=this.originVideoTrack;for(const d of this.plugins)try{yield d.execute(this,e)}catch(m){console.error(`error in plugin-${d.name}, error: ${m}`)}this._targetVideoTrack?((i=(t=this._publishVideoStream)==null?void 0:t.videoTrack)==null?void 0:i.id)!==this._targetVideoTrack.id&&(this._publishVideoStream=yield Di(this._targetVideoTrack),this.setVideoMuted(this._videoMuted),(r=this.profileManager)==null||r.setVideoProfile(this.originVideoTrack,this._publishVideoStream,!0),(n=this.profileManager)==null||n.setContentHint(this._targetVideoTrack),this.previewStream?(a=this.previewStream)==null||a.mergeStream(this._publishVideoStream):this._previewStream=yield Di(this._targetVideoTrack)):(this._publishVideoStream=void 0,(o=this.previewStream)==null||o.deleteTracks({video:!0})),this._targetDualVideoTrack?((h=(u=this._publishDualVideoStream)==null?void 0:u.videoTrack)==null?void 0:h.id)!==this._targetDualVideoTrack.id&&(this._publishDualVideoStream=yield Di(this._targetDualVideoTrack),this._videoMuted?this._publishDualVideoStream.disableVideo():this._publishDualVideoStream.enableVideo()):this._publishDualVideoStream=void 0,this._targetAudioTrack?((f=(g=this._publishAudioStream)==null?void 0:g.audioTrack)==null?void 0:f.id)!==this._targetAudioTrack.id&&(this._publishAudioStream=yield Di(this._targetAudioTrack),this.setAudioMuted(this._audioMuted),this.previewStream?(l=this.previewStream)==null||l.mergeStream(this._publishAudioStream):this._previewStream=yield Di(this._targetAudioTrack)):(this._publishAudioStream=void 0,(p=this.previewStream)==null||p.deleteTracks({audio:!0}))})}stopVideo(){var e,t;this.originVideoTrack&&((e=this.originVideoTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originVideoTrack)==null||t.stop(),this.originVideoTrack=void 0),this.updateVideoTrack(void 0)}stopAudio(){var e,t;this.originAudioTrack&&((e=this.originAudioTrack)==null||e.removeEventListener("ended",this.onAudioTrackEnded),(t=this.originAudioTrack)==null||t.stop(),this.originAudioTrack=void 0),this.updateAudioTrack(void 0)}stop(){this.stopVideo(),this.stopAudio()}updateVideoProfile(e,t){return O(this,null,function*(){this._profileManager||(this._profileManager=new Rs),e&&this._profileManager.updateProfile(e,t),yield this._profileManager.setVideoProfile(this.originVideoTrack,this._publishVideoStream,this.type===We.AliRtcSdkStreamTypeScreen)})}get videoProfile(){var e;return(e=this.profileManager)==null?void 0:e.videoProfile}setVideoContentHint(e){this._profileManager||(this._profileManager=new Rs),this._profileManager.setContentHint(this.currentVideoTrack,e)}updateAudioProfile(e){return O(this,null,function*(){this._profileManager||(this._profileManager=new Rs),this._profileManager.updateAudioProfile(e)})}cloneVideoProfile(e){return O(this,null,function*(){var t;yield(t=this.profileManager)==null?void 0:t.setVideoProfile(void 0,e)})}addPlugin(e){const t=this.plugins.findIndex(i=>i.zIndex>e.zIndex);t>-1?this.plugins.splice(t,0,e):this.plugins.push(e)}removePlugin(e){const t=this.plugins.indexOf(e);return t>-1?(e.clear(this),this.plugins.splice(t,1),!0):!1}}var j0=Object.defineProperty,W0=Object.getOwnPropertyDescriptor,_t=(s,c,e,t)=>{for(var i=t>1?void 0:t?W0(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&j0(c,e,i),i};const xt=(ri=class extends xe{constructor(e,t){super();_(this,"pluginManager");_(this,"slsReporter");_(this,"publishingCameraVideoStream");_(this,"publishingScreenVideoStream");_(this,"cameraStreamInfo",new Ds(We.AliRtcSdkStreamTypeCapture));_(this,"screenStreamInfo",new Ds(We.AliRtcSdkStreamTypeScreen));_(this,"streamInfos",[this.cameraStreamInfo,this.screenStreamInfo]);_(this,"_audioCaptureDisabled",!1);_(this,"_cameraCaptureDisabled",!1);_(this,"_publishLocalAudioStreamEnabled",!0);_(this,"_publishLocalVideoStreamEnabled",!0);_(this,"_publishLocalScreenStreamEnabled",!0);this.screenStreamInfo.setVideoContentHint("motion"),this.pluginManager=e,this.slsReporter=t;const i=r=>O(this,null,function*(){if(ae.info(`[${ri.logName}]`,"plugin added",r.name),!r.isSupported("6.13.2-beta.1")){console.warn(`${r.name} is not supported!!!`),r.emit("unsupported");return}try{yield r.init()}catch(n){r.emit("error",Y.fromError(n,Vt.AliRtcPluginErrorInitError))}r.streamType===We.AliRtcSdkStreamTypeCapture&&(this.cameraStreamInfo.addPlugin(r),yield this.cameraStreamInfo.process(this.streamInfos)),r.streamType===We.AliRtcSdkStreamTypeScreen&&(this.screenStreamInfo.addPlugin(r),yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")});this.cameraStreamInfo.updateVideoProfile(Ta,wi),this.cameraStreamInfo.on("videotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({video:!0}),this.emit("trackended",ti.VideoTrackEnded)})),this.cameraStreamInfo.on("audiotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({audio:!0}),this.emit("trackended",ti.AudioTrackEnded)})),this.screenStreamInfo.updateVideoProfile(ka,Ci),this.screenStreamInfo.on("videotrackended",()=>O(this,null,function*(){yield this.stopLocalStream({screen:!0}),this.emit("trackended",ti.ScreenTrackEnded)})),this.pluginManager.on("added",i),this.pluginManager.on("removed",r=>O(this,null,function*(){this.cameraStreamInfo.removePlugin(r)&&(yield this.cameraStreamInfo.process(this.streamInfos)),this.screenStreamInfo.removePlugin(r)&&(yield this.screenStreamInfo.process(this.streamInfos)),this.emit("publishupdate")})),this.pluginManager.on("updated",()=>O(this,null,function*(){yield this.updateStreams()}))}get hasCamera(){return!!this.cameraStreamInfo.originVideoTrack}get audioCaptureDisabled(){return this._audioCaptureDisabled}set audioCaptureDisabled(e){this._audioCaptureDisabled=e}get cameraCaptureDisabled(){return this._cameraCaptureDisabled}set cameraCaptureDisabled(e){this._cameraCaptureDisabled=e}setAudioMuted(e){this.cameraStreamInfo.setAudioMuted(e)}get isAudioMuted(){return this.cameraStreamInfo.isAudioMuted}setCameraMuted(e){this.cameraStreamInfo.setVideoMuted(e)}get isCameraMuted(){return this.cameraStreamInfo.isVideoMuted}setScreenMuted(e){this.screenStreamInfo.setVideoMuted(e)}get isScreenMuted(){return this.screenStreamInfo.isVideoMuted}get publishLocalAudioStreamEnabled(){return this._publishLocalAudioStreamEnabled}set publishLocalAudioStreamEnabled(e){this._publishLocalAudioStreamEnabled=e}get publishLocalVideoStreamEnabled(){return this._publishLocalVideoStreamEnabled}set publishLocalVideoStreamEnabled(e){this._publishLocalVideoStreamEnabled=e}get publishLocalScreenStreamEnabled(){return this._publishLocalScreenStreamEnabled}set publishLocalScreenStreamEnabled(e){this._publishLocalScreenStreamEnabled=e}updateStreams(){return O(this,null,function*(){yield this.cameraStreamInfo.process(this.streamInfos),yield this.screenStreamInfo.process(this.streamInfos),this.emit("publishupdate")})}setAvailableCameraDeviceId(){return O(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.cameraVideoConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.cameraVideoConstraints)==null?void 0:t.deviceId;const a=yield fe.AliRTS.getCameraList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.cameraVideoConstraints.deviceId=n}})}setAvailableMicrophoneDeviceId(){return O(this,null,function*(){var e,t,i,r;if((e=this.cameraStreamInfo.micAudioConstraints)!=null&&e.deviceId){let n=(t=this.cameraStreamInfo.micAudioConstraints)==null?void 0:t.deviceId;const a=yield fe.AliRTS.getMicList();a.find(o=>o.deviceId===n)||(n=(r=(i=a.find(o=>!!o.deviceId))==null?void 0:i.deviceId)!=null?r:""),this.cameraStreamInfo.micAudioConstraints.deviceId=n}})}createLocalStream(e){return O(this,null,function*(){var g;const{screen:t,mediaStream:i,videoProfile:r,screenProfile:n}=e;let{video:a,audio:o}=e;const u=C0(e);let h;if(u){i||(a===!0&&this.cameraStreamInfo.cameraVideoConstraints?(yield this.setAvailableCameraDeviceId(),a=be({},this.cameraStreamInfo.cameraVideoConstraints)):typeof a=="object"&&(yield this.setAvailableCameraDeviceId(),a=be(be({},a),this.cameraStreamInfo.cameraVideoConstraints)),o===void 0&&this.audioCaptureDisabled?o=!1:o&&(o===!0&&this.cameraStreamInfo.micAudioConstraints?(yield this.setAvailableMicrophoneDeviceId(),o=be({},this.cameraStreamInfo.micAudioConstraints)):typeof o=="object"&&(yield this.setAvailableMicrophoneDeviceId(),o=be(be({},o),this.cameraStreamInfo.micAudioConstraints)),this._audioCaptureDisabled=!1));const f=Date.now();try{h=yield fe.AliRTS.createStream({audio:o,video:a,screen:t,custom:!!i,mediaStream:i,skipProfile:!0}),o&&!i&&this.slsReporter.reportAudio(null,Date.now()-f,((g=h==null?void 0:h.audioTrack)==null?void 0:g.label)||""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f)}catch(l){throw o&&!i&&this.slsReporter.reportAudio(l,Date.now()-f,""),t&&!i&&this.slsReporter.reportScreen(null,Date.now()-f),l}if(t)yield this.screenStreamInfo.updateSource(h,ni.Screen,Pi.Screen),yield this.setScreenProfile(n),this.setScreenContentHint(),this.publishingScreenVideoStream=void 0;else if(yield this.cameraStreamInfo.updateSource(h,ni.Camera,Pi.Microphone),h.hasVideo&&(yield this.setVideoProfile(r),this.setVideoContentHint(),this.publishingCameraVideoStream=void 0),h.hasAudio&&typeof o=="boolean"){const l=this.cameraStreamInfo.audioProfile;l&&(yield h.setAudioProfile(l))}}return fe.AliRTS.SystenUtil.isIos&&fe.AliRTS.SystenUtil.compareVersion("15.1")&&!fe.AliRTS.SystenUtil.compareVersion("15.2")&&(yield Nt(1e3)),yield this.updateStreams(),h})}stopLocalStream(e){return O(this,null,function*(){const{screen:t,video:i,audio:r}=e!=null?e:{};let n=!1;i&&this.cameraStreamInfo.originVideoTrack&&(n=!0,this.cameraStreamInfo.stopVideo(),this.publishingCameraVideoStream=void 0),r&&this.cameraStreamInfo.originAudioTrack&&(n=!0,this.cameraStreamInfo.stopAudio()),t&&this.screenStreamInfo.originVideoTrack&&(n=!0,this.screenStreamInfo.stop(),this.publishingScreenVideoStream=void 0,this.slsReporter.reportScreenStop(null)),n&&(yield this.updateStreams())})}get publishStreams(){const{publishLocalVideoStreamEnabled:e,publishLocalAudioStreamEnabled:t,publishLocalScreenStreamEnabled:i}=this;return{video:e?this.cameraStreamInfo.publishVideoStream:void 0,videoSmall:e?this.cameraStreamInfo.publishDualVideoStream:void 0,audio:t?this.cameraStreamInfo.publishAudioStream:void 0,screen:i?this.screenStreamInfo.publishVideoStream:void 0}}createHTTPPublishStream(){return O(this,null,function*(){var o,u,h,g;let e,t=!1,i,r,n;const a=yield this.publishStreams;try{if(!a.audio&&!a.video&&!a.videoSmall&&!a.screen)throw ae.error(`[${ri.logName}]`,"no tracks founded"),new Y(te.ERR_SDK_PUBLISH_INVAILD,"no tracks founded");const f=new MediaStream;(o=a.audio)!=null&&o.audioTrack&&f.addTrack(a.audio.audioTrack),(u=a.video)!=null&&u.videoTrack?(f.addTrack(a.video.videoTrack),r=a.videoSmall,n=a.screen):(h=a.screen)!=null&&h.videoTrack&&(i=G.Screen,f.addTrack((g=a.screen)==null?void 0:g.videoTrack),t=!0),e=yield Oa(f),t?(this.screenStreamInfo.cloneVideoProfile(e),this.publishingScreenVideoStream=e):(this.cameraStreamInfo.cloneVideoProfile(e),this.publishingCameraVideoStream=e)}catch(f){}return{publishStream:e,videoSmallStream:r,screenStream:n,vMsid:i}})}stop(){this.cameraStreamInfo.stop(),this.screenStreamInfo.stop(),this.updateStreams()}setVideoProfile(e,t){return O(this,null,function*(){yield this.cameraStreamInfo.updateVideoProfile(e,t),this.publishingCameraVideoStream&&this.cameraStreamInfo.cloneVideoProfile(this.publishingCameraVideoStream)})}setVideoContentHint(e){this.cameraStreamInfo.setVideoContentHint(e)}setAudioProfile(e){return O(this,null,function*(){var t;yield this.cameraStreamInfo.updateAudioProfile(e),yield(t=this.publishingCameraVideoStream)==null?void 0:t.setAudioProfile(e)})}setScreenProfile(e,t){return O(this,null,function*(){yield this.screenStreamInfo.updateVideoProfile(e,t),this.publishingScreenVideoStream&&this.screenStreamInfo.cloneVideoProfile(this.publishingScreenVideoStream)})}setScreenContentHint(e){this.screenStreamInfo.setVideoContentHint(e)}setCameraVideoConstraints(e){var t;this.cameraStreamInfo.cameraVideoConstraints=be(be({},(t=this.cameraStreamInfo.cameraVideoConstraints)!=null?t:{}),e)}setMicAudioConstraints(e){var t;this.cameraStreamInfo.micAudioConstraints=be(be({},(t=this.cameraStreamInfo.micAudioConstraints)!=null?t:{}),e)}},_(ri,"logName","LocalStreamManager"),ri);_t([j(([s])=>{const{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}=s;return[{audio:c,video:e,screen:t,custom:i,skipProfile:r,videoProfile:n,screenProfile:a}]})],xt.prototype,"createLocalStream",1),_t([j(ne)],xt.prototype,"stopLocalStream",1),_t([j()],xt.prototype,"createHTTPPublishStream",1),_t([j()],xt.prototype,"stop",1),_t([j(ne)],xt.prototype,"setVideoProfile",1),_t([j(ne)],xt.prototype,"setVideoContentHint",1),_t([j(ne)],xt.prototype,"setAudioProfile",1),_t([j(ne)],xt.prototype,"setScreenProfile",1),_t([j(ne)],xt.prototype,"setScreenContentHint",1),_t([j(ne)],xt.prototype,"setCameraVideoConstraints",1),_t([j(ne)],xt.prototype,"setMicAudioConstraints",1);let K0=xt;class $0 extends Zt{constructor(){super("AliRtcScreenStandardize",We.AliRtcSdkStreamTypeScreen);_(this,"canvas");_(this,"lastWidth");_(this,"lastHeight");_(this,"hasScreenTrack",!1)}get initOptions(){return{base:4}}setOptions(e){this.options=e}isSupported(){return!(typeof TransformStream=="undefined"||typeof MediaStreamTrackProcessor=="undefined"||typeof MediaStreamTrackGenerator=="undefined")}updateProcessCanvas(e,t){if(this.canvas&&this.lastWidth===e&&this.lastHeight===t)return;const i=Math.ceil(e/this.options.base)*this.options.base,r=Math.ceil(t/this.options.base)*this.options.base;if(this.canvas||(this.canvas=document.createElement("canvas")),this.canvas.width=i,this.canvas.height=r,this.lastWidth&&e>this.lastWidth||this.lastHeight&&t>this.lastHeight){const n=this.canvas.getContext("2d");n&&n.clearRect(0,0,i,r)}this.lastWidth=e,this.lastHeight=t}shouldUpdate(e){return this.hasScreenTrack!==(!!e.originVideoTrack&&e.videoSource===ni.Screen)}handleFrame(e,t){return O(this,null,function*(){var a;const{displayWidth:i,displayHeight:r}=e;if(!i||!r||i%this.options.base===0&&r%this.options.base===0)return this.clear(t),e;this.updateProcessCanvas(i,r);const n=(a=this.canvas)==null?void 0:a.getContext("2d");if(this.canvas&&n){n.drawImage(e,0,0,i,r);const o=new VideoFrame(this.canvas,{timestamp:e.timestamp});return e.close(),o}return e})}process(e){return O(this,null,function*(){var h;if(!e.originVideoTrack||e.videoSource!==ni.Screen){this.clear(e),this.hasScreenTrack=!1;return}const t=new MediaStreamTrackProcessor({track:e.originVideoTrack}),i=new MediaStreamTrackGenerator({kind:"video"}),r=new MediaStream([i]),n=this,a=new TransformStream({transform(g,f){return O(this,null,function*(){const l=yield n.handleFrame(g,e);yield f.enqueue(l),l==null||l.close()})}});t.readable.pipeThrough(a).pipeTo(i.writable);const o=(h=r.getVideoTracks())==null?void 0:h[0];e.updateVideoTrack(o),this.hasScreenTrack=!0})}clear(e){this.canvas=void 0,this.lastWidth=void 0,this.lastHeight=void 0,super.clear(e)}}class q0 extends Zt{constructor(){super("blankAudio",We.AliRtcSdkStreamTypeCapture,xi.BOTH);_(this,"hasTrack",!1);_(this,"oscillator",null);_(this,"audioTrack",null);_(this,"createAudioTrack",()=>{const e=new AudioContext;this.oscillator=e.createOscillator();const t=e.createGain();t.gain.value=0;const i=e.createMediaStreamDestination();this.oscillator.connect(t),t.connect(i),this.oscillator.start();const r=i.stream;return this.audioTrack=r.getAudioTracks()[0],this.audioTrack});this.zIndex=9}isSupported(){return!0}setOptions(){throw new Error("Method not implemented.")}shouldUpdate(e,t){return this.hasTrack!==t.some(i=>i.originVideoTrack||i.originAudioTrack)}process(e,t){return O(this,null,function*(){var r;const i=t.some(n=>n.originVideoTrack||n.originAudioTrack);this.hasTrack=i,i?this.audioTrack&&((r=this.oscillator)==null||r.stop(),this.oscillator=null,this.audioTrack.stop(),this.audioTrack=null):(this.audioTrack||(this.audioTrack=this.createAudioTrack()),e.updateAudioTrack(this.audioTrack))})}}class Ha{constructor(c){_(this,"name","COMMON");this.name=c||this.name}info(...c){}warn(...c){}print(c,...e){const t=c.toLowerCase();t&&console[t](`[${c}][${this.name}]`,...e)}}_(Ha,"LEVEL",0);class G0{constructor(){_(this,"logger",new Ha("AudioMixer"));_(this,"audioContext",new AudioContext);_(this,"audioDestination",this.audioContext.createMediaStreamDestination());_(this,"audioTrack",_0(this.audioDestination.stream));_(this,"sourceNodeMap",{})}get sourceNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.sourceNode).filter(c=>!!c)}get gainNodeList(){return Object.values(this.sourceNodeMap).map(c=>c.gainNode).filter(c=>!!c)}get sourceCount(){return this.sourceNodeList.length}resume(){var c;return(c=this.audioContext)==null?void 0:c.resume()}addTrack(c){this.connectTrack(c)}hasTrack(c){return!!this.sourceNodeMap[c]}removeTrack(c){const{sourceNode:e,gainNode:t}=this.sourceNodeMap[c]||{};t==null||t.disconnect(),e==null||e.disconnect(),delete this.sourceNodeMap[c],e?this.logger.info("SourceNode disconnected. Active source node:",this.sourceNodeList.length):this.logger.warn(`SourceNode ${c} does not exit. Active source node: ${this.sourceNodeList.length}`)}getAudioTrack(){return this.audioTrack}setVolume(c,e){const{gainNode:t}=this.sourceNodeMap[e]||{};t?(this.logger.info(`Setting node(${e}) volume to ${this.scale(c)}`),t.gain.value=this.scale(c)):this.logger.warn(`GainNode ${e} does not exit.`)}reset(){this.disconnectSourceNode(),this.sourceNodeMap={}}dispose(){var c;this.reset(),(c=this.audioTrack)==null||c.stop(),this.audioDestination.disconnect(),this.audioContext.close()}connectTrack(c){if(!this.audioContext)return this.logger.warn("AudioContext not initialized");let e=new MediaStream;e.addTrack(c);const t=this.audioContext.createMediaStreamSource(e),i=this.audioContext.createGain();i.gain.value=1,t.connect(i),i.connect(this.audioDestination),this.sourceNodeMap[c.id]={track:c,sourceNode:t,gainNode:i},this.logger.info("New sourceNode connected. Active source node:",this.sourceNodeList.length)}disconnectSourceNode(){this.sourceNodeList.forEach(c=>c.disconnect()),this.gainNodeList.forEach(c=>c.disconnect())}scale(c){return c/100}}const J0=4;class X0 extends Zt{constructor(){super("audioMixer",We.AliRtcSdkStreamTypeCapture,xi.AUDIO);_(this,"audioMixer");_(this,"primaryAudioTrackId");_(this,"screenAudioTrackId");_(this,"dirty",!1);this.zIndex=8}get initOptions(){return{audio:1,screen:1}}setOptions(e){Object.entries(e).forEach(([t,i])=>{this.isValidVolume(i)&&(this.options[t]=i)}),this.dirty=!0,this.emit("updated")}isSupported(){return"AudioContext"in window}shouldUpdate(e,t){var n,a;if(e.type!==We.AliRtcSdkStreamTypeCapture)return!1;const i=t.find(o=>o.type===We.AliRtcSdkStreamTypeCapture),r=t.find(o=>o.type===We.AliRtcSdkStreamTypeScreen);return!(this.primaryAudioTrackId===((n=i==null?void 0:i.currentAudioTrack)==null?void 0:n.id)&&this.screenAudioTrackId===((a=r==null?void 0:r.currentAudioTrack)==null?void 0:a.id)&&!this.dirty)}process(e,t){return O(this,null,function*(){var a,o;this.dirty=!1;const i=t.find(u=>u.type===We.AliRtcSdkStreamTypeScreen),r=e.currentAudioTrack,n=i==null?void 0:i.currentAudioTrack;if(!n&&this.options.audio===1){this.audioMixer&&(this.audioMixer.dispose(),this.audioMixer=void 0),this.primaryAudioTrackId=r==null?void 0:r.id,e.updateAudioTrack(r);return}this.audioMixer||(this.audioMixer=new G0),yield this.audioMixer.resume(),this.primaryAudioTrackId&&(r==null?void 0:r.id)!==this.primaryAudioTrackId&&((a=this.audioMixer)==null||a.removeTrack(this.primaryAudioTrackId)),r&&!this.audioMixer.hasTrack(r==null?void 0:r.id)&&this.audioMixer.addTrack(r),this.primaryAudioTrackId=r==null?void 0:r.id,this.screenAudioTrackId&&(n==null?void 0:n.id)!==this.screenAudioTrackId&&((o=this.audioMixer)==null||o.removeTrack(this.screenAudioTrackId)),n&&!this.audioMixer.hasTrack(n==null?void 0:n.id)&&this.audioMixer.addTrack(n),this.screenAudioTrackId=n==null?void 0:n.id,this.updateVolume(),e.updateAudioTrack(this.audioMixer.getAudioTrack())})}isValidVolume(e){return e!==void 0&&e>=0&&e<=J0}updateVolume(){this.audioMixer&&(this.primaryAudioTrackId&&this.audioMixer.setVolume(this.options.audio*100,this.primaryAudioTrackId),this.screenAudioTrackId&&this.audioMixer.setVolume(this.options.screen*100,this.screenAudioTrackId))}clear(e){var t;(t=this.audioMixer)==null||t.dispose(),super.clear(e)}}class Ts{constructor(c,e){_(this,"originTrack");_(this,"originVideo");_(this,"targetWidth");_(this,"targetHeight");_(this,"targetFrameRate");_(this,"targetCanvas");_(this,"animationFrameId");_(this,"resultTrack");this.targetWidth=e.width,this.targetHeight=e.height,this.targetFrameRate=e.frameRate,this.originTrack=c,this.originVideo=document.createElement("video"),this.originVideo.muted=!0,this.originVideo.autoplay=!0,this.originVideo.controls=!1,this.targetCanvas=document.createElement("canvas"),this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight}updateOptions(c){this.targetWidth=c.width,this.targetHeight=c.height,this.targetFrameRate=c.frameRate,this.targetCanvas.width=this.targetWidth,this.targetCanvas.height=this.targetHeight,this.resultTrack&&this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})}dispose(){}getVideoTrack(){return this.resultTrack||(this.resultTrack=this.targetCanvas.captureStream().getVideoTracks()[0],this.resultTrack.applyConstraints({frameRate:this.targetFrameRate})),this.resultTrack}cancelAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}getPositionAndSize(c,e,t,i){const r=e/c,n=i/t;let a=t,o=i,u=0,h=0;return n>r?(a=Math.round(o/r),u=Math.round((t-a)/2)):n<r&&(o=Math.round(a*r),h=Math.round((i-o)/2)),{x:u,y:h,width:a,height:o}}}class Z0 extends Ts{constructor(e,t){super(e,t);_(this,"targetCtx");this.targetCtx=this.targetCanvas.getContext("2d"),this.startRender=this.startRender.bind(this),this.stopRender=this.startRender.bind(this),this.initStream(e)}initStream(e){const t=new MediaStream;t.addTrack(e),this.originVideo.srcObject=t,this.originVideo.play(),this.originVideo.addEventListener("canplay",this.startRender),this.originVideo.addEventListener("pause",this.stopRender),this.originVideo.addEventListener("ended",this.stopRender)}startRender(){this.cancelAnimation();const e=()=>{if(!this.targetCtx)return;const t=this.getPositionAndSize(this.originVideo.videoWidth,this.originVideo.videoHeight,this.targetWidth,this.targetHeight);this.targetCtx.drawImage(this.originVideo,0,0,this.originVideo.videoWidth,this.originVideo.videoHeight,t.x,t.y,t.width,t.height),!this.originVideo.paused&&!this.originVideo.ended&&(this.animationFrameId=requestAnimationFrame(e))};e()}stopRender(){this.cancelAnimation()}dispose(){this.stopRender(),this.originVideo.removeEventListener("play",this.startRender),this.originVideo.removeEventListener("pause",this.stopRender),this.originVideo.removeEventListener("ended",this.stopRender),this.originVideo.pause(),this.originVideo.srcObject=null}}const Y0=`
41
41
  attribute vec2 a_position;
42
42
  attribute vec2 a_texCoord;
43
43
 
@@ -152,4 +152,4 @@ onmessage = function(evt) {
152
152
  break;
153
153
  }
154
154
  }
155
- `;class Wa extends Ts{constructor(e,t){super(e,t);_(this,"processor");_(this,"trackGenerator");_(this,"worker");this.processor=new MediaStreamTrackProcessor({track:e}),this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.startTransform()}static isSupport(){return"MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window&&"TransformStream"in window&&"VideoFrame"in window}startTransform(){const e=new Blob([su],{type:"text/javascript"}),i=(window.URL||window.webkitURL).createObjectURL(e);this.worker=new Worker(i);const{readable:r}=this.processor,{writable:n}=this.trackGenerator;this.worker.postMessage({type:"startRender",readable:r,writable:n,width:this.targetWidth,height:this.targetHeight,frameRate:this.targetFrameRate},[r,n])}updateOptions(e){super.updateOptions(e),this.worker&&this.worker.postMessage(be({type:"updateOptions"},e))}dispose(){try{this.processor.readable.cancel(),this.trackGenerator.writable.close()}catch(e){}}getVideoTrack(){return this.trackGenerator}}class ks{static isSupport(){return typeof HTMLCanvasElement.prototype.captureStream=="function"}static getInstance(c,e){return Wa.isSupport()?new Wa(c,e):ja.isSupport()?new ja(c,e):new Z0(c,e)}}class nu extends Zt{constructor(){super(...arguments);_(this,"hasVideoTrack",!1);_(this,"videoScaler")}get initOptions(){return{width:320,height:180,frameRate:15}}setOptions(e){var t;this.options=e,(t=this.videoScaler)==null||t.updateOptions(e)}isSupported(){return ks.isSupport()}shouldUpdate(e){return this.hasVideoTrack!==!!e.currentVideoTrack}process(e){return O(this,null,function*(){if(e.currentVideoTrack){if(this.hasVideoTrack=!0,!this.videoScaler){const i=this.options||this.initOptions;this.videoScaler=ks.getInstance(e.currentVideoTrack,i)}const t=this.videoScaler.getVideoTrack();t&&e.updateDualVideoTrack(t)}else e.updateDualVideoTrack(),this.emit("updated"),this.videoScaler&&this.videoScaler.dispose()})}clear(e){super.clear(e),this.hasVideoTrack=!1,e==null||e.updateDualVideoTrack()}}var au=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,ct=(s,c,e,t)=>{for(var i=t>1?void 0:t?ou(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&au(c,e,i),i};class tt extends xe{constructor(e){super();_(this,"self");_(this,"userMap",{});_(this,"usersViewMap",{});_(this,"rtsManager");_(this,"localStreamManager");_(this,"authInfo");_(this,"signalingManager");_(this,"pluginManager");_(this,"audioMixerPlugin");_(this,"dualVideoPlugin");_(this,"blankAudioPlugin");_(this,"slsReporter");_(this,"statsMonitorId");_(this,"autoSubAudio",!0);_(this,"autoSubVideo",!0);_(this,"autoSubScreen",!0);_(this,"wantSubAudio",!0);_(this,"wantSubVideo",!0);_(this,"wantSubScreen",!0);_(this,"defaultStreamType",Ge.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"audioVolumeIndicationInterval",0);_(this,"indicationTimer",0);_(this,"parameter",{});_(this,"publishRetryOptionsHook",()=>{for(const e of this.remoteUsers)e.restore()});_(this,"subscribeRetryOptionsHook",()=>{let e=!1,t;for(const i of this.remoteUsers)if(e)i.restore();else{const r=i.getRetryOptions();r&&(t=r,e=!0)}return t});const{signalingManager:t,slsReporter:i}=e;this.signalingManager=t,this.addSignalingManagerListener(),this.slsReporter=i,this.pluginManager=new V0,this.localStreamManager=new K0(this.pluginManager,this.slsReporter),this.rtsManager=new z0(this.localStreamManager,this.slsReporter,this.publishRetryOptionsHook,this.subscribeRetryOptionsHook,this.parameter),this.self=new Fa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter}),this.audioMixerPlugin=new X0,this.pluginManager.add(this.audioMixerPlugin),this.dualVideoPlugin=new nu("dualVideoPlugin"),s0()&&this.pluginManager.add(new $0)}addSignalingManagerListener(){this.signalingManager.on("onNotifyPublish",e=>{ae.event("[Signaling] Notify Publish ",e),e.forEach(t=>{this.onRemotePublishStateChange(t)})}),this.signalingManager.stsManager.on("onTokenUpdate",(e,t)=>{ae.updateToken(e),this.slsReporter.updateToken(t,e)})}isAutoSubAudio(){return this.autoSubAudio}setAutoSubAudio(e){this.autoSubAudio=e}isAutoSubVideo(){return this.autoSubVideo}setAutoSubVideo(e){this.autoSubVideo=e}isAutoSubScreen(){return this.autoSubScreen}setAutoSubScreen(e){this.autoSubScreen=e}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e,this.remoteUsers.forEach(t=>{t.setWantSubAudio(e),t.updateSubscribe(Be.User)})}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e,this.remoteUsers.forEach(t=>{t.setWantSubVideo(e),t.updateSubscribe(Be.User)})}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e,this.remoteUsers.forEach(t=>{t.setWantSubScreen(e),t.updateSubscribe(Be.User)})}setRemoteDefaultVideoStreamType(e){this.defaultStreamType=e,this.remoteUsers.forEach(t=>{t.setRemoteDefaultVideoStreamType(e)})}setRemoteUserVideoStreamType(e,t){var i;(i=this.getRemoteUser(e))==null||i.setRemoteDefaultVideoStreamType(t)}setAudioMuted(e){this.audioMuted=e,this.remoteUsers.forEach(t=>{t.setAudioMuted(e)})}setLocalViewConfig(e,t){var r;if(!e)return(r=this.publisher)==null?void 0:r.setViewConfig(null,t);const i=ws(e);i.length!==0&&i.forEach(n=>{var a,o;(a=this.publisher)==null||a.resetElement(n),Object.values(this.usersViewMap).forEach(({cameraViews:u=[],screenViews:h=[]})=>{u.includes(n)&&u.splice(u.indexOf(n),1),h.includes(n)&&h.splice(h.indexOf(n),1)}),(o=this.publisher)==null||o.setViewConfig(i,t)})}setRemoteViewConfig(e,t,i){var n,a;if(!t)return(n=this.userMap[e])==null?void 0:n.setViewConfig(null,i);const r=ws(t);r.length!==0&&(r.forEach(o=>{var u;(u=this.publisher)==null||u.resetElement(o),Object.values(this.usersViewMap).forEach(({cameraViews:h=[],screenViews:g=[]})=>{h.includes(o)&&h.splice(h.indexOf(o),1),g.includes(o)&&g.splice(g.indexOf(o),1)})}),(a=this.userMap[e])==null||a.setViewConfig(r,i))}get channel(){var e;return(e=this.authInfo)==null?void 0:e.channelId}get userId(){var e;return(e=this.authInfo)==null?void 0:e.userId}get remoteUsers(){return Object.values(this.userMap)}get publisher(){return this.self}get isSubscribing(){var e;return((e=this.remoteUsers)!=null?e:[]).some(t=>{const{isAudioSubscribing:i,isVideoSubscribing:r,isScreenSubscribing:n}=t;return i||r||n})}onRemotePublishStateChange(e){var f;const{userid:t,callid:i,subscribe:r,pubid:n="",tracks:a}=e,o=(f=r==null?void 0:r.pullstreamurl)!=null?f:"";let u=this.getRemoteUser(t);if(!u)return;const h=u.streamInfo.audioTrackInfo,g=u.streamInfo.videoTrackInfo;u.updateRemoteTracks(i,o,n,a),u.updateSubscribe(Be.Publish),(h!==u.streamInfo.audioTrackInfo||g!==u.streamInfo.videoTrackInfo)&&this.emit("remoteTrackAvailableChange",t,u.streamInfo.audioTrackInfo,u.streamInfo.videoTrackInfo)}init(e,t){var i;this.authInfo=e,this.self||(this.self=new Fa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})),this.self.enableAudioVolumeIndication(this.audioVolumeIndicationInterval),(i=this.self)==null||i.initInfo(e,t.pushstreamurl),t.users.forEach(r=>{const n=r.userid;if(n){const a=this.addUser(n,r.displayname,Be.InRoom),{callid:o,subscribe:u,tracks:h}=r;a.updateRemoteTracks(o,(u==null?void 0:u.pullstreamurl)||"","",h),this.emit("remoteTrackAvailableChange",n,a.streamInfo.audioTrackInfo,a.streamInfo.videoTrackInfo)}}),this.startStatsMonitor()}leave(){return O(this,null,function*(){var e;this.stopStatsMonitor(),Object.values(this.usersViewMap).forEach(({cameraViews:t=[],screenViews:i=[]})=>{t.forEach(r=>{r.srcObject=null,r._playPromise=void 0}),i.forEach(r=>{r.srcObject=null,r._playPromise=void 0})}),this.usersViewMap={};for(let t in this.userMap)this.userMap[t]&&(this.userMap[t].clear(),delete this.userMap[t]);(e=this.self)==null||e.leave(),this.localStreamManager.stop(),this.rtsManager.clear(),this.authInfo=void 0})}clear(){return O(this,null,function*(){var e;yield this.leave(),(e=this.self)==null||e.clear(),this.pluginManager.removeAll()})}startStatsMonitor(){this.statsMonitorId=window.setInterval(()=>O(this,null,function*(){if(this.publisher){const{audio:i,video:r,candidate:n}=yield this.publisher.getStats();i&&i.length>0&&this.emit("rtcLocalAudioStats",i),r&&r.length>0&&this.emit("rtcLocalVideoStats",r),n&&this.emit("rtcStats",n)}const e=[],t=[];for(const i of this.remoteUsers){const{audio:r,video:n}=yield i.getStats();r&&r.forEach(a=>{e.push(a)}),n&&n.forEach(a=>{t.push(a)})}e.length>0&&this.emit("rtcRemoteAudioStats",e),t.length>0&&this.emit("rtcRemoteVideoStats",t)}),2e3)}stopStatsMonitor(){this.statsMonitorId&&clearInterval(this.statsMonitorId)}addUser(e,t,i){return this.userMap[e]||(this.userMap[e]=this.executeAddUser(e,t,i)),this.userMap[e]}executeAddUser(e,t,i){const r=new O0({userId:e,displayName:t,rtsManager:this.rtsManager,signalingManager:this.signalingManager,usersViewMap:this.usersViewMap,slsReporter:this.slsReporter,localUser:this.self,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,playoutVolume:this.playoutVolume,parameter:this.parameter});return r.on(rt.Remote,this.onRemoteDeviceStatusChange.bind(this)),r.on(Re.PullStreamStats,this.onRemoteStatReport.bind(this)),r.on(Re.RtsSubscribeExceeds,this.onSubscribeExceeds.bind(this)),r.on("audioSubscribeStateChanged",(n,a,o,u)=>{this.emit("audioSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("videoSubscribeStateChanged",(n,a,o,u)=>{this.emit("videoSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("screenSubscribeStateChanged",(n,a,o,u)=>{this.emit("screenSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("dataSubscribeStateChanged",(n,a,o,u)=>{this.emit("dataSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("remoteAudioAutoPlayFail",n=>{this.emit("remoteAudioAutoPlayFail",n)}),r.on("remoteVideoAutoPlayFail",(n,a)=>{this.emit("remoteVideoAutoPlayFail",n,a)}),r.on("remoteAudioPlayError",(n,a)=>{this.emit("remoteAudioPlayError",n,a)}),r.on("remoteVideoPlayError",(n,a)=>{this.emit("remoteVideoPlayError",n,a)}),r.on("remoteSubscribeError",n=>{this.emit("remoteSubscribeError",n)}),r.on("remoteDataChannelMessage",(n,a)=>{this.emit("remoteDataChannelMessage",n,a)}),r.setWantSubAudio(this.autoSubAudio&&this.wantSubAudio),r.setWantSubVideo(this.autoSubVideo&&this.wantSubVideo),r.setWantSubScreen(this.autoSubScreen&&this.wantSubScreen),r.setRemoteDefaultVideoStreamType(this.defaultStreamType),r.setAudioMuted(this.audioMuted),(this.autoSubAudio||this.autoSubVideo||this.autoSubScreen)&&r.updateSubscribe(i),r}onRemoteDeviceStatusChange(e,t){e===Re.MuteAudio?this.emit("userAudioMuted",t,!0):e===Re.UnmuteAudio?this.emit("userAudioMuted",t,!1):e===Re.MuteVideo?this.emit("userVideoMuted",t,!0):e===Re.UnmuteVideo?this.emit("userVideoMuted",t,!1):e===Re.MuteScreen?this.emit("userScreenMuted",t,!0):e===Re.UnmuteScreen&&this.emit("userScreenMuted",t,!1)}onRemoteStatReport(e,t,i){this.emit(Re.PullStreamStats,e,t,i)}onSubscribeExceeds(e,t){this.emit(Re.RtsSubscribeExceeds,e,t)}removeLeftUser(e){return O(this,null,function*(){e.userid&&this.userMap[e.userid]&&(yield this.userMap[e.userid].clear(!1),delete this.userMap[e.userid])})}updateUsers(e){const t=[],i=[],r={};e.forEach(o=>{o.userid&&(this.userMap[o.userid]?(i.push(o),r[o.userid]=this.userMap[o.userid]):(t.push(o),r[o.userid]=this.executeAddUser(o.userid,o.displayname,Be.Resume)))});const n=Object.keys(this.userMap),a=[];return n.forEach(o=>{r[o]||a.push({userid:o,reason:"",leavecode:xs.AliRtcUserOfflineQuit})}),this.userMap=r,{joinList:t,leaveList:a,presentList:i}}getRemoteUser(e){return this.userMap[e]}updateRemoteUserDeviceStatus(e){e&&e.userid&&this.userMap[e.userid]&&this.userMap[e.userid].updateRemoteUserDeviceStatus(e.status)}updateAudioWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubAudio(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({audio:!0})}updateVideoWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubVideo(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({video:!0})}updateScreenWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubScreen(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({screen:!0})}stopIndication(){this.indicationTimer&&window.clearInterval(this.indicationTimer)}startIndication(e){this.stopIndication(),this.indicationTimer=window.setInterval(()=>{var i;const t=this.remoteUsers.map(r=>({userId:r.userId,volume:r.getAudioLevel()||0}));t.unshift({userId:"",volume:((i=this.self)==null?void 0:i.getAudioLevel())||0}),this.emit("audioVolume",t)},e)}setEnableDualVideoStream(e,t){if(!this.dualVideoPlugin)return;t&&this.dualVideoPlugin.setOptions(t);const i=this.pluginManager.has(this.dualVideoPlugin.name);e?!i&&this.pluginManager.add(this.dualVideoPlugin):i&&this.pluginManager.remove(this.dualVideoPlugin.name)}setAudioVolume(e){var t;(t=this.audioMixerPlugin)==null||t.setOptions(e)}enableAudioVolumeIndication(e){var t;this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.stopIndication(),e>0&&this.startIndication(e),this.audioVolumeIndicationInterval=e,this.remoteUsers.forEach(i=>{i.enableAudioVolumeIndication(e)}),(t=this.self)==null||t.enableAudioVolumeIndication(e))}setPlayoutVolume(e){this.playoutVolume=e,this.remoteUsers.forEach(t=>{t.setPlayoutVolume(e)})}refreshAuthInfo(e){var t;this.authInfo&&(this.authInfo=be(be({},this.authInfo),e)),e.userId&&((t=this.self)==null||t.refreshUserInfo(e.userId))}setEnableMediaExtensionMsg(e){this.rtsManager.setEncodedInsertableStreams(e)}setAudioRedEnabled(e){this.rtsManager.setAudioRedEnabled(e)}setParameter(e){var i,r,n;const t=JSON.parse(e);Object.keys(t).forEach(a=>{const o=this.parameter[a],u=t[a];typeof o=="object"&&typeof u=="object"?this.parameter[a]=be(be({},o),u):this.parameter[a]=u}),t.enableBlankAudio===!0?(this.blankAudioPlugin||(this.blankAudioPlugin=new q0),this.pluginManager.has((i=this.blankAudioPlugin)==null?void 0:i.name)||this.pluginManager.add(this.blankAudioPlugin)):t.enableBlankAudio===!1&&(this.blankAudioPlugin&&this.pluginManager.remove((r=this.blankAudioPlugin)==null?void 0:r.name),(n=this.blankAudioPlugin)==null||n.clear(),this.blankAudioPlugin=void 0)}getParameter(){return JSON.stringify(this.parameter)}sendDataChannelMessage(e){var t;return(t=this.self)==null?void 0:t.sendDataChannelMessage(e)}}_(tt,"logName","BizControl"),ct([j()],tt.prototype,"init",1),ct([j()],tt.prototype,"leave",1),ct([j()],tt.prototype,"clear",1),ct([j(ne)],tt.prototype,"addUser",1),ct([j()],tt.prototype,"removeLeftUser",1),ct([j()],tt.prototype,"updateUsers",1),ct([j(ne)],tt.prototype,"updateAudioWant",1),ct([j(ne)],tt.prototype,"updateVideoWant",1),ct([j(ne)],tt.prototype,"updateScreenWant",1),ct([j()],tt.prototype,"stopIndication",1),ct([j()],tt.prototype,"startIndication",1),ct([j(ne)],tt.prototype,"setEnableDualVideoStream",1),ct([j(ne)],tt.prototype,"setAudioVolume",1),ct([j()],tt.prototype,"enableAudioVolumeIndication",1);const Ps=s=>O(this,null,function*(){const c=new Uint8Array(160).fill(170),e=new TextEncoder().encode(s),t=yield window.crypto.subtle.importKey("raw",c,{name:"HMAC",hash:{name:"SHA-1"}},!1,["sign"]),i=yield window.crypto.subtle.sign("HMAC",t,e);return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")});class cu{constructor(c){_(this,"authInfo");_(this,"slsReporter");this.slsReporter=c}doRequest(c,e){var u;const t=this.authInfo;if(!t)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const i="https://gw.rtn.aliyuncs.com",r=a0[c],n={appid:t.appId,userid:t.userId,channelid:t.channelId,timestamp:t.timestamp,token:t.token,nonce:t.nonce?t.nonce:"",requestid:St.createCallid(),tokensid:!1,session:(u=t.sessionId)!=null?u:St.createCallid()},a=Object.keys(n).map(h=>`${h}=${encodeURIComponent(n[h])}`).join("&"),o=`${i}${r}?${a}`;return fetch(o,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(e)}).then(h=>h.status!==200?(this.slsReporter.reportTranscodingError(h.status,e.taskid||""),Promise.reject(new Y(te.ERR_INNER,`transcoding request failed, status: ${h.status}`))):h).catch(h=>Promise.reject(new Y(te.ERR_INNER,`transcoding request failed, err: ${h.message}`)))}setAuthInfo(c){this.authInfo=c}clear(){this.authInfo=void 0}startPublishLiveStream(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=yield Ps(c.split("?")[0]),i=ot.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}startPublishLiveStreamWithTaskId(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=ot.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}updatePublishLiveStream(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=yield Ps(c.split("?")[0]),i=ot.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}updatePublishLiveStreamWithTaskId(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=ot.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}stopPublishLiveStream(c){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const e=yield Ps(c.split("?")[0]),t=ot.MPU_TASK_TRANSACTION_STOP,i=new ji().toJson(t,this.authInfo,e,c);return this.doRequest(t,i)})}stopPublishLiveStreamWithTaskId(c){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const e=ot.MPU_TASK_TRANSACTION_STOP,t=new ji().toJson(e,this.authInfo,c);return this.doRequest(e,t)}refreshAuthInfo(c){this.authInfo&&this.setAuthInfo(be(be({},this.authInfo),c))}}class Bs{static checkString(c){return typeof c=="string"}static checkNumber(c){return typeof c=="number"}static checkHtmlVideoElement(c){return c&&c.nodeName==="VIDEO"}static checkHtmlAudioElement(c){return c&&c.nodeName==="AUDIO"}static checkAuthInfo(c){if(!c)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no authInfo founded");if(!c.appId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no appId founded");if(!c.channelId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no channelId founded");if(!c.userId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no userId founded");if(c.timestamp){if(!Bs.checkNumber(c.timestamp))return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"timestamp is not number")}else return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no timestamp founded");return c.token?null:new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no token founded")}static checkMediaStreamTrack(c){return c instanceof MediaStreamTrack}static checkVideoEncoderConfiguration(c){return c&&(c.width||c.height||c.frameRate||c.bitrateMax)}}class Ka{constructor(c){_(this,"taskProfile");_(this,"encodeParam");_(this,"users",[]);_(this,"backgroundColor",0);_(this,"backgrounds",[]);_(this,"watermarks",[]);_(this,"clockWidgets",[]);_(this,"cropMode");_(this,"mediaProcessMode");this.taskProfile=c}}class $a{constructor(c,e,t){_(this,"userId");_(this,"streamType");_(this,"sourceType");this.userId=c,this.streamType=e,this.sourceType=t}}class qa{constructor(c,e,t,i=0,r=16777215,n=Ai.NOTO_SERIF_CJKSC_REGULAR){_(this,"x");_(this,"y");_(this,"fontSize");_(this,"zOrder");_(this,"fontColor");_(this,"fontType");this.x=c,this.y=e,this.fontSize=t,this.zOrder=i,this.fontColor=r,this.fontType=n}toJson(c,e){return{x:bt(this.x,c),y:bt(this.y,e),fonttype:this.fontType,fontsize:this.fontSize,fontcolor:bs(this.fontColor),zorder:this.zOrder}}}var Ga=(s=>(s[s.NOT_DISPLAY=0]="NOT_DISPLAY",s[s.ALWAYS=1]="ALWAYS",s[s.WHEN_NO_VIDEO=2]="WHEN_NO_VIDEO",s))(Ga||{});class Ls{constructor(c,e,t,i,r,n=0,a=1,o=1){_(this,"url");_(this,"x");_(this,"y");_(this,"width");_(this,"height");_(this,"alpha");_(this,"display",1);_(this,"zOrder");this.url=c,this.x=e,this.y=t,this.width=i,this.height=r,this.zOrder=n,this.alpha=a,this.display=o}toJson(c,e){return{url:this.url,alpha:this.alpha,display:this.display,x:bt(this.x,c),y:bt(this.y,e),width:bt(this.width,c),height:bt(this.height,e),zorder:this.zOrder}}}_(Ls,"DisplayType",Ga);class Ja{constructor(c,e,t,i,r=0,n=16777215,a=Ai.NOTO_SERIF_CJKSC_REGULAR){_(this,"text");_(this,"x");_(this,"y");_(this,"fontSize");_(this,"zOrder");_(this,"fontColor");_(this,"fontType");this.text=c,this.x=e,this.y=t,this.fontSize=i,this.zOrder=r,this.fontColor=n,this.fontType=a}toJson(c,e){return{text:this.text,x:bt(this.x,c),y:bt(this.y,e),fonttype:this.fontType,fontsize:this.fontSize,fontcolor:bs(this.fontColor),zorder:this.zOrder}}}class Xa{constructor(c,e,t,i,r,n=0,a){_(this,"userId");_(this,"x");_(this,"y");_(this,"width");_(this,"height");_(this,"zOrder");_(this,"sourceType");_(this,"segmentType",yi.LiveTranscodingNoBody);_(this,"images",[]);_(this,"texts",[]);typeof c=="number"?this.userId=c.toString():this.userId=c,this.x=e,this.y=t,this.width=i,this.height=r,this.zOrder=n,a&&(this.sourceType=a)}toJson(c,e,t,i){const r={paneid:c,majorpane:0,x:bt(this.x,e),y:bt(this.y,t),width:bt(this.width,e),height:bt(this.height,t),zorder:this.zOrder,userid:this.userId,images:this.images.map(n=>n.toJson(e,t)),texts:this.texts.map(n=>n.toJson(e,t))};return this.sourceType&&_i[this.sourceType]?r.sourcetype=_i[this.sourceType]:r.sourcetype=_i[oi.LiveTranscodingCamera],this.segmentType&&i===zi.LiveTranscodingVirtualBackground?r.segmenttype=this.segmentType:r.segmenttype=yi.LiveTranscodingNoBody,r}}var uu=Object.defineProperty,hu=Object.getOwnPropertyDescriptor,de=(s,c,e,t)=>{for(var i=t>1?void 0:t?hu(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&uu(c,e,i),i};const he=(fe=class extends xe{constructor(e){super();_(this,"channelProfile");_(this,"clientRole");_(this,"signalingManager");_(this,"bizControl");_(this,"liveTranscoding");_(this,"maxSignalingConnectRetryCount");_(this,"slsReporter");_(this,"connectState",ke.AliRtcConnectionStatusInit);_(this,"networkError",!1);_(this,"_audioOnlyMode",!1);_(this,"_authInfoWillExpireTimer",null);_(this,"_authInfoExpiredTimer",null);_(this,"_serverCheckAuthInfoTimestamp",null);_(this,"_localCheckAuthInfoTimestamp",null);const t=Date.now();this.slsReporter=new bi(this),this.channelProfile=Tt.AliRtcSdkCommunication,this.clientRole=Mt.AliRtcSdkLive,this.liveTranscoding=new cu(this.slsReporter),this.signalingManager=new Es(this.channelProfile,this.clientRole,this.slsReporter,(e==null?void 0:e.env)===Dt.pre?Dt.pre:Dt.prod),this.addSignalingManagerListeners(),this.maxSignalingConnectRetryCount=e==null?void 0:e.maxSignalingConnectRetryCount,this.bizControl=new tt({slsReporter:this.slsReporter,signalingManager:this.signalingManager}),this.addBizControlListeners(),this.addPublisherListeners(),this.slsReporter.reportSDKCreated(t)}static getSdkVersion(){return mr}static setLogLevel(e){ae.setLogLevel(e)}static getInstance(e){return fe._instance||(fe._instance=new fe(e)),fe._instance}destroy(){return O(this,null,function*(){fe._instance=void 0,yield this.leaveChannel(),yield this.bizControl.clear()})}get channel(){return this.bizControl.channel}get userId(){return this.bizControl.userId}get remoteUsers(){return this.bizControl.remoteUsers}get publisher(){return this.bizControl.publisher}get publishAudioStream(){var e;return(e=this.publisher)==null?void 0:e.publishStreams.audio}get isPublishing(){const{publisher:e}=this.bizControl;return e?e.isPublishing:!1}get currentRoleCanPublish(){return this.channelProfile===Tt.AliRtcSdkCommunication||this.clientRole===Mt.AliRtcSdkInteractive}addPublisherListeners(){var e,t,i,r,n,a,o,u,h,g;(e=this.publisher)==null||e.on(rt.Local,f=>{ae.event("[Publisher] Device Status Change",f),this.onLocalDeviceStatusChange(f)}),(t=this.publisher)==null||t.on(ti.VideoTrackEnded,()=>{ae.event("[Publisher] VideoTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeCamera,He.AliEngineLocalDeviceExceptionTypeCameraInterrupt,"")}),(i=this.publisher)==null||i.on(ti.ScreenTrackEnded,()=>{ae.event("[Publisher] ScreenTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeDisplay,He.AliEngineLocalDeviceExceptionTypeDisplayException,"")}),(r=this.publisher)==null||r.on(ti.AudioTrackEnded,()=>{ae.event("[Publisher] AudioTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeMic,He.AliEngineLocalDeviceExceptionTypeMicInterrupt,"")}),(n=this.publisher)==null||n.on("localDeviceException",(f,l,p="")=>{this.emit("localDeviceException",f,l,p)}),(a=this.publisher)==null||a.on("audioPublishStateChanged",(f,l,p)=>{var d;this.emit("audioPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(o=this.publisher)==null||o.on("videoPublishStateChanged",(f,l,p)=>{var d;this.emit("videoPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(u=this.publisher)==null||u.on("dualStreamPublishStateChanged",(f,l,p)=>{var d;this.emit("dualStreamPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(h=this.publisher)==null||h.on("screenPublishStateChanged",(f,l,p)=>{var d;this.emit("screenSharePublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(g=this.publisher)==null||g.on("dataPublishStateChanged",(f,l,p)=>{var d;this.emit("dataPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")})}occurError(e){this.emit("onOccurError",e),this.emit("occurError",e)}addBizControlListeners(){this.bizControl.rtsManager.on("connected",e=>{var t;e&&((t=this.publisher)==null||t.publishUpdate(),this.remoteUsers.forEach(i=>{i.updateSubscribe(Be.Reconnect)}))}),this.bizControl.rtsManager.on("disconnected",()=>O(this,null,function*(){ae.event(`[${fe.logName}]`,"RTS Disconnected"),(yield St.isNetworkAvailable())?this.onNetworkRecovery():this.onNetworkError()})),this.bizControl.rtsManager.on("subscribeexceeds",()=>O(this,null,function*(){yield this.resumePublishForNetworkRecovery(),yield this.resumeSubList()})),this.bizControl.rtsManager.on("seimessage",(e,t,i)=>{const r=this.remoteUsers.find(n=>n.streamUrl===e);r&&this.emit("mediaExtensionMsgReceived",r.userId,i,t)}),this.bizControl.on(rt.Remote,(e,t)=>{ae.event(`[${fe.logName}]`,"RemoteUser Device Status Change",e,t)}),this.bizControl.on("remoteTrackAvailableChange",(e,t,i)=>{this.emit("remoteTrackAvailableNotify",e,t,i)}),this.bizControl.on("audioSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("audioSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("videoSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("videoSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("screenSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("screenShareSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("dataSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("dataSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("userAudioMuted",(e,t)=>{this.emit("userAudioMuted",e,t)}),this.bizControl.on("userVideoMuted",(e,t)=>{this.emit("userVideoMuted",e,t)}),this.bizControl.on("userScreenMuted",(e,t)=>{this.emit("userScreenMuted",e,t)}),this.bizControl.on("audioVolume",e=>{this.emit("audioVolume",e)}),this.bizControl.on("remoteAudioAutoPlayFail",e=>{this.emit("remoteAudioAutoPlayFail",e)}),this.bizControl.on("remoteVideoAutoPlayFail",(e,t)=>{this.emit("remoteVideoAutoPlayFail",e,t)}),this.bizControl.on("remoteAudioPlayError",(e,t)=>{this.emit("remoteAudioPlayError",e,t)}),this.bizControl.on("remoteVideoPlayError",(e,t)=>{this.emit("remoteVideoPlayError",e,t)}),this.bizControl.on("rtcStats",e=>{this.emit("rtcStats",e)}),this.bizControl.on("rtcLocalAudioStats",e=>{this.emit("rtcLocalAudioStats",e)}),this.bizControl.on("rtcLocalVideoStats",e=>{this.emit("rtcLocalVideoStats",e)}),this.bizControl.on("rtcRemoteAudioStats",e=>{this.emit("rtcRemoteAudioStats",e)}),this.bizControl.on("rtcRemoteVideoStats",e=>{this.emit("rtcRemoteVideoStats",e)}),this.bizControl.on("remoteSubscribeError",e=>{this.occurError(e),this.slsReporter.reportError(e)}),this.bizControl.on("remoteDataChannelMessage",(e,t)=>{this.emit("dataChannelMsg",e,t)})}addSignalingManagerListeners(){this.signalingManager.on("onKeepAliveRsp",()=>{this.networkError&&(ae.event("[Signaling] Receive KeepAlive Response",`networkError: ${this.networkError}`),this.onNetworkRecovery())}),this.signalingManager.on("onNotifyJoin",e=>{ae.event("[Signaling] Notify Join ",e),this.handleUsersJoin(e),e.forEach(t=>{this.emit("remoteUserOnLineNotify",t.userid,0)})}),this.signalingManager.on("onNotifyStatus",e=>{ae.event("[Signaling] Notify Status ",e),e.forEach(t=>{this.bizControl.updateRemoteUserDeviceStatus(t)})}),this.signalingManager.on("onNotifyLeave",e=>{ae.event("[Signaling] Notify Leave ",e),e.forEach(t=>{this.emit("remoteUserOffLineNotify",t.userid,t.leavecode),this.bizControl.removeLeftUser(t)})}),this.signalingManager.on("onBye",(e,t)=>{ae.event("[Signaling] Bye ",e,t),this.slsReporter.reportError({message:`reason: ${e}, description: ${t}`}),this.emit("bye",e),this.leaveChannel(),this.slsReporter.reportBye(e)}),this.signalingManager.on("onConnectFail",e=>{ae.event("[Signaling] Connect Failed ",e),this.onError(e),this.backToUnpublishStatus(),this.connectState=ke.AliRtcConnectionStatusFailed,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusFailed,Yt.AliRtcConnectionChangedNetworkInterrupted)}),this.signalingManager.on("onNetworkError",e=>{this.slsReporter.reportWarning("signaling network error"),ae.event("[Signaling] Network error ",e),this.onNetworkError()}),this.signalingManager.on("onAuthInvalid",()=>{ae.event("[Signaling] Auth Invalid")}),this.signalingManager.on("onReconnectStart",()=>{ae.event("[Signaling] Reconnect Start "),this.connectState=ke.AliRtcConnectionStatusReconnecting,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusReconnecting,Yt.AliRtcConnectionSignalingConnecting)}),this.signalingManager.on("onReconnectSuccess",e=>{ae.event("[Signaling] Reconnect Success ",e),this.onNetworkRecovery(e)}),this.signalingManager.on("onReconnectFail",e=>{this.slsReporter.reportWarning("signaling reconnect fail: ${err.code}"),ae.event("[Signaling] Reconnect Failed ",e),e.code===403&&this.emit("authInfoExpired")}),this.signalingManager.on("onError",e=>{this.slsReporter.reportWarning("signaling error: ${err.message}"),ae.event("[Signaling] Error ",e),this.onError(e)})}backToUnpublishStatus(){var e,t;this.connectState=ke.AliRtcConnectionStatusDisconnected,(e=this.publisher)!=null&&e.isPublishing&&((t=this.publisher)==null||t.clearPublishState()),this.networkError=!1}handleUsersJoin(e){e.forEach(t=>{const i=t.userid;if(i){const r=this.bizControl.addUser(i,t.displayname,Be.Join);ae.event(`[${fe.logName}]`,Re.UserJoined,r)}})}onLocalDeviceStatusChange(e){ae.event(`[${fe.logName}]`,rt.Local,e),this.signalingManager.reportStatus(e).then(()=>{ae.debug("[signaling] reportStatus suc")}).catch(t=>{ae.error("[signaling] reportStatus failed",t)})}resumePublishForNetworkRecovery(){return O(this,null,function*(){var e;try{yield(e=this.publisher)==null?void 0:e.resumePublish()}catch(t){const{code:i}=t;if(i===10205){let n=1;try{yield new Promise((a,o)=>{const u=setInterval(()=>O(this,null,function*(){var h;n>1&&(clearInterval(u),o()),n+=1;try{yield(h=this.publisher)==null?void 0:h.resumePublish(),clearInterval(u),a()}catch(g){const{code:f}=g;f!==10205&&(clearInterval(u),o())}}),1e3)})}catch(a){}}throw t}})}onNetworkRecovery(e){return O(this,null,function*(){var t;ae.event(fe.logName,"onNetworkRecovery",`rts isConnected: ${this.bizControl.rtsManager.isConnected}; rts isConnecting: ${this.bizControl.rtsManager.isConnecting}`,{users:e}),!this.bizControl.rtsManager.isConnected&&!this.bizControl.rtsManager.isConnecting&&(yield this.resumePublishForNetworkRecovery(),yield this.resumeSubList(e)),this.networkError&&(this.networkError=!1,(t=this.publisher)==null||t.reportSelfDeviceStatus(),this.connectState=ke.AliRtcConnectionStatusConnected,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusConnected,Yt.AliRtcConnectionSignalingHeartbeatAlive))})}resumeSubList(e){return O(this,null,function*(){if(e!=null&&e.length){const{joinList:t,leaveList:i,presentList:r}=this.bizControl.updateUsers(e);ae.info(`[${fe.logName}]`,"resumeSubList",{joinList:t,leaveList:i,presentList:r}),this.handleUsersJoin(t),i.forEach(n=>{ae.event(fe.logName,Re.UserLeft,n.userid,n.reason),this.emit("remoteUserOffLineNotify",n.userid,xs.AliRtcUserOfflineQuit)});for(let n=0;n<r.length;n++){const a=r[n],o=a.userid,u=this.bizControl.getRemoteUser(o);this.bizControl.onRemotePublishStateChange(a),u==null||u.restore(),u==null||u.updateSubscribe(Be.Resume)}}else for(let t=0;t<this.remoteUsers.length;t++){const i=this.remoteUsers[t];try{i.restore(),i.updateSubscribe(Be.Resume)}catch(r){}}})}retrySubscribe(e){return O(this,null,function*(){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.restore(),t.updateSubscribe(Be.Retry)})}onNetworkError(){this.connectState===ke.AliRtcConnectionStatusConnected&&(this.networkError||(this.connectState=ke.AliRtcConnectionStatusDisconnected,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusDisconnected,Yt.AliRtcConnectionChangedNetworkInterrupted)),this.networkError=!0)}onError(e){this.slsReporter.reportError(e),ae.event(fe.logName,Re.Error,e)}setEnableDualVideoStream(e,t){this.bizControl.setEnableDualVideoStream(e,t)}hadPushStream(e){if(!(this.publisher&&e))throw new Y(te.ERR_INNER,"stream is not publishing")}getCurrentMicDeviceId(){var e;return(e=this.publisher)==null?void 0:e.getCurrentMicDeviceId()}setChannelProfile(e){if(![ke.AliRtcConnectionStatusInit,ke.AliRtcConnectionStatusDisconnected,ke.AliRtcConnectionStatusFailed].includes(this.connectState))throw new Y(te.ERR_INNER,"cannot set channel profile in call");this.channelProfile=e,this.channelProfile===Tt.AliRtcSdkCommunication&&(this.clientRole=Mt.AliRtcSdkLive),this.signalingManager.setChannelProfile(e)}startAndPublishDefaultDevices(e){return O(this,null,function*(){var a,o,u,h,g;if(!this.publisher)return;const{hasCamera:t,hasMicrophone:i,hasScreenShare:r}=this.publisher;if(t||i||r)return;try{yield(a=this.publisher)==null?void 0:a.startDefaultCamera(this._audioOnlyMode)}catch(f){ae.warn(`[${fe.logName}]`,"startDefaultCamera failed",f.code,f.message),f instanceof Y&&this.occurError(f),this.occurError(new Y(te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED,`auto start video failed, ${f.message||""}`))}try{yield(o=this.publisher)==null?void 0:o.startDefaultAudio()}catch(f){ae.warn(`[${fe.logName}]`,"startDefaultAUdio failed",f.code,f.message),f instanceof Y&&this.occurError(f),this.occurError(new Y(te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED,`auto start audio failed, ${f.message||""}`))}yield(u=this.publisher)==null?void 0:u.previewAll();const n=((h=this.publisher)==null?void 0:h.publishStreams)||{};if(Object.values(n).some(f=>f))try{yield(g=this.publisher)==null?void 0:g.startPublish(!1,e)}catch(f){const l=[];n!=null&&n.audio&&l.push(te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED),n!=null&&n.video&&l.push(te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED),l.forEach(p=>{this.occurError(new Y(p,`auto publish stream failed, ${f.message||""}`))})}})}setClientRole(e){return O(this,null,function*(){var t,i;try{if(this.channelProfile===Tt.AliRtcSdkCommunication)return;if(!Object.values(Mt).includes(e))throw new Y(te.ERR_INVALID_ARGUMENTS,`set client role error, role value(${e}) is invalid`);if(this.clientRole===e)return;this.slsReporter.reportRoleUpdate(this.clientRole,e),this.isInCall()?this.clientRole===Mt.AliRtcSdkInteractive?(this.bizControl.isSubscribing?yield(t=this.publisher)==null?void 0:t.clearStream():yield(i=this.publisher)==null?void 0:i.unPublish(),yield this.signalingManager.setClientRole(e)):(yield this.signalingManager.setClientRole(e),yield this.startAndPublishDefaultDevices(Bt.JOIN_CHANNEL)):yield this.signalingManager.setClientRole(e),this.clientRole=e}catch(r){throw r.code===403&&this.emit("authInfoExpired"),r}})}getCurrentClientRole(){return this.clientRole}setAudioOnlyMode(e){if(this.isInCall())throw new Y(te.ERR_INNER,"can not change audioOnly mode in call");this._audioOnlyMode=e}setAudioRedEnabled(e){if(this.isInCall())throw new Y(te.ERR_INNER,"can not change audioRedEnabled in call");this.bizControl.setAudioRedEnabled(e)}setCheckAuthInfoTimer(e,t){const i=(e-t)*1e3;this._authInfoExpiredTimer=window.setTimeout(()=>{this.emit("authInfoExpired")},i),this._authInfoWillExpireTimer=window.setTimeout(()=>{this.emit("authInfoWillExpire")},i-3e4),this._serverCheckAuthInfoTimestamp=t,this._localCheckAuthInfoTimestamp=+Date.now()/1e3}clearCheckAuthInfoTimer(){this._authInfoExpiredTimer&&window.clearTimeout(this._authInfoExpiredTimer),this._authInfoWillExpireTimer&&window.clearTimeout(this._authInfoWillExpireTimer)}joinChannel(e,t){return O(this,null,function*(){var o,u;let i,r=t;if(typeof e=="string")try{const h=JSON.parse(window.atob(e));i={appId:h.appid,channelId:h.channelid,userId:h.userid,timestamp:h.timestamp,nonce:h.nonce,token:h.token}}catch(h){throw new Y(te.ERR_INVALID_ARGUMENTS,`authInfo is invalid: ${h.message||""}`)}else i=e;r||(r=i.userId);const n={start:Date.now()};let a=Bs.checkAuthInfo(i);if(ke.AliRtcConnectionStatusInit===this.connectState||ke.AliRtcConnectionStatusDisconnected===this.connectState||ke.AliRtcConnectionStatusFailed===this.connectState){if(this.connectState=ke.AliRtcConnectionStatusConnecting,a)throw this.connectState=ke.AliRtcConnectionStatusFailed,this.slsReporter.reportJoin(a.code,n,""),this.slsReporter.reportJoinResult(a),a;i.sessionId=St.createCallid("web"),ae.setSessionID(i.appId,i.sessionId),this.slsReporter.start(i);try{const h=yield this.signalingManager.join(i,r,this.maxSignalingConnectRetryCount,n);this.connectState=ke.AliRtcConnectionStatusConnected,(o=this.publisher)==null||o.reportSelfDeviceStatus(),this.bizControl.init(i,h),this.setCheckAuthInfoTimer(i.timestamp,h.timestamp),this.liveTranscoding.setAuthInfo(i),this.slsReporter.reportJoin(0,n,h.tid),this.slsReporter.reportJoinResult(null)}catch(h){const g=(u=h.code)!=null?u:-1,f=h.reason||h.message||"";throw this.connectState=ke.AliRtcConnectionStatusDisconnected,this.slsReporter.reportJoin(g,n,""),this.slsReporter.reportJoinResult(h),new Y(g,f)}this.currentRoleCanPublish&&(yield this.startAndPublishDefaultDevices(Bt.ROLE_CHANGE)),this.remoteUsers.forEach(h=>{h.updateSubscribe(Be.Join)})}else{const h=new Y(te.ERR_JOIN_ALREADY_JOINED,"already joined");throw this.connectState===ke.AliRtcConnectionStatusConnecting&&(h.message="Repeated operation during login"),this.slsReporter.reportJoin(h.code,n,""),h}})}leaveChannel(){return O(this,null,function*(){var t;this.slsReporter.reportLeaveInvoked();let e=new Date().getTime();if(ke.AliRtcConnectionStatusConnected===this.connectState)try{let i;i=yield this.signalingManager.leave(),this.slsReporter.reportLeave(new Date().getTime()-e,0,(t=i==null?void 0:i.tid)!=null?t:""),ae.uploadLog()}catch(i){this.slsReporter.reportLeave(new Date().getTime()-e,i.code,i.reason)}else this.slsReporter.reportLeave(0,0,"");this.networkError=!1,this.connectState=ke.AliRtcConnectionStatusDisconnected,this.clearCheckAuthInfoTimer(),yield this.bizControl.leave(),this.liveTranscoding.clear(),this.slsReporter.stop(),this.signalingManager.reset()})}isInCall(){return this.connectState===ke.AliRtcConnectionStatusConnected}refreshAuthInfo(e){return O(this,null,function*(){let t;if(typeof e=="string")try{const h=JSON.parse(window.atob(e));t={userId:h.userid,timestamp:h.timestamp,nonce:h.nonce,token:h.token}}catch(h){throw new Y(te.ERR_INVALID_ARGUMENTS,`authInfo is invalid: ${h.message||""}`)}else t=e;const{userId:i,nonce:r,timestamp:n,token:a,role:o}=t,u={userId:i,nonce:r,timestamp:n,token:a,role:o};try{yield this.signalingManager.refreshAuthInfo(u),this.bizControl.refreshAuthInfo(u),this.liveTranscoding.refreshAuthInfo(u),this.clearCheckAuthInfoTimer(),this._serverCheckAuthInfoTimestamp&&this._localCheckAuthInfoTimestamp&&t.timestamp&&this.setCheckAuthInfoTimer(t.timestamp,this._serverCheckAuthInfoTimestamp+(Date.now()-this._localCheckAuthInfoTimestamp))}catch(h){throw h}})}isAudioOnly(){return this._audioOnlyMode}publishLocalAudioStream(e){return O(this,null,function*(){var t,i,r,n;(t=this.publisher)==null||t.setPublishLocalAudioStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(i=this.publisher)!=null&&i.hasMicrophone?yield(r=this.publisher)==null?void 0:r.updateStreams():yield this.startAudioCapture():yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isLocalAudioStreamPublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalAudioStreamEnabled)!=null?t:!0}setDefaultSubscribeAllRemoteAudioStreams(e){this.bizControl.setAutoSubAudio(e)}subscribeAllRemoteAudioStreams(e){this.bizControl.setWantSubAudio(e)}subscribeRemoteAudioStream(e,t){if(t&&!this.bizControl.isWantSubAudio)throw new Y(te.ERR_INVALID_ARGUMENTS,"subscribeAllRemoteAudioStreams(true) must be called first");this.bizControl.updateAudioWant(e,t)}resumeRemoteAudioStream(e){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.resumeAudio()}stopRemoteAudioPlay(e){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.stopPlayAudio()}publishLocalVideoStream(e){return O(this,null,function*(){var t,i,r,n;(t=this.publisher)==null||t.setPublishLocalVideoStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(i=this.publisher)!=null&&i.hasCamera?yield(r=this.publisher)==null?void 0:r.updateStreams():yield this.enableLocalVideo():yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isLocalVideoStreamPublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalVideoStreamEnabled)!=null?t:!0}setRemoteDefaultVideoStreamType(e){[Ge.AliRtcVideoStreamTypeHigh,Ge.AliRtcVideoStreamTypeLow].includes(e)&&this.bizControl.setRemoteDefaultVideoStreamType(e)}setRemoteUserVideoStreamType(e,t){[Ge.AliRtcVideoStreamTypeHigh,Ge.AliRtcVideoStreamTypeLow].includes(t)&&this.bizControl.setRemoteUserVideoStreamType(e,t)}setDefaultSubscribeAllRemoteVideoStreams(e){this.bizControl.setAutoSubVideo(e),this.bizControl.setAutoSubScreen(e)}subscribeAllRemoteVideoStreams(e){this.bizControl.setWantSubVideo(e),this.bizControl.setWantSubScreen(e)}subscribeRemoteMediaStream(e,t,i,r){const n=this.bizControl.getRemoteUser(e);if(!n)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i&&(t===Ae.AliRtcVideoTrackScreen||t===Ae.AliRtcVideoTrackBoth)?n.setWantSubScreen(!0):n.setWantSubScreen(!1),i&&(t===Ae.AliRtcVideoTrackCamera||t===Ae.AliRtcVideoTrackBoth)?n.setWantSubVideo(!0):n.setWantSubVideo(!1),n.setWantSubAudio(r),n.updateSubscribe(Be.User)}resumeRemoteMediaStream(e,t){const i=this.bizControl.getRemoteUser(e);i&&i.resumeVideo(t)}getOnlineRemoteUsers(){return this.bizControl.remoteUsers.map(e=>e.userId)}getUserInfo(e){var t;return(t=this.bizControl.getRemoteUser(e))==null?void 0:t.remoteUserInfo}isUserOnline(e){return!!this.bizControl.remoteUsers.find(t=>t.userId===e)}startScreenShare(e){return O(this,null,function*(){var a;const t={video:!1,audio:!1},{audio:i=!1,videoTrack:r,audioTrack:n}=e||{};if(r||n){t.screen=!0;const o=new MediaStream;r&&o.addTrack(r),n&&o.addTrack(n),t.mediaStream=o}else t.screen=i?{audio:!0}:!0;yield(a=this.publisher)==null?void 0:a.createLocalStream(t)})}stopScreenShare(){return O(this,null,function*(){var e;(e=this.publisher)==null||e.stopLocalStream({screen:!0})})}setScreenShareConfiguration(e){return O(this,null,function*(){var r;const{frameRate:t=Ci.frameRate,bitrate:i=Ci.maxBitrate}=e;yield(r=this.publisher)==null?void 0:r.setScreenProfile(ka,{width:Ci.width,height:Ci.height,frameRate:t,maxBitrate:i})})}setScreenShareContentHint(e){return O(this,null,function*(){var t;e&&((t=this.publisher)==null||t.setScreenContentHint(e))})}publishLocalScreenShareStream(e,t){return O(this,null,function*(){var i,r,n;(i=this.publisher)==null||i.setPublishLocalScreenStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(r=this.publisher)!=null&&r.hasScreenShare?yield this.publisher.updateStreams():yield this.startScreenShare(t):yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isScreenSharePublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalScreenStreamEnabled)!=null?t:!0}setAudioShareVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setAudioVolume({screen:Math.max(0,Math.min(e,400))/100})}enableAudioVolumeIndication(e){this.bizControl.enableAudioVolumeIndication(e)}muteLocalMic(e=!1){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteAudio:Re.UnmuteAudio),(t=this.publisher)==null||t.muteLocalMic(e)}muteRemoteAudioPlaying(e,t=!1){const i=this.bizControl.getRemoteUser(e);if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setAudioMuted(t)}muteAllRemoteAudioPlaying(e=!1){this.bizControl.setAudioMuted(e)}startAudioCapture(e){return O(this,null,function*(){var i;const t={audio:e||!0};yield(i=this.publisher)==null?void 0:i.createLocalStream(t)})}stopAudioCapture(){var e;(e=this.publisher)==null||e.stopAudioCapture()}switchMicrophone(e,t){return O(this,null,function*(){var i,r,n,a;if(yield(i=this.publisher)==null?void 0:i.setMicrophoneDeviceId(e),!((r=this.publisher)!=null&&r.audioCaptureDisabled)){if(t){yield(n=this.publisher)==null?void 0:n.createLocalStream({audio:!0,mediaStream:new MediaStream([t])});return}yield(a=this.publisher)==null?void 0:a.createLocalStream({audio:{deviceId:e}})}})}setRecordingVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setAudioVolume({audio:Math.max(0,Math.min(e,400))/100})}setPlayoutVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setPlayoutVolume(Math.max(0,Math.min(e,100))/100)}setRemoteAudioVolume(e,t){const i=this.bizControl.getRemoteUser(e);if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);if(typeof t!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");i.setPlayoutVolume(Math.max(0,Math.min(t,100))/100)}setAudioProfile(e){return O(this,null,function*(){var t;yield(t=this.publisher)==null?void 0:t.setAudioProfile(e)})}getAudioTrack(e){return O(this,null,function*(){var i;if(!e)return(i=this.publisher)==null?void 0:i.audioTrack;const t=this.bizControl.getRemoteUser(e);return t==null?void 0:t.getAudioTrack})}setLocalViewConfig(e,t){return O(this,null,function*(){var i,r,n;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot set local view in audio only mode");(i=this.bizControl)==null||i.setLocalViewConfig(e,t),t===Ae.AliRtcVideoTrackCamera&&((r=this.publisher)!=null&&r.hasCamera)?yield this.startPreview():t===Ae.AliRtcVideoTrackScreen&&((n=this.publisher)!=null&&n.hasScreenShare)&&(yield this.startPreviewScreen())})}setCameraCapturerConfiguration(e){return O(this,null,function*(){var u,h,g;const{width:t=wi.width,height:i=wi.height,frameRate:r=wi.frameRate,bitrate:n=wi.maxBitrate,cameraDirection:a,deviceId:o}=e;yield(u=this.publisher)==null?void 0:u.setVideoProfile(Ta,{width:t,height:i,frameRate:r,maxBitrate:n}),a!==void 0&&((h=this.publisher)==null||h.setCameraDirection(a)),o&&((g=this.publisher)==null||g.setCameraDeviceId(o))})}setCameraCapturerContentHint(e){return O(this,null,function*(){var t;e&&((t=this.publisher)==null||t.setVideoContentHint(e))})}enableLocalVideo(e=!0){return O(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot enable local video in audio only mode");e?((i=(t=this.publisher)==null?void 0:t.publishStreams)!=null&&i.video&&((a=(n=(r=this.publisher)==null?void 0:r.publishStreams)==null?void 0:n.video)==null||a.disableVideo(),(g=(h=(u=(o=this.publisher)==null?void 0:o.publishStreams)==null?void 0:u.video)==null?void 0:h.videoTrack)==null||g.stop()),yield(f=this.publisher)==null?void 0:f.startCameraCapture()):yield(l=this.publisher)==null?void 0:l.stopCameraCapture()})}muteLocalCamera(e){return O(this,null,function*(){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteVideo:Re.UnmuteVideo),(t=this.publisher)==null||t.muteLocalCamera(e)})}muteLocalScreen(e){return O(this,null,function*(){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteScreen:Re.UnmuteScreen),(t=this.publisher)==null||t.muteLocalScreen(e)})}setRemoteViewConfig(e,t,i){this.bizControl.setRemoteViewConfig(t,e,i)}isCameraOn(){var e,t;return(t=(e=this.publisher)==null?void 0:e.hasCamera)!=null?t:!1}switchCamera(e,t){return O(this,null,function*(){var r,n,a,o,u,h,g,f,l,p,d,m,b;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot switch camera in audio only mode");const i={};if(e?(i.deviceId=e,this.slsReporter.reportSwitchCamera(e)):(i.cameraDirection=((r=this.publisher)==null?void 0:r.cameraDirection)==="environment"?Ei.CAMERA_FRONT:Ei.CAMERA_REAR,this.slsReporter.reportSwitchCamera(((n=this.publisher)==null?void 0:n.cameraDirection)||"")),yield this.setCameraCapturerConfiguration(i),!((a=this.publisher)!=null&&a.cameraCaptureDisabled)){(u=(o=this.publisher)==null?void 0:o.publishStreams)!=null&&u.video&&((f=(g=(h=this.publisher)==null?void 0:h.publishStreams)==null?void 0:g.video)==null||f.disableVideo(),(m=(d=(p=(l=this.publisher)==null?void 0:l.publishStreams)==null?void 0:p.video)==null?void 0:d.videoTrack)==null||m.stop());const v={video:!0};t&&(v.mediaStream=new MediaStream([t])),yield(b=this.publisher)==null?void 0:b.createLocalStream(v)}})}getCurrentCameraDeviceId(){var e;return(e=this.publisher)==null?void 0:e.getCurrentCameraDeviceId()}startPreview(){return O(this,null,function*(){var e,t;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot start preview camera in audio only mode");(e=this.publisher)!=null&&e.hasCamera||(yield this.enableLocalVideo(!0)),yield(t=this.publisher)==null?void 0:t.previewAll({screen:!1})})}startPreviewScreen(e){return O(this,null,function*(){var t,i;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot start preview screen share in audio only mode");(t=this.publisher)!=null&&t.hasScreenShare||(yield this.startScreenShare(e)),yield(i=this.publisher)==null?void 0:i.previewAll({primary:!1})})}stopPreview(){return O(this,null,function*(){var e;yield(e=this.publisher)==null?void 0:e.stopPreview({primary:!0,screen:!1})})}stopPreviewScreen(){return O(this,null,function*(){var e;yield(e=this.publisher)==null?void 0:e.stopPreview({primary:!1,screen:!0})})}getVideoTrack(e){return O(this,null,function*(){var n,a,o,u;const{userId:t,streamType:i}=e;if(!t)return i===We.AliRtcSdkStreamTypeCapture?(n=this.publisher)==null?void 0:n.cameraTrack:(a=this.publisher)==null?void 0:a.screenTrack;const r=this.bizControl.getRemoteUser(t);return i===We.AliRtcSdkStreamTypeCapture?(o=r==null?void 0:r.getCameraStream)==null?void 0:o.videoTrack:(u=r==null?void 0:r.getScreenStream)==null?void 0:u.videoTrack})}startPublishLiveStream(e,t){return O(this,null,function*(){return this.liveTranscoding.startPublishLiveStream(e,t)})}updatePublishLiveStream(e,t){return O(this,null,function*(){return this.liveTranscoding.updatePublishLiveStream(e,t)})}updatePublishLiveStreamWithTaskId(e,t){return this.liveTranscoding.updatePublishLiveStreamWithTaskId(e,t)}stopPublishLiveStream(e){return O(this,null,function*(){return this.liveTranscoding.stopPublishLiveStream(e)})}stopPublishLiveStreamWithTaskId(e){return this.liveTranscoding.stopPublishLiveStreamWithTaskId(e)}setEnableMediaExtensionMsg(e){var t;(t=this.bizControl)==null||t.setEnableMediaExtensionMsg(!!e)}sendMediaExtensionMsg(e,t){return O(this,null,function*(){return this.sendMediaExtensionMsgEx(e,t,5)})}sendMediaExtensionMsgEx(e,t,i){return O(this,null,function*(){var r;if(!this.publisher||!this.isPublishing)throw new Y(te.ERR_INNER,"you should publish first");return this.slsReporter.reportSEIMessage(i,e.byteLength,t,0,!1),(r=this.publisher)==null?void 0:r.sendSEI(e,t,i)})}enablePlugin(e,t){this.bizControl.pluginManager.add(e,t)}removePlugin(e){this.bizControl.pluginManager.remove(e)}setPluginOption(e,t){const i=this.bizControl.pluginManager.get(e);i&&t&&i.setOptions(t)}getPluginOption(e){const t=this.bizControl.pluginManager.get(e);return t==null?void 0:t.getOptions()}isBeautyAvailable(){return this.bizControl.pluginManager.has("AliRtcBeauty")}isBeautyEnabled(){const e=this.bizControl.pluginManager.get("AliRtcBeauty");if(!e)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");return!!(e!=null&&e.isEnable)}setBeautyEffect(e,t){const i=this.bizControl.pluginManager.get("AliRtcBeauty");if(!i)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");e?i.enable():i.disable(),i.setOptions({basicBeauty:{skinBuffing:Math.max(Math.min(1,+t.smoothnessLevel),0),whitening:Math.max(Math.min(1,+t.whiteningLevel),0)}})}enableBackgroundExchange(e,t){const i=this.bizControl.pluginManager.get("AliRtcBeauty");if(!i||!i.isEnable)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");const r={setSegmentBackgroundImage:{backgroundImgUrl:e?t:""}};e&&(r.segmentBackgroundProcess={enable:!1}),i.setOptions(r)}enableBackgroundBlur(e){const t=this.bizControl.pluginManager.get("AliRtcBeauty");if(!t||!t.isEnable)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");const i={segmentBackgroundProcess:{type:0,enable:e}};e&&(i.setSegmentBackgroundImage={type:0,backgroundImgUrl:""}),t.setOptions(i)}setParameter(e){this.bizControl.setParameter(e)}getParameter(){return this.bizControl.getParameter()}sendDataChannelMessage(e){this.bizControl.sendDataChannelMessage(e)}},_(fe,"logName","AliRtcEngine"),_(fe,"logError",!0),_(fe,"isSupported",r0),_(fe,"isDualVideoStreamSupported",ks.isSupport),_(fe,"getCameraList",()=>O(fe,null,function*(){return(yield pe.AliRTS.getCameraList()).filter(t=>t.deviceId)})),_(fe,"getMicrophoneList",()=>O(fe,null,function*(){return(yield pe.AliRTS.getMicList()).filter(t=>t.deviceId)})),_(fe,"getSpeakerList",()=>O(fe,null,function*(){return(yield pe.AliRTS.getSpeakerList()).filter(t=>t.deviceId)})),_(fe,"_instance"),_(fe,"AliRtcSdkChannelProfile",Tt),_(fe,"AliRtcSdkClientRole",Mt),_(fe,"AliRtcVideoStreamType",Ge),_(fe,"AliRtcVideoTrack",Ae),_(fe,"AliRtcAudioTrack",ci),_(fe,"AliRtcPublishState",ve),_(fe,"AliRtcSubscribeState",Pe),_(fe,"AliRtcRawDataStreamType",We),_(fe,"AliRtcLogLevel",ds),_(fe,"AliRtcEngineLocalDeviceType",wt),_(fe,"AliRtcEngineLocalDeviceExceptionType",He),_(fe,"AliRtcConnectionStatus",ke),_(fe,"AliRtcConnectionStatusChangeReason",Yt),_(fe,"AliRtcPlugin",Zt),_(fe,"AliRtcPluginTrackType",xi),_(fe,"AliRtcLiveTranscodingParam",ji),_(fe,"AliRtcLiveTranscodingEncodeParam",vs),_(fe,"AliRtcLiveTranscodingMixParam",Ka),_(fe,"AliRtcLiveTranscodingSingleParam",$a),_(fe,"AliRtcTranscodingClockWidget",qa),_(fe,"AliRtcTranscodingImage",Ls),_(fe,"AliRtcTranscodingText",Ja),_(fe,"AliRtcTranscodingUser",Xa),_(fe,"AliRtcLiveTranscodingMixMode",Si),_(fe,"AliRtcLiveTranscodingStreamType",ls),_(fe,"AliRtcLiveTranscodingSourceType",oi),_(fe,"AliRtcLiveTranscodingTaskProfile",fs),_(fe,"AliRtcLiveTranscodingAudioSampleRate",Hi),_(fe,"AliRtcLiveTranscodingSegmentType",yi),_(fe,"AliRtcLiveTranscodingFontType",Ai),_(fe,"AliRtcLiveTranscodingCropMode",ps),_(fe,"AliRtcLiveTranscodingMediaProcessMode",zi),_(fe,"AliRtcLiveTranscodingState",ms),_(fe,"AliRtcLiveTranscodingErrorCode",Et),_(fe,"AliRtcTrascodingPublishTaskStatus",gs),_(fe,"AliRtcDataChannelMsg",ei),_(fe,"AliRtcDataMsgType",Cs),_(fe,"Plugin",Zt),fe);de([j()],he.prototype,"destroy",1),de([j()],he.prototype,"backToUnpublishStatus",1),de([j()],he.prototype,"resumePublishForNetworkRecovery",1),de([j()],he.prototype,"onNetworkRecovery",1),de([j()],he.prototype,"resumeSubList",1),de([j(ne)],he.prototype,"retrySubscribe",1),de([j(ne)],he.prototype,"setEnableDualVideoStream",1),de([j(ne)],he.prototype,"setChannelProfile",1),de([j(ne)],he.prototype,"setClientRole",1),de([j(ne)],he.prototype,"setAudioOnlyMode",1),de([j()],he.prototype,"clearCheckAuthInfoTimer",1),de([j(ne)],he.prototype,"joinChannel",1),de([j(ne)],he.prototype,"leaveChannel",1),de([j(ne)],he.prototype,"refreshAuthInfo",1),de([j(ne)],he.prototype,"publishLocalAudioStream",1),de([j(ne)],he.prototype,"setDefaultSubscribeAllRemoteAudioStreams",1),de([j(ne)],he.prototype,"subscribeAllRemoteAudioStreams",1),de([j(ne)],he.prototype,"subscribeRemoteAudioStream",1),de([j(ne)],he.prototype,"resumeRemoteAudioStream",1),de([j(ne)],he.prototype,"stopRemoteAudioPlay",1),de([j(ne)],he.prototype,"publishLocalVideoStream",1),de([j(ne)],he.prototype,"setRemoteDefaultVideoStreamType",1),de([j(ne)],he.prototype,"setRemoteUserVideoStreamType",1),de([j(ne)],he.prototype,"setDefaultSubscribeAllRemoteVideoStreams",1),de([j(ne)],he.prototype,"subscribeAllRemoteVideoStreams",1),de([j(ne)],he.prototype,"subscribeRemoteMediaStream",1),de([j(ne)],he.prototype,"resumeRemoteMediaStream",1),de([j(([s])=>[`${s==null?void 0:s.audio}`])],he.prototype,"startScreenShare",1),de([j()],he.prototype,"stopScreenShare",1),de([j(ne)],he.prototype,"setScreenShareConfiguration",1),de([j(ne)],he.prototype,"setScreenShareContentHint",1),de([j()],he.prototype,"publishLocalScreenShareStream",1),de([j(ne)],he.prototype,"setAudioShareVolume",1),de([j(ne)],he.prototype,"enableAudioVolumeIndication",1),de([j(ne)],he.prototype,"muteLocalMic",1),de([j(ne)],he.prototype,"muteRemoteAudioPlaying",1),de([j(ne)],he.prototype,"muteAllRemoteAudioPlaying",1),de([j(ne)],he.prototype,"startAudioCapture",1),de([j()],he.prototype,"stopAudioCapture",1),de([j(ne)],he.prototype,"switchMicrophone",1),de([j(ne)],he.prototype,"setRecordingVolume",1),de([j(ne)],he.prototype,"setPlayoutVolume",1),de([j(ne)],he.prototype,"setRemoteAudioVolume",1),de([j(ne)],he.prototype,"setAudioProfile",1),de([j(ne)],he.prototype,"getAudioTrack",1),de([j(ne)],he.prototype,"setLocalViewConfig",1),de([j(ne)],he.prototype,"setCameraCapturerConfiguration",1),de([j(ne)],he.prototype,"setCameraCapturerContentHint",1),de([j(ne)],he.prototype,"enableLocalVideo",1),de([j(ne)],he.prototype,"muteLocalCamera",1),de([j(ne)],he.prototype,"muteLocalScreen",1),de([j(ne)],he.prototype,"setRemoteViewConfig",1),de([j(ne)],he.prototype,"switchCamera",1),de([j()],he.prototype,"startPreview",1),de([j()],he.prototype,"startPreviewScreen",1),de([j()],he.prototype,"stopPreview",1),de([j()],he.prototype,"stopPreviewScreen",1),de([j()],he.prototype,"startPublishLiveStream",1),de([j()],he.prototype,"updatePublishLiveStream",1),de([j()],he.prototype,"updatePublishLiveStreamWithTaskId",1),de([j()],he.prototype,"stopPublishLiveStream",1),de([j()],he.prototype,"stopPublishLiveStreamWithTaskId",1),de([j(ne)],he.prototype,"setEnableMediaExtensionMsg",1),de([j(([s,c,e])=>[s.byteLength,c,e])],he.prototype,"sendMediaExtensionMsgEx",1),de([j(([s,c])=>[s.name||"",c])],he.prototype,"enablePlugin",1),de([j(ne)],he.prototype,"removePlugin",1),de([j(ne)],he.prototype,"setPluginOption",1),de([j(ne)],he.prototype,"getPluginOption",1),de([j(ne)],he.prototype,"setBeautyEffect",1),de([j(ne)],he.prototype,"enableBackgroundExchange",1),de([j(ne)],he.prototype,"enableBackgroundBlur",1),de([j(ne)],he.prototype,"setParameter",1),de([j(([s])=>{var c;return[(c=s.data)==null?void 0:c.byteLength]})],he.prototype,"sendDataChannelMessage",1),de([j(ne)],he,"setLogLevel",1);let Za=he;const Ya=new lr({businessName:"imp-web-rtc",version:(Qa=Za.getSdkVersion())!=null?Qa:"unknown",env:"prod",disabled:window.AliRtcOptionsDisableProxy===!0});Ya.setReady();const du=Ya.wrap(Za);ue.AliRtcConnectionStatus=ke,ue.AliRtcConnectionStatusChangeReason=Yt,ue.AliRtcDataChannelMsg=ei,ue.AliRtcDataMsgType=Cs,ue.AliRtcEngineLocalDeviceExceptionType=He,ue.AliRtcEngineLocalDeviceType=wt,ue.AliRtcErrorCode=te,ue.AliRtcLiveTranscodingAudioSampleRate=Hi,ue.AliRtcLiveTranscodingCropMode=ps,ue.AliRtcLiveTranscodingEncodeParam=vs,ue.AliRtcLiveTranscodingErrorCode=Et,ue.AliRtcLiveTranscodingFontType=Ai,ue.AliRtcLiveTranscodingMediaProcessMode=zi,ue.AliRtcLiveTranscodingMixMode=Si,ue.AliRtcLiveTranscodingMixParam=Ka,ue.AliRtcLiveTranscodingParam=ji,ue.AliRtcLiveTranscodingSegmentType=yi,ue.AliRtcLiveTranscodingSingleParam=$a,ue.AliRtcLiveTranscodingSourceType=oi,ue.AliRtcLiveTranscodingState=ms,ue.AliRtcLiveTranscodingStreamType=ls,ue.AliRtcLiveTranscodingTaskProfile=fs,ue.AliRtcLocalStreamInfo=Ds,ue.AliRtcLogLevel=ds,ue.AliRtcPlugin=Zt,ue.AliRtcPluginTrackType=xi,ue.AliRtcPluginType=Ea,ue.AliRtcPublishState=ve,ue.AliRtcRawDataStreamType=We,ue.AliRtcRemoteUserInfo=Va,ue.AliRtcSdkChannelProfile=Tt,ue.AliRtcSdkClientRole=Mt,ue.AliRtcSubscribeState=Pe,ue.AliRtcTranscodingClockWidget=qa,ue.AliRtcTranscodingImage=Ls,ue.AliRtcTranscodingText=Ja,ue.AliRtcTranscodingUser=Xa,ue.AliRtcTrascodingPublishTaskStatus=gs,ue.AliRtcVideoStreamType=Ge,ue.AliRtcVideoTrack=Ae,ue.default=du,Object.defineProperties(ue,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
155
+ `;class Wa extends Ts{constructor(e,t){super(e,t);_(this,"processor");_(this,"trackGenerator");_(this,"worker");this.processor=new MediaStreamTrackProcessor({track:e}),this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.startTransform()}static isSupport(){return"MediaStreamTrackProcessor"in window&&"MediaStreamTrackGenerator"in window&&"TransformStream"in window&&"VideoFrame"in window}startTransform(){const e=new Blob([su],{type:"text/javascript"}),i=(window.URL||window.webkitURL).createObjectURL(e);this.worker=new Worker(i);const{readable:r}=this.processor,{writable:n}=this.trackGenerator;this.worker.postMessage({type:"startRender",readable:r,writable:n,width:this.targetWidth,height:this.targetHeight,frameRate:this.targetFrameRate},[r,n])}updateOptions(e){super.updateOptions(e),this.worker&&this.worker.postMessage(be({type:"updateOptions"},e))}dispose(){try{this.processor.readable.cancel(),this.trackGenerator.writable.close()}catch(e){}}getVideoTrack(){return this.trackGenerator}}class ks{static isSupport(){return typeof HTMLCanvasElement.prototype.captureStream=="function"}static getInstance(c,e){return Wa.isSupport()?new Wa(c,e):ja.isSupport()?new ja(c,e):new Z0(c,e)}}class nu extends Zt{constructor(){super(...arguments);_(this,"hasVideoTrack",!1);_(this,"videoScaler")}get initOptions(){return{width:320,height:180,frameRate:15}}setOptions(e){var t;this.options=e,(t=this.videoScaler)==null||t.updateOptions(e)}isSupported(){return ks.isSupport()}shouldUpdate(e){return this.hasVideoTrack!==!!e.currentVideoTrack}process(e){return O(this,null,function*(){if(e.currentVideoTrack){if(this.hasVideoTrack=!0,!this.videoScaler){const i=this.options||this.initOptions;this.videoScaler=ks.getInstance(e.currentVideoTrack,i)}const t=this.videoScaler.getVideoTrack();t&&e.updateDualVideoTrack(t)}else e.updateDualVideoTrack(),this.emit("updated"),this.videoScaler&&this.videoScaler.dispose()})}clear(e){super.clear(e),this.hasVideoTrack=!1,e==null||e.updateDualVideoTrack()}}var au=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,ct=(s,c,e,t)=>{for(var i=t>1?void 0:t?ou(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&au(c,e,i),i};class tt extends xe{constructor(e){super();_(this,"self");_(this,"userMap",{});_(this,"usersViewMap",{});_(this,"rtsManager");_(this,"localStreamManager");_(this,"authInfo");_(this,"signalingManager");_(this,"pluginManager");_(this,"audioMixerPlugin");_(this,"dualVideoPlugin");_(this,"blankAudioPlugin");_(this,"slsReporter");_(this,"statsMonitorId");_(this,"autoSubAudio",!0);_(this,"autoSubVideo",!0);_(this,"autoSubScreen",!0);_(this,"wantSubAudio",!0);_(this,"wantSubVideo",!0);_(this,"wantSubScreen",!0);_(this,"defaultStreamType",Ge.AliRtcVideoStreamTypeHigh);_(this,"audioMuted",!1);_(this,"playoutVolume",1);_(this,"audioVolumeIndicationInterval",0);_(this,"indicationTimer",0);_(this,"parameter",{});_(this,"publishRetryOptionsHook",()=>{for(const e of this.remoteUsers)e.restore()});_(this,"subscribeRetryOptionsHook",()=>{let e=!1,t;for(const i of this.remoteUsers)if(e)i.restore();else{const r=i.getRetryOptions();r&&(t=r,e=!0)}return t});const{signalingManager:t,slsReporter:i}=e;this.signalingManager=t,this.addSignalingManagerListener(),this.slsReporter=i,this.pluginManager=new V0,this.localStreamManager=new K0(this.pluginManager,this.slsReporter),this.rtsManager=new z0(this.localStreamManager,this.slsReporter,this.publishRetryOptionsHook,this.subscribeRetryOptionsHook,this.parameter),this.self=new Fa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter}),this.audioMixerPlugin=new X0,this.pluginManager.add(this.audioMixerPlugin),this.dualVideoPlugin=new nu("dualVideoPlugin"),s0()&&this.pluginManager.add(new $0)}addSignalingManagerListener(){this.signalingManager.on("onNotifyPublish",e=>{ae.event("[Signaling] Notify Publish ",e),e.forEach(t=>{this.onRemotePublishStateChange(t)})}),this.signalingManager.stsManager.on("onTokenUpdate",(e,t)=>{ae.updateToken(e),this.slsReporter.updateToken(t,e)})}isAutoSubAudio(){return this.autoSubAudio}setAutoSubAudio(e){this.autoSubAudio=e}isAutoSubVideo(){return this.autoSubVideo}setAutoSubVideo(e){this.autoSubVideo=e}isAutoSubScreen(){return this.autoSubScreen}setAutoSubScreen(e){this.autoSubScreen=e}isWantSubAudio(){return this.wantSubAudio}setWantSubAudio(e){this.wantSubAudio=e,this.remoteUsers.forEach(t=>{t.setWantSubAudio(e),t.updateSubscribe(Be.User)})}isWantSubVideo(){return this.wantSubVideo}setWantSubVideo(e){this.wantSubVideo=e,this.remoteUsers.forEach(t=>{t.setWantSubVideo(e),t.updateSubscribe(Be.User)})}isWantSubScreen(){return this.wantSubScreen}setWantSubScreen(e){this.wantSubScreen=e,this.remoteUsers.forEach(t=>{t.setWantSubScreen(e),t.updateSubscribe(Be.User)})}setRemoteDefaultVideoStreamType(e){this.defaultStreamType=e,this.remoteUsers.forEach(t=>{t.setRemoteDefaultVideoStreamType(e)})}setRemoteUserVideoStreamType(e,t){var i;(i=this.getRemoteUser(e))==null||i.setRemoteDefaultVideoStreamType(t)}setAudioMuted(e){this.audioMuted=e,this.remoteUsers.forEach(t=>{t.setAudioMuted(e)})}setLocalViewConfig(e,t){var r;if(!e)return(r=this.publisher)==null?void 0:r.setViewConfig(null,t);const i=ws(e);i.length!==0&&i.forEach(n=>{var a,o;(a=this.publisher)==null||a.resetElement(n),Object.values(this.usersViewMap).forEach(({cameraViews:u=[],screenViews:h=[]})=>{u.includes(n)&&u.splice(u.indexOf(n),1),h.includes(n)&&h.splice(h.indexOf(n),1)}),(o=this.publisher)==null||o.setViewConfig(i,t)})}setRemoteViewConfig(e,t,i){var n,a;if(!t)return(n=this.userMap[e])==null?void 0:n.setViewConfig(null,i);const r=ws(t);r.length!==0&&(r.forEach(o=>{var u;(u=this.publisher)==null||u.resetElement(o),Object.values(this.usersViewMap).forEach(({cameraViews:h=[],screenViews:g=[]})=>{h.includes(o)&&h.splice(h.indexOf(o),1),g.includes(o)&&g.splice(g.indexOf(o),1)})}),(a=this.userMap[e])==null||a.setViewConfig(r,i))}get channel(){var e;return(e=this.authInfo)==null?void 0:e.channelId}get userId(){var e;return(e=this.authInfo)==null?void 0:e.userId}get remoteUsers(){return Object.values(this.userMap)}get publisher(){return this.self}get isSubscribing(){var e;return((e=this.remoteUsers)!=null?e:[]).some(t=>{const{isAudioSubscribing:i,isVideoSubscribing:r,isScreenSubscribing:n}=t;return i||r||n})}onRemotePublishStateChange(e){var f;const{userid:t,callid:i,subscribe:r,pubid:n="",tracks:a}=e,o=(f=r==null?void 0:r.pullstreamurl)!=null?f:"";let u=this.getRemoteUser(t);if(!u)return;const h=u.streamInfo.audioTrackInfo,g=u.streamInfo.videoTrackInfo;u.updateRemoteTracks(i,o,n,a),u.updateSubscribe(Be.Publish),(h!==u.streamInfo.audioTrackInfo||g!==u.streamInfo.videoTrackInfo)&&this.emit("remoteTrackAvailableChange",t,u.streamInfo.audioTrackInfo,u.streamInfo.videoTrackInfo)}init(e,t){var i;this.authInfo=e,this.self||(this.self=new Fa({rtsManager:this.rtsManager,localStreamManager:this.localStreamManager,slsReporter:this.slsReporter,signalingManager:this.signalingManager,pluginManager:this.pluginManager,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,parameter:this.parameter})),this.self.enableAudioVolumeIndication(this.audioVolumeIndicationInterval),(i=this.self)==null||i.initInfo(e,t.pushstreamurl),t.users.forEach(r=>{const n=r.userid;if(n){const a=this.addUser(n,r.displayname,Be.InRoom),{callid:o,subscribe:u,tracks:h}=r;a.updateRemoteTracks(o,(u==null?void 0:u.pullstreamurl)||"","",h),this.emit("remoteTrackAvailableChange",n,a.streamInfo.audioTrackInfo,a.streamInfo.videoTrackInfo)}}),this.startStatsMonitor()}leave(){return O(this,null,function*(){var e;this.stopStatsMonitor(),Object.values(this.usersViewMap).forEach(({cameraViews:t=[],screenViews:i=[]})=>{t.forEach(r=>{r.srcObject=null,r._playPromise=void 0}),i.forEach(r=>{r.srcObject=null,r._playPromise=void 0})}),this.usersViewMap={};for(let t in this.userMap)this.userMap[t]&&(this.userMap[t].clear(),delete this.userMap[t]);(e=this.self)==null||e.leave(),this.localStreamManager.stop(),this.rtsManager.clear(),this.authInfo=void 0})}clear(){return O(this,null,function*(){var e;yield this.leave(),(e=this.self)==null||e.clear(),this.pluginManager.removeAll()})}startStatsMonitor(){this.statsMonitorId=window.setInterval(()=>O(this,null,function*(){if(this.publisher){const{audio:i,video:r,candidate:n}=yield this.publisher.getStats();i&&i.length>0&&this.emit("rtcLocalAudioStats",i),r&&r.length>0&&this.emit("rtcLocalVideoStats",r),n&&this.emit("rtcStats",n)}const e=[],t=[];for(const i of this.remoteUsers){const{audio:r,video:n}=yield i.getStats();r&&r.forEach(a=>{e.push(a)}),n&&n.forEach(a=>{t.push(a)})}e.length>0&&this.emit("rtcRemoteAudioStats",e),t.length>0&&this.emit("rtcRemoteVideoStats",t)}),2e3)}stopStatsMonitor(){this.statsMonitorId&&clearInterval(this.statsMonitorId)}addUser(e,t,i){return this.userMap[e]||(this.userMap[e]=this.executeAddUser(e,t,i)),this.userMap[e]}executeAddUser(e,t,i){const r=new O0({userId:e,displayName:t,rtsManager:this.rtsManager,signalingManager:this.signalingManager,usersViewMap:this.usersViewMap,slsReporter:this.slsReporter,localUser:this.self,audioVolumeIndicationInterval:this.audioVolumeIndicationInterval,playoutVolume:this.playoutVolume,parameter:this.parameter});return r.on(rt.Remote,this.onRemoteDeviceStatusChange.bind(this)),r.on(Re.PullStreamStats,this.onRemoteStatReport.bind(this)),r.on(Re.RtsSubscribeExceeds,this.onSubscribeExceeds.bind(this)),r.on("audioSubscribeStateChanged",(n,a,o,u)=>{this.emit("audioSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("videoSubscribeStateChanged",(n,a,o,u)=>{this.emit("videoSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("screenSubscribeStateChanged",(n,a,o,u)=>{this.emit("screenSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("dataSubscribeStateChanged",(n,a,o,u)=>{this.emit("dataSubscribeStateChanged",n,a,o,u,this.channel||"")}),r.on("remoteAudioAutoPlayFail",n=>{this.emit("remoteAudioAutoPlayFail",n)}),r.on("remoteVideoAutoPlayFail",(n,a)=>{this.emit("remoteVideoAutoPlayFail",n,a)}),r.on("remoteAudioPlayError",(n,a)=>{this.emit("remoteAudioPlayError",n,a)}),r.on("remoteVideoPlayError",(n,a)=>{this.emit("remoteVideoPlayError",n,a)}),r.on("remoteSubscribeError",n=>{this.emit("remoteSubscribeError",n,r.userId)}),r.on("occurError",n=>{this.emit("occurError",n,r.userId)}),r.on("remoteDataChannelMessage",(n,a)=>{this.emit("remoteDataChannelMessage",n,a)}),r.setWantSubAudio(this.autoSubAudio&&this.wantSubAudio),r.setWantSubVideo(this.autoSubVideo&&this.wantSubVideo),r.setWantSubScreen(this.autoSubScreen&&this.wantSubScreen),r.setRemoteDefaultVideoStreamType(this.defaultStreamType),r.setAudioMuted(this.audioMuted),(this.autoSubAudio||this.autoSubVideo||this.autoSubScreen)&&r.updateSubscribe(i),r}onRemoteDeviceStatusChange(e,t){e===Re.MuteAudio?this.emit("userAudioMuted",t,!0):e===Re.UnmuteAudio?this.emit("userAudioMuted",t,!1):e===Re.MuteVideo?this.emit("userVideoMuted",t,!0):e===Re.UnmuteVideo?this.emit("userVideoMuted",t,!1):e===Re.MuteScreen?this.emit("userScreenMuted",t,!0):e===Re.UnmuteScreen&&this.emit("userScreenMuted",t,!1)}onRemoteStatReport(e,t,i){this.emit(Re.PullStreamStats,e,t,i)}onSubscribeExceeds(e,t){this.emit(Re.RtsSubscribeExceeds,e,t)}removeLeftUser(e){return O(this,null,function*(){e.userid&&this.userMap[e.userid]&&(yield this.userMap[e.userid].clear(!1),delete this.userMap[e.userid])})}updateUsers(e){const t=[],i=[],r={};e.forEach(o=>{o.userid&&(this.userMap[o.userid]?(i.push(o),r[o.userid]=this.userMap[o.userid]):(t.push(o),r[o.userid]=this.executeAddUser(o.userid,o.displayname,Be.Resume)))});const n=Object.keys(this.userMap),a=[];return n.forEach(o=>{r[o]||a.push({userid:o,reason:"",leavecode:xs.AliRtcUserOfflineQuit})}),this.userMap=r,{joinList:t,leaveList:a,presentList:i}}getRemoteUser(e){return this.userMap[e]}updateRemoteUserDeviceStatus(e){e&&e.userid&&this.userMap[e.userid]&&this.userMap[e.userid].updateRemoteUserDeviceStatus(e.status)}updateAudioWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubAudio(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({audio:!0})}updateVideoWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubVideo(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({video:!0})}updateScreenWant(e,t){const i=this.userMap[e];if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setWantSubScreen(t),t?i.updateSubscribe(Be.User):i.stopSubscribe({screen:!0})}stopIndication(){this.indicationTimer&&window.clearInterval(this.indicationTimer)}startIndication(e){this.stopIndication(),this.indicationTimer=window.setInterval(()=>{var i;const t=this.remoteUsers.map(r=>({userId:r.userId,volume:r.getAudioLevel()||0}));t.unshift({userId:"",volume:((i=this.self)==null?void 0:i.getAudioLevel())||0}),this.emit("audioVolume",t)},e)}setEnableDualVideoStream(e,t){if(!this.dualVideoPlugin)return;t&&this.dualVideoPlugin.setOptions(t);const i=this.pluginManager.has(this.dualVideoPlugin.name);e?!i&&this.pluginManager.add(this.dualVideoPlugin):i&&this.pluginManager.remove(this.dualVideoPlugin.name)}setAudioVolume(e){var t;(t=this.audioMixerPlugin)==null||t.setOptions(e)}enableAudioVolumeIndication(e){var t;this.audioVolumeIndicationInterval!==e&&(this.audioVolumeIndicationInterval>0&&e<=0&&this.stopIndication(),e>0&&this.startIndication(e),this.audioVolumeIndicationInterval=e,this.remoteUsers.forEach(i=>{i.enableAudioVolumeIndication(e)}),(t=this.self)==null||t.enableAudioVolumeIndication(e))}setPlayoutVolume(e){this.playoutVolume=e,this.remoteUsers.forEach(t=>{t.setPlayoutVolume(e)})}refreshAuthInfo(e){var t;this.authInfo&&(this.authInfo=be(be({},this.authInfo),e)),e.userId&&((t=this.self)==null||t.refreshUserInfo(e.userId))}setEnableMediaExtensionMsg(e){this.rtsManager.setEncodedInsertableStreams(e)}setAudioRedEnabled(e){this.rtsManager.setAudioRedEnabled(e)}setParameter(e){var i,r,n;const t=JSON.parse(e);Object.keys(t).forEach(a=>{const o=this.parameter[a],u=t[a];typeof o=="object"&&typeof u=="object"?this.parameter[a]=be(be({},o),u):this.parameter[a]=u}),t.enableBlankAudio===!0?(this.blankAudioPlugin||(this.blankAudioPlugin=new q0),this.pluginManager.has((i=this.blankAudioPlugin)==null?void 0:i.name)||this.pluginManager.add(this.blankAudioPlugin)):t.enableBlankAudio===!1&&(this.blankAudioPlugin&&this.pluginManager.remove((r=this.blankAudioPlugin)==null?void 0:r.name),(n=this.blankAudioPlugin)==null||n.clear(),this.blankAudioPlugin=void 0)}getParameter(){return JSON.stringify(this.parameter)}sendDataChannelMessage(e){var t;return(t=this.self)==null?void 0:t.sendDataChannelMessage(e)}}_(tt,"logName","BizControl"),ct([j()],tt.prototype,"init",1),ct([j()],tt.prototype,"leave",1),ct([j()],tt.prototype,"clear",1),ct([j(ne)],tt.prototype,"addUser",1),ct([j()],tt.prototype,"removeLeftUser",1),ct([j()],tt.prototype,"updateUsers",1),ct([j(ne)],tt.prototype,"updateAudioWant",1),ct([j(ne)],tt.prototype,"updateVideoWant",1),ct([j(ne)],tt.prototype,"updateScreenWant",1),ct([j()],tt.prototype,"stopIndication",1),ct([j()],tt.prototype,"startIndication",1),ct([j(ne)],tt.prototype,"setEnableDualVideoStream",1),ct([j(ne)],tt.prototype,"setAudioVolume",1),ct([j()],tt.prototype,"enableAudioVolumeIndication",1);const Ps=s=>O(this,null,function*(){const c=new Uint8Array(160).fill(170),e=new TextEncoder().encode(s),t=yield window.crypto.subtle.importKey("raw",c,{name:"HMAC",hash:{name:"SHA-1"}},!1,["sign"]),i=yield window.crypto.subtle.sign("HMAC",t,e);return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")});class cu{constructor(c){_(this,"authInfo");_(this,"slsReporter");this.slsReporter=c}doRequest(c,e){var u;const t=this.authInfo;if(!t)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const i="https://gw.rtn.aliyuncs.com",r=a0[c],n={appid:t.appId,userid:t.userId,channelid:t.channelId,timestamp:t.timestamp,token:t.token,nonce:t.nonce?t.nonce:"",requestid:St.createCallid(),tokensid:!1,session:(u=t.sessionId)!=null?u:St.createCallid()},a=Object.keys(n).map(h=>`${h}=${encodeURIComponent(n[h])}`).join("&"),o=`${i}${r}?${a}`;return fetch(o,{method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(e)}).then(h=>h.status!==200?(this.slsReporter.reportTranscodingError(h.status,e.taskid||""),Promise.reject(new Y(te.ERR_INNER,`transcoding request failed, status: ${h.status}`))):h).catch(h=>Promise.reject(new Y(te.ERR_INNER,`transcoding request failed, err: ${h.message}`)))}setAuthInfo(c){this.authInfo=c}clear(){this.authInfo=void 0}startPublishLiveStream(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=yield Ps(c.split("?")[0]),i=ot.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}startPublishLiveStreamWithTaskId(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=ot.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}updatePublishLiveStream(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=yield Ps(c.split("?")[0]),i=ot.MPU_TASK_TRANSACTION_UPDATE,r=e.toJson(i,this.authInfo,t,c);return this.doRequest(i,r)})}updatePublishLiveStreamWithTaskId(c,e){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const t=ot.MPU_TASK_TRANSACTION_UPDATE,i=e.toJson(t,this.authInfo,c);return this.doRequest(t,i)})}stopPublishLiveStream(c){return O(this,null,function*(){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const e=yield Ps(c.split("?")[0]),t=ot.MPU_TASK_TRANSACTION_STOP,i=new ji().toJson(t,this.authInfo,e,c);return this.doRequest(t,i)})}stopPublishLiveStreamWithTaskId(c){if(!this.authInfo)return Promise.reject(Et.LiveTranscodingErrorInvalidParam);const e=ot.MPU_TASK_TRANSACTION_STOP,t=new ji().toJson(e,this.authInfo,c);return this.doRequest(e,t)}refreshAuthInfo(c){this.authInfo&&this.setAuthInfo(be(be({},this.authInfo),c))}}class Bs{static checkString(c){return typeof c=="string"}static checkNumber(c){return typeof c=="number"}static checkHtmlVideoElement(c){return c&&c.nodeName==="VIDEO"}static checkHtmlAudioElement(c){return c&&c.nodeName==="AUDIO"}static checkAuthInfo(c){if(!c)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no authInfo founded");if(!c.appId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no appId founded");if(!c.channelId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no channelId founded");if(!c.userId)return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no userId founded");if(c.timestamp){if(!Bs.checkNumber(c.timestamp))return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"timestamp is not number")}else return new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no timestamp founded");return c.token?null:new Y(te.ERR_JOIN_ERR_JOIN_BAD_PARAMBAD,"no token founded")}static checkMediaStreamTrack(c){return c instanceof MediaStreamTrack}static checkVideoEncoderConfiguration(c){return c&&(c.width||c.height||c.frameRate||c.bitrateMax)}}class Ka{constructor(c){_(this,"taskProfile");_(this,"encodeParam");_(this,"users",[]);_(this,"backgroundColor",0);_(this,"backgrounds",[]);_(this,"watermarks",[]);_(this,"clockWidgets",[]);_(this,"cropMode");_(this,"mediaProcessMode");this.taskProfile=c}}class $a{constructor(c,e,t){_(this,"userId");_(this,"streamType");_(this,"sourceType");this.userId=c,this.streamType=e,this.sourceType=t}}class qa{constructor(c,e,t,i=0,r=16777215,n=Ai.NOTO_SERIF_CJKSC_REGULAR){_(this,"x");_(this,"y");_(this,"fontSize");_(this,"zOrder");_(this,"fontColor");_(this,"fontType");this.x=c,this.y=e,this.fontSize=t,this.zOrder=i,this.fontColor=r,this.fontType=n}toJson(c,e){return{x:bt(this.x,c),y:bt(this.y,e),fonttype:this.fontType,fontsize:this.fontSize,fontcolor:bs(this.fontColor),zorder:this.zOrder}}}var Ga=(s=>(s[s.NOT_DISPLAY=0]="NOT_DISPLAY",s[s.ALWAYS=1]="ALWAYS",s[s.WHEN_NO_VIDEO=2]="WHEN_NO_VIDEO",s))(Ga||{});class Ls{constructor(c,e,t,i,r,n=0,a=1,o=1){_(this,"url");_(this,"x");_(this,"y");_(this,"width");_(this,"height");_(this,"alpha");_(this,"display",1);_(this,"zOrder");this.url=c,this.x=e,this.y=t,this.width=i,this.height=r,this.zOrder=n,this.alpha=a,this.display=o}toJson(c,e){return{url:this.url,alpha:this.alpha,display:this.display,x:bt(this.x,c),y:bt(this.y,e),width:bt(this.width,c),height:bt(this.height,e),zorder:this.zOrder}}}_(Ls,"DisplayType",Ga);class Ja{constructor(c,e,t,i,r=0,n=16777215,a=Ai.NOTO_SERIF_CJKSC_REGULAR){_(this,"text");_(this,"x");_(this,"y");_(this,"fontSize");_(this,"zOrder");_(this,"fontColor");_(this,"fontType");this.text=c,this.x=e,this.y=t,this.fontSize=i,this.zOrder=r,this.fontColor=n,this.fontType=a}toJson(c,e){return{text:this.text,x:bt(this.x,c),y:bt(this.y,e),fonttype:this.fontType,fontsize:this.fontSize,fontcolor:bs(this.fontColor),zorder:this.zOrder}}}class Xa{constructor(c,e,t,i,r,n=0,a){_(this,"userId");_(this,"x");_(this,"y");_(this,"width");_(this,"height");_(this,"zOrder");_(this,"sourceType");_(this,"segmentType",yi.LiveTranscodingNoBody);_(this,"images",[]);_(this,"texts",[]);typeof c=="number"?this.userId=c.toString():this.userId=c,this.x=e,this.y=t,this.width=i,this.height=r,this.zOrder=n,a&&(this.sourceType=a)}toJson(c,e,t,i){const r={paneid:c,majorpane:0,x:bt(this.x,e),y:bt(this.y,t),width:bt(this.width,e),height:bt(this.height,t),zorder:this.zOrder,userid:this.userId,images:this.images.map(n=>n.toJson(e,t)),texts:this.texts.map(n=>n.toJson(e,t))};return this.sourceType&&_i[this.sourceType]?r.sourcetype=_i[this.sourceType]:r.sourcetype=_i[oi.LiveTranscodingCamera],this.segmentType&&i===zi.LiveTranscodingVirtualBackground?r.segmenttype=this.segmentType:r.segmenttype=yi.LiveTranscodingNoBody,r}}var uu=Object.defineProperty,hu=Object.getOwnPropertyDescriptor,de=(s,c,e,t)=>{for(var i=t>1?void 0:t?hu(c,e):c,r=s.length-1,n;r>=0;r--)(n=s[r])&&(i=(t?n(c,e,i):n(i))||i);return t&&i&&uu(c,e,i),i};const he=(pe=class extends xe{constructor(e){super();_(this,"channelProfile");_(this,"clientRole");_(this,"signalingManager");_(this,"bizControl");_(this,"liveTranscoding");_(this,"maxSignalingConnectRetryCount");_(this,"slsReporter");_(this,"connectState",ke.AliRtcConnectionStatusInit);_(this,"networkError",!1);_(this,"_audioOnlyMode",!1);_(this,"_authInfoWillExpireTimer",null);_(this,"_authInfoExpiredTimer",null);_(this,"_serverCheckAuthInfoTimestamp",null);_(this,"_localCheckAuthInfoTimestamp",null);const t=Date.now();this.slsReporter=new bi(this),this.channelProfile=Tt.AliRtcSdkCommunication,this.clientRole=Mt.AliRtcSdkLive,this.liveTranscoding=new cu(this.slsReporter),this.signalingManager=new Es(this.channelProfile,this.clientRole,this.slsReporter,(e==null?void 0:e.env)===Dt.pre?Dt.pre:Dt.prod),this.addSignalingManagerListeners(),this.maxSignalingConnectRetryCount=e==null?void 0:e.maxSignalingConnectRetryCount,this.bizControl=new tt({slsReporter:this.slsReporter,signalingManager:this.signalingManager}),this.addBizControlListeners(),this.addPublisherListeners(),this.slsReporter.reportSDKCreated(t)}static getSdkVersion(){return mr}static setLogLevel(e){ae.setLogLevel(e)}static getInstance(e){return pe._instance||(pe._instance=new pe(e)),pe._instance}destroy(){return O(this,null,function*(){pe._instance=void 0,yield this.leaveChannel(),yield this.bizControl.clear()})}get channel(){return this.bizControl.channel}get userId(){return this.bizControl.userId}get remoteUsers(){return this.bizControl.remoteUsers}get publisher(){return this.bizControl.publisher}get publishAudioStream(){var e;return(e=this.publisher)==null?void 0:e.publishStreams.audio}get isPublishing(){const{publisher:e}=this.bizControl;return e?e.isPublishing:!1}get currentRoleCanPublish(){return this.channelProfile===Tt.AliRtcSdkCommunication||this.clientRole===Mt.AliRtcSdkInteractive}addPublisherListeners(){var e,t,i,r,n,a,o,u,h,g;(e=this.publisher)==null||e.on(rt.Local,f=>{ae.event("[Publisher] Device Status Change",f),this.onLocalDeviceStatusChange(f)}),(t=this.publisher)==null||t.on(ti.VideoTrackEnded,()=>{ae.event("[Publisher] VideoTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeCamera,He.AliEngineLocalDeviceExceptionTypeCameraInterrupt,"")}),(i=this.publisher)==null||i.on(ti.ScreenTrackEnded,()=>{ae.event("[Publisher] ScreenTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeDisplay,He.AliEngineLocalDeviceExceptionTypeDisplayException,"")}),(r=this.publisher)==null||r.on(ti.AudioTrackEnded,()=>{ae.event("[Publisher] AudioTrack Ended"),this.emit("localDeviceException",wt.AliEngineLocalDeviceTypeMic,He.AliEngineLocalDeviceExceptionTypeMicInterrupt,"")}),(n=this.publisher)==null||n.on("localDeviceException",(f,l,p="")=>{this.emit("localDeviceException",f,l,p)}),(a=this.publisher)==null||a.on("audioPublishStateChanged",(f,l,p)=>{var d;this.emit("audioPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(o=this.publisher)==null||o.on("videoPublishStateChanged",(f,l,p)=>{var d;this.emit("videoPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(u=this.publisher)==null||u.on("dualStreamPublishStateChanged",(f,l,p)=>{var d;this.emit("dualStreamPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(h=this.publisher)==null||h.on("screenPublishStateChanged",(f,l,p)=>{var d;this.emit("screenSharePublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")}),(g=this.publisher)==null||g.on("dataPublishStateChanged",(f,l,p)=>{var d;this.emit("dataPublishStateChanged",f,l,p,(d=this.channel)!=null?d:"")})}occurError(e,t){this.emit("onOccurError",e,t),this.emit("occurError",e,t)}addBizControlListeners(){this.bizControl.rtsManager.on("connected",e=>{var t;e&&((t=this.publisher)==null||t.publishUpdate(),this.remoteUsers.forEach(i=>{i.updateSubscribe(Be.Reconnect)}))}),this.bizControl.rtsManager.on("disconnected",()=>O(this,null,function*(){ae.event(`[${pe.logName}]`,"RTS Disconnected"),(yield St.isNetworkAvailable())?this.onNetworkRecovery():this.onNetworkError()})),this.bizControl.rtsManager.on("subscribeexceeds",()=>O(this,null,function*(){yield this.resumePublishForNetworkRecovery(),yield this.resumeSubList()})),this.bizControl.rtsManager.on("seimessage",(e,t,i)=>{const r=this.remoteUsers.find(n=>n.streamUrl===e);r&&this.emit("mediaExtensionMsgReceived",r.userId,i,t)}),this.bizControl.on(rt.Remote,(e,t)=>{ae.event(`[${pe.logName}]`,"RemoteUser Device Status Change",e,t)}),this.bizControl.on("remoteTrackAvailableChange",(e,t,i)=>{this.emit("remoteTrackAvailableNotify",e,t,i)}),this.bizControl.on("audioSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("audioSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("videoSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("videoSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("screenSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("screenShareSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("dataSubscribeStateChanged",(e,t,i,r,n)=>{this.emit("dataSubscribeStateChanged",e,t,i,r,n)}),this.bizControl.on("userAudioMuted",(e,t)=>{this.emit("userAudioMuted",e,t)}),this.bizControl.on("userVideoMuted",(e,t)=>{this.emit("userVideoMuted",e,t)}),this.bizControl.on("userScreenMuted",(e,t)=>{this.emit("userScreenMuted",e,t)}),this.bizControl.on("audioVolume",e=>{this.emit("audioVolume",e)}),this.bizControl.on("remoteAudioAutoPlayFail",e=>{this.emit("remoteAudioAutoPlayFail",e)}),this.bizControl.on("remoteVideoAutoPlayFail",(e,t)=>{this.emit("remoteVideoAutoPlayFail",e,t)}),this.bizControl.on("remoteAudioPlayError",(e,t)=>{this.emit("remoteAudioPlayError",e,t)}),this.bizControl.on("remoteVideoPlayError",(e,t)=>{this.emit("remoteVideoPlayError",e,t)}),this.bizControl.on("rtcStats",e=>{this.emit("rtcStats",e)}),this.bizControl.on("rtcLocalAudioStats",e=>{this.emit("rtcLocalAudioStats",e)}),this.bizControl.on("rtcLocalVideoStats",e=>{this.emit("rtcLocalVideoStats",e)}),this.bizControl.on("rtcRemoteAudioStats",e=>{this.emit("rtcRemoteAudioStats",e)}),this.bizControl.on("rtcRemoteVideoStats",e=>{this.emit("rtcRemoteVideoStats",e)}),this.bizControl.on("remoteSubscribeError",(e,t)=>{this.occurError(e,t),this.slsReporter.reportError(e)}),this.bizControl.on("occurError",(e,t)=>{this.occurError(e,t),this.slsReporter.reportError(e)}),this.bizControl.on("remoteDataChannelMessage",(e,t)=>{this.emit("dataChannelMsg",e,t)})}addSignalingManagerListeners(){this.signalingManager.on("onKeepAliveRsp",()=>{this.networkError&&(ae.event("[Signaling] Receive KeepAlive Response",`networkError: ${this.networkError}`),this.onNetworkRecovery())}),this.signalingManager.on("onNotifyJoin",e=>{ae.event("[Signaling] Notify Join ",e),this.handleUsersJoin(e),e.forEach(t=>{this.emit("remoteUserOnLineNotify",t.userid,0)})}),this.signalingManager.on("onNotifyStatus",e=>{ae.event("[Signaling] Notify Status ",e),e.forEach(t=>{this.bizControl.updateRemoteUserDeviceStatus(t)})}),this.signalingManager.on("onNotifyLeave",e=>{ae.event("[Signaling] Notify Leave ",e),e.forEach(t=>{this.emit("remoteUserOffLineNotify",t.userid,t.leavecode),this.bizControl.removeLeftUser(t)})}),this.signalingManager.on("onBye",(e,t)=>{ae.event("[Signaling] Bye ",e,t),this.slsReporter.reportError({message:`reason: ${e}, description: ${t}`}),this.emit("bye",e),this.leaveChannel(),this.slsReporter.reportBye(e)}),this.signalingManager.on("onConnectFail",e=>{ae.event("[Signaling] Connect Failed ",e),this.onError(e),this.backToUnpublishStatus(),this.connectState=ke.AliRtcConnectionStatusFailed,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusFailed,Yt.AliRtcConnectionChangedNetworkInterrupted)}),this.signalingManager.on("onNetworkError",e=>{this.slsReporter.reportWarning("signaling network error"),ae.event("[Signaling] Network error ",e),this.onNetworkError()}),this.signalingManager.on("onAuthInvalid",()=>{ae.event("[Signaling] Auth Invalid")}),this.signalingManager.on("onReconnectStart",()=>{ae.event("[Signaling] Reconnect Start "),this.connectState=ke.AliRtcConnectionStatusReconnecting,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusReconnecting,Yt.AliRtcConnectionSignalingConnecting)}),this.signalingManager.on("onReconnectSuccess",e=>{ae.event("[Signaling] Reconnect Success ",e),this.onNetworkRecovery(e)}),this.signalingManager.on("onReconnectFail",e=>{this.slsReporter.reportWarning("signaling reconnect fail: ${err.code}"),ae.event("[Signaling] Reconnect Failed ",e),e.code===403&&this.emit("authInfoExpired")}),this.signalingManager.on("onError",e=>{this.slsReporter.reportWarning("signaling error: ${err.message}"),ae.event("[Signaling] Error ",e),this.onError(e)})}backToUnpublishStatus(){var e,t;this.connectState=ke.AliRtcConnectionStatusDisconnected,(e=this.publisher)!=null&&e.isPublishing&&((t=this.publisher)==null||t.clearPublishState()),this.networkError=!1}handleUsersJoin(e){e.forEach(t=>{const i=t.userid;if(i){const r=this.bizControl.addUser(i,t.displayname,Be.Join);ae.event(`[${pe.logName}]`,Re.UserJoined,r)}})}onLocalDeviceStatusChange(e){ae.event(`[${pe.logName}]`,rt.Local,e),this.signalingManager.reportStatus(e).then(()=>{ae.debug("[signaling] reportStatus suc")}).catch(t=>{ae.error("[signaling] reportStatus failed",t)})}resumePublishForNetworkRecovery(){return O(this,null,function*(){var e;try{yield(e=this.publisher)==null?void 0:e.resumePublish()}catch(t){const{code:i}=t;if(i===10205){let n=1;try{yield new Promise((a,o)=>{const u=setInterval(()=>O(this,null,function*(){var h;n>1&&(clearInterval(u),o()),n+=1;try{yield(h=this.publisher)==null?void 0:h.resumePublish(),clearInterval(u),a()}catch(g){const{code:f}=g;f!==10205&&(clearInterval(u),o())}}),1e3)})}catch(a){}}throw t}})}onNetworkRecovery(e){return O(this,null,function*(){var t;ae.event(pe.logName,"onNetworkRecovery",`rts isConnected: ${this.bizControl.rtsManager.isConnected}; rts isConnecting: ${this.bizControl.rtsManager.isConnecting}`,{users:e}),!this.bizControl.rtsManager.isConnected&&!this.bizControl.rtsManager.isConnecting&&(yield this.resumePublishForNetworkRecovery(),yield this.resumeSubList(e)),this.networkError&&(this.networkError=!1,(t=this.publisher)==null||t.reportSelfDeviceStatus(),this.connectState=ke.AliRtcConnectionStatusConnected,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusConnected,Yt.AliRtcConnectionSignalingHeartbeatAlive))})}resumeSubList(e){return O(this,null,function*(){if(e!=null&&e.length){const{joinList:t,leaveList:i,presentList:r}=this.bizControl.updateUsers(e);ae.info(`[${pe.logName}]`,"resumeSubList",{joinList:t,leaveList:i,presentList:r}),this.handleUsersJoin(t),i.forEach(n=>{ae.event(pe.logName,Re.UserLeft,n.userid,n.reason),this.emit("remoteUserOffLineNotify",n.userid,xs.AliRtcUserOfflineQuit)});for(let n=0;n<r.length;n++){const a=r[n],o=a.userid,u=this.bizControl.getRemoteUser(o);this.bizControl.onRemotePublishStateChange(a),u==null||u.restore(),u==null||u.updateSubscribe(Be.Resume)}}else for(let t=0;t<this.remoteUsers.length;t++){const i=this.remoteUsers[t];try{i.restore(),i.updateSubscribe(Be.Resume)}catch(r){}}})}retrySubscribe(e){return O(this,null,function*(){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.restore(),t.updateSubscribe(Be.Retry)})}onNetworkError(){this.connectState===ke.AliRtcConnectionStatusConnected&&(this.networkError||(this.connectState=ke.AliRtcConnectionStatusDisconnected,this.emit("connectionStatusChange",ke.AliRtcConnectionStatusDisconnected,Yt.AliRtcConnectionChangedNetworkInterrupted)),this.networkError=!0)}onError(e){this.slsReporter.reportError(e),ae.event(pe.logName,Re.Error,e)}setEnableDualVideoStream(e,t){this.bizControl.setEnableDualVideoStream(e,t)}hadPushStream(e){if(!(this.publisher&&e))throw new Y(te.ERR_INNER,"stream is not publishing")}getCurrentMicDeviceId(){var e;return(e=this.publisher)==null?void 0:e.getCurrentMicDeviceId()}setChannelProfile(e){if(![ke.AliRtcConnectionStatusInit,ke.AliRtcConnectionStatusDisconnected,ke.AliRtcConnectionStatusFailed].includes(this.connectState))throw new Y(te.ERR_INNER,"cannot set channel profile in call");this.channelProfile=e,this.channelProfile===Tt.AliRtcSdkCommunication&&(this.clientRole=Mt.AliRtcSdkLive),this.signalingManager.setChannelProfile(e)}startAndPublishDefaultDevices(e){return O(this,null,function*(){var a,o,u,h,g;if(!this.publisher)return;const{hasCamera:t,hasMicrophone:i,hasScreenShare:r}=this.publisher;if(t||i||r)return;try{yield(a=this.publisher)==null?void 0:a.startDefaultCamera(this._audioOnlyMode)}catch(f){ae.warn(`[${pe.logName}]`,"startDefaultCamera failed",f.code,f.message),f instanceof Y&&this.occurError(f),this.occurError(new Y(te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED,`auto start video failed, ${f.message||""}`))}try{yield(o=this.publisher)==null?void 0:o.startDefaultAudio()}catch(f){ae.warn(`[${pe.logName}]`,"startDefaultAUdio failed",f.code,f.message),f instanceof Y&&this.occurError(f),this.occurError(new Y(te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED,`auto start audio failed, ${f.message||""}`))}yield(u=this.publisher)==null?void 0:u.previewAll();const n=((h=this.publisher)==null?void 0:h.publishStreams)||{};if(Object.values(n).some(f=>f))try{yield(g=this.publisher)==null?void 0:g.startPublish(!1,e)}catch(f){const l=[];n!=null&&n.audio&&l.push(te.ERR_SDK_PUBLISH_AUDIO_STREAM_FAILED),n!=null&&n.video&&l.push(te.ERR_SDK_PUBLISH_VIDEO_STREAM_FAILED),l.forEach(p=>{this.occurError(new Y(p,`auto publish stream failed, ${f.message||""}`))})}})}setClientRole(e){return O(this,null,function*(){var t,i;try{if(this.channelProfile===Tt.AliRtcSdkCommunication)return;if(!Object.values(Mt).includes(e))throw new Y(te.ERR_INVALID_ARGUMENTS,`set client role error, role value(${e}) is invalid`);if(this.clientRole===e)return;this.slsReporter.reportRoleUpdate(this.clientRole,e),this.isInCall()?this.clientRole===Mt.AliRtcSdkInteractive?(this.bizControl.isSubscribing?yield(t=this.publisher)==null?void 0:t.clearStream():yield(i=this.publisher)==null?void 0:i.unPublish(),yield this.signalingManager.setClientRole(e)):(yield this.signalingManager.setClientRole(e),yield this.startAndPublishDefaultDevices(Bt.JOIN_CHANNEL)):yield this.signalingManager.setClientRole(e),this.clientRole=e}catch(r){throw r.code===403&&this.emit("authInfoExpired"),r}})}getCurrentClientRole(){return this.clientRole}setAudioOnlyMode(e){if(this.isInCall())throw new Y(te.ERR_INNER,"can not change audioOnly mode in call");this._audioOnlyMode=e}setAudioRedEnabled(e){if(this.isInCall())throw new Y(te.ERR_INNER,"can not change audioRedEnabled in call");this.bizControl.setAudioRedEnabled(e)}setCheckAuthInfoTimer(e,t){const i=(e-t)*1e3;this._authInfoExpiredTimer=window.setTimeout(()=>{this.emit("authInfoExpired")},i),this._authInfoWillExpireTimer=window.setTimeout(()=>{this.emit("authInfoWillExpire")},i-3e4),this._serverCheckAuthInfoTimestamp=t,this._localCheckAuthInfoTimestamp=+Date.now()/1e3}clearCheckAuthInfoTimer(){this._authInfoExpiredTimer&&window.clearTimeout(this._authInfoExpiredTimer),this._authInfoWillExpireTimer&&window.clearTimeout(this._authInfoWillExpireTimer)}joinChannel(e,t){return O(this,null,function*(){var o,u;let i,r=t;if(typeof e=="string")try{const h=JSON.parse(window.atob(e));i={appId:h.appid,channelId:h.channelid,userId:h.userid,timestamp:h.timestamp,nonce:h.nonce,token:h.token}}catch(h){throw new Y(te.ERR_INVALID_ARGUMENTS,`authInfo is invalid: ${h.message||""}`)}else i=e;r||(r=i.userId);const n={start:Date.now()};let a=Bs.checkAuthInfo(i);if(ke.AliRtcConnectionStatusInit===this.connectState||ke.AliRtcConnectionStatusDisconnected===this.connectState||ke.AliRtcConnectionStatusFailed===this.connectState){if(this.connectState=ke.AliRtcConnectionStatusConnecting,a)throw this.connectState=ke.AliRtcConnectionStatusFailed,this.slsReporter.reportJoin(a.code,n,""),this.slsReporter.reportJoinResult(a),a;i.sessionId=St.createCallid("web"),ae.setSessionID(i.appId,i.sessionId),this.slsReporter.start(i);try{const h=yield this.signalingManager.join(i,r,this.maxSignalingConnectRetryCount,n);this.connectState=ke.AliRtcConnectionStatusConnected,(o=this.publisher)==null||o.reportSelfDeviceStatus(),this.bizControl.init(i,h),this.setCheckAuthInfoTimer(i.timestamp,h.timestamp),this.liveTranscoding.setAuthInfo(i),this.slsReporter.reportJoin(0,n,h.tid),this.slsReporter.reportJoinResult(null)}catch(h){const g=(u=h.code)!=null?u:-1,f=h.reason||h.message||"";throw this.connectState=ke.AliRtcConnectionStatusDisconnected,this.slsReporter.reportJoin(g,n,""),this.slsReporter.reportJoinResult(h),new Y(g,f)}this.currentRoleCanPublish&&(yield this.startAndPublishDefaultDevices(Bt.ROLE_CHANGE)),this.remoteUsers.forEach(h=>{h.updateSubscribe(Be.Join)})}else{const h=new Y(te.ERR_JOIN_ALREADY_JOINED,"already joined");throw this.connectState===ke.AliRtcConnectionStatusConnecting&&(h.message="Repeated operation during login"),this.slsReporter.reportJoin(h.code,n,""),h}})}leaveChannel(){return O(this,null,function*(){var t;this.slsReporter.reportLeaveInvoked();let e=new Date().getTime();if(ke.AliRtcConnectionStatusConnected===this.connectState)try{let i;i=yield this.signalingManager.leave(),this.slsReporter.reportLeave(new Date().getTime()-e,0,(t=i==null?void 0:i.tid)!=null?t:""),ae.uploadLog()}catch(i){this.slsReporter.reportLeave(new Date().getTime()-e,i.code,i.reason)}else this.slsReporter.reportLeave(0,0,"");this.networkError=!1,this.connectState=ke.AliRtcConnectionStatusDisconnected,this.clearCheckAuthInfoTimer(),yield this.bizControl.leave(),this.liveTranscoding.clear(),this.slsReporter.stop(),this.signalingManager.reset()})}isInCall(){return this.connectState===ke.AliRtcConnectionStatusConnected}refreshAuthInfo(e){return O(this,null,function*(){let t;if(typeof e=="string")try{const h=JSON.parse(window.atob(e));t={userId:h.userid,timestamp:h.timestamp,nonce:h.nonce,token:h.token}}catch(h){throw new Y(te.ERR_INVALID_ARGUMENTS,`authInfo is invalid: ${h.message||""}`)}else t=e;const{userId:i,nonce:r,timestamp:n,token:a,role:o}=t,u={userId:i,nonce:r,timestamp:n,token:a,role:o};try{yield this.signalingManager.refreshAuthInfo(u),this.bizControl.refreshAuthInfo(u),this.liveTranscoding.refreshAuthInfo(u),this.clearCheckAuthInfoTimer(),this._serverCheckAuthInfoTimestamp&&this._localCheckAuthInfoTimestamp&&t.timestamp&&this.setCheckAuthInfoTimer(t.timestamp,this._serverCheckAuthInfoTimestamp+(Date.now()-this._localCheckAuthInfoTimestamp))}catch(h){throw h}})}isAudioOnly(){return this._audioOnlyMode}publishLocalAudioStream(e){return O(this,null,function*(){var t,i,r,n;(t=this.publisher)==null||t.setPublishLocalAudioStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(i=this.publisher)!=null&&i.hasMicrophone?yield(r=this.publisher)==null?void 0:r.updateStreams():yield this.startAudioCapture():yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isLocalAudioStreamPublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalAudioStreamEnabled)!=null?t:!0}setDefaultSubscribeAllRemoteAudioStreams(e){this.bizControl.setAutoSubAudio(e)}subscribeAllRemoteAudioStreams(e){this.bizControl.setWantSubAudio(e)}subscribeRemoteAudioStream(e,t){if(t&&!this.bizControl.isWantSubAudio)throw new Y(te.ERR_INVALID_ARGUMENTS,"subscribeAllRemoteAudioStreams(true) must be called first");this.bizControl.updateAudioWant(e,t)}resumeRemoteAudioStream(e){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.resumeAudio()}stopRemoteAudioPlay(e){const t=this.bizControl.getRemoteUser(e);if(!t)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);t.stopPlayAudio()}publishLocalVideoStream(e){return O(this,null,function*(){var t,i,r,n;(t=this.publisher)==null||t.setPublishLocalVideoStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(i=this.publisher)!=null&&i.hasCamera?yield(r=this.publisher)==null?void 0:r.updateStreams():yield this.enableLocalVideo():yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isLocalVideoStreamPublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalVideoStreamEnabled)!=null?t:!0}setRemoteDefaultVideoStreamType(e){[Ge.AliRtcVideoStreamTypeHigh,Ge.AliRtcVideoStreamTypeLow].includes(e)&&this.bizControl.setRemoteDefaultVideoStreamType(e)}setRemoteUserVideoStreamType(e,t){[Ge.AliRtcVideoStreamTypeHigh,Ge.AliRtcVideoStreamTypeLow].includes(t)&&this.bizControl.setRemoteUserVideoStreamType(e,t)}setDefaultSubscribeAllRemoteVideoStreams(e){this.bizControl.setAutoSubVideo(e),this.bizControl.setAutoSubScreen(e)}subscribeAllRemoteVideoStreams(e){this.bizControl.setWantSubVideo(e),this.bizControl.setWantSubScreen(e)}subscribeRemoteMediaStream(e,t,i,r){const n=this.bizControl.getRemoteUser(e);if(!n)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i&&(t===Ae.AliRtcVideoTrackScreen||t===Ae.AliRtcVideoTrackBoth)?n.setWantSubScreen(!0):n.setWantSubScreen(!1),i&&(t===Ae.AliRtcVideoTrackCamera||t===Ae.AliRtcVideoTrackBoth)?n.setWantSubVideo(!0):n.setWantSubVideo(!1),n.setWantSubAudio(r),n.updateSubscribe(Be.User)}resumeRemoteMediaStream(e,t){const i=this.bizControl.getRemoteUser(e);i&&i.resumeVideo(t)}getOnlineRemoteUsers(){return this.bizControl.remoteUsers.map(e=>e.userId)}getUserInfo(e){var t;return(t=this.bizControl.getRemoteUser(e))==null?void 0:t.remoteUserInfo}isUserOnline(e){return!!this.bizControl.remoteUsers.find(t=>t.userId===e)}startScreenShare(e){return O(this,null,function*(){var a;const t={video:!1,audio:!1},{audio:i=!1,videoTrack:r,audioTrack:n}=e||{};if(r||n){t.screen=!0;const o=new MediaStream;r&&o.addTrack(r),n&&o.addTrack(n),t.mediaStream=o}else t.screen=i?{audio:!0}:!0;yield(a=this.publisher)==null?void 0:a.createLocalStream(t)})}stopScreenShare(){return O(this,null,function*(){var e;(e=this.publisher)==null||e.stopLocalStream({screen:!0})})}setScreenShareConfiguration(e){return O(this,null,function*(){var r;const{frameRate:t=Ci.frameRate,bitrate:i=Ci.maxBitrate}=e;yield(r=this.publisher)==null?void 0:r.setScreenProfile(ka,{width:Ci.width,height:Ci.height,frameRate:t,maxBitrate:i})})}setScreenShareContentHint(e){return O(this,null,function*(){var t;e&&((t=this.publisher)==null||t.setScreenContentHint(e))})}publishLocalScreenShareStream(e,t){return O(this,null,function*(){var i,r,n;(i=this.publisher)==null||i.setPublishLocalScreenStreamEnabled(e),this.connectState===ke.AliRtcConnectionStatusConnected&&(e?(r=this.publisher)!=null&&r.hasScreenShare?yield this.publisher.updateStreams():yield this.startScreenShare(t):yield(n=this.publisher)==null?void 0:n.publishUpdate())})}isScreenSharePublished(){var e,t;return(t=(e=this.publisher)==null?void 0:e.publishLocalScreenStreamEnabled)!=null?t:!0}setAudioShareVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setAudioVolume({screen:Math.max(0,Math.min(e,400))/100})}enableAudioVolumeIndication(e){this.bizControl.enableAudioVolumeIndication(e)}muteLocalMic(e=!1){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteAudio:Re.UnmuteAudio),(t=this.publisher)==null||t.muteLocalMic(e)}muteRemoteAudioPlaying(e,t=!1){const i=this.bizControl.getRemoteUser(e);if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);i.setAudioMuted(t)}muteAllRemoteAudioPlaying(e=!1){this.bizControl.setAudioMuted(e)}startAudioCapture(e){return O(this,null,function*(){var i;const t={audio:e||!0};yield(i=this.publisher)==null?void 0:i.createLocalStream(t)})}stopAudioCapture(){var e;(e=this.publisher)==null||e.stopAudioCapture()}switchMicrophone(e,t){return O(this,null,function*(){var i,r,n,a;if(yield(i=this.publisher)==null?void 0:i.setMicrophoneDeviceId(e),!((r=this.publisher)!=null&&r.audioCaptureDisabled)){if(t){yield(n=this.publisher)==null?void 0:n.createLocalStream({audio:!0,mediaStream:new MediaStream([t])});return}yield(a=this.publisher)==null?void 0:a.createLocalStream({audio:{deviceId:e}})}})}setRecordingVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setAudioVolume({audio:Math.max(0,Math.min(e,400))/100})}setPlayoutVolume(e){if(typeof e!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");this.bizControl.setPlayoutVolume(Math.max(0,Math.min(e,100))/100)}setRemoteAudioVolume(e,t){const i=this.bizControl.getRemoteUser(e);if(!i)throw new Y(te.ERR_INNER,`no remote user(${e}) founded`);if(typeof t!="number")throw new Y(te.ERR_INVALID_ARGUMENTS,"volume must be a number");i.setPlayoutVolume(Math.max(0,Math.min(t,100))/100)}setAudioProfile(e){return O(this,null,function*(){var t;yield(t=this.publisher)==null?void 0:t.setAudioProfile(e)})}getAudioTrack(e){return O(this,null,function*(){var i;if(!e)return(i=this.publisher)==null?void 0:i.audioTrack;const t=this.bizControl.getRemoteUser(e);return t==null?void 0:t.getAudioTrack})}setLocalViewConfig(e,t){return O(this,null,function*(){var i,r,n;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot set local view in audio only mode");(i=this.bizControl)==null||i.setLocalViewConfig(e,t),t===Ae.AliRtcVideoTrackCamera&&((r=this.publisher)!=null&&r.hasCamera)?yield this.startPreview():t===Ae.AliRtcVideoTrackScreen&&((n=this.publisher)!=null&&n.hasScreenShare)&&(yield this.startPreviewScreen())})}setCameraCapturerConfiguration(e){return O(this,null,function*(){var u,h,g;const{width:t=wi.width,height:i=wi.height,frameRate:r=wi.frameRate,bitrate:n=wi.maxBitrate,cameraDirection:a,deviceId:o}=e;yield(u=this.publisher)==null?void 0:u.setVideoProfile(Ta,{width:t,height:i,frameRate:r,maxBitrate:n}),a!==void 0&&((h=this.publisher)==null||h.setCameraDirection(a)),o&&((g=this.publisher)==null||g.setCameraDeviceId(o))})}setCameraCapturerContentHint(e){return O(this,null,function*(){var t;e&&((t=this.publisher)==null||t.setVideoContentHint(e))})}enableLocalVideo(e=!0){return O(this,null,function*(){var t,i,r,n,a,o,u,h,g,f,l;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot enable local video in audio only mode");e?((i=(t=this.publisher)==null?void 0:t.publishStreams)!=null&&i.video&&((a=(n=(r=this.publisher)==null?void 0:r.publishStreams)==null?void 0:n.video)==null||a.disableVideo(),(g=(h=(u=(o=this.publisher)==null?void 0:o.publishStreams)==null?void 0:u.video)==null?void 0:h.videoTrack)==null||g.stop()),yield(f=this.publisher)==null?void 0:f.startCameraCapture()):yield(l=this.publisher)==null?void 0:l.stopCameraCapture()})}muteLocalCamera(e){return O(this,null,function*(){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteVideo:Re.UnmuteVideo),(t=this.publisher)==null||t.muteLocalCamera(e)})}muteLocalScreen(e){return O(this,null,function*(){var t;this.isPublishing&&this.onLocalDeviceStatusChange(e?Re.MuteScreen:Re.UnmuteScreen),(t=this.publisher)==null||t.muteLocalScreen(e)})}setRemoteViewConfig(e,t,i){this.bizControl.setRemoteViewConfig(t,e,i)}isCameraOn(){var e,t;return(t=(e=this.publisher)==null?void 0:e.hasCamera)!=null?t:!1}switchCamera(e,t){return O(this,null,function*(){var r,n,a,o,u,h,g,f,l,p,d,m,b;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot switch camera in audio only mode");const i={};if(e?(i.deviceId=e,this.slsReporter.reportSwitchCamera(e)):(i.cameraDirection=((r=this.publisher)==null?void 0:r.cameraDirection)==="environment"?Ei.CAMERA_FRONT:Ei.CAMERA_REAR,this.slsReporter.reportSwitchCamera(((n=this.publisher)==null?void 0:n.cameraDirection)||"")),yield this.setCameraCapturerConfiguration(i),!((a=this.publisher)!=null&&a.cameraCaptureDisabled)){(u=(o=this.publisher)==null?void 0:o.publishStreams)!=null&&u.video&&((f=(g=(h=this.publisher)==null?void 0:h.publishStreams)==null?void 0:g.video)==null||f.disableVideo(),(m=(d=(p=(l=this.publisher)==null?void 0:l.publishStreams)==null?void 0:p.video)==null?void 0:d.videoTrack)==null||m.stop());const v={video:!0};t&&(v.mediaStream=new MediaStream([t])),yield(b=this.publisher)==null?void 0:b.createLocalStream(v)}})}getCurrentCameraDeviceId(){var e;return(e=this.publisher)==null?void 0:e.getCurrentCameraDeviceId()}startPreview(){return O(this,null,function*(){var e,t;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot start preview camera in audio only mode");(e=this.publisher)!=null&&e.hasCamera||(yield this.enableLocalVideo(!0)),yield(t=this.publisher)==null?void 0:t.previewAll({screen:!1})})}startPreviewScreen(e){return O(this,null,function*(){var t,i;if(this._audioOnlyMode)throw new Y(te.ERR_INNER,"Cannot start preview screen share in audio only mode");(t=this.publisher)!=null&&t.hasScreenShare||(yield this.startScreenShare(e)),yield(i=this.publisher)==null?void 0:i.previewAll({primary:!1})})}stopPreview(){return O(this,null,function*(){var e;yield(e=this.publisher)==null?void 0:e.stopPreview({primary:!0,screen:!1})})}stopPreviewScreen(){return O(this,null,function*(){var e;yield(e=this.publisher)==null?void 0:e.stopPreview({primary:!1,screen:!0})})}getVideoTrack(e){return O(this,null,function*(){var n,a,o,u;const{userId:t,streamType:i}=e;if(!t)return i===We.AliRtcSdkStreamTypeCapture?(n=this.publisher)==null?void 0:n.cameraTrack:(a=this.publisher)==null?void 0:a.screenTrack;const r=this.bizControl.getRemoteUser(t);return i===We.AliRtcSdkStreamTypeCapture?(o=r==null?void 0:r.getCameraStream)==null?void 0:o.videoTrack:(u=r==null?void 0:r.getScreenStream)==null?void 0:u.videoTrack})}startPublishLiveStream(e,t){return O(this,null,function*(){return this.liveTranscoding.startPublishLiveStream(e,t)})}updatePublishLiveStream(e,t){return O(this,null,function*(){return this.liveTranscoding.updatePublishLiveStream(e,t)})}updatePublishLiveStreamWithTaskId(e,t){return this.liveTranscoding.updatePublishLiveStreamWithTaskId(e,t)}stopPublishLiveStream(e){return O(this,null,function*(){return this.liveTranscoding.stopPublishLiveStream(e)})}stopPublishLiveStreamWithTaskId(e){return this.liveTranscoding.stopPublishLiveStreamWithTaskId(e)}setEnableMediaExtensionMsg(e){var t;(t=this.bizControl)==null||t.setEnableMediaExtensionMsg(!!e)}sendMediaExtensionMsg(e,t){return O(this,null,function*(){return this.sendMediaExtensionMsgEx(e,t,5)})}sendMediaExtensionMsgEx(e,t,i){return O(this,null,function*(){var r;if(!this.publisher||!this.isPublishing)throw new Y(te.ERR_INNER,"you should publish first");return this.slsReporter.reportSEIMessage(i,e.byteLength,t,0,!1),(r=this.publisher)==null?void 0:r.sendSEI(e,t,i)})}enablePlugin(e,t){this.bizControl.pluginManager.add(e,t)}removePlugin(e){this.bizControl.pluginManager.remove(e)}setPluginOption(e,t){const i=this.bizControl.pluginManager.get(e);i&&t&&i.setOptions(t)}getPluginOption(e){const t=this.bizControl.pluginManager.get(e);return t==null?void 0:t.getOptions()}isBeautyAvailable(){return this.bizControl.pluginManager.has("AliRtcBeauty")}isBeautyEnabled(){const e=this.bizControl.pluginManager.get("AliRtcBeauty");if(!e)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");return!!(e!=null&&e.isEnable)}setBeautyEffect(e,t){const i=this.bizControl.pluginManager.get("AliRtcBeauty");if(!i)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");e?i.enable():i.disable(),i.setOptions({basicBeauty:{skinBuffing:Math.max(Math.min(1,+t.smoothnessLevel),0),whitening:Math.max(Math.min(1,+t.whiteningLevel),0)}})}enableBackgroundExchange(e,t){const i=this.bizControl.pluginManager.get("AliRtcBeauty");if(!i||!i.isEnable)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");const r={setSegmentBackgroundImage:{backgroundImgUrl:e?t:""}};e&&(r.segmentBackgroundProcess={enable:!1}),i.setOptions(r)}enableBackgroundBlur(e){const t=this.bizControl.pluginManager.get("AliRtcBeauty");if(!t||!t.isEnable)throw new Y(Vt.AliRtcPluginErrorNoFindPlugin,"you should enable beautyPlugin first");const i={segmentBackgroundProcess:{type:0,enable:e}};e&&(i.setSegmentBackgroundImage={type:0,backgroundImgUrl:""}),t.setOptions(i)}setParameter(e){this.bizControl.setParameter(e)}getParameter(){return this.bizControl.getParameter()}sendDataChannelMessage(e){this.bizControl.sendDataChannelMessage(e)}},_(pe,"logName","AliRtcEngine"),_(pe,"logError",!0),_(pe,"isSupported",r0),_(pe,"isDualVideoStreamSupported",ks.isSupport),_(pe,"getCameraList",()=>O(pe,null,function*(){return(yield fe.AliRTS.getCameraList()).filter(t=>t.deviceId)})),_(pe,"getMicrophoneList",()=>O(pe,null,function*(){return(yield fe.AliRTS.getMicList()).filter(t=>t.deviceId)})),_(pe,"getSpeakerList",()=>O(pe,null,function*(){return(yield fe.AliRTS.getSpeakerList()).filter(t=>t.deviceId)})),_(pe,"_instance"),_(pe,"AliRtcSdkChannelProfile",Tt),_(pe,"AliRtcSdkClientRole",Mt),_(pe,"AliRtcVideoStreamType",Ge),_(pe,"AliRtcVideoTrack",Ae),_(pe,"AliRtcAudioTrack",ci),_(pe,"AliRtcPublishState",ve),_(pe,"AliRtcSubscribeState",Pe),_(pe,"AliRtcRawDataStreamType",We),_(pe,"AliRtcLogLevel",ds),_(pe,"AliRtcEngineLocalDeviceType",wt),_(pe,"AliRtcEngineLocalDeviceExceptionType",He),_(pe,"AliRtcConnectionStatus",ke),_(pe,"AliRtcConnectionStatusChangeReason",Yt),_(pe,"AliRtcPlugin",Zt),_(pe,"AliRtcPluginTrackType",xi),_(pe,"AliRtcLiveTranscodingParam",ji),_(pe,"AliRtcLiveTranscodingEncodeParam",vs),_(pe,"AliRtcLiveTranscodingMixParam",Ka),_(pe,"AliRtcLiveTranscodingSingleParam",$a),_(pe,"AliRtcTranscodingClockWidget",qa),_(pe,"AliRtcTranscodingImage",Ls),_(pe,"AliRtcTranscodingText",Ja),_(pe,"AliRtcTranscodingUser",Xa),_(pe,"AliRtcLiveTranscodingMixMode",Si),_(pe,"AliRtcLiveTranscodingStreamType",ls),_(pe,"AliRtcLiveTranscodingSourceType",oi),_(pe,"AliRtcLiveTranscodingTaskProfile",fs),_(pe,"AliRtcLiveTranscodingAudioSampleRate",Hi),_(pe,"AliRtcLiveTranscodingSegmentType",yi),_(pe,"AliRtcLiveTranscodingFontType",Ai),_(pe,"AliRtcLiveTranscodingCropMode",ps),_(pe,"AliRtcLiveTranscodingMediaProcessMode",zi),_(pe,"AliRtcLiveTranscodingState",ms),_(pe,"AliRtcLiveTranscodingErrorCode",Et),_(pe,"AliRtcTrascodingPublishTaskStatus",gs),_(pe,"AliRtcDataChannelMsg",ei),_(pe,"AliRtcDataMsgType",Cs),_(pe,"Plugin",Zt),pe);de([j()],he.prototype,"destroy",1),de([j()],he.prototype,"backToUnpublishStatus",1),de([j()],he.prototype,"resumePublishForNetworkRecovery",1),de([j()],he.prototype,"onNetworkRecovery",1),de([j()],he.prototype,"resumeSubList",1),de([j(ne)],he.prototype,"retrySubscribe",1),de([j(ne)],he.prototype,"setEnableDualVideoStream",1),de([j(ne)],he.prototype,"setChannelProfile",1),de([j(ne)],he.prototype,"setClientRole",1),de([j(ne)],he.prototype,"setAudioOnlyMode",1),de([j()],he.prototype,"clearCheckAuthInfoTimer",1),de([j(ne)],he.prototype,"joinChannel",1),de([j(ne)],he.prototype,"leaveChannel",1),de([j(ne)],he.prototype,"refreshAuthInfo",1),de([j(ne)],he.prototype,"publishLocalAudioStream",1),de([j(ne)],he.prototype,"setDefaultSubscribeAllRemoteAudioStreams",1),de([j(ne)],he.prototype,"subscribeAllRemoteAudioStreams",1),de([j(ne)],he.prototype,"subscribeRemoteAudioStream",1),de([j(ne)],he.prototype,"resumeRemoteAudioStream",1),de([j(ne)],he.prototype,"stopRemoteAudioPlay",1),de([j(ne)],he.prototype,"publishLocalVideoStream",1),de([j(ne)],he.prototype,"setRemoteDefaultVideoStreamType",1),de([j(ne)],he.prototype,"setRemoteUserVideoStreamType",1),de([j(ne)],he.prototype,"setDefaultSubscribeAllRemoteVideoStreams",1),de([j(ne)],he.prototype,"subscribeAllRemoteVideoStreams",1),de([j(ne)],he.prototype,"subscribeRemoteMediaStream",1),de([j(ne)],he.prototype,"resumeRemoteMediaStream",1),de([j(([s])=>[`${s==null?void 0:s.audio}`])],he.prototype,"startScreenShare",1),de([j()],he.prototype,"stopScreenShare",1),de([j(ne)],he.prototype,"setScreenShareConfiguration",1),de([j(ne)],he.prototype,"setScreenShareContentHint",1),de([j()],he.prototype,"publishLocalScreenShareStream",1),de([j(ne)],he.prototype,"setAudioShareVolume",1),de([j(ne)],he.prototype,"enableAudioVolumeIndication",1),de([j(ne)],he.prototype,"muteLocalMic",1),de([j(ne)],he.prototype,"muteRemoteAudioPlaying",1),de([j(ne)],he.prototype,"muteAllRemoteAudioPlaying",1),de([j(ne)],he.prototype,"startAudioCapture",1),de([j()],he.prototype,"stopAudioCapture",1),de([j(ne)],he.prototype,"switchMicrophone",1),de([j(ne)],he.prototype,"setRecordingVolume",1),de([j(ne)],he.prototype,"setPlayoutVolume",1),de([j(ne)],he.prototype,"setRemoteAudioVolume",1),de([j(ne)],he.prototype,"setAudioProfile",1),de([j(ne)],he.prototype,"getAudioTrack",1),de([j(ne)],he.prototype,"setLocalViewConfig",1),de([j(ne)],he.prototype,"setCameraCapturerConfiguration",1),de([j(ne)],he.prototype,"setCameraCapturerContentHint",1),de([j(ne)],he.prototype,"enableLocalVideo",1),de([j(ne)],he.prototype,"muteLocalCamera",1),de([j(ne)],he.prototype,"muteLocalScreen",1),de([j(ne)],he.prototype,"setRemoteViewConfig",1),de([j(ne)],he.prototype,"switchCamera",1),de([j()],he.prototype,"startPreview",1),de([j()],he.prototype,"startPreviewScreen",1),de([j()],he.prototype,"stopPreview",1),de([j()],he.prototype,"stopPreviewScreen",1),de([j()],he.prototype,"startPublishLiveStream",1),de([j()],he.prototype,"updatePublishLiveStream",1),de([j()],he.prototype,"updatePublishLiveStreamWithTaskId",1),de([j()],he.prototype,"stopPublishLiveStream",1),de([j()],he.prototype,"stopPublishLiveStreamWithTaskId",1),de([j(ne)],he.prototype,"setEnableMediaExtensionMsg",1),de([j(([s,c,e])=>[s.byteLength,c,e])],he.prototype,"sendMediaExtensionMsgEx",1),de([j(([s,c])=>[s.name||"",c])],he.prototype,"enablePlugin",1),de([j(ne)],he.prototype,"removePlugin",1),de([j(ne)],he.prototype,"setPluginOption",1),de([j(ne)],he.prototype,"getPluginOption",1),de([j(ne)],he.prototype,"setBeautyEffect",1),de([j(ne)],he.prototype,"enableBackgroundExchange",1),de([j(ne)],he.prototype,"enableBackgroundBlur",1),de([j(ne)],he.prototype,"setParameter",1),de([j(([s])=>{var c;return[(c=s.data)==null?void 0:c.byteLength]})],he.prototype,"sendDataChannelMessage",1),de([j(ne)],he,"setLogLevel",1);let Za=he;const Ya=new lr({businessName:"imp-web-rtc",version:(Qa=Za.getSdkVersion())!=null?Qa:"unknown",env:"prod",disabled:window.AliRtcOptionsDisableProxy===!0});Ya.setReady();const du=Ya.wrap(Za);ue.AliRtcConnectionStatus=ke,ue.AliRtcConnectionStatusChangeReason=Yt,ue.AliRtcDataChannelMsg=ei,ue.AliRtcDataMsgType=Cs,ue.AliRtcEngineLocalDeviceExceptionType=He,ue.AliRtcEngineLocalDeviceType=wt,ue.AliRtcErrorCode=te,ue.AliRtcLiveTranscodingAudioSampleRate=Hi,ue.AliRtcLiveTranscodingCropMode=ps,ue.AliRtcLiveTranscodingEncodeParam=vs,ue.AliRtcLiveTranscodingErrorCode=Et,ue.AliRtcLiveTranscodingFontType=Ai,ue.AliRtcLiveTranscodingMediaProcessMode=zi,ue.AliRtcLiveTranscodingMixMode=Si,ue.AliRtcLiveTranscodingMixParam=Ka,ue.AliRtcLiveTranscodingParam=ji,ue.AliRtcLiveTranscodingSegmentType=yi,ue.AliRtcLiveTranscodingSingleParam=$a,ue.AliRtcLiveTranscodingSourceType=oi,ue.AliRtcLiveTranscodingState=ms,ue.AliRtcLiveTranscodingStreamType=ls,ue.AliRtcLiveTranscodingTaskProfile=fs,ue.AliRtcLocalStreamInfo=Ds,ue.AliRtcLogLevel=ds,ue.AliRtcPlugin=Zt,ue.AliRtcPluginTrackType=xi,ue.AliRtcPluginType=Ea,ue.AliRtcPublishState=ve,ue.AliRtcRawDataStreamType=We,ue.AliRtcRemoteUserInfo=Va,ue.AliRtcSdkChannelProfile=Tt,ue.AliRtcSdkClientRole=Mt,ue.AliRtcSubscribeState=Pe,ue.AliRtcTranscodingClockWidget=qa,ue.AliRtcTranscodingImage=Ls,ue.AliRtcTranscodingText=Ja,ue.AliRtcTranscodingUser=Xa,ue.AliRtcTrascodingPublishTaskStatus=gs,ue.AliRtcVideoStreamType=Ge,ue.AliRtcVideoTrack=Ae,ue.default=du,Object.defineProperties(ue,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});