larksr_websdk 3.2.330 → 3.2.332

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 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("larksr_websdk",[],t):"object"==typeof exports?exports.larksr_websdk=t():e.larksr_websdk=t()}(this||self,(function(){return function(){var __webpack_modules__={9719:function(e){"use strict";e.exports=function(e,t){var r=new Array(arguments.length-1),n=0,o=2,i=!0;for(;o<arguments.length;)r[n++]=arguments[o++];return new Promise((function(o,s){r[n]=function(e){if(i)if(i=!1,e)s(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];o.apply(null,t)}};try{e.apply(t||null,r)}catch(e){i&&(i=!1,s(e))}}))}},9209:function(e,t){"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),o=new Array(123),i=0;i<64;)o[n[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;r.encode=function(e,t,r){for(var o,i=null,s=[],a=0,c=0;t<r;){var u=e[t++];switch(c){case 0:s[a++]=n[u>>2],o=(3&u)<<4,c=1;break;case 1:s[a++]=n[o|u>>4],o=(15&u)<<2,c=2;break;case 2:s[a++]=n[o|u>>6],s[a++]=n[63&u],c=0}a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),a=0)}return c&&(s[a++]=n[o],s[a++]=61,1===c&&(s[a++]=61)),i?(a&&i.push(String.fromCharCode.apply(String,s.slice(0,a))),i.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";r.decode=function(e,t,r){for(var n,i=r,a=0,c=0;c<e.length;){var u=e.charCodeAt(c++);if(61===u&&a>1)break;if(void 0===(u=o[u]))throw Error(s);switch(a){case 0:n=u,a=1;break;case 1:t[r++]=n<<2|(48&u)>>4,n=u,a=2;break;case 2:t[r++]=(15&n)<<4|(60&u)>>2,n=u,a=3;break;case 3:t[r++]=(3&n)<<6|u,a=0}}if(1===a)throw Error(s);return r-i},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},2939:function(e){"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this}},8102:function(e){"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3]}function i(e,n,o){t[0]=e,n[o]=r[3],n[o+1]=r[2],n[o+2]=r[1],n[o+3]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function a(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?o:i,e.writeFloatBE=n?i:o,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,r,n){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var i=Math.floor(Math.log(t)/Math.LN2);e((o<<31|i+127<<23|8388607&Math.round(t*Math.pow(2,-i)*8388608))>>>0,r,n)}}function s(e,t,r){var n=e(t,r),o=2*(n>>31)+1,i=n>>>23&255,s=8388607&n;return 255===i?s?NaN:o*(1/0):0===i?1401298464324817e-60*o*s:o*Math.pow(2,i-150)*(s+8388608)}e.writeFloatLE=t.bind(null,r),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,o),e.readFloatBE=s.bind(null,i)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3],n[o+4]=r[4],n[o+5]=r[5],n[o+6]=r[6],n[o+7]=r[7]}function i(e,n,o){t[0]=e,n[o]=r[7],n[o+1]=r[6],n[o+2]=r[5],n[o+3]=r[4],n[o+4]=r[3],n[o+5]=r[2],n[o+6]=r[1],n[o+7]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function a(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?o:i,e.writeDoubleBE=n?i:o,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,r,n,o,i){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,o,i+t),e(1/n>0?0:2147483648,o,i+r);else if(isNaN(n))e(0,o,i+t),e(2146959360,o,i+r);else if(n>17976931348623157e292)e(0,o,i+t),e((s<<31|2146435072)>>>0,o,i+r);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,o,i+t),e((s<<31|a/4294967296)>>>0,o,i+r);else{var c=Math.floor(Math.log(n)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=n*Math.pow(2,-c))>>>0,o,i+t),e((s<<31|c+1023<<20|1048576*a&1048575)>>>0,o,i+r)}}}function s(e,t,r,n,o){var i=e(n,o+t),s=e(n,o+r),a=2*(s>>31)+1,c=s>>>20&2047,u=4294967296*(1048575&s)+i;return 2047===c?u?NaN:a*(1/0):0===c?5e-324*a*u:a*Math.pow(2,c-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,r,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,o,0,4),e.readDoubleBE=s.bind(null,i,4,0)}(),e}function r(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function n(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function o(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function i(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},5879:function(module){"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},9281:function(e){"use strict";e.exports=function(e,t,r){var n=r||8192,o=n>>>1,i=null,s=n;return function(r){if(r<1||r>o)return e(r);s+r>n&&(i=e(n),s=0);var a=t.call(i,s,s+=r);return 7&s&&(s=1+(7|s)),a}}},810:function(e,t){"use strict";var r=t;r.length=function(e){for(var t=0,r=0,n=0;n<e.length;++n)(r=e.charCodeAt(n))<128?t+=1:r<2048?t+=2:55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},r.read=function(e,t,r){if(r-t<1)return"";for(var n,o=null,i=[],s=0;t<r;)(n=e[t++])<128?i[s++]=n:n>191&&n<224?i[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,i[s++]=55296+(n>>10),i[s++]=56320+(1023&n)):i[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o?(s&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))},r.write=function(e,t,r){for(var n,o,i=r,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(o=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&o),++s,t[r++]=n>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-i}},4559:function(e,t,r){e.exports=r(9335)},1786:function(e,t,r){"use strict";var n=r(8266),o=r(5608),i=r(159),s=r(9568),a=r(3943),c=r(8799),u=r(1745),l=r(7979),A=r(9046),d=r(9760);e.exports=function(e){return new Promise((function(t,r){var p,h=e.data,m=e.headers,f=e.responseType;function y(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}n.isFormData(h)&&delete m["Content-Type"];var b=new XMLHttpRequest;if(e.auth){var g=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";m.Authorization="Basic "+btoa(g+":"+v)}var O=a(e.baseURL,e.url);function E(){if(b){var n="getAllResponseHeaders"in b?c(b.getAllResponseHeaders()):null,i={data:f&&"text"!==f&&"json"!==f?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:n,config:e,request:b};o((function(e){t(e),y()}),(function(e){r(e),y()}),i),b=null}}if(b.open(e.method.toUpperCase(),s(O,e.params,e.paramsSerializer),!0),b.timeout=e.timeout,"onloadend"in b?b.onloadend=E:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(E)},b.onabort=function(){b&&(r(l("Request aborted",e,"ECONNABORTED",b)),b=null)},b.onerror=function(){r(l("Network Error",e,null,b)),b=null},b.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",n=e.transitional||A.transitional;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(l(t,e,n.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},n.isStandardBrowserEnv()){var S=(e.withCredentials||u(O))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;S&&(m[e.xsrfHeaderName]=S)}"setRequestHeader"in b&&n.forEach(m,(function(e,t){void 0===h&&"content-type"===t.toLowerCase()?delete m[t]:b.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(b.withCredentials=!!e.withCredentials),f&&"json"!==f&&(b.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&b.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(p=function(e){b&&(r(!e||e&&e.type?new d("canceled"):e),b.abort(),b=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p))),h||(h=null),b.send(h)}))}},9335:function(e,t,r){"use strict";var n=r(8266),o=r(4345),i=r(7929),s=r(650);var a=function e(t){var r=new i(t),a=o(i.prototype.request,r);return n.extend(a,i.prototype,r),n.extend(a,r),a.create=function(r){return e(s(t,r))},a}(r(9046));a.Axios=i,a.Cancel=r(9760),a.CancelToken=r(7510),a.isCancel=r(8825),a.VERSION=r(992).version,a.all=function(e){return Promise.all(e)},a.spread=r(4346),a.isAxiosError=r(3276),e.exports=a,e.exports.default=a},9760:function(e){"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},7510:function(e,t,r){"use strict";var n=r(9760);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;this.promise.then((function(e){if(r._listeners){var t,n=r._listeners.length;for(t=0;t<n;t++)r._listeners[t](e);r._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},o.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},8825:function(e){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},7929:function(e,t,r){"use strict";var n=r(8266),o=r(9568),i=r(5758),s=r(6029),a=r(650),c=r(123),u=c.validators;function l(e){this.defaults=e,this.interceptors={request:new i,response:new i}}l.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&c.assertOptions(t,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(e){i.push(e.fulfilled,e.rejected)})),!n){var l=[s,void 0];for(Array.prototype.unshift.apply(l,r),l=l.concat(i),o=Promise.resolve(e);l.length;)o=o.then(l.shift(),l.shift());return o}for(var A=e;r.length;){var d=r.shift(),p=r.shift();try{A=d(A)}catch(e){p(e);break}}try{o=s(A)}catch(e){return Promise.reject(e)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},l.prototype.getUri=function(e){return e=a(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,r){return this.request(a(r||{},{method:e,url:t,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,r,n){return this.request(a(n||{},{method:e,url:t,data:r}))}})),e.exports=l},5758:function(e,t,r){"use strict";var n=r(8266);function o(){this.handlers=[]}o.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},3943:function(e,t,r){"use strict";var n=r(406),o=r(5027);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},7979:function(e,t,r){"use strict";var n=r(2050);e.exports=function(e,t,r,o,i){var s=new Error(e);return n(s,t,r,o,i)}},6029:function(e,t,r){"use strict";var n=r(8266),o=r(2661),i=r(8825),s=r(9046),a=r(9760);function c(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new a("canceled")}e.exports=function(e){return c(e),e.headers=e.headers||{},e.data=o.call(e,e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||s.adapter)(e).then((function(t){return c(e),t.data=o.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(c(e),t&&t.response&&(t.response.data=o.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},2050:function(e){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},650:function(e,t,r){"use strict";var n=r(8266);e.exports=function(e,t){t=t||{};var r={};function o(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function i(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:o(void 0,e[r]):o(e[r],t[r])}function s(e){if(!n.isUndefined(t[e]))return o(void 0,t[e])}function a(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:o(void 0,e[r]):o(void 0,t[r])}function c(r){return r in t?o(e[r],t[r]):r in e?o(void 0,e[r]):void 0}var u={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c};return n.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=u[e]||i,o=t(e);n.isUndefined(o)&&t!==c||(r[e]=o)})),r}},5608:function(e,t,r){"use strict";var n=r(7979);e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},2661:function(e,t,r){"use strict";var n=r(8266),o=r(9046);e.exports=function(e,t,r){var i=this||o;return n.forEach(r,(function(r){e=r.call(i,e,t)})),e}},9046:function(e,t,r){"use strict";var n=r(8266),o=r(1490),i=r(2050),s={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=r(1786)),c),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)||t&&"application/json"===t["Content-Type"]?(a(t,"application/json"),function(e,t,r){if(n.isString(e))try{return(t||JSON.parse)(e),n.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||u.transitional,r=t&&t.silentJSONParsing,o=t&&t.forcedJSONParsing,s=!r&&"json"===this.responseType;if(s||o&&n.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(s){if("SyntaxError"===e.name)throw i(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){u.headers[e]=n.merge(s)})),e.exports=u},992:function(e){e.exports={version:"0.24.0"}},4345:function(e){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},9568:function(e,t,r){"use strict";var n=r(8266);function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(n.isURLSearchParams(t))i=t.toString();else{var s=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),s.push(o(t)+"="+o(e))})))})),i=s.join("&")}if(i){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},5027:function(e){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},159:function(e,t,r){"use strict";var n=r(8266);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,s){var a=[];a.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(i)&&a.push("domain="+i),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},406:function(e){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},3276:function(e){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},1745:function(e,t,r){"use strict";var n=r(8266);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},1490:function(e,t,r){"use strict";var n=r(8266);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},8799:function(e,t,r){"use strict";var n=r(8266),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,s={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([r]):s[t]?s[t]+", "+r:r}})),s):s}},4346:function(e){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},123:function(e,t,r){"use strict";var n=r(992).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){o[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var i={};o.transitional=function(e,t,r){function o(e,t){return"[Axios v"+n+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,n,s){if(!1===e)throw new Error(o(n," has been removed"+(t?" in "+t:"")));return t&&!i[n]&&(i[n]=!0,console.warn(o(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,s)}},e.exports={assertOptions:function(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],s=t[i];if(s){var a=e[i],c=void 0===a||s(a,i,e);if(!0!==c)throw new TypeError("option "+i+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+i)}},validators:o}},8266:function(e,t,r){"use strict";var n=r(4345),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function s(e){return void 0===e}function a(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return"[object Function]"===o.call(e)}function l(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:i,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!s(e)&&null!==e.constructor&&!s(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:a,isPlainObject:c,isUndefined:s,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:u,isStream:function(e){return a(e)&&u(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:l,merge:function e(){var t={};function r(r,n){c(t[n])&&c(r)?t[n]=e(t[n],r):c(r)?t[n]=e({},r):i(r)?t[n]=r.slice():t[n]=r}for(var n=0,o=arguments.length;n<o;n++)l(arguments[n],r);return t},extend:function(e,t,r){return l(t,(function(t,o){e[o]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},4314:function(e){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=90)}({17:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||""},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||""},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var o=e.getVersionPrecision(t),i=e.getVersionPrecision(r),s=Math.max(o,i),a=0,c=e.map([t,r],(function(t){var r=s-e.getVersionPrecision(t),n=t+new Array(r+1).join(".0");return e.map(n.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(n&&(a=s-Math.min(o,i)),s-=1;s>=a;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===a)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var o=e[r];if(t(o,r))return o}},e.assign=function(e){for(var t,r,n=e,o=arguments.length,i=new Array(o>1?o-1:0),s=1;s<o;s++)i[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(i));var a=function(){var e=i[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=i.length;t<r;t+=1)a();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,r){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(91))&&n.__esModule?n:{default:n},i=r(18);function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var a=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t)},e.parse=function(e){return new o.default(e).getResult()},t=e,n=[{key:"BROWSER_MAP",get:function(){return i.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return i.ENGINE_MAP}},{key:"OS_MAP",get:function(){return i.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return i.PLATFORMS_MAP}}],(r=null)&&s(t.prototype,r),n&&s(t,n),e}();t.default=a,e.exports=t.default},91:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=c(r(92)),o=c(r(93)),i=c(r(94)),s=c(r(95)),a=c(r(17));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(n.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,o={},i=0;if(Object.keys(e).forEach((function(t){var s=e[t];"string"==typeof s?(o[t]=s,i+=1):"object"==typeof s&&(r[t]=s,n+=1)})),n>0){var s=Object.keys(r),c=a.default.find(s,(function(e){return t.isOS(e)}));if(c){var u=this.satisfies(r[c]);if(void 0!==u)return u}var l=a.default.find(s,(function(e){return t.isPlatform(e)}));if(l){var A=this.satisfies(r[l]);if(void 0!==A)return A}}if(i>0){var d=Object.keys(o),p=a.default.find(d,(function(e){return t.isBrowser(e,!0)}));if(void 0!==p)return this.compareVersion(o[p])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(n);return t&&o&&(n=o.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(r=e.substr(1),"="===e[1]?(n=!0,r=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?r=e.substr(1):"~"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(a.default.compareVersions(o,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=u,e.exports=t.default},92:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},r=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},r=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},r=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},r=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},r=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},r=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},r=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},r=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},r=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},r=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},r=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},r=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},r=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},r=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},r=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},r=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},r=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},r=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},r=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},r=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},r=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},r=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},r=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},r=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},r=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},r=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:"Android Browser"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:i.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=o.default.getWindowsVersionName(t);return{name:i.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:i.OS_MAP.iOS},r=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=o.default.getMacOSVersionName(t),n={name:i.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=o.default.getAndroidVersionName(t),n={name:i.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:i.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:i.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",r={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:i.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:i.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:i.ENGINE_MAP.Trident},r=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:i.ENGINE_MAP.Presto},r=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:i.ENGINE_MAP.Gecko},r=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:i.ENGINE_MAP.WebKit},r=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=s,e.exports=t.default}})},2582:function(e,t,r){r(1646),r(6394),r(2004),r(462),r(8407),r(2429),r(1172),r(8288),r(1274),r(8201),r(6626),r(3211),r(9952),r(15),r(9831),r(7521),r(2972),r(6956),r(5222),r(2257);var n=r(1287);e.exports=n.Symbol},8257:function(e,t,r){var n=r(9212),o=r(5637);e.exports=function(e){if(n(e))return e;throw TypeError(o(e)+" is not a function")}},9882:function(e,t,r){var n=r(9212);e.exports=function(e){if("object"==typeof e||n(e))return e;throw TypeError("Can't set "+String(e)+" as a prototype")}},6288:function(e,t,r){var n=r(3649),o=r(3590),i=r(4615),s=n("unscopables"),a=Array.prototype;null==a[s]&&i.f(a,s,{configurable:!0,value:o(null)}),e.exports=function(e){a[s][e]=!0}},2569:function(e,t,r){var n=r(794);e.exports=function(e){if(n(e))return e;throw TypeError(String(e)+" is not an object")}},5766:function(e,t,r){var n=r(2977),o=r(97),i=r(6782),s=function(e){return function(t,r,s){var a,c=n(t),u=o(c.length),l=i(s,u);if(e&&r!=r){for(;u>l;)if((a=c[l++])!=a)return!0}else for(;u>l;l++)if((e||l in c)&&c[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},4805:function(e,t,r){var n=r(2938),o=r(5044),i=r(1324),s=r(97),a=r(4822),c=[].push,u=function(e){var t=1==e,r=2==e,u=3==e,l=4==e,A=6==e,d=7==e,p=5==e||A;return function(h,m,f,y){for(var b,g,v=i(h),O=o(v),E=n(m,f,3),S=s(O.length),R=0,L=y||a,T=t?L(h,S):r||d?L(h,0):void 0;S>R;R++)if((p||R in O)&&(g=E(b=O[R],R,v),e))if(t)T[R]=g;else if(g)switch(e){case 3:return!0;case 5:return b;case 6:return R;case 2:c.call(T,b)}else switch(e){case 4:return!1;case 7:c.call(T,b)}return A?-1:u||l?l:T}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},9269:function(e,t,r){var n=r(6544),o=r(3649),i=r(4061),s=o("species");e.exports=function(e){return i>=51||!n((function(){var t=[];return(t.constructor={})[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},5289:function(e,t,r){var n=r(4521),o=r(2097),i=r(794),s=r(3649)("species");e.exports=function(e){var t;return n(e)&&(t=e.constructor,(o(t)&&(t===Array||n(t.prototype))||i(t)&&null===(t=t[s]))&&(t=void 0)),void 0===t?Array:t}},4822:function(e,t,r){var n=r(5289);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},9624:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},3058:function(e,t,r){var n=r(8191),o=r(9212),i=r(9624),s=r(3649)("toStringTag"),a="Arguments"==i(function(){return arguments}());e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),s))?r:a?i(t):"Object"==(n=i(t))&&o(t.callee)?"Arguments":n}},3478:function(e,t,r){var n=r(4402),o=r(929),i=r(6683),s=r(4615);e.exports=function(e,t){for(var r=o(t),a=s.f,c=i.f,u=0;u<r.length;u++){var l=r[u];n(e,l)||a(e,l,c(t,l))}}},926:function(e,t,r){var n=r(6544);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4683:function(e,t,r){"use strict";var n=r(2365).IteratorPrototype,o=r(3590),i=r(4677),s=r(8821),a=r(339),c=function(){return this};e.exports=function(e,t,r){var u=t+" Iterator";return e.prototype=o(n,{next:i(1,r)}),s(e,u,!1,!0),a[u]=c,e}},57:function(e,t,r){var n=r(8494),o=r(4615),i=r(4677);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},4677:function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},5999:function(e,t,r){"use strict";var n=r(8734),o=r(4615),i=r(4677);e.exports=function(e,t,r){var s=n(t);s in e?o.f(e,s,i(0,r)):e[s]=r}},9012:function(e,t,r){"use strict";var n=r(7263),o=r(6268),i=r(4340),s=r(9212),a=r(4683),c=r(729),u=r(7496),l=r(8821),A=r(57),d=r(1270),p=r(3649),h=r(339),m=r(2365),f=i.PROPER,y=i.CONFIGURABLE,b=m.IteratorPrototype,g=m.BUGGY_SAFARI_ITERATORS,v=p("iterator"),O="keys",E="values",S="entries",R=function(){return this};e.exports=function(e,t,r,i,p,m,L){a(r,t,i);var T,k,C,w=function(e){if(e===p&&x)return x;if(!g&&e in N)return N[e];switch(e){case O:case E:case S:return function(){return new r(this,e)}}return function(){return new r(this)}},M=t+" Iterator",I=!1,N=e.prototype,P=N[v]||N["@@iterator"]||p&&N[p],x=!g&&P||w(p),W="Array"==t&&N.entries||P;if(W&&(T=c(W.call(new e)))!==Object.prototype&&T.next&&(o||c(T)===b||(u?u(T,b):s(T[v])||d(T,v,R)),l(T,M,!0,!0),o&&(h[M]=R)),f&&p==E&&P&&P.name!==E&&(!o&&y?A(N,"name",E):(I=!0,x=function(){return P.call(this)})),p)if(k={values:w(E),keys:m?x:w(O),entries:w(S)},L)for(C in k)(g||I||!(C in N))&&d(N,C,k[C]);else n({target:t,proto:!0,forced:g||I},k);return o&&!L||N[v]===x||d(N,v,x,{name:p}),h[t]=x,k}},2219:function(e,t,r){var n=r(1287),o=r(4402),i=r(491),s=r(4615).f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});o(t,e)||s(t,e,{value:i.f(e)})}},8494:function(e,t,r){var n=r(6544);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},6668:function(e,t,r){var n=r(7583),o=r(794),i=n.document,s=o(i)&&o(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},6778:function(e){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9307:function(e,t,r){var n=r(6668)("span").classList,o=n&&n.constructor&&n.constructor.prototype;e.exports=o===Object.prototype?void 0:o},6918:function(e,t,r){var n=r(5897);e.exports=n("navigator","userAgent")||""},4061:function(e,t,r){var n,o,i=r(7583),s=r(6918),a=i.process,c=i.Deno,u=a&&a.versions||c&&c.version,l=u&&u.v8;l?o=(n=l.split("."))[0]<4?1:n[0]+n[1]:s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(o=n[1]),e.exports=o&&+o},5690:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},7263:function(e,t,r){var n=r(7583),o=r(6683).f,i=r(57),s=r(1270),a=r(460),c=r(3478),u=r(4451);e.exports=function(e,t){var r,l,A,d,p,h=e.target,m=e.global,f=e.stat;if(r=m?n:f?n[h]||a(h,{}):(n[h]||{}).prototype)for(l in t){if(d=t[l],A=e.noTargetGet?(p=o(r,l))&&p.value:r[l],!u(m?l:h+(f?".":"#")+l,e.forced)&&void 0!==A){if(typeof d==typeof A)continue;c(d,A)}(e.sham||A&&A.sham)&&i(d,"sham",!0),s(r,l,d,e)}}},6544:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},2938:function(e,t,r){var n=r(8257);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},4340:function(e,t,r){var n=r(8494),o=r(4402),i=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,a=o(i,"name"),c=a&&"something"===function(){}.name,u=a&&(!n||n&&s(i,"name").configurable);e.exports={EXISTS:a,PROPER:c,CONFIGURABLE:u}},5897:function(e,t,r){var n=r(7583),o=r(9212),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(n[e]):n[e]&&n[e][t]}},911:function(e,t,r){var n=r(8257);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},7583:function(e,t,r){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},4402:function(e,t,r){var n=r(1324),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return o.call(n(e),t)}},4639:function(e){e.exports={}},482:function(e,t,r){var n=r(5897);e.exports=n("document","documentElement")},275:function(e,t,r){var n=r(8494),o=r(6544),i=r(6668);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},5044:function(e,t,r){var n=r(6544),o=r(9624),i="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},9734:function(e,t,r){var n=r(9212),o=r(1314),i=Function.toString;n(o.inspectSource)||(o.inspectSource=function(e){return i.call(e)}),e.exports=o.inspectSource},2743:function(e,t,r){var n,o,i,s=r(9491),a=r(7583),c=r(794),u=r(57),l=r(4402),A=r(1314),d=r(9137),p=r(4639),h="Object already initialized",m=a.WeakMap;if(s||A.state){var f=A.state||(A.state=new m),y=f.get,b=f.has,g=f.set;n=function(e,t){if(b.call(f,e))throw new TypeError(h);return t.facade=e,g.call(f,e,t),t},o=function(e){return y.call(f,e)||{}},i=function(e){return b.call(f,e)}}else{var v=d("state");p[v]=!0,n=function(e,t){if(l(e,v))throw new TypeError(h);return t.facade=e,u(e,v,t),t},o=function(e){return l(e,v)?e[v]:{}},i=function(e){return l(e,v)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},4521:function(e,t,r){var n=r(9624);e.exports=Array.isArray||function(e){return"Array"==n(e)}},9212:function(e){e.exports=function(e){return"function"==typeof e}},2097:function(e,t,r){var n=r(6544),o=r(9212),i=r(3058),s=r(5897),a=r(9734),c=[],u=s("Reflect","construct"),l=/^\s*(?:class|function)\b/,A=l.exec,d=!l.exec((function(){})),p=function(e){if(!o(e))return!1;try{return u(Object,c,e),!0}catch(e){return!1}};e.exports=!u||n((function(){var e;return p(p.call)||!p(Object)||!p((function(){e=!0}))||e}))?function(e){if(!o(e))return!1;switch(i(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return d||!!A.call(l,a(e))}:p},4451:function(e,t,r){var n=r(6544),o=r(9212),i=/#|\.prototype\./,s=function(e,t){var r=c[a(e)];return r==l||r!=u&&(o(t)?n(t):!!t)},a=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=s.data={},u=s.NATIVE="N",l=s.POLYFILL="P";e.exports=s},794:function(e,t,r){var n=r(9212);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},6268:function(e){e.exports=!1},5871:function(e,t,r){var n=r(9212),o=r(5897),i=r(7786);e.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return n(t)&&Object(e)instanceof t}},2365:function(e,t,r){"use strict";var n,o,i,s=r(6544),a=r(9212),c=r(3590),u=r(729),l=r(1270),A=r(3649),d=r(6268),p=A("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(n=o):h=!0),null==n||s((function(){var e={};return n[p].call(e)!==e}))?n={}:d&&(n=c(n)),a(n[p])||l(n,p,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},339:function(e){e.exports={}},8640:function(e,t,r){var n=r(4061),o=r(6544);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},9491:function(e,t,r){var n=r(7583),o=r(9212),i=r(9734),s=n.WeakMap;e.exports=o(s)&&/native code/.test(i(s))},3590:function(e,t,r){var n,o=r(2569),i=r(8728),s=r(5690),a=r(4639),c=r(482),u=r(6668),l=r(9137),A=l("IE_PROTO"),d=function(){},p=function(e){return"<script>"+e+"</"+"script>"},h=function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t},m=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t;m="undefined"!=typeof document?document.domain&&n?h(n):((t=u("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F):h(n);for(var r=s.length;r--;)delete m.prototype[s[r]];return m()};a[A]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(d.prototype=o(e),r=new d,d.prototype=null,r[A]=e):r=m(),void 0===t?r:i(r,t)}},8728:function(e,t,r){var n=r(8494),o=r(4615),i=r(2569),s=r(5432);e.exports=n?Object.defineProperties:function(e,t){i(e);for(var r,n=s(t),a=n.length,c=0;a>c;)o.f(e,r=n[c++],t[r]);return e}},4615:function(e,t,r){var n=r(8494),o=r(275),i=r(2569),s=r(8734),a=Object.defineProperty;t.f=n?a:function(e,t,r){if(i(e),t=s(t),i(r),o)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},6683:function(e,t,r){var n=r(8494),o=r(112),i=r(4677),s=r(2977),a=r(8734),c=r(4402),u=r(275),l=Object.getOwnPropertyDescriptor;t.f=n?l:function(e,t){if(e=s(e),t=a(t),u)try{return l(e,t)}catch(e){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},3130:function(e,t,r){var n=r(2977),o=r(9275).f,i={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(e){return s.slice()}}(e):o(n(e))}},9275:function(e,t,r){var n=r(8356),o=r(5690).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},4012:function(e,t){t.f=Object.getOwnPropertySymbols},729:function(e,t,r){var n=r(4402),o=r(9212),i=r(1324),s=r(9137),a=r(926),c=s("IE_PROTO"),u=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){var t=i(e);if(n(t,c))return t[c];var r=t.constructor;return o(r)&&t instanceof r?r.prototype:t instanceof Object?u:null}},8356:function(e,t,r){var n=r(4402),o=r(2977),i=r(5766).indexOf,s=r(4639);e.exports=function(e,t){var r,a=o(e),c=0,u=[];for(r in a)!n(s,r)&&n(a,r)&&u.push(r);for(;t.length>c;)n(a,r=t[c++])&&(~i(u,r)||u.push(r));return u}},5432:function(e,t,r){var n=r(8356),o=r(5690);e.exports=Object.keys||function(e){return n(e,o)}},112:function(e,t){"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},7496:function(e,t,r){var n=r(2569),o=r(9882);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),t=r instanceof Array}catch(e){}return function(r,i){return n(r),o(i),t?e.call(r,i):r.__proto__=i,r}}():void 0)},3060:function(e,t,r){"use strict";var n=r(8191),o=r(3058);e.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},6252:function(e,t,r){var n=r(9212),o=r(794);e.exports=function(e,t){var r,i;if("string"===t&&n(r=e.toString)&&!o(i=r.call(e)))return i;if(n(r=e.valueOf)&&!o(i=r.call(e)))return i;if("string"!==t&&n(r=e.toString)&&!o(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},929:function(e,t,r){var n=r(5897),o=r(9275),i=r(4012),s=r(2569);e.exports=n("Reflect","ownKeys")||function(e){var t=o.f(s(e)),r=i.f;return r?t.concat(r(e)):t}},1287:function(e,t,r){var n=r(7583);e.exports=n},1270:function(e,t,r){var n=r(7583),o=r(9212),i=r(4402),s=r(57),a=r(460),c=r(9734),u=r(2743),l=r(4340).CONFIGURABLE,A=u.get,d=u.enforce,p=String(String).split("String");(e.exports=function(e,t,r,c){var u,A=!!c&&!!c.unsafe,h=!!c&&!!c.enumerable,m=!!c&&!!c.noTargetGet,f=c&&void 0!==c.name?c.name:t;o(r)&&("Symbol("===String(f).slice(0,7)&&(f="["+String(f).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!i(r,"name")||l&&r.name!==f)&&s(r,"name",f),(u=d(r)).source||(u.source=p.join("string"==typeof f?f:""))),e!==n?(A?!m&&e[t]&&(h=!0):delete e[t],h?e[t]=r:s(e,t,r)):h?e[t]=r:a(t,r)})(Function.prototype,"toString",(function(){return o(this)&&A(this).source||c(this)}))},3955:function(e){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},460:function(e,t,r){var n=r(7583);e.exports=function(e,t){try{Object.defineProperty(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},8821:function(e,t,r){var n=r(4615).f,o=r(4402),i=r(3649)("toStringTag");e.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},9137:function(e,t,r){var n=r(7836),o=r(8284),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},1314:function(e,t,r){var n=r(7583),o=r(460),i="__core-js_shared__",s=n[i]||o(i,{});e.exports=s},7836:function(e,t,r){var n=r(6268),o=r(1314);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.18.1",mode:n?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},6782:function(e,t,r){var n=r(5089),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},2977:function(e,t,r){var n=r(5044),o=r(3955);e.exports=function(e){return n(o(e))}},5089:function(e){var t=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:t)(e)}},97:function(e,t,r){var n=r(5089),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},1324:function(e,t,r){var n=r(3955);e.exports=function(e){return Object(n(e))}},2670:function(e,t,r){var n=r(794),o=r(5871),i=r(911),s=r(6252),a=r(3649)("toPrimitive");e.exports=function(e,t){if(!n(e)||o(e))return e;var r,c=i(e,a);if(c){if(void 0===t&&(t="default"),r=c.call(e,t),!n(r)||o(r))return r;throw TypeError("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},8734:function(e,t,r){var n=r(2670),o=r(5871);e.exports=function(e){var t=n(e,"string");return o(t)?t:String(t)}},8191:function(e,t,r){var n={};n[r(3649)("toStringTag")]="z",e.exports="[object z]"===String(n)},8320:function(e,t,r){var n=r(3058);e.exports=function(e){if("Symbol"===n(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},5637:function(e){e.exports=function(e){try{return String(e)}catch(e){return"Object"}}},8284:function(e){var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+r).toString(36)}},7786:function(e,t,r){var n=r(8640);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},491:function(e,t,r){var n=r(3649);t.f=n},3649:function(e,t,r){var n=r(7583),o=r(7836),i=r(4402),s=r(8284),a=r(8640),c=r(7786),u=o("wks"),l=n.Symbol,A=c?l:l&&l.withoutSetter||s;e.exports=function(e){return i(u,e)&&(a||"string"==typeof u[e])||(a&&i(l,e)?u[e]=l[e]:u[e]=A("Symbol."+e)),u[e]}},1646:function(e,t,r){"use strict";var n=r(7263),o=r(6544),i=r(4521),s=r(794),a=r(1324),c=r(97),u=r(5999),l=r(4822),A=r(9269),d=r(3649),p=r(4061),h=d("isConcatSpreadable"),m=9007199254740991,f="Maximum allowed index exceeded",y=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),b=A("concat"),g=function(e){if(!s(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)};n({target:"Array",proto:!0,forced:!y||!b},{concat:function(e){var t,r,n,o,i,s=a(this),A=l(s,0),d=0;for(t=-1,n=arguments.length;t<n;t++)if(g(i=-1===t?s:arguments[t])){if(d+(o=c(i.length))>m)throw TypeError(f);for(r=0;r<o;r++,d++)r in i&&u(A,d,i[r])}else{if(d>=m)throw TypeError(f);u(A,d++,i)}return A.length=d,A}})},5677:function(e,t,r){"use strict";var n=r(2977),o=r(6288),i=r(339),s=r(2743),a=r(9012),c="Array Iterator",u=s.set,l=s.getterFor(c);e.exports=a(Array,"Array",(function(e,t){u(this,{type:c,target:n(e),index:0,kind:t})}),(function(){var e=l(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},6956:function(e,t,r){var n=r(7583);r(8821)(n.JSON,"JSON",!0)},5222:function(e,t,r){r(8821)(Math,"Math",!0)},6394:function(e,t,r){var n=r(8191),o=r(1270),i=r(3060);n||o(Object.prototype,"toString",i,{unsafe:!0})},2257:function(e,t,r){var n=r(7263),o=r(7583),i=r(8821);n({global:!0},{Reflect:{}}),i(o.Reflect,"Reflect",!0)},462:function(e,t,r){r(2219)("asyncIterator")},8407:function(e,t,r){"use strict";var n=r(7263),o=r(8494),i=r(7583),s=r(4402),a=r(9212),c=r(794),u=r(4615).f,l=r(3478),A=i.Symbol;if(o&&a(A)&&(!("description"in A.prototype)||void 0!==A().description)){var d={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new A(e):void 0===e?A():A(e);return""===e&&(d[t]=!0),t};l(p,A);var h=p.prototype=A.prototype;h.constructor=p;var m=h.toString,f="Symbol(test)"==String(A("test")),y=/^Symbol\((.*)\)[^)]+$/;u(h,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=m.call(e);if(s(d,e))return"";var r=f?t.slice(7,-1):t.replace(y,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:p})}},2429:function(e,t,r){r(2219)("hasInstance")},1172:function(e,t,r){r(2219)("isConcatSpreadable")},8288:function(e,t,r){r(2219)("iterator")},2004:function(e,t,r){"use strict";var n=r(7263),o=r(7583),i=r(5897),s=r(6268),a=r(8494),c=r(8640),u=r(6544),l=r(4402),A=r(4521),d=r(9212),p=r(794),h=r(5871),m=r(2569),f=r(1324),y=r(2977),b=r(8734),g=r(8320),v=r(4677),O=r(3590),E=r(5432),S=r(9275),R=r(3130),L=r(4012),T=r(6683),k=r(4615),C=r(112),w=r(1270),M=r(7836),I=r(9137),N=r(4639),P=r(8284),x=r(3649),W=r(491),V=r(2219),D=r(8821),j=r(2743),Z=r(4805).forEach,X=I("hidden"),z="Symbol",q=x("toPrimitive"),U=j.set,F=j.getterFor(z),_=Object.prototype,G=o.Symbol,B=i("JSON","stringify"),K=T.f,J=k.f,Y=R.f,Q=C.f,H=M("symbols"),$=M("op-symbols"),ee=M("string-to-symbol-registry"),te=M("symbol-to-string-registry"),re=M("wks"),ne=o.QObject,oe=!ne||!ne.prototype||!ne.prototype.findChild,ie=a&&u((function(){return 7!=O(J({},"a",{get:function(){return J(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=K(_,t);n&&delete _[t],J(e,t,r),n&&e!==_&&J(_,t,n)}:J,se=function(e,t){var r=H[e]=O(G.prototype);return U(r,{type:z,tag:e,description:t}),a||(r.description=t),r},ae=function(e,t,r){e===_&&ae($,t,r),m(e);var n=b(t);return m(r),l(H,n)?(r.enumerable?(l(e,X)&&e[X][n]&&(e[X][n]=!1),r=O(r,{enumerable:v(0,!1)})):(l(e,X)||J(e,X,v(1,{})),e[X][n]=!0),ie(e,n,r)):J(e,n,r)},ce=function(e,t){m(e);var r=y(t),n=E(r).concat(de(r));return Z(n,(function(t){a&&!ue.call(r,t)||ae(e,t,r[t])})),e},ue=function(e){var t=b(e),r=Q.call(this,t);return!(this===_&&l(H,t)&&!l($,t))&&(!(r||!l(this,t)||!l(H,t)||l(this,X)&&this[X][t])||r)},le=function(e,t){var r=y(e),n=b(t);if(r!==_||!l(H,n)||l($,n)){var o=K(r,n);return!o||!l(H,n)||l(r,X)&&r[X][n]||(o.enumerable=!0),o}},Ae=function(e){var t=Y(y(e)),r=[];return Z(t,(function(e){l(H,e)||l(N,e)||r.push(e)})),r},de=function(e){var t=e===_,r=Y(t?$:y(e)),n=[];return Z(r,(function(e){!l(H,e)||t&&!l(_,e)||n.push(H[e])})),n};(c||(G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?g(arguments[0]):void 0,t=P(e),r=function(e){this===_&&r.call($,e),l(this,X)&&l(this[X],t)&&(this[X][t]=!1),ie(this,t,v(1,e))};return a&&oe&&ie(_,t,{configurable:!0,set:r}),se(t,e)},w(G.prototype,"toString",(function(){return F(this).tag})),w(G,"withoutSetter",(function(e){return se(P(e),e)})),C.f=ue,k.f=ae,T.f=le,S.f=R.f=Ae,L.f=de,W.f=function(e){return se(x(e),e)},a&&(J(G.prototype,"description",{configurable:!0,get:function(){return F(this).description}}),s||w(_,"propertyIsEnumerable",ue,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:G}),Z(E(re),(function(e){V(e)})),n({target:z,stat:!0,forced:!c},{for:function(e){var t=g(e);if(l(ee,t))return ee[t];var r=G(t);return ee[t]=r,te[r]=t,r},keyFor:function(e){if(!h(e))throw TypeError(e+" is not a symbol");if(l(te,e))return te[e]},useSetter:function(){oe=!0},useSimple:function(){oe=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!a},{create:function(e,t){return void 0===t?O(e):ce(O(e),t)},defineProperty:ae,defineProperties:ce,getOwnPropertyDescriptor:le}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:Ae,getOwnPropertySymbols:de}),n({target:"Object",stat:!0,forced:u((function(){L.f(1)}))},{getOwnPropertySymbols:function(e){return L.f(f(e))}}),B)&&n({target:"JSON",stat:!0,forced:!c||u((function(){var e=G();return"[null]"!=B([e])||"{}"!=B({a:e})||"{}"!=B(Object(e))}))},{stringify:function(e,t,r){for(var n,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=t,(p(t)||void 0!==e)&&!h(e))return A(t)||(t=function(e,t){if(d(n)&&(t=n.call(this,e,t)),!h(t))return t}),o[1]=t,B.apply(null,o)}});if(!G.prototype[q]){var pe=G.prototype.valueOf;w(G.prototype,q,(function(){return pe.apply(this,arguments)}))}D(G,z),N[X]=!0},8201:function(e,t,r){r(2219)("matchAll")},1274:function(e,t,r){r(2219)("match")},6626:function(e,t,r){r(2219)("replace")},3211:function(e,t,r){r(2219)("search")},9952:function(e,t,r){r(2219)("species")},15:function(e,t,r){r(2219)("split")},9831:function(e,t,r){r(2219)("toPrimitive")},7521:function(e,t,r){r(2219)("toStringTag")},2972:function(e,t,r){r(2219)("unscopables")},4655:function(e,t,r){var n=r(7583),o=r(6778),i=r(9307),s=r(5677),a=r(57),c=r(3649),u=c("iterator"),l=c("toStringTag"),A=s.values,d=function(e,t){if(e){if(e[u]!==A)try{a(e,u,A)}catch(t){e[u]=A}if(e[l]||a(e,l,t),o[t])for(var r in s)if(e[r]!==s[r])try{a(e,r,s[r])}catch(t){e[r]=s[r]}}};for(var p in o)d(n[p]&&n[p].prototype,p);d(i,"DOMTokenList")},5441:function(e,t,r){var n=r(2582);r(4655),e.exports=n},1919:function(e){e.exports=function(){function e(t,r,n){function o(s,a){if(!r[s]){if(!t[s]){if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[s]={exports:{}};t[s][0].call(u.exports,(function(e){return o(t[s][1][e]||e)}),u,u.exports,e,t,r,n)}return r[s].exports}for(var i=void 0,s=0;s<n.length;s++)o(n[s]);return o}return e}()({1:[function(e,t,r){"use strict";t.exports=function(){if("undefined"==typeof window||"undefined"==typeof navigator)return function(){return 0};if(!navigator.userAgent.match(/iphone|ipod|ipad/i))return function(){return window.innerHeight};var e,t=Math.abs(window.orientation),r={w:0,h:0};return(e=document.createElement("div")).style.position="fixed",e.style.height="100vh",e.style.width=0,e.style.top=0,document.documentElement.appendChild(e),r.w=90===t?e.offsetHeight:window.innerWidth,r.h=90===t?window.innerWidth:e.offsetHeight,document.documentElement.removeChild(e),e=null,function(){return 90!==Math.abs(window.orientation)?r.h:r.w}}()},{}]},{},[1])(1)},3570:function(e,t,r){"use strict";e.exports=r(3040)},3040:function(e,t,r){"use strict";var n=t;function o(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=r(1227),n.BufferWriter=r(5894),n.Reader=r(5747),n.BufferReader=r(3241),n.util=r(1731),n.rpc=r(320),n.roots=r(3492),n.configure=o,o()},5747:function(e,t,r){"use strict";e.exports=c;var n,o=r(1731),i=o.LongBits,s=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},A=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function d(){var e=new i(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function p(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw a(this,8);return new i(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.create=A(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){n=e,c.create=A(),n._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return d.call(this)[t](!1)},uint64:function(){return d.call(this)[t](!0)},sint64:function(){return d.call(this).zzDecode()[t](!1)},fixed64:function(){return h.call(this)[t](!0)},sfixed64:function(){return h.call(this)[t](!1)}})}},3241:function(e,t,r){"use strict";e.exports=i;var n=r(5747);(i.prototype=Object.create(n.prototype)).constructor=i;var o=r(1731);function i(e){n.call(this,e)}i._configure=function(){o.Buffer&&(i.prototype._slice=o.Buffer.prototype.slice)},i.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},i._configure()},3492:function(e){"use strict";e.exports={}},320:function(e,t,r){"use strict";t.Service=r(4006)},4006:function(e,t,r){"use strict";e.exports=o;var n=r(1731);function o(e,t,r){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(o.prototype=Object.create(n.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,r,o,i,s){if(!i)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,r,o,i);if(a.rpcImpl)try{return a.rpcImpl(t,r[a.requestDelimited?"encodeDelimited":"encode"](i).finish(),(function(e,r){if(e)return a.emit("error",e,t),s(e);if(null!==r){if(!(r instanceof o))try{r=o[a.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",r,t),s(null,r)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){s(e)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},5002:function(e,t,r){"use strict";e.exports=o;var n=r(1731);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var i=o.zero=new o(0,0);i.toNumber=function(){return 0},i.zzEncode=i.zzDecode=function(){return this},i.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return i;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new o(r,n)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(n.isString(e)){if(!n.Long)return o.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):i},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===s?i:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},1731:function(e,t,r){"use strict";var n=t;function o(e,t,r){for(var n=Object.keys(t),o=0;o<n.length;++o)void 0!==e[n[o]]&&r||(e[n[o]]=t[n[o]]);return e}function i(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&o(this,r)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}n.asPromise=r(9719),n.base64=r(9209),n.EventEmitter=r(2939),n.float=r(8102),n.inquire=r(5879),n.utf8=r(810),n.pool=r(9281),n.LongBits=r(5002),n.isNode=Boolean(void 0!==r.g&&r.g&&r.g.process&&r.g.process.versions&&r.g.process.versions.node),n.global=n.isNode&&r.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"==typeof e||e instanceof String},n.isObject=function(e){return e&&"object"==typeof e},n.isset=n.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!=typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=o,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=i,n.ProtocolError=i("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},1227:function(e,t,r){"use strict";e.exports=A;var n,o=r(1731),i=o.LongBits,s=o.base64,a=o.utf8;function c(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function u(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function A(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var d=function(){return o.Buffer?function(){return(A.create=function(){return new n})()}:function(){return new A}};function p(e,t,r){t[r]=255&e}function h(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function f(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}A.create=d(),A.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(A.alloc=o.pool(A.alloc,o.Array.prototype.subarray)),A.prototype._push=function(e,t,r){return this.tail=this.tail.next=new c(e,t,r),this.len+=t,this},h.prototype=Object.create(c.prototype),h.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},A.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new h((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},A.prototype.int32=function(e){return e<0?this._push(m,10,i.fromNumber(e)):this.uint32(e)},A.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},A.prototype.uint64=function(e){var t=i.from(e);return this._push(m,t.length(),t)},A.prototype.int64=A.prototype.uint64,A.prototype.sint64=function(e){var t=i.from(e).zzEncode();return this._push(m,t.length(),t)},A.prototype.bool=function(e){return this._push(p,1,e?1:0)},A.prototype.fixed32=function(e){return this._push(f,4,e>>>0)},A.prototype.sfixed32=A.prototype.fixed32,A.prototype.fixed64=function(e){var t=i.from(e);return this._push(f,4,t.lo)._push(f,4,t.hi)},A.prototype.sfixed64=A.prototype.fixed64,A.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},A.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var y=o.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};A.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(o.isString(e)){var r=A.alloc(t=s.length(e));s.decode(e,r,0),e=r}return this.uint32(t)._push(y,t,e)},A.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},A.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new c(u,0,0),this.len=0,this},A.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},A.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},A.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},A._configure=function(e){n=e,A.create=d(),n._configure()}},5894:function(e,t,r){"use strict";e.exports=i;var n=r(1227);(i.prototype=Object.create(n.prototype)).constructor=i;var o=r(1731);function i(){n.call(this)}function s(e,t,r){e.length<40?o.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}i._configure=function(){i.alloc=o._Buffer_allocUnsafe,i.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},i.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(i.writeBytesBuffer,t,e),this},i.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},i._configure()},9169:function(e){"use strict";const t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((e=>e.trim()))},t.splitSections=function(e){return e.split("\nm=").map(((e,t)=>(t>0?"m="+e:e).trim()+"\r\n"))},t.getDescription=function(e){const r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){const r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter((e=>0===e.indexOf(r)))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const r={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e<t.length;e+=2)switch(t[e]){case"raddr":r.relatedAddress=t[e+1];break;case"rport":r.relatedPort=parseInt(t[e+1],10);break;case"tcptype":r.tcpType=t[e+1];break;case"ufrag":r.ufrag=t[e+1],r.usernameFragment=t[e+1];break;default:void 0===r[t[e]]&&(r[t[e]]=t[e+1])}return r},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const r=e.component;"rtp"===r?t.push(1):"rtcp"===r?t.push(2):t.push(r),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const n=e.type;return t.push("typ"),t.push(n),"host"!==n&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){let t=e.substr(9).split(" ");const r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){const t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},t.parseFmtp=function(e){const t={};let r;const n=e.substr(e.indexOf(" ")+1).split(";");for(let e=0;e<n.length;e++)r=n[e].trim().split("="),t[r[0].trim()]=r[1];return t},t.writeFmtp=function(e){let t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const n=[];Object.keys(e.parameters).forEach((t=>{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},t.parseSsrcGroup=function(e){const t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substr(6)},t.parseFingerprint=function(e){const t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((e=>{r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},t.parseCryptoLine=function(e){const t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){const n=t.matchPrefix(e+r,"a=ice-ufrag:")[0],o=t.matchPrefix(e+r,"a=ice-pwd:")[0];return n&&o?{usernameFragment:n.substr(12),password:o.substr(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");for(let o=3;o<n.length;o++){const i=n[o],s=t.matchPrefix(e,"a=rtpmap:"+i+" ")[0];if(s){const n=t.parseRtpMap(s),o=t.matchPrefix(e,"a=fmtp:"+i+" ");switch(n.parameters=o.length?t.parseFmtp(o[0]):{},n.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+i+" ").map(t.parseRtcpFb),r.codecs.push(n),n.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(n.name.toUpperCase())}}}return t.matchPrefix(e,"a=extmap:").forEach((e=>{r.headerExtensions.push(t.parseExtmap(e))})),r},t.writeRtpDescription=function(e,r){let n="";n+="m="+e+" ",n+=r.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=r.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let o=0;return r.codecs.forEach((e=>{e.maxptime>o&&(o=e.maxptime)})),o>0&&(n+="a=maxptime:"+o+"\r\n"),r.headerExtensions&&r.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const r=[],n=t.parseRtpParameters(e),o=-1!==n.fecMechanisms.indexOf("RED"),i=-1!==n.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const u=t.matchPrefix(e,"a=ssrc-group:FID").map((e=>e.substr(17).split(" ").map((e=>parseInt(e,10)))));u.length>0&&u[0].length>1&&u[0][0]===a&&(c=u[0][1]),n.codecs.forEach((e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),r.push(t),o&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:i?"red+ulpfec":"red"},r.push(t))}})),0===r.length&&a&&r.push({ssrc:a});let l=t.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,r.forEach((e=>{e.maxBitrate=l}))),r},t.parseRtcpParameters=function(e){const r={},n=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute))[0];n&&(r.cname=n.value,r.ssrc=n.ssrc);const o=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=o.length>0,r.compound=0===o.length;const i=t.matchPrefix(e,"a=rtcp-mux");return r.mux=i.length>0,r},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let r;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return r=n[0].substr(7).split(" "),{stream:r[0],track:r[1]};const o=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"msid"===e.attribute));return o.length>0?(r=o[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(e){const r=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let o;n.length>0&&(o=parseInt(n[0].substr(19),10)),isNaN(o)&&(o=65536);const i=t.matchPrefix(e,"a=sctp-port:");if(i.length>0)return{port:parseInt(i[0].substr(12),10),protocol:r.fmt,maxMessageSize:o};const s=t.matchPrefix(e,"a=sctpmap:");if(s.length>0){const e=s[0].substr(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:o}}},t.writeSctpDescription=function(e,t){let r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,21)},t.writeSessionBoilerplate=function(e,r,n){let o;const i=void 0!==r?r:2;o=e||t.generateSessionId();return"v=0\r\no="+(n||"thisisadapterortc")+" "+o+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,r){const n=t.splitLines(e);for(let e=0;e<n.length;e++)switch(n[e]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[e].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substr(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){const r=t.splitLines(e)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){const r=t.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const r=t.splitLines(e);for(let e=0;e<r.length;e++)if(r[e].length<2||"="!==r[e].charAt(1))return!1;return!0},e.exports=t},1458:function(e){var t;t=window,e.exports=function(e,t){if(!e.jWeixin){var r,n={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},o=function(){var e={};for(var t in n)e[n[t]]=t;return e}(),i=e.document,s=i.title,a=navigator.userAgent.toLowerCase(),c=navigator.platform.toLowerCase(),u=!(!c.match("mac")&&!c.match("win")),l=-1!=a.indexOf("wxdebugger"),A=-1!=a.indexOf("micromessenger"),d=-1!=a.indexOf("android"),p=-1!=a.indexOf("iphone")||-1!=a.indexOf("ipad"),h=(r=a.match(/micromessenger\/(\d+\.\d+\.\d+)/)||a.match(/micromessenger\/(\d+\.\d+)/))?r[1]:"",m={initStartTime:N(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},f={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:p?1:d?2:-1,clientVersion:h,url:encodeURIComponent(location.href)},y={},b={_completes:[]},g={state:0,data:{}};P((function(){m.initEndTime=N()}));var v=!1,O=[],E={config:function(t){I("config",y=t);var r=!1!==y.check;P((function(){if(r)L(n.config,{verifyJsApiList:M(y.jsApiList),verifyOpenTagList:M(y.openTagList)},function(){b._complete=function(e){m.preVerifyEndTime=N(),g.state=1,g.data=e},b.success=function(e){f.isPreVerifyOk=0},b.fail=function(e){b._fail?b._fail(e):g.state=-1};var e=b._completes;return e.push((function(){!function(){if(!(u||l||y.debug||h<"6.0.2"||f.systemType<0)){var e=new Image;f.appId=y.appId,f.initTime=m.initEndTime-m.initStartTime,f.preVerifyTime=m.preVerifyEndTime-m.preVerifyStartTime,E.getNetworkType({isInnerInvoke:!0,success:function(t){f.networkType=t.networkType;var r="https://open.weixin.qq.com/sdk/report?v="+f.version+"&o="+f.isPreVerifyOk+"&s="+f.systemType+"&c="+f.clientVersion+"&a="+f.appId+"&n="+f.networkType+"&i="+f.initTime+"&p="+f.preVerifyTime+"&u="+f.url;e.src=r}})}}()})),b.complete=function(t){for(var r=0,n=e.length;r<n;++r)e[r]();b._completes=[]},b}()),m.preVerifyStartTime=N();else{g.state=1;for(var e=b._completes,t=0,o=e.length;t<o;++t)e[t]();b._completes=[]}})),E.invoke||(E.invoke=function(t,r,n){e.WeixinJSBridge&&WeixinJSBridge.invoke(t,k(r),n)},E.on=function(t,r){e.WeixinJSBridge&&WeixinJSBridge.on(t,r)})},ready:function(e){0!=g.state?e():(b._completes.push(e),!A&&y.debug&&e())},error:function(e){h<"6.0.2"||(-1==g.state?e(g.data):b._fail=e)},checkJsApi:function(e){L("checkJsApi",{jsApiList:M(e.jsApiList)},(e._complete=function(e){if(d){var t=e.checkResult;t&&(e.checkResult=JSON.parse(t))}e=function(e){var t=e.checkResult;for(var r in t){var n=o[r];n&&(t[n]=t[r],delete t[r])}return e}(e)},e))},onMenuShareTimeline:function(e){T(n.onMenuShareTimeline,{complete:function(){L("shareTimeline",{title:e.title||s,desc:e.title||s,img_url:e.imgUrl||"",link:e.link||location.href,type:e.type||"link",data_url:e.dataUrl||""},e)}},e)},onMenuShareAppMessage:function(e){T(n.onMenuShareAppMessage,{complete:function(t){"favorite"===t.scene?L("sendAppMessage",{title:e.title||s,desc:e.desc||"",link:e.link||location.href,img_url:e.imgUrl||"",type:e.type||"link",data_url:e.dataUrl||""}):L("sendAppMessage",{title:e.title||s,desc:e.desc||"",link:e.link||location.href,img_url:e.imgUrl||"",type:e.type||"link",data_url:e.dataUrl||""},e)}},e)},onMenuShareQQ:function(e){T(n.onMenuShareQQ,{complete:function(){L("shareQQ",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},onMenuShareWeibo:function(e){T(n.onMenuShareWeibo,{complete:function(){L("shareWeiboApp",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},onMenuShareQZone:function(e){T(n.onMenuShareQZone,{complete:function(){L("shareQZone",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},updateTimelineShareData:function(e){L("updateTimelineShareData",{title:e.title,link:e.link,imgUrl:e.imgUrl},e)},updateAppMessageShareData:function(e){L("updateAppMessageShareData",{title:e.title,desc:e.desc,link:e.link,imgUrl:e.imgUrl},e)},startRecord:function(e){L("startRecord",{},e)},stopRecord:function(e){L("stopRecord",{},e)},onVoiceRecordEnd:function(e){T("onVoiceRecordEnd",e)},playVoice:function(e){L("playVoice",{localId:e.localId},e)},pauseVoice:function(e){L("pauseVoice",{localId:e.localId},e)},stopVoice:function(e){L("stopVoice",{localId:e.localId},e)},onVoicePlayEnd:function(e){T("onVoicePlayEnd",e)},uploadVoice:function(e){L("uploadVoice",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadVoice:function(e){L("downloadVoice",{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},translateVoice:function(e){L("translateVoice",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},chooseImage:function(e){L("chooseImage",{scene:"1|2",count:e.count||9,sizeType:e.sizeType||["original","compressed"],sourceType:e.sourceType||["album","camera"]},(e._complete=function(e){if(d){var t=e.localIds;try{t&&(e.localIds=JSON.parse(t))}catch(e){}}},e))},getLocation:function(e){},previewImage:function(e){L(n.previewImage,{current:e.current,urls:e.urls},e)},uploadImage:function(e){L("uploadImage",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadImage:function(e){L("downloadImage",{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},getLocalImgData:function(e){!1===v?(v=!0,L("getLocalImgData",{localId:e.localId},(e._complete=function(e){if(v=!1,0<O.length){var t=O.shift();wx.getLocalImgData(t)}},e))):O.push(e)},getNetworkType:function(e){L("getNetworkType",{},(e._complete=function(e){e=function(e){var t=e.errMsg;e.errMsg="getNetworkType:ok";var r=e.subtype;if(delete e.subtype,r)e.networkType=r;else{var n=t.indexOf(":"),o=t.substring(n+1);switch(o){case"wifi":case"edge":case"wwan":e.networkType=o;break;default:e.errMsg="getNetworkType:fail"}}return e}(e)},e))},openLocation:function(e){L("openLocation",{latitude:e.latitude,longitude:e.longitude,name:e.name||"",address:e.address||"",scale:e.scale||28,infoUrl:e.infoUrl||""},e)},getLocation:function(e){L(n.getLocation,{type:(e=e||{}).type||"wgs84"},(e._complete=function(e){delete e.type},e))},hideOptionMenu:function(e){L("hideOptionMenu",{},e)},showOptionMenu:function(e){L("showOptionMenu",{},e)},closeWindow:function(e){L("closeWindow",{},e=e||{})},hideMenuItems:function(e){L("hideMenuItems",{menuList:e.menuList},e)},showMenuItems:function(e){L("showMenuItems",{menuList:e.menuList},e)},hideAllNonBaseMenuItem:function(e){L("hideAllNonBaseMenuItem",{},e)},showAllNonBaseMenuItem:function(e){L("showAllNonBaseMenuItem",{},e)},scanQRCode:function(e){L("scanQRCode",{needResult:(e=e||{}).needResult||0,scanType:e.scanType||["qrCode","barCode"]},(e._complete=function(e){if(p){var t=e.resultStr;if(t){var r=JSON.parse(t);e.resultStr=r&&r.scan_code&&r.scan_code.scan_result}}},e))},openAddress:function(e){L(n.openAddress,{},(e._complete=function(e){e=function(e){return e.postalCode=e.addressPostalCode,delete e.addressPostalCode,e.provinceName=e.proviceFirstStageName,delete e.proviceFirstStageName,e.cityName=e.addressCitySecondStageName,delete e.addressCitySecondStageName,e.countryName=e.addressCountiesThirdStageName,delete e.addressCountiesThirdStageName,e.detailInfo=e.addressDetailInfo,delete e.addressDetailInfo,e}(e)},e))},openProductSpecificView:function(e){L(n.openProductSpecificView,{pid:e.productId,view_type:e.viewType||0,ext_info:e.extInfo},e)},addCard:function(e){for(var t=e.cardList,r=[],o=0,i=t.length;o<i;++o){var s=t[o],a={card_id:s.cardId,card_ext:s.cardExt};r.push(a)}L(n.addCard,{card_list:r},(e._complete=function(e){var t=e.card_list;if(t){for(var r=0,n=(t=JSON.parse(t)).length;r<n;++r){var o=t[r];o.cardId=o.card_id,o.cardExt=o.card_ext,o.isSuccess=!!o.is_succ,delete o.card_id,delete o.card_ext,delete o.is_succ}e.cardList=t,delete e.card_list}},e))},chooseCard:function(e){L("chooseCard",{app_id:y.appId,location_id:e.shopId||"",sign_type:e.signType||"SHA1",card_id:e.cardId||"",card_type:e.cardType||"",card_sign:e.cardSign,time_stamp:e.timestamp+"",nonce_str:e.nonceStr},(e._complete=function(e){e.cardList=e.choose_card_info,delete e.choose_card_info},e))},openCard:function(e){for(var t=e.cardList,r=[],o=0,i=t.length;o<i;++o){var s=t[o],a={card_id:s.cardId,code:s.code};r.push(a)}L(n.openCard,{card_list:r},e)},consumeAndShareCard:function(e){L(n.consumeAndShareCard,{consumedCardId:e.cardId,consumedCode:e.code},e)},chooseWXPay:function(e){L(n.chooseWXPay,C(e),e)},openEnterpriseRedPacket:function(e){L(n.openEnterpriseRedPacket,C(e),e)},startSearchBeacons:function(e){L(n.startSearchBeacons,{ticket:e.ticket},e)},stopSearchBeacons:function(e){L(n.stopSearchBeacons,{},e)},onSearchBeacons:function(e){T(n.onSearchBeacons,e)},openEnterpriseChat:function(e){L("openEnterpriseChat",{useridlist:e.userIds,chatname:e.groupName},e)},launchMiniProgram:function(e){L("launchMiniProgram",{targetAppId:e.targetAppId,path:function(e){if("string"==typeof e&&0<e.length){var t=e.split("?")[0],r=e.split("?")[1];return t+=".html",void 0!==r?t+"?"+r:t}}(e.path),envVersion:e.envVersion},e)},openBusinessView:function(e){L("openBusinessView",{businessType:e.businessType,queryString:e.queryString||"",envVersion:e.envVersion},(e._complete=function(e){if(d){var t=e.extraData;if(t)try{e.extraData=JSON.parse(t)}catch(t){e.extraData={}}}},e))},miniProgram:{navigateBack:function(e){e=e||{},P((function(){L("invokeMiniProgramAPI",{name:"navigateBack",arg:{delta:e.delta||1}},e)}))},navigateTo:function(e){P((function(){L("invokeMiniProgramAPI",{name:"navigateTo",arg:{url:e.url}},e)}))},redirectTo:function(e){P((function(){L("invokeMiniProgramAPI",{name:"redirectTo",arg:{url:e.url}},e)}))},switchTab:function(e){P((function(){L("invokeMiniProgramAPI",{name:"switchTab",arg:{url:e.url}},e)}))},reLaunch:function(e){P((function(){L("invokeMiniProgramAPI",{name:"reLaunch",arg:{url:e.url}},e)}))},postMessage:function(e){P((function(){L("invokeMiniProgramAPI",{name:"postMessage",arg:e.data||{}},e)}))},getEnv:function(t){P((function(){t({miniprogram:"miniprogram"===e.__wxjs_environment})}))}}},S=1,R={};return i.addEventListener("error",(function(e){if(!d){var t=e.target,r=t.tagName,n=t.src;if(("IMG"==r||"VIDEO"==r||"AUDIO"==r||"SOURCE"==r)&&-1!=n.indexOf("wxlocalresource://")){e.preventDefault(),e.stopPropagation();var o=t["wx-id"];if(o||(o=S++,t["wx-id"]=o),R[o])return;R[o]=!0,wx.ready((function(){wx.getLocalImgData({localId:n,success:function(e){t.src=e.localData}})}))}}}),!0),i.addEventListener("load",(function(e){if(!d){var t=e.target,r=t.tagName;if(t.src,"IMG"==r||"VIDEO"==r||"AUDIO"==r||"SOURCE"==r){var n=t["wx-id"];n&&(R[n]=!1)}}}),!0),t&&(e.wx=e.jWeixin=E),E}function L(t,r,n){e.WeixinJSBridge?WeixinJSBridge.invoke(t,k(r),(function(e){w(t,e,n)})):I(t,n)}function T(t,r,n){e.WeixinJSBridge?WeixinJSBridge.on(t,(function(e){n&&n.trigger&&n.trigger(e),w(t,e,r)})):I(t,n||r)}function k(e){return(e=e||{}).appId=y.appId,e.verifyAppId=y.appId,e.verifySignType="sha1",e.verifyTimestamp=y.timestamp+"",e.verifyNonceStr=y.nonceStr,e.verifySignature=y.signature,e}function C(e){return{timeStamp:e.timestamp+"",nonceStr:e.nonceStr,package:e.package,paySign:e.paySign,signType:e.signType||"SHA1"}}function w(e,t,r){"openEnterpriseChat"!=e&&"openBusinessView"!==e||(t.errCode=t.err_code),delete t.err_code,delete t.err_desc,delete t.err_detail;var n=t.errMsg;n||(n=t.err_msg,delete t.err_msg,n=function(e,t){var r=e,n=o[r];n&&(r=n);var i="ok";if(t){var s=t.indexOf(":");"confirm"==(i=t.substring(s+1))&&(i="ok"),"failed"==i&&(i="fail"),-1!=i.indexOf("failed_")&&(i=i.substring(7)),-1!=i.indexOf("fail_")&&(i=i.substring(5)),"access denied"!=(i=(i=i.replace(/_/g," ")).toLowerCase())&&"no permission to execute"!=i||(i="permission denied"),"config"==r&&"function not exist"==i&&(i="ok"),""==i&&(i="fail")}return r+":"+i}(e,n),t.errMsg=n),(r=r||{})._complete&&(r._complete(t),delete r._complete),n=t.errMsg||"",y.debug&&!r.isInnerInvoke&&alert(JSON.stringify(t));var i=n.indexOf(":");switch(n.substring(i+1)){case"ok":r.success&&r.success(t);break;case"cancel":r.cancel&&r.cancel(t);break;default:r.fail&&r.fail(t)}r.complete&&r.complete(t)}function M(e){if(e){for(var t=0,r=e.length;t<r;++t){var o=e[t],i=n[o];i&&(e[t]=i)}return e}}function I(e,t){if(!(!y.debug||t&&t.isInnerInvoke)){var r=o[e];r&&(e=r),t&&t._complete&&delete t._complete,console.log('"'+e+'",',t||"")}}function N(){return(new Date).getTime()}function P(t){A&&(e.WeixinJSBridge?t():i.addEventListener&&i.addEventListener("WeixinJSBridgeReady",t,!1))}}(t)},5938:function(e,t,r){"use strict";var n,o,i,s=r(3570),a=s.Reader,c=s.Writer,u=s.util,l=s.roots.default||(s.roots.default={});l.CloudLark=((i={}).Version=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.versionMarjor=0,e.prototype.versionMinor=0,e.prototype.versionRevise=0,e.prototype.versionBuild=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.versionMarjor&&Object.hasOwnProperty.call(e,"versionMarjor")&&t.uint32(8).int32(e.versionMarjor),null!=e.versionMinor&&Object.hasOwnProperty.call(e,"versionMinor")&&t.uint32(16).int32(e.versionMinor),null!=e.versionRevise&&Object.hasOwnProperty.call(e,"versionRevise")&&t.uint32(24).int32(e.versionRevise),null!=e.versionBuild&&Object.hasOwnProperty.call(e,"versionBuild")&&t.uint32(32).int32(e.versionBuild),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Version;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.versionMarjor=e.int32();break;case 2:n.versionMinor=e.int32();break;case 3:n.versionRevise=e.int32();break;case 4:n.versionBuild=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.versionMarjor&&e.hasOwnProperty("versionMarjor")&&!u.isInteger(e.versionMarjor)?"versionMarjor: integer expected":null!=e.versionMinor&&e.hasOwnProperty("versionMinor")&&!u.isInteger(e.versionMinor)?"versionMinor: integer expected":null!=e.versionRevise&&e.hasOwnProperty("versionRevise")&&!u.isInteger(e.versionRevise)?"versionRevise: integer expected":null!=e.versionBuild&&e.hasOwnProperty("versionBuild")&&!u.isInteger(e.versionBuild)?"versionBuild: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Version)return e;var t=new l.CloudLark.Version;return null!=e.versionMarjor&&(t.versionMarjor=0|e.versionMarjor),null!=e.versionMinor&&(t.versionMinor=0|e.versionMinor),null!=e.versionRevise&&(t.versionRevise=0|e.versionRevise),null!=e.versionBuild&&(t.versionBuild=0|e.versionBuild),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.versionMarjor=0,r.versionMinor=0,r.versionRevise=0,r.versionBuild=0),null!=e.versionMarjor&&e.hasOwnProperty("versionMarjor")&&(r.versionMarjor=e.versionMarjor),null!=e.versionMinor&&e.hasOwnProperty("versionMinor")&&(r.versionMinor=e.versionMinor),null!=e.versionRevise&&e.hasOwnProperty("versionRevise")&&(r.versionRevise=e.versionRevise),null!=e.versionBuild&&e.hasOwnProperty("versionBuild")&&(r.versionBuild=e.versionBuild),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VersionCheck=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.clientVer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.clientVer&&Object.hasOwnProperty.call(e,"clientVer")&&l.CloudLark.Version.encode(e.clientVer,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VersionCheck;e.pos<r;){var o=e.uint32();o>>>3==1?n.clientVer=l.CloudLark.Version.decode(e,e.uint32()):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.clientVer&&e.hasOwnProperty("clientVer")){var t=l.CloudLark.Version.verify(e.clientVer);if(t)return"clientVer."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VersionCheck)return e;var t=new l.CloudLark.VersionCheck;if(null!=e.clientVer){if("object"!=typeof e.clientVer)throw TypeError(".CloudLark.VersionCheck.clientVer: object expected");t.clientVer=l.CloudLark.Version.fromObject(e.clientVer)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.clientVer=null),null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(r.clientVer=l.CloudLark.Version.toObject(e.clientVer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VersionCheckResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=!1,e.prototype.serverVer=null,e.prototype.clientVer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).bool(e.response),null!=e.serverVer&&Object.hasOwnProperty.call(e,"serverVer")&&l.CloudLark.Version.encode(e.serverVer,t.uint32(18).fork()).ldelim(),null!=e.clientVer&&Object.hasOwnProperty.call(e,"clientVer")&&l.CloudLark.Version.encode(e.clientVer,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VersionCheckResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.bool();break;case 2:n.serverVer=l.CloudLark.Version.decode(e,e.uint32());break;case 3:n.clientVer=l.CloudLark.Version.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.response&&e.hasOwnProperty("response")&&"boolean"!=typeof e.response?"response: boolean expected":null!=e.serverVer&&e.hasOwnProperty("serverVer")&&(t=l.CloudLark.Version.verify(e.serverVer))?"serverVer."+t:null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(t=l.CloudLark.Version.verify(e.clientVer))?"clientVer."+t:null;var t},e.fromObject=function(e){if(e instanceof l.CloudLark.VersionCheckResponse)return e;var t=new l.CloudLark.VersionCheckResponse;if(null!=e.response&&(t.response=Boolean(e.response)),null!=e.serverVer){if("object"!=typeof e.serverVer)throw TypeError(".CloudLark.VersionCheckResponse.serverVer: object expected");t.serverVer=l.CloudLark.Version.fromObject(e.serverVer)}if(null!=e.clientVer){if("object"!=typeof e.clientVer)throw TypeError(".CloudLark.VersionCheckResponse.clientVer: object expected");t.clientVer=l.CloudLark.Version.fromObject(e.clientVer)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=!1,r.serverVer=null,r.clientVer=null),null!=e.response&&e.hasOwnProperty("response")&&(r.response=e.response),null!=e.serverVer&&e.hasOwnProperty("serverVer")&&(r.serverVer=l.CloudLark.Version.toObject(e.serverVer,t)),null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(r.clientVer=l.CloudLark.Version.toObject(e.clientVer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TaskRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t,r;return e.prototype.taskid="",e.prototype.type=0,e.prototype.nickname="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.taskid&&Object.hasOwnProperty.call(e,"taskid")&&t.uint32(10).string(e.taskid),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(16).int32(e.type),null!=e.nickname&&Object.hasOwnProperty.call(e,"nickname")&&t.uint32(26).string(e.nickname),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TaskRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.taskid=e.string();break;case 2:n.type=e.int32();break;case 3:n.nickname=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.taskid&&e.hasOwnProperty("taskid")&&!u.isString(e.taskid))return"taskid: string expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.nickname&&e.hasOwnProperty("nickname")&&!u.isString(e.nickname)?"nickname: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TaskRequest)return e;var t=new l.CloudLark.TaskRequest;switch(null!=e.taskid&&(t.taskid=String(e.taskid)),e.type){case"PLAYER":case 0:t.type=0;break;case"OB":case 1:t.type=1}return null!=e.nickname&&(t.nickname=String(e.nickname)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.taskid="",r.type=t.enums===String?"PLAYER":0,r.nickname=""),null!=e.taskid&&e.hasOwnProperty("taskid")&&(r.taskid=e.taskid),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.TaskRequest.Type[e.type]:e.type),null!=e.nickname&&e.hasOwnProperty("nickname")&&(r.nickname=e.nickname),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=(t={},(r=Object.create(t))[t[0]="PLAYER"]=0,r[t[1]="OB"]=1,r),e}(),i.TaskType=(n={},(o=Object.create(n))[n[0]="UNKNOWN"]=0,o[n[1]="DESKTOP"]=1,o[n[2]="SHARED"]=2,o[n[3]="VR"]=3,o[n[4]="XR"]=4,o),i.TaskResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.prototype.uid=0,e.prototype.prestart=!1,e.prototype.reason="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),null!=e.uid&&Object.hasOwnProperty.call(e,"uid")&&t.uint32(16).uint32(e.uid),null!=e.prestart&&Object.hasOwnProperty.call(e,"prestart")&&t.uint32(24).bool(e.prestart),null!=e.reason&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(34).string(e.reason),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TaskResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.int32();break;case 2:n.uid=e.uint32();break;case 3:n.prestart=e.bool();break;case 4:n.reason=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.uid&&e.hasOwnProperty("uid")&&!u.isInteger(e.uid)?"uid: integer expected":null!=e.prestart&&e.hasOwnProperty("prestart")&&"boolean"!=typeof e.prestart?"prestart: boolean expected":null!=e.reason&&e.hasOwnProperty("reason")&&!u.isString(e.reason)?"reason: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TaskResponse)return e;var t=new l.CloudLark.TaskResponse;switch(e.response){case"TASK_SUCCESS":case 0:t.response=0;break;case"TASK_NOTFOUND":case 1:t.response=1;break;case"TASK_SERVER_ERROR":case 2:t.response=2;break;case"TASK_APP_WRONGPARAM":case 3:t.response=3;break;case"TASK_NO_GPU_RESOURCE":case 4:t.response=4}return null!=e.uid&&(t.uid=e.uid>>>0),null!=e.prestart&&(t.prestart=Boolean(e.prestart)),null!=e.reason&&(t.reason=String(e.reason)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"TASK_SUCCESS":0,r.uid=0,r.prestart=!1,r.reason=""),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.TaskResponse.Response[e.response]:e.response),null!=e.uid&&e.hasOwnProperty("uid")&&(r.uid=e.uid),null!=e.prestart&&e.hasOwnProperty("prestart")&&(r.prestart=e.prestart),null!=e.reason&&e.hasOwnProperty("reason")&&(r.reason=e.reason),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="TASK_SUCCESS"]=0,t[e[1]="TASK_NOTFOUND"]=1,t[e[2]="TASK_SERVER_ERROR"]=2,t[e[3]="TASK_APP_WRONGPARAM"]=3,t[e[4]="TASK_NO_GPU_RESOURCE"]=4,t}(),e}(),i.StartStreamRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.bitrateKbps=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps)?"fps: integer expected":null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartStreamRequest)return e;var t=new l.CloudLark.StartStreamRequest;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartVrStreamRequest=function(){function e(e){if(this.fov=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.prototype.ipd=0,e.prototype.roomSet=0,e.prototype.fov=u.emptyArray,e.prototype.hasTouchcontroller=!1,e.prototype.useKcp=!1,e.prototype.useH265=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),null!=e.ipd&&Object.hasOwnProperty.call(e,"ipd")&&t.uint32(45).float(e.ipd),null!=e.roomSet&&Object.hasOwnProperty.call(e,"roomSet")&&t.uint32(53).float(e.roomSet),null!=e.fov&&e.fov.length){t.uint32(58).fork();for(var r=0;r<e.fov.length;++r)t.float(e.fov[r]);t.ldelim()}return null!=e.hasTouchcontroller&&Object.hasOwnProperty.call(e,"hasTouchcontroller")&&t.uint32(64).bool(e.hasTouchcontroller),null!=e.useKcp&&Object.hasOwnProperty.call(e,"useKcp")&&t.uint32(72).bool(e.useKcp),null!=e.useH265&&Object.hasOwnProperty.call(e,"useH265")&&t.uint32(80).bool(e.useH265),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartVrStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.bitrateKbps=e.uint32();break;case 5:n.ipd=e.float();break;case 6:n.roomSet=e.float();break;case 7:if(n.fov&&n.fov.length||(n.fov=[]),2==(7&o))for(var i=e.uint32()+e.pos;e.pos<i;)n.fov.push(e.float());else n.fov.push(e.float());break;case 8:n.hasTouchcontroller=e.bool();break;case 9:n.useKcp=e.bool();break;case 10:n.useH265=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width))return"width: integer expected";if(null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height))return"height: integer expected";if(null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps))return"fps: integer expected";if(null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps))return"bitrateKbps: integer expected";if(null!=e.ipd&&e.hasOwnProperty("ipd")&&"number"!=typeof e.ipd)return"ipd: number expected";if(null!=e.roomSet&&e.hasOwnProperty("roomSet")&&"number"!=typeof e.roomSet)return"roomSet: number expected";if(null!=e.fov&&e.hasOwnProperty("fov")){if(!Array.isArray(e.fov))return"fov: array expected";for(var t=0;t<e.fov.length;++t)if("number"!=typeof e.fov[t])return"fov: number[] expected"}return null!=e.hasTouchcontroller&&e.hasOwnProperty("hasTouchcontroller")&&"boolean"!=typeof e.hasTouchcontroller?"hasTouchcontroller: boolean expected":null!=e.useKcp&&e.hasOwnProperty("useKcp")&&"boolean"!=typeof e.useKcp?"useKcp: boolean expected":null!=e.useH265&&e.hasOwnProperty("useH265")&&"boolean"!=typeof e.useH265?"useH265: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartVrStreamRequest)return e;var t=new l.CloudLark.StartVrStreamRequest;if(null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),null!=e.ipd&&(t.ipd=Number(e.ipd)),null!=e.roomSet&&(t.roomSet=Number(e.roomSet)),e.fov){if(!Array.isArray(e.fov))throw TypeError(".CloudLark.StartVrStreamRequest.fov: array expected");t.fov=[];for(var r=0;r<e.fov.length;++r)t.fov[r]=Number(e.fov[r])}return null!=e.hasTouchcontroller&&(t.hasTouchcontroller=Boolean(e.hasTouchcontroller)),null!=e.useKcp&&(t.useKcp=Boolean(e.useKcp)),null!=e.useH265&&(t.useH265=Boolean(e.useH265)),t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.fov=[]),t.defaults&&(r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0,r.ipd=0,r.roomSet=0,r.hasTouchcontroller=!1,r.useKcp=!1,r.useH265=!1),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),null!=e.ipd&&e.hasOwnProperty("ipd")&&(r.ipd=t.json&&!isFinite(e.ipd)?String(e.ipd):e.ipd),null!=e.roomSet&&e.hasOwnProperty("roomSet")&&(r.roomSet=t.json&&!isFinite(e.roomSet)?String(e.roomSet):e.roomSet),e.fov&&e.fov.length){r.fov=[];for(var n=0;n<e.fov.length;++n)r.fov[n]=t.json&&!isFinite(e.fov[n])?String(e.fov[n]):e.fov[n]}return null!=e.hasTouchcontroller&&e.hasOwnProperty("hasTouchcontroller")&&(r.hasTouchcontroller=e.hasTouchcontroller),null!=e.useKcp&&e.hasOwnProperty("useKcp")&&(r.useKcp=e.useKcp),null!=e.useH265&&e.hasOwnProperty("useH265")&&(r.useH265=e.useH265),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.FoveatedRendering=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enableFoveateRendering=!1,e.prototype.foveationStrength=0,e.prototype.foveationShape=0,e.prototype.foveationVerticalOffset=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enableFoveateRendering&&Object.hasOwnProperty.call(e,"enableFoveateRendering")&&t.uint32(8).bool(e.enableFoveateRendering),null!=e.foveationStrength&&Object.hasOwnProperty.call(e,"foveationStrength")&&t.uint32(21).float(e.foveationStrength),null!=e.foveationShape&&Object.hasOwnProperty.call(e,"foveationShape")&&t.uint32(29).float(e.foveationShape),null!=e.foveationVerticalOffset&&Object.hasOwnProperty.call(e,"foveationVerticalOffset")&&t.uint32(37).float(e.foveationVerticalOffset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.FoveatedRendering;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.enableFoveateRendering=e.bool();break;case 2:n.foveationStrength=e.float();break;case 3:n.foveationShape=e.float();break;case 4:n.foveationVerticalOffset=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enableFoveateRendering&&e.hasOwnProperty("enableFoveateRendering")&&"boolean"!=typeof e.enableFoveateRendering?"enableFoveateRendering: boolean expected":null!=e.foveationStrength&&e.hasOwnProperty("foveationStrength")&&"number"!=typeof e.foveationStrength?"foveationStrength: number expected":null!=e.foveationShape&&e.hasOwnProperty("foveationShape")&&"number"!=typeof e.foveationShape?"foveationShape: number expected":null!=e.foveationVerticalOffset&&e.hasOwnProperty("foveationVerticalOffset")&&"number"!=typeof e.foveationVerticalOffset?"foveationVerticalOffset: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.FoveatedRendering)return e;var t=new l.CloudLark.FoveatedRendering;return null!=e.enableFoveateRendering&&(t.enableFoveateRendering=Boolean(e.enableFoveateRendering)),null!=e.foveationStrength&&(t.foveationStrength=Number(e.foveationStrength)),null!=e.foveationShape&&(t.foveationShape=Number(e.foveationShape)),null!=e.foveationVerticalOffset&&(t.foveationVerticalOffset=Number(e.foveationVerticalOffset)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableFoveateRendering=!1,r.foveationStrength=0,r.foveationShape=0,r.foveationVerticalOffset=0),null!=e.enableFoveateRendering&&e.hasOwnProperty("enableFoveateRendering")&&(r.enableFoveateRendering=e.enableFoveateRendering),null!=e.foveationStrength&&e.hasOwnProperty("foveationStrength")&&(r.foveationStrength=t.json&&!isFinite(e.foveationStrength)?String(e.foveationStrength):e.foveationStrength),null!=e.foveationShape&&e.hasOwnProperty("foveationShape")&&(r.foveationShape=t.json&&!isFinite(e.foveationShape)?String(e.foveationShape):e.foveationShape),null!=e.foveationVerticalOffset&&e.hasOwnProperty("foveationVerticalOffset")&&(r.foveationVerticalOffset=t.json&&!isFinite(e.foveationVerticalOffset)?String(e.foveationVerticalOffset):e.foveationVerticalOffset),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ColorCorrention=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enableColorCorrection=!1,e.prototype.brightness=0,e.prototype.contrast=0,e.prototype.saturation=0,e.prototype.gamma=0,e.prototype.sharpening=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enableColorCorrection&&Object.hasOwnProperty.call(e,"enableColorCorrection")&&t.uint32(8).bool(e.enableColorCorrection),null!=e.brightness&&Object.hasOwnProperty.call(e,"brightness")&&t.uint32(21).float(e.brightness),null!=e.contrast&&Object.hasOwnProperty.call(e,"contrast")&&t.uint32(29).float(e.contrast),null!=e.saturation&&Object.hasOwnProperty.call(e,"saturation")&&t.uint32(37).float(e.saturation),null!=e.gamma&&Object.hasOwnProperty.call(e,"gamma")&&t.uint32(45).float(e.gamma),null!=e.sharpening&&Object.hasOwnProperty.call(e,"sharpening")&&t.uint32(53).float(e.sharpening),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ColorCorrention;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.enableColorCorrection=e.bool();break;case 2:n.brightness=e.float();break;case 3:n.contrast=e.float();break;case 4:n.saturation=e.float();break;case 5:n.gamma=e.float();break;case 6:n.sharpening=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enableColorCorrection&&e.hasOwnProperty("enableColorCorrection")&&"boolean"!=typeof e.enableColorCorrection?"enableColorCorrection: boolean expected":null!=e.brightness&&e.hasOwnProperty("brightness")&&"number"!=typeof e.brightness?"brightness: number expected":null!=e.contrast&&e.hasOwnProperty("contrast")&&"number"!=typeof e.contrast?"contrast: number expected":null!=e.saturation&&e.hasOwnProperty("saturation")&&"number"!=typeof e.saturation?"saturation: number expected":null!=e.gamma&&e.hasOwnProperty("gamma")&&"number"!=typeof e.gamma?"gamma: number expected":null!=e.sharpening&&e.hasOwnProperty("sharpening")&&"number"!=typeof e.sharpening?"sharpening: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.ColorCorrention)return e;var t=new l.CloudLark.ColorCorrention;return null!=e.enableColorCorrection&&(t.enableColorCorrection=Boolean(e.enableColorCorrection)),null!=e.brightness&&(t.brightness=Number(e.brightness)),null!=e.contrast&&(t.contrast=Number(e.contrast)),null!=e.saturation&&(t.saturation=Number(e.saturation)),null!=e.gamma&&(t.gamma=Number(e.gamma)),null!=e.sharpening&&(t.sharpening=Number(e.sharpening)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableColorCorrection=!1,r.brightness=0,r.contrast=0,r.saturation=0,r.gamma=0,r.sharpening=0),null!=e.enableColorCorrection&&e.hasOwnProperty("enableColorCorrection")&&(r.enableColorCorrection=e.enableColorCorrection),null!=e.brightness&&e.hasOwnProperty("brightness")&&(r.brightness=t.json&&!isFinite(e.brightness)?String(e.brightness):e.brightness),null!=e.contrast&&e.hasOwnProperty("contrast")&&(r.contrast=t.json&&!isFinite(e.contrast)?String(e.contrast):e.contrast),null!=e.saturation&&e.hasOwnProperty("saturation")&&(r.saturation=t.json&&!isFinite(e.saturation)?String(e.saturation):e.saturation),null!=e.gamma&&e.hasOwnProperty("gamma")&&(r.gamma=t.json&&!isFinite(e.gamma)?String(e.gamma):e.gamma),null!=e.sharpening&&e.hasOwnProperty("sharpening")&&(r.sharpening=t.json&&!isFinite(e.sharpening)?String(e.sharpening):e.sharpening),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StreamType=function(){var e={},t=Object.create(e);return t[e[0]="UDP"]=0,t[e[1]="TCP"]=1,t[e[2]="THROTTLED_UDP"]=2,t[e[3]="KCP"]=3,t}(),i.VideoDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.eyeResolutionWidth=0,e.prototype.eyeResolutionHeight=0,e.prototype.fps=0,e.prototype.encodeBitrateMbs=0,e.prototype.codec=0,e.prototype.targetEyeResolutionWidth=0,e.prototype.targetEyeResolutionHeight=0,e.prototype.secondsFromVsyncToPhotons=0,e.prototype.use10bitEncoder=!1,e.prototype.foveatedRendering=null,e.prototype.colorCorrention=null,e.prototype.stream=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.eyeResolutionWidth&&Object.hasOwnProperty.call(e,"eyeResolutionWidth")&&t.uint32(8).uint32(e.eyeResolutionWidth),null!=e.eyeResolutionHeight&&Object.hasOwnProperty.call(e,"eyeResolutionHeight")&&t.uint32(16).uint32(e.eyeResolutionHeight),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.encodeBitrateMbs&&Object.hasOwnProperty.call(e,"encodeBitrateMbs")&&t.uint32(32).uint32(e.encodeBitrateMbs),null!=e.codec&&Object.hasOwnProperty.call(e,"codec")&&t.uint32(40).uint32(e.codec),null!=e.targetEyeResolutionWidth&&Object.hasOwnProperty.call(e,"targetEyeResolutionWidth")&&t.uint32(48).uint32(e.targetEyeResolutionWidth),null!=e.targetEyeResolutionHeight&&Object.hasOwnProperty.call(e,"targetEyeResolutionHeight")&&t.uint32(56).uint32(e.targetEyeResolutionHeight),null!=e.secondsFromVsyncToPhotons&&Object.hasOwnProperty.call(e,"secondsFromVsyncToPhotons")&&t.uint32(69).float(e.secondsFromVsyncToPhotons),null!=e.use10bitEncoder&&Object.hasOwnProperty.call(e,"use10bitEncoder")&&t.uint32(72).bool(e.use10bitEncoder),null!=e.foveatedRendering&&Object.hasOwnProperty.call(e,"foveatedRendering")&&l.CloudLark.FoveatedRendering.encode(e.foveatedRendering,t.uint32(82).fork()).ldelim(),null!=e.colorCorrention&&Object.hasOwnProperty.call(e,"colorCorrention")&&l.CloudLark.ColorCorrention.encode(e.colorCorrention,t.uint32(90).fork()).ldelim(),null!=e.stream&&Object.hasOwnProperty.call(e,"stream")&&t.uint32(96).int32(e.stream),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VideoDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.eyeResolutionWidth=e.uint32();break;case 2:n.eyeResolutionHeight=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.encodeBitrateMbs=e.uint32();break;case 5:n.codec=e.uint32();break;case 6:n.targetEyeResolutionWidth=e.uint32();break;case 7:n.targetEyeResolutionHeight=e.uint32();break;case 8:n.secondsFromVsyncToPhotons=e.float();break;case 9:n.use10bitEncoder=e.bool();break;case 10:n.foveatedRendering=l.CloudLark.FoveatedRendering.decode(e,e.uint32());break;case 11:n.colorCorrention=l.CloudLark.ColorCorrention.decode(e,e.uint32());break;case 12:n.stream=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.eyeResolutionWidth&&e.hasOwnProperty("eyeResolutionWidth")&&!u.isInteger(e.eyeResolutionWidth))return"eyeResolutionWidth: integer expected";if(null!=e.eyeResolutionHeight&&e.hasOwnProperty("eyeResolutionHeight")&&!u.isInteger(e.eyeResolutionHeight))return"eyeResolutionHeight: integer expected";if(null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps))return"fps: integer expected";if(null!=e.encodeBitrateMbs&&e.hasOwnProperty("encodeBitrateMbs")&&!u.isInteger(e.encodeBitrateMbs))return"encodeBitrateMbs: integer expected";if(null!=e.codec&&e.hasOwnProperty("codec")&&!u.isInteger(e.codec))return"codec: integer expected";if(null!=e.targetEyeResolutionWidth&&e.hasOwnProperty("targetEyeResolutionWidth")&&!u.isInteger(e.targetEyeResolutionWidth))return"targetEyeResolutionWidth: integer expected";if(null!=e.targetEyeResolutionHeight&&e.hasOwnProperty("targetEyeResolutionHeight")&&!u.isInteger(e.targetEyeResolutionHeight))return"targetEyeResolutionHeight: integer expected";if(null!=e.secondsFromVsyncToPhotons&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&"number"!=typeof e.secondsFromVsyncToPhotons)return"secondsFromVsyncToPhotons: number expected";if(null!=e.use10bitEncoder&&e.hasOwnProperty("use10bitEncoder")&&"boolean"!=typeof e.use10bitEncoder)return"use10bitEncoder: boolean expected";var t;if(null!=e.foveatedRendering&&e.hasOwnProperty("foveatedRendering")&&(t=l.CloudLark.FoveatedRendering.verify(e.foveatedRendering)))return"foveatedRendering."+t;if(null!=e.colorCorrention&&e.hasOwnProperty("colorCorrention")&&(t=l.CloudLark.ColorCorrention.verify(e.colorCorrention)))return"colorCorrention."+t;if(null!=e.stream&&e.hasOwnProperty("stream"))switch(e.stream){default:return"stream: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VideoDesc)return e;var t=new l.CloudLark.VideoDesc;if(null!=e.eyeResolutionWidth&&(t.eyeResolutionWidth=e.eyeResolutionWidth>>>0),null!=e.eyeResolutionHeight&&(t.eyeResolutionHeight=e.eyeResolutionHeight>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.encodeBitrateMbs&&(t.encodeBitrateMbs=e.encodeBitrateMbs>>>0),null!=e.codec&&(t.codec=e.codec>>>0),null!=e.targetEyeResolutionWidth&&(t.targetEyeResolutionWidth=e.targetEyeResolutionWidth>>>0),null!=e.targetEyeResolutionHeight&&(t.targetEyeResolutionHeight=e.targetEyeResolutionHeight>>>0),null!=e.secondsFromVsyncToPhotons&&(t.secondsFromVsyncToPhotons=Number(e.secondsFromVsyncToPhotons)),null!=e.use10bitEncoder&&(t.use10bitEncoder=Boolean(e.use10bitEncoder)),null!=e.foveatedRendering){if("object"!=typeof e.foveatedRendering)throw TypeError(".CloudLark.VideoDesc.foveatedRendering: object expected");t.foveatedRendering=l.CloudLark.FoveatedRendering.fromObject(e.foveatedRendering)}if(null!=e.colorCorrention){if("object"!=typeof e.colorCorrention)throw TypeError(".CloudLark.VideoDesc.colorCorrention: object expected");t.colorCorrention=l.CloudLark.ColorCorrention.fromObject(e.colorCorrention)}switch(e.stream){case"UDP":case 0:t.stream=0;break;case"TCP":case 1:t.stream=1;break;case"THROTTLED_UDP":case 2:t.stream=2;break;case"KCP":case 3:t.stream=3}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.eyeResolutionWidth=0,r.eyeResolutionHeight=0,r.fps=0,r.encodeBitrateMbs=0,r.codec=0,r.targetEyeResolutionWidth=0,r.targetEyeResolutionHeight=0,r.secondsFromVsyncToPhotons=0,r.use10bitEncoder=!1,r.foveatedRendering=null,r.colorCorrention=null,r.stream=t.enums===String?"UDP":0),null!=e.eyeResolutionWidth&&e.hasOwnProperty("eyeResolutionWidth")&&(r.eyeResolutionWidth=e.eyeResolutionWidth),null!=e.eyeResolutionHeight&&e.hasOwnProperty("eyeResolutionHeight")&&(r.eyeResolutionHeight=e.eyeResolutionHeight),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.encodeBitrateMbs&&e.hasOwnProperty("encodeBitrateMbs")&&(r.encodeBitrateMbs=e.encodeBitrateMbs),null!=e.codec&&e.hasOwnProperty("codec")&&(r.codec=e.codec),null!=e.targetEyeResolutionWidth&&e.hasOwnProperty("targetEyeResolutionWidth")&&(r.targetEyeResolutionWidth=e.targetEyeResolutionWidth),null!=e.targetEyeResolutionHeight&&e.hasOwnProperty("targetEyeResolutionHeight")&&(r.targetEyeResolutionHeight=e.targetEyeResolutionHeight),null!=e.secondsFromVsyncToPhotons&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&(r.secondsFromVsyncToPhotons=t.json&&!isFinite(e.secondsFromVsyncToPhotons)?String(e.secondsFromVsyncToPhotons):e.secondsFromVsyncToPhotons),null!=e.use10bitEncoder&&e.hasOwnProperty("use10bitEncoder")&&(r.use10bitEncoder=e.use10bitEncoder),null!=e.foveatedRendering&&e.hasOwnProperty("foveatedRendering")&&(r.foveatedRendering=l.CloudLark.FoveatedRendering.toObject(e.foveatedRendering,t)),null!=e.colorCorrention&&e.hasOwnProperty("colorCorrention")&&(r.colorCorrention=l.CloudLark.ColorCorrention.toObject(e.colorCorrention,t)),null!=e.stream&&e.hasOwnProperty("stream")&&(r.stream=t.enums===String?l.CloudLark.StreamType[e.stream]:e.stream),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.HeadSetType=function(){var e={},t=Object.create(e);return t[e[0]="HTC"]=0,t[e[1]="OCULUS"]=1,t[e[2]="PICO2"]=2,t[e[3]="PICO3"]=3,t[e[4]="NOLO_Sonic_1"]=4,t}(),i.HeadSetControllerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.forece3dof=!1,e.prototype.controllerposeTimeOffset=0,e.prototype.hapticsIntensity=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.forece3dof&&Object.hasOwnProperty.call(e,"forece3dof")&&t.uint32(16).bool(e.forece3dof),null!=e.controllerposeTimeOffset&&Object.hasOwnProperty.call(e,"controllerposeTimeOffset")&&t.uint32(29).float(e.controllerposeTimeOffset),null!=e.hapticsIntensity&&Object.hasOwnProperty.call(e,"hapticsIntensity")&&t.uint32(37).float(e.hapticsIntensity),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.HeadSetControllerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.forece3dof=e.bool();break;case 3:n.controllerposeTimeOffset=e.float();break;case 4:n.hapticsIntensity=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.forece3dof&&e.hasOwnProperty("forece3dof")&&"boolean"!=typeof e.forece3dof?"forece3dof: boolean expected":null!=e.controllerposeTimeOffset&&e.hasOwnProperty("controllerposeTimeOffset")&&"number"!=typeof e.controllerposeTimeOffset?"controllerposeTimeOffset: number expected":null!=e.hapticsIntensity&&e.hasOwnProperty("hapticsIntensity")&&"number"!=typeof e.hapticsIntensity?"hapticsIntensity: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.HeadSetControllerDesc)return e;var t=new l.CloudLark.HeadSetControllerDesc;switch(e.type){case"HTC":case 0:t.type=0;break;case"OCULUS":case 1:t.type=1;break;case"PICO2":case 2:t.type=2;break;case"PICO3":case 3:t.type=3;break;case"NOLO_Sonic_1":case 4:t.type=4}return null!=e.forece3dof&&(t.forece3dof=Boolean(e.forece3dof)),null!=e.controllerposeTimeOffset&&(t.controllerposeTimeOffset=Number(e.controllerposeTimeOffset)),null!=e.hapticsIntensity&&(t.hapticsIntensity=Number(e.hapticsIntensity)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"HTC":0,r.forece3dof=!1,r.controllerposeTimeOffset=0,r.hapticsIntensity=0),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.HeadSetType[e.type]:e.type),null!=e.forece3dof&&e.hasOwnProperty("forece3dof")&&(r.forece3dof=e.forece3dof),null!=e.controllerposeTimeOffset&&e.hasOwnProperty("controllerposeTimeOffset")&&(r.controllerposeTimeOffset=t.json&&!isFinite(e.controllerposeTimeOffset)?String(e.controllerposeTimeOffset):e.controllerposeTimeOffset),null!=e.hapticsIntensity&&e.hasOwnProperty("hapticsIntensity")&&(r.hapticsIntensity=t.json&&!isFinite(e.hapticsIntensity)?String(e.hapticsIntensity):e.hapticsIntensity),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartNewVrStreamRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.videoDesc=null,e.prototype.headsetController=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.videoDesc&&Object.hasOwnProperty.call(e,"videoDesc")&&l.CloudLark.VideoDesc.encode(e.videoDesc,t.uint32(10).fork()).ldelim(),null!=e.headsetController&&Object.hasOwnProperty.call(e,"headsetController")&&l.CloudLark.HeadSetControllerDesc.encode(e.headsetController,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartNewVrStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.videoDesc=l.CloudLark.VideoDesc.decode(e,e.uint32());break;case 2:n.headsetController=l.CloudLark.HeadSetControllerDesc.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.videoDesc&&e.hasOwnProperty("videoDesc")&&(t=l.CloudLark.VideoDesc.verify(e.videoDesc))?"videoDesc."+t:null!=e.headsetController&&e.hasOwnProperty("headsetController")&&(t=l.CloudLark.HeadSetControllerDesc.verify(e.headsetController))?"headsetController."+t:null;var t},e.fromObject=function(e){if(e instanceof l.CloudLark.StartNewVrStreamRequest)return e;var t=new l.CloudLark.StartNewVrStreamRequest;if(null!=e.videoDesc){if("object"!=typeof e.videoDesc)throw TypeError(".CloudLark.StartNewVrStreamRequest.videoDesc: object expected");t.videoDesc=l.CloudLark.VideoDesc.fromObject(e.videoDesc)}if(null!=e.headsetController){if("object"!=typeof e.headsetController)throw TypeError(".CloudLark.StartNewVrStreamRequest.headsetController: object expected");t.headsetController=l.CloudLark.HeadSetControllerDesc.fromObject(e.headsetController)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.videoDesc=null,r.headsetController=null),null!=e.videoDesc&&e.hasOwnProperty("videoDesc")&&(r.videoDesc=l.CloudLark.VideoDesc.toObject(e.videoDesc,t)),null!=e.headsetController&&e.hasOwnProperty("headsetController")&&(r.headsetController=l.CloudLark.HeadSetControllerDesc.toObject(e.headsetController,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartStreamResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartStreamResponse;e.pos<r;){var o=e.uint32();o>>>3==1?n.response=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartStreamResponse)return e;var t=new l.CloudLark.StartStreamResponse;switch(e.response){case"START_SUCCESS":case 0:t.response=0;break;case"START_STREAM_PROCESS_START_FAILED":case 1:t.response=1;break;case"START_STREAM_PROCESS_START_TIMEOUT":case 2:t.response=2;break;case"START_STREAM_NOT_STREAMING":case 3:t.response=3;break;case"START_STREAM_ENCODER_ERROR":case 4:t.response=4}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.StartStreamResponse.Response[e.response]:e.response),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="START_SUCCESS"]=0,t[e[1]="START_STREAM_PROCESS_START_FAILED"]=1,t[e[2]="START_STREAM_PROCESS_START_TIMEOUT"]=2,t[e[3]="START_STREAM_NOT_STREAMING"]=3,t[e[4]="START_STREAM_ENCODER_ERROR"]=4,t}(),e}(),i.StartVrStreamResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.prototype.port=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),null!=e.port&&Object.hasOwnProperty.call(e,"port")&&t.uint32(16).uint32(e.port),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartVrStreamResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.int32();break;case 2:n.port=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.port&&e.hasOwnProperty("port")&&!u.isInteger(e.port)?"port: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartVrStreamResponse)return e;var t=new l.CloudLark.StartVrStreamResponse;switch(e.response){case"START_SUCCESS":case 0:t.response=0;break;case"START_PROCESS_FAILED":case 1:t.response=1;break;case"START_DRIVER_RUNTIME_TIMEOUT":case 2:t.response=2;break;case"START_DRIVER_RUNTIME_UDPPORT_ERROR":case 3:t.response=3;break;case"START_DRIVER_RUNTIME_ENCODER_ERROR":case 4:t.response=4}return null!=e.port&&(t.port=e.port>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0,r.port=0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.StartVrStreamResponse.Response[e.response]:e.response),null!=e.port&&e.hasOwnProperty("port")&&(r.port=e.port),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="START_SUCCESS"]=0,t[e[1]="START_PROCESS_FAILED"]=1,t[e[2]="START_DRIVER_RUNTIME_TIMEOUT"]=2,t[e[3]="START_DRIVER_RUNTIME_UDPPORT_ERROR"]=3,t[e[4]="START_DRIVER_RUNTIME_ENCODER_ERROR"]=4,t}(),e}(),i.WebrtcOfferAnswer=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type="",e.prototype.sdp="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(10).string(e.type),null!=e.sdp&&Object.hasOwnProperty.call(e,"sdp")&&t.uint32(18).string(e.sdp),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcOfferAnswer;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.string();break;case 2:n.sdp=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!u.isString(e.type)?"type: string expected":null!=e.sdp&&e.hasOwnProperty("sdp")&&!u.isString(e.sdp)?"sdp: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.WebrtcOfferAnswer)return e;var t=new l.CloudLark.WebrtcOfferAnswer;return null!=e.type&&(t.type=String(e.type)),null!=e.sdp&&(t.sdp=String(e.sdp)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type="",r.sdp=""),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.sdp&&e.hasOwnProperty("sdp")&&(r.sdp=e.sdp),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.WebrtcIceCandidate=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sdpmid="",e.prototype.sdpMlineindex=0,e.prototype.candidate="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.sdpmid&&Object.hasOwnProperty.call(e,"sdpmid")&&t.uint32(10).string(e.sdpmid),null!=e.sdpMlineindex&&Object.hasOwnProperty.call(e,"sdpMlineindex")&&t.uint32(16).uint32(e.sdpMlineindex),null!=e.candidate&&Object.hasOwnProperty.call(e,"candidate")&&t.uint32(26).string(e.candidate),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcIceCandidate;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.sdpmid=e.string();break;case 2:n.sdpMlineindex=e.uint32();break;case 3:n.candidate=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.sdpmid&&e.hasOwnProperty("sdpmid")&&!u.isString(e.sdpmid)?"sdpmid: string expected":null!=e.sdpMlineindex&&e.hasOwnProperty("sdpMlineindex")&&!u.isInteger(e.sdpMlineindex)?"sdpMlineindex: integer expected":null!=e.candidate&&e.hasOwnProperty("candidate")&&!u.isString(e.candidate)?"candidate: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.WebrtcIceCandidate)return e;var t=new l.CloudLark.WebrtcIceCandidate;return null!=e.sdpmid&&(t.sdpmid=String(e.sdpmid)),null!=e.sdpMlineindex&&(t.sdpMlineindex=e.sdpMlineindex>>>0),null!=e.candidate&&(t.candidate=String(e.candidate)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.sdpmid="",r.sdpMlineindex=0,r.candidate=""),null!=e.sdpmid&&e.hasOwnProperty("sdpmid")&&(r.sdpmid=e.sdpmid),null!=e.sdpMlineindex&&e.hasOwnProperty("sdpMlineindex")&&(r.sdpMlineindex=e.sdpMlineindex),null!=e.candidate&&e.hasOwnProperty("candidate")&&(r.candidate=e.candidate),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.WebrtcError=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcError;e.pos<r;){var o=e.uint32();e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof l.CloudLark.WebrtcError?e:new l.CloudLark.WebrtcError},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppProcessControl=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.request=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.request&&Object.hasOwnProperty.call(e,"request")&&t.uint32(8).int32(e.request),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppProcessControl;e.pos<r;){var o=e.uint32();o>>>3==1?n.request=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.request&&e.hasOwnProperty("request")&&0!==e.request?"request: enum value expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppProcessControl)return e;var t=new l.CloudLark.AppProcessControl;switch(e.request){case"ProcessRestart":case 0:t.request=0}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.request=t.enums===String?"ProcessRestart":0),null!=e.request&&e.hasOwnProperty("request")&&(r.request=t.enums===String?l.CloudLark.AppProcessControl.Type[e.request]:e.request),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="ProcessRestart"]=0,t}(),e}(),i.AppQuit=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.reStartStream=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.reStartStream&&Object.hasOwnProperty.call(e,"reStartStream")&&t.uint32(8).bool(e.reStartStream),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppQuit;e.pos<r;){var o=e.uint32();o>>>3==1?n.reStartStream=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.reStartStream&&e.hasOwnProperty("reStartStream")&&"boolean"!=typeof e.reStartStream?"reStartStream: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppQuit)return e;var t=new l.CloudLark.AppQuit;return null!=e.reStartStream&&(t.reStartStream=Boolean(e.reStartStream)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.reStartStream=!1),null!=e.reStartStream&&e.hasOwnProperty("reStartStream")&&(r.reStartStream=e.reStartStream),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppProcessNotification=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.appQuit=null,Object.defineProperty(e.prototype,"AppNotify",{get:u.oneOfGetter(t=["appQuit"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.appQuit&&Object.hasOwnProperty.call(e,"appQuit")&&l.CloudLark.AppQuit.encode(e.appQuit,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppProcessNotification;e.pos<r;){var o=e.uint32();o>>>3==1?n.appQuit=l.CloudLark.AppQuit.decode(e,e.uint32()):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.appQuit&&e.hasOwnProperty("appQuit")){var t=l.CloudLark.AppQuit.verify(e.appQuit);if(t)return"appQuit."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppProcessNotification)return e;var t=new l.CloudLark.AppProcessNotification;if(null!=e.appQuit){if("object"!=typeof e.appQuit)throw TypeError(".CloudLark.AppProcessNotification.appQuit: object expected");t.appQuit=l.CloudLark.AppQuit.fromObject(e.appQuit)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.appQuit&&e.hasOwnProperty("appQuit")&&(r.appQuit=l.CloudLark.AppQuit.toObject(e.appQuit,t),t.oneofs&&(r.AppNotify="appQuit")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.NotifyClientLogout=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.logoutType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.logoutType&&Object.hasOwnProperty.call(e,"logoutType")&&t.uint32(8).int32(e.logoutType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.NotifyClientLogout;e.pos<r;){var o=e.uint32();o>>>3==1?n.logoutType=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.logoutType&&e.hasOwnProperty("logoutType")&&0!==e.logoutType?"logoutType: enum value expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.NotifyClientLogout)return e;var t=new l.CloudLark.NotifyClientLogout;switch(e.logoutType){case"PLAYER_LOGOUT":case 0:t.logoutType=0}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.logoutType=t.enums===String?"PLAYER_LOGOUT":0),null!=e.logoutType&&e.hasOwnProperty("logoutType")&&(r.logoutType=t.enums===String?l.CloudLark.NotifyClientLogout.Type[e.logoutType]:e.logoutType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="PLAYER_LOGOUT"]=0,t}(),e}(),i.VrMonitorRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.taskid="",e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.taskid&&Object.hasOwnProperty.call(e,"taskid")&&t.uint32(10).string(e.taskid),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(16).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(24).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(32).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(40).uint32(e.bitrateKbps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VrMonitorRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.taskid=e.string();break;case 2:n.width=e.uint32();break;case 3:n.height=e.uint32();break;case 4:n.fps=e.uint32();break;case 5:n.bitrateKbps=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.taskid&&e.hasOwnProperty("taskid")&&!u.isString(e.taskid)?"taskid: string expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps)?"fps: integer expected":null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.VrMonitorRequest)return e;var t=new l.CloudLark.VrMonitorRequest;return null!=e.taskid&&(t.taskid=String(e.taskid)),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.taskid="",r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0),null!=e.taskid&&e.hasOwnProperty("taskid")&&(r.taskid=e.taskid),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VrMonitorResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VrMonitorResponse;e.pos<r;){var o=e.uint32();o>>>3==1?n.response=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VrMonitorResponse)return e;var t=new l.CloudLark.VrMonitorResponse;switch(e.response){case"MONITOR_SUCCESS":case 0:t.response=0;break;case"MONITOR_ERROR_TASKNOTFOUND":case 1:t.response=1;break;case"MONITOR_ERROR_TASKNOTSTREAMING":case 2:t.response=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"MONITOR_SUCCESS":0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.VrMonitorResponse.Response[e.response]:e.response),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="MONITOR_SUCCESS"]=0,t[e[1]="MONITOR_ERROR_TASKNOTFOUND"]=1,t[e[2]="MONITOR_ERROR_TASKNOTSTREAMING"]=2,t}(),e}(),i.LarkXRDataChannelState=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRDataChannelState;e.pos<r;){var o=e.uint32();o>>>3==1?n.state=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRDataChannelState)return e;var t=new l.CloudLark.LarkXRDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.LarkXRDataChannelState.State[e.state]:e.state),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),e}(),i.LarkXRChannelMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.data=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRChannelMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.data=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||u.isString(e.data))?"data: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRChannelMessage)return e;var t=new l.CloudLark.LarkXRChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return null!=e.data&&("string"==typeof e.data?u.base64.decode(e.data,t.data=u.newBuffer(u.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"STRING":0,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=u.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.LarkXRChannelMessage.Type[e.type]:e.type),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?u.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),e}(),i.LarkXRPlayerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.prototype.nickName="",e.prototype.taskOwner=!1,e.prototype.controller=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),null!=e.nickName&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),null!=e.taskOwner&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),null!=e.controller&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRPlayerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.id=e.uint32();break;case 2:n.nickName=e.string();break;case 3:n.taskOwner=e.bool();break;case 4:n.controller=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null!=e.nickName&&e.hasOwnProperty("nickName")&&!u.isString(e.nickName)?"nickName: string expected":null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&"boolean"!=typeof e.taskOwner?"taskOwner: boolean expected":null!=e.controller&&e.hasOwnProperty("controller")&&"boolean"!=typeof e.controller?"controller: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRPlayerDesc)return e;var t=new l.CloudLark.LarkXRPlayerDesc;return null!=e.id&&(t.id=e.id>>>0),null!=e.nickName&&(t.nickName=String(e.nickName)),null!=e.taskOwner&&(t.taskOwner=Boolean(e.taskOwner)),null!=e.controller&&(t.controller=Boolean(e.controller)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nickName&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),null!=e.controller&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.LarkXRUpdatePlayersDesc=function(){function e(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.descs=u.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.descs&&e.descs.length)for(var r=0;r<e.descs.length;++r)l.CloudLark.LarkXRPlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRUpdatePlayersDesc;e.pos<r;){var o=e.uint32();o>>>3==1?(n.descs&&n.descs.length||(n.descs=[]),n.descs.push(l.CloudLark.LarkXRPlayerDesc.decode(e,e.uint32()))):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.descs&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=l.CloudLark.LarkXRPlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRUpdatePlayersDesc)return e;var t=new l.CloudLark.LarkXRUpdatePlayersDesc;if(e.descs){if(!Array.isArray(e.descs))throw TypeError(".CloudLark.LarkXRUpdatePlayersDesc.descs: array expected");t.descs=[];for(var r=0;r<e.descs.length;++r){if("object"!=typeof e.descs[r])throw TypeError(".CloudLark.LarkXRUpdatePlayersDesc.descs: object expected");t.descs[r]=l.CloudLark.LarkXRPlayerDesc.fromObject(e.descs[r])}}return t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var n=0;n<e.descs.length;++n)r.descs[n]=l.CloudLark.LarkXRPlayerDesc.toObject(e.descs[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.LarkXRDispatchController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRDispatchController;e.pos<r;){var o=e.uint32();o>>>3==1?n.id=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRDispatchController)return e;var t=new l.CloudLark.LarkXRDispatchController;return null!=e.id&&(t.id=e.id>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ToServerMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.magic=0,e.prototype.versionCheckRequest=null,e.prototype.taskRequest=null,e.prototype.startStreamRequest=null,e.prototype.webrtcOfferAnswer=null,e.prototype.webrtcIcecandidate=null,e.prototype.processControl=null,e.prototype.startVrsteamRequest=null,e.prototype.vrMonitorRequest=null,e.prototype.startNewVrstreamRequest=null,e.prototype.datachannelData=null,e.prototype.dispatchController=null,Object.defineProperty(e.prototype,"msg",{get:u.oneOfGetter(t=["versionCheckRequest","taskRequest","startStreamRequest","webrtcOfferAnswer","webrtcIcecandidate","processControl","startVrsteamRequest","vrMonitorRequest","startNewVrstreamRequest","datachannelData","dispatchController"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.magic&&Object.hasOwnProperty.call(e,"magic")&&t.uint32(8).uint32(e.magic),null!=e.versionCheckRequest&&Object.hasOwnProperty.call(e,"versionCheckRequest")&&l.CloudLark.VersionCheck.encode(e.versionCheckRequest,t.uint32(18).fork()).ldelim(),null!=e.taskRequest&&Object.hasOwnProperty.call(e,"taskRequest")&&l.CloudLark.TaskRequest.encode(e.taskRequest,t.uint32(26).fork()).ldelim(),null!=e.startStreamRequest&&Object.hasOwnProperty.call(e,"startStreamRequest")&&l.CloudLark.StartStreamRequest.encode(e.startStreamRequest,t.uint32(34).fork()).ldelim(),null!=e.webrtcOfferAnswer&&Object.hasOwnProperty.call(e,"webrtcOfferAnswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.webrtcOfferAnswer,t.uint32(42).fork()).ldelim(),null!=e.webrtcIcecandidate&&Object.hasOwnProperty.call(e,"webrtcIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.webrtcIcecandidate,t.uint32(50).fork()).ldelim(),null!=e.processControl&&Object.hasOwnProperty.call(e,"processControl")&&l.CloudLark.AppProcessControl.encode(e.processControl,t.uint32(58).fork()).ldelim(),null!=e.startVrsteamRequest&&Object.hasOwnProperty.call(e,"startVrsteamRequest")&&l.CloudLark.StartVrStreamRequest.encode(e.startVrsteamRequest,t.uint32(66).fork()).ldelim(),null!=e.vrMonitorRequest&&Object.hasOwnProperty.call(e,"vrMonitorRequest")&&l.CloudLark.VrMonitorRequest.encode(e.vrMonitorRequest,t.uint32(74).fork()).ldelim(),null!=e.startNewVrstreamRequest&&Object.hasOwnProperty.call(e,"startNewVrstreamRequest")&&l.CloudLark.StartNewVrStreamRequest.encode(e.startNewVrstreamRequest,t.uint32(82).fork()).ldelim(),null!=e.datachannelData&&Object.hasOwnProperty.call(e,"datachannelData")&&l.CloudLark.LarkXRChannelMessage.encode(e.datachannelData,t.uint32(90).fork()).ldelim(),null!=e.dispatchController&&Object.hasOwnProperty.call(e,"dispatchController")&&l.CloudLark.LarkXRDispatchController.encode(e.dispatchController,t.uint32(98).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ToServerMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.magic=e.uint32();break;case 2:n.versionCheckRequest=l.CloudLark.VersionCheck.decode(e,e.uint32());break;case 3:n.taskRequest=l.CloudLark.TaskRequest.decode(e,e.uint32());break;case 4:n.startStreamRequest=l.CloudLark.StartStreamRequest.decode(e,e.uint32());break;case 5:n.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 6:n.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;case 7:n.processControl=l.CloudLark.AppProcessControl.decode(e,e.uint32());break;case 8:n.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.decode(e,e.uint32());break;case 9:n.vrMonitorRequest=l.CloudLark.VrMonitorRequest.decode(e,e.uint32());break;case 10:n.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.decode(e,e.uint32());break;case 11:n.datachannelData=l.CloudLark.LarkXRChannelMessage.decode(e,e.uint32());break;case 12:n.dispatchController=l.CloudLark.LarkXRDispatchController.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.magic&&e.hasOwnProperty("magic")&&!u.isInteger(e.magic))return"magic: integer expected";if(null!=e.versionCheckRequest&&e.hasOwnProperty("versionCheckRequest")&&(t.msg=1,r=l.CloudLark.VersionCheck.verify(e.versionCheckRequest)))return"versionCheckRequest."+r;if(null!=e.taskRequest&&e.hasOwnProperty("taskRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.TaskRequest.verify(e.taskRequest))return"taskRequest."+r}if(null!=e.startStreamRequest&&e.hasOwnProperty("startStreamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartStreamRequest.verify(e.startStreamRequest))return"startStreamRequest."+r}if(null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.webrtcOfferAnswer))return"webrtcOfferAnswer."+r}if(null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.webrtcIcecandidate))return"webrtcIcecandidate."+r}if(null!=e.processControl&&e.hasOwnProperty("processControl")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.AppProcessControl.verify(e.processControl))return"processControl."+r}if(null!=e.startVrsteamRequest&&e.hasOwnProperty("startVrsteamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartVrStreamRequest.verify(e.startVrsteamRequest))return"startVrsteamRequest."+r}if(null!=e.vrMonitorRequest&&e.hasOwnProperty("vrMonitorRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.VrMonitorRequest.verify(e.vrMonitorRequest))return"vrMonitorRequest."+r}if(null!=e.startNewVrstreamRequest&&e.hasOwnProperty("startNewVrstreamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartNewVrStreamRequest.verify(e.startNewVrstreamRequest))return"startNewVrstreamRequest."+r}if(null!=e.datachannelData&&e.hasOwnProperty("datachannelData")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRChannelMessage.verify(e.datachannelData))return"datachannelData."+r}if(null!=e.dispatchController&&e.hasOwnProperty("dispatchController")){if(1===t.msg)return"msg: multiple values";var r;if(t.msg=1,r=l.CloudLark.LarkXRDispatchController.verify(e.dispatchController))return"dispatchController."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ToServerMessage)return e;var t=new l.CloudLark.ToServerMessage;if(null!=e.magic&&(t.magic=e.magic>>>0),null!=e.versionCheckRequest){if("object"!=typeof e.versionCheckRequest)throw TypeError(".CloudLark.ToServerMessage.versionCheckRequest: object expected");t.versionCheckRequest=l.CloudLark.VersionCheck.fromObject(e.versionCheckRequest)}if(null!=e.taskRequest){if("object"!=typeof e.taskRequest)throw TypeError(".CloudLark.ToServerMessage.taskRequest: object expected");t.taskRequest=l.CloudLark.TaskRequest.fromObject(e.taskRequest)}if(null!=e.startStreamRequest){if("object"!=typeof e.startStreamRequest)throw TypeError(".CloudLark.ToServerMessage.startStreamRequest: object expected");t.startStreamRequest=l.CloudLark.StartStreamRequest.fromObject(e.startStreamRequest)}if(null!=e.webrtcOfferAnswer){if("object"!=typeof e.webrtcOfferAnswer)throw TypeError(".CloudLark.ToServerMessage.webrtcOfferAnswer: object expected");t.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.webrtcOfferAnswer)}if(null!=e.webrtcIcecandidate){if("object"!=typeof e.webrtcIcecandidate)throw TypeError(".CloudLark.ToServerMessage.webrtcIcecandidate: object expected");t.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.webrtcIcecandidate)}if(null!=e.processControl){if("object"!=typeof e.processControl)throw TypeError(".CloudLark.ToServerMessage.processControl: object expected");t.processControl=l.CloudLark.AppProcessControl.fromObject(e.processControl)}if(null!=e.startVrsteamRequest){if("object"!=typeof e.startVrsteamRequest)throw TypeError(".CloudLark.ToServerMessage.startVrsteamRequest: object expected");t.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.fromObject(e.startVrsteamRequest)}if(null!=e.vrMonitorRequest){if("object"!=typeof e.vrMonitorRequest)throw TypeError(".CloudLark.ToServerMessage.vrMonitorRequest: object expected");t.vrMonitorRequest=l.CloudLark.VrMonitorRequest.fromObject(e.vrMonitorRequest)}if(null!=e.startNewVrstreamRequest){if("object"!=typeof e.startNewVrstreamRequest)throw TypeError(".CloudLark.ToServerMessage.startNewVrstreamRequest: object expected");t.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.fromObject(e.startNewVrstreamRequest)}if(null!=e.datachannelData){if("object"!=typeof e.datachannelData)throw TypeError(".CloudLark.ToServerMessage.datachannelData: object expected");t.datachannelData=l.CloudLark.LarkXRChannelMessage.fromObject(e.datachannelData)}if(null!=e.dispatchController){if("object"!=typeof e.dispatchController)throw TypeError(".CloudLark.ToServerMessage.dispatchController: object expected");t.dispatchController=l.CloudLark.LarkXRDispatchController.fromObject(e.dispatchController)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.magic=0),null!=e.magic&&e.hasOwnProperty("magic")&&(r.magic=e.magic),null!=e.versionCheckRequest&&e.hasOwnProperty("versionCheckRequest")&&(r.versionCheckRequest=l.CloudLark.VersionCheck.toObject(e.versionCheckRequest,t),t.oneofs&&(r.msg="versionCheckRequest")),null!=e.taskRequest&&e.hasOwnProperty("taskRequest")&&(r.taskRequest=l.CloudLark.TaskRequest.toObject(e.taskRequest,t),t.oneofs&&(r.msg="taskRequest")),null!=e.startStreamRequest&&e.hasOwnProperty("startStreamRequest")&&(r.startStreamRequest=l.CloudLark.StartStreamRequest.toObject(e.startStreamRequest,t),t.oneofs&&(r.msg="startStreamRequest")),null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")&&(r.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.webrtcOfferAnswer,t),t.oneofs&&(r.msg="webrtcOfferAnswer")),null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")&&(r.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.webrtcIcecandidate,t),t.oneofs&&(r.msg="webrtcIcecandidate")),null!=e.processControl&&e.hasOwnProperty("processControl")&&(r.processControl=l.CloudLark.AppProcessControl.toObject(e.processControl,t),t.oneofs&&(r.msg="processControl")),null!=e.startVrsteamRequest&&e.hasOwnProperty("startVrsteamRequest")&&(r.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.toObject(e.startVrsteamRequest,t),t.oneofs&&(r.msg="startVrsteamRequest")),null!=e.vrMonitorRequest&&e.hasOwnProperty("vrMonitorRequest")&&(r.vrMonitorRequest=l.CloudLark.VrMonitorRequest.toObject(e.vrMonitorRequest,t),t.oneofs&&(r.msg="vrMonitorRequest")),null!=e.startNewVrstreamRequest&&e.hasOwnProperty("startNewVrstreamRequest")&&(r.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.toObject(e.startNewVrstreamRequest,t),t.oneofs&&(r.msg="startNewVrstreamRequest")),null!=e.datachannelData&&e.hasOwnProperty("datachannelData")&&(r.datachannelData=l.CloudLark.LarkXRChannelMessage.toObject(e.datachannelData,t),t.oneofs&&(r.msg="datachannelData")),null!=e.dispatchController&&e.hasOwnProperty("dispatchController")&&(r.dispatchController=l.CloudLark.LarkXRDispatchController.toObject(e.dispatchController,t),t.oneofs&&(r.msg="dispatchController")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ToClientMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.magic=0,e.prototype.versionCheckResponse=null,e.prototype.taskResponse=null,e.prototype.startStreamResponse=null,e.prototype.webrtcOfferAnswer=null,e.prototype.webrtcIcecandidate=null,e.prototype.webrtcError=null,e.prototype.processNotifi=null,e.prototype.logout=null,e.prototype.startVrstreamResponse=null,e.prototype.vrMonitorResponse=null,e.prototype.datachannelState=null,e.prototype.datachannelData=null,e.prototype.updatePlayers=null,Object.defineProperty(e.prototype,"msg",{get:u.oneOfGetter(t=["versionCheckResponse","taskResponse","startStreamResponse","webrtcOfferAnswer","webrtcIcecandidate","webrtcError","processNotifi","logout","startVrstreamResponse","vrMonitorResponse","datachannelState","datachannelData","updatePlayers"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.magic&&Object.hasOwnProperty.call(e,"magic")&&t.uint32(8).uint32(e.magic),null!=e.versionCheckResponse&&Object.hasOwnProperty.call(e,"versionCheckResponse")&&l.CloudLark.VersionCheckResponse.encode(e.versionCheckResponse,t.uint32(18).fork()).ldelim(),null!=e.taskResponse&&Object.hasOwnProperty.call(e,"taskResponse")&&l.CloudLark.TaskResponse.encode(e.taskResponse,t.uint32(26).fork()).ldelim(),null!=e.startStreamResponse&&Object.hasOwnProperty.call(e,"startStreamResponse")&&l.CloudLark.StartStreamResponse.encode(e.startStreamResponse,t.uint32(34).fork()).ldelim(),null!=e.webrtcOfferAnswer&&Object.hasOwnProperty.call(e,"webrtcOfferAnswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.webrtcOfferAnswer,t.uint32(42).fork()).ldelim(),null!=e.webrtcIcecandidate&&Object.hasOwnProperty.call(e,"webrtcIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.webrtcIcecandidate,t.uint32(50).fork()).ldelim(),null!=e.webrtcError&&Object.hasOwnProperty.call(e,"webrtcError")&&l.CloudLark.WebrtcError.encode(e.webrtcError,t.uint32(58).fork()).ldelim(),null!=e.processNotifi&&Object.hasOwnProperty.call(e,"processNotifi")&&l.CloudLark.AppProcessNotification.encode(e.processNotifi,t.uint32(66).fork()).ldelim(),null!=e.logout&&Object.hasOwnProperty.call(e,"logout")&&l.CloudLark.NotifyClientLogout.encode(e.logout,t.uint32(74).fork()).ldelim(),null!=e.startVrstreamResponse&&Object.hasOwnProperty.call(e,"startVrstreamResponse")&&l.CloudLark.StartVrStreamResponse.encode(e.startVrstreamResponse,t.uint32(82).fork()).ldelim(),null!=e.vrMonitorResponse&&Object.hasOwnProperty.call(e,"vrMonitorResponse")&&l.CloudLark.VrMonitorResponse.encode(e.vrMonitorResponse,t.uint32(90).fork()).ldelim(),null!=e.datachannelState&&Object.hasOwnProperty.call(e,"datachannelState")&&l.CloudLark.LarkXRDataChannelState.encode(e.datachannelState,t.uint32(98).fork()).ldelim(),null!=e.datachannelData&&Object.hasOwnProperty.call(e,"datachannelData")&&l.CloudLark.LarkXRChannelMessage.encode(e.datachannelData,t.uint32(106).fork()).ldelim(),null!=e.updatePlayers&&Object.hasOwnProperty.call(e,"updatePlayers")&&l.CloudLark.LarkXRUpdatePlayersDesc.encode(e.updatePlayers,t.uint32(114).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ToClientMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.magic=e.uint32();break;case 2:n.versionCheckResponse=l.CloudLark.VersionCheckResponse.decode(e,e.uint32());break;case 3:n.taskResponse=l.CloudLark.TaskResponse.decode(e,e.uint32());break;case 4:n.startStreamResponse=l.CloudLark.StartStreamResponse.decode(e,e.uint32());break;case 5:n.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 6:n.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;case 7:n.webrtcError=l.CloudLark.WebrtcError.decode(e,e.uint32());break;case 8:n.processNotifi=l.CloudLark.AppProcessNotification.decode(e,e.uint32());break;case 9:n.logout=l.CloudLark.NotifyClientLogout.decode(e,e.uint32());break;case 10:n.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.decode(e,e.uint32());break;case 11:n.vrMonitorResponse=l.CloudLark.VrMonitorResponse.decode(e,e.uint32());break;case 12:n.datachannelState=l.CloudLark.LarkXRDataChannelState.decode(e,e.uint32());break;case 13:n.datachannelData=l.CloudLark.LarkXRChannelMessage.decode(e,e.uint32());break;case 14:n.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.magic&&e.hasOwnProperty("magic")&&!u.isInteger(e.magic))return"magic: integer expected";if(null!=e.versionCheckResponse&&e.hasOwnProperty("versionCheckResponse")&&(t.msg=1,r=l.CloudLark.VersionCheckResponse.verify(e.versionCheckResponse)))return"versionCheckResponse."+r;if(null!=e.taskResponse&&e.hasOwnProperty("taskResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.TaskResponse.verify(e.taskResponse))return"taskResponse."+r}if(null!=e.startStreamResponse&&e.hasOwnProperty("startStreamResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartStreamResponse.verify(e.startStreamResponse))return"startStreamResponse."+r}if(null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.webrtcOfferAnswer))return"webrtcOfferAnswer."+r}if(null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.webrtcIcecandidate))return"webrtcIcecandidate."+r}if(null!=e.webrtcError&&e.hasOwnProperty("webrtcError")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcError.verify(e.webrtcError))return"webrtcError."+r}if(null!=e.processNotifi&&e.hasOwnProperty("processNotifi")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.AppProcessNotification.verify(e.processNotifi))return"processNotifi."+r}if(null!=e.logout&&e.hasOwnProperty("logout")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.NotifyClientLogout.verify(e.logout))return"logout."+r}if(null!=e.startVrstreamResponse&&e.hasOwnProperty("startVrstreamResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartVrStreamResponse.verify(e.startVrstreamResponse))return"startVrstreamResponse."+r}if(null!=e.vrMonitorResponse&&e.hasOwnProperty("vrMonitorResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.VrMonitorResponse.verify(e.vrMonitorResponse))return"vrMonitorResponse."+r}if(null!=e.datachannelState&&e.hasOwnProperty("datachannelState")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRDataChannelState.verify(e.datachannelState))return"datachannelState."+r}if(null!=e.datachannelData&&e.hasOwnProperty("datachannelData")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRChannelMessage.verify(e.datachannelData))return"datachannelData."+r}if(null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")){if(1===t.msg)return"msg: multiple values";var r;if(t.msg=1,r=l.CloudLark.LarkXRUpdatePlayersDesc.verify(e.updatePlayers))return"updatePlayers."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ToClientMessage)return e;var t=new l.CloudLark.ToClientMessage;if(null!=e.magic&&(t.magic=e.magic>>>0),null!=e.versionCheckResponse){if("object"!=typeof e.versionCheckResponse)throw TypeError(".CloudLark.ToClientMessage.versionCheckResponse: object expected");t.versionCheckResponse=l.CloudLark.VersionCheckResponse.fromObject(e.versionCheckResponse)}if(null!=e.taskResponse){if("object"!=typeof e.taskResponse)throw TypeError(".CloudLark.ToClientMessage.taskResponse: object expected");t.taskResponse=l.CloudLark.TaskResponse.fromObject(e.taskResponse)}if(null!=e.startStreamResponse){if("object"!=typeof e.startStreamResponse)throw TypeError(".CloudLark.ToClientMessage.startStreamResponse: object expected");t.startStreamResponse=l.CloudLark.StartStreamResponse.fromObject(e.startStreamResponse)}if(null!=e.webrtcOfferAnswer){if("object"!=typeof e.webrtcOfferAnswer)throw TypeError(".CloudLark.ToClientMessage.webrtcOfferAnswer: object expected");t.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.webrtcOfferAnswer)}if(null!=e.webrtcIcecandidate){if("object"!=typeof e.webrtcIcecandidate)throw TypeError(".CloudLark.ToClientMessage.webrtcIcecandidate: object expected");t.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.webrtcIcecandidate)}if(null!=e.webrtcError){if("object"!=typeof e.webrtcError)throw TypeError(".CloudLark.ToClientMessage.webrtcError: object expected");t.webrtcError=l.CloudLark.WebrtcError.fromObject(e.webrtcError)}if(null!=e.processNotifi){if("object"!=typeof e.processNotifi)throw TypeError(".CloudLark.ToClientMessage.processNotifi: object expected");t.processNotifi=l.CloudLark.AppProcessNotification.fromObject(e.processNotifi)}if(null!=e.logout){if("object"!=typeof e.logout)throw TypeError(".CloudLark.ToClientMessage.logout: object expected");t.logout=l.CloudLark.NotifyClientLogout.fromObject(e.logout)}if(null!=e.startVrstreamResponse){if("object"!=typeof e.startVrstreamResponse)throw TypeError(".CloudLark.ToClientMessage.startVrstreamResponse: object expected");t.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.fromObject(e.startVrstreamResponse)}if(null!=e.vrMonitorResponse){if("object"!=typeof e.vrMonitorResponse)throw TypeError(".CloudLark.ToClientMessage.vrMonitorResponse: object expected");t.vrMonitorResponse=l.CloudLark.VrMonitorResponse.fromObject(e.vrMonitorResponse)}if(null!=e.datachannelState){if("object"!=typeof e.datachannelState)throw TypeError(".CloudLark.ToClientMessage.datachannelState: object expected");t.datachannelState=l.CloudLark.LarkXRDataChannelState.fromObject(e.datachannelState)}if(null!=e.datachannelData){if("object"!=typeof e.datachannelData)throw TypeError(".CloudLark.ToClientMessage.datachannelData: object expected");t.datachannelData=l.CloudLark.LarkXRChannelMessage.fromObject(e.datachannelData)}if(null!=e.updatePlayers){if("object"!=typeof e.updatePlayers)throw TypeError(".CloudLark.ToClientMessage.updatePlayers: object expected");t.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.fromObject(e.updatePlayers)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.magic=0),null!=e.magic&&e.hasOwnProperty("magic")&&(r.magic=e.magic),null!=e.versionCheckResponse&&e.hasOwnProperty("versionCheckResponse")&&(r.versionCheckResponse=l.CloudLark.VersionCheckResponse.toObject(e.versionCheckResponse,t),t.oneofs&&(r.msg="versionCheckResponse")),null!=e.taskResponse&&e.hasOwnProperty("taskResponse")&&(r.taskResponse=l.CloudLark.TaskResponse.toObject(e.taskResponse,t),t.oneofs&&(r.msg="taskResponse")),null!=e.startStreamResponse&&e.hasOwnProperty("startStreamResponse")&&(r.startStreamResponse=l.CloudLark.StartStreamResponse.toObject(e.startStreamResponse,t),t.oneofs&&(r.msg="startStreamResponse")),null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")&&(r.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.webrtcOfferAnswer,t),t.oneofs&&(r.msg="webrtcOfferAnswer")),null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")&&(r.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.webrtcIcecandidate,t),t.oneofs&&(r.msg="webrtcIcecandidate")),null!=e.webrtcError&&e.hasOwnProperty("webrtcError")&&(r.webrtcError=l.CloudLark.WebrtcError.toObject(e.webrtcError,t),t.oneofs&&(r.msg="webrtcError")),null!=e.processNotifi&&e.hasOwnProperty("processNotifi")&&(r.processNotifi=l.CloudLark.AppProcessNotification.toObject(e.processNotifi,t),t.oneofs&&(r.msg="processNotifi")),null!=e.logout&&e.hasOwnProperty("logout")&&(r.logout=l.CloudLark.NotifyClientLogout.toObject(e.logout,t),t.oneofs&&(r.msg="logout")),null!=e.startVrstreamResponse&&e.hasOwnProperty("startVrstreamResponse")&&(r.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.toObject(e.startVrstreamResponse,t),t.oneofs&&(r.msg="startVrstreamResponse")),null!=e.vrMonitorResponse&&e.hasOwnProperty("vrMonitorResponse")&&(r.vrMonitorResponse=l.CloudLark.VrMonitorResponse.toObject(e.vrMonitorResponse,t),t.oneofs&&(r.msg="vrMonitorResponse")),null!=e.datachannelState&&e.hasOwnProperty("datachannelState")&&(r.datachannelState=l.CloudLark.LarkXRDataChannelState.toObject(e.datachannelState,t),t.oneofs&&(r.msg="datachannelState")),null!=e.datachannelData&&e.hasOwnProperty("datachannelData")&&(r.datachannelData=l.CloudLark.LarkXRChannelMessage.toObject(e.datachannelData,t),t.oneofs&&(r.msg="datachannelData")),null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")&&(r.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.toObject(e.updatePlayers,t),t.oneofs&&(r.msg="updatePlayers")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseMove=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.DeltaX=0,e.prototype.DeltaY=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.DeltaX&&Object.hasOwnProperty.call(e,"DeltaX")&&t.uint32(24).sint32(e.DeltaX),null!=e.DeltaY&&Object.hasOwnProperty.call(e,"DeltaY")&&t.uint32(32).sint32(e.DeltaY),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseMove;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.DeltaX=e.sint32();break;case 4:n.DeltaY=e.sint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.DeltaX&&e.hasOwnProperty("DeltaX")&&!u.isInteger(e.DeltaX)?"DeltaX: integer expected":null!=e.DeltaY&&e.hasOwnProperty("DeltaY")&&!u.isInteger(e.DeltaY)?"DeltaY: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseMove)return e;var t=new l.CloudLark.MouseMove;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.DeltaX&&(t.DeltaX=0|e.DeltaX),null!=e.DeltaY&&(t.DeltaY=0|e.DeltaY),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.DeltaX=0,r.DeltaY=0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.DeltaX&&e.hasOwnProperty("DeltaX")&&(r.DeltaX=e.DeltaX),null!=e.DeltaY&&e.hasOwnProperty("DeltaY")&&(r.DeltaY=e.DeltaY),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseKey=function(){var e={},t=Object.create(e);return t[e[0]="LEFT"]=0,t[e[1]="RIGHT"]=1,t[e[2]="MIDDLE"]=2,t}(),i.MouseDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.key=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX))return"PosX: integer expected";if(null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY))return"PosY: integer expected";if(null!=e.key&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseDown)return e;var t=new l.CloudLark.MouseDown;switch(null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),e.key){case"LEFT":case 0:t.key=0;break;case"RIGHT":case 1:t.key=1;break;case"MIDDLE":case 2:t.key=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.key&&e.hasOwnProperty("key")&&(r.key=t.enums===String?l.CloudLark.MouseKey[e.key]:e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.key=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX))return"PosX: integer expected";if(null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY))return"PosY: integer expected";if(null!=e.key&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseUp)return e;var t=new l.CloudLark.MouseUp;switch(null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),e.key){case"LEFT":case 0:t.key=0;break;case"RIGHT":case 1:t.key=1;break;case"MIDDLE":case 2:t.key=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.key&&e.hasOwnProperty("key")&&(r.key=t.enums===String?l.CloudLark.MouseKey[e.key]:e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseWheel=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.Delata=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.Delata&&Object.hasOwnProperty.call(e,"Delata")&&t.uint32(24).sint32(e.Delata),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseWheel;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.Delata=e.sint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.Delata&&e.hasOwnProperty("Delata")&&!u.isInteger(e.Delata)?"Delata: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseWheel)return e;var t=new l.CloudLark.MouseWheel;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.Delata&&(t.Delata=0|e.Delata),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.Delata=0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.Delata&&e.hasOwnProperty("Delata")&&(r.Delata=e.Delata),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.KeyDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.key=0,e.prototype.isRepeat=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),null!=e.isRepeat&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(16).bool(e.isRepeat),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.KeyDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.key=e.int32();break;case 2:n.isRepeat=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isInteger(e.key)?"key: integer expected":null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&"boolean"!=typeof e.isRepeat?"isRepeat: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.KeyDown)return e;var t=new l.CloudLark.KeyDown;return null!=e.key&&(t.key=0|e.key),null!=e.isRepeat&&(t.isRepeat=Boolean(e.isRepeat)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0,r.isRepeat=!1),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.KeyUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.KeyUp;e.pos<r;){var o=e.uint32();o>>>3==1?n.key=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isInteger(e.key)?"key: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.KeyUp)return e;var t=new l.CloudLark.KeyUp;return null!=e.key&&(t.key=0|e.key),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ClientEnter=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.CapsLockState=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.CapsLockState&&Object.hasOwnProperty.call(e,"CapsLockState")&&t.uint32(8).bool(e.CapsLockState),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientEnter;e.pos<r;){var o=e.uint32();o>>>3==1?n.CapsLockState=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.CapsLockState&&e.hasOwnProperty("CapsLockState")&&"boolean"!=typeof e.CapsLockState?"CapsLockState: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.ClientEnter)return e;var t=new l.CloudLark.ClientEnter;return null!=e.CapsLockState&&(t.CapsLockState=Boolean(e.CapsLockState)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.CapsLockState=!1),null!=e.CapsLockState&&e.hasOwnProperty("CapsLockState")&&(r.CapsLockState=e.CapsLockState),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ClientLeave=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientLeave;e.pos<r;){var o=e.uint32();e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof l.CloudLark.ClientLeave?e:new l.CloudLark.ClientLeave},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchUp)return e;var t=new l.CloudLark.TouchUp;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchDown)return e;var t=new l.CloudLark.TouchDown;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchMove=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchMove;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchMove)return e;var t=new l.CloudLark.TouchMove;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppResize=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppResize;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppResize)return e;var t=new l.CloudLark.AppResize;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseLockRect=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.top=0,e.prototype.left=0,e.prototype.right=0,e.prototype.bottom=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.top&&Object.hasOwnProperty.call(e,"top")&&t.uint32(8).int32(e.top),null!=e.left&&Object.hasOwnProperty.call(e,"left")&&t.uint32(16).int32(e.left),null!=e.right&&Object.hasOwnProperty.call(e,"right")&&t.uint32(24).int32(e.right),null!=e.bottom&&Object.hasOwnProperty.call(e,"bottom")&&t.uint32(32).int32(e.bottom),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseLockRect;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.top=e.int32();break;case 2:n.left=e.int32();break;case 3:n.right=e.int32();break;case 4:n.bottom=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.top&&e.hasOwnProperty("top")&&!u.isInteger(e.top)?"top: integer expected":null!=e.left&&e.hasOwnProperty("left")&&!u.isInteger(e.left)?"left: integer expected":null!=e.right&&e.hasOwnProperty("right")&&!u.isInteger(e.right)?"right: integer expected":null!=e.bottom&&e.hasOwnProperty("bottom")&&!u.isInteger(e.bottom)?"bottom: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseLockRect)return e;var t=new l.CloudLark.MouseLockRect;return null!=e.top&&(t.top=0|e.top),null!=e.left&&(t.left=0|e.left),null!=e.right&&(t.right=0|e.right),null!=e.bottom&&(t.bottom=0|e.bottom),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.top=0,r.left=0,r.right=0,r.bottom=0),null!=e.top&&e.hasOwnProperty("top")&&(r.top=e.top),null!=e.left&&e.hasOwnProperty("left")&&(r.left=e.left),null!=e.right&&e.hasOwnProperty("right")&&(r.right=e.right),null!=e.bottom&&e.hasOwnProperty("bottom")&&(r.bottom=e.bottom),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppMouseMode=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.mouseShow=!1,e.prototype.mouseLock=!1,e.prototype.mouseRelative=!1,e.prototype.rect=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.mouseShow&&Object.hasOwnProperty.call(e,"mouseShow")&&t.uint32(8).bool(e.mouseShow),null!=e.mouseLock&&Object.hasOwnProperty.call(e,"mouseLock")&&t.uint32(16).bool(e.mouseLock),null!=e.mouseRelative&&Object.hasOwnProperty.call(e,"mouseRelative")&&t.uint32(24).bool(e.mouseRelative),null!=e.rect&&Object.hasOwnProperty.call(e,"rect")&&l.CloudLark.MouseLockRect.encode(e.rect,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppMouseMode;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.mouseShow=e.bool();break;case 2:n.mouseLock=e.bool();break;case 3:n.mouseRelative=e.bool();break;case 4:n.rect=l.CloudLark.MouseLockRect.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.mouseShow&&e.hasOwnProperty("mouseShow")&&"boolean"!=typeof e.mouseShow)return"mouseShow: boolean expected";if(null!=e.mouseLock&&e.hasOwnProperty("mouseLock")&&"boolean"!=typeof e.mouseLock)return"mouseLock: boolean expected";if(null!=e.mouseRelative&&e.hasOwnProperty("mouseRelative")&&"boolean"!=typeof e.mouseRelative)return"mouseRelative: boolean expected";if(null!=e.rect&&e.hasOwnProperty("rect")){var t=l.CloudLark.MouseLockRect.verify(e.rect);if(t)return"rect."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppMouseMode)return e;var t=new l.CloudLark.AppMouseMode;if(null!=e.mouseShow&&(t.mouseShow=Boolean(e.mouseShow)),null!=e.mouseLock&&(t.mouseLock=Boolean(e.mouseLock)),null!=e.mouseRelative&&(t.mouseRelative=Boolean(e.mouseRelative)),null!=e.rect){if("object"!=typeof e.rect)throw TypeError(".CloudLark.AppMouseMode.rect: object expected");t.rect=l.CloudLark.MouseLockRect.fromObject(e.rect)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.mouseShow=!1,r.mouseLock=!1,r.mouseRelative=!1,r.rect=null),null!=e.mouseShow&&e.hasOwnProperty("mouseShow")&&(r.mouseShow=e.mouseShow),null!=e.mouseLock&&e.hasOwnProperty("mouseLock")&&(r.mouseLock=e.mouseLock),null!=e.mouseRelative&&e.hasOwnProperty("mouseRelative")&&(r.mouseRelative=e.mouseRelative),null!=e.rect&&e.hasOwnProperty("rect")&&(r.rect=l.CloudLark.MouseLockRect.toObject(e.rect,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.PlayerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.prototype.nickName="",e.prototype.taskOwner=!1,e.prototype.controller=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),null!=e.nickName&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),null!=e.taskOwner&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),null!=e.controller&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.PlayerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.id=e.uint32();break;case 2:n.nickName=e.string();break;case 3:n.taskOwner=e.bool();break;case 4:n.controller=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null!=e.nickName&&e.hasOwnProperty("nickName")&&!u.isString(e.nickName)?"nickName: string expected":null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&"boolean"!=typeof e.taskOwner?"taskOwner: boolean expected":null!=e.controller&&e.hasOwnProperty("controller")&&"boolean"!=typeof e.controller?"controller: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.PlayerDesc)return e;var t=new l.CloudLark.PlayerDesc;return null!=e.id&&(t.id=e.id>>>0),null!=e.nickName&&(t.nickName=String(e.nickName)),null!=e.taskOwner&&(t.taskOwner=Boolean(e.taskOwner)),null!=e.controller&&(t.controller=Boolean(e.controller)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nickName&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),null!=e.controller&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.UpdatePlayersDesc=function(){function e(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.descs=u.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.descs&&e.descs.length)for(var r=0;r<e.descs.length;++r)l.CloudLark.PlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.UpdatePlayersDesc;e.pos<r;){var o=e.uint32();o>>>3==1?(n.descs&&n.descs.length||(n.descs=[]),n.descs.push(l.CloudLark.PlayerDesc.decode(e,e.uint32()))):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.descs&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=l.CloudLark.PlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.UpdatePlayersDesc)return e;var t=new l.CloudLark.UpdatePlayersDesc;if(e.descs){if(!Array.isArray(e.descs))throw TypeError(".CloudLark.UpdatePlayersDesc.descs: array expected");t.descs=[];for(var r=0;r<e.descs.length;++r){if("object"!=typeof e.descs[r])throw TypeError(".CloudLark.UpdatePlayersDesc.descs: object expected");t.descs[r]=l.CloudLark.PlayerDesc.fromObject(e.descs[r])}}return t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var n=0;n<e.descs.length;++n)r.descs[n]=l.CloudLark.PlayerDesc.toObject(e.descs[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppRequestInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.inputmethodenable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.inputmethodenable&&Object.hasOwnProperty.call(e,"inputmethodenable")&&t.uint32(8).bool(e.inputmethodenable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppRequestInput;e.pos<r;){var o=e.uint32();o>>>3==1?n.inputmethodenable=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.inputmethodenable&&e.hasOwnProperty("inputmethodenable")&&"boolean"!=typeof e.inputmethodenable?"inputmethodenable: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppRequestInput)return e;var t=new l.CloudLark.AppRequestInput;return null!=e.inputmethodenable&&(t.inputmethodenable=Boolean(e.inputmethodenable)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.inputmethodenable=!1),null!=e.inputmethodenable&&e.hasOwnProperty("inputmethodenable")&&(r.inputmethodenable=e.inputmethodenable),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.DispatchController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.DispatchController;e.pos<r;){var o=e.uint32();o>>>3==1?n.id=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.DispatchController)return e;var t=new l.CloudLark.DispatchController;return null!=e.id&&(t.id=e.id>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.RequestController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enable&&Object.hasOwnProperty.call(e,"enable")&&t.uint32(8).bool(e.enable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.RequestController;e.pos<r;){var o=e.uint32();o>>>3==1?n.enable=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enable&&e.hasOwnProperty("enable")&&"boolean"!=typeof e.enable?"enable: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.RequestController)return e;var t=new l.CloudLark.RequestController;return null!=e.enable&&(t.enable=Boolean(e.enable)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enable=!1),null!=e.enable&&e.hasOwnProperty("enable")&&(r.enable=e.enable),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TextInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.content="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(10).string(e.content),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TextInput;e.pos<r;){var o=e.uint32();o>>>3==1?n.content=e.string():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.content&&e.hasOwnProperty("content")&&!u.isString(e.content)?"content: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TextInput)return e;var t=new l.CloudLark.TextInput;return null!=e.content&&(t.content=String(e.content)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.content=""),null!=e.content&&e.hasOwnProperty("content")&&(r.content=e.content),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputButtonDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.button=0,e.prototype.isRepeat=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.button&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),null!=e.isRepeat&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(24).bool(e.isRepeat),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputButtonDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.button=e.uint32();break;case 3:n.isRepeat=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.button&&e.hasOwnProperty("button")&&!u.isInteger(e.button)?"button: integer expected":null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&"boolean"!=typeof e.isRepeat?"isRepeat: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputButtonDown)return e;var t=new l.CloudLark.GamepadInputButtonDown;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.button&&(t.button=e.button>>>0),null!=e.isRepeat&&(t.isRepeat=Boolean(e.isRepeat)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0,r.isRepeat=!1),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.button&&e.hasOwnProperty("button")&&(r.button=e.button),null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputButtonUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.button=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.button&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputButtonUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.button=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.button&&e.hasOwnProperty("button")&&!u.isInteger(e.button)?"button: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputButtonUp)return e;var t=new l.CloudLark.GamepadInputButtonUp;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.button&&(t.button=e.button>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.button&&e.hasOwnProperty("button")&&(r.button=e.button),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputJoyStickStates=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.thumblx=0,e.prototype.thumbly=0,e.prototype.thumbrx=0,e.prototype.thumbry=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.thumblx&&Object.hasOwnProperty.call(e,"thumblx")&&t.uint32(16).int32(e.thumblx),null!=e.thumbly&&Object.hasOwnProperty.call(e,"thumbly")&&t.uint32(24).int32(e.thumbly),null!=e.thumbrx&&Object.hasOwnProperty.call(e,"thumbrx")&&t.uint32(32).int32(e.thumbrx),null!=e.thumbry&&Object.hasOwnProperty.call(e,"thumbry")&&t.uint32(40).int32(e.thumbry),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputJoyStickStates;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.thumblx=e.int32();break;case 3:n.thumbly=e.int32();break;case 4:n.thumbrx=e.int32();break;case 5:n.thumbry=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.thumblx&&e.hasOwnProperty("thumblx")&&!u.isInteger(e.thumblx)?"thumblx: integer expected":null!=e.thumbly&&e.hasOwnProperty("thumbly")&&!u.isInteger(e.thumbly)?"thumbly: integer expected":null!=e.thumbrx&&e.hasOwnProperty("thumbrx")&&!u.isInteger(e.thumbrx)?"thumbrx: integer expected":null!=e.thumbry&&e.hasOwnProperty("thumbry")&&!u.isInteger(e.thumbry)?"thumbry: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputJoyStickStates)return e;var t=new l.CloudLark.GamepadInputJoyStickStates;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.thumblx&&(t.thumblx=0|e.thumblx),null!=e.thumbly&&(t.thumbly=0|e.thumbly),null!=e.thumbrx&&(t.thumbrx=0|e.thumbrx),null!=e.thumbry&&(t.thumbry=0|e.thumbry),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.thumblx=0,r.thumbly=0,r.thumbrx=0,r.thumbry=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.thumblx&&e.hasOwnProperty("thumblx")&&(r.thumblx=e.thumblx),null!=e.thumbly&&e.hasOwnProperty("thumbly")&&(r.thumbly=e.thumbly),null!=e.thumbrx&&e.hasOwnProperty("thumbrx")&&(r.thumbrx=e.thumbrx),null!=e.thumbry&&e.hasOwnProperty("thumbry")&&(r.thumbry=e.thumbry),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputTriger=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.isleft=!1,e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.isleft&&Object.hasOwnProperty.call(e,"isleft")&&t.uint32(16).bool(e.isleft),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(24).int32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputTriger;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.isleft=e.bool();break;case 3:n.value=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.isleft&&e.hasOwnProperty("isleft")&&"boolean"!=typeof e.isleft?"isleft: boolean expected":null!=e.value&&e.hasOwnProperty("value")&&!u.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputTriger)return e;var t=new l.CloudLark.GamepadInputTriger;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.isleft&&(t.isleft=Boolean(e.isleft)),null!=e.value&&(t.value=0|e.value),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.isleft=!1,r.value=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.isleft&&e.hasOwnProperty("isleft")&&(r.isleft=e.isleft),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadOutput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.leftmotorspeed=0,e.prototype.rightmotorspeed=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.leftmotorspeed&&Object.hasOwnProperty.call(e,"leftmotorspeed")&&t.uint32(16).uint32(e.leftmotorspeed),null!=e.rightmotorspeed&&Object.hasOwnProperty.call(e,"rightmotorspeed")&&t.uint32(24).uint32(e.rightmotorspeed),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadOutput;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.leftmotorspeed=e.uint32();break;case 3:n.rightmotorspeed=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.leftmotorspeed&&e.hasOwnProperty("leftmotorspeed")&&!u.isInteger(e.leftmotorspeed)?"leftmotorspeed: integer expected":null!=e.rightmotorspeed&&e.hasOwnProperty("rightmotorspeed")&&!u.isInteger(e.rightmotorspeed)?"rightmotorspeed: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadOutput)return e;var t=new l.CloudLark.GamepadOutput;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.leftmotorspeed&&(t.leftmotorspeed=e.leftmotorspeed>>>0),null!=e.rightmotorspeed&&(t.rightmotorspeed=e.rightmotorspeed>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.leftmotorspeed=0,r.rightmotorspeed=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.leftmotorspeed&&e.hasOwnProperty("leftmotorspeed")&&(r.leftmotorspeed=e.leftmotorspeed),null!=e.rightmotorspeed&&e.hasOwnProperty("rightmotorspeed")&&(r.rightmotorspeed=e.rightmotorspeed),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppDataChannelState=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppDataChannelState;e.pos<r;){var o=e.uint32();o>>>3==1?n.state=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppDataChannelState)return e;var t=new l.CloudLark.AppDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.AppDataChannelState.State[e.state]:e.state),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),e}(),i.AppDataChannelMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.data=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppDataChannelMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.data=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||u.isString(e.data))?"data: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppDataChannelMessage)return e;var t=new l.CloudLark.AppDataChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return null!=e.data&&("string"==typeof e.data?u.base64.decode(e.data,t.data=u.newBuffer(u.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"STRING":0,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=u.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.AppDataChannelMessage.Type[e.type]:e.type),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?u.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),e}(),i.SyncCursorStyle=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.hotX=0,e.prototype.hotY=0,e.prototype.width=0,e.prototype.height=0,e.prototype.customBase64="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.hotX&&Object.hasOwnProperty.call(e,"hotX")&&t.uint32(16).int32(e.hotX),null!=e.hotY&&Object.hasOwnProperty.call(e,"hotY")&&t.uint32(24).int32(e.hotY),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(32).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(40).uint32(e.height),null!=e.customBase64&&Object.hasOwnProperty.call(e,"customBase64")&&t.uint32(50).string(e.customBase64),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.SyncCursorStyle;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.hotX=e.int32();break;case 3:n.hotY=e.int32();break;case 4:n.width=e.uint32();break;case 5:n.height=e.uint32();break;case 6:n.customBase64=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:}return null!=e.hotX&&e.hasOwnProperty("hotX")&&!u.isInteger(e.hotX)?"hotX: integer expected":null!=e.hotY&&e.hasOwnProperty("hotY")&&!u.isInteger(e.hotY)?"hotY: integer expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.customBase64&&e.hasOwnProperty("customBase64")&&!u.isString(e.customBase64)?"customBase64: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.SyncCursorStyle)return e;var t=new l.CloudLark.SyncCursorStyle;switch(e.type){case"ARROW":case 0:t.type=0;break;case"IBEAM":case 1:t.type=1;break;case"WAIT":case 2:t.type=2;break;case"CROSS":case 3:t.type=3;break;case"SIZENWSE":case 4:t.type=4;break;case"SIZENESW":case 5:t.type=5;break;case"SIZEWE":case 6:t.type=6;break;case"SIZENS":case 7:t.type=7;break;case"SIZEALL":case 8:t.type=8;break;case"NO":case 9:t.type=9;break;case"HAND":case 10:t.type=10;break;case"CUSTOM":case 11:t.type=11}return null!=e.hotX&&(t.hotX=0|e.hotX),null!=e.hotY&&(t.hotY=0|e.hotY),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.customBase64&&(t.customBase64=String(e.customBase64)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"ARROW":0,r.hotX=0,r.hotY=0,r.width=0,r.height=0,r.customBase64=""),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.SyncCursorStyle.CursorType[e.type]:e.type),null!=e.hotX&&e.hasOwnProperty("hotX")&&(r.hotX=e.hotX),null!=e.hotY&&e.hasOwnProperty("hotY")&&(r.hotY=e.hotY),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.customBase64&&e.hasOwnProperty("customBase64")&&(r.customBase64=e.customBase64),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.CursorType=function(){var e={},t=Object.create(e);return t[e[0]="ARROW"]=0,t[e[1]="IBEAM"]=1,t[e[2]="WAIT"]=2,t[e[3]="CROSS"]=3,t[e[4]="SIZENWSE"]=4,t[e[5]="SIZENESW"]=5,t[e[6]="SIZEWE"]=6,t[e[7]="SIZENS"]=7,t[e[8]="SIZEALL"]=8,t[e[9]="NO"]=9,t[e[10]="HAND"]=10,t[e[11]="CUSTOM"]=11,t}(),e}(),i.AiVoiceServiceStatus=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.success=!1,e.prototype.reason="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.success&&Object.hasOwnProperty.call(e,"success")&&t.uint32(8).bool(e.success),null!=e.reason&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(18).string(e.reason),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceServiceStatus;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.success=e.bool();break;case 2:n.reason=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.success&&e.hasOwnProperty("success")&&"boolean"!=typeof e.success?"success: boolean expected":null!=e.reason&&e.hasOwnProperty("reason")&&!u.isString(e.reason)?"reason: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceServiceStatus)return e;var t=new l.CloudLark.AiVoiceServiceStatus;return null!=e.success&&(t.success=Boolean(e.success)),null!=e.reason&&(t.reason=String(e.reason)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.success=!1,r.reason=""),null!=e.success&&e.hasOwnProperty("success")&&(r.success=e.success),null!=e.reason&&e.hasOwnProperty("reason")&&(r.reason=e.reason),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamStart=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamStart;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamStart)return e;var t=new l.CloudLark.AiVoiceStreamStart;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamSlice=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.sliceId=0,e.prototype.audio=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.sliceId&&Object.hasOwnProperty.call(e,"sliceId")&&t.uint32(16).uint32(e.sliceId),null!=e.audio&&Object.hasOwnProperty.call(e,"audio")&&t.uint32(26).bytes(e.audio),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamSlice;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.sliceId=e.uint32();break;case 3:n.audio=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.sliceId&&e.hasOwnProperty("sliceId")&&!u.isInteger(e.sliceId)?"sliceId: integer expected":null!=e.audio&&e.hasOwnProperty("audio")&&!(e.audio&&"number"==typeof e.audio.length||u.isString(e.audio))?"audio: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamSlice)return e;var t=new l.CloudLark.AiVoiceStreamSlice;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.sliceId&&(t.sliceId=e.sliceId>>>0),null!=e.audio&&("string"==typeof e.audio?u.base64.decode(e.audio,t.audio=u.newBuffer(u.base64.length(e.audio)),0):e.audio.length&&(t.audio=e.audio)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.sliceId=0,t.bytes===String?r.audio="":(r.audio=[],t.bytes!==Array&&(r.audio=u.newBuffer(r.audio)))),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.sliceId&&e.hasOwnProperty("sliceId")&&(r.sliceId=e.sliceId),null!=e.audio&&e.hasOwnProperty("audio")&&(r.audio=t.bytes===String?u.base64.encode(e.audio,0,e.audio.length):t.bytes===Array?Array.prototype.slice.call(e.audio):e.audio),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamStop=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamStop;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamStop)return e;var t=new l.CloudLark.AiVoiceStreamStop;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceText=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceText;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceText)return e;var t=new l.CloudLark.AiVoiceText;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamReset=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamReset;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamReset)return e;var t=new l.CloudLark.AiVoiceStreamReset;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceRealTimeParseResult=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceRealTimeParseResult;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceRealTimeParseResult)return e;var t=new l.CloudLark.AiVoiceRealTimeParseResult;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceResult=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceResult;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceResult)return e;var t=new l.CloudLark.AiVoiceResult;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AivoiceError=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AivoiceError;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AivoiceError)return e;var t=new l.CloudLark.AivoiceError;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_Start=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.framerate=0,e.prototype.bitrate=0,e.prototype.path="",e.prototype.key="",e.prototype.reconnect=!1,e.prototype.reconnectRetries=0,e.prototype.voice=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.framerate&&Object.hasOwnProperty.call(e,"framerate")&&t.uint32(24).uint32(e.framerate),null!=e.bitrate&&Object.hasOwnProperty.call(e,"bitrate")&&t.uint32(32).uint32(e.bitrate),null!=e.path&&Object.hasOwnProperty.call(e,"path")&&t.uint32(42).string(e.path),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(50).string(e.key),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&t.uint32(56).bool(e.reconnect),null!=e.reconnectRetries&&Object.hasOwnProperty.call(e,"reconnectRetries")&&t.uint32(64).uint32(e.reconnectRetries),null!=e.voice&&Object.hasOwnProperty.call(e,"voice")&&t.uint32(72).bool(e.voice),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Start;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.framerate=e.uint32();break;case 4:n.bitrate=e.uint32();break;case 5:n.path=e.string();break;case 6:n.key=e.string();break;case 7:n.reconnect=e.bool();break;case 8:n.reconnectRetries=e.uint32();break;case 9:n.voice=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.framerate&&e.hasOwnProperty("framerate")&&!u.isInteger(e.framerate)?"framerate: integer expected":null!=e.bitrate&&e.hasOwnProperty("bitrate")&&!u.isInteger(e.bitrate)?"bitrate: integer expected":null!=e.path&&e.hasOwnProperty("path")&&!u.isString(e.path)?"path: string expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isString(e.key)?"key: string expected":null!=e.reconnect&&e.hasOwnProperty("reconnect")&&"boolean"!=typeof e.reconnect?"reconnect: boolean expected":null!=e.reconnectRetries&&e.hasOwnProperty("reconnectRetries")&&!u.isInteger(e.reconnectRetries)?"reconnectRetries: integer expected":null!=e.voice&&e.hasOwnProperty("voice")&&"boolean"!=typeof e.voice?"voice: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Start)return e;var t=new l.CloudLark.Rtmp_Start;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.framerate&&(t.framerate=e.framerate>>>0),null!=e.bitrate&&(t.bitrate=e.bitrate>>>0),null!=e.path&&(t.path=String(e.path)),null!=e.key&&(t.key=String(e.key)),null!=e.reconnect&&(t.reconnect=Boolean(e.reconnect)),null!=e.reconnectRetries&&(t.reconnectRetries=e.reconnectRetries>>>0),null!=e.voice&&(t.voice=Boolean(e.voice)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0,r.framerate=0,r.bitrate=0,r.path="",r.key="",r.reconnect=!1,r.reconnectRetries=0,r.voice=!1),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.framerate&&e.hasOwnProperty("framerate")&&(r.framerate=e.framerate),null!=e.bitrate&&e.hasOwnProperty("bitrate")&&(r.bitrate=e.bitrate),null!=e.path&&e.hasOwnProperty("path")&&(r.path=e.path),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=e.reconnect),null!=e.reconnectRetries&&e.hasOwnProperty("reconnectRetries")&&(r.reconnectRetries=e.reconnectRetries),null!=e.voice&&e.hasOwnProperty("voice")&&(r.voice=e.voice),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_Stop=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.flag=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.flag&&Object.hasOwnProperty.call(e,"flag")&&t.uint32(8).bool(e.flag),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Stop;e.pos<r;){var o=e.uint32();o>>>3==1?n.flag=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.flag&&e.hasOwnProperty("flag")&&"boolean"!=typeof e.flag?"flag: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Stop)return e;var t=new l.CloudLark.Rtmp_Stop;return null!=e.flag&&(t.flag=Boolean(e.flag)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.flag=!1),null!=e.flag&&e.hasOwnProperty("flag")&&(r.flag=e.flag),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_State=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.prototype.desc="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),null!=e.desc&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_State;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.state=e.int32();break;case 2:n.desc=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.desc&&e.hasOwnProperty("desc")&&!u.isString(e.desc)?"desc: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_State)return e;var t=new l.CloudLark.Rtmp_State;switch(e.state){case"CONNECTING":case 0:t.state=0;break;case"CONNECTED":case 1:t.state=1;break;case"RECONNECTING":case 2:t.state=2;break;case"DISCONNECTING":case 3:t.state=3;break;case"DISCONNECTED":case 4:t.state=4}return null!=e.desc&&(t.desc=String(e.desc)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"CONNECTING":0,r.desc=""),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.Rtmp_State.STATE[e.state]:e.state),null!=e.desc&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.STATE=function(){var e={},t=Object.create(e);return t[e[0]="CONNECTING"]=0,t[e[1]="CONNECTED"]=1,t[e[2]="RECONNECTING"]=2,t[e[3]="DISCONNECTING"]=3,t[e[4]="DISCONNECTED"]=4,t}(),e}(),i.Rtmp_Error=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.error=0,e.prototype.desc="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&t.uint32(8).int32(e.error),null!=e.desc&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Error;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.error=e.int32();break;case 2:n.desc=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.error&&e.hasOwnProperty("error"))switch(e.error){default:return"error: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:}return null!=e.desc&&e.hasOwnProperty("desc")&&!u.isString(e.desc)?"desc: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Error)return e;var t=new l.CloudLark.Rtmp_Error;switch(e.error){case"PROCESS":case 0:t.error=0;break;case"BADPATH":case 1:t.error=1;break;case"ENCODER":case 2:t.error=2;break;case"CONNECTE_FAILED":case 3:t.error=3;break;case"INVALID_STREAM":case 4:t.error=4;break;case"DISCONNECTED":case 5:t.error=5;break;case"UNSUPPORTED":case 6:t.error=6;break;case"REPEATED":case 7:t.error=7}return null!=e.desc&&(t.desc=String(e.desc)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.error=t.enums===String?"PROCESS":0,r.desc=""),null!=e.error&&e.hasOwnProperty("error")&&(r.error=t.enums===String?l.CloudLark.Rtmp_Error.ERR[e.error]:e.error),null!=e.desc&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.ERR=function(){var e={},t=Object.create(e);return t[e[0]="PROCESS"]=0,t[e[1]="BADPATH"]=1,t[e[2]="ENCODER"]=2,t[e[3]="CONNECTE_FAILED"]=3,t[e[4]="INVALID_STREAM"]=4,t[e[5]="DISCONNECTED"]=5,t[e[6]="UNSUPPORTED"]=6,t[e[7]="REPEATED"]=7,t}(),e}(),i.ClientInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.mouseMove=null,e.prototype.mouseDown=null,e.prototype.mouseUp=null,e.prototype.mouseWheel=null,e.prototype.keyDown=null,e.prototype.keyUp=null,e.prototype.clientEnter=null,e.prototype.clientLeave=null,e.prototype.dispatchController=null,e.prototype.requesController=null,e.prototype.textInput=null,e.prototype.gamepadInputJoystickStates=null,e.prototype.gamepadInputButtonDown=null,e.prototype.gamepadInputButtonUp=null,e.prototype.gamepadInputTriger=null,e.prototype.clientDcMsg=null,e.prototype.touchMove=null,e.prototype.touchDown=null,e.prototype.touchUp=null,e.prototype.aiVoicestreamStart=null,e.prototype.aiVoicestreamSlice=null,e.prototype.aiVoicestreamStop=null,e.prototype.aiVoicestreamReset=null,e.prototype.aiVoiceText=null,e.prototype.rtmpStart=null,e.prototype.rtmpStop=null,Object.defineProperty(e.prototype,"input",{get:u.oneOfGetter(t=["mouseMove","mouseDown","mouseUp","mouseWheel","keyDown","keyUp","clientEnter","clientLeave","dispatchController","requesController","textInput","gamepadInputJoystickStates","gamepadInputButtonDown","gamepadInputButtonUp","gamepadInputTriger","clientDcMsg","touchMove","touchDown","touchUp","aiVoicestreamStart","aiVoicestreamSlice","aiVoicestreamStop","aiVoicestreamReset","aiVoiceText","rtmpStart","rtmpStop"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.mouseMove&&Object.hasOwnProperty.call(e,"mouseMove")&&l.CloudLark.MouseMove.encode(e.mouseMove,t.uint32(10).fork()).ldelim(),null!=e.mouseDown&&Object.hasOwnProperty.call(e,"mouseDown")&&l.CloudLark.MouseDown.encode(e.mouseDown,t.uint32(18).fork()).ldelim(),null!=e.mouseUp&&Object.hasOwnProperty.call(e,"mouseUp")&&l.CloudLark.MouseUp.encode(e.mouseUp,t.uint32(26).fork()).ldelim(),null!=e.mouseWheel&&Object.hasOwnProperty.call(e,"mouseWheel")&&l.CloudLark.MouseWheel.encode(e.mouseWheel,t.uint32(34).fork()).ldelim(),null!=e.keyDown&&Object.hasOwnProperty.call(e,"keyDown")&&l.CloudLark.KeyDown.encode(e.keyDown,t.uint32(42).fork()).ldelim(),null!=e.keyUp&&Object.hasOwnProperty.call(e,"keyUp")&&l.CloudLark.KeyUp.encode(e.keyUp,t.uint32(50).fork()).ldelim(),null!=e.clientEnter&&Object.hasOwnProperty.call(e,"clientEnter")&&l.CloudLark.ClientEnter.encode(e.clientEnter,t.uint32(58).fork()).ldelim(),null!=e.clientLeave&&Object.hasOwnProperty.call(e,"clientLeave")&&l.CloudLark.ClientLeave.encode(e.clientLeave,t.uint32(66).fork()).ldelim(),null!=e.dispatchController&&Object.hasOwnProperty.call(e,"dispatchController")&&l.CloudLark.DispatchController.encode(e.dispatchController,t.uint32(74).fork()).ldelim(),null!=e.requesController&&Object.hasOwnProperty.call(e,"requesController")&&l.CloudLark.RequestController.encode(e.requesController,t.uint32(82).fork()).ldelim(),null!=e.textInput&&Object.hasOwnProperty.call(e,"textInput")&&l.CloudLark.TextInput.encode(e.textInput,t.uint32(90).fork()).ldelim(),null!=e.gamepadInputJoystickStates&&Object.hasOwnProperty.call(e,"gamepadInputJoystickStates")&&l.CloudLark.GamepadInputJoyStickStates.encode(e.gamepadInputJoystickStates,t.uint32(98).fork()).ldelim(),null!=e.gamepadInputButtonDown&&Object.hasOwnProperty.call(e,"gamepadInputButtonDown")&&l.CloudLark.GamepadInputButtonDown.encode(e.gamepadInputButtonDown,t.uint32(106).fork()).ldelim(),null!=e.gamepadInputButtonUp&&Object.hasOwnProperty.call(e,"gamepadInputButtonUp")&&l.CloudLark.GamepadInputButtonUp.encode(e.gamepadInputButtonUp,t.uint32(114).fork()).ldelim(),null!=e.gamepadInputTriger&&Object.hasOwnProperty.call(e,"gamepadInputTriger")&&l.CloudLark.GamepadInputTriger.encode(e.gamepadInputTriger,t.uint32(122).fork()).ldelim(),null!=e.clientDcMsg&&Object.hasOwnProperty.call(e,"clientDcMsg")&&l.CloudLark.AppDataChannelMessage.encode(e.clientDcMsg,t.uint32(130).fork()).ldelim(),null!=e.touchMove&&Object.hasOwnProperty.call(e,"touchMove")&&l.CloudLark.TouchMove.encode(e.touchMove,t.uint32(138).fork()).ldelim(),null!=e.touchDown&&Object.hasOwnProperty.call(e,"touchDown")&&l.CloudLark.TouchDown.encode(e.touchDown,t.uint32(146).fork()).ldelim(),null!=e.touchUp&&Object.hasOwnProperty.call(e,"touchUp")&&l.CloudLark.TouchUp.encode(e.touchUp,t.uint32(154).fork()).ldelim(),null!=e.aiVoicestreamStart&&Object.hasOwnProperty.call(e,"aiVoicestreamStart")&&l.CloudLark.AiVoiceStreamStart.encode(e.aiVoicestreamStart,t.uint32(162).fork()).ldelim(),null!=e.aiVoicestreamSlice&&Object.hasOwnProperty.call(e,"aiVoicestreamSlice")&&l.CloudLark.AiVoiceStreamSlice.encode(e.aiVoicestreamSlice,t.uint32(170).fork()).ldelim(),null!=e.aiVoicestreamStop&&Object.hasOwnProperty.call(e,"aiVoicestreamStop")&&l.CloudLark.AiVoiceStreamStop.encode(e.aiVoicestreamStop,t.uint32(178).fork()).ldelim(),null!=e.aiVoicestreamReset&&Object.hasOwnProperty.call(e,"aiVoicestreamReset")&&l.CloudLark.AiVoiceStreamReset.encode(e.aiVoicestreamReset,t.uint32(186).fork()).ldelim(),null!=e.aiVoiceText&&Object.hasOwnProperty.call(e,"aiVoiceText")&&l.CloudLark.AiVoiceText.encode(e.aiVoiceText,t.uint32(194).fork()).ldelim(),null!=e.rtmpStart&&Object.hasOwnProperty.call(e,"rtmpStart")&&l.CloudLark.Rtmp_Start.encode(e.rtmpStart,t.uint32(202).fork()).ldelim(),null!=e.rtmpStop&&Object.hasOwnProperty.call(e,"rtmpStop")&&l.CloudLark.Rtmp_Stop.encode(e.rtmpStop,t.uint32(210).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientInput;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.mouseMove=l.CloudLark.MouseMove.decode(e,e.uint32());break;case 2:n.mouseDown=l.CloudLark.MouseDown.decode(e,e.uint32());break;case 3:n.mouseUp=l.CloudLark.MouseUp.decode(e,e.uint32());break;case 4:n.mouseWheel=l.CloudLark.MouseWheel.decode(e,e.uint32());break;case 5:n.keyDown=l.CloudLark.KeyDown.decode(e,e.uint32());break;case 6:n.keyUp=l.CloudLark.KeyUp.decode(e,e.uint32());break;case 7:n.clientEnter=l.CloudLark.ClientEnter.decode(e,e.uint32());break;case 8:n.clientLeave=l.CloudLark.ClientLeave.decode(e,e.uint32());break;case 9:n.dispatchController=l.CloudLark.DispatchController.decode(e,e.uint32());break;case 10:n.requesController=l.CloudLark.RequestController.decode(e,e.uint32());break;case 11:n.textInput=l.CloudLark.TextInput.decode(e,e.uint32());break;case 12:n.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.decode(e,e.uint32());break;case 13:n.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.decode(e,e.uint32());break;case 14:n.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.decode(e,e.uint32());break;case 15:n.gamepadInputTriger=l.CloudLark.GamepadInputTriger.decode(e,e.uint32());break;case 16:n.clientDcMsg=l.CloudLark.AppDataChannelMessage.decode(e,e.uint32());break;case 17:n.touchMove=l.CloudLark.TouchMove.decode(e,e.uint32());break;case 18:n.touchDown=l.CloudLark.TouchDown.decode(e,e.uint32());break;case 19:n.touchUp=l.CloudLark.TouchUp.decode(e,e.uint32());break;case 20:n.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.decode(e,e.uint32());break;case 21:n.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.decode(e,e.uint32());break;case 22:n.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.decode(e,e.uint32());break;case 23:n.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.decode(e,e.uint32());break;case 24:n.aiVoiceText=l.CloudLark.AiVoiceText.decode(e,e.uint32());break;case 25:n.rtmpStart=l.CloudLark.Rtmp_Start.decode(e,e.uint32());break;case 26:n.rtmpStop=l.CloudLark.Rtmp_Stop.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.mouseMove&&e.hasOwnProperty("mouseMove")&&(t.input=1,r=l.CloudLark.MouseMove.verify(e.mouseMove)))return"mouseMove."+r;if(null!=e.mouseDown&&e.hasOwnProperty("mouseDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseDown.verify(e.mouseDown))return"mouseDown."+r}if(null!=e.mouseUp&&e.hasOwnProperty("mouseUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseUp.verify(e.mouseUp))return"mouseUp."+r}if(null!=e.mouseWheel&&e.hasOwnProperty("mouseWheel")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseWheel.verify(e.mouseWheel))return"mouseWheel."+r}if(null!=e.keyDown&&e.hasOwnProperty("keyDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.KeyDown.verify(e.keyDown))return"keyDown."+r}if(null!=e.keyUp&&e.hasOwnProperty("keyUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.KeyUp.verify(e.keyUp))return"keyUp."+r}if(null!=e.clientEnter&&e.hasOwnProperty("clientEnter")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.ClientEnter.verify(e.clientEnter))return"clientEnter."+r}if(null!=e.clientLeave&&e.hasOwnProperty("clientLeave")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.ClientLeave.verify(e.clientLeave))return"clientLeave."+r}if(null!=e.dispatchController&&e.hasOwnProperty("dispatchController")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.DispatchController.verify(e.dispatchController))return"dispatchController."+r}if(null!=e.requesController&&e.hasOwnProperty("requesController")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.RequestController.verify(e.requesController))return"requesController."+r}if(null!=e.textInput&&e.hasOwnProperty("textInput")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TextInput.verify(e.textInput))return"textInput."+r}if(null!=e.gamepadInputJoystickStates&&e.hasOwnProperty("gamepadInputJoystickStates")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputJoyStickStates.verify(e.gamepadInputJoystickStates))return"gamepadInputJoystickStates."+r}if(null!=e.gamepadInputButtonDown&&e.hasOwnProperty("gamepadInputButtonDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputButtonDown.verify(e.gamepadInputButtonDown))return"gamepadInputButtonDown."+r}if(null!=e.gamepadInputButtonUp&&e.hasOwnProperty("gamepadInputButtonUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputButtonUp.verify(e.gamepadInputButtonUp))return"gamepadInputButtonUp."+r}if(null!=e.gamepadInputTriger&&e.hasOwnProperty("gamepadInputTriger")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputTriger.verify(e.gamepadInputTriger))return"gamepadInputTriger."+r}if(null!=e.clientDcMsg&&e.hasOwnProperty("clientDcMsg")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AppDataChannelMessage.verify(e.clientDcMsg))return"clientDcMsg."+r}if(null!=e.touchMove&&e.hasOwnProperty("touchMove")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchMove.verify(e.touchMove))return"touchMove."+r}if(null!=e.touchDown&&e.hasOwnProperty("touchDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchDown.verify(e.touchDown))return"touchDown."+r}if(null!=e.touchUp&&e.hasOwnProperty("touchUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchUp.verify(e.touchUp))return"touchUp."+r}if(null!=e.aiVoicestreamStart&&e.hasOwnProperty("aiVoicestreamStart")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamStart.verify(e.aiVoicestreamStart))return"aiVoicestreamStart."+r}if(null!=e.aiVoicestreamSlice&&e.hasOwnProperty("aiVoicestreamSlice")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamSlice.verify(e.aiVoicestreamSlice))return"aiVoicestreamSlice."+r}if(null!=e.aiVoicestreamStop&&e.hasOwnProperty("aiVoicestreamStop")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamStop.verify(e.aiVoicestreamStop))return"aiVoicestreamStop."+r}if(null!=e.aiVoicestreamReset&&e.hasOwnProperty("aiVoicestreamReset")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamReset.verify(e.aiVoicestreamReset))return"aiVoicestreamReset."+r}if(null!=e.aiVoiceText&&e.hasOwnProperty("aiVoiceText")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceText.verify(e.aiVoiceText))return"aiVoiceText."+r}if(null!=e.rtmpStart&&e.hasOwnProperty("rtmpStart")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.Rtmp_Start.verify(e.rtmpStart))return"rtmpStart."+r}if(null!=e.rtmpStop&&e.hasOwnProperty("rtmpStop")){if(1===t.input)return"input: multiple values";var r;if(t.input=1,r=l.CloudLark.Rtmp_Stop.verify(e.rtmpStop))return"rtmpStop."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ClientInput)return e;var t=new l.CloudLark.ClientInput;if(null!=e.mouseMove){if("object"!=typeof e.mouseMove)throw TypeError(".CloudLark.ClientInput.mouseMove: object expected");t.mouseMove=l.CloudLark.MouseMove.fromObject(e.mouseMove)}if(null!=e.mouseDown){if("object"!=typeof e.mouseDown)throw TypeError(".CloudLark.ClientInput.mouseDown: object expected");t.mouseDown=l.CloudLark.MouseDown.fromObject(e.mouseDown)}if(null!=e.mouseUp){if("object"!=typeof e.mouseUp)throw TypeError(".CloudLark.ClientInput.mouseUp: object expected");t.mouseUp=l.CloudLark.MouseUp.fromObject(e.mouseUp)}if(null!=e.mouseWheel){if("object"!=typeof e.mouseWheel)throw TypeError(".CloudLark.ClientInput.mouseWheel: object expected");t.mouseWheel=l.CloudLark.MouseWheel.fromObject(e.mouseWheel)}if(null!=e.keyDown){if("object"!=typeof e.keyDown)throw TypeError(".CloudLark.ClientInput.keyDown: object expected");t.keyDown=l.CloudLark.KeyDown.fromObject(e.keyDown)}if(null!=e.keyUp){if("object"!=typeof e.keyUp)throw TypeError(".CloudLark.ClientInput.keyUp: object expected");t.keyUp=l.CloudLark.KeyUp.fromObject(e.keyUp)}if(null!=e.clientEnter){if("object"!=typeof e.clientEnter)throw TypeError(".CloudLark.ClientInput.clientEnter: object expected");t.clientEnter=l.CloudLark.ClientEnter.fromObject(e.clientEnter)}if(null!=e.clientLeave){if("object"!=typeof e.clientLeave)throw TypeError(".CloudLark.ClientInput.clientLeave: object expected");t.clientLeave=l.CloudLark.ClientLeave.fromObject(e.clientLeave)}if(null!=e.dispatchController){if("object"!=typeof e.dispatchController)throw TypeError(".CloudLark.ClientInput.dispatchController: object expected");t.dispatchController=l.CloudLark.DispatchController.fromObject(e.dispatchController)}if(null!=e.requesController){if("object"!=typeof e.requesController)throw TypeError(".CloudLark.ClientInput.requesController: object expected");t.requesController=l.CloudLark.RequestController.fromObject(e.requesController)}if(null!=e.textInput){if("object"!=typeof e.textInput)throw TypeError(".CloudLark.ClientInput.textInput: object expected");t.textInput=l.CloudLark.TextInput.fromObject(e.textInput)}if(null!=e.gamepadInputJoystickStates){if("object"!=typeof e.gamepadInputJoystickStates)throw TypeError(".CloudLark.ClientInput.gamepadInputJoystickStates: object expected");t.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.fromObject(e.gamepadInputJoystickStates)}if(null!=e.gamepadInputButtonDown){if("object"!=typeof e.gamepadInputButtonDown)throw TypeError(".CloudLark.ClientInput.gamepadInputButtonDown: object expected");t.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.fromObject(e.gamepadInputButtonDown)}if(null!=e.gamepadInputButtonUp){if("object"!=typeof e.gamepadInputButtonUp)throw TypeError(".CloudLark.ClientInput.gamepadInputButtonUp: object expected");t.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.fromObject(e.gamepadInputButtonUp)}if(null!=e.gamepadInputTriger){if("object"!=typeof e.gamepadInputTriger)throw TypeError(".CloudLark.ClientInput.gamepadInputTriger: object expected");t.gamepadInputTriger=l.CloudLark.GamepadInputTriger.fromObject(e.gamepadInputTriger)}if(null!=e.clientDcMsg){if("object"!=typeof e.clientDcMsg)throw TypeError(".CloudLark.ClientInput.clientDcMsg: object expected");t.clientDcMsg=l.CloudLark.AppDataChannelMessage.fromObject(e.clientDcMsg)}if(null!=e.touchMove){if("object"!=typeof e.touchMove)throw TypeError(".CloudLark.ClientInput.touchMove: object expected");t.touchMove=l.CloudLark.TouchMove.fromObject(e.touchMove)}if(null!=e.touchDown){if("object"!=typeof e.touchDown)throw TypeError(".CloudLark.ClientInput.touchDown: object expected");t.touchDown=l.CloudLark.TouchDown.fromObject(e.touchDown)}if(null!=e.touchUp){if("object"!=typeof e.touchUp)throw TypeError(".CloudLark.ClientInput.touchUp: object expected");t.touchUp=l.CloudLark.TouchUp.fromObject(e.touchUp)}if(null!=e.aiVoicestreamStart){if("object"!=typeof e.aiVoicestreamStart)throw TypeError(".CloudLark.ClientInput.aiVoicestreamStart: object expected");t.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.fromObject(e.aiVoicestreamStart)}if(null!=e.aiVoicestreamSlice){if("object"!=typeof e.aiVoicestreamSlice)throw TypeError(".CloudLark.ClientInput.aiVoicestreamSlice: object expected");t.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.fromObject(e.aiVoicestreamSlice)}if(null!=e.aiVoicestreamStop){if("object"!=typeof e.aiVoicestreamStop)throw TypeError(".CloudLark.ClientInput.aiVoicestreamStop: object expected");t.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.fromObject(e.aiVoicestreamStop)}if(null!=e.aiVoicestreamReset){if("object"!=typeof e.aiVoicestreamReset)throw TypeError(".CloudLark.ClientInput.aiVoicestreamReset: object expected");t.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.fromObject(e.aiVoicestreamReset)}if(null!=e.aiVoiceText){if("object"!=typeof e.aiVoiceText)throw TypeError(".CloudLark.ClientInput.aiVoiceText: object expected");t.aiVoiceText=l.CloudLark.AiVoiceText.fromObject(e.aiVoiceText)}if(null!=e.rtmpStart){if("object"!=typeof e.rtmpStart)throw TypeError(".CloudLark.ClientInput.rtmpStart: object expected");t.rtmpStart=l.CloudLark.Rtmp_Start.fromObject(e.rtmpStart)}if(null!=e.rtmpStop){if("object"!=typeof e.rtmpStop)throw TypeError(".CloudLark.ClientInput.rtmpStop: object expected");t.rtmpStop=l.CloudLark.Rtmp_Stop.fromObject(e.rtmpStop)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.mouseMove&&e.hasOwnProperty("mouseMove")&&(r.mouseMove=l.CloudLark.MouseMove.toObject(e.mouseMove,t),t.oneofs&&(r.input="mouseMove")),null!=e.mouseDown&&e.hasOwnProperty("mouseDown")&&(r.mouseDown=l.CloudLark.MouseDown.toObject(e.mouseDown,t),t.oneofs&&(r.input="mouseDown")),null!=e.mouseUp&&e.hasOwnProperty("mouseUp")&&(r.mouseUp=l.CloudLark.MouseUp.toObject(e.mouseUp,t),t.oneofs&&(r.input="mouseUp")),null!=e.mouseWheel&&e.hasOwnProperty("mouseWheel")&&(r.mouseWheel=l.CloudLark.MouseWheel.toObject(e.mouseWheel,t),t.oneofs&&(r.input="mouseWheel")),null!=e.keyDown&&e.hasOwnProperty("keyDown")&&(r.keyDown=l.CloudLark.KeyDown.toObject(e.keyDown,t),t.oneofs&&(r.input="keyDown")),null!=e.keyUp&&e.hasOwnProperty("keyUp")&&(r.keyUp=l.CloudLark.KeyUp.toObject(e.keyUp,t),t.oneofs&&(r.input="keyUp")),null!=e.clientEnter&&e.hasOwnProperty("clientEnter")&&(r.clientEnter=l.CloudLark.ClientEnter.toObject(e.clientEnter,t),t.oneofs&&(r.input="clientEnter")),null!=e.clientLeave&&e.hasOwnProperty("clientLeave")&&(r.clientLeave=l.CloudLark.ClientLeave.toObject(e.clientLeave,t),t.oneofs&&(r.input="clientLeave")),null!=e.dispatchController&&e.hasOwnProperty("dispatchController")&&(r.dispatchController=l.CloudLark.DispatchController.toObject(e.dispatchController,t),t.oneofs&&(r.input="dispatchController")),null!=e.requesController&&e.hasOwnProperty("requesController")&&(r.requesController=l.CloudLark.RequestController.toObject(e.requesController,t),t.oneofs&&(r.input="requesController")),null!=e.textInput&&e.hasOwnProperty("textInput")&&(r.textInput=l.CloudLark.TextInput.toObject(e.textInput,t),t.oneofs&&(r.input="textInput")),null!=e.gamepadInputJoystickStates&&e.hasOwnProperty("gamepadInputJoystickStates")&&(r.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.toObject(e.gamepadInputJoystickStates,t),t.oneofs&&(r.input="gamepadInputJoystickStates")),null!=e.gamepadInputButtonDown&&e.hasOwnProperty("gamepadInputButtonDown")&&(r.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.toObject(e.gamepadInputButtonDown,t),t.oneofs&&(r.input="gamepadInputButtonDown")),null!=e.gamepadInputButtonUp&&e.hasOwnProperty("gamepadInputButtonUp")&&(r.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.toObject(e.gamepadInputButtonUp,t),t.oneofs&&(r.input="gamepadInputButtonUp")),null!=e.gamepadInputTriger&&e.hasOwnProperty("gamepadInputTriger")&&(r.gamepadInputTriger=l.CloudLark.GamepadInputTriger.toObject(e.gamepadInputTriger,t),t.oneofs&&(r.input="gamepadInputTriger")),null!=e.clientDcMsg&&e.hasOwnProperty("clientDcMsg")&&(r.clientDcMsg=l.CloudLark.AppDataChannelMessage.toObject(e.clientDcMsg,t),t.oneofs&&(r.input="clientDcMsg")),null!=e.touchMove&&e.hasOwnProperty("touchMove")&&(r.touchMove=l.CloudLark.TouchMove.toObject(e.touchMove,t),t.oneofs&&(r.input="touchMove")),null!=e.touchDown&&e.hasOwnProperty("touchDown")&&(r.touchDown=l.CloudLark.TouchDown.toObject(e.touchDown,t),t.oneofs&&(r.input="touchDown")),null!=e.touchUp&&e.hasOwnProperty("touchUp")&&(r.touchUp=l.CloudLark.TouchUp.toObject(e.touchUp,t),t.oneofs&&(r.input="touchUp")),null!=e.aiVoicestreamStart&&e.hasOwnProperty("aiVoicestreamStart")&&(r.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.toObject(e.aiVoicestreamStart,t),t.oneofs&&(r.input="aiVoicestreamStart")),null!=e.aiVoicestreamSlice&&e.hasOwnProperty("aiVoicestreamSlice")&&(r.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.toObject(e.aiVoicestreamSlice,t),t.oneofs&&(r.input="aiVoicestreamSlice")),null!=e.aiVoicestreamStop&&e.hasOwnProperty("aiVoicestreamStop")&&(r.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.toObject(e.aiVoicestreamStop,t),t.oneofs&&(r.input="aiVoicestreamStop")),null!=e.aiVoicestreamReset&&e.hasOwnProperty("aiVoicestreamReset")&&(r.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.toObject(e.aiVoicestreamReset,t),t.oneofs&&(r.input="aiVoicestreamReset")),null!=e.aiVoiceText&&e.hasOwnProperty("aiVoiceText")&&(r.aiVoiceText=l.CloudLark.AiVoiceText.toObject(e.aiVoiceText,t),t.oneofs&&(r.input="aiVoiceText")),null!=e.rtmpStart&&e.hasOwnProperty("rtmpStart")&&(r.rtmpStart=l.CloudLark.Rtmp_Start.toObject(e.rtmpStart,t),t.oneofs&&(r.input="rtmpStart")),null!=e.rtmpStop&&e.hasOwnProperty("rtmpStop")&&(r.rtmpStop=l.CloudLark.Rtmp_Stop.toObject(e.rtmpStop,t),t.oneofs&&(r.input="rtmpStop")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppNotification=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.resize=null,e.prototype.mousemode=null,e.prototype.updatePlayers=null,e.prototype.requestInput=null,e.prototype.gamepadOutput=null,e.prototype.datachannelState=null,e.prototype.appDcMsg=null,e.prototype.cursorStyle=null,e.prototype.aiVoiceRealtimeParseresult=null,e.prototype.aiVoiceResult=null,e.prototype.aiVoiceServiceStatus=null,e.prototype.aiVoiceErr=null,e.prototype.rtmpState=null,e.prototype.rtmpError=null,Object.defineProperty(e.prototype,"notify",{get:u.oneOfGetter(t=["resize","mousemode","updatePlayers","requestInput","gamepadOutput","datachannelState","appDcMsg","cursorStyle","aiVoiceRealtimeParseresult","aiVoiceResult","aiVoiceServiceStatus","aiVoiceErr","rtmpState","rtmpError"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.resize&&Object.hasOwnProperty.call(e,"resize")&&l.CloudLark.AppResize.encode(e.resize,t.uint32(10).fork()).ldelim(),null!=e.mousemode&&Object.hasOwnProperty.call(e,"mousemode")&&l.CloudLark.AppMouseMode.encode(e.mousemode,t.uint32(18).fork()).ldelim(),null!=e.updatePlayers&&Object.hasOwnProperty.call(e,"updatePlayers")&&l.CloudLark.UpdatePlayersDesc.encode(e.updatePlayers,t.uint32(26).fork()).ldelim(),null!=e.requestInput&&Object.hasOwnProperty.call(e,"requestInput")&&l.CloudLark.AppRequestInput.encode(e.requestInput,t.uint32(34).fork()).ldelim(),null!=e.gamepadOutput&&Object.hasOwnProperty.call(e,"gamepadOutput")&&l.CloudLark.GamepadOutput.encode(e.gamepadOutput,t.uint32(42).fork()).ldelim(),null!=e.datachannelState&&Object.hasOwnProperty.call(e,"datachannelState")&&l.CloudLark.AppDataChannelState.encode(e.datachannelState,t.uint32(50).fork()).ldelim(),null!=e.appDcMsg&&Object.hasOwnProperty.call(e,"appDcMsg")&&l.CloudLark.AppDataChannelMessage.encode(e.appDcMsg,t.uint32(58).fork()).ldelim(),null!=e.cursorStyle&&Object.hasOwnProperty.call(e,"cursorStyle")&&l.CloudLark.SyncCursorStyle.encode(e.cursorStyle,t.uint32(66).fork()).ldelim(),null!=e.aiVoiceRealtimeParseresult&&Object.hasOwnProperty.call(e,"aiVoiceRealtimeParseresult")&&l.CloudLark.AiVoiceRealTimeParseResult.encode(e.aiVoiceRealtimeParseresult,t.uint32(74).fork()).ldelim(),null!=e.aiVoiceResult&&Object.hasOwnProperty.call(e,"aiVoiceResult")&&l.CloudLark.AiVoiceResult.encode(e.aiVoiceResult,t.uint32(82).fork()).ldelim(),null!=e.aiVoiceServiceStatus&&Object.hasOwnProperty.call(e,"aiVoiceServiceStatus")&&l.CloudLark.AiVoiceServiceStatus.encode(e.aiVoiceServiceStatus,t.uint32(90).fork()).ldelim(),null!=e.aiVoiceErr&&Object.hasOwnProperty.call(e,"aiVoiceErr")&&l.CloudLark.AivoiceError.encode(e.aiVoiceErr,t.uint32(98).fork()).ldelim(),null!=e.rtmpState&&Object.hasOwnProperty.call(e,"rtmpState")&&l.CloudLark.Rtmp_State.encode(e.rtmpState,t.uint32(106).fork()).ldelim(),null!=e.rtmpError&&Object.hasOwnProperty.call(e,"rtmpError")&&l.CloudLark.Rtmp_Error.encode(e.rtmpError,t.uint32(114).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppNotification;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.resize=l.CloudLark.AppResize.decode(e,e.uint32());break;case 2:n.mousemode=l.CloudLark.AppMouseMode.decode(e,e.uint32());break;case 3:n.updatePlayers=l.CloudLark.UpdatePlayersDesc.decode(e,e.uint32());break;case 4:n.requestInput=l.CloudLark.AppRequestInput.decode(e,e.uint32());break;case 5:n.gamepadOutput=l.CloudLark.GamepadOutput.decode(e,e.uint32());break;case 6:n.datachannelState=l.CloudLark.AppDataChannelState.decode(e,e.uint32());break;case 7:n.appDcMsg=l.CloudLark.AppDataChannelMessage.decode(e,e.uint32());break;case 8:n.cursorStyle=l.CloudLark.SyncCursorStyle.decode(e,e.uint32());break;case 9:n.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.decode(e,e.uint32());break;case 10:n.aiVoiceResult=l.CloudLark.AiVoiceResult.decode(e,e.uint32());break;case 11:n.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.decode(e,e.uint32());break;case 12:n.aiVoiceErr=l.CloudLark.AivoiceError.decode(e,e.uint32());break;case 13:n.rtmpState=l.CloudLark.Rtmp_State.decode(e,e.uint32());break;case 14:n.rtmpError=l.CloudLark.Rtmp_Error.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.resize&&e.hasOwnProperty("resize")&&(t.notify=1,r=l.CloudLark.AppResize.verify(e.resize)))return"resize."+r;if(null!=e.mousemode&&e.hasOwnProperty("mousemode")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppMouseMode.verify(e.mousemode))return"mousemode."+r}if(null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.UpdatePlayersDesc.verify(e.updatePlayers))return"updatePlayers."+r}if(null!=e.requestInput&&e.hasOwnProperty("requestInput")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppRequestInput.verify(e.requestInput))return"requestInput."+r}if(null!=e.gamepadOutput&&e.hasOwnProperty("gamepadOutput")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.GamepadOutput.verify(e.gamepadOutput))return"gamepadOutput."+r}if(null!=e.datachannelState&&e.hasOwnProperty("datachannelState")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppDataChannelState.verify(e.datachannelState))return"datachannelState."+r}if(null!=e.appDcMsg&&e.hasOwnProperty("appDcMsg")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppDataChannelMessage.verify(e.appDcMsg))return"appDcMsg."+r}if(null!=e.cursorStyle&&e.hasOwnProperty("cursorStyle")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.SyncCursorStyle.verify(e.cursorStyle))return"cursorStyle."+r}if(null!=e.aiVoiceRealtimeParseresult&&e.hasOwnProperty("aiVoiceRealtimeParseresult")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceRealTimeParseResult.verify(e.aiVoiceRealtimeParseresult))return"aiVoiceRealtimeParseresult."+r}if(null!=e.aiVoiceResult&&e.hasOwnProperty("aiVoiceResult")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceResult.verify(e.aiVoiceResult))return"aiVoiceResult."+r}if(null!=e.aiVoiceServiceStatus&&e.hasOwnProperty("aiVoiceServiceStatus")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceServiceStatus.verify(e.aiVoiceServiceStatus))return"aiVoiceServiceStatus."+r}if(null!=e.aiVoiceErr&&e.hasOwnProperty("aiVoiceErr")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AivoiceError.verify(e.aiVoiceErr))return"aiVoiceErr."+r}if(null!=e.rtmpState&&e.hasOwnProperty("rtmpState")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.Rtmp_State.verify(e.rtmpState))return"rtmpState."+r}if(null!=e.rtmpError&&e.hasOwnProperty("rtmpError")){if(1===t.notify)return"notify: multiple values";var r;if(t.notify=1,r=l.CloudLark.Rtmp_Error.verify(e.rtmpError))return"rtmpError."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppNotification)return e;var t=new l.CloudLark.AppNotification;if(null!=e.resize){if("object"!=typeof e.resize)throw TypeError(".CloudLark.AppNotification.resize: object expected");t.resize=l.CloudLark.AppResize.fromObject(e.resize)}if(null!=e.mousemode){if("object"!=typeof e.mousemode)throw TypeError(".CloudLark.AppNotification.mousemode: object expected");t.mousemode=l.CloudLark.AppMouseMode.fromObject(e.mousemode)}if(null!=e.updatePlayers){if("object"!=typeof e.updatePlayers)throw TypeError(".CloudLark.AppNotification.updatePlayers: object expected");t.updatePlayers=l.CloudLark.UpdatePlayersDesc.fromObject(e.updatePlayers)}if(null!=e.requestInput){if("object"!=typeof e.requestInput)throw TypeError(".CloudLark.AppNotification.requestInput: object expected");t.requestInput=l.CloudLark.AppRequestInput.fromObject(e.requestInput)}if(null!=e.gamepadOutput){if("object"!=typeof e.gamepadOutput)throw TypeError(".CloudLark.AppNotification.gamepadOutput: object expected");t.gamepadOutput=l.CloudLark.GamepadOutput.fromObject(e.gamepadOutput)}if(null!=e.datachannelState){if("object"!=typeof e.datachannelState)throw TypeError(".CloudLark.AppNotification.datachannelState: object expected");t.datachannelState=l.CloudLark.AppDataChannelState.fromObject(e.datachannelState)}if(null!=e.appDcMsg){if("object"!=typeof e.appDcMsg)throw TypeError(".CloudLark.AppNotification.appDcMsg: object expected");t.appDcMsg=l.CloudLark.AppDataChannelMessage.fromObject(e.appDcMsg)}if(null!=e.cursorStyle){if("object"!=typeof e.cursorStyle)throw TypeError(".CloudLark.AppNotification.cursorStyle: object expected");t.cursorStyle=l.CloudLark.SyncCursorStyle.fromObject(e.cursorStyle)}if(null!=e.aiVoiceRealtimeParseresult){if("object"!=typeof e.aiVoiceRealtimeParseresult)throw TypeError(".CloudLark.AppNotification.aiVoiceRealtimeParseresult: object expected");t.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.fromObject(e.aiVoiceRealtimeParseresult)}if(null!=e.aiVoiceResult){if("object"!=typeof e.aiVoiceResult)throw TypeError(".CloudLark.AppNotification.aiVoiceResult: object expected");t.aiVoiceResult=l.CloudLark.AiVoiceResult.fromObject(e.aiVoiceResult)}if(null!=e.aiVoiceServiceStatus){if("object"!=typeof e.aiVoiceServiceStatus)throw TypeError(".CloudLark.AppNotification.aiVoiceServiceStatus: object expected");t.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.fromObject(e.aiVoiceServiceStatus)}if(null!=e.aiVoiceErr){if("object"!=typeof e.aiVoiceErr)throw TypeError(".CloudLark.AppNotification.aiVoiceErr: object expected");t.aiVoiceErr=l.CloudLark.AivoiceError.fromObject(e.aiVoiceErr)}if(null!=e.rtmpState){if("object"!=typeof e.rtmpState)throw TypeError(".CloudLark.AppNotification.rtmpState: object expected");t.rtmpState=l.CloudLark.Rtmp_State.fromObject(e.rtmpState)}if(null!=e.rtmpError){if("object"!=typeof e.rtmpError)throw TypeError(".CloudLark.AppNotification.rtmpError: object expected");t.rtmpError=l.CloudLark.Rtmp_Error.fromObject(e.rtmpError)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.resize&&e.hasOwnProperty("resize")&&(r.resize=l.CloudLark.AppResize.toObject(e.resize,t),t.oneofs&&(r.notify="resize")),null!=e.mousemode&&e.hasOwnProperty("mousemode")&&(r.mousemode=l.CloudLark.AppMouseMode.toObject(e.mousemode,t),t.oneofs&&(r.notify="mousemode")),null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")&&(r.updatePlayers=l.CloudLark.UpdatePlayersDesc.toObject(e.updatePlayers,t),t.oneofs&&(r.notify="updatePlayers")),null!=e.requestInput&&e.hasOwnProperty("requestInput")&&(r.requestInput=l.CloudLark.AppRequestInput.toObject(e.requestInput,t),t.oneofs&&(r.notify="requestInput")),null!=e.gamepadOutput&&e.hasOwnProperty("gamepadOutput")&&(r.gamepadOutput=l.CloudLark.GamepadOutput.toObject(e.gamepadOutput,t),t.oneofs&&(r.notify="gamepadOutput")),null!=e.datachannelState&&e.hasOwnProperty("datachannelState")&&(r.datachannelState=l.CloudLark.AppDataChannelState.toObject(e.datachannelState,t),t.oneofs&&(r.notify="datachannelState")),null!=e.appDcMsg&&e.hasOwnProperty("appDcMsg")&&(r.appDcMsg=l.CloudLark.AppDataChannelMessage.toObject(e.appDcMsg,t),t.oneofs&&(r.notify="appDcMsg")),null!=e.cursorStyle&&e.hasOwnProperty("cursorStyle")&&(r.cursorStyle=l.CloudLark.SyncCursorStyle.toObject(e.cursorStyle,t),t.oneofs&&(r.notify="cursorStyle")),null!=e.aiVoiceRealtimeParseresult&&e.hasOwnProperty("aiVoiceRealtimeParseresult")&&(r.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.toObject(e.aiVoiceRealtimeParseresult,t),t.oneofs&&(r.notify="aiVoiceRealtimeParseresult")),null!=e.aiVoiceResult&&e.hasOwnProperty("aiVoiceResult")&&(r.aiVoiceResult=l.CloudLark.AiVoiceResult.toObject(e.aiVoiceResult,t),t.oneofs&&(r.notify="aiVoiceResult")),null!=e.aiVoiceServiceStatus&&e.hasOwnProperty("aiVoiceServiceStatus")&&(r.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.toObject(e.aiVoiceServiceStatus,t),t.oneofs&&(r.notify="aiVoiceServiceStatus")),null!=e.aiVoiceErr&&e.hasOwnProperty("aiVoiceErr")&&(r.aiVoiceErr=l.CloudLark.AivoiceError.toObject(e.aiVoiceErr,t),t.oneofs&&(r.notify="aiVoiceErr")),null!=e.rtmpState&&e.hasOwnProperty("rtmpState")&&(r.rtmpState=l.CloudLark.Rtmp_State.toObject(e.rtmpState,t),t.oneofs&&(r.notify="rtmpState")),null!=e.rtmpError&&e.hasOwnProperty("rtmpError")&&(r.rtmpError=l.CloudLark.Rtmp_Error.toObject(e.rtmpError,t),t.oneofs&&(r.notify="rtmpError")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i),e.exports=l},3118:function(e,t,r){"use strict";r.r(t),t.default="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI5ODNFRTY2MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI5ODNFRTY1MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1NEE3RjA2NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1NEE3RjA3NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"},8221:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzogFg8pAAAEp0lEQVR42u3aTWgcZRzH8e9u89Jg1JSoNEJ70EJpoUJVMCBoEakerCBSRbCKonjQoELxIFIPdQ++gSgIBZEKHkpBqigULxGhkosutFCkxIM5NKW0EkMkbUx2fx42hDbuPrMz+8z+n5nZX46ZDfP9MJl9SeApCr4VnrY+Bdup6ARCrBT5F0FFJxA6VGgCIRWaQEiFJlgFKC7BGkBRCa4BKCbBdQBFJFgHUDyC/wEUjaAJQLEImgIUiaAFQHEIWgIUhcABUAwCJ0ARCCIA8k8QCZB3gjYA8k3QFkCeCdoEyC9B2wB5JYgBkE+CWAB5JIgJkD+C2AB5I0gAkC+CRAB5IkgIkB+CxAB5IegAIB8EHQHkgaBDgOwTdAyQdQIPANkm8AKQZQJPANkl8AaQVQKPANkk8AqwRpChf730DJA9Au8AWSNIASBbBKkAZIkgJYDsEKQGkBWCFAGyQZAqQBYIUgYInyB1gNAJugAQNkFXAEIm6BJAuARdAwiVoIsAYRJ0FSBEgi4DhEfQdYDQCAwAwiIwAQiJwAggHAIzgFAIDAHCIDAFCIHAGMCewBzA+g9qAQDYEngBGBc+vkwIvACc8ANgQuAFoKbtQtbP6IYA0hEhqtYxhgBXtVmIh61z4q7s6wcNMgFw0Doo/tq+Aiqacn5/TsOizm7roJQAKkKPRxzzphBfWwelAlARQmWdcx41o36xzFbrJO8AlcYzdBW9FHHkASE+sU7yDLCaf4Bt1DZq1nnsaZXEApusozwCrOUDfIPejuDaK8Q71lHeAK7Lh3E0ogUnwKQQFxiyzvICsC4f4Gf0ccQ1cLcQL1tneQBokg/70BYtOwGOCTHt7yWWEUDTfChxFn3lBFjWHUI8YR3WEUCLfIAX0F2qOwk+FWLKOqwDgPda58MAs+ikE2BRo0I8YJ2WEMCZD3AQ7Ym4ER4S4jvrtEQAkfkwwt/oNyfAJQ2JOjut42IDtJEP8CHaH3ENvCrEl9ZxMQHazIfbWerTH06AafWJJcas82IAtJ0PcBS9FnEN7BfiA+u8tgFi5cNO6kO65AT4VYg5brYObAsgZj7A9+jdiGvgQaHwPyQTSfJhDxrVohPgpBDnGbBOjARArPBc7EdOoc+cAHXtEuJ568RogCT58CS6M+KN0VEhzlKyjnQDJMuHMtPomBPgX20R4jHrSNfi/u5fu1fQPRE3wo+E+Mk60rXk+TDERTTpBFjQiBDj1pmttoEzHTx6hY08dMFpOMA8p2ATx61T09koCyWdcV4DsxoUNbZZn2rzbejw8VcY475/nB//3MgM1RKD/GAdm862styvGec18LvKYpHbrE+12Tq9AmCeHfVdZR5xHHILVc71sxT2s0Hy7UbDmnNeA78IcZlh61NNaz+iSsv4mr7V/Y0X3BPWJ5rW9qLNutokfklfaEcj/i8Oh3kX8LMqOrIufl7va6wR/ydvcIP1Kaa7Z9B21dbiz+st3dSIP82z9FufXvrrYwadWH3Se1GDjfhJHg37naDPTaBxndI+lRtvsI9zr/UpdXfDXF79cOUKn4f6wjfdHc7/vd69W3k97/f63nrrrbfeeuutt956y83+A2pqaAaHrITmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjM1OjU4KzAwOjAwgC3inwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDozNTo1OCswMDowMPFwWiMAAAAASUVORK5CYII="},7025:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzjOGG4FAAABrUlEQVR42u3aTU7CUBiF4aMmbsKRK5EtOLEjtwJuxZ3ozD2YmDhxA85MzXXAjwVKgbb3fgfyPkxL0vMGmkuCdLiHI67NJfAeKtXR6yXVquLmp+j1klJMgvl8jwBJdekvwnK+S4DCCSrVSlOjANOiCRbzk1GAVDDBar5XgFIJGvPdApRIsDbfL0DuBBvzHQPkTLA13zNArgQt810D5EjQOt83wCrBSAfkHfOdA4yZYOf8RQCLV8qWoGO+e4AxEnTOPwXDEpz8/GEJzmJ+/wRnM7+R4OBzwYVu9KHrO730f3qYmehV+tGtvg65+krfetf956U0ib7zUTzpWfrVo96OeVelWmkW/ekdwWzYY/DUE/SffxYJhs3fmyD6/LfvJDh8/p4E0bO7A4wzvzOBkmx/DY43vyOBb4Bx5+9M4BpgduTJr3cCzwB55rcmcAyQb35LAr8AeedvJXALkH/+RgKvAGXmryVwClBufiOBT4Cy81cJfAKUnt9MEC9k/n+CeEH/ElsmiBc2f54gnsM9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECcP/QazAAXqg/jAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjM1OjU2KzAwOjAw0BKZwgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDozNTo1NiswMDowMKFPIX4AAAAASUVORK5CYII="},7174:function(e,t){"use strict";t.Z="data:image/png;base64,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"},3354:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzYpoEMCAAACv0lEQVR42u3ca1aDMBCG4anHNUpX065H18g58YeAKYVcyCTfZDLjX2l5Hy8lwUrUciaamj6fsJloppm+0KeBzHfkRiWYaCb3cI9BCZZ859yQBF7+iAS7/NEIDvJHIjjJH4UgkD8CQSRfO0FCvmaCxHytBBn5HoGaZVJmvjaCC/maCC7mayEoyNdAUJjfOwFDfs8ETPm9EjDmewTdXBox5/dGsG51Bj7OJnZcDwQJ+QUATQhulR/fEbnQU9d+/uh8oE8APQaAPgH0GED2EbiXJhFXhxPNWZ8fexnMGQEXyH+v+ygA+BphvezBATia6Y7OxwLAvguWJQ8aALVY3lZ8aADMfoG34MUDtCd4We9LAGhLsNvukAHQjuBtt0cKQBuCg80uOQD1CQ73+iQB1CU42eqUBVCP4HSnVxpAHYLARrc8AH6C4D6/RABegshtjoStbM5t8eTH4iKI3uWRCsBDUOEmV8spJeg8v5RAQX4JgZL8qwSK8j2C5O17Zfm5BMuNEfhNWta5ZUZNNJN7or9sbPO8+ltAB8GVfEUEV/OVEJTkKyAozU8ikLsY4shPIJAKwJUfJZC5IcKZHyGQCMCdHySQB1AjP0AgDaBW/imBLICa+ScEkgBq5x8SyAFokX9AIAWgVf4bgQyAlvk7AgkArfNfCPAAiHyPAA2Ayt8I0AC4fJ8ACQD8U9l/AhwAOH8lQAEIyP8jQAFU+dm3t82hTwA9BoA+AfQYQNHR9+ibp2MTPlrA+8RiU/ft8+LzN4Kn4xzkkkcAwZIv/p8nVCLo7avPTNBrPhNBz/kMBL3nFxJoyC8g0JJ/kUBT/gUCbfmZBD1e9jASaM1PJNCcn0CgPT9CMEJ+gGCU/BOCkfIPCEbL3xGMmO8RjJq/EYybvxKIy/9s+FzfRET0g062sbGxsbGxsbGxsbGxsbGxsRl7fgETo5ol+4Lf1QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0wMVQxMDozNTo1NCswMDowMEeNiOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDFUMTA6MzU6NTQrMDA6MDA20DBXAAAAAElFTkSuQmCC"},4634:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzYpoEMCAAAB8ElEQVR42u2c247CMAwFrf3Iha8pP17JPNDt9hLo2k608ckZJHjNjBQaRwKRttxlFq3ySsutUoLE3GQWfaif7AHCCfIHCCZACBBKgBEgkAAlgDsBTgBnAqQArgRYARwJ0AKYE7QM8PUvAXR9G5JvmUWnYbeAWR8rgEMfKYBLHyeAUx8lgFsfI0BAHyFASD9/gKB+9gAm/UfxgJw5gFFftDQj5A1g159LY1LWAB79e2lSzBnApy9SGJYzBvDrFxLkCxDTPyXIFiCuf0iQK0Ad/V2CTAHq6W8S5AlQV39NkCVAff1tgu5po/+boHPa6f8k6Jq2+q8EHdNev2uoT33qU5/61Kc+9T/pd36OG1pfTAsE1BfDIiH1RV4Lvd4IoPqyXDhdJYDVF1HR6SoBsL6IiurnBND6S4A1wXnh4PprgDcJ4PU3AQoJBtDfBTgkGEL/EGCTYBD9U4A1wSD6hQBLgkH0iwFUp2H03wT4K/n1QwEQ9AMBMPTdAVD0nQFw9F0BkPQdAbD0zQHQ9I0B8PRNARD1Tb8d1t0HCqYtcHl9mhDjlyBeAvNjEC2B4yCElcB1FEZK4ByGJphHonscRkkQuBDB2AihKzGEBDX+7DB1ghoBkicghBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYTg8QS2QApSFRikYgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0wMVQxMDozNTo1NCswMDowMEeNiOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDFUMTA6MzU6NTQrMDA6MDA20DBXAAAAAElFTkSuQmCC"},9513:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAwMWEN7AAABwUlEQVR42u2dTWoCURAGO7lFyF2SW2RyGj13QHhZCIOi8y8Ur7vKpTNQX7kYcfGMWM/HhmsTMsRfDLQEOf8SLS7xQ4uA879a1QRDXKKdWmunkgnG+a1kgrv59RI8zK+V4On8Ogkm59dIMDs/f4LF+bkTrJp/kyDZF+TV83Mm2DQ/X4LN83Ml2DU/T4Ld83MkODT/JkGnD8XD8/tOcP21Z/L1yNzV/SVYmL85QGcJ3hbebxHt+U1Ld3bCOy1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxQPzOniAxzdwJEp2dJvPqM0Q6mz8mOB88Rebc7fyXJDh3d3zKSxP0/ekfTpBj/u4EeebvSpBr/uYE+eZvSpBz/uoE/T/4DiXIPX8xQf75swlqzJ9MUGf+0wS15j8kqDf/LkHN+WOC77LzxwR1518TlP6nqYiIT1pAREREREREREREDvMP7dG5GDNdJU4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MTIrMDA6MDBvBW3sAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjEyKzAwOjAwHljVUAAAAABJRU5ErkJggg=="},227:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAuSPNbYAAAB70lEQVR42u3b0U7CQBCF4YkPSX0a+uJN1gtKrbQKO7O1zNn/J9HEeMH5DJFu1aw0eUw2WNI6n29WrPgb088PAczzL2dPOAlA4acfAFCZ7wTQme8CUJrvANCaXw2gNr8SQG9+FYDi/I86q/UnlapeAleJ934BAEWC6l+DagSON0JaBK63wkoEzoshHQL35bAKQeBARIMgdCSmQLALMJaxG4IdgLFYsW4INgDzJc/UC8EDwDz/04ZeCH4ALPPNrBeCFcDmer8LggVg97ijA4IZ4NfTHnmCYuXJYZc4QbHnZ33SBPcb3H8/YWGCV5+sLMHrB92iBDXn/JIEdbc5JAlqwSCAAAIXgdRNVQgggAACCCD4P4K3fxdxLMFg09kDzyQYbMrxh1nHENzmpwA4guA+PwlAa4LBJrt9VxqAlgTz/JIMoBXBMj8fQAuC1fyMAFGCy3p+ToAIwcP8rABegs38vAA+gs38zAAegs383ADVBNedr+YGqCQoggBhgvwAQQIFgBCBBkCAQAXATaAD4CRQAnARaAE4CNQAqgmOBKj63+FmleVDlw17V3z9vASq52sBOOYrAbjm6wA456sAuOdrAATmKwCE5ucHCM7PDvB9gzv2SFqr+WkBiIiIiIiIiIiIiIiIiIiIiIiIiIiI6Jy+ADS/CliJ3DLDAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjQwOjExKzAwOjAwXu13cQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDo0MDoxMSswMDowMC+wz80AAAAASUVORK5CYII="},7118:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACTFBMVEUAAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADcCgrkPT3qZmbvjIz1tLT50dH63d387e3++fnkPj7jNTXtfn72v7/++Pj////fHR3tfHz519fiLy/zqan//f3iMDD0s7P//v7dEBDvkJD++/vhLCz75ubnU1PbAQHxmJjxnJzcCQn4z8/gICD86Oj98/PkQED+9fXjNjb86urgISHxm5vhKirnUlLeEhL86enwl5fxmpriMTHiMjL1t7fjOzv0r6/zqqruhYX74OD74eHjNzfjODjtgoLug4P4ysrdDAz//Pzrbm71uLj51tb98vL87Oz50tL1ubn4y8vuhITzq6vkPDziMzPeExP99PTkQUH+9vbnVFT85+fhLS3wkZH1urrjOjr0sLDfHh762dngHx/2wMDtf3/kPz/qZ2fvjY31tbX51dX++vr97u4yUll+AAAAXnRSTlMAFUNukLDI3O7zJGum4SiE2xJsJ5n3JqT9pRSV+wFj72Qgv1zxB5sYyhksOD438i3wGuMcBpy+ZRPtlJr2cnPXM4kjp+JFsbLL3+CRRBeKNNgpll3JCCLAi+QWcN30s/BwfgAAAAFiS0dEbbsGAK0AAAAHdElNRQfiAgEKKArlO+ZOAAAFZklEQVR42u2b+VuUVRTHL4vDDAyIoMTayGYqrihBaeCSQUHZgksul1yQQK+oI7jnMihiCi6Zmrmbtpktppm5VP9YvD32dN5l7j13GXuenvf7GzPn3O/nYd65y7lnCEEqKTkldUQgLRiiNBRMC4xITUlOwuZqKz0jnEk9lBnOSE+8e9bIbMpR9sisRLqPyglQoQI5oxJknzt6jNje0pjRuQmwz3suH2dvKb8gz7B9YVEx3t5ScVGhQfuS5yNy9pYiY0tM+ZeWydtbKis1419eoeZPaUW5AfvKcar2lsZV6vq/MF7Hn9LxE/T8J2bGGbjtg1Wr16xtX9fRsa597ZrVqz5sixOYOVHHvyroOWhn1/oNzKEN67s6PYODVer+k0IeA27s3sTiaFP3Ro+E0CRV/8ke/pu3RBlH0S1b3TlTJqv5T53mtu/pZQL19rgRpk1V8Z9e7Rxn2/YdIntLO7Zvc2ZWz5D3n+laeXfuwthb2rXbmRuYKQ3gnn/2fIQFYGzvPkdyjax/ucfjLEOw/4AjWXJWLvWc/2UIYo5ZoUJqZSp5kVJdgr6D9twymdV5LKX6BIccBLV4/7qXqAmCvn5barAODfAypUYIDg/YUouw/nnc/Z/Ud8G2RhZjd6oFlJoiOGLLDOP8c23774/3aBEchYn5uGPTLJhzbHBIi2DwGEychfEvnA1TjjOmR3Ac5s3GHBZegRknrNVfiyB6EubVIwAaYMKpvwfRIuiBaQ1i/zkw/pOng+gQ9G6GaXOEAHNh+GlmgOBTmDVXCADrDwP/7v80CKJwZc4W+c+DFmfAMBoEZ2DSPAFABjQ4y4wQnIOZGQKA+SD2M/s46gTnQcp8AcCrIPZzZojgAsio5vsnwdEvMkMEF2EGv56YDCIvXWaGCC5fAgkLuAApIPKgx1CKBHBzlsIFSAWRV5gxgisgPJUL8BqIHGLGCIZAdCMXoAlEnmLGCK6C4CYuwOsg8hozRnANxL7BBYD1wBgzRhADoREuwBQQeZ0ZI7gOIkNcADgm76GSJYCRaIAOgwRoAPgRfMGMEeA/AvgQnmXGCPAPIfwa3mDGCPBfQ8REpEJwE8TwJyLxVKxEgJ+KhYuRGgFcjJq5AKLlWJEAvxy3gEiPDYkigcSGhL8lUyX4Er79JheAwPrsBQQAiuAr8KZgU2rblp/HAGAIZLbltoPJOTMEtoNJjgAg7tFMg0DqaEbSQPBA1ARBFBbr0kT+5C04zGkcAJ/ga/iy+HhuK1B8gwTgEfSegK8uFALYSzRX9QlsJZq3xf6kHiacRD4F8Qmi38KXMEUqV5lOj0C+TGcvVN4a1CMYvAX/RhUqSZatVLsbDeBJsBP+lf8OCoCEbWMc0SKwCVmsdpTr2/abIihG97YU2fIGDhsieBfrT+rsl+b93xkhiOCvbEitPfX29yYIJC6tSImjbeV2nz6B1LWd6+KyM6ZLIHdx6b66PaD7XXhPzp+QGscAbXu1CKQvr0llq3OMH9DX9z/+5MxtUmjnmeFuYLiDa2C4Y6SBwbOFY+tNsf/Pplo4CKnyaGK5e4/fxHLvrjsnpNzI49nG80v3/Xj297t/9UhQb+MZ/h94t/H1dz1wFZA6HvzW7xkc0WhkGn4O4rZyPXz0+MnvsUPsjz/bbzx5/Ohh3FYuxc//H03QbWabrudPyKIaHf+aRbr+RKuhUXr+9dbiJWr+Sxab8R9enWtVmlprjTW1kv+8rddSboFMY3M4Eb3VEq3diepwT6pvENs31Cf0lwYLl/Lb+5cizt+6Ss8IV3uZv/9MfuDwVMtaljc3tq4IrqR0ZXBFa2Pz8pZlz8zcly9fvnz58uXLly9fvnz9r/UXisM5kt7k1b8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MTArMDA6MDD4mnzFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjEwKzAwOjAwicfEeQAAAABJRU5ErkJggg=="},457:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABDUlEQVR42uzcMQ6DMAwFULvi/lc2Q4XUoQQQU5z3J4YM8OTYTM6qGCTzeBqfi4xJs43fvepLUDU8FfPmE4tnuzpQtTRAtq+A5a8AAE3wdIhlq3H3uMv9m/z182PUhUYPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMnzzfE/RohUbXVVr3vtIqLQAAYuIeMErN3+XeARwrFfvulHMF7g6xriWQtXgFGIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmmYHAAD//wMAyV4cBZA6eKgAAAAASUVORK5CYII="},6370:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACM0lEQVR42uycwZKDIBAFZ6j8/y+7l6SSNVFBGXhIc8kltev09D4RF3xZrP/wfr862eQDALMDePT6U1wwQNCAhQyYb7iZ2Wsu0CMD3Puax20QAAAAAAAAAID1PXoJ/cQA1WeB1wzNG3xigKoBM3X/y4B2EaUThs+GvNeGPTgL/pfv3htH+ryQNhezLl/CgDYWbJUvsh7Q4oK0um/foRxnwV75QitCkRbodd9+35brW3BUvtiaYIQFmt237YlZPQtyyhdcFa5pgW73bX9qft2C3PJF3wvUsEC7+3b8cHbegpLyhd8MXbFAv/sZBpyzoLR88XeDZywYo/uZBpRZcKb8Ad4Ol1gwTvcLDMiz4Gz5g/x/QFk/R+i+2Y9V4VJ9FFd6gwy453hc/QE+OADeDgPg8tP+ggGEIAaQARhABmAAAABwcwDb2yo+7wS++vZtAOTvKhkLgdcu/+XE8/v3WBQt31M0jgWpVvnrGeEoCFL97o+FwKPKL8kC2Qy4vp9Q34IUWf4ICFJp+eW7QrQRpMjuj4DAy7p/fl/AXhyKhWDMVmpVCzyq+yUWCBkQu5Fe0QKP7H6uBSIGtDlGQc0Cj+5+jgUCBrQ9REPJAm/R/SMLOEOk43jsPaLefdcoBmwZMO3eYQwwzg/AACcDyAAygAwgA8gAMmCW4ZwtTgb0aQQnSysawMnSAADAhPMADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYYfwMAQt+c3a8XgwwAAAAASUVORK5CYII="},2039:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA8klEQVR42uzcMQrAIBAEQC/k/1++tLFfA5rZzuaQAbVZrBFM97yuCs4ea3Jnx9UHW87mGj8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHpzrYZap6N6PCJalaA3BHJ/eqHbcjAAAAAACLXoHkDbtfVzj6unbPADu0xd0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnfCPkr0dQLUjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAiXkAAAD//wMA9ngS/3+OsucAAAAASUVORK5CYII="},1575:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAebiprzAAAD6UlEQVR42u2c23bjIAxFgdX//2X6QC5yzEWADiCwHsZTJ3E52zsGExpjji9v/OwmzCz3gnBsudf2WATu879DETiS/UgE7pL9QASft8CpCL7XgEMROPrDiQjc9cfzELjfHachcPddZyFwsZ0nIXDx3ecgcKkHTkHg0g+dgcDlHjwBgcs/vD8CV3rC7giKAHZHwACwNwIWgJ0RMAHsi4ANYFcEFQD2RFAFYEcElQD2Q1ANYDcEDQD2QmCNb0tiLxv58mC89tXyJgOM2ceCv/aX+nD6Pc4C1IHpWWs2gBxItQUdBoTsaAvC4WUq1sguA0jj1FrQDUA7AgEAuhGIANCMQAiAXgSdvcAVAapHQHYxYgaE7HSjowQNCNklLfAmnH3JccDvsUQNeDdasM3wEgcghcBai7vHIMcGANBlAQSAJgQgAHoQwABgENhX91K7nQJAhwXC44A7AtnRIR0ZcLf5ghrwbjKrJZMKbEDILmdB7dkvWwA3wJi1LRhgQMguY4HCawBtOqtFkZK5gsaPMsiAkL3FgvB0S8i1nX37ee21hhlAfj3bAmu/T++zgMa/3mQ1fzbY1xR+nvAZYez8tZ3933vMoQaQEAMtyMWfYAAJArSAG3+CASTEAAtK8ScZQIIALKiJP8kAEgJoASf+RANIEEELauNPNICEAFjAjT/ZABJEwIKW+JMNICEELaiJvwCAVgRSz1wAgMR8QXnyc2kAM6dMFgHQi6D9q3CWATDLgoUAcBHwF9FynrkUAA6C8jiAdpFlBIsBKCHgDIPqECwHIIeAF78OgehQGLs6KhffJvaVR4QLGhAv/tn/vIJiSL4EYQBgaUt9fNqUnAWIZXLLxOdY0ASgMPIW5tAen4OgAYAl/4Kzd8cvI6gGwHqDi3Hoj19CUAmAXubwDsjEzyOoAkDil0QQ45Dq92sXR6XmkCoA3Du5YdcB4FHYH4/f4tviaBS01HXKAonUEGeUA7hiGZCIP8GBKYuk8gNc7Q4UDcjGH+7A8EVSnNsb3Q5kDWDEH+zA0GsA/+ZWswNJA9jxhzow7BpQO7Wh14GoAZXxIQ7Epy9krgHeZ79Co21iS6sDtznBxnm95Mxi6zyh99iv0EgY0DOtqdOByzWgIz60L0B+buFuD3c0VKMDHwDd8YfNEUEASH2koc8BJxhfpQPfa4BQn6PNgXcvIPVnOZC+ADUeMOZtgPgtayz7mvUnjFfUgRHQIOsDNDmAeHuJ3xcgC7RCRI8DCACqxgOwNUJaHMAAWOpdPgNAgkL7ovaRrZSq+EwT9neuBiCyLGGp8OgG+Z+B33LhBwBYOzy+YRJ/+v/UU0899dRTsPoH2xSb2hkwJhQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MDcrMDA6MDDxl0LVAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjA3KzAwOjAwgMr6aQAAAABJRU5ErkJggg=="},8:function(e){"use strict";e.exports=JSON.parse('{"name":"Instructions","session":[{"name":"Local operation","items":[{"name":"Open or hide the control bar:","des":"A single finger draws a counterclockwise arc (half smile) on the screen to open or hide the control bar."}]},{"name":"Mouse and keyboard operation simulation","items":[{"name":"Moving the mouse:","des":"A single finger swipes across the screen to move the mouse."},{"name":"Left click:","des":"A single-finger tap screen indicates a left mouse click."},{"name":"Drag operation:","des":"Press and hold the screen with a single finger, and drag it when the mouse is pressed. When the single finger is raised, the mouse appears and the drag is completed."},{"name":"Context menu / right mouse button:","des":"Double-finger click to simulate the right mouse button press."},{"name":"Right mouse button press/drag:","des":"Press the screen with two fingers and press the button with the right mouse button. Two fingers leave the screen and the right mouse button is raised."},{"name":"Mouse wheel/middle button scrolling:","des":"Two fingers simultaneously up/down, simulating mouse wheel."},{"name":"Mouse wheel press/drag:","des":"Three fingers long press the screen, the middle mouse button appears, press the prompt and drag. Three fingers leave the screen and the middle mouse button lifts up."}]}]}')},2850:function(e){"use strict";e.exports=JSON.parse('{"level":{"INFO":"INFO","WARING":"WARING","ERROR":"ERROR"},"msg":{"CONNECT_WEBRTC":"Video connection...","ICE_FAILED":"The current network environment is poor. Please close the page and wait a moment to re-enter the application.","ICE_SUCCESS":"Connection succeeded.","WEBRTC_HANGUP":"The current network environment is poor. Please close the page and wait a moment to re-enter the application.","connect CONNECT_WS_ERR":"Connection failure.","CONNECT_WS_ERR_1":"Client has started.","CONNECT_WS_CLOSE":"Connection to server is down.","APP_LOGIN_ERR_1":"Client is not authenticated.","APP_LOGIN_ERR_2":"Client repeated login.","CONNECT_APP_ERR":"Connection to the application server failed.","CONNECT_APP_ERR2":"Connection application server timeout.","SIGNALING_APP_TIMEOUT":"Connection timed out. Please check the network or contact the administrator.","REMOTE_APP_FAILED":"Failed to launch cloud app. Please contact the administrator.","REMOTE_APP_CLOSE":"The cloud app is closed. Please re-enter the course.","REFRESH":"Reconnecting...","COURSE_OVER":"Course time.","COURSE_QUIT":"Confirm withdrawal from the course.","ORIENTATION":"Horizontal screen browsing is better.","REQUEST_LOCK_MOUSE":"For exclusive mouse mode, click the lock mouse button.","LOCK_MOUSE":"Enter exclusive mouse mode.","PARAM_ERROR":"Application parameter error.","LOAD_CONFIG_FAILED":"Failed to read configuration file.","TOKEN_EXPIRED":"The token has expired, please re-enter.","REQUEST_PLAY_VIDEO":"Click OK to enter the app.","LOGIN_SUCESS":"Login successful.","LOGIN_ERROR_COURSE_NOTATSTART":"Login failed, course has not arrived.","LOGIN_ERROR_COURSE_NOTEXIST":"Login failed, course does not exist.","LOGIN_ERROR_COURSE_TIMEOUT":"Login failed, the course has arrived.","LOGIN_ERROR_MEDIA_NOTREADY":"Login failed, course is not ready, please try again later.","LOGIN_ERROR_SESSION_EXIST":"Login failed, existing client connection.","LOGIN_ERROR_VALIDUSER":"Login failed, user authentication failed.","LOGIN_ERROR_SAFEDOG_NOTFOUND":"Login failed, the system did not find the dongle","LOGIN_ERROR_SAFEDOG_TIMEOUT":"Login failed, dongle has expired.","LOGIN_ERROR_UNKNOWN":"Unknown login result.","LOGIN_ERROR_EMPTY":"Login result is empty.","APP_LOGIN_TIMOUT":"Login timeout.","APP_LOGIN_MESSAGE_ERR":"Login returns an error message.","CONNECT_TO_APP_SERVER_TIMEOUT":"Connection application server timeout.","APP_START_STREAM_TIMEOUT":"Start streaming timeout","LK_LOADING_TIMEOUT":"Loading timeout.","NO_OPERATION_TIMEOUT":"No operation exceeds the system setting time, close the connection。","RENDER_SERVER_CONNECTED":"connect to render server success","RENDER_SERVER_FAILED":"connect to render server failed","RENDER_SERVER_CLOSE":"connection with render server close","RENDER_SERVER_ERROR":"connection with render server error","PROXY_SERVER_CONNECTED":"connect to proxy server success","PROXY_SERVER_FAILED":"connect to proxy server failed","PROXY_SERVER_CLOSE":"connection with proxy server close","PROXY_SERVER_ERROR":"connection with proxy server error","VERSION_CHECK_SUCCESS":"version check success","VERSION_CHECK_FAILED":"version check failed","TASK_SUCCESS":"Server get task success","TASK_ERROR":"Server get task error","TASK_NOTFOUND":"Server get task notfound","TASK_SERVER_ERROR":"Server get task server error","TASK_APP_WRONGPARAM":"task app wrong param","TASK_NO_GPU_RESOURCE":"task no gpu resource","START_SUCCESS":"start success","START_FAILED":"start failed","START_STREAM_PROCESS_START_FAILED":"start stream process failed","START_STREAM_PROCESS_START_TIMEOUT":"start stream process timout","START_STREAM_NOT_STREAMING":"start stream not streaming","START_STREAM_ENCODER_ERROR":"start stream encoder error","RTC_EVENT_PEERCONNECTION_CONNECTED":"RTC connect success","RTC_EVENT_PEERCONNECTION_CLOSED":"RTC connect close","RTC_EVENT_PEERCONNECTION_ERROR":"RTC connect error","VIDEO_LOADED":"video loaded","CONNECT_TO_ADMIN":"Please connect to adminer","RTC_RETRY_CONNECTION":"Peerconnection closed,retrying...","LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT":"Sever request logout.","LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT":"Taskowner logout.","LK_APP_PROCESS_NOTIFI_APP_QUIT":"Cloud application closed. Reopening..."}}')},2718:function(e){"use strict";e.exports=JSON.parse('{"button":{"status":"Net status","mouseMode":"Mouse Mode","mouseModeAuto":"Auto","mosueModeLock":"Lock","scale":"Zoom","scaleToNormal":"Reduction","lock":"Locking","fullScreen":"Fullscreen","exit":"Exit","setup":"Setup","show":"Show","hide":"Hide","hideVMouse":"Hide Virtual Mouse","showVMouse":"Show Virtual Mouse","hideVKeyboard":"Hide Virtual Keyboard","showVKeyboard":"Show Virtual Keyboard","playerMode":"Player Mode","playerMode_Normal":"Normal","playerMode_Interactive":"Interactive","userType":"User Type","userType_Observer":"Observer","userType_Player":"Player","requireNickName":"Please setup nickname.","requireInputChinese":"Need input Chinese?","buttonSubmit":"OK","buttonCancle":"Cancle","buttonInput":"Input","buttonBack":"Back","buttonClose":"Close"},"notice":{"browserVersion":"It is detected that your current browser kernel version is lower, it is recommended to upgrade. Continue to use?","browserUnsupport":"Current browser/mode is not supported. It’s recommended to use Chrome or use speed mode.","foundError":"An error has occurred, please give feedback to the developer. error:","start":"Start","remainMin":"System remaining time:","firstPersion":"Click on the screen to enter the first person mode, and the angle of view moves with the mouse. Press Esc to display the mouse again.","requestWebsite":"Request to open the URL:","lockMouse":"Mouse is locked, press ESC to exit lock.","hideControllerBar":"Hidden control bar.","hideControllerBarShotCut":"Control bar is hidden, Alt + C key displays control bar.","showControllerBar":"Control bar displayed.","showControllerBarShotCut":"Control bar is displayed, Alt + C hides control bar.","releaseMouse":"Press ESC release mouse.","badNetwork":"The current network environment is poor and may affect the experience.","INITED":"inited","WEBSOCKET_CHANNEL_OPEN":"websocket channel open","LOGIN_SUCCESS":"login render server","RTC_CONNECTED":"peerconnection connected","MEDIA_LOADED":"perpare remote app","SYNC_APP":"Sync remote app, please wait one min.","RTC_RETRY":"Peerconnection has closed. Retrying.","APP_RETRY_CONFIRM":"Cloud application closed. Quit now?","APP_RETRY":"Cloud application closed. Reopening...","START":"Click to Start"}}')},6726:function(e){"use strict";e.exports=JSON.parse('{"name":"操作说明","session":[{"name":"本地操作","items":[{"name":"开启或隐藏控制栏:","des":"单指在屏幕画逆时针圆弧(半个笑脸)可开启或隐藏控制栏。"}]},{"name":"鼠标键盘操作模拟","items":[{"name":"移动鼠标:","des":"单指在屏幕上滑动表示移动鼠标。"},{"name":"左键单击:","des":"单指轻点屏幕表示鼠标左键单击。"},{"name":"拖拽操作:","des":"单指长按屏幕,出现鼠标按下提示后拖动即可。单指抬起屏幕出现鼠标抬起提示拖动完成。"},{"name":"上下文菜单/鼠标右键:","des":"双指单击,模拟鼠标右键按下。"},{"name":"鼠标右键按下/拖动:","des":"双指长按屏幕,出现鼠标右键按下提示后拖拽即可。双指离开屏幕鼠标右键抬起。"},{"name":"鼠标滚轮/中键滚动:","des":"双指同时向上/下划,模拟鼠标滚轮"},{"name":"鼠标滚轮按下/拖动:","des":"三指长按屏幕,出现鼠标中键按下提示后拖拽即可。三指离开屏幕鼠标中键抬起。"}]}]}')},1191:function(e){"use strict";e.exports=JSON.parse('{"level":{"INFO":"消息","WARING":"警告","ERROR":"错误"},"msg":{"CONNECT_WEBRTC":"视频连接中...","ICE_FAILED":"当前网络环境较差,请关闭页面,稍等片刻重新进入应用。","ICE_SUCCESS":"连接成功","WEBRTC_HANGUP":"当前网络环境较差,请关闭页面,稍等片刻重新进入应用。","CONNECT_WS_ERR":"连接服务器失败","CONNECT_WS_ERR_1":"客户端已启动","CONNECT_WS_CLOSE":"与服务器连接已关闭","APP_LOGIN_ERR_1":"客户端未认证","APP_LOGIN_ERR_2":"客户端重复登录","CONNECT_APP_ERR":"连接应用服务器失败","CONNECT_APP_ERR2":"连接应用服务器超时","SIGNALING_APP_TIMEOUT":"连接超时。请检查网络或联系管理员。","REMOTE_APP_FAILED":"启动云端应用失败。请联系管理员。","REMOTE_APP_CLOSE":"云端应用已关闭,请重新进入应用。","REFRESH":"重新连接中...","COURSE_OVER":"应用到时","COURSE_QUIT":"确认退出应用","ORIENTATION":"横屏浏览效果更佳","REQUEST_LOCK_MOUSE":"独占鼠标模式请点击锁定鼠标按钮。","LOCK_MOUSE":"进入独占鼠标模式","PARAM_ERROR":"应用参数错误","LOAD_CONFIG_FAILED":"读取配置文件失败","TOKEN_EXPIRED":"检测到 token 已过期,请重新进入。","REQUEST_PLAY_VIDEO":"点击确认进入应用","LOGIN_SUCESS":"登录成功","LOGIN_ERROR_COURSE_NOTATSTART":"登录失败,应用未到时间","LOGIN_ERROR_COURSE_NOTEXIST":"登录失败,应用不存在","LOGIN_ERROR_COURSE_TIMEOUT":"登录失败,应用已到时","LOGIN_ERROR_MEDIA_NOTREADY":"登录失败,应用未准备好,请稍后再试","LOGIN_ERROR_SESSION_EXIST":"登录失败,已有客户端连接","LOGIN_ERROR_VALIDUSER":"登录失败,用户认证失败","LOGIN_ERROR_SAFEDOG_NOTFOUND":"登录失败,系统未找到加密狗","LOGIN_ERROR_SAFEDOG_TIMEOUT":"登录失败,加密狗已过期","LOGIN_ERROR_UNKNOWN":"未知登录结果","LOGIN_ERROR_EMPTY":"登录结果为空","APP_LOGIN_TIMOUT":"登录超时","APP_LOGIN_MESSAGE_ERR":"登录返回错误消息","CONNECT_TO_APP_SERVER_TIMEOUT":"连接应用服务器超时","APP_START_STREAM_TIMEOUT":"启动流媒体超时","LK_LOADING_TIMEOUT":"加载时间超过系统设定","NO_OPERATION_TIMEOUT":"超过系统设定时间无操作,关闭连接。","RENDER_SERVER_CONNECTED":"连接渲染服务器成功","RENDER_SERVER_FAILED":"连接渲染服务器失败","RENDER_SERVER_CLOSE":"与渲染服务器连接关闭","RENDER_SERVER_ERROR":"与渲染服务器连接出错","PROXY_SERVER_CONNECTED":"连接代理服务器成功","PROXY_SERVER_FAILED":"连接代理服务器失败","PROXY_SERVER_CLOSE":"与代理服务器连接关闭","PROXY_SERVER_ERROR":"与代理服务器连接出错","VERSION_CHECK_SUCCESS":"版本检测成功","VERSION_CHECK_FAILED":"版本检测失败","TASK_SUCCESS":"服务器端请求 Task 成功","TASK_ERROR":"服务器端请求 Task 出错","TASK_NOTFOUND":"服务器端未发现 Task","TASK_SERVER_ERROR":"服务器端错误","TASK_APP_WRONGPARAM":"应用参数错误,请检查应用实际启动路径和参数","TASK_NO_GPU_RESOURCE":"服务器端 Task 获取成功,但是没有可分配的显卡","START_SUCCESS":"启动流媒体成功","START_FAILED":"启动流媒体出错","START_STREAM_PROCESS_START_FAILED":"启动失败","START_STREAM_PROCESS_START_TIMEOUT":"启动超时","START_STREAM_NOT_STREAMING":"未串流","START_STREAM_ENCODER_ERROR":"编码错误","RTC_EVENT_PEERCONNECTION_CONNECTED":"RTC 连接成功","RTC_EVENT_PEERCONNECTION_CLOSED":"RTC 连接关闭","RTC_EVENT_PEERCONNECTION_ERROR":"RTC 连接出错","VIDEO_LOADED":"视频流加载成功","CONNECT_TO_ADMIN":"请联系管理员","RTC_RETRY_CONNECTION":"点对点连接断开,重试中...","LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT":"服务端主动退出","LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT":"演示模式已结束","LK_APP_PROCESS_NOTIFI_APP_QUIT":"云端应用断开,重新启动中"}}')},4088:function(e){"use strict";e.exports=JSON.parse('{"button":{"status":"连接状态","mouseMode":"当前鼠标模式","mouseModeAuto":"自动判断","mosueModeLock":"全局锁定","scale":"铺满","scaleToNormal":"还原","lock":"全局锁定","fullScreen":"全屏","exit":"退出","setup":"设置","show":"显示","hide":"隐藏","hideVMouse":"隐藏虚拟鼠标","showVMouse":"显示虚拟鼠标","hideVKeyboard":"隐藏虚拟键盘","showVKeyboard":"显示虚拟键盘","playerMode":"模式","playerMode_Normal":"普通模式","playerMode_Interactive":"交互模式","userType":"角色","userType_Observer":"观看者","userType_Player":"操作者","requireNickName":"请输入昵称加入观看模式","requireInputChinese":"是否需要输入中文?","buttonSubmit":"确定","buttonCancle":"取消","buttonInput":"输入","buttonBack":"返回","buttonClose":"关闭"},"notice":{"browserVersion":"检测到您当前浏览器内核版本较低,建议升级。是否继续使用?","browserUnsupport":"不支持当前浏览器/模式。推荐使用 Chrome 浏览器或使用极速模式。","foundError":"出现错误,请向开发人员反馈。错误:","start":"开始","remainMin":"系统剩余时间:","firstPersion":"点击画面锁定鼠标指针。按 ESC 释放鼠标","requestWebsite":"请求打开网址:","lockMouse":"已锁定鼠标,按 ESC 退出锁定","hideControllerBar":"已隐藏控制栏","hideControllerBarShotCut":"已隐藏控制栏, Alt + C 键显示控制栏","showControllerBar":"已显示控制栏","showControllerBarShotCut":"已显示控制栏, Alt + C 隐藏示控制栏","releaseMouse":"按 ESC 释放鼠标","badNetwork":"当前网络环境差,可能影响体验","INITED":"初始化","WEBSOCKET_CHANNEL_OPEN":"连接渲染服务器","LOGIN_SUCCESS":"登录渲染服务器","RTC_CONNECTED":"点对点连接","MEDIA_LOADED":"准备云端应用","SYNC_APP":"应用同步中,请耐心等待一分钟","RTC_RETRY":"检测到点对点连接断开,正在重新连接","APP_RETRY_CONFIRM":"检测到云端应用退出,是否关闭?选择确定退出当前页面,选择取消重新启动。","APP_RETRY":"云端应用退出,重新启动中","START":"点击屏幕开始"}}')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return function(){"use strict";__webpack_require__.d(__webpack_exports__,{default:function(){return Fn}});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{fixNegotiationNeeded:function(){return Y},shimAddTrackRemoveTrack:function(){return K},shimAddTrackRemoveTrackWithNative:function(){return B},shimGetDisplayMedia:function(){return z},shimGetSendersWithDtmf:function(){return F},shimGetStats:function(){return _},shimGetUserMedia:function(){return X},shimMediaStream:function(){return q},shimOnTrack:function(){return U},shimPeerConnection:function(){return J},shimSenderReceiverGetStats:function(){return G}});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{shimAddTransceiver:function(){return ie},shimCreateAnswer:function(){return ce},shimCreateOffer:function(){return ae},shimGetDisplayMedia:function(){return H},shimGetParameters:function(){return se},shimGetUserMedia:function(){return Q},shimOnTrack:function(){return $},shimPeerConnection:function(){return ee},shimRTCDataChannel:function(){return oe},shimReceiverGetStats:function(){return re},shimRemoveStream:function(){return ne},shimSenderGetStats:function(){return te}});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{shimAudioContext:function(){return ye},shimCallbacksAPI:function(){return Ae},shimConstraints:function(){return pe},shimCreateOfferLegacy:function(){return fe},shimGetUserMedia:function(){return de},shimLocalStreamsAPI:function(){return ue},shimRTCIceServerUrls:function(){return he},shimRemoteStreamsAPI:function(){return le},shimTrackEventTransceiver:function(){return me}});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{removeExtmapAllowMixed:function(){return Re},shimAddIceCandidateNullOrEmpty:function(){return Le},shimConnectionState:function(){return Se},shimMaxMessageSize:function(){return Oe},shimParameterlessSetLocalDescription:function(){return Te},shimRTCIceCandidate:function(){return ve},shimSendThrowTypeError:function(){return Ee}});__webpack_require__(5441);class o{constructor(){this.listeners=new Map}on(e,t,r){this.listeners.has(e)||this.listeners.set(e,[]);const n=this.listeners.get(e);void 0!==n&&(n.push({callback:t,target:r||this}),this.listeners.set(e,n))}off(e,t,r){if(!this.listeners.has(e))return;const n=r||this,o=this.listeners.get(e);if(void 0!==o)for(let e=0,r=o.length;e<r;e++)if(o[e].callback===t&&o[e].target===n)return void o.splice(e,1)}emit(e,...t){if(!this.listeners.has(e.type))return;const r=this.listeners.get(e.type);if(void 0!==r)for(let n=0,o=r.length;n<o;n++)e.target=r[n].target,r[n].callback.call(r[n].target,e,...t)}}class i{static getLevelIndex(e){switch(e){case i.INFO:return 0;case i.WARN:return 1;case i.ERR:return 2;case i.TRACE:return 3;default:return 4}}}i.INFO="INFO",i.WARN="WARN",i.ERR="ERROR",i.TRACE="TRACE";class s{static get logLevel(){return this._logLevel}static set logLevel(e){this._logLevel=e.toUpperCase()}static info(...e){this.log(i.INFO,...e)}static warn(...e){this.log(i.WARN,...e)}static err(...e){this.log(i.ERR,...e)}static trace(...e){this.log(i.TRACE,...e)}static setObserver(e){this._observer=e}static log(e,...t){if(i.getLevelIndex(e)<i.getLevelIndex(s._logLevel))return;const r=(new Date).toLocaleTimeString()+" ["+e+"]:";switch(console.log("%c"+r,"background-color: #245057; padding: 0.2rem 1.5rem; color: white;"),e){case i.INFO:console.info(...t);break;case i.WARN:console.warn(...t);break;case i.ERR:console.error(...t);break;case i.TRACE:console.trace(...t)}this._observer&&this._observer.onLog(r+t.toString())}}s._logLevel=i.INFO,s._observer=null;var a,c=__webpack_require__(5938);!function(e){e[e.CN=0]="CN",e[e.EN=1]="EN"}(a||(a={}));class u{constructor(){this.mType="",this.mLoaded=!1}get type(){return this.mType}get data(){return this.mData}loadData(e){this.mData=e,null!=this.mData&&(this.mLoaded=!0)}}const l={message:__webpack_require__(2850),gestureIns:__webpack_require__(8),ui:__webpack_require__(2718)},A={message:__webpack_require__(1191),gestureIns:__webpack_require__(6726),ui:__webpack_require__(4088)};class d{static getPrePath(){const e="../assets/localization/zh/";switch(this.mLanguageCode){case a.CN:return e;case a.EN:return"../assets/localization/en/";default:return e}}static init(e){this.mLanguageCode=function(e){const t=["zh-CN"];return!e||e.indexOf(t[0])>-1}(e)?a.CN:a.EN,this.mLanguageCode===a.CN?(this.message.loadData(A.message),this.gestureIns.loadData(A.gestureIns),this.ui.loadData(A.ui)):(this.message.loadData(l.message),this.gestureIns.loadData(l.gestureIns),this.ui.loadData(l.ui))}static get message(){return this.mMessage}static get gestureIns(){return this.mGestureIns}static get ui(){return this.mUI}}var p,h;d.mLanguageCode=a.CN,d.mMessage=new class extends u{constructor(){super(...arguments),this.mType="message"}getLevel(e){return this.mLoaded?this.mData.level[e]:""}getMessage(e){return this.mLoaded?this.mData.msg[e]:""}get info(){return this.getLevel("INFO")}get waring(){return this.getLevel("WARING")}get error(){return this.getLevel("ERROR")}get connectWebRTC(){return this.getMessage("CONNECT_WEBRTC")}get iceFailed(){return this.getMessage("ICE_FAILED")}get iceSuccess(){return this.getMessage("ICE_SUCCESS")}get webRTCHangUp(){return this.getMessage("WEBRTC_HANGUP")}get connectWsErr(){return this.getMessage("CONNECT_WS_ERR")}get connectWsErr1(){return this.getMessage("CONNECT_WS_ERR_1")}get connectWsClose(){return this.getMessage("CONNECT_WS_CLOSE")}get appLoginErr1(){return this.getMessage("APP_LOGIN_ERR_1")}get appLoginErr2(){return this.getMessage("APP_LOGIN_ERR_2")}get connectAppErr(){return this.getMessage("CONNECT_APP_ERR")}get connectAppErr2(){return this.getMessage("CONNECT_APP_ERR2")}get signalingAppTimeout(){return this.getMessage("SIGNALING_APP_TIMEOUT")}get remoteAppFailed(){return this.getMessage("REMOTE_APP_FAILED")}get remoteAppClose(){return this.getMessage("REMOTE_APP_CLOSE")}get refresh(){return this.getMessage("REFRESH")}get courseOver(){return this.getMessage("COURSE_OVER")}get courseOuit(){return this.getMessage("COURSE_QUIT")}get orientation(){return this.getMessage("ORIENTATION")}get requestLockMouse(){return this.getMessage("REQUEST_LOCK_MOUSE")}get lockMouse(){return this.getMessage("LOCK_MOUSE")}get paramError(){return this.getMessage("PARAM_ERROR")}get loadConfigFailed(){return this.getMessage("LOAD_CONFIG_FAILED")}get tokenExpired(){return this.getMessage("TOKEN_EXPIRED")}get requestPlayVideo(){return this.getMessage("REQUEST_PLAY_VIDEO")}get loginSuccess(){return this.getMessage("LOGIN_SUCESS")}get loginErrorCourseNotStart(){return this.getMessage("LOGIN_ERROR_COURSE_NOTATSTART")}get loginErrorCourseNotexist(){return this.getMessage("LOGIN_ERROR_COURSE_NOTEXIST")}get loginErrorCourseTimeout(){return this.getMessage("LOGIN_ERROR_COURSE_TIMEOUT")}get loginErrorMediaNotReady(){return this.getMessage("LOGIN_ERROR_MEDIA_NOTREADY")}get loginErrorSessionExist(){return this.getMessage("LOGIN_ERROR_SESSION_EXIST")}get loginErrorValiduser(){return this.getMessage("LOGIN_ERROR_VALIDUSER")}get loginErrorSafedogNotfound(){return this.getMessage("LOGIN_ERROR_SAFEDOG_NOTFOUND")}get loginErrorSafedogTimeout(){return this.getMessage("LOGIN_ERROR_SAFEDOG_TIMEOUT")}get loginErrorUnknown(){return this.getMessage("LOGIN_ERROR_UNKNOWN")}get loginErrorEmpty(){return this.getMessage("LOGIN_ERROR_EMPTY")}get appLoginTimeout(){return this.getMessage("APP_LOGIN_TIMOUT")}get appLoginMessageErr(){return this.getMessage("APP_LOGIN_MESSAGE_ERR")}get connectToAppServerTimeout(){return this.getMessage("CONNECT_TO_APP_SERVER_TIMEOUT")}get appStartStreamTimeout(){return this.getMessage("APP_START_STREAM_TIMEOUT")}get noOperationTimeout(){return this.getMessage("NO_OPERATION_TIMEOUT")}get RENDER_SERVER_CONNECTED(){return this.getMessage("RENDER_SERVER_CONNECTED")}get RENDER_SERVER_FAILED(){return this.getMessage("RENDER_SERVER_FAILED")}get RENDER_SERVER_CLOSE(){return this.getMessage("RENDER_SERVER_CLOSE")}get RENDER_SERVER_ERROR(){return this.getMessage("RENDER_SERVER_ERROR")}get PROXY_SERVER_CONNECTED(){return this.getMessage("PROXY_SERVER_CONNECTED")}get PROXY_SERVER_FAILED(){return this.getMessage("PROXY_SERVER_FAILED")}get PROXY_SERVER_CLOSE(){return this.getMessage("PROXY_SERVER_CLOSE")}get PROXY_SERVER_ERROR(){return this.getMessage("PROXY_SERVER_ERROR")}get VERSION_CHECK_SUCCESS(){return this.getMessage("VERSION_CHECK_SUCCESS")}get VERSION_CHECK_FAILED(){return this.getMessage("VERSION_CHECK_FAILED")}get taskSuccess(){return this.getMessage("TASK_SUCCESS")}get taskError(){return this.getMessage("TASK_ERROR")}get taskNotFound(){return this.getMessage("TASK_NOTFOUND")}get taskServerError(){return this.getMessage("TASK_SERVER_ERROR")}get taskAppWrongParam(){return this.getMessage("TASK_APP_WRONGPARAM")}get taskNoGpuResource(){return this.getMessage("TASK_NO_GPU_RESOURCE")}get startSuccess(){return this.getMessage("START_SUCCESS")}get startFailed(){return this.getMessage("START_FAILED")}get startStreamProcessStartFailed(){return this.getMessage("START_STREAM_PROCESS_START_FAILED")}get startStreamProcessStartTimeout(){return this.getMessage("START_STREAM_PROCESS_START_TIMEOUT")}get startStreamNotStreaming(){return this.getMessage("START_STREAM_NOT_STREAMING")}get startStreamEncodeError(){return this.getMessage("START_STREAM_ENCODER_ERROR")}get connectToAdmin(){return this.getMessage("CONNECT_TO_ADMIN")}get RTC_EVENT_PEERCONNECTION_CONNECTED(){return this.getMessage("RTC_EVENT_PEERCONNECTION_CONNECTED")}get RTC_EVENT_PEERCONNECTION_CLOSED(){return this.getMessage("RTC_EVENT_PEERCONNECTION_CLOSED")}get RTC_EVENT_PEERCONNECTION_ERROR(){return this.getMessage("RTC_EVENT_PEERCONNECTION_ERROR")}get VIDEO_LOADED(){return this.getMessage("VIDEO_LOADED")}get RTC_RETRY_CONNECTION(){return this.getMessage("RTC_RETRY_CONNECTION")}get LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT(){return this.getMessage("LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT")}get LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT(){return this.getMessage("LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT")}get LK_APP_PROCESS_NOTIFI_APP_QUIT(){return this.getMessage("LK_APP_PROCESS_NOTIFI_APP_QUIT")}get LK_LOADING_TIMEOUT(){return this.getMessage("LK_LOADING_TIMEOUT")}},d.mGestureIns=new class extends u{constructor(){super(...arguments),this.mType="gestureIns"}},d.mUI=new class extends u{constructor(){super(...arguments),this.mType="ui"}getButton(e){return this.mLoaded?this.mData.button[e]:""}getNotice(e){return this.mLoaded?this.mData.notice[e]:""}get status(){return this.getButton("status")}get mouseMode(){return this.getButton("mouseMode")}get mouseModeAuto(){return this.getButton("mouseModeAuto")}get mosueModeLock(){return this.getButton("mosueModeLock")}get scale(){return this.getButton("scale")}get scaleToNormal(){return this.getButton("scaleToNormal")}get lock(){return this.getButton("lock")}get fullScreen(){return this.getButton("fullScreen")}get exit(){return this.getButton("exit")}get setup(){return this.getButton("setup")}get show(){return this.getButton("show")}get hide(){return this.getButton("hide")}get hideVMouse(){return this.getButton("hideVMouse")}get showVMouse(){return this.getButton("showVMouse")}get hideVKeyboard(){return this.getButton("hideVKeyboard")}get showVKeyboard(){return this.getButton("showVKeyboard")}get playerMode(){return this.getButton("playerMode")}get playerModeNormal(){return this.getButton("playerMode_Normal")}get playerModeInteractive(){return this.getButton("playerMode_Interactive")}get userType(){return this.getButton("userType")}get userTypeObserver(){return this.getButton("userType_Observer")}get userTypePlayer(){return this.getButton("userType_Player")}get requireNickName(){return this.getButton("requireNickName")}get requireInputChinese(){return this.getButton("requireInputChinese")}get buttonSubmit(){return this.getButton("buttonSubmit")}get buttonCancle(){return this.getButton("buttonCancle")}get buttonInput(){return this.getButton("buttonInput")}get buttonClose(){return this.getButton("buttonClose")}get buttonBack(){return this.getButton("buttonBack")}get browserVersion(){return this.getNotice("browserVersion")}get browserUnsupport(){return this.getNotice("browserUnsupport")}get foundError(){return this.getNotice("foundError")}get start(){return this.getNotice("start")}get remainMin(){return this.getNotice("remainMin")}get firstPersion(){return this.getNotice("firstPersion")}get requestWebsite(){return this.getNotice("requestWebsite")}get lockMouse(){return this.getNotice("lockMouse")}get hideControllerBar(){return this.getNotice("hideControllerBar")}get hideControllerBarShotCut(){return this.getNotice("hideControllerBarShotCut")}get showControllerBar(){return this.getNotice("showControllerBar")}get showControllerBarShotCut(){return this.getNotice("showControllerBarShotCut")}get releaseMouse(){return this.getNotice("releaseMouse")}get badNetwork(){return this.getNotice("badNetwork")}get INITED(){return this.getNotice("INITED")}get WEBSOCKET_CHANNEL_OPEN(){return this.getNotice("WEBSOCKET_CHANNEL_OPEN")}get LOGIN_SUCCESS(){return this.getNotice("LOGIN_SUCCESS")}get RTC_CONNECTED(){return this.getNotice("RTC_CONNECTED")}get MEDIA_LOADED(){return this.getNotice("MEDIA_LOADED")}get SYNC_APP(){return this.getNotice("SYNC_APP")}get RTC_RETRY(){return this.getNotice("RTC_RETRY")}get APP_RETRY(){return this.getNotice("APP_RETRY")}get APP_RETRY_CONFIRM(){return this.getNotice("APP_RETRY_CONFIRM")}get START(){return this.getNotice("START")}},function(e){e[e.LK_WEB_CLIENT_LOAD_SUCCESS=1]="LK_WEB_CLIENT_LOAD_SUCCESS",e[e.LK_TASK_CREATE_SUCCESS=10]="LK_TASK_CREATE_SUCCESS",e[e.LK_TASK_CREATE_FAILED=11]="LK_TASK_CREATE_FAILED",e[e.LK_RESOURCE_NOT_ENOUGH=12]="LK_RESOURCE_NOT_ENOUGH",e[e.LK_TASK_SYNC_APP=20]="LK_TASK_SYNC_APP",e[e.LK_TASK_SYNC_APP_FAILED=21]="LK_TASK_SYNC_APP_FAILED",e[e.LK_RENDER_SERVER_CONNECTED=100]="LK_RENDER_SERVER_CONNECTED",e[e.LK_RENDER_SERVER_FAILED=101]="LK_RENDER_SERVER_FAILED",e[e.LK_RENDER_SERVER_CLOSE=102]="LK_RENDER_SERVER_CLOSE",e[e.LK_RENDER_SERVER_ERROR=103]="LK_RENDER_SERVER_ERROR",e[e.LK_PROXY_SERVER_CONNECTED=200]="LK_PROXY_SERVER_CONNECTED",e[e.LK_PROXY_SERVER_FAILED=201]="LK_PROXY_SERVER_FAILED",e[e.LK_PROXY_SERVER_CLOSE=202]="LK_PROXY_SERVER_CLOSE",e[e.LK_PROXY_SERVER_ERROR=203]="LK_PROXY_SERVER_ERROR",e[e.LK_VERSION_CHECK_SUCCESS=300]="LK_VERSION_CHECK_SUCCESS",e[e.LK_VERSION_CHECK_FAILED=301]="LK_VERSION_CHECK_FAILED",e[e.LK_TASK_SUCCESS=400]="LK_TASK_SUCCESS",e[e.LK_TASK_NOTFOUND=401]="LK_TASK_NOTFOUND",e[e.LK_TASK_SERVER_ERROR=402]="LK_TASK_SERVER_ERROR",e[e.LK_TASK_APP_WRONGPARAM=403]="LK_TASK_APP_WRONGPARAM",e[e.LK_TASK_NO_GPU_RESOURCE=404]="LK_TASK_NO_GPU_RESOURCE",e[e.LK_START_STREAM_SUCCESS=500]="LK_START_STREAM_SUCCESS",e[e.LK_START_STREAM_PROCESS_START_FAILED=501]="LK_START_STREAM_PROCESS_START_FAILED",e[e.LK_START_STREAM_PROCESS_START_TIMEOUT=502]="LK_START_STREAM_PROCESS_START_TIMEOUT",e[e.LK_START_STREAM_NOT_STREAMING=503]="LK_START_STREAM_NOT_STREAMING",e[e.LK_START_STREAM_ENCODER_ERROR=504]="LK_START_STREAM_ENCODER_ERROR",e[e.LK_RTC_EVENT_PEERCONNECTION_CONNECTED=600]="LK_RTC_EVENT_PEERCONNECTION_CONNECTED",e[e.LK_RTC_EVENT_PEERCONNECTION_CLOSED=601]="LK_RTC_EVENT_PEERCONNECTION_CLOSED",e[e.LK_RTC_EVENT_PEERCONNECTION_ERROR=602]="LK_RTC_EVENT_PEERCONNECTION_ERROR",e[e.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED=603]="LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED",e[e.LK_RTC_EVENT_PEERCONNECTION_STATE=610]="LK_RTC_EVENT_PEERCONNECTION_STATE",e[e.LK_RTC_EVENT_PEERCONNECTION_RETRY=611]="LK_RTC_EVENT_PEERCONNECTION_RETRY",e[e.LK_VIDEO_LOADED=700]="LK_VIDEO_LOADED",e[e.LK_VIDEO_PLAY_FAILED=701]="LK_VIDEO_PLAY_FAILED",e[e.LK_GOT_REMOTE_STREAM=710]="LK_GOT_REMOTE_STREAM",e[e.LK_VIDEO_PLAY_SUCCSS=711]="LK_VIDEO_PLAY_SUCCSS",e[e.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT=800]="LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT",e[e.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT=801]="LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT",e[e.LK_APP_PROCESS_NOTIFI_APP_QUIT=900]="LK_APP_PROCESS_NOTIFI_APP_QUIT",e[e.LK_NO_OPERATION_TIMEOUT=901]="LK_NO_OPERATION_TIMEOUT",e[e.LK_LOADING_TIMEOUT=902]="LK_LOADING_TIMEOUT",e[e.LK_APP_RESIZE=910]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=911]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=912]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=913]="LK_APP_REQUEST_TEXT",e[e.LK_APP_CURSOR_STYLE=914]="LK_APP_CURSOR_STYLE",e[e.LK_USER_REQUEST_QUIT=920]="LK_USER_REQUEST_QUIT",e[e.LK_UI_RESIZE=930]="LK_UI_RESIZE",e[e.LK_STARTVRSTREAM_SUCCESS=1e3]="LK_STARTVRSTREAM_SUCCESS",e[e.LK_STARTVRSTREAM_START_PROCESS_FAILED=1001]="LK_STARTVRSTREAM_START_PROCESS_FAILED",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT=1002]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR=1003]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR=1004]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR",e[e.LK_WEBCLIENT_NOTIFY_ALERT=1100]="LK_WEBCLIENT_NOTIFY_ALERT",e[e.LK_WEBCLIENT_NOTIFY_CONFIRM=1101]="LK_WEBCLIENT_NOTIFY_CONFIRM",e[e.LK_WEBCLIENT_TOAST_MSG=1102]="LK_WEBCLIENT_TOAST_MSG",e[e.LK_USER_CAPTURE_FRAME=2e3]="LK_USER_CAPTURE_FRAME",e[e.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA=2001]="LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA",e[e.LK_REQUEST_CAPTURE_FRAME=3e3]="LK_REQUEST_CAPTURE_FRAME",e[e.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA=3001]="LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE=1e4]="LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN=10001]="LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_UP=10002]="LK_IFRAME_POSTER_OPERATE_MOUSE_UP",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL=10003]="LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL",e[e.LK_IFRAME_POSTER_OPERATE_KEY_DOWN=10010]="LK_IFRAME_POSTER_OPERATE_KEY_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_KEY_UP=10011]="LK_IFRAME_POSTER_OPERATE_KEY_UP",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN=10020]="LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE=10021]="LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_UP=10022]="LK_IFRAME_POSTER_OPERATE_TOUCH_UP",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN=10030]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP=10031]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE=10032]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES=10033]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES",e[e.LK_IFRAME_POSTER_OPENAUDIO_INPUT=10040]="LK_IFRAME_POSTER_OPENAUDIO_INPUT",e[e.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT=10041]="LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT",e[e.LK_IFRAME_POSTER_FUNC_MOUSE_MODE=10100]="LK_IFRAME_POSTER_FUNC_MOUSE_MODE",e[e.LK_IFRAME_POSTER_FUNC_SCALE_MODE=10101]="LK_IFRAME_POSTER_FUNC_SCALE_MODE",e[e.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP=10102]="LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP",e[e.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY=10103]="LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY",e[e.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO=10104]="LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO",e[e.LK_IFRAME_POSTER_UI_CONTROLLER_BAR=10200]="LK_IFRAME_POSTER_UI_CONTROLLER_BAR",e[e.LK_IFRAME_POSTER_UI_PLAYER_LIST=10201]="LK_IFRAME_POSTER_UI_PLAYER_LIST",e[e.LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL=10202]="LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL",e[e.LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL=10203]="LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL",e[e.LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK=10204]="LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK",e[e.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD=10205]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD",e[e.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE=10206]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE",e[e.LK_IFRAME_POSTER_UI_MOBILE_MENU=10207]="LK_IFRAME_POSTER_UI_MOBILE_MENU",e[e.LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE=10208]="LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE",e[e.LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT=10209]="LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT",e[e.LK_IFRAME_POSTER_UI_TOAST_LEVEL=10210]="LK_IFRAME_POSTER_UI_TOAST_LEVEL",e[e.LK_IFRAME_POSTER_UI_ALERT=10211]="LK_IFRAME_POSTER_UI_ALERT",e[e.LK_IFRAME_POSTER_UI_CONFIRM=10212]="LK_IFRAME_POSTER_UI_CONFIRM",e[e.LK_DATA_CHANNEL_ESTABLISHED=2e4]="LK_DATA_CHANNEL_ESTABLISHED",e[e.LK_DATA_CHANNEL_RETYING=20001]="LK_DATA_CHANNEL_RETYING",e[e.LK_DATA_CHANNEL_CLOSE=20002]="LK_DATA_CHANNEL_CLOSE",e[e.LK_DATA_CHANNEL_ERROR=20003]="LK_DATA_CHANNEL_ERROR",e[e.LK_DATA_CHANNEL_BINARY_MESSAGE=20004]="LK_DATA_CHANNEL_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_TEXT_MESSAGE=20005]="LK_DATA_CHANNEL_TEXT_MESSAGE",e[e.LK_RE_CONNECT_DATA_CHANNEL=20100]="LK_RE_CONNECT_DATA_CHANNEL",e[e.LK_CLOSE_DATA_CHANNEL=20101]="LK_CLOSE_DATA_CHANNEL",e[e.LK_DATA_CHANNEL_SEND_TEXT=20102]="LK_DATA_CHANNEL_SEND_TEXT",e[e.LK_DATA_CHANNEL_SEND_BINARY=20103]="LK_DATA_CHANNEL_SEND_BINARY",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=20200]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=20201]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=20202]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=20203]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT=20300]="LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY=20301]="LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY"}(p||(p={}));class m{static GetEventMessageByType(e){switch(e){case p.LK_WEB_CLIENT_LOAD_SUCCESS:return"webclient load success";case p.LK_RENDER_SERVER_CONNECTED:return d.message.RENDER_SERVER_CONNECTED;case p.LK_RENDER_SERVER_FAILED:return d.message.RENDER_SERVER_FAILED;case p.LK_RENDER_SERVER_CLOSE:return d.message.RENDER_SERVER_CLOSE;case p.LK_RENDER_SERVER_ERROR:return d.message.RENDER_SERVER_ERROR;case p.LK_PROXY_SERVER_CONNECTED:return d.message.PROXY_SERVER_CONNECTED;case p.LK_PROXY_SERVER_FAILED:return d.message.PROXY_SERVER_FAILED;case p.LK_PROXY_SERVER_CLOSE:return d.message.PROXY_SERVER_CLOSE;case p.LK_PROXY_SERVER_ERROR:return d.message.PROXY_SERVER_ERROR;case p.LK_VERSION_CHECK_SUCCESS:return d.message.VERSION_CHECK_SUCCESS;case p.LK_VERSION_CHECK_FAILED:return d.message.VERSION_CHECK_FAILED;case p.LK_TASK_SUCCESS:return d.message.taskSuccess;case p.LK_TASK_NOTFOUND:return d.message.taskNotFound;case p.LK_TASK_SERVER_ERROR:return d.message.taskError;case p.LK_TASK_APP_WRONGPARAM:return d.message.taskAppWrongParam;case p.LK_TASK_NO_GPU_RESOURCE:return d.message.taskNoGpuResource;case p.LK_RTC_EVENT_PEERCONNECTION_CONNECTED:return d.message.RTC_EVENT_PEERCONNECTION_CONNECTED;case p.LK_RTC_EVENT_PEERCONNECTION_CLOSED:return d.message.RTC_EVENT_PEERCONNECTION_CLOSED;case p.LK_RTC_EVENT_PEERCONNECTION_ERROR:return d.message.RTC_EVENT_PEERCONNECTION_ERROR;case p.LK_START_STREAM_SUCCESS:return d.message.startSuccess;case p.LK_START_STREAM_PROCESS_START_FAILED:return d.message.startStreamProcessStartFailed;case p.LK_START_STREAM_PROCESS_START_TIMEOUT:return d.message.startStreamProcessStartTimeout;case p.LK_START_STREAM_NOT_STREAMING:return d.message.startStreamNotStreaming;case p.LK_START_STREAM_ENCODER_ERROR:return d.message.startStreamEncodeError;case p.LK_VIDEO_LOADED:return d.message.VIDEO_LOADED;case p.LK_USER_CAPTURE_FRAME:return"user capture a render frame.";default:return""}}}!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(h||(h={}));class f extends o{constructor(e,t){super(),this.connection=null,this.keepAliveTimeout=-1,s.info("初始化 WebSocketet"+JSON.stringify(e)),this.config=e,this.larksr=t,this.onMessage=this.onMessage.bind(this),this.onWSError=this.onWSError.bind(this),this.onWSClose=this.onWSClose.bind(this),this.startKeepAlive=this.startKeepAlive.bind(this),this.stopKeepAlive=this.stopKeepAlive.bind(this)}get wsServer(){let e=new URL(this.config.serverAddress).protocol.indexOf("s")>-1,t=e?"wss://":"ws://",r=e&&this.config.renderSSLServerPort?this.config.renderSSLServerPort:this.config.port;return`${t}${this.config.ip}:${r}/${this.config.path?this.config.path:""}`}connect(){return new Promise(((e,t)=>{s.info("连接 websocket 服务器",this.config.ip,this.wsServer),this.config.ip||(s.warn("server uri error:",this.config.ip),t("server uri error:"+this.config.ip));const r=this.wsServer;this.connection=new WebSocket(r),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.connection.addEventListener("open",(()=>{e(this),this.larksr.$emit(p.LK_RENDER_SERVER_CONNECTED),this.onOpen()})),this.connection.addEventListener("error",(e=>{s.info("connection error"),this.larksr.$emit(p.LK_RENDER_SERVER_ERROR,"","ws connect to "+r+" failed. code "+p.LK_RENDER_SERVER_ERROR),t("ws connect to "+r+" failed. code "+p.LK_RENDER_SERVER_ERROR),this.onWSError(e)})),this.connection.addEventListener("close",(e=>{s.info("websocket connection close"),this.larksr.$emit(p.LK_RENDER_SERVER_CLOSE,"","ws failed:"+JSON.stringify(e)+". code "+p.LK_RENDER_SERVER_CLOSE),t("ws failed:"+JSON.stringify(e)+". code "+p.LK_RENDER_SERVER_CLOSE),this.onWSClose(e)}))}))}close(){return new Promise(((e,t)=>{if(this.connection){const r=this;this.connection.addEventListener("close",(t=>{r.connection=null,s.info("CLOSE PROMISE 关闭 websocket 连接"),e()})),this.connection.addEventListener("error",(e=>{t(e)})),s.warn("主动关闭 websocket 连接"),this.connection.close()}else s.warn("主动关闭连接,但是当前 websocket 连接为null"),e()}))}sendMsg(e){this.sendBuffer(c.CloudLark.ToServerMessage.encode(e).finish())}sendBuffer(e){this.connection&&this.isOpen()&&this.connection.send(e)}isOpen(){return!!this.connection&&1===this.connection.readyState}startKeepAlive(){s.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout((()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()}),1e4)}stopKeepAlive(){s.info("proxy stopKeepAlive"),this.keepAliveTimeout&&window.clearTimeout(this.keepAliveTimeout)}onMessage(e){if(s.info("websocket channel",e,typeof e),e.data)try{const t=c.CloudLark.ToClientMessage.decode(new Uint8Array(e.data));this.$emit(h.CLIENT_MSG,t)}catch(e){s.warn("Protobuf MSG decode failed:"+JSON.stringify(e))}}onOpen(){s.info("websocket 服务器连接成功"),this.startKeepAlive(),this.$emit(h.OPEN)}onWSError(e){s.info("websocket 连接错误:"+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(h.ERROR)}onWSClose(e){s.info("websocket 连接关闭: "+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(h.CLOSE)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}class y{static get language(){return y.$language}static get isMobile(){return y.$isMobile}static get isWeChat(){return y.$isWeChat}static get isQQ(){return y.$isQQ}static get isHuawei(){return y.$isHuawei}static get os(){return y.$os}static get isIOSSafari(){return y.$isIOSSafari}}y.$language="zh-CN",y.$os="Unknown";y.$os=function(){const e=navigator.userAgent;return e.indexOf("Android")>-1||e.indexOf("Adr")>-1?"Android":e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)||-1!=e.indexOf("Safari")&&-1!=e.indexOf("Version")&&"ontouchend"in document?"iOS":e.match(/macintosh|mac os x/i)?"Mac OS":e.match(/windows|win32/i)?"Windows PC":"PC"}(),y.$isMobile=function(){const e=navigator.userAgent.toLowerCase(),t=-1!==e.indexOf("mobile"),r=-1!==e.indexOf("android"),n="ontouchend"in document,o=-1!=e.indexOf("safari")&&-1!=e.indexOf("version"),i=-1!=e.indexOf("iphone"),s=-1!=e.indexOf("ipad");return t||r||o&&n||i||s}(),y.$isWeChat=/micromessenger/i.test(navigator.userAgent),y.$isHuawei=navigator.userAgent.toLowerCase().indexOf("huaweibrowser")>-1,y.$isQQ=navigator.userAgent.toLowerCase().indexOf("mqqbrowser")>-1,y.$isIOSSafari=function(){if(navigator.userAgent.indexOf("Chrome")<=0&&navigator.userAgent.indexOf("Safari")>=0||navigator.userAgent.indexOf("Mac")>=0&&"ontouchend"in document)return!0;switch(navigator.platform){case"iPad Simulator":case"iPhone Simulator":case"iPod Simulator":case"iPad":case"iPhone":case"iPod":return!0}return!1}();var b=y;class g{}g.FIT_SCREEN="fit",g.CONTAIN_VIDEO="cover",g.CONTAIN_APP="contain",g.FILL_CLIP="fill_clip",g.FILL_STRETCH="fill_stretch",g.OFFSET=30;class v{}function O(e=""){const t=navigator.userAgent,r=t.indexOf(e);if(r>-1){const n=r+e.length+"/".length,o=t.slice(n,n+2);return parseInt(o,10)}return-1}v.BuildType="local",v.LocalHomepagePath="cloudlark/webclient",v.VersionMarjor=3,v.VersionMinorr=2,v.VersionRevise=3,v.VersionBuild=29,v.RetryTime=3,v.OriginW=2e4,v.OriginH=1e4,v.CodeRate=8e3,v.AudioCodeRate=128,v.FrameRate=60,v.ScaleMode=g.CONTAIN_APP,v.Network="local",v.MouseMode=1,v.ForceIceAddr=!1,v.DisableVPX=!1,v.RelativeMouseMove=!1,v.VirtualRackerScale=1,v.ErrChromeAndroidVersion=[],v.DownloadChromium="http://pxy-web-image.oss-cn-beijing.aliyuncs.com/chrome-apk/com.android.chrome_v62.0.3202.73-320207301_Android-5.0.apk";class E{static getBrowserType(){const e=navigator.userAgent;return e.indexOf(E.Type.IE)>-1?E.Type.IE:e.indexOf(E.Type.Opera)>-1?E.Type.Opera:e.indexOf(E.Type.Edge)>-1?E.Type.Edge:e.indexOf(E.Type.Firefox)>-1?E.Type.Firefox:e.indexOf(E.Type.Safari)>-1&&e.indexOf("Version")>-1?E.Type.Safari:e.indexOf(E.Type.Chrome)>-1?E.Type.Chrome:""}static checkSupport(){const e=navigator.userAgent;if(b.isMobile){for(const t of v.ErrChromeAndroidVersion)if(e.indexOf(t)>-1)return-1;return O(E.Type.Chrome)>E.SupportMobile.Chrome||O(E.Type.Firefox)>E.SupportMobile.Firefox?1:0}{const e=E.getBrowserType(),t=O(E.Type.Edge),r=e!==E.Type.Edge?O(E.Type.Chrome):-1,n=O(E.Type.Firefox);return e!==E.Type.IE&&t>=E.AdviseSupportVersion.Edge||r>=E.AdviseSupportVersion.Chrome||n>=E.AdviseSupportVersion.Firefox?1:e!==E.Type.IE&&t>E.Support.Edge||r>E.Support.Chrome||n>E.Support.Firefox?-2:0}}static getBrowserVersion(e=""){return O(e)}}E.Type={Chrome:"Chrome",iOSChrome:"CriOS",Firefox:"Firefox",Edge:"Edge",Opera:"OPR",IE:"MSIE",Safari:"Safari"},E.Support={Chrome:33,Firefox:30,Edge:1e5},E.AdviseSupportVersion={Chrome:56,Firefox:44,Edge:1e5},E.SupportMobile={Chrome:58,iOSChrome:58,Firefox:53,Edge:1e5};var S=__webpack_require__(1919),R=__webpack_require__.n(S);class L{static queryString(e){const t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)","i");let r=window.location.search.substr(1);if(r=r.replace("/",""),""===r){const e=window.location.hash.substr(1).split("?");e&&e.length>1&&(r=e[1])}const n=r.match(t);return null!=n?encodeURI(n[2]):""}static queryURL(e,t){const r=new RegExp("(^|&)"+t+"=([^&]*)(&|$)","i");let n=e.search.substr(1);n=n.replace("/","");const o=n.match(r);return null!=o?encodeURI(o[2]):""}static deepCopy(e){const t={};for(const r in e)r&&(t[r]=e[r]);return t}static deepCopyArray(e){const t=[];for(const r of e)t.push(r);return t}static getElementViewport(e,t=1){const{left:r,right:n,top:o,bottom:i}=e.getBoundingClientRect();return s.info("getElementViewport ",r,n,o,i),{width:(n-r)/t,height:(i-o)/t}}static elementTop(e){let t=e.offsetTop,r=e.offsetParent;for(;null!==r;)t+=r.offsetTop,r=r.offsetParent;return t}static elementLeft(e){let t=e.offsetLeft,r=e.offsetParent;for(;null!==r;)t+=r.offsetLeft,r=r.offsetParent;return t}static singlePointRelativePosition(e,t){const r=L.getOffsetViewport(t);return{x:e.clientX-r.offsetX,y:e.clientY-r.offsetY}}static touchRelativePosition(e,t){if(e.changedTouches.length>0&&t){const r=[];for(const n in e.targetTouches)n&&r.push({x:e.targetTouches[n].clientX-t.offsetX,y:e.targetTouches[n].clientY-t.offsetY});return r}return[]}static pointsDistance(e,t){const r=t.x-e.x,n=t.y-e.y;return Math.sqrt(r*r+n*n)}static vector(e,t){return{x:t.x-e.x,y:t.y-e.y,startPoint:e,endPoint:t}}static vectorModule(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static vectorCosAngle(e,t){const r=L.vectorModule(e)*L.vectorModule(t);return 0===r?0:L.vectorDotProduct(e,t)/r}static vectorDotProduct(e,t){return e.x*t.x+e.y*t.y}static vectorDet(e,t){return e.x*t.y-t.x*e.y}static midpointCoordinate(e){if(0===e.length)return{x:0,y:0};if(1===e.length)return e[0];{const t={x:0,y:0};for(const r of e)t.x+=r.x,t.y+=r.y;return{x:t.x/e.length,y:t.y/e.length}}}static formatTimeString(e=0){const t=Math.floor(e/3600),r=e%3600,n=Math.floor(r/60),o=Math.floor(r%60);return(t<10?"0"+t:t+"")+":"+(n<10?"0"+n:n+"")+":"+(o<10?"0"+o:o+"")}static formatMinTimeString(e=0){const t=Math.floor(e/1440),r=e%1440,n=Math.floor(r/60),o=r%60;return t+""+" 天 "+(n<10?"0"+n:n+"")+" 小时 "+(o<10?"0"+o:o+"")+"分"}static sign(e){return 0===e?1/e<0?-1:1:Math.sign(e)}static coverPointToCssPosition(e){return{top:e.y,left:e.x}}static coverCssPositionToPoint(e){return{x:e.left,y:e.top}}static getViewport(){return s.info("innerHeight for ios",R()()),b.isIOSSafari?{width:window.innerWidth,height:window.innerHeight}:"BackCompat"===document.compatMode?{width:document.body.clientWidth,height:document.body.clientHeight}:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}static getElementTop(e){let t=e.offsetTop,r=e.offsetParent;for(;null!==r;)t+=r.offsetTop,r=r.offsetParent;return t}static getElementLeft(e){let t=e.offsetLeft,r=e.offsetParent;for(;null!==r;)t+=r.offsetLeft,r=r.offsetParent;return t}static getOffsetViewport(e){const t=e.getBoundingClientRect();if(t)return{offsetX:t.left,offsetY:t.top};{const t=L.getElementLeft(e),r=L.getElementTop(e);return{offsetX:t-window.pageXOffset,offsetY:r-window.pageYOffset}}}static getBoundingClientRect(e){if(e.getBoundingClientRect){const t=e.getBoundingClientRect();return{top:t.top,left:t.left,right:t.right,bottom:t.bottom}}return{top:0,left:0,right:0,bottom:0}}static getBoundingClientRectSize(e){const t=L.getBoundingClientRect(e);return{width:t.right-t.left,height:t.bottom-t.top}}static getMousePositon(e,t){const r=L.getOffsetViewport(t);return{x:e.clientX-r.offsetX,y:e.clientY-r.offsetY}}static fresh(){window.location.reload()}static ab2str(e){const t=new Uint16Array(e);return String.fromCharCode.apply(null,t)}static strToU8Arraybuf(e){const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}static bytesEqual(e,t){if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.byteLength;e++)if(r[e]!==n[e])return!1;return!0}static getMobliePixelWidth(e,t){return e/1340*100*t}static IsIframe(){return self!==top}}class T{static isLoopIpAddress(e){return"127.0.0.1"===e||"localhost"===e}static getRtpmapRegByMode(e){switch(e){default:return this.vp8;case"VP9":return this.vp9;case"H264":return this.h264;case"AV1X":return this.av1x;case"H265":return this.h265;case"HEVC":return this.hevc;case"SVAC":return this.svac}}static hasVp8(e){return this.hasMode(e,"VP8")}static hasVp9(e){return this.hasMode(e,"VP9")}static hasH264(e){return this.hasMode(e,"H264")}static hasAV1X(e){return this.hasMode(e,"AV1X")}static hasH265(e){return this.hasMode(e,"H265")}static hasHEVC(e){return this.hasMode(e,"HEVC")}static hasSVAC(e){return this.hasMode(e,"SVAC")}static hasMode(e,t){const r=this.getRtpmapRegByMode(t),n=e.match(r);return!!(n&&n.length>0)}static setAudioBitrate(e,t){return e.replace("useinbandfec=1",`useinbandfec=1; maxaveragebitrate=${t}; stereo=1; sprop-stereo=1 ; cbr=1`)}static setBitRate(e,t,r,n){return["VP8","VP9","H264","AV1X"].map((o=>{e=this.setModeBitRate(e,t,r,n,o)})),e}static setModeBitRate(e,t,r,n,o){const i=this.getRtpmapRegByMode(o),a=[],c=`x-google-start-bitrate=${t};x-google-max-bitrate=${r};x-google-min-bitrate=${n}`;e.replace(i,(e=>{const t=e.split(":");return t.length>0&&a.push(t[1].split(" ")[0]),e}));for(const t of a){const r=new RegExp("a=fmtp:"+t+this.tail,this.config);s.info("find fmtp",r,e.match(r)),e=e.match(r)?e.replace(r,(e=>{const t=this.getAttrName(e)+" "+this.sdpGooAttrLine(...this.getBlankAttrs(e),c);return s.info("replace sdp bitrite res:",t),t})):e.replace(i,(e=>(e+="a=fmtp:"+t+" "+c+"\r\n",s.warn("cant find fmtp "+t+" in sdp. need add",e),e)))}return e}static removeVp8(e){return this.sdpFilter(e,"VP8")}static removeVp9(e){return this.sdpFilter(e,"VP9")}static removeH264(e){return this.sdpFilter(e,"H264")}static removeAV1X(e){return this.sdpFilter(e,"AV1X")}static removeH265(e){return this.hasH265(e)?this.sdpFilter(e,"H265"):e}static removeHEVC(e){return this.hasHEVC(e)?this.sdpFilter(e,"HEVC"):e}static removeSVAC(e){return this.hasSVAC(e)?this.sdpFilter(e,"SVAC"):e}static sdpFilter(e,t){const r=this.getRtpmapRegByMode(t),n=[];e=e.replace(r,(e=>{const t=e.split(":");return t.length>0&&n.push(t[1].split(" ")[0]),""}));const o=this.tail,i=this.config,a=[];for(const t of n){const r=new RegExp("a=rtcp-fb:"+t+o,i);s.info("replace rtcp-fb",r),e=e.replace(r,(e=>(s.info("replace rtcp-fb",e),"")));const n=new RegExp("a=fmtp:.*apt="+t+o,i);let c="";if(e=e.replace(n,(e=>{const t=e.split(":");return t.length>0&&(c=t[1].split(" ")[0],a.push(c)),s.info("fmtp apt",e,c),""})),c){const t=new RegExp("a=rtpmap:"+c+o,i);e=e.replace(t,(e=>(s.info("remove rtpmap",e),"")))}const u=new RegExp("a=fmtp:.*"+t+o,i);e=e.replace(u,(e=>(s.info("remove fmtp ",e),"")))}return e=e.replace(/m=video 9 UDP\/TLS\/RTP\/SAVPF.*/g,(e=>{if(n.length>0)for(const t of n)e=e.replace(t+" ","");if(a.length>0)for(const t of a)e=e.replace(t+" ","");return e}))}static sdpGooAttrLine(...e){return e.join(";")+"\r\n"}static sdpBlankAttrLine(...e){return e.join(" ")+"\r\n"}static getBlankAttrs(e){return e.split(" ").slice(1).map((e=>e.trim()))}static getAttrName(e){return e.split(" ")[0].trim()}}T.vp8=/a=rtpmap:.* VP8.*[.\n\r]*/g,T.vp9=/a=rtpmap:.* VP9.*[.\n\r]*/g,T.h264=/a=rtpmap:.* H264.*[.\n\r]*/g,T.av1x=/a=rtpmap:.* AV1X.*[.\n\r]*/g,T.h265=/a=rtpmap:.* H265.*[.\n\r]*/g,T.hevc=/a=rtpmap:.* HEVC.*[.\n\r]*/g,T.svac=/a=rtpmap:.* SVAC.*[.\n\r]*/g,T.tail=".*[.\n\r]*",T.config="g";let k=!0,C=!0;function w(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function M(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,o=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return o.apply(this,arguments);const i=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,i),o.apply(this,[e,i])};const i=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return i.apply(this,arguments);if(!this._eventMap[t].has(r))return i.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,i.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function I(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(k=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function N(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(C=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function P(){if("object"==typeof window){if(k)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function x(e,t){C&&console.warn(e+" is deprecated, please use "+t+" instead.")}function W(e){return"[object Object]"===Object.prototype.toString.call(e)}function V(e){return W(e)?Object.keys(e).reduce((function(t,r){const n=W(e[r]),o=n?V(e[r]):e[r],i=n&&!Object.keys(o).length;return void 0===o||i?t:Object.assign(t,{[r]:o})}),{}):e}function D(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?D(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((t=>{D(e,e.get(t),r)}))})))}function j(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",o=new Map;if(null===t)return o;const i=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&i.push(e)})),i.forEach((t=>{e.forEach((r=>{r.type===n&&r.trackId===t.id&&D(e,r,o)}))})),o}const Z=P;function X(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const o=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[o("min",r)]=n.ideal,t.optional.push(e),e={},e[o("max",r)]=n.ideal,t.optional.push(e)):(e[o("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[o("",r)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[o(e,r)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},o=function(e,o){if(t.version>=61)return o(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let i=e.video.facingMode;i=i&&("object"==typeof i?i:{ideal:i});const s=t.version<66;if(i&&("user"===i.exact||"environment"===i.exact||"user"===i.ideal||"environment"===i.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,"environment"===i.exact||"environment"===i.ideal?t=["back","rear"]:"user"!==i.exact&&"user"!==i.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then((r=>{let s=(r=r.filter((e=>"videoinput"===e.kind))).find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&r.length&&t.includes("back")&&(s=r[r.length-1]),s&&(e.video.deviceId=i.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),Z("chrome: "+JSON.stringify(e)),o(e)}))}e.video=n(e.video)}return Z("chrome: "+JSON.stringify(e)),o(e)},i=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){o(e,(e=>{r.webkitGetUserMedia(e,t,(e=>{n&&n(i(e))}))}))}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return o(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(i(e))))))}}}function z(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((t=>{const n=r.video&&r.video.width,o=r.video&&r.video.height,i=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:i||3}},n&&(r.video.mandatory.maxWidth=n),o&&(r.video.mandatory.maxHeight=o),e.navigator.mediaDevices.getUserMedia(r)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}function q(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function U(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.track.id)):{track:r.track};const o=new Event("track");o.track=r.track,o.receiver=n,o.transceiver={receiver:n},o.streams=[t.stream],this.dispatchEvent(o)})),t.stream.getTracks().forEach((r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.id)):{track:r};const o=new Event("track");o.track=r,o.receiver=n,o.transceiver={receiver:n},o.streams=[t.stream],this.dispatchEvent(o)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else M(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function F(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let o=r.apply(this,arguments);return o||(o=t(this,e),this._senders.push(o)),o};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function _(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const o=function(e){const t={};return e.result().forEach((e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{r[t]=e.stat(t)})),t[r.id]=r})),t},i=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){r(i(o(e)))};return t.apply(this,[n,e])}return new Promise(((e,r)=>{t.apply(this,[function(t){e(i(o(t)))},r])})).then(r,n)}}function G(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>j(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),M(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>j(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach((r=>{r.track===e&&(t?n=!0:t=r)})),this.getReceivers().forEach((t=>(t.track===e&&(r?n=!0:r=t),t.track===e))),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function B(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),o.apply(this,arguments)}}function K(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return B(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const o=e.RTCPeerConnection.prototype.removeStream;function i(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],o=e._streams[n.id];r=r.replace(new RegExp(o.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}function s(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],o=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),o.id)})),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},o.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const o=this.getSenders().find((e=>e.track===t));if(o)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const i=this._streams[r.id];if(i)i.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=i(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then((e=>i(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=s(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=c.get.apply(this);return""===e.type?e:i(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((r=>{this._streams[r].getTracks().find((t=>e.track===t))&&(t=this._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function J(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function Y(e,t){M(e,"negotiationneeded",(e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e}))}function Q(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){x("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function H(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}function $(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function ee(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,o,i]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!o)try{e.forEach((e=>{e.type=r[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))}))}return e})).then(o,i)}}function te(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function re(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),M(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function ne(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){x("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function oe(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function ie(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function se(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ce(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ue(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}}function le(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}}function Ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,o=t.setLocalDescription,i=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],o=r.apply(this,[n]);return t?(o.then(e,t),Promise.resolve()):o},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],o=n.apply(this,[r]);return t?(o.then(e,t),Promise.resolve()):o};let a=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,r){const n=s.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=a}function de(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(pe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function pe(e){return e&&void 0!==e.video?Object.assign({},e,{video:V(e.video)}):e}function he(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(x("RTCIceServer.url","RTCIceServer.urls"),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function me(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function fe(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function ye(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var be=__webpack_require__(9169),ge=__webpack_require__.n(be);function ve(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=ge().parseCandidate(e.candidate),o=Object.assign(r,n);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,M(e,"icecandidate",(t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function Oe(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=function(e){if(!e||!e.sdp)return!1;const t=ge().splitSections(e.sdp);return t.shift(),t.some((e=>{const t=ge().parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))},n=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r},o=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r},i=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const o=ge().matchPrefix(e.sdp,"a=max-message-size:");return o.length>0?n=parseInt(o[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n},s=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){const e=n(arguments[0]),t=o(e),r=i(arguments[0],e);let s;s=0===t&&0===r?Number.POSITIVE_INFINITY:0===t||0===r?Math.max(t,r):Math.min(t,r);const a={};Object.defineProperty(a,"maxMessageSize",{get:()=>s}),this._sctp=a}return s.apply(this,arguments)}}function Ee(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],o=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&o>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},M(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function Se(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function Re(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function Le(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Te(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}if(e.sdp||"offer"!==e.type&&"answer"!==e.type)return r.apply(this,[e]);const t="offer"===e.type?this.createOffer:this.createAnswer;return t.apply(this).then((e=>r.apply(this,[e])))})}const ke=function({window:o}={},i={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const s=P,a=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=w(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=w(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=w(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(o),c={browserDetails:a,commonShim:n,extractVersion:w,disableLog:I,disableWarnings:N,sdp:be};switch(a.browser){case"chrome":if(!e||!J||!i.shimChrome)return s("Chrome shim is not included in this adapter release."),c;if(null===a.version)return s("Chrome shim can not determine version, not shimming."),c;s("adapter.js shimming chrome."),c.browserShim=e,Le(o,a),Te(o),X(o,a),q(o),J(o,a),U(o),K(o,a),F(o),_(o),G(o),Y(o,a),ve(o),Se(o),Oe(o,a),Ee(o),Re(o,a);break;case"firefox":if(!t||!ee||!i.shimFirefox)return s("Firefox shim is not included in this adapter release."),c;s("adapter.js shimming firefox."),c.browserShim=t,Le(o,a),Te(o),Q(o,a),ee(o,a),$(o),ne(o),te(o),re(o),oe(o),ie(o),se(o),ae(o),ce(o),ve(o),Se(o),Oe(o,a),Ee(o);break;case"safari":if(!r||!i.shimSafari)return s("Safari shim is not included in this adapter release."),c;s("adapter.js shimming safari."),c.browserShim=r,Le(o,a),Te(o),he(o),fe(o),Ae(o),ue(o),le(o),me(o),de(o),ye(o),ve(o),Oe(o,a),Ee(o),Re(o,a);break;default:s("Unsupported browser!")}return c}({window:"undefined"==typeof window?void 0:window});var Ce=ke;class we{constructor(e){if(this.header="",this.props=[],this.sdpMLineIndex=null!=e.sdpMLineIndex?e.sdpMLineIndex:null,this.sdpMid=null!=e.sdpMid?e.sdpMid:null,this.usernameFragment=null!=e.usernameFragment?e.usernameFragment:null,e.candidate){const t=e.candidate.split(":");t.length>1?(this.header=t[0],this.props=t[1].split(" ")):s.warn("parse candiate failed formate error",e.candidate)}else s.warn("parse candiate failed. candidate empty",e)}get foundation(){return this.props.length>0?this.props[0]:""}set foundation(e){this.props.length>0&&(this.props[0]=e)}get component(){return this.props.length>1?this.props[1]:""}set component(e){this.props.length>1&&(this.props[1]=e)}get protocol(){return this.props.length>2?this.props[2]:""}set protocol(e){this.props.length>2&&(this.props[2]=e)}get priority(){return this.props.length>3?this.props[3]:""}set priority(e){this.props.length>3&&(this.props[3]=e)}get ip(){return this.props.length>4?this.props[4]:""}set ip(e){this.props.length>4&&(this.props[4]=e)}get port(){return this.props.length>5?this.props[5]:""}set port(e){this.props.length>5&&(this.props[5]=e)}get type(){return this.props.length>7?this.props[7]:""}get candidate(){return`${this.header}:${this.props.join(" ")}`}genNewIceCandidateInit(){let e={};return null!=this.sdpMid&&(e.sdpMid=this.sdpMid),null!=this.sdpMLineIndex&&(e.sdpMLineIndex=this.sdpMLineIndex),null!=this.usernameFragment&&(e.usernameFragment=this.usernameFragment),e.candidate=this.candidate,e}genNewIceCandidate(){return new RTCIceCandidate(this.genNewIceCandidateInit())}}var Me,Ie,Ne=__webpack_require__(4314),Pe=__webpack_require__.n(Ne);!function(e){e[e.DISCONNECT=1]="DISCONNECT",e[e.BAD=2]="BAD",e[e.CONNECT=3]="CONNECT",e[e.GOOD=4]="GOOD"}(Me||(Me={})),function(e){e[e.GOT_REMOTE_STREAM=0]="GOT_REMOTE_STREAM",e[e.GOT_REMOTE_AUDIO_STREAM=1]="GOT_REMOTE_AUDIO_STREAM",e[e.ICE_STATE_CHANGE=2]="ICE_STATE_CHANGE",e[e.LK_APP_RESIZE=3]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=4]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=5]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=6]="LK_APP_REQUEST_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=7]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=8]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=9]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=10]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.LK_RTC_EVENT_PEERCONNECTION_STATE=11]="LK_RTC_EVENT_PEERCONNECTION_STATE",e[e.NET_STATE=12]="NET_STATE",e[e.SYNC_CURSORSTYLE=13]="SYNC_CURSORSTYLE",e[e.BAD_NETWORK=14]="BAD_NETWORK",e[e.ERROR=15]="ERROR",e[e.RTC_SDP=16]="RTC_SDP",e[e.RTC_ICECANDIDATE=17]="RTC_ICECANDIDATE",e[e.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",e[e.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",e[e.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",e[e.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",e[e.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",e[e.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR",e[e.INFO=24]="INFO"}(Ie||(Ie={}));const xe=/(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;var We;!function(e){e[e.VP8=1]="VP8",e[e.VP9=2]="VP9",e[e.H264=3]="H264",e[e.DEFAULT=4]="DEFAULT"}(We||(We={}));class Ve extends o{constructor(e,t){super(),this.pc=null,this.dataChannel=null,this.netTestTimeout=null,this.aggregatedStats=null,this.lastThrowBadNetork=0,this.lastPacktetsLost=0,this.lastPacktetsReceived=0,this.audioStream=null,this.videoStream=null,this.localAudioTrackBinding=null,this.localVideoTrackBinding=null,this.localShareTrackBinding=null,this.sdpCreateSuccess=!1,this.larksr=e,this.config=t,this.offerOptions={offerToReceiveAudio:!0,offerToReceiveVideo:!0,iceRestart:!0},this.pcConfig={iceServers:[{urls:["stun:ice.pingxingyun.cn:3478"]}]},this.onIceCandidate=this.onIceCandidate.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onDataChannelMessage=this.onDataChannelMessage.bind(this),this.onCreateOfferSuccess=this.onCreateOfferSuccess.bind(this),this.getStats=this.getStats.bind(this),this.getStateChrome=this.getStateChrome.bind(this),this.ontrack=this.ontrack.bind(this),Ce.disableLog(!0),s.info("adapter",Ce.browserDetails)}get audioDeviceId(){var e;return null===(e=this.localAudioTrackBinding)||void 0===e?void 0:e.deviceId}get audioTrack(){var e;return null===(e=this.localAudioTrackBinding)||void 0===e?void 0:e.track}get videoDeviceId(){var e;return null===(e=this.localVideoTrackBinding)||void 0===e?void 0:e.deviceId}get videoTrack(){var e;return null===(e=this.localVideoTrackBinding)||void 0===e?void 0:e.track}async create(e){s.info("createPeerConnection config: ",this.pcConfig);const t=new RTCPeerConnection(this.pcConfig);e&&e.getTracks().forEach((e=>{t.addTrack(e)})),s.info("Created loacl peer connection"),t.onicecandidate=this.onIceCandidate,t.oniceconnectionstatechange=this.onIceStateChange,t.ontrack=this.ontrack,t.onconnectionstatechange=e=>{s.info("onconnectionstatechange",e)},t.onnegotiationneeded=e=>{s.info("onnegotiationneeded",e),this.createOffer()},this.pc=t;const r=t.createDataChannel("PXY_DATACHANNEL");r.binaryType="arraybuffer",r.onopen=e=>{s.info("on datachannel open",r.readyState,r.bufferedAmount,r.bufferedAmountLowThreshold)},r.onclose=e=>{s.info("on datachannel close",r.readyState,r.bufferedAmount,r.bufferedAmountLowThreshold)},r.onerror=e=>{s.info("on datachannel error",e)},r.onmessage=this.onDataChannelMessage,this.dataChannel=r}createOffer(){this.pc&&(s.info("createOffer start"),this.pc.createOffer(this.offerOptions).then(this.onCreateOfferSuccess).catch((e=>{s.warn("createOffer error:",e)})))}close(){var e;this.pc&&(s.info("关闭点对点连接"),this.iceStateChange(Me.DISCONNECT),null===(e=this.pc)||void 0===e||e.close(),this.pc=null),this.dataChannel&&(s.info("关闭datachannel"),this.dataChannel.close(),this.dataChannel=null),this.audioStream=null,this.videoStream=null,this.stopNetTest(),this.sdpCreateSuccess=!1}setAudioEnable(e){this.localAudioTrackBinding?this.localAudioTrackBinding.track.enabled=e:s.warn("not open audio")}setVideoEnable(e){this.localVideoTrackBinding?this.localVideoTrackBinding.track.enabled=e:s.warn("not open audio")}setShareEnable(e){this.localShareTrackBinding?this.localShareTrackBinding.track.enabled=e:s.warn("not open audio")}closeAudio(){const e=this.stopLocalTrackBing(this.localAudioTrackBinding);return this.localAudioTrackBinding=null,e}closeVideo(){const e=this.stopLocalTrackBing(this.localVideoTrackBinding);return this.localVideoTrackBinding=null,e}closeShare(){const e=this.stopLocalTrackBing(this.localShareTrackBinding);return this.localShareTrackBinding=null,e}stopLocalTrackBing(e){return e?(null==e||e.track.stop(),e.sender&&this.removeMediaTrack(e.sender),!0):(s.warn("no local binding find"),!1)}async openAudio(e=""){null!=this.localAudioTrackBinding&&this.closeAudio();const t=e?await this.openAudioDevice(e):await this.openUserMeida({video:!1,audio:!0});return t.rtcRtpSenders.forEach((t=>{"audio"==t.track.kind&&(this.localAudioTrackBinding&&this.localAudioTrackBinding.track.id==t.track.id&&s.warn("find same audio track"),this.localAudioTrackBinding=t,this.localAudioTrackBinding.deviceId=e)})),t}async openVideo(e=!1,t=""){null!=this.localAudioTrackBinding&&this.closeAudio();const r=t?await this.openCamera(t):await this.openUserMeida({video:!0,audio:e});return r.rtcRtpSenders.forEach((e=>{"video"==e.track.kind?(this.localVideoTrackBinding&&this.localVideoTrackBinding.track.id==e.track.id&&s.warn("find same video track"),this.localVideoTrackBinding=e,this.localVideoTrackBinding.deviceId=t):s.warn("unknown track type",e)})),r}async openDefaultMedia(e=!0,t=!0){(await this.openUserMeida({video:e,audio:t})).rtcRtpSenders.forEach((e=>{"audio"==e.track.kind?(this.localAudioTrackBinding&&this.localAudioTrackBinding.track.id==e.track.id&&s.warn("find same audio track"),this.localAudioTrackBinding=e):"video"==e.track.kind?(this.localVideoTrackBinding&&this.localVideoTrackBinding.track.id==e.track.id&&s.warn("find same video track"),this.localVideoTrackBinding=e):s.warn("unknown track type",e)}))}async openShareMediaDevice(){if(!this.pc)throw new Error("PeerConnection not ready");const e=await navigator.mediaDevices.getDisplayMedia(),t=[];e.getTracks().forEach((e=>{var r;const n=null===(r=this.pc)||void 0===r?void 0:r.addTrack(e);t.push({track:e,sender:n,deviceId:""})})),this.localShareTrackBinding=t[0]}async getConnectedAudioinputDevices(){const e=await this.getConnectedDevices("audioinput");return s.info("getConnectedAudioinputDevices",e),e}async getConnectedAudioOutputDevices(){return await this.getConnectedDevices("audiooutput")}async getConnectedVideoinputDevices(){return await this.getConnectedDevices("videoinput")}async getConnectedDevices(e){return(await navigator.mediaDevices.enumerateDevices()).filter((t=>t.kind===e))}async openAudioDevice(e,t="audioinput"){const r={audio:{deviceId:e,echoCancellation:!0,kind:t},video:!1};return await this.openUserMeida(r)}async openCamera(e,t=0,r=0){let n={audio:{echoCancellation:!0},video:{deviceId:e}};return t&&t>0&&(n.video.width.min=t),r&&r>0&&(n.video.height.min=r),await this.openUserMeida(n)}async openUserMeida(e){if(!this.pc)throw new Error("PeerConnection not ready");if((null==e?void 0:e.audio)&&!this.larksr.params.audioInput)throw new Error("请在后台应用管理中打开音频输入功能");if((null==e?void 0:e.video)&&!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");if(!this.larksr.isTaskOwner)throw new Error("互动模式观看者不支持上传音视频");const t=Ne.getParser(window.navigator.userAgent),r=t.getOSName(),n=parseFloat(t.getOSVersion());if("iOS"==r&&n<15)throw new Error("iOS 15 以下系统不支持重新打开媒体设备");const o=await navigator.mediaDevices.getUserMedia(e);(null==e?void 0:e.video)&&"landscape"==this.larksr.screenState.screenOrientation&&this.$emit(Ie.INFO,"请开启手机自动旋转以支持摄像头横屏");const i=[];return o.getTracks().forEach((e=>{var t;s.info("add track ",e);const r=null===(t=this.pc)||void 0===t?void 0:t.addTrack(e);i.push({sender:r,track:e,deviceId:""})})),{streams:o,rtcRtpSenders:i}}addMediaTrack(e,...t){return!!this.pc&&(this.pc.addTrack(e,...t),!0)}removeMediaTrack(e){return!!this.pc&&(this.pc.removeTrack(e),!0)}requestUserMediaPermission(e){return navigator.mediaDevices.getUserMedia(e)}onRemoteDescription(e){if(e&&this.pc){s.info("Answer from remote \r\n",e.sdp);const t=new RTCSessionDescription(e);this.pc.setRemoteDescription(t).then((e=>{s.info("set remote des success",e)})).catch((e=>{s.err("set remote des error",e),this.$emit(Ie.ERROR,"set remote des error:"+JSON.stringify(e))}))}}onReceiveCandidate(e){if(null===this.pc)return;s.info("onReceiveCandidate"+JSON.stringify(e));const{serverIP:t,preferPubOutIp:r}=this.config;if(e.candidate){if(""!==r){s.info("手动替换 ICE Candidate 地址为公共地址",t,e.candidate);const n=xe,o=L.deepCopy(e),i=e.candidate;o.candidate=i.replace(n,(e=>r)),this.addIceCandidate(new RTCIceCandidate(o)),s.info("replace server ip finished::",e.candidate)}const n=new we(e);if(""!==t&&t!=n.ip&&(n.ip=t,s.info("Add New ice candidate with render server ip",t,n.candidate)),this.addIceCandidate(n.genNewIceCandidate()),this.larksr.config.publicPortMapping&&this.larksr.config.publicPortMapping[t+":"+n.port]){const e=this.larksr.config.publicPortMapping[t+":"+n.port].split(":");e.length>1?(n.ip=e[0],n.port=e[1],this.addIceCandidate(n.genNewIceCandidate()),s.info("Add Publich ice candidate with render server ip",n.candidate)):s.warn("setup port mapping formate error",this.larksr.config.publicPortMapping[t+":"+n.port])}}this.addIceCandidate(new RTCIceCandidate(e))}startNetTest(){this.netTestTimeout=window.setTimeout((()=>{this.getStats(),this.startNetTest()}),1e3)}stopNetTest(){this.netTestTimeout&&clearTimeout(this.netTestTimeout)}sendInput(e){this.larksr.isPixelStreaming?s.err("wrong input proto when use pixel streaming"):this.larksr.remoteScreenReady?this.sendBuffer(c.CloudLark.ClientInput.encode(e).finish()):s.warn("remote screen not ready skip event.")}sendBuffer(e){this.pc&&this.dataChannel&&"open"==this.dataChannel.readyState&&this.dataChannel.send(e)}sendToAppTextMsg(e){const t=(new TextEncoder).encode(e),r=new c.CloudLark.ClientInput({clientDcMsg:{type:c.CloudLark.AppDataChannelMessage.Type.STRING,data:t}});s.info("sendToAppTextMsg",e,t),this.sendInput(r)}sendToAppBinaryMsg(e){const t=new c.CloudLark.ClientInput({clientDcMsg:{type:c.CloudLark.AppDataChannelMessage.Type.BIN,data:e}});this.sendInput(t)}StartCloudLiveStreaming(e){return new Promise(((t,r)=>{if(!this.larksr.params.liveStreaming)return void r("请在后台开启云端推流功能");if(this.larksr.appState<Fe.MEDIA_LOADED)return void r("Must connect cloud success before start cloud live streaming");if(!e.path)return void r("live stream path must not empty");e.key||(e.key=""),null!=e.voice&&null!=e.voice||!this.larksr.params.audioInput||(e.voice=!0),e.reconnectRetries&&(e.reconnectRetries=3),null!=e.reconnect&&null!=e.reconnect||(e.reconnect=!0),e.framerate||(e.framerate=30),e.bitrate||(e.bitrate=2048),e.width||(e.width=1280),e.height||(e.height=720);const n=new c.CloudLark.ClientInput({rtmpStart:e});this.sendBuffer(c.CloudLark.ClientInput.encode(n).finish()),t()}))}StopLiveStreaming(){const e=new c.CloudLark.ClientInput({rtmpStop:{flag:!1}});this.sendBuffer(c.CloudLark.ClientInput.encode(e).finish())}changeOperater(e){s.info("onOperateChange",e);let t=c.CloudLark.ClientInput.create({dispatchController:{id:e}});this.sendBuffer(c.CloudLark.ClientInput.encode(t).finish())}inputText(e){s.info("on input txt",e);const t=c.CloudLark.ClientInput.create({textInput:{content:e}});this.sendBuffer(c.CloudLark.ClientInput.encode(t).finish())}getStats(){if(this.pc)if(E.getBrowserType()===E.Type.Chrome||E.getBrowserType()===E.Type.Safari||"iOS"===b.os)this.getStateChrome();else{const e={timestamp:0,bytesReceived:0,framesDecoded:0,packetsLost:0,bytesReceivedStart:0,framesDecodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesDropped:0,framesReceived:0,framesDroppedPercentage:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0},t=this;this.pc.getStats().then((r=>{if(r){let n=!1;r.forEach((t=>{if(t.id&&t.id.indexOf("RTCIceCandidatePair")>-1&&t.hasOwnProperty("totalRoundTripTime")&&t.hasOwnProperty("responsesReceived")&&0!==t.responsesReceived&&!n){const r=t.totalRoundTripTime/t.responsesReceived*1e3;e.currentRoundTripTime=r}t.id&&t.id.indexOf("RTCInboundRTPVideoStream")>-1&&t.hasOwnProperty("packetsLost")&&(e.packetsLost=t.packetsLost)})),t.aggregatedStats=e,this.$emit(Ie.NET_STATE,e),this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_STATE,L.deepCopy(e),"UPDATE PEERCONNECTION STATE")}})).catch((e=>{s.warn("peerconnection getStats failed",e)}))}else s.warn("get stats without peerconnection")}getStateChrome(){if(!this.pc)return;const e=this;this.pc.getStats(null).then((t=>{const r={timestamp:0,bytesReceived:0,framesDecoded:0,packetsLost:0,bytesReceivedStart:0,framesDecodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesDropped:0,framesReceived:0,framesDroppedPercentage:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0};t.forEach((t=>{if("inbound-rtp"!=t.type||t.isRemote||"video"!=t.mediaType&&!t.id.toLowerCase().includes("video")||(r.timestamp=t.timestamp,r.bytesReceived=t.bytesReceived,r.framesDecoded=t.framesDecoded,r.packetsLost=t.packetsLost,r.bytesReceivedStart=e.aggregatedStats&&e.aggregatedStats.bytesReceivedStart?e.aggregatedStats.bytesReceivedStart:t.bytesReceived,r.framesDecodedStart=e.aggregatedStats&&e.aggregatedStats.framesDecodedStart?e.aggregatedStats.framesDecodedStart:t.framesDecoded,r.timestampStart=e.aggregatedStats&&e.aggregatedStats.timestampStart?e.aggregatedStats.timestampStart:t.timestamp,e.aggregatedStats&&e.aggregatedStats.timestamp&&(e.aggregatedStats.bytesReceived&&(r.bitrate=8*(r.bytesReceived-e.aggregatedStats.bytesReceived)/(r.timestamp-e.aggregatedStats.timestamp),r.bitrate=Math.round(r.bitrate),r.lowBitrate=e.aggregatedStats.lowBitrate&&e.aggregatedStats.lowBitrate<r.bitrate?e.aggregatedStats.lowBitrate:r.bitrate,r.highBitrate=e.aggregatedStats.highBitrate&&e.aggregatedStats.highBitrate>r.bitrate?e.aggregatedStats.highBitrate:r.bitrate),e.aggregatedStats.bytesReceivedStart&&(r.avgBitrate=8*(r.bytesReceived-e.aggregatedStats.bytesReceivedStart)/(r.timestamp-e.aggregatedStats.timestampStart),r.avgBitrate=Math.round(r.avgBitrate)),e.aggregatedStats.framesDecoded&&(r.framerate=(r.framesDecoded-e.aggregatedStats.framesDecoded)/((r.timestamp-e.aggregatedStats.timestamp)/1e3),r.framerate=parseFloat(r.framerate.toFixed(2)),r.lowFramerate=e.aggregatedStats.lowFramerate&&e.aggregatedStats.lowFramerate<r.framerate?e.aggregatedStats.lowFramerate:r.framerate,r.highFramerate=e.aggregatedStats.highFramerate&&e.aggregatedStats.highFramerate>r.framerate?e.aggregatedStats.highFramerate:r.framerate),e.aggregatedStats.framesDecodedStart&&(r.avgframerate=(r.framesDecoded-e.aggregatedStats.framesDecodedStart)/((r.timestamp-e.aggregatedStats.timestampStart)/1e3),r.avgframerate=Math.round(r.avgframerate)))),"track"==t.type&&t.hasOwnProperty("frameWidth")&&t.hasOwnProperty("frameHeight")&&(r.framesDropped=t.framesDropped,r.framesReceived=t.framesReceived,r.framesDroppedPercentage=t.framesDropped/t.framesReceived*100,r.frameHeight=t.frameHeight,r.frameWidth=t.frameWidth,r.frameHeightStart=e.aggregatedStats&&e.aggregatedStats.frameHeightStart?e.aggregatedStats.frameHeightStart:t.frameHeight,r.frameWidthStart=e.aggregatedStats&&e.aggregatedStats.frameWidthStart?e.aggregatedStats.frameWidthStart:t.frameWidth),t.id&&t.id.indexOf("RTCInboundRTPVideoStream")>-1&&t.hasOwnProperty("packetsLost")){let e=t.packetsReceived-this.lastPacktetsReceived,n=t.packetsLost-this.lastPacktetsLost,o=n/(n+e)*100;isNaN(o)||(r.packetsLostPerc=o),this.lastPacktetsLost=t.packetsLost,this.lastPacktetsReceived=t.packetsReceived}"candidate-pair"==t.type&&t.hasOwnProperty("currentRoundTripTime")&&(r.currentRoundTripTime=t.currentRoundTripTime)})),e.aggregatedStats=r,this.$emit(Ie.NET_STATE,r),this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_STATE,L.deepCopy(r),"UPDATE PEERCONNECTION STATE"),0!=r.currentRoundTripTime&&1e3*r.currentRoundTripTime>this.larksr.params.rttLimit&&e.onBadNetWork()})).catch((e=>{s.warn("get states failed:"+e)}))}onBadNetWork(){if(b.isMobile)return;let e=Date.now();e-this.lastThrowBadNetork>1e3*this.larksr.params.rttLimitInterval&&(this.$emit(Ie.BAD_NETWORK,""),this.lastThrowBadNetork=e)}onDataChannelMessage(e){var t,r,n,o,i,a;if(this.larksr.isPixelStreaming)s.warn("pxiel streaming datachannel proto not support yet.");else try{const u=c.CloudLark.AppNotification.decode(new Uint8Array(e.data));if(u.resize){s.info("收到 DataChannelMessage resize",u.resize),this.larksr.remoteScreenReady=!0;const e={width:u.resize.width,height:u.resize.height};this.$emit(Ie.LK_APP_RESIZE,e),this.larksr.$emit(p.LK_APP_RESIZE,e,"APP RESIZE")}else if(u.mousemode){s.info("收到 DataChannelMessage mousemode"),s.warn("on mouse mode",u.mousemode);const e={mouseShow:u.mousemode.mouseShow,mouseLock:u.mousemode.mouseLock,mouseRelative:u.mousemode.mouseRelative,rect:u.mousemode.rect};this.$emit(Ie.LK_APP_MOUSE_MODE,e),this.larksr.$emit(p.LK_APP_MOUSE_MODE,e,"APP MOUSEMODE")}else if(u.updatePlayers)s.info("收到 updatePlayers",u.updatePlayers),u.updatePlayers.descs?(this.$emit(Ie.LK_APP_PLAER_LIST,L.deepCopyArray(u.updatePlayers.descs)),this.larksr.$emit(p.LK_APP_PLAER_LIST,L.deepCopyArray(u.updatePlayers.descs),"PLAYER_LIST")):s.warn("receive update players but no descs found");else if(u.requestInput)s.info("request input:",u.requestInput.inputmethodenable),this.$emit(Ie.LK_APP_REQUEST_TEXT,u.requestInput.inputmethodenable),this.larksr.$emit(p.LK_APP_REQUEST_TEXT,u.requestInput.inputmethodenable,"APP REQUEST INPUT TEXT");else if(u.appDcMsg)if(u.appDcMsg.type==c.CloudLark.AppDataChannelMessage.Type.STRING){if(null===(t=u.appDcMsg)||void 0===t?void 0:t.data){s.info("on str msg ",u.appDcMsg.data,u.appDcMsg.data.length);const e=new TextDecoder;let t="";t=u.appDcMsg.data.length>0&&0==u.appDcMsg.data[u.appDcMsg.data.length-1]?e.decode(null===(r=u.appDcMsg)||void 0===r?void 0:r.data.subarray(0,u.appDcMsg.data.length-1)):e.decode(null===(n=u.appDcMsg)||void 0===n?void 0:n.data);const i=e.decode(null===(o=u.appDcMsg)||void 0===o?void 0:o.data);this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,{string:t,rawString:i}),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t)}}else this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,null===(i=u.appDcMsg)||void 0===i?void 0:i.data),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,null===(a=u.appDcMsg)||void 0===a?void 0:a.data);else u.datachannelState?(s.info("on datachannelState msg",u.datachannelState),u.datachannelState.state==c.CloudLark.AppDataChannelState.State.OPEN?(this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_OPEN)):(this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_CLOSE))):u.cursorStyle?(s.info("on cursor style",u.cursorStyle),this.$emit(Ie.SYNC_CURSORSTYLE,u.cursorStyle)):u.aiVoiceServiceStatus?(s.info("on aivoice status",u.aiVoiceServiceStatus),this.$emit(Ie.AI_VOICE_STATUS,u.aiVoiceServiceStatus)):u.aiVoiceRealtimeParseresult?(s.info("on aivoice RealtimeParseresult",u.aiVoiceRealtimeParseresult),this.$emit(Ie.AI_VOICE_ASR_RESULT,u.aiVoiceRealtimeParseresult)):u.aiVoiceResult?(s.info("on aivoice Result",u.aiVoiceResult),this.$emit(Ie.AI_VOICE_DM_RESULT,u.aiVoiceResult)):u.aiVoiceErr?(s.info("on aivoice error",u.aiVoiceErr),this.$emit(Ie.AI_VOICE_ERROR,u.aiVoiceErr)):u.rtmpState?this.$emit(Ie.RTMP_STREAM_STATE,u.rtmpState):u.rtmpError&&this.$emit(Ie.RTMP_STREAM_ERROR,u.rtmpError)}catch(e){s.warn("Protobuf Input MSG decode failed:"+JSON.stringify(e))}}onCreateOfferSuccess(e){const t=e;s.info("创建 Off 成功\n"+t.sdp);let r=t.sdp;if(null===this.pc||null==r)return;this.larksr.isPixelStreaming?(r=r.replace("useinbandfec=1","useinbandfec=1;stereo=1;sprop-maxcapturerate=48000"),r=r.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,(e=>(s.info("remove a=extmap-allow-mixed",e),"")))):("auto"!==this.larksr.params.preferDecoder&&-2!==E.checkSupport()&&("vp8"===this.larksr.params.preferDecoder?T.hasVp8(r)?(r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r)):s.err("要求使用VP8解码器但该浏览器未发现"):"vp9"===this.larksr.params.preferDecoder?T.hasVp9(r)?(r=T.removeVp8(r),r=T.removeH264(r),r=T.removeAV1X(r)):s.err("要求使用VP9解码器但该浏览器未发现"):"h264"===this.larksr.params.preferDecoder?T.hasH264(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeAV1X(r)):s.err("要求使用H264解码器但该浏览器未发现"):"av1x"===this.larksr.params.preferDecoder?T.hasAV1X(r)&&(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r)):"hevc"===this.larksr.params.preferDecoder?T.hasHEVC(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeH265(r),r=T.removeSVAC(r)):s.err("要求使用hevc解码器但该浏览器未发现"):"h265"===this.larksr.params.preferDecoder?T.hasH265(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeHEVC(r),r=T.removeSVAC(r)):s.err("要求使用h265解码器但该浏览器未发现"):"svac"===this.larksr.params.preferDecoder&&(T.hasSVAC(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeH265(r),r=T.removeHEVC(r)):s.err("要求使用svac解码器但该浏览器未发现"))),r=r.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,(e=>(s.info("remove a=extmap-allow-mixed",e),""))),this.config.codeRate&&this.config.codeRate>1e3&&this.sdpCreateSuccess&&s.warn("recreate sdp.",this.localAudioTrackBinding,this.localVideoTrackBinding,this.localShareTrackBinding),this.larksr.params.audioCodeRate&&(r=T.setAudioBitrate(r,1e3*this.larksr.params.audioCodeRate)));const n={type:t.type,sdp:r};s.info("发送 offer sdp\n"+n.sdp),this.pc.setLocalDescription(n).then((()=>{s.info("设置本地 SDP 成功"),this.sdpCreateSuccess=!0,this.$emit(Ie.RTC_SDP,n)})).catch((e=>{s.err("设置本地SDP失败: "+e.toString()),this.sdpCreateSuccess=!1,this.$emit(Ie.ERROR,"Failed to set session description: "+e.toString())}))}onIceCandidate(e){s.info("Local onIceCandidate"+JSON.stringify(e)),this.$emit(Ie.RTC_ICECANDIDATE,e.candidate)}onIceStateChange(e){if(null!==this.pc)switch(s.info("ICE state: "+this.pc.iceConnectionState),this.pc.iceConnectionState){case"disconnected":s.warn("ICE 断开连接"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"closed":s.warn("ICE 关闭"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"failed":s.warn("ICE 连接失败"),this.close(),this.iceStateChange(Me.BAD);break;case"checking":this.iceStateChange(Me.CONNECT),s.info("ICE 连接中");break;case"connected":case"completed":this.iceStateChange(Me.GOOD),s.info("ICE 连接成功")}}ontrack(e){e.track&&s.info("Got track",e.track,e.streams[0]);const t=e.streams[0];return"audio"==e.track.kind?(this.audioStream=t,void(this.videoStream&&t.id!=this.videoStream.id&&(s.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(Ie.GOT_REMOTE_AUDIO_STREAM,this.audioStream)))):(e.track.kind,this.videoStream=t,this.audioStream&&t.id!=this.audioStream.id&&(s.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(Ie.GOT_REMOTE_AUDIO_STREAM,this.audioStream)),s.info("获取到远端视频流:",t),this.$emit(Ie.GOT_REMOTE_STREAM,t),void this.startNetTest())}addIceCandidate(e){null!==this.pc&&this.pc.addIceCandidate(e).then((()=>{s.info("addIceCandidate OK")})).catch((e=>{s.err("addIceCandidate error:"+JSON.stringify(e))}))}iceStateChange(e){this.$emit(Ie.ICE_STATE_CHANGE,e)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}class De{static emptyMsg(e=!1){const t=new c.CloudLark.ToServerMessage;return t.magic=e?539037986:538317090,t}static versionCheckRequest(e){const t=this.emptyMsg(e),r=new c.CloudLark.VersionCheck({clientVer:{versionMarjor:v.VersionMarjor,versionMinor:v.VersionMinorr,versionRevise:v.VersionRevise,versionBuild:v.VersionBuild}});return t.versionCheckRequest=r,t}static taskRequest(e,t,r,n,o){const i=this.emptyMsg(o);let a;return a=t?new c.CloudLark.TaskRequest({type:r?c.CloudLark.TaskRequest.Type.OB:c.CloudLark.TaskRequest.Type.PLAYER,taskid:e,nickname:n}):new c.CloudLark.TaskRequest({type:c.CloudLark.TaskRequest.Type.PLAYER,taskid:e}),s.info("taskRequest",a.toJSON()),i.taskRequest=a,i}static startStreamReqeuest(e,t){const r=this.emptyMsg(t),n=new c.CloudLark.StartStreamRequest(e);return r.startStreamRequest=n,r}static startMonitorStreamReqeuest(e){const t=this.emptyMsg(),r=new c.CloudLark.VrMonitorRequest(e);return t.vrMonitorRequest=r,t}static rtcOfferMsg(e,t){const r=this.emptyMsg(),n=new c.CloudLark.WebrtcOfferAnswer({sdp:t,type:e});return r.webrtcOfferAnswer=n,r}static iceMsg(e,t,r){const n=this.emptyMsg(),o=new c.CloudLark.WebrtcIceCandidate({sdpmid:e,sdpMlineindex:t,candidate:r});return n.webrtcIcecandidate=o,n}static restartApp(){const e=this.emptyMsg(),t=new c.CloudLark.AppProcessControl({request:c.CloudLark.AppProcessControl.Type.ProcessRestart});return e.processControl=t,e}static getTaskResponseMsg(e){let t=d.message.taskError+":",r=";"+d.message.connectToAdmin;switch(e){case c.CloudLark.TaskResponse.Response.TASK_SUCCESS:return d.message.taskSuccess;case c.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return t+d.message.taskNotFound+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return t+d.message.taskServerError+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return t+d.message.taskAppWrongParam+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return t+d.message.taskNoGpuResource+". code:"+e+r;default:return""}}static getStartStreamResponseMsg(e){let t=d.message.startFailed+":",r=";"+d.message.connectToAdmin;switch(e){case c.CloudLark.StartStreamResponse.Response.START_SUCCESS:return d.message.startSuccess;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return t+d.message.startStreamProcessStartFailed+". code:"+e+r;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return t+d.message.startStreamProcessStartTimeout+". code:"+e+r;case c.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return t+d.message.startStreamNotStreaming+". code:"+e+r;default:return""}}static getCloudlarkTaskEvent(e){switch(e){case c.CloudLark.TaskResponse.Response.TASK_SUCCESS:return p.LK_TASK_SUCCESS;case c.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return p.LK_TASK_NOTFOUND;case c.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return p.LK_TASK_SERVER_ERROR;case c.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return p.LK_TASK_APP_WRONGPARAM;case c.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return p.LK_TASK_NO_GPU_RESOURCE}}static getCloudlarkStartStreamEvent(e){switch(e){case c.CloudLark.StartStreamResponse.Response.START_SUCCESS:return p.LK_START_STREAM_SUCCESS;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return p.LK_START_STREAM_PROCESS_START_FAILED;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return p.LK_START_STREAM_PROCESS_START_TIMEOUT;case c.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return p.LK_START_STREAM_NOT_STREAMING;case c.CloudLark.StartStreamResponse.Response.START_STREAM_ENCODER_ERROR:return p.LK_START_STREAM_ENCODER_ERROR}}static getCloudlarkTaskEventMsg(e,t=""){const r=t||m.GetEventMessageByType(e);if(e===p.LK_TASK_SUCCESS)return r;return d.message.taskError+". "+r+". code "+e+(". "+d.message.connectToAdmin)}static getCloudlarkStartStreamingEventMsg(e){const t=m.GetEventMessageByType(e);if(e===p.LK_START_STREAM_SUCCESS)return t;return d.message.startFailed+". "+t+". code "+e+(". "+d.message.connectToAdmin)}}var je;!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(je||(je={}));class Ze extends o{constructor(e,t){super(),this.connection=null,this.keepAliveTimeout=-1,s.info("初始化 WebSocketet"+JSON.stringify(e)),this.config=e,this.larksr=t,this.onMessage=this.onMessage.bind(this),this.onWSError=this.onWSError.bind(this),this.onWSClose=this.onWSClose.bind(this),this.onOpen=this.onOpen.bind(this),this.startKeepAlive=this.startKeepAlive.bind(this),this.stopKeepAlive=this.stopKeepAlive.bind(this)}get wsServer(){const e=new URL(this.config.serverAddress);return`${e.protocol.indexOf("s")>-1?"wss://":"ws://"}${e.host}/websocket/${this.config.appServer}/${this.config.appPort}`}connect(){return new Promise(((e,t)=>{s.info("连接 websocket proxy 服务器",this.config),this.config.appServer||(s.warn("server uri error:",this.config.appServer),t("server uri error:"+this.config.appServer));const r=this.wsServer;this.connection=new WebSocket(r),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.on(je.OPEN,(()=>{this.larksr.$emit(p.LK_PROXY_SERVER_CONNECTED),e(this)}),this),this.connection.addEventListener("error",(e=>{s.info("connection error"),this.larksr.$emit(p.LK_PROXY_SERVER_ERROR),t("ws connect to "+r+" failed. code "+p.LK_PROXY_SERVER_ERROR),this.onWSError(e)})),this.connection.addEventListener("close",(e=>{s.info("websocekt proxy connection close"),this.larksr.$emit(p.LK_PROXY_SERVER_CLOSE),t("ws failed:"+JSON.stringify(e)+". code "+p.LK_PROXY_SERVER_CLOSE),this.onWSClose(e)}))}))}close(){return new Promise(((e,t)=>{if(this.connection){const r=this;this.connection.addEventListener("close",(t=>{r.connection=null,s.info("CLOSE PROMISE 关闭 websocket 连接"),e()})),this.connection.addEventListener("error",(e=>{t(e)})),s.warn("主动关闭 websocket 连接"),this.connection.close()}else s.warn("主动关闭连接,但是当前 websocket 连接为null"),e()}))}isOpen(){return!!this.connection&&1===this.connection.readyState}sendMsg(e){this.sendBuffer(c.CloudLark.ToServerMessage.encode(e).finish())}sendBuffer(e){this.connection&&this.isOpen()&&this.connection.send(e)}startKeepAlive(){s.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout((()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()}),1e4)}stopKeepAlive(){s.info("proxy stopKeepAlive"),this.keepAliveTimeout&&(window.clearTimeout(this.keepAliveTimeout),this.keepAliveTimeout=0)}onMessage(e){if(e.data)if("string"==typeof e.data)switch(e.data){case"200":s.info("===========websocket proxy on open 200"),this.onOpen();break;case"500":s.info("===========websocket proxy on close 500"),this.onWSError("appserver 连接出错");break;default:s.info("got known proxy message",e.data)}else try{const t=c.CloudLark.ToClientMessage.decode(new Uint8Array(e.data));this.$emit(je.CLIENT_MSG,t)}catch(e){s.warn("Protobuf MSG decode failed:"+JSON.stringify(e))}}onOpen(){s.info("websocket 代理服务器连接成功"),this.startKeepAlive(),this.$emit(je.OPEN)}onWSError(e){s.info("websocket proxy 连接错误:"+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(je.ERROR)}onWSClose(e){s.info("websocket 连接关闭: "+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(je.CLOSE)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}var Xe,ze;!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(Xe||(Xe={}));!function(e){e[e.READY=0]="READY",e[e.RECORDING=1]="RECORDING"}(ze||(ze={}));const qe={sampleRate:16e3,sampleBits:16,bufferSize:4096};var Ue,Fe,_e;!function(e){e[e.DATA=0]="DATA"}(Ue||(Ue={}));class Ge extends o{constructor({bufferSize:e=qe.bufferSize,sampleRate:t=qe.sampleRate,sampleBits:r=qe.sampleBits}=qe){super(),this._state=ze.READY,this.ctx=new(window.AudioContext||window.webkitAudioContext),this.sampleRate=qe.sampleRate,this.sampleBits=qe.sampleBits,this.source=null,this.stream=null,this.buffer=[],this.bufferSize=0,this._voiceId=0;const{ctx:n}=this,o=n.createScriptProcessor||n.createJavaScriptNode;this.recorder=o.call(n,e,1,1),this.sampleRate=t,this.sampleBits=r}get state(){return this._state}get voiceId(){return this._voiceId}updateVoiceId(){return++this._voiceId}start(){return this.ctx.resume(),new Promise(((e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((t=>{const r=this.ctx.createMediaStreamSource(t);this.stream=t,this.source=r;let n=0;this.recorder.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0);const r=this.ctx.sampleRate;let o=this.sampleRate<r;const i=o?this.sampleRate:r;o&&(t=this.compress(t,r,i));const s=this.encodeToPCM(t,this.sampleBits);this.emit({type:Ue.DATA,voiceId:this.voiceId,sliceId:n++,data:new Uint8Array(s)})},r.connect(this.recorder),this.recorder.connect(this.ctx.destination),this._state=ze.RECORDING,this._voiceId++,e(this._voiceId)})).catch((e=>{t(e)}))}))}pause(){var e,t;null===(e=this.stream)||void 0===e||e.getAudioTracks()[0].stop(),this.recorder.disconnect(),null===(t=this.source)||void 0===t||t.disconnect(),this.ctx.suspend(),this._state=ze.READY}clear(){this.buffer=[],this.bufferSize=0}getRecord(){let e=this.merge(this.buffer,this.bufferSize);const t=this.ctx.sampleRate;let r=this.sampleRate<t;const n=r?this.sampleRate:t;return r&&(e=this.compress(e,t,n)),this.encodeToPCM(e,this.sampleBits)}merge(e,t){const r=new Float32Array(t);for(let t=0,n=0;t<e.length;n+=e[t].length,t+=1)r.set(e[t],n);return r}compress(e,t,r){if(t<r)throw new Error('Invalid parameter: "inputSampleRate" must be greater than "outputSampleRate"');const n=e.length,o=(t+=0)/(r+=0),i=Math.ceil(n*r/t),s=new Float32Array(i);let a=0;for(let t=0;t<i;t+=1)s[t]=e[Math.floor(a)],a+=o;return s}encodeToPCM(e,t){if(-1===[8,16].indexOf(t))throw new Error('Invalid parameter: "sampleBits" must be 8 or 16');const r=e.length*(t/8),n=new ArrayBuffer(r),o=new DataView(n);for(let r=0,n=0;r<e.length;r+=1,n+=t/8){const i=Math.max(-1,Math.min(1,e[r])),s=i<0?32768*i:32767*i;8===t?o.setInt8(n,Math.trunc(255/(65535/(s+32768)))):o.setInt16(n,s,!0)}return o.buffer}}void 0!==window&&void 0!==navigator&&(void 0===navigator.mediaDevices&&(navigator.mediaDevices={}),void 0===navigator.mediaDevices.getUserMedia&&(navigator.mediaDevices.getUserMedia=e=>{const t=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;return t?new Promise(((r,n)=>{t.call(navigator,e,r,n)})):Promise.reject(new Error("getUserMedia is not implemented in this environment"))})),function(e){e[e.BEFORE_CREATE=0]="BEFORE_CREATE",e[e.INITED=1]="INITED",e[e.WEBSOCKET_CHANNEL_OPEN=2]="WEBSOCKET_CHANNEL_OPEN",e[e.LOGIN_SUCCESS=3]="LOGIN_SUCCESS",e[e.RTC_CONNECTED=4]="RTC_CONNECTED",e[e.MEDIA_LOADED=5]="MEDIA_LOADED",e[e.MEDIA_PLAED=6]="MEDIA_PLAED",e[e.RTC_RETRY=7]="RTC_RETRY",e[e.APP_RETRY=8]="APP_RETRY",e[e.BEFORE_DESTORY=9]="BEFORE_DESTORY",e[e.WEBSOCKET_CLOSED=10]="WEBSOCKET_CLOSED",e[e.RTC_CLOSED=11]="RTC_CLOSED",e[e.DESTROYED=12]="DESTROYED"}(Fe||(Fe={})),function(e){e[e.CONNECT=0]="CONNECT",e[e.LOGIN=1]="LOGIN",e[e.ERROR=2]="ERROR",e[e.INFO=3]="INFO",e[e.APP_CLOSE=4]="APP_CLOSE",e[e.REMOTE_STREAM=5]="REMOTE_STREAM",e[e.REMOTE_AUDIO_STREAM=6]="REMOTE_AUDIO_STREAM",e[e.SYNC_CURSORSTYLE=7]="SYNC_CURSORSTYLE",e[e.APP_STATE_CHANGE=8]="APP_STATE_CHANGE",e[e.NET_STATE=9]="NET_STATE",e[e.LK_APP_RESIZE=10]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=11]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=12]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=13]="LK_APP_REQUEST_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=14]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=15]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=16]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=17]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",e[e.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",e[e.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",e[e.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",e[e.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",e[e.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR"}(_e||(_e={}));class Be extends o{constructor(e){super(),this.websocketChannel=null,this.websocketProxy=null,this.testPixelStreaming=null,this.peerConnection=null,this._state=Fe.BEFORE_CREATE,this.retryTime=0,this.larksr=e,this.start=this.start.bind(this),this.connect=this.connect.bind(this),this.task=this.task.bind(this),this.closeRtc=this.closeRtc.bind(this),this.versionCheck=this.versionCheck.bind(this),this.startSteam=this.startSteam.bind(this),this.restartApp=this.restartApp.bind(this),this.rtcOffer=this.rtcOffer.bind(this),this.onAppProcess=this.onAppProcess.bind(this),this.onLogout=this.onLogout.bind(this),this.onVersionCheckResponse=this.onVersionCheckResponse.bind(this),this.onTaskResponse=this.onTaskResponse.bind(this),this.onStartStreamResponse=this.onStartStreamResponse.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onAppResize=this.onAppResize.bind(this),this.onAppMouseMode=this.onAppMouseMode.bind(this),this.onAppPlayerList=this.onAppPlayerList.bind(this),this.onAppRequestText=this.onAppRequestText.bind(this),this.onDataChannelText=this.onDataChannelText.bind(this),this.onDataChannelBinary=this.onDataChannelBinary.bind(this),this.onDataChannelOpen=this.onDataChannelOpen.bind(this),this.onDataChannelClose=this.onDataChannelClose.bind(this),this.onPeerConnectionState=this.onPeerConnectionState.bind(this),this.onPixelStreamingDataChannelData=this.onPixelStreamingDataChannelData.bind(this),this.onPixelStreamingDataChannelState=this.onPixelStreamingDataChannelState.bind(this),this.onPixelStreamingPlayerList=this.onPixelStreamingPlayerList.bind(this),this.onAiVoiceStatus=this.onAiVoiceStatus.bind(this),this.onAiVoiceAsrResult=this.onAiVoiceAsrResult.bind(this),this.onAiVoiceDMResult=this.onAiVoiceDMResult.bind(this),this.recoder=new Ge,this.onRecoderData=this.onRecoderData.bind(this)}get state(){return this._state}set state(e){this.appStateChange(e)}get audioDeviceId(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.audioDeviceId}get audioTrack(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.audioTrack}get videoDeviceId(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.videoDeviceId}get videoTrack(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.videoTrack}get voiceId(){return this.recoder.voiceId}get recodeState(){return this.recoder.state}init(){this.larksr.params.wsProxy?(this.websocketProxy=new Ze({serverAddress:this.larksr.serverAddress,appServer:this.larksr.params.appServer,appPort:this.larksr.params.appPort},this.larksr),this.websocketProxy.on(je.OPEN,this.onChannelOpen,this),this.websocketProxy.on(je.CLOSE,this.onClose,this),this.websocketProxy.on(je.ERROR,this.onClose,this),this.websocketProxy.on(je.CLIENT_MSG,this.onChannelMsg,this)):(this.websocketChannel=new f({serverAddress:this.larksr.serverAddress,ip:this.larksr.params.appServer,port:this.larksr.params.appPort,path:"",renderSSLServerPort:this.larksr.params.renderSSLServerPort},this.larksr),this.websocketChannel.on(h.OPEN,this.onChannelOpen,this),this.websocketChannel.on(h.CLOSE,this.onClose,this),this.websocketChannel.on(h.ERROR,this.onClose,this),this.websocketChannel.on(h.CLIENT_MSG,this.onChannelMsg,this)),this.initPc(),this.recoder.on(Ue.DATA,this.onRecoderData,this),this.appStateChange(Fe.INITED)}initPc(){this.peerConnection=new Ve(this.larksr,{serverIP:this.larksr.params.appServer,preferPubOutIp:this.larksr.params.preferPubOutIp,codeRate:this.larksr.params.codeRate,network:this.larksr.params.network}),this.peerConnection.on(Ie.RTC_SDP,this.onLocalSdp,this),this.peerConnection.on(Ie.RTC_ICECANDIDATE,this.onLoacalIce,this),this.peerConnection.on(Ie.GOT_REMOTE_STREAM,this.onRemoteStream,this),this.peerConnection.on(Ie.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),this.peerConnection.on(Ie.ERROR,this.onRtcError,this),this.peerConnection.on(Ie.ICE_STATE_CHANGE,this.onIceStateChange,this),this.peerConnection.on(Ie.BAD_NETWORK,this.onBadNetwork,this),this.peerConnection.on(Ie.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.peerConnection.on(Ie.NET_STATE,this.onPeerConnectionState,this),this.peerConnection.on(Ie.LK_APP_RESIZE,this.onAppResize,this),this.peerConnection.on(Ie.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.peerConnection.on(Ie.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.peerConnection.on(Ie.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.peerConnection.on(Ie.AI_VOICE_STATUS,this.onAiVoiceStatus,this),this.peerConnection.on(Ie.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),this.peerConnection.on(Ie.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),this.peerConnection.on(Ie.AI_VOICE_ERROR,this.onAiVoiceError,this),this.peerConnection.on(Ie.INFO,this.onRtcInfo,this),this.peerConnection.on(Ie.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),this.peerConnection.on(Ie.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this)}releasePc(){var e,t,r,n,o,i,s,a,c,u,l,A,d,p,h,m,f,y,b,g,v,O,E,S;null===(e=this.peerConnection)||void 0===e||e.off(Ie.RTC_SDP,this.onLocalSdp,this),null===(t=this.peerConnection)||void 0===t||t.off(Ie.RTC_ICECANDIDATE,this.onLoacalIce,this),null===(r=this.peerConnection)||void 0===r||r.off(Ie.GOT_REMOTE_STREAM,this.onRemoteStream,this),null===(n=this.peerConnection)||void 0===n||n.off(Ie.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),null===(o=this.peerConnection)||void 0===o||o.off(Ie.ERROR,this.onRtcError,this),null===(i=this.peerConnection)||void 0===i||i.off(Ie.ICE_STATE_CHANGE,this.onIceStateChange,this),null===(s=this.peerConnection)||void 0===s||s.off(Ie.BAD_NETWORK,this.onBadNetwork,this),null===(a=this.peerConnection)||void 0===a||a.off(Ie.SYNC_CURSORSTYLE,this.onCursorStyle,this),null===(c=this.peerConnection)||void 0===c||c.off(Ie.NET_STATE,this.onPeerConnectionState,this),null===(u=this.peerConnection)||void 0===u||u.off(Ie.LK_APP_RESIZE,this.onAppResize,this),null===(l=this.peerConnection)||void 0===l||l.off(Ie.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),null===(A=this.peerConnection)||void 0===A||A.off(Ie.LK_APP_PLAER_LIST,this.onAppPlayerList,this),null===(d=this.peerConnection)||void 0===d||d.off(Ie.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),null===(p=this.peerConnection)||void 0===p||p.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),null===(h=this.peerConnection)||void 0===h||h.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),null===(m=this.peerConnection)||void 0===m||m.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),null===(f=this.peerConnection)||void 0===f||f.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),null===(y=this.peerConnection)||void 0===y||y.off(Ie.AI_VOICE_STATUS,this.onAiVoiceStatus,this),null===(b=this.peerConnection)||void 0===b||b.off(Ie.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),null===(g=this.peerConnection)||void 0===g||g.off(Ie.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),null===(v=this.peerConnection)||void 0===v||v.off(Ie.AI_VOICE_ERROR,this.onAiVoiceError,this),null===(O=this.peerConnection)||void 0===O||O.off(Ie.INFO,this.onRtcInfo,this),null===(E=this.peerConnection)||void 0===E||E.off(Ie.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),null===(S=this.peerConnection)||void 0===S||S.off(Ie.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this),this.peerConnection=null}clear(){var e,t,r,n,o,i,s,a;this.larksr.params.wsProxy?(null===(e=this.websocketProxy)||void 0===e||e.off(je.OPEN,this.onChannelOpen,this),null===(t=this.websocketProxy)||void 0===t||t.off(je.CLOSE,this.onClose,this),null===(r=this.websocketProxy)||void 0===r||r.off(je.ERROR,this.onClose,this),null===(n=this.websocketProxy)||void 0===n||n.off(je.CLIENT_MSG,this.onChannelMsg,this),this.websocketProxy=null):(null===(o=this.websocketChannel)||void 0===o||o.off(h.OPEN,this.onChannelOpen,this),null===(i=this.websocketChannel)||void 0===i||i.off(h.CLOSE,this.onClose,this),null===(s=this.websocketChannel)||void 0===s||s.off(h.ERROR,this.onClose,this),null===(a=this.websocketChannel)||void 0===a||a.off(h.CLIENT_MSG,this.onChannelMsg,this),this.websocketChannel=null),this.recoder.off(Ue.DATA,this.onRecoderData,this),this.releasePc(),this.larksr.remoteScreenReady=!1}changeOperater(e){var t;if(this.larksr.isPixelStreaming){s.info("change operate when pixel streaming",e);let t=De.emptyMsg(!0);t.dispatchController={id:e},this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(t).finish())}else null===(t=this.peerConnection)||void 0===t||t.changeOperater(e)}inputText(e){var t;null===(t=this.peerConnection)||void 0===t||t.inputText(e)}sendTextToDataChannel(e){var t;if(this.larksr.isPixelStreaming){const t=(new TextEncoder).encode(e);let r=De.emptyMsg(!0);r.datachannelData={type:c.CloudLark.LarkXRChannelMessage.Type.STRING,data:t},s.info("sendToAppTextMsg",e,t),this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(r).finish())}else null===(t=this.peerConnection)||void 0===t||t.sendToAppTextMsg(e)}sendBinaryToDataChannel(e){var t;if(this.larksr.isPixelStreaming){let t=De.emptyMsg(!0);t.datachannelData={type:c.CloudLark.LarkXRChannelMessage.Type.BIN,data:e},this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(t).finish())}else null===(t=this.peerConnection)||void 0===t||t.sendToAppBinaryMsg(e)}aiDmTextInput(e){let t=this.recoder.updateVoiceId();return this.sendInput(c.CloudLark.ClientInput.create({aiVoiceText:{text:e,voiceId:t}})),s.info("aiDmTextInput",e,t),t}async startAiDmVoiceInput(){this.recoder.state==ze.RECORDING&&(this.recoder.pause(),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})));const e=await this.recoder.start();return this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStart:{voiceId:e}})),e}stopAiDmVoiceInput(){return this.recoder.state!=ze.RECORDING?(s.warn("stop recode called but not recoding state"),this.recoder.voiceId):(this.recoder.pause(),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})),this.recoder.voiceId)}onRecoderData(e){s.info("onRecoderData",e),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamSlice:{voiceId:e.voiceId,sliceId:e.sliceId,audio:e.data}}))}async start(){try{await this.connect()}catch(e){s.err(e),this.errorMsg(JSON.stringify(e)+". "+d.message.connectToAdmin)}}connect(){var e,t;return s.info("app connnect",this.larksr.params,this.websocketProxy,this.websocketChannel),this.larksr.params.wsProxy?null===(e=this.websocketProxy)||void 0===e?void 0:e.connect():null===(t=this.websocketChannel)||void 0===t?void 0:t.connect()}disConnect(){var e,t,r;this.larksr.appState!==Fe.DESTROYED&&(this.appStateChange(Fe.BEFORE_DESTORY),null===(e=this.websocketProxy)||void 0===e||e.close(),null===(t=this.websocketChannel)||void 0===t||t.close(),null===(r=this.peerConnection)||void 0===r||r.close(),this.clear(),this.appStateChange(Fe.DESTROYED))}closeRtc(){var e;s.info("close webrtc"),null===(e=this.peerConnection)||void 0===e||e.close()}versionCheck(){s.info("send version check"),this.sendToWebsocektChannelMsg(De.versionCheckRequest(this.larksr.isPixelStreaming))}task(){s.info("send task requset"),this.sendToWebsocektChannelMsg(De.taskRequest(this.larksr.params.taskid,this.larksr.isInteractiveMode,this.larksr.isObMode,this.larksr.params.nickname,this.larksr.isPixelStreaming))}startSteam(){s.info("start steam request"),this.sendToWebsocektChannelMsg(De.startStreamReqeuest({width:this.larksr.params.width,height:this.larksr.params.height,fps:this.larksr.params.frameRate,bitrateKbps:this.larksr.params.codeRate},this.larksr.isPixelStreaming))}startMonitorSteam(){s.info("startMonitorSteam"),this.sendToWebsocektChannelMsg(De.startMonitorStreamReqeuest({taskid:this.larksr.params.taskid,width:this.larksr.params.width,height:this.larksr.params.height,fps:this.larksr.params.frameRate,bitrateKbps:this.larksr.params.codeRate}))}restart(){this.appStateChange(Fe.APP_RETRY),this.initPc(),this.startSteam()}restartApp(){var e,t;s.info("restart app"),this.larksr.params.wsProxy?null===(e=this.websocketProxy)||void 0===e||e.sendMsg(De.restartApp()):null===(t=this.websocketChannel)||void 0===t||t.sendMsg(De.restartApp())}async rtcOffer(){var e;let t=null;const r=Pe().getParser(window.navigator.userAgent),n=r.getOSName(),o=parseFloat(r.getOSVersion());if("iOS"==n&&o<15&&(this.larksr.params.audioInput||this.larksr.params.videoInput))try{t=await navigator.mediaDevices.getUserMedia({video:this.larksr.params.audioInput,audio:this.larksr.params.videoInput})}catch(e){this.infoMsg(JSON.stringify(e))}try{null===(e=this.peerConnection)||void 0===e||e.create(t)}catch(e){s.info("rtc peerconnection create failed ",e);const t="检测到当前浏览器不支持 WebRTC 推荐使用"+(b.isMobile?"微信或 QQ 搜狗 360 浏览器 ":"Chrome 浏览器");this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED,"",t),this.errorMsg(t)}}setAnswer(e){this.onWebRtcOfferAnswer({type:"answer",sdp:e})}setIce(e,t,r){this.onWebRtcIcecandidate({sdpMlineindex:0,sdpmid:"0",candidate:r})}sendInput(e){var t;null===(t=this.peerConnection)||void 0===t||t.sendInput(e)}sendInputBuffer(e){var t;null===(t=this.peerConnection)||void 0===t||t.sendBuffer(e)}sendToWebsocektChannelBuffer(e){var t,r;this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendBuffer(e):null===(r=this.websocketChannel)||void 0===r||r.sendBuffer(e)}sendToWebsocektChannelMsg(e){var t,r;this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(e):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(e)}onChannelOpen(e){this.appStateChange(Fe.WEBSOCKET_CHANNEL_OPEN),s.info("start version check when channel open"),this.versionCheck()}onClose(e){if(this.state<Fe.BEFORE_DESTORY){const e=this.larksr.params.wsProxy?p.LK_PROXY_SERVER_CLOSE:p.LK_RENDER_SERVER_CLOSE;this.errorMsg(d.message.connectWsClose+". code "+e,e)}this.appStateChange(Fe.WEBSOCKET_CLOSED),this.disConnect()}onChannelMsg(e){if(e.data){const t=e.data;t.versionCheckResponse?this.onVersionCheckResponse(t.versionCheckResponse):t.taskResponse?this.onTaskResponse(t.taskResponse):t.startStreamResponse?this.onStartStreamResponse(t.startStreamResponse):t.webrtcOfferAnswer?this.onWebRtcOfferAnswer(t.webrtcOfferAnswer):t.webrtcIcecandidate?this.onWebRtcIcecandidate(t.webrtcIcecandidate):t.webrtcError?this.onWebRtcError(t.webrtcError):t.processNotifi?this.onAppProcess(t.processNotifi):t.logout?this.onLogout(t.logout):t.vrMonitorResponse?this.onStartMonitorResponse():t.datachannelState?this.onPixelStreamingDataChannelState(t.datachannelState):t.datachannelData?this.onPixelStreamingDataChannelData(t.datachannelData):t.updatePlayers?this.onPixelStreamingPlayerList(t.updatePlayers):s.info("其他类型消息",t)}}onVersionCheckResponse(e){var t,r,n,o,i,a,c,u;s.info("onVersionCheckResponse:"+JSON.stringify(e)),e.response?(this.larksr.config.isMonitor?this.startMonitorSteam():this.task(),this.larksr.$emit(p.LK_VERSION_CHECK_SUCCESS)):(s.warn("version check faied:",e.clientVer,e.serverVer),this.errorMsg("Version check failed. Need client version "+(null===(t=e.clientVer)||void 0===t?void 0:t.versionMarjor)+"."+(null===(r=e.clientVer)||void 0===r?void 0:r.versionMinor)+"."+(null===(n=e.clientVer)||void 0===n?void 0:n.versionRevise)+"."+(null===(o=e.clientVer)||void 0===o?void 0:o.versionBuild)+"; Current "+v.VersionMarjor+"."+v.VersionMinorr+"."+v.VersionRevise+"."+v.VersionBuild+"; Server version "+(null===(i=e.serverVer)||void 0===i?void 0:i.versionMarjor)+"."+(null===(a=e.serverVer)||void 0===a?void 0:a.versionMinor)+"."+(null===(c=e.serverVer)||void 0===c?void 0:c.versionRevise)+"."+(null===(u=e.serverVer)||void 0===u?void 0:u.versionBuild)),this.larksr.$emit(p.LK_VERSION_CHECK_FAILED,e))}onTaskResponse(e){if(s.info("onTaskResponse:",e,e.response,e.uid),null!=e.response){const t=De.getCloudlarkTaskEvent(e.response),r=De.getCloudlarkTaskEventMsg(t,e.reason);e.response==c.CloudLark.TaskResponse.Response.TASK_SUCCESS?(this.larksr.$emit(t,{uid:e.uid,isPrestart:e.prestart},r),this.emit(this.createAppEvent(_e.LOGIN,{uid:e.uid,isPrestart:e.prestart})),this.infoMsg(r,t),this.appStateChange(Fe.LOGIN_SUCCESS),this.startSteam()):(this.larksr.$emit(t,e.response,r),s.warn("task failed:",e.response,e.reason),this.errorMsg(r,t))}else s.err("task response empty"),this.errorMsg("task response empty")}onStartStreamResponse(e){if(s.info("onStartStreamResponse:"+e.response),null!=e.response){const t=De.getCloudlarkStartStreamEvent(e.response),r=De.getCloudlarkStartStreamingEventMsg(t);this.larksr.$emit(t,e.response,r),e.response==c.CloudLark.StartStreamResponse.Response.START_SUCCESS?(this.infoMsg(r,t),this.rtcOffer()):(s.warn("start stream faile:",e.response),this.errorMsg(r,t))}else s.warn("start stream response empty"),this.errorMsg("start stream response empty")}onStartMonitorResponse(){s.info("onStartMonitorResponse"),this.rtcOffer()}onWebRtcOfferAnswer(e){var t;s.info("onWebRtcOfferAnswer:"+JSON.stringify(e)),e.type&&e.sdp?null===(t=this.peerConnection)||void 0===t||t.onRemoteDescription({type:e.type,sdp:e.sdp}):this.errorMsg("SDP 格式错误,缺少 type 或 sdp"+JSON.stringify(e))}onWebRtcIcecandidate(e){var t;s.info("onWebRtcIcecandidate:",e),e.candidate&&null!=e.sdpMlineindex&&null!=e.sdpMlineindex&&e.sdpmid?null===(t=this.peerConnection)||void 0===t||t.onReceiveCandidate({sdpMid:e.sdpmid,sdpMLineIndex:e.sdpMlineindex,candidate:e.candidate}):this.errorMsg("ICE 格式错误,缺少数据"+JSON.stringify(e))}onWebRtcError(e){s.warn("onWebRtcError:"+JSON.stringify(e));const t=p.LK_RTC_EVENT_PEERCONNECTION_ERROR;this.larksr.$emit(t),this.errorMsg("onWebRtcError "+JSON.stringify(e)+". code "+t+". "+d.message.connectToAdmin,t)}onAppProcess(e){e.appQuit?(s.warn("onAppProcess appQuit retry:"+JSON.stringify(e)),this.releasePc(),this.larksr.$emit(p.LK_APP_PROCESS_NOTIFI_APP_QUIT,!!e.appQuit.reStartStream),this.$emit(_e.APP_CLOSE,!!e.appQuit.reStartStream)):s.warn("onAppProcess unknown progress"+JSON.stringify(e))}onLogout(e){s.info("on Logout"+JSON.stringify(e));let t=0,r="";this.larksr.playerModeType==zn.Interactive?(t=p.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT,r=d.message.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT):(t=p.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT,r=d.message.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT),this.larksr.$emit(t),this.errorMsg(r+". code "+t+". ",t),this.disConnect()}onLocalSdp(e){var t,r;const n=e.data;n&&n.sdp&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.rtcOfferMsg(n.type,n.sdp)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.rtcOfferMsg(n.type,n.sdp)))}onLoacalIce(e){var t,r;const n=e.data;n&&n.sdpMid&&n.sdpMLineIndex&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.iceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.iceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)))}onRemoteStream(e){const t=e.data;this.infoMsg(d.message.iceSuccess),this.$emit(_e.REMOTE_STREAM,t)}onAudioRemoteStream(e){const t=e.data;this.$emit(_e.REMOTE_AUDIO_STREAM,t)}onRtcError(e){const t=e.data;this.larksr.appState<Fe.BEFORE_DESTORY&&this.errorMsg(t)}onRtcInfo(e){const t=e.data;this.larksr.appState<Fe.BEFORE_DESTORY&&this.infoMsg(t)}onRtmpStreamingState(e){this.$emit(_e.RTMP_STREAM_STATE,e.data)}onRtmpStreamingError(e){this.$emit(_e.RTMP_STREAM_ERROR,e.data)}onIceStateChange(e){const t=this.larksr.appState,r=e.data;r==Me.DISCONNECT?(s.info("BEFORE_DESTORY",this.retryTime,v.RetryTime,t),t<=Fe.RTC_CONNECTED?(this.onPeerConnectionDisconnect(),this.appStateChange(Fe.RTC_CLOSED)):t<Fe.RTC_RETRY?(s.warn("start retrying..."),this.retryPeerconnection(),this.appStateChange(Fe.RTC_RETRY)):t==Fe.RTC_RETRY?(s.warn("retrying..."),this.retryPeerconnection()):t<Fe.BEFORE_DESTORY&&(this.onPeerConnectionDisconnect(),this.appStateChange(Fe.RTC_CLOSED))):r==Me.GOOD&&(t<Fe.MEDIA_LOADED&&(this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_CONNECTED),this.appStateChange(Fe.RTC_CONNECTED)),this.retryTime=0)}retryPeerconnection(){this.releasePc(),this.initPc(),this.retryTime<v.RetryTime?(this.toastMsg(d.message.RTC_RETRY_CONNECTION+". "+this.retryTime),this.rtcOffer(),this.retryTime++):(this.onPeerConnectionDisconnect(),this.appStateChange(Fe.RTC_CLOSED))}setAudioEnable(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.setAudioEnable(e)}setVideoEnable(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.setVideoEnable(e)}setShareEnable(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.setShareEnable(e)}closeAudio(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.closeAudio()}closeVideo(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.closeVideo()}closeShare(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.closeShare()}async openAudio(e=""){var t;return await(null===(t=this.peerConnection)||void 0===t?void 0:t.openAudio(e))}async openVideo(e=!1,t=""){var r;return await(null===(r=this.peerConnection)||void 0===r?void 0:r.openVideo(e,t))}async openDefaultMedia(e=!0,t=!0){var r;return await(null===(r=this.peerConnection)||void 0===r?void 0:r.openDefaultMedia(e,t))}async openShareMediaDevice(){var e;return await(null===(e=this.peerConnection)||void 0===e?void 0:e.openShareMediaDevice())}async getConnectedAudioinputDevices(){var e;return await(null===(e=this.peerConnection)||void 0===e?void 0:e.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var e;return await(null===(e=this.peerConnection)||void 0===e?void 0:e.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var e;return await(null===(e=this.peerConnection)||void 0===e?void 0:e.getConnectedVideoinputDevices())}async getConnectedDevices(e){var t;return await(null===(t=this.peerConnection)||void 0===t?void 0:t.getConnectedDevices(e))}async openAudioDevice(e,t="audioinput"){var r;return await(null===(r=this.peerConnection)||void 0===r?void 0:r.openAudioDevice(e,t))}async openCamera(e,t=0,r=0){var n;return await(null===(n=this.peerConnection)||void 0===n?void 0:n.openCamera(e,t,r))}async openUserMeida(e){var t;return await(null===(t=this.peerConnection)||void 0===t?void 0:t.openUserMeida(e))}addMediaTrack(e,...t){var r;return null===(r=this.peerConnection)||void 0===r?void 0:r.addMediaTrack(e,...t)}removeMediaTrack(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.removeMediaTrack(e)}requestUserMediaPermission(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.requestUserMediaPermission(e)}StartCloudLiveStreaming(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.StartCloudLiveStreaming(e)}StopLiveStreaming(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.StopLiveStreaming()}onPeerConnectionDisconnect(){const e=p.LK_RTC_EVENT_PEERCONNECTION_CLOSED;this.larksr.$emit(e),this.errorMsg(d.message.RTC_EVENT_PEERCONNECTION_CLOSED+". code"+e,e),this.disConnect()}onBadNetwork(e){this.toastMsg(d.ui.badNetwork)}onPixelStreamingPlayerList(e){s.info("on piexl streaming player list",e),this.larksr.isPixelStreaming?e.descs&&(this.larksr.$emit(p.LK_APP_PLAER_LIST,L.deepCopyArray(e.descs),"PLAYER_LIST"),this.$emit(_e.LK_APP_PLAER_LIST,e.descs)):s.warn("not in pixelstreaming type")}onPixelStreamingDataChannelState(e){s.info("on datachannelState msg",e),this.larksr.isPixelStreaming?e==c.CloudLark.AppDataChannelState.State.OPEN?(this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_OPEN,e)):(this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,e)):s.warn("not in pixelstreaming type")}onPixelStreamingDataChannelData(e){if(s.info("onPixelStreamingDataChannelData ",e),this.larksr.isPixelStreaming)if(e.type==c.CloudLark.AppDataChannelMessage.Type.STRING){if(e.data){const t=(new TextDecoder).decode(e.data.length>0?e.data.subarray(0,e.data.length-1):e.data);this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t)}}else this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data);else s.warn("not in pixelstreaming type")}onCursorStyle(e){this.$emit(_e.SYNC_CURSORSTYLE,e.data)}onAppResize(e){this.$emit(_e.LK_APP_RESIZE,e.data)}onAppMouseMode(e){this.$emit(_e.LK_APP_MOUSE_MODE,e.data)}onAppPlayerList(e){this.$emit(_e.LK_APP_PLAER_LIST,e.data)}onAppRequestText(e){this.$emit(_e.LK_APP_REQUEST_TEXT,e.data)}onDataChannelText(e){this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,e.data)}onDataChannelBinary(e){this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data)}onDataChannelOpen(e){this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_OPEN,e.data)}onDataChannelClose(e){this.$emit(_e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,e.data)}onPeerConnectionState(e){this.$emit(_e.NET_STATE,e.data)}onAiVoiceStatus(e){this.$emit(_e.AI_VOICE_STATUS,e.data)}onAiVoiceAsrResult(e){this.$emit(_e.AI_VOICE_ASR_RESULT,e.data)}onAiVoiceDMResult(e){this.$emit(_e.AI_VOICE_DM_RESULT,e.data)}onAiVoiceError(e){this.$emit(_e.AI_VOICE_ERROR,e.data)}appStateChange(e){this._state=e,s.info("appStateChange",this._state),this.$emit(_e.APP_STATE_CHANGE,e)}infoMsg(e,t=0){this.$emit(_e.INFO,{message:e,code:t})}errorMsg(e,t=0){this.$emit(_e.ERROR,{message:e,code:t})}toastMsg(e,t=0){this.$emit(_e.INFO,{message:e,code:t})}$emit(e,t){this.emit(this.createAppEvent(e,t))}createAppEvent(e,t){return{type:e,target:this,data:t,state:this.state}}}var Ke;!function(e){e[e.DESKTOP=1]="DESKTOP",e[e.SHARED=2]="SHARED",e[e.PIXEL_STREAMING=13]="PIXEL_STREAMING",e[e.VR=3]="VR",e[e.VR_STEAM=5]="VR_STEAM",e[e.NV_VR=6]="NV_VR",e[e.XR=7]="XR",e[e.PXY_AR=9]="PXY_AR",e[e.NV_AR=11]="NV_AR"}(Ke||(Ke={}));class Je{constructor(){this.appServer="",this.appPort="",this.renderSSLServerPort="",this.appliType=Ke.SHARED,this.wsProxy=!1,this.preferPubOutIp="",this.taskid="",this.appliName="",this.width=v.OriginW,this.height=v.OriginH,this.scaleMode=g.CONTAIN_APP,this.logLevel="warn",this.noOperationTimeout=0,this.waterMark=!1,this.rttLimit=60,this.packetLostLimit=20,this.rttLimitInterval=20,this.codeRate=v.CodeRate,this.audioCodeRate=v.AudioCodeRate,this.frameRate=v.FrameRate,this.network="public",this.language="",this.initCursorMode=!1,this.bgColor="",this.fullScreenMode=0,this.mobileFullScreenMode=0,this.playerMode=0,this.userType=1,this.nickname="",this.roomCode="",this.debugTask=!1,this.debugWebServer="",this.loadingTimeout=300,this.shareUrl=!1,this.mobileForceLandscape=!0,this.mobileVirtualJoystick=!0,this.mouseZoomDirection=0,this.showPlayerList=!0,this.preferDecoder="h264",this.touchOperateMode="mouse",this.appliId="",this.syncLocalToCloudClipboard=!0,this.enableRttIcon=!0,this.enableSoundRequire=!0,this.toastLevel=0,this.appKey="",this.groupId="",this.textInputEventPrompt=!0,this.audioInput=!1,this.audioInputAutoStart=!1,this.videoInput=!1,this.videoInputAutoStart=!1,this.liveStreaming=!1}static copyAndCreate(e){return e?Object.assign({},e):new Je}static setUpWithSDKConfig(e,t){const r=Object.assign({},e);return t.codeRate&&(r.codeRate=t.codeRate),t.audioCodeRate&&(r.audioCodeRate=t.audioCodeRate),t.frameRate&&(r.frameRate=t.frameRate),t.loadingTimeout&&(r.loadingTimeout=t.loadingTimeout),t.preferDecoder&&(r.preferDecoder=t.preferDecoder),t.syncLocalToCloudClipboard&&(r.syncLocalToCloudClipboard=t.syncLocalToCloudClipboard),t.logLevel&&(r.logLevel=t.logLevel),t.scaleMode&&(r.scaleMode=t.scaleMode),null!=t.fullScreenMode&&(r.fullScreenMode=t.fullScreenMode),null!=t.mobileFullScreenMode&&(r.mobileFullScreenMode=t.mobileFullScreenMode),null!=t.mobileForceLandscape&&(r.mobileForceLandscape=t.mobileForceLandscape),null!=t.initCursorMode&&(r.initCursorMode=t.initCursorMode),null!=t.textInputEventPrompt&&(r.textInputEventPrompt=t.textInputEventPrompt),null!=t.audioInputAutoStart&&(r.audioInputAutoStart=t.audioInputAutoStart),null!=t.videoInputAutoStart&&(r.videoInputAutoStart=t.videoInputAutoStart),null!=t.touchOperateMode&&(r.touchOperateMode=t.touchOperateMode),null!=t.mouseZoomDirection&&(r.mouseZoomDirection=t.mouseZoomDirection),null!=t.preferPublicIp&&(r.preferPubOutIp=t.preferPublicIp),null!=t.language&&(r.language=t.language),r}}class Ye{static getScaleMode(e){if(null==e||isNaN(e))return g.CONTAIN_APP;switch(e){default:return g.CONTAIN_APP;case 1:return g.CONTAIN_VIDEO;case 2:return g.FIT_SCREEN;case 3:return g.FILL_CLIP;case 4:return g.FILL_STRETCH}}static getNetwork(e){return null==e||isNaN(e)?"public":0===e?"local":"public"}static getLogLevel(e){return e&&"info"===e||"warn"===e?e:"warn"}static getBoolOption(e,t=!1){return null==e||""===e?t:"boolean"==typeof e?e:"false"!==e}static getNumberBoolOption(e,t=!1){return null==e||""===e?t:"number"==typeof e?0!==e:"0"!==e}static getStringOption(e,t=""){return null==e||""===e?t:decodeURI(decodeURI(e))}static getIntOption(e,t=0){if(null==e||""===e)return t;const r=parseInt(e,10);return isNaN(r)?t:r}static getBgColor(e){return null==e||""===e?"":e.indexOf("0x")>-1?e.replace("0x","#"):"#"+e}}function Qe(e){let t=new Je;t.appServer=e.renderServerIp,t.appPort=e.renderServerPort+"",t.renderSSLServerPort=e.renderSSLServerPort?e.renderSSLServerPort+"":"",t.taskid=e.taskId,t.scaleMode=Ye.getScaleMode(e.initWinSize),t.network=Ye.getNetwork(parseInt(e.network,10)),t.preferPubOutIp=e.preferPublicIp,t.noOperationTimeout=Ye.getIntOption(e.noOperationTimeout,0),t.rttLimit=Ye.getIntOption(e.rttLimit,60),t.rttLimitInterval=Ye.getIntOption(e.rttLimitInterval,20),t.wsProxy=Ye.getNumberBoolOption(e.wsProxy),t.initCursorMode=Ye.getNumberBoolOption(e.initCursorMode),t.bgColor=e.bgColor,t.fullScreenMode=e.fullScreenMode,t.mobileFullScreenMode=e.mobileFullScreenMode,t.playerMode=Ye.getIntOption(e.playerMode+"",0),t.userType=Ye.getIntOption(e.userType+"",1),e.nickName&&(t.nickname=Ye.getStringOption(e.nickName)),e.nickname&&(t.nickname=Ye.getStringOption(e.nickname)),t.roomCode=Ye.getStringOption(e.roomCode,""),t.mobileForceLandscape=Ye.getNumberBoolOption(e.mobileForceLandscape),t.mobileVirtualJoystick=Ye.getNumberBoolOption(e.mobileVirtualJoystick),t.mouseZoomDirection=e.mouseZoomDirection,t.showPlayerList=Ye.getNumberBoolOption(e.playerListToggle);let r=Ye.getStringOption(e.touchOperateMode,"mouse");return t.touchOperateMode="touch"===r||"touchScreen"===r?"touchScreen":"mouse",t.appliId=e.appliId,t.language=e.language,t.appliType=e.appliType,t.appliName=decodeURI(e.appliName),t.appKey=e.appKey?e.appKey:"",t.groupId=e.groupId?e.groupId:"",t}var He=__webpack_require__(4559),$e=__webpack_require__.n(He);class et{static async HostAppliGetUrl(e){const t=await $e().get("https://www.pingxingyun.com/console/api"+et.PocHostApplGetUrl,{params:e});if(null!=t.data){if(1e3===t.data.code){const r=new URL(t.data.result);return{host:r.host,origin:r.origin,params:{appliId:e.appliId,appKey:L.queryURL(r,"appKey"),timestamp:L.queryURL(r,"timestamp"),signature:L.queryURL(r,"signature")}}}throw new Error(t.data.message)}throw new Error("获取AppliURl失败,结果为空")}static GetStartInfo(e,t){const r=e;let n=Object.assign({sdkVersion:`WEB-${v.VersionMarjor}.${v.VersionMinorr}.${v.VersionBuild}.${v.VersionRevise}`,sdkType:"3"},t);return new Promise(((e,t)=>{$e().get(r+et.GetStartInfoPath,{params:n}).then((r=>{if(null!=r.data)if(1e3===r.data.code)e(r.data.result);else{[813,814,815,816,817,820,821,823].filter((e=>e==r.data.code))?(s.info("渲染资源不足"),t(Object.assign({type:0},r.data))):t(Object.assign({type:1,message:"获取启动应用信息失败. code:"+r.data.code+";msg: "+r.data.message},r.data))}else t(Object.assign({type:1,message:"获取启动应用信息失败. 返回值为空"},r.data))})).catch((e=>{s.warn("获取启动应用信息失败",e),t({type:1,message:"请求启动应用接口失败:"+JSON.stringify(e)})}))}))}static CheckUTLockInfo(e){const t=e.serverAddress;return new Promise(((e,r)=>{$e().get(t+et.CheckUTLockInfoPath).then((t=>{null!=t.data?1e3===t.data.code?t.data.result?e({checkUtLockMessage:t.data.result.checkUtLockMessage,checkUtLockResult:t.data.result.checkUtLockResult,remainMinutes:t.data.result.remainMinutes}):r("读取加密狗信息失败. 结果为空."):r("读取加密狗信息失败. code:"+t.data.code):r("读取加密狗信息失败. 返回值为空")})).catch((e=>{s.warn("读取加密狗信息失败",e),r(d.message.loadConfigFailed+":"+e.statusText)}))}))}static GetTask(e,t){const r=e.serverAddress;return new Promise(((e,n)=>{$e().get(r+et.GetTaskPATH+"?taskId="+t).then((t=>{null!=t.data?1e3===t.data.code?t.data.result?(s.info("读取Task信息成功",t.data),e(t.data.result)):(s.warn("读取Task信息失败, 结果为空"),n("读取Task信息失败, 结果为空")):n("读取Task信息失败, code:"+t.data.code+"; msg:"+t.data.message):(s.warn("读取Task信息失败, 结果为空"),n("读取Task信息失败, 结果为空"))})).catch((e=>{s.warn("读取Task信息失败",e),n("读取Task信息失败"+JSON.stringify(e))}))}))}static LogError(e,t,r,n){const o=n.serverAddress;let i=new FormData;i.append("errorCode",e+""),i.append("errorMsg",t),i.append("params",r),$e().post(o+et.ClientLogErrorPath,i).then((e=>{s.info("request log info success.",e)})).catch((e=>{s.warn("request log error failed ",e)}))}static ClientInfo(e,t){const r=e.serverAddress,n=Ne.getParser(window.navigator.userAgent);let o="";const i=n.getPlatform();i.type&&(o+="platform="+i.type+"&"),i.vendor&&(o+="vendor="+i.vendor+"&"),i.model&&(o+="model="+i.model+"&");const a=n.getEngine();a.name&&(o+="engine="+a.name+"&"),a.version&&(o+="engineVersion="+a.version+"&");let c=n.getOSName();n.getOS().versionName&&(c+=" "+n.getOS().versionName),$e().get(r+"/client/info",{params:{taskId:t.taskid,appliId:t.appliId,startDate:Date.now(),prodType:"SR",clientType:"Web",clientVersion:v.VersionMarjor+"."+v.VersionMinorr+"."+v.VersionRevise+"."+v.VersionBuild,browserType:n.getBrowserName(),browserVersion:n.getBrowserVersion(),osVersion:c,isSdk:"N",deviceInfo:o}}).then((e=>{s.info("update client info success.",e)})).catch((e=>{s.warn("upload client info failed ",e)}))}static TaskInfoClientStarted(e,t){const r=e.serverAddress;let n=new FormData;n.append("taskId",t.taskid),$e().post(r+et.TaskInfoClientStartedPath,n).then((e=>{s.info("request log info success.",e)})).catch((e=>{s.warn("request log error failed ",e)}))}static PortMappingList(e){const t=e.serverAddress;return new Promise(((e,r)=>{$e().get(t+et.PortMappingListPath).then((t=>{t.data&&(1e3===t.data.code?e(t.data.result):r(t.data.message))})).catch((e=>{r(e)}))}))}static GetTouchCtrMapping(e,t=""){const r=e;return new Promise(((e,n)=>{$e().get(r+et.GetTouchCtrMappingPath,{params:{appliId:t}}).then((t=>{t.data&&(1e3===t.data.code?t.data.result?e(t.data.result):n("do not find touch control mapping"):n(t.data.message))})).catch((e=>{n(e)}))}))}static GetAppliList(e,t){const r=e;return new Promise(((e,n)=>{$e().get(r+et.GetAppliListPath,{params:t}).then((t=>{t.data&&(1e3===t.data.code&&t.data.result?e(t.data.result):n(t.data.message))})).catch((e=>{n(e)}))}))}static RegionList(e,t){const r=e;return new Promise(((e,n)=>{$e().get(r+et.RegionListPath,{params:t}).then((t=>{t.data&&(1e3===t.data.code&&t.data.result?e(t.data.result):n(t.data.message))})).catch((e=>{n(e)}))}))}static joinParam(e){var t="";for(const r in e)r&&(t+=r+"="+e[r]+"&");return t}}et.CheckUTLockInfoPath="/checkUTLockInfo",et.GetTaskPATH="/taskInfo/getTask",et.ClientLogErrorPath="/client/log/error",et.GetStartInfoPath="/appli/getSdkStartInfo",et.PocHostApplGetUrl="/poc/hostAppli/getUrl",et.TaskInfoClientStartedPath="/taskInfo/clientStarted",et.PortMappingListPath="/portMapping/list",et.GetTouchCtrMappingPath="/appli/getTouchCtrlMapping",et.GetAppliListPath="/appli/getAppliList",et.RegionListPath="/renderServer/regionList";const tt="pxymessage",rt=[p.LK_TASK_CREATE_FAILED,p.LK_RENDER_SERVER_FAILED,p.LK_RENDER_SERVER_CLOSE,p.LK_RENDER_SERVER_ERROR,p.LK_PROXY_SERVER_FAILED,p.LK_PROXY_SERVER_CLOSE,p.LK_PROXY_SERVER_ERROR,p.LK_VERSION_CHECK_FAILED,p.LK_TASK_NOTFOUND,p.LK_TASK_SERVER_ERROR,p.LK_TASK_APP_WRONGPARAM,p.LK_TASK_NO_GPU_RESOURCE,p.LK_START_STREAM_PROCESS_START_FAILED,p.LK_START_STREAM_PROCESS_START_TIMEOUT,p.LK_START_STREAM_NOT_STREAMING,p.LK_START_STREAM_ENCODER_ERROR,p.LK_RTC_EVENT_PEERCONNECTION_CLOSED,p.LK_RTC_EVENT_PEERCONNECTION_ERROR,p.LK_APP_PROCESS_NOTIFI_APP_QUIT,p.LK_STARTVRSTREAM_START_PROCESS_FAILED,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR,p.LK_DATA_CHANNEL_CLOSE,p.LK_DATA_CHANNEL_ERROR];class nt{constructor(e){this.larksr=e}listenParent(){L.IsIframe()&&null!=parent&&window.addEventListener("message",(e=>{if(s.info("on poster to lark message",e.data),e.data.prex!=tt)return void s.warn("iframe receive valid message. prex not rigth",e.data);const{type:t,data:r}=e.data;switch(t){case p.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE"),this.larksr.moseMove(r.x,r.y,r.rx,r.ry);break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN"),this.larksr.mouseDown(r.x,r.y,this.larksr.getMouseButtonType(r.button));break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_UP:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_UP"),this.larksr.mouseUp(r.x,r.y,this.larksr.getMouseButtonType(r.button));break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL"),this.larksr.mouseWheel(r.x,r.y,r.wheel);break;case p.LK_IFRAME_POSTER_OPERATE_KEY_DOWN:s.info("LK_IFRAME_POSTER_OPERATE_KEY_DOWN"),this.larksr.keyDown(r.key,r.isRepeat);break;case p.LK_IFRAME_POSTER_OPERATE_KEY_UP:s.info("LK_IFRAME_POSTER_OPERATE_KEY_UP"),this.larksr.keyUp(r.key);break;case p.LK_REQUEST_CAPTURE_FRAME:s.info("LK_REQUEST_CAPTURE_FRAME"),this.larksr.captrueFrame("");break;case p.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA:s.info("LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",r),this.larksr.captrueFrame(r);break;case p.LK_IFRAME_POSTER_FUNC_SCALE_MODE:this.larksr.scaleMode=r;break;case p.LK_IFRAME_POSTER_FUNC_MOUSE_MODE:this.larksr.initCursorMode=r;break;case p.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP:this.larksr.restart();break;case p.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY:case p.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO:this.larksr.videoComponent.sountPlayout();break;case p.LK_IFRAME_POSTER_OPENAUDIO_INPUT:this.larksr.audioTrack?this.larksr.audioTrack.enabled=!0:this.larksr.openAudio();break;case p.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT:this.larksr.audioTrack&&(this.larksr.audioTrack.enabled=!1);break;case p.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT:this.larksr.sendTextToDataChannel(r);break;case p.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY:this.larksr.sendBinaryToDataChannel(r);break;default:s.info("unknown postmessage type ",t)}}))}}var ot,it;!function(e){e[e.ARROW=0]="ARROW",e[e.IBEAM=1]="IBEAM",e[e.WAIT=2]="WAIT",e[e.CROSS=3]="CROSS",e[e.SIZENWSE=4]="SIZENWSE",e[e.SIZENESW=5]="SIZENESW",e[e.SIZEWE=6]="SIZEWE",e[e.SIZENS=7]="SIZENS",e[e.SIZEALL=8]="SIZEALL",e[e.NO=9]="NO",e[e.HAND=10]="HAND",e[e.CUSTOM=11]="CUSTOM",e[e.DEFAULT=1e3]="DEFAULT"}(ot||(ot={}));class st extends o{constructor(e,t,r,n=!0,o=!1){super(),this._appSize={width:1920,height:1080},this._viewPort={width:1920,height:1080},this._container={marginTop:0,marginLeft:0,width:0,height:0},this._screenOrientation="portrait",this._scaleMode=g.CONTAIN_APP,this._isFullScreen=!1,this._cursorStyle={type:ot.DEFAULT,hotX:0,hotY:0,width:0,height:0,customBase64:""},this._appMouseMode={mouseShow:!0,mouseLock:!1,mouseRelative:!1,rect:{top:0,left:0,right:0,bottom:0}},this._initCursorMode=!1,this._isMobile=!1,this._handleRootElementSize=!0,this._onlyHandleRootElementTransform=!1,this._baseElementScale=1,this.resize=this.resize.bind(this),this.larksr=r,this._rootElement=e,this._handleRootElementSize=n,this._onlyHandleRootElementTransform=o,this.mobileForceLandScape=t.mobileForceLandscape,this.bgColor=t.bgColor,this.reset(t),window.addEventListener("resize",(()=>{b.isIOSSafari?window.setTimeout((()=>{this.resize(this.baseElementScale)}),100):this.resize(this.baseElementScale)})),window.addEventListener("orientationchange",(()=>{b.isIOSSafari?window.setTimeout((()=>{this.resize(this.baseElementScale)}),100):this.resize(this.baseElementScale)})),o&&(s.info("onlyHandleRootElementTransform"),e.addEventListener("resize",(()=>{s.info("resize when only handle root element transform"),window.setTimeout((()=>{s.info("timeout resize when only handle root element transform"),this.resize(this.baseElementScale)}),100)})))}get appSize(){return this._appSize}set appSize(e){this._appSize=e,this.resize()}get viewPort(){return this._viewPort}get viewPortStyle(){return`width: ${this.viewPort.width}px; height: ${this.viewPort.height}px`}get orientationIndexStyle(){const{screenOrientation:e,viewPort:t,bgColor:r}=this;return"landscape"==e?{width:t.width+"px",height:t.height+"px",top:(t.width-t.height)/2+"px",left:0-(t.width-t.height)/2+"px",transform:"rotate(90deg)",transformOrigin:"50% 50%",backgroundColor:r}:{width:t.width+"px",height:t.height+"px",transform:"rotate(0deg)",transformOrigin:"50% 50%",backgroundColor:r}}get container(){return this._container}get containerStyle(){return`width: ${this.container.width}px;height: ${this.container.height}px;margin-top: ${this.container.marginTop}px;margin-left: ${this.container.marginLeft}px;cursor: ${this.cursorCSSStyle};`}get screenOrientation(){return this._screenOrientation}get scaleMode(){return this._scaleMode}set scaleMode(e){this._scaleMode=e,this.resize()}get isFullScreen(){return this._isFullScreen}get cursorStyle(){return this._cursorStyle}set cursorStyle(e){this._cursorStyle=e}get cursorCSSStyle(){if(this.larksr.playerModeType==zn.Interactive&&this.larksr.userType==qn.Observer)return"not-allowed";if(!this.appMouseMode.mouseShow&&!this.appMouseMode.mouseLock)return"none";switch(this.cursorStyle.type){case ot.ARROW:return"default";case ot.CROSS:return"crosshair";case ot.HAND:return"pointer";case ot.IBEAM:return"text";case ot.NO:return"no-drop";case ot.SIZEALL:return"all-scroll";case ot.SIZENESW:return"nesw-resize";case ot.SIZENS:return"ns-resize";case ot.SIZENWSE:return"nwse-resize";case ot.SIZEWE:return"ew-resize";case ot.WAIT:return"wait";case ot.CUSTOM:return`url(${this.cursorStyle.customBase64}) ${this.cursorStyle.hotX} ${this.cursorStyle.hotY}, auto`;default:return"default"}}get appMouseMode(){return this._appMouseMode}set appMouseMode(e){this._appMouseMode=e,this.resize()}get operateScale(){const{container:e,appSize:t}=this,r=t.width?t.width:1920,n=t.height?t.height:1080;return{scaleX:r/e.width,scaleY:n/e.height}}get initCursorMode(){return this._initCursorMode}set initCursorMode(e){this._initCursorMode=e,this.resize()}get isMobile(){return this._isMobile}get isLocalRenderMouse(){const{initCursorMode:e,appMouseMode:t}=this;return(e||t.mouseLock)&&t.mouseShow}get isLockMosue(){const{appMouseMode:e,initCursorMode:t}=this;return t||e.mouseLock}get rootElement(){return this._rootElement}get handleRootElementSize(){return this._handleRootElementSize}get onlyHandleRootElementTransform(){return this._onlyHandleRootElementTransform}get baseElementScale(){return this._baseElementScale}reset(e){this._initCursorMode=e.initCursorMode,this._isMobile=b.isMobile,this._scaleMode=e.scaleMode,this.mobileForceLandScape=e.mobileForceLandscape,this.bgColor=e.bgColor,this.resize()}setMobileForceLandScape(e){this.mobileForceLandScape=e,this.resize()}resize(e=1){const t=L.getViewport();this._baseElementScale=e;let r=this.appSize.width?this.appSize.width:1920,n=this.appSize.height?this.appSize.height:1080;s.info("resize ",this.appSize,r,n,t);let o=this.viewPort.width,i=this.viewPort.height,a=this.scaleMode,c=0,u=0;this.handleRootElementSize&&!this.onlyHandleRootElementTransform?(c=t.width,u=t.height-0):(c=L.getElementViewport(this.rootElement,e).width,u=L.getElementViewport(this.rootElement,e).height-0,this.onlyHandleRootElementTransform&&s.info("rezie when only handle root element transform",c,u));let l=1,A=L.deepCopy(this.container),d=1;if(b.isMobile&&this.handleRootElementSize)if(this.mobileForceLandScape)if(null!=window.orientation&&0===window.orientation){if(!this.onlyHandleRootElementTransform){const e=c;c=u,u=e}this._screenOrientation="landscape",s.info("landscape mode",L.getViewport(),c,u)}else this._screenOrientation="portrait",s.info("portrait mode",L.getViewport(),window.orientation);else this._screenOrientation="portrait",s.info("portrait mode",L.getViewport(),window.orientation);switch(a){case g.FIT_SCREEN:s.info("resize scale mode FIT_SCREEN"),l=Math.min(c/r,u/n),A.marginTop=.5*(u-n*l),A.marginLeft=.5*(c-r*l),A.width=r*l,A.height=n*l;break;case g.CONTAIN_VIDEO:s.info("resize scale mode CONTAIN_VIDEO"),l=Math.min(c/o,u/i),l<1&&(o*=l,i*=l),d=Math.min(o/r,i/n),d=d<1?d:1,A.width=r*d,A.height=n*d,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.CONTAIN_APP:s.info("resize scale mode CONTAIN_APP"),l=Math.min(c/r,u/n),l=l<1?l:1,A.width=r*l,A.height=n*l,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.FILL_CLIP:s.info("resize scale mode FILL_CLIP"),l=Math.max(c/r,u/n),A.width=r*l,A.height=n*l,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.FILL_STRETCH:s.info("resize scale mode FILL_STRETCH"),A.width=c,A.height=u,A.marginTop=0,A.marginLeft=0;break;default:s.warn("unsupport scale modle")}this._viewPort={width:c,height:u},this._container=A,this.handleRootElementSize&&("landscape"===this._screenOrientation?(this.rootElement.style.position="relative",this.rootElement.style.transform="rotate(90deg)",this.rootElement.style.transformOrigin="50% 50%",this.onlyHandleRootElementTransform?(this.rootElement.style.top=-(this.viewPort.width-this.viewPort.height)/2+"px",this.rootElement.style.left=0-(this.viewPort.width-this.viewPort.height)/2+"px"):(this.rootElement.style.width=this.viewPort.width+"px",this.rootElement.style.height=this.viewPort.height+"px",this.rootElement.style.margin="0",this.rootElement.style.padding="0",this.rootElement.style.top=(this.viewPort.width-this.viewPort.height)/2+"px",this.rootElement.style.left=0-(this.viewPort.width-this.viewPort.height)/2+"px")):(this.rootElement.style.position="relative",this.rootElement.style.transform="rotate(0deg)",this.rootElement.style.transformOrigin="50% 50%",this.rootElement.style.top="0",this.rootElement.style.left="0",this.onlyHandleRootElementTransform||(this.rootElement.style.width=this.viewPort.width+"px",this.rootElement.style.height=this.viewPort.height+"px",this.rootElement.style.margin="0",this.rootElement.style.padding="0"))),this.emit({target:this,type:0,container:A,viewPort:this._viewPort})}}!function(e){e[e.SINGLE_FINGER_TOUCH_START=1]="SINGLE_FINGER_TOUCH_START",e[e.SINGLE_FINGER_TAP=2]="SINGLE_FINGER_TAP",e[e.SINGLE_FINGER_TAP_DOWN=3]="SINGLE_FINGER_TAP_DOWN",e[e.SINGLE_FINGER_TAP_UP=4]="SINGLE_FINGER_TAP_UP",e[e.SINGLE_FINGER_SWIPE=5]="SINGLE_FINGER_SWIPE",e[e.SINGLE_FINGER_SWIPE_START=6]="SINGLE_FINGER_SWIPE_START",e[e.SINGLE_FINGER_SWIPE_END=7]="SINGLE_FINGER_SWIPE_END",e[e.DOUBLE_FINGER_TAP=8]="DOUBLE_FINGER_TAP",e[e.DOUBLE_FINGER_TAP_DOWN=9]="DOUBLE_FINGER_TAP_DOWN",e[e.DOUBLE_FINGER_TAP_UP=10]="DOUBLE_FINGER_TAP_UP",e[e.DOUBLE_FINGER_SWIPE=11]="DOUBLE_FINGER_SWIPE",e[e.DOUBLE_FINGER_SWIPE_START=12]="DOUBLE_FINGER_SWIPE_START",e[e.DOUBLE_FINGER_SWIPE_END=13]="DOUBLE_FINGER_SWIPE_END",e[e.DOUBLE_FINGER_EXPAND=14]="DOUBLE_FINGER_EXPAND",e[e.DOUBLE_FINGER_SHRINK=15]="DOUBLE_FINGER_SHRINK",e[e.DOUBLE_FINGER_SPIN=16]="DOUBLE_FINGER_SPIN",e[e.TRIPLE_FINGER_TAP=17]="TRIPLE_FINGER_TAP",e[e.TRIPLE_FINGER_TAP_DOWN=18]="TRIPLE_FINGER_TAP_DOWN",e[e.TRIPLE_FINGER_TAP_UP=19]="TRIPLE_FINGER_TAP_UP",e[e.TRIPLE_FINGER_SWIPE=20]="TRIPLE_FINGER_SWIPE",e[e.TRIPLE_FINGER_SWIPE_START=21]="TRIPLE_FINGER_SWIPE_START",e[e.TRIPLE_FINGER_SWIPE_END=22]="TRIPLE_FINGER_SWIPE_END",e[e.RELEASE=23]="RELEASE",e[e.NONE=24]="NONE",e[e.TEST=25]="TEST"}(it||(it={}));class at extends o{constructor(e=document.body){super(),this.touchStatus=4,this.touchStartTime=null,this.touchStartPoints=[],this.touchChangedPoins=[],this.tapStart=!1,this.tapPressTimeout=null,this.touchMoveList=[],this.lastMidPoint={x:0,y:0},this.root=e,this.initTouchStatus(),this.tapLimit={radius:20,timeout:200},this.lastTap={position:{x:0,y:0},timeStamp:0},this.onTouch=this.onTouch.bind(this)}setTapLimitRadius(e){this.tapLimit.radius=e}setTapLimitTimeout(e){this.tapLimit.timeout=e}startListening(){this.root&&(this.root.addEventListener("touchstart",this.onTouch.bind(this),{passive:!1}),this.root.addEventListener("touchmove",this.onTouch.bind(this),{passive:!1}),this.root.addEventListener("touchend",this.onTouch.bind(this)),this.root.addEventListener("touchcancel",this.onTouch.bind(this)))}stopListening(){this.root&&(this.root.removeEventListener("touchstart",this.onTouch.bind(this)),this.root.removeEventListener("touchmove",this.onTouch.bind(this)),this.root.removeEventListener("touchend",this.onTouch.bind(this)),this.root.removeEventListener("touchcancel",this.onTouch.bind(this)))}createGestureEvent(e,t={x:0,y:0},r={x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}},n=0){return{type:0,gestrueType:e,position:t,motion:r,distance:n}}onTouch(e){switch(e.cancelable?e.preventDefault():s.warn("cant cancle touch event",e),e.type){case"touchstart":0===this.touchStartPoints.length&&1===e.targetTouches.length&&4===this.touchStatus?(this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[0])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[0])),this.tapStart=!0,this.touchStatus=1,null===this.tapPressTimeout&&(this.tapPressTimeout=window.setTimeout((()=>{1===this.touchStatus&&null!==this.touchStartTime&&this.touchStartPoints.length>0&&Date.now()-this.touchStartTime>=this.tapLimit.timeout&&this.tapStart&&this.emit(this.createGestureEvent(it.SINGLE_FINGER_TAP_DOWN,this.touchStartPoints[0]))}),this.tapLimit.timeout)),this.emit(this.createGestureEvent(it.SINGLE_FINGER_TOUCH_START,this.touchStartPoints[0]))):2===e.targetTouches.length?(this.touchStatus=2,this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[1])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[1])),this.tapStart=!0,this.emit(this.createGestureEvent(it.DOUBLE_FINGER_TAP_DOWN,L.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=L.midpointCoordinate(this.touchStartPoints)):3===e.targetTouches.length?(this.touchStatus=3,this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[2])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[2])),this.tapStart=!0,this.emit(this.createGestureEvent(it.TRIPLE_FINGER_TAP_DOWN,L.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=L.midpointCoordinate(this.touchStartPoints)):s.warn("unexp touch event",e.targetTouches.length,e);break;case"touchmove":if(1===e.targetTouches.length&&this.touchStartPoints.length>0&&1===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let t;this.touchMoveList.length>0&&(t=this.touchMoveList[this.touchMoveList.length-1]);let r,n=this.singlePointRelativePosition(e.targetTouches[0]);t&&(r=L.vector(n,t)),this.tapStart?(this.emit(this.createGestureEvent(it.SINGLE_FINGER_SWIPE_START,n,r)),this.tapStart=!1):this.emit(this.createGestureEvent(it.SINGLE_FINGER_SWIPE,n,r)),this.touchMoveList.push(n),this.tapStart&&(this.tapStart=!1)}}else if(2===e.targetTouches.length&&2===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){if(2===e.changedTouches.length){let t=this.lastMidPoint,r=L.midpointCoordinate(this.multiPointRelativePosition(e.changedTouches));this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.tapStart&&(this.emit(this.createGestureEvent(it.DOUBLE_FINGER_SWIPE_START,r,L.vector(r,t))),this.tapStart=!1),this.lastMidPoint=r}this.tapStart&&(this.tapStart=!1)}}else if(3===e.targetTouches.length&&3===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let t=this.lastMidPoint,r=L.midpointCoordinate(this.multiPointRelativePosition(e.changedTouches));3===e.changedTouches.length?(this.tapStart&&(this.emit(this.createGestureEvent(it.TRIPLE_FINGER_SWIPE_START,r,L.vector(r,t))),this.tapStart=!1),this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.lastMidPoint=r):this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.tapStart&&(this.tapStart=!1)}}else s.warn("unexp touch move",this.touchStatus,e.targetTouches.length);break;case"touchend":case"touchcancel":if(1===e.changedTouches.length&&0===e.targetTouches.length&&this.touchStartTime&&1===this.touchStartPoints.length&&this.touchStartPoints[0].id===e.changedTouches[0].identifier)if(this.tapStart){let t=this.singlePointRelativePosition(e.changedTouches[0]),r=Date.now();r-this.touchStartTime<this.tapLimit.timeout?(this.emit(this.createGestureEvent(it.SINGLE_FINGER_TAP,t)),this.lastTap={position:t,timeStamp:r}):(this.emit(this.createGestureEvent(it.SINGLE_FINGER_TAP_UP,t)),s.info("touch tap"))}else{let t=this.singlePointRelativePosition(e.changedTouches[0]);this.emit(this.createGestureEvent(it.SINGLE_FINGER_SWIPE_END,t))}else if(e.changedTouches.length>=1&&this.touchStartTime&&1===e.targetTouches.length&&2===this.touchStartPoints.length)if(this.tapStart){Date.now()-this.touchStartTime<this.tapLimit.timeout?this.emit(this.createGestureEvent(it.DOUBLE_FINGER_TAP,L.midpointCoordinate(this.touchStartPoints))):this.emit(this.createGestureEvent(it.DOUBLE_FINGER_TAP_UP,L.midpointCoordinate(this.touchStartPoints)))}else{const e=L.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(it.DOUBLE_FINGER_SWIPE_END,e))}else if(e.changedTouches.length>=1&&this.touchStartTime&&3===this.touchStartPoints.length)if(this.tapStart){Date.now()-this.touchStartTime<this.tapLimit.timeout&&(this.emit(this.createGestureEvent(it.TRIPLE_FINGER_TAP,L.midpointCoordinate(this.touchStartPoints))),this.emit(this.createGestureEvent(it.TRIPLE_FINGER_TAP_UP,L.midpointCoordinate(this.touchStartPoints))))}else{const e=L.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(it.TRIPLE_FINGER_SWIPE_END,e))}else this.emit(this.createGestureEvent(it.RELEASE)),s.warn("unexp touch event",e.changedTouches.length,this.touchStartPoints.length,this.touchStartTime);this.releaseTouchTap(),this.initTouchStatus()}return!0}multiFingerGesture(e){let t=[],r=L.deepCopyArray(this.touchChangedPoins);for(let n=0;n<e.length;n++)for(let o=0;o<r.length;o++)if(e[n].identifier===r[o].id){let i=this.getTouchChangedPoinsFromNativeEvent(e[n]);t.push(L.vector(i,r[o])),this.touchChangedPoins[o]=i}switch(this.touchStatus){case 2:if(2===t.length){let e=L.vectorCosAngle(t[0],t[1]);if(e>.5)return it.DOUBLE_FINGER_SWIPE;if(e<-.5){let r=L.vector(t[0].startPoint,t[1].startPoint),n=L.vector(t[0].endPoint,t[1].endPoint),o=L.vectorModule(r),i=L.vectorModule(n);return o-i>0?(s.info("DOUBLE_FINGER distance add"),it.DOUBLE_FINGER_EXPAND):o-i<0?(s.info("DOUBLE_FINGER distance minu"),it.DOUBLE_FINGER_SHRINK):(s.info("DOUBLE_FINGER_SPIN",e),it.DOUBLE_FINGER_SPIN)}}break;case 3:if(3===t.length)return it.TRIPLE_FINGER_SWIPE;break;default:return it.NONE}return it.NONE}checkTouchPointMove(e,t,r){let n=L.deepCopyArray(t);for(let t=0;t<e.length;t++)for(let o=0;o<n.length;o++)if(e[t].identifier===n[o].id){let i=this.singlePointRelativePosition(e[t]);if(L.pointsDistance(i,n[o])>r)return!0}return!1}getTouchStartPointsFromNativeEvent(e){let t=this.singlePointRelativePosition(e);return{id:e.identifier,x:t.x,y:t.y}}getTouchChangedPoinsFromNativeEvent(e){return this.getTouchStartPointsFromNativeEvent(e)}releaseTouchTap(){this.tapStart=!1}initTouchStatus(){this.touchStartTime=null,this.touchStartPoints=[],this.touchChangedPoins=[],this.tapStart=!1,this.touchMoveList=[],this.touchStatus=4,this.tapPressTimeout&&window.clearTimeout(this.tapPressTimeout),this.tapPressTimeout=null,this.lastMidPoint={x:0,y:0}}singlePointRelativePosition(e){return{x:e.clientX,y:e.clientY}}multiPointRelativePosition(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.singlePointRelativePosition(e[r]));return t}}function ct(e,t=!0,r,n){const{container:o,appSize:i,screenOrientation:s}=r,a=r.operateScale;let c={x:0,y:0,rx:0,ry:0,edge:!1};const u=L.getOffsetViewport(n);return"landscape"===s?r.handleRootElementSize?(c.x=e.position.y-o.marginLeft,c.y=Math.abs(e.position.x-o.height-o.marginTop),c.rx=e.motion.y,c.ry=e.motion.x):(c.x=(e.position.y-u.offsetX)/r.baseElementScale,c.y=Math.abs(e.position.x-o.height-u.offsetY)/r.baseElementScale,c.rx=e.motion.y,c.ry=e.motion.x):r.handleRootElementSize?(c.x=e.position.x-o.marginLeft,c.y=e.position.y-o.marginTop,c.rx=e.motion.x,c.ry=e.motion.y):(c.x=(e.position.x-u.offsetX)/r.baseElementScale,c.y=(e.position.y-u.offsetY)/r.baseElementScale,c.rx=e.motion.x,c.ry=e.motion.y),c.x=Math.round(c.x*a.scaleX),c.y=Math.round(c.y*a.scaleY),t?(c.rx=-Math.round(c.rx*a.scaleX),c.ry=-Math.round(c.ry*a.scaleY)):(c.rx=-Math.round(c.rx*a.scaleX),c.ry=Math.round(c.ry*a.scaleY)),c.x<0&&(c.x=0,c.edge=!0),i.width&&c.x>i.width&&(c.x=i.width,c.edge=!0),c.y<0&&(c.y=0,c.edge=!0),i.height&&c.y>i.height&&(c.y=i.height,c.edge=!0),c}class ut{constructor(e){this._enable=!0,this.op=e}set enable(e){this._enable=e}get enable(){return this._enable}}class lt extends ut{constructor(e,t){super(t),this.pressedMouseButtons=[],this._relativeMouseMoveSpeed=2,this._gestureCallback=null,this.rootElement=e,this.gesture=new at(e),this.gesture.startListening(),this.onGesture=this.onGesture.bind(this),this._mouseZoomDirection=t.larksr.params.mouseZoomDirection}set mouseZoomDirection(e){this._mouseZoomDirection=e}get mouseZoomDirection(){return this._mouseZoomDirection}set tapLimitRadius(e){this.gesture.setTapLimitRadius(e)}set tapLimitTimeout(e){this.gesture.setTapLimitTimeout(e)}set relativeMouseMoveSpeed(e){this._relativeMouseMoveSpeed=e}get relativeMouseMoveSpeed(){return this._relativeMouseMoveSpeed}set gestureCallback(e){this._gestureCallback=e}get gestureCallback(){return this._gestureCallback}startListening(){this.gesture.on(0,this.onGesture,this)}stopListening(){this.gesture.off(0,this.onGesture,this)}setRootElement(e){this.rootElement=e,this.gesture.stopListening(),this.gesture=new at(e),this.gesture.startListening()}onGesture(e){if(!this._enable)return;if("mouse"!==this.op.larksr.params.touchOperateMode)return void s.info("cancle mouse gesture when touchOperateMode not mouse",this.op.larksr.params.touchOperateMode);const t=e,{screenOrientation:r,viewPort:n,container:o}=this.op.larksr.screenState;if(0!=e.position.x&&0!=e.position.y){const t=L.getOffsetViewport(this.rootElement);if("landscape"===r){const r={x:e.position.x,y:e.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:r.y-o.marginLeft,y:n.height-r.x-o.marginTop}):this.op.$emitCursorMove({x:(r.y-t.offsetX)/this.op.screenState.baseElementScale,y:(n.height-r.x-t.offsetY)/this.op.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:e.position.x-o.marginLeft,y:e.position.y-o.marginTop}):this.op.$emitCursorMove({x:(e.position.x-t.offsetX)/this.op.screenState.baseElementScale,y:(e.position.y-t.offsetY)/this.op.screenState.baseElementScale})}const i=ct(t,"landscape"!==r,this.op.larksr.screenState,this.rootElement);if(i.edge)this.releaseMouseButtons(i);else if(i.rx*=this._relativeMouseMoveSpeed,i.ry*=this._relativeMouseMoveSpeed,this._gestureCallback)this._gestureCallback(Object.assign(Object.assign({type:e.gestrueType},i),{rawEvent:e}));else switch(e.gestrueType){case it.SINGLE_FINGER_TOUCH_START:s.info("SINGLE_FINGER_TOUCH_START"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case it.SINGLE_FINGER_TAP:s.info("SINGLE_FINGER_TAP"),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.LEFT);break;case it.SINGLE_FINGER_TAP_DOWN:s.info("SINGLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.LEFT);break;case it.SINGLE_FINGER_TAP_UP:s.info("SINGLE_FINGER_TAP_UP"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case it.SINGLE_FINGER_SWIPE:s.info("SINGLE_FINGER_SWIPE"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case it.SINGLE_FINGER_SWIPE_START:s.info("SINGLE_FINGER_SWIPE_START"),this.releaseMouseButtons(i),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.LEFT);break;case it.SINGLE_FINGER_SWIPE_END:s.info("SINGLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case it.DOUBLE_FINGER_TAP:s.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(i),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.RIGHT);break;case it.DOUBLE_FINGER_TAP_DOWN:s.info("DOUBLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.RIGHT);break;case it.DOUBLE_FINGER_TAP_UP:this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case it.DOUBLE_FINGER_SWIPE:s.info("DOUBLE_FINGER_SWIPE"+JSON.stringify(i)),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case it.DOUBLE_FINGER_EXPAND:s.info("DOUBLE_FINGER_EXPAND"),this.releaseMouseButtons(i),this.op.$emitMouseWheel(i.x,i.y,1==this.mouseZoomDirection?120:-120);break;case it.DOUBLE_FINGER_SHRINK:s.info("DOUBLE_FINGER_SHRINK"),this.releaseMouseButtons(i),this.op.$emitMouseWheel(i.x,i.y,1==this.mouseZoomDirection?-120:120);break;case it.DOUBLE_FINGER_SWIPE_END:s.info("DOUBLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case it.TRIPLE_FINGER_TAP:s.info("TRIPLE_FINGER_TAP"),s.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(i),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.MIDDLE);break;case it.TRIPLE_FINGER_SWIPE:s.info("TRIPLE_FINGER_SWIPE "+JSON.stringify(i)),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case it.TRIPLE_FINGER_SWIPE_START:s.info("TRIPLE_FINGER_SWIPE_START"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons.push(c.CloudLark.MouseKey.MIDDLE);break;case it.TRIPLE_FINGER_SWIPE_END:s.info("TRIPLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons=[];break;case it.RELEASE:this.releaseMouseButtons(i)}}releaseMouseButtons(e){if(0!==this.pressedMouseButtons.length){for(let t of this.pressedMouseButtons)s.info("release mouse button",t),this.op.$emitMouseUp(e.x,e.y,t);this.pressedMouseButtons=[]}}}const At={KeyA:{scancode:0,vkey:65,unicode:0},KeyB:{scancode:0,vkey:66,unicode:0},KeyC:{scancode:0,vkey:67,unicode:0},KeyD:{scancode:0,vkey:68,unicode:0},KeyE:{scancode:0,vkey:69,unicode:0},KeyF:{scancode:0,vkey:70,unicode:0},KeyG:{scancode:0,vkey:71,unicode:0},KeyH:{scancode:0,vkey:72,unicode:0},KeyI:{scancode:0,vkey:73,unicode:0},KeyJ:{scancode:0,vkey:74,unicode:0},KeyK:{scancode:0,vkey:75,unicode:0},KeyL:{scancode:0,vkey:76,unicode:0},KeyM:{scancode:0,vkey:77,unicode:0},KeyN:{scancode:0,vkey:78,unicode:0},KeyO:{scancode:0,vkey:79,unicode:0},KeyP:{scancode:0,vkey:80,unicode:0},KeyQ:{scancode:0,vkey:81,unicode:0},KeyR:{scancode:0,vkey:82,unicode:0},KeyS:{scancode:0,vkey:83,unicode:0},KeyT:{scancode:0,vkey:84,unicode:0},KeyU:{scancode:0,vkey:85,unicode:0},KeyV:{scancode:0,vkey:86,unicode:0},KeyW:{scancode:0,vkey:87,unicode:0},KeyX:{scancode:0,vkey:88,unicode:0},KeyY:{scancode:0,vkey:89,unicode:0},KeyZ:{scancode:0,vkey:90,unicode:0},Backquote:{scancode:0,vkey:192,unicode:0},Digit0:{scancode:0,vkey:48,unicode:0},Digit1:{scancode:0,vkey:49,unicode:0},Digit2:{scancode:0,vkey:50,unicode:0},Digit3:{scancode:0,vkey:51,unicode:0},Digit4:{scancode:0,vkey:52,unicode:0},Digit5:{scancode:0,vkey:53,unicode:0},Digit6:{scancode:0,vkey:54,unicode:0},Digit7:{scancode:0,vkey:55,unicode:0},Digit8:{scancode:0,vkey:56,unicode:0},Digit9:{scancode:0,vkey:57,unicode:0},Minus:{scancode:0,vkey:189,unicode:0},Equal:{scancode:0,vkey:187,unicode:0},Backspace:{scancode:0,vkey:8,unicode:0},Tab:{scancode:0,vkey:9,unicode:0},BracketLeft:{scancode:0,vkey:219,unicode:0},BracketRight:{scancode:0,vkey:221,unicode:0},Backslash:{scancode:0,vkey:220,unicode:0},Slash:{scancode:0,vkey:191,unicode:0},CapsLock:{scancode:0,vkey:20,unicode:0},Semicolon:{scancode:0,vkey:186,unicode:0},Quote:{scancode:0,vkey:222,unicode:0},Enter:{scancode:0,vkey:13,unicode:0},ShiftLeft:{scancode:0,vkey:160,unicode:0},Comma:{scancode:0,vkey:188,unicode:0},Period:{scancode:0,vkey:190,unicode:0},ShiftRight:{scancode:0,vkey:161,unicode:0},ControlLeft:{scancode:0,vkey:162,unicode:0},AltLeft:{scancode:0,vkey:18,unicode:0},Space:{scancode:0,vkey:32,unicode:0},AltRight:{scancode:0,vkey:18,unicode:0},ContextMenu:{scancode:0,vkey:18,unicode:0},ControlRight:{scancode:0,vkey:163,unicode:0},Escape:{scancode:0,vkey:27,unicode:0},F1:{scancode:0,vkey:112,unicode:0},F2:{scancode:0,vkey:113,unicode:0},F3:{scancode:0,vkey:114,unicode:0},F4:{scancode:0,vkey:115,unicode:0},F5:{scancode:0,vkey:116,unicode:0},F6:{scancode:0,vkey:117,unicode:0},F7:{scancode:0,vkey:118,unicode:0},F8:{scancode:0,vkey:119,unicode:0},F9:{scancode:0,vkey:120,unicode:0},F10:{scancode:0,vkey:121,unicode:0},F12:{scancode:0,vkey:123,unicode:0},Pause:{scancode:0,vkey:19,unicode:0},Insert:{scancode:0,vkey:45,unicode:0},Home:{scancode:0,vkey:36,unicode:0},PageUp:{scancode:0,vkey:33,unicode:0},Delete:{scancode:0,vkey:46,unicode:0},End:{scancode:0,vkey:35,unicode:0},PageDown:{scancode:0,vkey:34,unicode:0},ArrowUp:{scancode:0,vkey:38,unicode:0},ArrowDown:{scancode:0,vkey:40,unicode:0},ArrowLeft:{scancode:0,vkey:37,unicode:0},ArrowRight:{scancode:0,vkey:39,unicode:0},NumLock:{scancode:0,vkey:144,unicode:0},NumpadDivide:{scancode:0,vkey:111,unicode:0},NumpadMultiply:{scancode:0,vkey:106,unicode:0},NumpadSubtract:{scancode:0,vkey:109,unicode:0},NumpadAdd:{scancode:0,vkey:107,unicode:0},NumpadEnter:{scancode:0,vkey:108,unicode:0},NumpadDecimal:{scancode:0,vkey:110,unicode:0},Numpad0:{scancode:0,vkey:96,unicode:0},Numpad1:{scancode:0,vkey:97,unicode:0},Numpad2:{scancode:0,vkey:98,unicode:0},Numpad3:{scancode:0,vkey:99,unicode:0},Numpad4:{scancode:0,vkey:100,unicode:0},Numpad5:{scancode:0,vkey:101,unicode:0},Numpad6:{scancode:0,vkey:102,unicode:0},Numpad7:{scancode:0,vkey:103,unicode:0},Numpad8:{scancode:0,vkey:104,unicode:0},Numpad9:{scancode:0,vkey:105,unicode:0}};class dt extends ut{constructor(e){super(e),this.needSyncKeyState=!1,this.fistSyncKeyState=!1,this.pressedKeys=[],this._preventKeys=["F1","F5","F12"],this.op=e,this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.onLockPointChange=this.onLockPointChange.bind(this)}set preventKeys(e){this._preventKeys=e}get preventKeys(){return this._preventKeys}startListening(){this.keyboardListenerSetup(document.documentElement,!0),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus);const e=window.navigator;e.keyboard?e.keyboard.lock().then((()=>{s.warn("request keyboard lock success")})).catch((e=>{s.warn("request keyboard lock failed ",e)})):s.warn("request keyboard lock failed. func not found."),this.op.lockPointer.on(0,this.onLockPointChange,this)}stopListening(){this.keyboardListenerSetup(document.documentElement,!1),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus);const e=window.navigator;e.keyboard&&e.keyboard.lock?e.keyboard.unlock():s.warn("keyboard unlock failed. func not found."),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(e){s.info("keyboard onLockPointChange",e);const t=e.isLockPointer;s.info("keyboard on lock change",t),t||this.releaseKeys()}keyboardListenerSetup(e,t){e?t?(e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)):(e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp)):s.warn("add listener on empty element.")}onKeyDown(e){if(!this.enable)return;(this.needSyncKeyState||!this.fistSyncKeyState&&this.op.larksr.remoteScreenReady)&&(s.warn("需要同步按键状态",e.getModifierState("CapsLock")),this.op.$emitInputEvent({clientEnter:{CapsLockState:e.getModifierState("CapsLock")}}),this.needSyncKeyState=!1,this.fistSyncKeyState=!0);let t=e.code;"MetaLeft"===t&&(s.info("change command to contol on mac"),t="ControlLeft"),"MetaRight"===t&&(s.info("change command to contol on mac"),t="ControlRight");let r=At[t];r&&(this.preventKeys.find((e=>t==e))&&e.preventDefault(),this.op.$emitKeyDown(r.vkey,e.repeat),this.pressedKeys.push(r.vkey))}onKeyUp(e){if(!this.enable)return;let t=e.code;"MetaLeft"===t&&(s.info("change command to contol on mac"),t="ControlLeft"),"MetaRight"===t&&(s.info("change command to contol on mac"),t="ControlRight");const r=At[t];r&&(this.preventKeys.find((e=>t==e))&&e.preventDefault(),this.op.$emitKeyUp(r.vkey),this.pressedKeys=[])}onWindowBlur(){s.info("**onWindowBlur**"),this.releaseKeys(),this.op.$emitInputEvent({clientLeave:{}})}onWindowFocus(){s.info("**onWindowFocus**"),this.needSyncKeyState=!0}onWindowVisibilityChange(){document.hidden?(s.info("**document hidden**"),this.needSyncKeyState=!0):(s.info("**document show**"),this.op.$emitInputEvent({clientLeave:{}}))}releaseKeys(){if(s.info("releaseKeys ",this.pressedKeys),0!==this.pressedKeys.length){for(let e of this.pressedKeys)s.info("releaseKeys up",e),this.op.$emitKeyUp(e);this.pressedKeys=[]}}}class pt extends ut{constructor(e,t){super(t),this.localRenderCursorPosition={x:0,y:0},this.preLockMouse=!1,this.isFocus=!1,this.subscribeUpdatePlayerListFromProtoAction=null,this.pressedMouseButtons=[],this.rootElement=e,this.op=t,this.onMouse=this.onMouse.bind(this),this.onContextmenu=this.onContextmenu.bind(this),this.onDoubleTap=this.onDoubleTap.bind(this),this.onMouseWheel=this.onMouseWheel.bind(this),this.onMouseenter=this.onMouseenter.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this)}resetLocalRendreMousePosition(e){this.localRenderCursorPosition=e}setRootElement(e){this.rootElement=e,this.stopListening(),this.startListening()}startListening(){this.startListenMouse(),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus),this.isIFame()&&(s.info("is iframe",this.isIFame()),document.body.removeEventListener("mouseenter",this.onMouseenter)),this.op.screenState.isMobile||(this.initMouseMode(),this.op.lockPointer.on(0,this.onLockPointChange,this))}setAppMouseMode(e){this.op.screenState.isMobile?s.info("skip mouse mode setup when user is ob."):this.initMouseMode()}stopListening(){this.removeListenMouse(),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus),this.subscribeUpdatePlayerListFromProtoAction&&this.subscribeUpdatePlayerListFromProtoAction(),this.isIFame()&&(s.info("is iframe",this.isIFame()),document.body.removeEventListener("mouseenter",this.onMouseenter)),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(e){const t=e.isLockPointer;if(s.info("on lock change",t),t)this.preLockMouse=!1,this.startLockModeListening();else{if(this.op.screenState.isMobile)return void s.info("skip mouse mode setup when user is ob.");this.op.screenState.isLockMosue&&(this.preLockMouse=!0),this.removeLockModeListening()}}initMouseMode(){const{isLockMosue:e,initCursorMode:t,isMobile:r}=this.op.screenState,{isObMode:n,userType:o}=this.op.larksr;if(s.info("initMouseMode",e,t,o),n)return s.info("skip mouse mode setup when user is ob."),void(this.preLockMouse=!1);e?this.op.lockPointer.isLockPointer?s.info("already lock mosue. lock state not change."):(this.preLockMouse=!0,this.toastMsg(d.ui.firstPersion)):(this.preLockMouse=!1,this.op.lockPointer.isLockPointer&&(!r&&this.toastMsg("已释放鼠标指针"),this.op.lockPointer.exitPointerLock()))}startListenMouse(){this.mouseListenerSetup(this.rootElement,!0)}removeListenMouse(){this.mouseListenerSetup(this.rootElement,!1)}startLockModeListening(){this.mouseListenerSetup(this.op.lockPointer.element,!0)}removeLockModeListening(){this.mouseListenerSetup(this.op.lockPointer.element,!1)}mouseListenerSetup(e,t){if(!e)return void s.warn("add listener on empty element.");["mousedown","mouseup","mousemove","mouseleave","mouseout"].forEach((r=>{t?e.addEventListener(r,this.onMouse,{passive:!1}):e.removeEventListener(r,this.onMouse)})),t?(e.addEventListener("contextmenu",this.onContextmenu,{passive:!1}),e.addEventListener("wheel",this.onMouseWheel,{passive:!1}),e.addEventListener("dblclick",this.onDoubleTap,{passive:!1})):(e.removeEventListener("contextmenu",this.onContextmenu),e.removeEventListener("wheel",this.onMouseWheel),e.removeEventListener("dblclick",this.onDoubleTap))}onMouseenter(){const e=self.frameElement;s.info("on mouse enter",e),this.setFocus()}isIFame(){return self!==top}setFocus(){const e=self.frameElement;s.info("on mouse enter",e),e&&e.contentWindow?e.contentWindow.focus():self.focus(),this.isFocus=!0}onMouse(e){const{isMobile:t}=this.op.screenState,{isLockMosue:r}=this.op.screenState;if(!this.isFocus&&this.isIFame()&&this.setFocus(),!this.enable)return;if(t)return;s.info("onmouse event ",e);const n=this.getMousePosition(e);if(!n)return void this.releaseMouseButtons(0,0);if(e.preventDefault(),this.preLockMouse&&"mousedown"===e.type&&!this.op.lockPointer.isLockPointer)return;if(this.preLockMouse&&"mouseup"===e.type&&!this.op.lockPointer.isLockPointer)return s.warn("request lock mouse",this.preLockMouse),void this.op.lockPointer.requestLockPointer();if(this.op.$emitCursorMove({x:n.renderX,y:n.renderY}),!t&&r&&!this.op.lockPointer.isLockPointer)return void s.info("request lock mouse but not lock. skip mouse event.",this.preLockMouse);let o=c.CloudLark.MouseKey.LEFT;switch(e.which){case 1:o=c.CloudLark.MouseKey.LEFT;break;case 2:o=c.CloudLark.MouseKey.MIDDLE;break;case 3:o=c.CloudLark.MouseKey.RIGHT}switch(e.type){case"mousedown":this.op.$emitMouseDown(n.x,n.y,o),this.pressedMouseButtons.push(o);break;case"mouseup":this.op.$emitMouseUp(n.x,n.y,o),this.pressedMouseButtons=[];break;case"mousemove":this.op.$emitMoseMove(n.x,n.y,n.rx,n.ry);break;default:return s.info("unknown mouse type",e.type),void this.releaseMouseButtons(n.x,n.y)}}onDoubleTap(e){}onContextmenu(e){e.preventDefault()}onMouseWheel(e){if(!this.enable)return;e.preventDefault();const t=this.getMousePosition(e);if(!t)return;const r=e.deltaY>0?-120:120;this.op.$emitMouseWheel(t.x,t.y,r)}getMousePosition(e){const t=this.op.screenState.operateScale,r=this.op.screenState.appSize,n=this.op.screenState.container,o=this.op.screenState.baseElementScale,i=this.op.screenState.appMouseMode.mouseShow,a=this.op.screenState.appMouseMode.rect,c=L.singlePointRelativePosition(e,this.rootElement);let u=this.op.screenState.handleRootElementSize?e.clientX-n.marginLeft:c.x/o,l=this.op.screenState.handleRootElementSize?e.clientY-n.marginTop:c.y/o,A=Math.round(u*t.scaleX),p=Math.round(l*t.scaleY),h=e.movementX*t.scaleX,m=e.movementY*t.scaleX,f=0,y=0;if(this.op.lockPointer.isLockPointer){f=this.localRenderCursorPosition.x+h,y=this.localRenderCursorPosition.y+m;let e=0,r=0,o=n.width,s=n.height;false,f>o&&(f=o,i&&this.toastMsg(d.ui.releaseMouse)),f<r&&(f=r,i&&this.toastMsg(d.ui.releaseMouse)),y>s&&(y=s,i&&this.toastMsg(d.ui.releaseMouse)),y<e&&(y=e,i&&this.toastMsg(d.ui.releaseMouse)),this.localRenderCursorPosition.x=f,this.localRenderCursorPosition.y=y,A=Math.floor(f*t.scaleX),p=Math.floor(y*t.scaleY)}else f=u,y=l;return A<0||p<0||r.width&&A>r.width||r.height&&p>r.height?(s.info("outside app screen",A,p,r,a,e),null):{x:A,y:p,rx:h,ry:m,lx:u,ly:l,renderX:f,renderY:y}}onWindowBlur(){s.info("**onWindowBlur**"),this.isFocus=!1,this.releaseMouseButtons(0,0)}onWindowFocus(){s.info("**onWindowFocus**"),this.isFocus=!0}onWindowVisibilityChange(){document.hidden?(s.info("**document hidden**"),this.isFocus=!1):s.info("**document show**")}releaseMouseButtons(e=0,t=0){if(this.op.releaseKeys(),0!==this.pressedMouseButtons.length){for(let r of this.pressedMouseButtons)s.info("release mouse button",r),this.op.$emitMouseUp(e,t,r);this.pressedMouseButtons=[]}}toastMsg(e){s.info("toastMsg",e),this.op.larksr.$emit(p.LK_WEBCLIENT_TOAST_MSG,e,e),this.op.larksr.$emitInfo(e)}}const ht={0:4096,1:8192,2:16384,3:32768,4:256,5:512,8:32,9:16,10:64,11:128,12:1,13:2,14:4,15:8},mt=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame;class ft extends ut{constructor(e){super(e),this.scanTimer=-1,this.gamepads=new Map,this.deviceIndexMap=new Map,this.lastGamepadState=new Map,this.pause=!1,this.connectHandler=this.connectHandler.bind(this),this.disconnectHandler=this.disconnectHandler.bind(this),this.scanGamepads=this.scanGamepads.bind(this),this.updateStatus=this.updateStatus.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this)}startListening(){const e="GamepadEvent"in window,t="WebKitGamepadEvent"in window;e?(window.addEventListener("gamepadconnected",this.connectHandler),window.addEventListener("gamepaddisconnected",this.disconnectHandler)):t?(window.addEventListener("webkitgamepadconnected",this.connectHandler),window.addEventListener("webkitgamepaddisconnected",this.disconnectHandler)):this.scanTimer=setInterval(this.scanGamepads,500),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus)}stopListening(){const e="GamepadEvent"in window,t="WebKitGamepadEvent"in window;e?(window.removeEventListener("gamepadconnected",this.connectHandler),window.removeEventListener("gamepaddisconnected",this.disconnectHandler)):t?(window.removeEventListener("webkitgamepadconnected",this.connectHandler),window.removeEventListener("webkitgamepaddisconnected",this.disconnectHandler)):-1!=this.scanTimer&&clearInterval(this.scanTimer),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus)}scanGamepads(){const e=window.navigator,t=e.getGamepads?e.getGamepads():e.webkitGetGamepads?e.webkitGetGamepads():[];for(let e=0;e<t.length;e++)t[e]&&this.gamepads.has(t[e].index)&&this.gamepads.set(t[e].index,t[e])}connectHandler(e){this.addGamepad(e.gamepad)}disconnectHandler(e){this.removeGamepad(e.gamepad)}addGamepad(e){s.info("on add gamepad",e),this.gamepads.set(e.index,e),this.deviceIndexMap.set(e.index,this.gamepads.size-1),mt(this.updateStatus)}removeGamepad(e){s.info("on remove gamepad",e),this.gamepads.delete(e.index),this.deviceIndexMap.delete(e.index)}updateStatus(){this.scanGamepads(),this.gamepads.forEach(((e,t,r)=>{const n=this.lastGamepadState.get(t);if(!n)return void this.lastGamepadState.set(t,L.deepCopy(e));const o=this.deviceIndexMap.get(t);e.buttons.forEach(((e,t,r)=>{const i=n.buttons[t],s=e.pressed||e.touched||1==e.value,a=i.pressed||i.touched||1==i.value;s?this.onButtonDown(o,t,s==a):s!=a&&this.onButtonUp(o,t)}));for(let t=0;t<e.axes.length;t++)if(e.axes[t]!=n.axes[t]){this.onAxes(o,e.axes);break}this.lastGamepadState.set(t,L.deepCopy(e))})),mt(this.updateStatus)}onButtonDown(e,t,r){if(!this.pause)if(6==t||7==t)this.op.$emitGamepadTrigger(e,6==t,255);else{const n=ht[t];-1!=n&&this.op.$emitGamepadButtonDown(e,n,r)}}onButtonUp(e,t){if(!this.pause)if(6==t||7==t)this.op.$emitGamepadTrigger(e,6==t,0);else{const r=ht[t];-1!=r&&this.op.$emitGamepadButtonUp(e,r)}}onAxes(e,t){if(this.pause)return;const r=[];for(let e of t)r.push(Math.round(32767*e));this.op.$emitJoystick(e,r[0],-r[1],r[2],-r[3])}onWindowBlur(){s.info("**onWindowBlur**"),this.pause=!0}onWindowFocus(){s.info("**onWindowFocus**"),this.pause=!1}onWindowVisibilityChange(){this.pause=document.hidden}}class yt extends ut{constructor(e,t){super(t),this.touchId=0,this.touchMap=new Map,this.root=e,this.op=t,this.onTouch=this.onTouch.bind(this)}startListening(){this.root&&(this.root.addEventListener("touchstart",this.onTouch),this.root.addEventListener("touchmove",this.onTouch),this.root.addEventListener("touchend",this.onTouch),this.root.addEventListener("touchcancel",this.onTouch))}stopListening(){this.root&&(this.root.removeEventListener("touchstart",this.onTouch),this.root.removeEventListener("touchmove",this.onTouch),this.root.removeEventListener("touchend",this.onTouch),this.root.removeEventListener("touchcancel",this.onTouch))}onTouch(e){if(!this.enable)return void s.info("disable ontouch event",this.enable);e.cancelable?e.preventDefault():s.warn("cant cancle touch event",e);let t=!1;for(const r of e.changedTouches){const n={type:0,gestrueType:it.NONE,position:{x:r.clientX,y:r.clientY},motion:{x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}},distance:0},o=ct(n,!0,this.op.larksr.screenState,this.root);if(!t){const{screenOrientation:e,viewPort:r,container:o}=this.op.larksr.screenState;if(0!=n.position.x&&0!=n.position.y){const t=L.getOffsetViewport(this.root);if("landscape"===e){const e={x:n.position.x,y:n.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:e.y-o.marginLeft,y:r.height-e.x-o.marginTop}):this.op.$emitCursorMove({x:(e.y-t.offsetX)/this.op.larksr.screenState.baseElementScale,y:(r.height-e.x-t.offsetY)/this.op.larksr.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:n.position.x-o.marginLeft,y:n.position.y-o.marginTop}):this.op.$emitCursorMove({x:(n.position.x-t.offsetX)/this.op.larksr.screenState.baseElementScale,y:(n.position.y-t.offsetY)/this.op.larksr.screenState.baseElementScale})}t=!0}switch(e.type){case"touchstart":this.touchId++,this.touchMap.set(r.identifier,this.touchId),this.op.$emitTouchDown(this.touchId,o.x,o.y);break;case"touchmove":{const e=this.touchMap.get(r.identifier);e&&this.op.$emitTouchMove(e,o.x,o.y)}break;case"touchend":case"touchcancel":{const e=this.touchMap.get(r.identifier);e&&(this.op.$emitTouchUp(e,o.x,o.y),this.touchMap.delete(r.identifier))}}}return!0}}class bt extends o{constructor(e,t){super(),this._startListen=!1,this._enableParse=!0,this._lastOperationTimestampMs=0,this.operationTimeout=null,this._larksr=t,this._gestureHandler=new lt(e,this),this._keyboardHandler=new dt(this),this._mouseHandler=new pt(e,this),this._gamepadHandler=new ft(this),this._touchHandler=new yt(e,this),this.onPaste=this.onPaste.bind(this)}get gestureHandler(){return this._gestureHandler}get keyboardHandler(){return this._keyboardHandler}get mouseHandler(){return this._mouseHandler}get gamepadHandler(){return this._gamepadHandler}get touchHandler(){return this._touchHandler}set enableParse(e){this._enableParse=e}get enableParse(){return this._enableParse}get lastOperationTimestampMs(){return this._lastOperationTimestampMs}updateOperation(){this._lastOperationTimestampMs=Date.now()}setRootElement(e){this.gestureHandler.setRootElement(e)}get startListen(){return this._startListen}get larksr(){return this._larksr}get screenState(){return this._larksr.screenState}get fullScreen(){return this._larksr.fullScreen}get lockPointer(){return this._larksr.lockPointer}get mouseZoomDirection(){return this.gestureHandler.mouseZoomDirection}set mouseZoomDirection(e){this.gestureHandler.mouseZoomDirection=e}setMouseEnable(e){this.mouseHandler.enable=e}setKeyboardEnable(e){this.keyboardHandler.enable=e}setGamepadEnable(e){this.gamepadHandler.enable=e}setTouchEnable(e){this.touchHandler.enable=e}setGestureEnable(e){this.gestureHandler.enable=e}resetLocalRendreMousePosition(){const{container:e}=this.larksr.screenState,t={x:e.width/2,y:e.height/2};this.mouseHandler.resetLocalRendreMousePosition(t)}setAppMouseMode(e){this.mouseHandler.setAppMouseMode(e)}resetAppMouseLockState(){this.mouseHandler.initMouseMode()}releaseKeys(){this.keyboardHandler.releaseKeys()}startListening(){this._startListen?s.warn("already start listening"):(this._startListen=!0,"touchScreen"===this.larksr.params.touchOperateMode?(s.info("touchOperateMode start touch listening",this.larksr.params.touchOperateMode),this.touchHandler.startListening()):(s.info("touchOperateMode start gesture listening",this.larksr.params.touchOperateMode),this.gestureHandler.startListening()),this.keyboardHandler.startListening(),this.mouseHandler.startListening(),this.gamepadHandler.startListening(),this.startOperationCheck(),document.addEventListener("paste",this.onPaste))}stopListenling(){this._startListen=!1,"touchScreen"===this.larksr.params.touchOperateMode?this.touchHandler.stopListening():this.gestureHandler.stopListening(),this.keyboardHandler.stopListening(),this.mouseHandler.stopListening(),this.gamepadHandler.stopListening(),this.stopOperationTimeoutCheck(),document.removeEventListener("paste",this.onPaste)}startOperationCheck(){this.updateOperation(),this.operationTimeout=window.setInterval((()=>{if(this.larksr.params.noOperationTimeout){let e=(Date.now()-this.lastOperationTimestampMs)/1e3;e>this.larksr.params.noOperationTimeout&&(s.warn("无操作超时",e,this.larksr.params.noOperationTimeout),this.stopOperationTimeoutCheck(),this.$emitNoOperationTimeoutEvent())}}),5e3)}stopOperationTimeoutCheck(){this.operationTimeout&&window.clearInterval(this.operationTimeout)}onPaste(e){if(s.info("on paste",e),this.keyboardHandler.enable&&this._enableParse&&this.larksr.params.syncLocalToCloudClipboard)if(e.clipboardData&&e.clipboardData.getData("text/plain")){const t=e.clipboardData.getData("text/plain");s.info("paste data",t),this.emit({type:2,target:this,data:t})}else s.info("empty when paste");else s.warn("skip paste event when input start or disable")}createEvent(e,t){return{type:e,target:this,input:t}}$emitMoseMove(e,t,r,n){this.$emitInputEvent({mouseMove:{PosX:e,PosY:t,DeltaX:r,DeltaY:n}})}$emitMouseTap(e,t,r){this.$emitMouseDown(e,t,r),window.setTimeout((()=>{this.$emitMouseUp(e,t,r)}),200)}$emitMouseDown(e,t,r){this.$emitInputEvent({mouseDown:{PosX:e,PosY:t,key:r}})}$emitMouseUp(e,t,r){this.$emitInputEvent({mouseUp:{PosX:e,PosY:t,key:r}})}$emitMouseWheel(e,t,r){this.$emitInputEvent({mouseWheel:{PosX:e,PosY:t,Delata:r}}),s.info("emitMouseWheel",e,t,r)}$emitKeyDown(e,t){this.$emitInputEvent({keyDown:{key:e,isRepeat:t}})}$emitKeyUp(e){this.$emitInputEvent({keyUp:{key:e}})}$emitGamepadButtonDown(e,t,r){this.$emitInputEvent({gamepadInputButtonDown:{userIndex:e,button:t,isRepeat:r}})}$emitGamepadButtonUp(e,t){this.$emitInputEvent({gamepadInputButtonUp:{userIndex:e,button:t}})}$emitGamepadTrigger(e,t,r){this.$emitInputEvent({gamepadInputTriger:{userIndex:e,isleft:t,value:r}})}$emitJoystick(e,t,r,n,o){this.$emitInputEvent({gamepadInputJoystickStates:{userIndex:e,thumblx:t,thumbly:r,thumbrx:n,thumbry:o}})}$emitTouchDown(e,t,r){this.$emitInputEvent({touchDown:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitTouchMove(e,t,r){this.$emitInputEvent({touchMove:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitTouchUp(e,t,r){this.$emitInputEvent({touchUp:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitInputEvent(e){this.updateOperation(),this.emit(this.createEvent(0,c.CloudLark.ClientInput.create(e)))}$emitNoOperationTimeoutEvent(){this.emit(this.createEvent(1))}$emitCursorMove(e){this.emit({type:3,target:this,cursorPoint:e})}}class gt extends o{constructor(){super(),this.element=document.documentElement,this._isFullScreen=!1,this.fullscreenChange=this.fullscreenChange.bind(this),this.fullscreenError=this.fullscreenError.bind(this),this.startListening()}get isFullScreen(){return this._isFullScreen}startListening(){document.addEventListener("fullscreenchange",this.fullscreenChange,!1),document.addEventListener("mozfullscreenchange",this.fullscreenChange,!1),document.addEventListener("webkitfullscreenchange",this.fullscreenChange,!1),document.addEventListener("fullscreenerror",this.fullscreenError,!1),document.addEventListener("mozfullscreenerror",this.fullscreenError,!1),document.addEventListener("webkitfullscreenerror",this.fullscreenError,!1)}stopListening(){document.removeEventListener("fullscreenchange",this.fullscreenChange,!1),document.removeEventListener("mozfullscreenchange",this.fullscreenChange,!1),document.removeEventListener("webkitfullscreenchange",this.fullscreenChange,!1),document.removeEventListener("fullscreenerror",this.fullscreenError,!1),document.removeEventListener("mozfullscreenerror",this.fullscreenError,!1),document.removeEventListener("webkitfullscreenerror",this.fullscreenError,!1)}fullscreenChange(){const e=window.document,t=this.element;e.webkitFullscreenElement===t||e.mozFullscreenElement===t||e.mozFullScreenElement===t?(this._isFullScreen=!0,s.info("on fullscreechange",!0),this.emit(this.createEvent(0,!0))):(s.info("on fullscreenchange",!1),this._isFullScreen=!1,this.emit(this.createEvent(0,!1)))}fullscreenError(e){this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,e)),this._isFullScreen=!1}launchFullScreen(){if(s.info("launchFullScreen"),this.isFullScreen)return void s.info("skip launchFullScreen as fullscreen already launched");const e=this.element;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullscreen?e.mozRequestFullscreen():e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():(this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,"not support")),this._isFullScreen=!1)}exitFullscreen(){if(!this.isFullScreen)return void s.info("skip exitFullscreen as fullscreen not launched");const e=window.document;e.exitFullscreen?e.exitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.webkitCancelFullScreen&&e.webkitCancelFullScreen()}createEvent(e,t,r=null){return{type:e,target:this,isFullScreen:t,error:r}}}class vt extends o{constructor(e){super(),this._isLockPointer=!1,this.element=document.documentElement,this.element=e,this.pointerlockChange=this.pointerlockChange.bind(this),this.lockscreenFailed=this.lockscreenFailed.bind(this),this.listenLockChange()}get isLockPointer(){return this._isLockPointer}listenLockChange(){document.addEventListener("pointerlockchange",this.pointerlockChange,!1),document.addEventListener("mozpointerlockchange",this.pointerlockChange,!1),document.addEventListener("webkitpointerlockchange",this.pointerlockChange,!1),document.addEventListener("pointerlockerror",this.lockscreenFailed,!1),document.addEventListener("mozpointerlockerror",this.lockscreenFailed,!1),document.addEventListener("webkitpointerlockerror",this.lockscreenFailed,!1)}removeListenLockChange(){document.removeEventListener("pointerlockchange",this.pointerlockChange,!1),document.removeEventListener("mozpointerlockchange",this.pointerlockChange,!1),document.removeEventListener("webkitpointerlockchange",this.pointerlockChange,!1),document.removeEventListener("pointerlockerror",this.lockscreenFailed,!1),document.removeEventListener("mozpointerlockerror",this.lockscreenFailed,!1),document.removeEventListener("webkitpointerlockerror",this.lockscreenFailed,!1)}lockPointer(){this.requestLockPointer()}requestLockPointer(){if(this.isLockPointer)return void s.info("skip lock pointer as already locked.");const e=this.element;e.requestPointerLock=e.requestPointerLock||e.mozRequestPointerLock||e.webkitRequestPointerLock,null!==e.requestPointerLock&&void 0!==e.requestPointerLock&&e.requestPointerLock()}exitPointerLock(){if(!this.isLockPointer)return void s.info("skip exitPointerLock as not locked now.");const e=document;e.exitPointerLock=e.exitPointerLock||e.mozRequestPointerLock||e.webkitExitPointerLock,null!==e.exitPointerLock&&e.exitPointerLock()}pointerlockChange(e){s.info("lockscreenChange",this._isLockPointer,e,document.pointerLockElement),document.pointerLockElement===this.element||document.mozPointerLockElement===this.element||document.webkitRequestPointerLock===this.element?(s.info("The pointer lock status is now locked"),this._isLockPointer=!0,this.emit(this.createEvent(0,!0))):(s.info("The pointer lock status is now unlocked"),this._isLockPointer=!1,this.emit(this.createEvent(0,!1)))}lockscreenFailed(e){s.info("lockscreenFailed",e),this._isLockPointer=!1,this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,e))}createEvent(e,t,r=null){return{type:e,target:this,isLockPointer:t,error:r}}}function Ot(){}function Et(e){return e()}function St(){return Object.create(null)}function Rt(e){e.forEach(Et)}function Lt(e){return"function"==typeof e}function Tt(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let kt;function Ct(e,t){return kt||(kt=document.createElement("a")),kt.href=t,e===kt.href}function wt(e){return 0===Object.keys(e).length}new Set;let Mt=!1;function It(e,t){e.appendChild(t)}function Nt(e,t,r){const n=Pt(e);if(!n.getElementById(t)){const e=Dt("style");e.id=t,e.textContent=r,xt(n,e)}}function Pt(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function xt(e,t){It(e.head||e,t)}function Wt(e,t,r){e.insertBefore(t,r||null)}function Vt(e){e.parentNode.removeChild(e)}function Dt(e){return document.createElement(e)}function jt(e){return document.createTextNode(e)}function Zt(){return jt(" ")}function Xt(){return jt("")}function zt(e,t,r,n){return e.addEventListener(t,r,n),()=>e.removeEventListener(t,r,n)}function qt(e,t,r){null==r?e.removeAttribute(t):e.getAttribute(t)!==r&&e.setAttribute(t,r)}function Ut(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function Ft(e,t,r,n){null===r?e.style.removeProperty(t):e.style.setProperty(t,r,n?"important":"")}function _t(e,t,r=!1){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,r,!1,t),n}new Map;let Gt;function Bt(e){Gt=e}function Kt(){if(!Gt)throw new Error("Function called outside component initialization");return Gt}function Jt(e){Kt().$$.on_mount.push(e)}function Yt(){const e=Kt();return(t,r)=>{const n=e.$$.callbacks[t];if(n){const o=_t(t,r);n.slice().forEach((t=>{t.call(e,o)}))}}}const Qt=[],Ht=[],$t=[],er=[],tr=Promise.resolve();let rr=!1;function nr(){rr||(rr=!0,tr.then(ar))}function or(e){$t.push(e)}const ir=new Set;let sr=0;function ar(){const e=Gt;do{for(;sr<Qt.length;){const e=Qt[sr];sr++,Bt(e),cr(e.$$)}for(Bt(null),Qt.length=0,sr=0;Ht.length;)Ht.pop()();for(let e=0;e<$t.length;e+=1){const t=$t[e];ir.has(t)||(ir.add(t),t())}$t.length=0}while(Qt.length);for(;er.length;)er.pop()();rr=!1,ir.clear(),Bt(e)}function cr(e){if(null!==e.fragment){e.update(),Rt(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(or)}}const ur=new Set;let lr;function Ar(){lr={r:0,c:[],p:lr}}function dr(){lr.r||Rt(lr.c),lr=lr.p}function pr(e,t){e&&e.i&&(ur.delete(e),e.i(t))}function hr(e,t,r,n){if(e&&e.o){if(ur.has(e))return;ur.add(e),lr.c.push((()=>{ur.delete(e),n&&(r&&e.d(1),n())})),e.o(t)}}"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;new Set(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);let mr;function fr(e){e&&e.c()}function yr(e,t,r,n){const{fragment:o,on_mount:i,on_destroy:s,after_update:a}=e.$$;o&&o.m(t,r),n||or((()=>{const t=i.map(Et).filter(Lt);s?s.push(...t):Rt(t),e.$$.on_mount=[]})),a.forEach(or)}function br(e,t){const r=e.$$;null!==r.fragment&&(Rt(r.on_destroy),r.fragment&&r.fragment.d(t),r.on_destroy=r.fragment=null,r.ctx=[])}function gr(e,t,r,n,o,i,s,a=[-1]){const c=Gt;Bt(e);const u=e.$$={fragment:null,ctx:null,props:i,update:Ot,not_equal:o,bound:St(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(c?c.$$.context:[])),callbacks:St(),dirty:a,skip_bound:!1,root:t.target||c.$$.root};s&&s(u.root);let l=!1;if(u.ctx=r?r(e,t.props||{},((t,r,...n)=>{const i=n.length?n[0]:r;return u.ctx&&o(u.ctx[t],u.ctx[t]=i)&&(!u.skip_bound&&u.bound[t]&&u.bound[t](i),l&&function(e,t){-1===e.$$.dirty[0]&&(Qt.push(e),nr(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}(e,t)),r})):[],u.update(),l=!0,Rt(u.before_update),u.fragment=!!n&&n(u.ctx),t.target){if(t.hydrate){Mt=!0;const e=(A=t.target,Array.from(A.childNodes));u.fragment&&u.fragment.l(e),e.forEach(Vt)}else u.fragment&&u.fragment.c();t.intro&&pr(e.$$.fragment),yr(e,t.target,t.anchor,t.customElement),Mt=!1,ar()}var A;Bt(c)}"function"==typeof HTMLElement&&(mr=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(Et).filter(Lt);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,r){this[e]=r}disconnectedCallback(){Rt(this.$$.on_disconnect)}$destroy(){br(this,1),this.$destroy=Ot}$on(e,t){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(t),()=>{const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){this.$$set&&!wt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});class vr{$destroy(){br(this,1),this.$destroy=Ot}$on(e,t){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(t),()=>{const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){this.$$set&&!wt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}function Or(e){Nt(e,"svelte-2do8a6",'@charset "UTF-8";.loading.svelte-2do8a6.svelte-2do8a6{position:absolute;top:0;left:0;display:flex;flex:1;flex-direction:column;height:100%;width:100%;align-items:center;justify-content:center;background-color:gray;background-size:cover;background-repeat:no-repeat;background-position:center;z-index:1030;margin:0;padding:0}.loading.svelte-2do8a6 .logo.svelte-2do8a6{width:auto;height:125px;transition:all 1s linear 0s}@media screen and (max-width: 1280px){.loading.svelte-2do8a6 .logo.svelte-2do8a6{height:8.1343283582rem}}.loading.svelte-2do8a6 .logo-footer.svelte-2do8a6{height:32px;position:absolute;bottom:14px;right:31px}@media screen and (max-width: 1280px){.loading.svelte-2do8a6 .logo-footer.svelte-2do8a6{height:2.0895522388rem;position:absolute;bottom:0.7462686567rem;right:1.4925373134rem}}.loading.svelte-2do8a6 .syncApp.svelte-2do8a6{color:#fff;font-size:24px;padding:30px 0 0}.loading.svelte-2do8a6 .syncLoading.svelte-2do8a6{display:inline-block;padding:0 0 0 10px;height:15px}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6{display:inline-block;width:15px;height:100%;margin-right:5px;background:white;transform-origin:right bottom;animation:svelte-2do8a6-load 2s ease infinite}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:last-child{margin-right:0px}@keyframes svelte-2do8a6-load{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:rotate(90deg) scale(0.3)}}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(1){animation-delay:0.13s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(2){animation-delay:0.26s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(3){animation-delay:0.39s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(4){animation-delay:0.52s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(5){animation-delay:0.65s}.loading.svelte-2do8a6 .appState.svelte-2do8a6{color:#fff;font-size:16px;font-weight:lighter;bottom:10%;position:absolute;z-index:2000}@keyframes svelte-2do8a6-fadeIn{0%{opacity:0}100%{opacity:1}}.loading.svelte-2do8a6 .play-button.svelte-2do8a6{animation:svelte-2do8a6-fadeIn 2.5s ease 1}')}function Er(e){let t,r,n,o,i;return{c(){t=Dt("img"),n=Zt(),o=Dt("img"),Ct(t.src,r=e[2]+"/getCstzLogoUrl?logoType=welcome&appKey="+e[4]+"&v="+e[11])||qt(t,"src",r),qt(t,"alt",""),qt(t,"class","logo svelte-2do8a6"),Ct(o.src,i=e[2]+"/images/footer.png?v="+e[11])||qt(o,"src",i),qt(o,"alt",""),qt(o,"class","logo-footer svelte-2do8a6")},m(e,r){Wt(e,t,r),Wt(e,n,r),Wt(e,o,r)},p(e,n){20&n&&!Ct(t.src,r=e[2]+"/getCstzLogoUrl?logoType=welcome&appKey="+e[4]+"&v="+e[11])&&qt(t,"src",r),4&n&&!Ct(o.src,i=e[2]+"/images/footer.png?v="+e[11])&&qt(o,"src",i)},d(e){e&&Vt(t),e&&Vt(n),e&&Vt(o)}}}function Sr(e){let t;function r(e,t){return e[6]?kr:e[5]<Fe.MEDIA_LOADED?Tr:e[5]==Fe.APP_RETRY?Lr:e[5]==Fe.RTC_RETRY?Rr:void 0}let n=r(e),o=n&&n(e);return{c(){o&&o.c(),t=Xt()},m(e,r){o&&o.m(e,r),Wt(e,t,r)},p(e,i){n===(n=r(e))&&o?o.p(e,i):(o&&o.d(1),o=n&&n(e),o&&(o.c(),o.m(t.parentNode,t)))},d(e){o&&o.d(e),e&&Vt(t)}}}function Rr(e){let t,r,n,o,i,s=e[1].RTC_RETRY+"";return{c(){t=Dt("div"),r=Dt("span"),n=jt(s),o=Zt(),i=Dt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',qt(r,"class","svelte-2do8a6"),qt(i,"class","syncLoading svelte-2do8a6"),qt(t,"class","appState svelte-2do8a6")},m(e,s){Wt(e,t,s),It(t,r),It(r,n),It(t,o),It(t,i)},p(e,t){2&t&&s!==(s=e[1].RTC_RETRY+"")&&Ut(n,s)},d(e){e&&Vt(t)}}}function Lr(e){let t,r,n,o,i,s=e[1].APP_RETRY+"";return{c(){t=Dt("div"),r=Dt("span"),n=jt(s),o=Zt(),i=Dt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',qt(r,"class","svelte-2do8a6"),qt(i,"class","syncLoading svelte-2do8a6"),qt(t,"class","appState svelte-2do8a6")},m(e,s){Wt(e,t,s),It(t,r),It(r,n),It(t,o),It(t,i)},p(e,t){2&t&&s!==(s=e[1].APP_RETRY+"")&&Ut(n,s)},d(e){e&&Vt(t)}}}function Tr(e){let t,r,n,o,i,s,a,c,u=e[12](e[5])+"",l=e[13](e[5])+"";return{c(){t=Dt("div"),r=Dt("span"),n=jt(u),o=Zt(),i=Dt("span"),s=jt(l),a=Zt(),c=Dt("span"),c.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',qt(r,"class","svelte-2do8a6"),qt(i,"class","svelte-2do8a6"),qt(c,"class","syncLoading svelte-2do8a6"),qt(t,"class","appState svelte-2do8a6")},m(e,u){Wt(e,t,u),It(t,r),It(r,n),It(t,o),It(t,i),It(i,s),It(t,a),It(t,c)},p(e,t){32&t&&u!==(u=e[12](e[5])+"")&&Ut(n,u),32&t&&l!==(l=e[13](e[5])+"")&&Ut(s,l)},d(e){e&&Vt(t)}}}function kr(e){let t,r,n,o,i,s=e[1].SYNC_APP+"";return{c(){t=Dt("div"),r=Dt("span"),n=jt(s),o=Zt(),i=Dt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',qt(r,"class","svelte-2do8a6"),qt(i,"class","syncLoading svelte-2do8a6"),qt(t,"class","syncApp svelte-2do8a6")},m(e,s){Wt(e,t,s),It(t,r),It(r,n),It(t,o),It(t,i)},p(e,t){2&t&&s!==(s=e[1].SYNC_APP+"")&&Ut(n,s)},d(e){e&&Vt(t)}}}function Cr(e){let t,r,n,o,i,s,a,c=e[1].START+"";return{c(){t=Dt("div"),r=Dt("img"),o=Zt(),i=Dt("div"),s=Dt("span"),a=jt(c),Ct(r.src,n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wOS0wNVQxNzozNjo1MyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNlOWI4ZDAtMTk0MS02ZTRiLWIyNjItZTc2YjcyMjhiMmFkIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MWRhMDU3NWYtYjA0OS03YzQxLTkxOWEtNjRkMTJlYTdmZmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE1YmQyOS0zNGI2LWU5NDgtOGZmZS03OGJlOTljMTY1ZmQiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMTc6MzY6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzg5ZDU2OC01MjMzLTE0NDktYjA1YS0xMzBmYWNiNmI2MTUiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMjM6MzA6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjk0NTJkZDUtMmY4ZS1hNDQ5LWJhZjgtNWU5YzA0OTQyMTU0IiBzdEV2dDp3aGVuPSIyMDIyLTA5LTA1VDIzOjMxOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzZTliOGQwLTE5NDEtNmU0Yi1iMjYyLWU3NmI3MjI4YjJhZCIgc3RFdnQ6d2hlbj0iMjAyMi0wOS0wNVQyMzozMToxNCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTQ1MmRkNS0yZjhlLWE0NDktYmFmOC01ZTljMDQ5NDIxNTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e7tqHwAACcxJREFUeNrtnb1vFEcchnfgrqMIEpWhAyRL55Mo7M5RoKOJDil/QBCkQWlMQYcr3Icm0BCk/AcYGqggijvcEaSTAIkCqJDigi5rnJljF+7Od/t1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")||qt(r,"src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wOS0wNVQxNzozNjo1MyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNlOWI4ZDAtMTk0MS02ZTRiLWIyNjItZTc2YjcyMjhiMmFkIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MWRhMDU3NWYtYjA0OS03YzQxLTkxOWEtNjRkMTJlYTdmZmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE1YmQyOS0zNGI2LWU5NDgtOGZmZS03OGJlOTljMTY1ZmQiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMTc6MzY6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzg5ZDU2OC01MjMzLTE0NDktYjA1YS0xMzBmYWNiNmI2MTUiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMjM6MzA6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjk0NTJkZDUtMmY4ZS1hNDQ5LWJhZjgtNWU5YzA0OTQyMTU0IiBzdEV2dDp3aGVuPSIyMDIyLTA5LTA1VDIzOjMxOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzZTliOGQwLTE5NDEtNmU0Yi1iMjYyLWU3NmI3MjI4YjJhZCIgc3RFdnQ6d2hlbj0iMjAyMi0wOS0wNVQyMzozMToxNCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTQ1MmRkNS0yZjhlLWE0NDktYmFmOC01ZTljMDQ5NDIxNTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e7tqHwAACcxJREFUeNrtnb1vFEcchnfgrqMIEpWhAyRL55Mo7M5RoKOJDil/QBCkQWlMQYcr3Icm0BCk/AcYGqggijvcEaSTAIkCqJDigi5rnJljF+7Od/t1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"),qt(r,"alt",""),qt(r,"class","logo svelte-2do8a6"),qt(s,"class","svelte-2do8a6"),qt(i,"class","appState svelte-2do8a6"),qt(t,"class","play-button svelte-2do8a6"),Ft(t,"width","100%"),Ft(t,"height","100%"),Ft(t,"background-color","rgba(0,0,0,0.5)"),Ft(t,"display","flex"),Ft(t,"flex","1"),Ft(t,"align-items","center"),Ft(t,"justify-content","center")},m(e,n){Wt(e,t,n),It(t,r),It(t,o),It(t,i),It(i,s),It(s,a)},p(e,t){2&t&&c!==(c=e[1].START+"")&&Ut(a,c)},d(e){e&&Vt(t)}}}function wr(e){let t,r,n,o,i=e[3]&&e[5]<Fe.MEDIA_LOADED&&Er(e),s=e[8]&&Sr(e),a=e[5]==Fe.MEDIA_LOADED&&e[9]&&Cr(e);return{c(){t=Dt("div"),i&&i.c(),r=Zt(),s&&s.c(),n=Zt(),a&&a.c(),qt(t,"class","loading svelte-2do8a6"),qt(t,"style",o=e[0].viewPortStyle+"; background-image: url("+(e[7]?e[7]:e[10].default)+");")},m(e,o){Wt(e,t,o),i&&i.m(t,null),It(t,r),s&&s.m(t,null),It(t,n),a&&a.m(t,null)},p(e,[c]){e[3]&&e[5]<Fe.MEDIA_LOADED?i?i.p(e,c):(i=Er(e),i.c(),i.m(t,r)):i&&(i.d(1),i=null),e[8]?s?s.p(e,c):(s=Sr(e),s.c(),s.m(t,n)):s&&(s.d(1),s=null),e[5]==Fe.MEDIA_LOADED&&e[9]?a?a.p(e,c):(a=Cr(e),a.c(),a.m(t,null)):a&&(a.d(1),a=null),129&c&&o!==(o=e[0].viewPortStyle+"; background-image: url("+(e[7]?e[7]:e[10].default)+");")&&qt(t,"style",o)},i:Ot,o:Ot,d(e){e&&Vt(t),i&&i.d(),s&&s.d(),a&&a.d()}}}function Mr(e,t,r){const n=__webpack_require__(3118);let{screenState:o}=t,{ui:i}=t,{serverAddress:a}=t,{taskReady:c}=t,{appKey:u}=t,{appState:l}=t,{syncApp:A}=t,{loadingBgUrl:d}=t,{showLoadingStateBar:p=!0}=t,{showPlayButton:h=!0}=t;s.info(u);const m=v.VersionMarjor+v.VersionMinorr+v.VersionRevise+v.VersionBuild;return Jt((()=>{})),e.$$set=e=>{"screenState"in e&&r(0,o=e.screenState),"ui"in e&&r(1,i=e.ui),"serverAddress"in e&&r(2,a=e.serverAddress),"taskReady"in e&&r(3,c=e.taskReady),"appKey"in e&&r(4,u=e.appKey),"appState"in e&&r(5,l=e.appState),"syncApp"in e&&r(6,A=e.syncApp),"loadingBgUrl"in e&&r(7,d=e.loadingBgUrl),"showLoadingStateBar"in e&&r(8,p=e.showLoadingStateBar),"showPlayButton"in e&&r(9,h=e.showPlayButton)},[o,i,a,c,u,l,A,d,p,h,n,m,function(e){switch(e-Fe.BEFORE_CREATE+1){case Fe.INITED:return i.INITED;case Fe.WEBSOCKET_CHANNEL_OPEN:return i.WEBSOCKET_CHANNEL_OPEN;case Fe.LOGIN_SUCCESS:return i.LOGIN_SUCCESS;case Fe.RTC_CONNECTED:return i.RTC_CONNECTED;case Fe.MEDIA_LOADED:default:return i.MEDIA_LOADED}},function(e){return"("+(e-Fe.BEFORE_CREATE+1)+"/"+(Fe.MEDIA_LOADED-Fe.BEFORE_CREATE)+")"}]}var Ir=class extends vr{constructor(e){super(),gr(this,e,Mr,wr,Tt,{screenState:0,ui:1,serverAddress:2,taskReady:3,appKey:4,appState:5,syncApp:6,loadingBgUrl:7,showLoadingStateBar:8,showPlayButton:9},Or)}};function Nr(e){Nt(e,"svelte-1z0xaop",'@charset "UTF-8";.pxy-render.pxy-render-release.svelte-1z0xaop.svelte-1z0xaop{margin:0;padding:0}.pxy-render.pxy-render-release.svelte-1z0xaop video.svelte-1z0xaop{transition:none}.pxy-render.pxy-render-release.svelte-1z0xaop .showVideo.svelte-1z0xaop{position:relative;z-index:-1;object-fit:fill}.pxy-render.pxy-render-release.svelte-1z0xaop .captureCanvas.svelte-1z0xaop{position:absolute;z-index:-9999;top:-9999px;left:-9999px}.pxy-render.pxy-render-release.svelte-1z0xaop .audio.svelte-1z0xaop{position:absolute;z-index:-9999;top:-9999px;left:-9999px}')}function Pr(e){let t,r,n,o,i,s,a,c,u,l,A,d,p,h,m,f,y,b;return{c(){t=Dt("div"),r=Dt("video"),a=Zt(),c=Dt("audio"),A=Zt(),d=Dt("canvas"),qt(r,"class","showVideo svelte-1z0xaop"),qt(r,"width",n=e[0].container.width+"px"),qt(r,"height",o=e[0].container.height+"px"),r.autoplay=e[1],r.playsInline=i=!0,qt(r,"webkit-playsinline",s=!0),qt(r,"preload","auto"),qt(r,"x5-video-player-type","h5"),qt(r,"x5-video-player-fullscreen","true"),qt(r,"x5-video-orientation","portrait"),qt(c,"class","audio svelte-1z0xaop"),c.controls=u=!1,c.autoplay=l=!0,qt(d,"class","captureCanvas svelte-1z0xaop"),qt(d,"width",p=e[0].container.width+"px"),qt(d,"height",h=e[0].container.height+"px"),qt(t,"class","pxy-render pxy-render-release svelte-1z0xaop"),qt(t,"width",m=e[0].container.width+"px"),qt(t,"height",f=e[0].container.height+"px")},m(n,o){Wt(n,t,o),It(t,r),e[18](r),It(t,a),It(t,c),e[19](c),It(t,A),It(t,d),e[20](d),y||(b=[zt(r,"loadedmetadata",e[5]),zt(c,"loadedmetadata",e[6])],y=!0)},p(e,[i]){1&i&&n!==(n=e[0].container.width+"px")&&qt(r,"width",n),1&i&&o!==(o=e[0].container.height+"px")&&qt(r,"height",o),2&i&&(r.autoplay=e[1]),1&i&&p!==(p=e[0].container.width+"px")&&qt(d,"width",p),1&i&&h!==(h=e[0].container.height+"px")&&qt(d,"height",h),1&i&&m!==(m=e[0].container.width+"px")&&qt(t,"width",m),1&i&&f!==(f=e[0].container.height+"px")&&qt(t,"height",f)},i:Ot,o:Ot,d(r){r&&Vt(t),e[18](null),e[19](null),e[20](null),y=!1,Rt(b)}}}const xr="mediaLoaded",Wr="mediaPlayedMute",Vr="mediaPlayedFailed";function Dr(e,t,r){__webpack_require__(1458);let n,o,i,a,{screenState:c}=t,{mutePlayWhenFailed:u}=t,{autoPlay:l=!0}=t,{appState:A}=t,d=!1,p=!1;const h=Yt();async function m(){if(!n)throw s.warn("play video failed. need video element ref"),new Error("no video found");try{s.info("playVideo"),await n.play(),h("mediaPlayed"),s.info("playVideo success")}catch(e){throw s.info("playVideo failed",e),e}}return Jt((()=>{i=a.getContext("2d"),null==i&&s.err("init capture context failed.",i,a),document.addEventListener("WeixinJSBridgeReady",(()=>{s.warn("WeixinJSBridgeReady play video"),l&&m().then((()=>{s.info("ios auto play success")})).catch((e=>{s.warn("ios auto play failed",e)}))}),!1),"iOS"===b.os&&l&&(s.info("on mount ios play video"),m().then((()=>{s.info("ios auto play success")})).catch((e=>{s.warn("ios auto play failed",e)})))})),e.$$set=e=>{"screenState"in e&&r(0,c=e.screenState),"mutePlayWhenFailed"in e&&r(7,u=e.mutePlayWhenFailed),"autoPlay"in e&&r(1,l=e.autoPlay),"appState"in e&&r(8,A=e.appState)},[c,l,n,o,a,function(e){s.info("onLoadedmetadata");const t=n;t?(s.info("++++++++++++++onLoadedmetadata+++++++++++++++++"),h(xr),l?m().then((()=>{s.info("play video success")})).catch((e=>{s.info("play video failed. need user confirm",e),d?b.isMobile&&(b.isQQ||b.isHuawei||b.isWeChat)?h(Vr):(t.muted=!0,m().then((()=>{s.info("play video success")})).catch((e=>{s.err("play video failed.",e),h(Vr)}))):u?b.isMobile&&(b.isQQ||b.isHuawei||b.isWeChat)?h(Vr):(t.muted=!0,m().then((()=>{s.info("play video success"),h(Wr)})).catch((e=>{s.err("play video failed.",e),h(Vr)}))):h(Vr)})):s.info("++++++++++++++onLoadedmetadata but not auto play+++++++++++++++++")):s.warn("onLoadedmetadata video failed. need video element ref")},function(){o&&!o.played?o.play().then((()=>{})).catch((e=>{s.info("auto play audio failed",e),h(Wr),r(3,o.muted=!0,o),o.play()})):s.info("audio already played")},u,A,function(e){n?(s.info("setVideoSrcObj",e),r(2,n.srcObject=e,n),"iOS"===b.os?window.setTimeout((()=>{A<Fe.MEDIA_PLAED?h(xr):s.info("ios play success. skip update events")}),1e3):l&&window.setTimeout((()=>{A<Fe.MEDIA_PLAED?h(xr):s.info("play success. skip update events")}),1e4)):s.warn("setup video failed. need video element ref")},function(e){o?(s.info("setAudioSrcObj",e),r(3,o.srcObject=e,o),d=!0,o.play().then((()=>{s.info("auto play audio success.")})).catch((e=>{s.warn("auto play audio failed. mute play",e),r(3,o.muted=!0,o),o.play().then((()=>{s.warn("auto play audio failed. mute play",e),h(Wr)})).catch((e=>{s.warn("mute play audio failed.",e),p=!0}))}))):s.warn("setup audio failed. need audio element ref")},function(){return n},function(){return o},function(){return d},m,function(){n?d?(r(3,o.muted=!1,o),o.play().then((()=>{s.info("audio playout success",o.muted)})).catch((e=>{s.info("audio playout failed with user confirm.",e,o.muted)}))):r(2,n.muted=!1,n):s.err("no render found")},function(){n?(n.pause(),d&&o.pause()):s.warn("stop video failed. need video element ref")},function(e,t){let r=c.appSize.width?c.appSize.width:c.container.width,o=c.appSize.height?c.appSize.height:c.container.height;t&&t.width&&(r=t.width),t&&t.height&&(o=t.height);const i=document.createElement("canvas");i.width=r,i.height=o;const a=n,u=i.getContext("2d");if(!u)return void s.warn("draw call without context");u.clearRect(0,0,r,o),a&&u.drawImage(a,0,0,r,o);const l=i.toDataURL("image/jpeg");return h("pitcureCaptured",{data:e,base64:l}),{data:e,base64:l}},function(e){Ht[e?"unshift":"push"]((()=>{n=e,r(2,n)}))},function(e){Ht[e?"unshift":"push"]((()=>{o=e,r(3,o)}))},function(e){Ht[e?"unshift":"push"]((()=>{a=e,r(4,a)}))}]}var jr=class extends vr{constructor(e){super(),gr(this,e,Dr,Pr,Tt,{screenState:0,mutePlayWhenFailed:7,autoPlay:1,appState:8,setVideoSrcObj:9,setAudioSrcObj:10,getVideo:11,getAudio:12,isSeprateAudioTrack:13,playVideo:14,sountPlayout:15,stopVideo:16,captrueFrame:17},Nr)}get setVideoSrcObj(){return this.$$.ctx[9]}get setAudioSrcObj(){return this.$$.ctx[10]}get getVideo(){return this.$$.ctx[11]}get getAudio(){return this.$$.ctx[12]}get isSeprateAudioTrack(){return this.$$.ctx[13]}get playVideo(){return this.$$.ctx[14]}get sountPlayout(){return this.$$.ctx[15]}get stopVideo(){return this.$$.ctx[16]}get captrueFrame(){return this.$$.ctx[17]}};function Zr(e){Nt(e,"svelte-11gz4tb",".cursorContainer.svelte-11gz4tb.svelte-11gz4tb{pointer-events:none;position:absolute;margin:0;padding:0;display:block;z-index:10;width:24px;height:24px;background-size:contain}.cursorContainer.svelte-11gz4tb img.svelte-11gz4tb{width:100%;height:auto}.pointerContainer.svelte-11gz4tb.svelte-11gz4tb{position:absolute;pointer-events:none;top:0;left:0}.pointerContainer.svelte-11gz4tb .pointer.svelte-11gz4tb{width:6px;height:6px;margin-left:-3px;margin-top:-3px;background-color:#32cdcd;border-radius:50%;pointer-events:none}")}function Xr(e){let t,r,n;return{c(){t=Dt("div"),r=Dt("img"),Ct(r.src,n=e[3](e[1].cursorStyle.type))||qt(r,"src",n),Ft(r,"marginLeft",-e[1].cursorStyle.hotX+"px"),Ft(r,"marginTop",-e[1].cursorStyle.hotY+"px"),qt(r,"alt",""),qt(r,"class","svelte-11gz4tb"),qt(t,"class","cursorContainer svelte-11gz4tb"),qt(t,"draggable","false"),Ft(t,"left",e[0].x+"px"),Ft(t,"top",e[0].y+"px")},m(e,n){Wt(e,t,n),It(t,r)},p(e,o){2&o&&!Ct(r.src,n=e[3](e[1].cursorStyle.type))&&qt(r,"src",n),2&o&&Ft(r,"marginLeft",-e[1].cursorStyle.hotX+"px"),2&o&&Ft(r,"marginTop",-e[1].cursorStyle.hotY+"px"),1&o&&Ft(t,"left",e[0].x+"px"),1&o&&Ft(t,"top",e[0].y+"px")},d(e){e&&Vt(t)}}}function zr(e){let t,r=e[2]&&qr(e);return{c(){r&&r.c(),t=Xt()},m(e,n){r&&r.m(e,n),Wt(e,t,n)},p(e,n){e[2]?r?r.p(e,n):(r=qr(e),r.c(),r.m(t.parentNode,t)):r&&(r.d(1),r=null)},d(e){r&&r.d(e),e&&Vt(t)}}}function qr(e){let t,r;return{c(){t=Dt("div"),r=Dt("div"),qt(r,"class","pointer svelte-11gz4tb"),qt(t,"class","pointerContainer svelte-11gz4tb"),Ft(t,"left",e[0].x+"px"),Ft(t,"top",e[0].y+"px")},m(e,n){Wt(e,t,n),It(t,r)},p(e,r){1&r&&Ft(t,"left",e[0].x+"px"),1&r&&Ft(t,"top",e[0].y+"px")},d(e){e&&Vt(t)}}}function Ur(e){let t;function r(e,t){return e[1].isMobile?zr:Xr}let n=r(e),o=n(e);return{c(){o.c(),t=Xt()},m(e,r){o.m(e,r),Wt(e,t,r)},p(e,[i]){n===(n=r(e))&&o?o.p(e,i):(o.d(1),o=n(e),o&&(o.c(),o.m(t.parentNode,t)))},i:Ot,o:Ot,d(e){o.d(e),e&&Vt(t)}}}function Fr(e,t,r){let{screenState:n}=t,{cursorPosition:o={x:0,y:0}}=t,{touchPonitEnable:i=!0}=t;const a={CURSOR_ARROR:__webpack_require__(8221).Z,CURSOR_EW:__webpack_require__(7025).Z,CURSOR_LINK:__webpack_require__(7174).Z,CURSOR_MOVE:__webpack_require__(3354).Z,CURSOR_NESW:__webpack_require__(4634).Z,CURSOR_NS:__webpack_require__(9513).Z,CURSOR_NWSE:__webpack_require__(227).Z,CURSOR_UNAVAIL:__webpack_require__(7118).Z,CURSOR_BEAM_RM:__webpack_require__(457).Z,CURSOR_BUSY_RM:__webpack_require__(6370).Z,CURSOR_CROSS_RM:__webpack_require__(2039).Z,CURSOR_WAIT:__webpack_require__(1575).Z};return Jt((()=>{r(0,o={x:n.container.width/2,y:n.container.height/2})})),e.$$set=e=>{"screenState"in e&&r(1,n=e.screenState),"cursorPosition"in e&&r(0,o=e.cursorPosition),"touchPonitEnable"in e&&r(2,i=e.touchPonitEnable)},[o,n,i,function(e){switch(s.info("cursor style ",e),e){case ot.ARROW:return a.CURSOR_ARROR;case ot.CROSS:return a.CURSOR_CROSS_RM;case ot.HAND:return a.CURSOR_LINK;case ot.IBEAM:return a.CURSOR_BEAM_RM;case ot.NO:return a.CURSOR_UNAVAIL;case ot.SIZEALL:return a.CURSOR_MOVE;case ot.SIZENESW:return a.CURSOR_NESW;case ot.SIZENS:return a.CURSOR_NS;case ot.SIZENWSE:return a.CURSOR_NWSE;case ot.SIZEWE:return a.CURSOR_EW;case ot.WAIT:return a.CURSOR_WAIT;case ot.CUSTOM:return""!=n.cursorStyle.customBase64?n.cursorStyle.customBase64:a.CURSOR_ARROR;default:return a.CURSOR_ARROR}}]}var _r=class extends vr{constructor(e){super(),gr(this,e,Fr,Ur,Tt,{screenState:1,cursorPosition:0,touchPonitEnable:2},Zr)}};function Gr(e){Nt(e,"svelte-17v0vh9",'@charset "UTF-8";.pxy-view-port.svelte-17v0vh9.svelte-17v0vh9{position:absolute;top:0;left:0;overflow:hidden;padding:0;margin:0;z-index:1;margin:0;padding:0;background-color:rgba(0, 0, 0, 0.05)}.pxy-view-port.svelte-17v0vh9 .pxy-container.svelte-17v0vh9{margin:0 auto;box-shadow:0 0 10px rgba(0, 0, 0, 0.4);background-color:rgba(0, 0, 0, 0.05);position:relative;overflow:hidden;margin:0;padding:0}')}function Br(e){let t,r;return t=new _r({props:{screenState:e[0],cursorPosition:e[8],touchPonitEnable:e[9]}}),{c(){fr(t.$$.fragment)},m(e,n){yr(t,e,n),r=!0},p(e,r){const n={};1&r[0]&&(n.screenState=e[0]),256&r[0]&&(n.cursorPosition=e[8]),512&r[0]&&(n.touchPonitEnable=e[9]),t.$set(n)},i(e){r||(pr(t.$$.fragment,e),r=!0)},o(e){hr(t.$$.fragment,e),r=!1},d(e){br(t,e)}}}function Kr(e){let t,r;return t=new Ir({props:{taskReady:""!=e[5].taskid,appKey:e[5].appKey,screenState:e[0],ui:e[1],serverAddress:e[2],appState:e[3],syncApp:e[4],loadingBgUrl:e[6],showLoadingStateBar:e[10],showPlayButton:e[12]}}),{c(){fr(t.$$.fragment)},m(e,n){yr(t,e,n),r=!0},p(e,r){const n={};32&r[0]&&(n.taskReady=""!=e[5].taskid),32&r[0]&&(n.appKey=e[5].appKey),1&r[0]&&(n.screenState=e[0]),2&r[0]&&(n.ui=e[1]),4&r[0]&&(n.serverAddress=e[2]),8&r[0]&&(n.appState=e[3]),16&r[0]&&(n.syncApp=e[4]),64&r[0]&&(n.loadingBgUrl=e[6]),1024&r[0]&&(n.showLoadingStateBar=e[10]),4096&r[0]&&(n.showPlayButton=e[12]),t.$set(n)},i(e){r||(pr(t.$$.fragment,e),r=!0)},o(e){hr(t.$$.fragment,e),r=!1},d(e){br(t,e)}}}function Jr(e){let t,r,n,o,i,s,a,c,u,l,A=e[5].appliType!==Ke.PIXEL_STREAMING&&(e[0].isMobile||e[0].isLocalRenderMouse)&&Br(e),d={screenState:e[0],mutePlayWhenFailed:e[7],autoPlay:e[11],appState:e[3]};o=new jr({props:d}),e[34](o),o.$on("mediaLoaded",e[35]),o.$on("mediaPlayed",e[36]),o.$on("mediaPlayedMute",e[19]),o.$on("mediaPlayedFailed",e[37]),o.$on("pitcureCaptured",e[38]);let p=(e[3]<=Fe.MEDIA_LOADED||e[3]>=Fe.RTC_RETRY)&&Kr(e);return{c(){t=Dt("div"),r=Dt("div"),A&&A.c(),n=Zt(),fr(o.$$.fragment),s=Zt(),p&&p.c(),qt(r,"class","pxy-container svelte-17v0vh9"),qt(r,"style",i=e[0].containerStyle),qt(t,"class","pxy-view-port svelte-17v0vh9"),qt(t,"style",a=e[0].viewPortStyle)},m(i,a){Wt(i,t,a),It(t,r),A&&A.m(r,null),It(r,n),yr(o,r,null),e[39](r),It(t,s),p&&p.m(t,null),e[40](t),c=!0,u||(l=[zt(r,"mouseup",e[17]),zt(r,"touchend",e[18],{passive:!0}),zt(t,"mouseup",e[20]),zt(t,"touchend",e[20],{passive:!0})],u=!0)},p(e,s){e[5].appliType!==Ke.PIXEL_STREAMING&&(e[0].isMobile||e[0].isLocalRenderMouse)?A?(A.p(e,s),33&s[0]&&pr(A,1)):(A=Br(e),A.c(),pr(A,1),A.m(r,n)):A&&(Ar(),hr(A,1,1,(()=>{A=null})),dr());const u={};1&s[0]&&(u.screenState=e[0]),128&s[0]&&(u.mutePlayWhenFailed=e[7]),2048&s[0]&&(u.autoPlay=e[11]),8&s[0]&&(u.appState=e[3]),o.$set(u),(!c||1&s[0]&&i!==(i=e[0].containerStyle))&&qt(r,"style",i),e[3]<=Fe.MEDIA_LOADED||e[3]>=Fe.RTC_RETRY?p?(p.p(e,s),8&s[0]&&pr(p,1)):(p=Kr(e),p.c(),pr(p,1),p.m(t,null)):p&&(Ar(),hr(p,1,1,(()=>{p=null})),dr()),(!c||1&s[0]&&a!==(a=e[0].viewPortStyle))&&qt(t,"style",a)},i(e){c||(pr(A),pr(o.$$.fragment,e),pr(p),c=!0)},o(e){hr(A),hr(o.$$.fragment,e),hr(p),c=!1},d(r){r&&Vt(t),A&&A.d(),e[34](null),br(o),e[39](null),p&&p.d(),e[40](null),u=!1,Rt(l)}}}function Yr(e,t,r){let n,o,i,{screenState:a}=t,{ui:c}=t,{serverAddress:u}=t,{appState:l}=t,{syncApp:A}=t,{isMobile:d}=t,{appParams:p}=t,{loadingBgUrl:h}=t,{mutePlayWhenFailed:m}=t,{cursorPosition:f={x:0,y:0}}=t,{touchPonitEnable:y=!0}=t,{showLoadingStateBar:b=!0}=t,{autoPlay:g=!0}=t,{showPlayButton:v=!0}=t,O=!1,E=!1;const S=Yt();Jt((()=>{S("loaded",o)}));return e.$$set=e=>{"screenState"in e&&r(0,a=e.screenState),"ui"in e&&r(1,c=e.ui),"serverAddress"in e&&r(2,u=e.serverAddress),"appState"in e&&r(3,l=e.appState),"syncApp"in e&&r(4,A=e.syncApp),"isMobile"in e&&r(21,d=e.isMobile),"appParams"in e&&r(5,p=e.appParams),"loadingBgUrl"in e&&r(6,h=e.loadingBgUrl),"mutePlayWhenFailed"in e&&r(7,m=e.mutePlayWhenFailed),"cursorPosition"in e&&r(8,f=e.cursorPosition),"touchPonitEnable"in e&&r(9,y=e.touchPonitEnable),"showLoadingStateBar"in e&&r(10,b=e.showLoadingStateBar),"autoPlay"in e&&r(11,g=e.autoPlay),"showPlayButton"in e&&r(12,v=e.showPlayButton)},[a,c,u,l,A,p,h,m,f,y,b,g,v,n,o,i,S,function(){if(E){const e=n;e&&e.sountPlayout(),E=!1}1==p.fullScreenMode?O||(S("requestFullScreen"),O=!0):2==p.fullScreenMode&&S("requestFullScreen")},function(){if(E){const e=n;if(e&&e.sountPlayout(),E=!1,d)return}1==p.mobileFullScreenMode?O||(window.setTimeout((()=>{S("requestFullScreen")}),100),O=!0):2==p.mobileFullScreenMode&&window.setTimeout((()=>{S("requestFullScreen")}),100)},function(){E=!0,S("mediaPlayedMute")},function(){l>Fe.INITED&&l<Fe.MEDIA_PLAED&&(null==n||n.playVideo().catch((e=>{s.warn("play video failed with user click",e)})))},d,function(){return o},function(){return n},function(){return i},function(e){null==n||n.setVideoSrcObj(e)},function(){return null==n?void 0:n.getVideo()},async function(){null==n||n.playVideo()},function(){n.sountPlayout()},function(){n.stopVideo()},function(e){null==n||n.setAudioSrcObj(e)},function(){return n.getAudio()},function(){return n.isSeprateAudioTrack()},function(e,t){return n.captrueFrame(e,t)},function(e){Ht[e?"unshift":"push"]((()=>{n=e,r(13,n)}))},()=>S("mediaLoaded"),()=>S("mediaPlayed"),()=>S("mediaPlayedFailed"),e=>S("pitcureCaptured",e.detail),function(e){Ht[e?"unshift":"push"]((()=>{o=e,r(14,o)}))},function(e){Ht[e?"unshift":"push"]((()=>{i=e,r(15,i)}))}]}var Qr=class extends vr{constructor(e){super(),gr(this,e,Yr,Jr,Tt,{screenState:0,ui:1,serverAddress:2,appState:3,syncApp:4,isMobile:21,appParams:5,loadingBgUrl:6,mutePlayWhenFailed:7,cursorPosition:8,touchPonitEnable:9,showLoadingStateBar:10,autoPlay:11,showPlayButton:12,getContainerComponent:22,getVideoComponent:23,getViewportComponent:24,setVideoSrcObj:25,getVideo:26,playVideo:27,sountPlayout:28,stopVideo:29,setAudioSrcObj:30,getAudio:31,isSeprateAudioTrack:32,captrueFrame:33},Gr,[-1,-1])}get screenState(){return this.$$.ctx[0]}set screenState(e){this.$$set({screenState:e}),ar()}get ui(){return this.$$.ctx[1]}set ui(e){this.$$set({ui:e}),ar()}get serverAddress(){return this.$$.ctx[2]}set serverAddress(e){this.$$set({serverAddress:e}),ar()}get appState(){return this.$$.ctx[3]}set appState(e){this.$$set({appState:e}),ar()}get syncApp(){return this.$$.ctx[4]}set syncApp(e){this.$$set({syncApp:e}),ar()}get isMobile(){return this.$$.ctx[21]}set isMobile(e){this.$$set({isMobile:e}),ar()}get appParams(){return this.$$.ctx[5]}set appParams(e){this.$$set({appParams:e}),ar()}get loadingBgUrl(){return this.$$.ctx[6]}set loadingBgUrl(e){this.$$set({loadingBgUrl:e}),ar()}get mutePlayWhenFailed(){return this.$$.ctx[7]}set mutePlayWhenFailed(e){this.$$set({mutePlayWhenFailed:e}),ar()}get cursorPosition(){return this.$$.ctx[8]}set cursorPosition(e){this.$$set({cursorPosition:e}),ar()}get touchPonitEnable(){return this.$$.ctx[9]}set touchPonitEnable(e){this.$$set({touchPonitEnable:e}),ar()}get showLoadingStateBar(){return this.$$.ctx[10]}set showLoadingStateBar(e){this.$$set({showLoadingStateBar:e}),ar()}get autoPlay(){return this.$$.ctx[11]}set autoPlay(e){this.$$set({autoPlay:e}),ar()}get showPlayButton(){return this.$$.ctx[12]}set showPlayButton(e){this.$$set({showPlayButton:e}),ar()}get getContainerComponent(){return this.$$.ctx[22]}get getVideoComponent(){return this.$$.ctx[23]}get getViewportComponent(){return this.$$.ctx[24]}get setVideoSrcObj(){return this.$$.ctx[25]}get getVideo(){return this.$$.ctx[26]}get playVideo(){return this.$$.ctx[27]}get sountPlayout(){return this.$$.ctx[28]}get stopVideo(){return this.$$.ctx[29]}get setAudioSrcObj(){return this.$$.ctx[30]}get getAudio(){return this.$$.ctx[31]}get isSeprateAudioTrack(){return this.$$.ctx[32]}get captrueFrame(){return this.$$.ctx[33]}};const Hr=1,$r=7,en=50,tn=51,rn=60,nn=61,on=62,sn=70,an=71,cn=72,un=73,ln=74,An=75,dn=80,pn=81,hn=82,mn=90,fn=91,yn=92,bn=0,gn=1,vn=2,On=3,En=4,Sn=1,Rn=2,Ln=4,Tn=8,kn=16,Cn=8,wn=16,Mn=17,In=18,Nn=253,Pn=254,xn=255,Wn=0,Vn=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame,Dn="GamepadEvent"in window,jn="WebKitGamepadEvent"in window,Zn=(document.createEvent("KeyboardEvent").initKeyboardEvent,{});class Xn extends o{constructor(e){super(),this.playerElementClientRect={x:0,y:0,width:0,height:0,bottom:0,left:0,top:0,right:0,toJSON:()=>JSON.stringify(this)},this.normalizeAndQuantizeUnsigned=(e,t)=>({x:0,y:0,inRange:!1}),this.normalizeAndQuantizeSigned=(e,t)=>({x:0,y:0}),this.unquantizeAndDenormalizeUnsigned=(e,t)=>({x:0,y:0}),this.inputOptions={controlScheme:Wn,suppressBrowserKeys:!0,fakeMouseWithTouches:!1},this._startListen=!1,this.larksr=e,this.updateStatus=this.updateStatus.bind(this),this.gamepadDisconnectHandler=this.gamepadDisconnectHandler.bind(this)}get startListen(){return this._startListen}registerInputs(e){this.registerMouseEnterAndLeaveEvents(e),this.registerTouchEvents(e)}setupMouseAndFreezeFrame(e,t){this.playerElementClientRect=e.getBoundingClientRect(),this.setupNormalizeAndQuantize(e,t)}emitUIInteraction(e){return this.emitDescriptor(en,e)}emitCommand(e){return this.emitDescriptor(tn,e)}requestInitialSettings(){this.sendInputData(new Uint8Array([$r]).buffer)}requestQualityControl(){this.sendInputData(new Uint8Array([Hr]).buffer)}emitMouseMove(e,t,r,n){let o=this.normalizeAndQuantizeUnsigned(e,t),i=this.normalizeAndQuantizeSigned(r,n);s.info("emitMouseMove",o,i);let a=new DataView(new ArrayBuffer(9));a.setUint8(0,ln),a.setUint16(1,o.x,!0),a.setUint16(3,o.y,!0),a.setInt16(5,i.x,!0),a.setInt16(7,i.y,!0),this.sendInputData(a.buffer)}emitMouseDown(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(6));o.setUint8(0,cn),o.setUint8(1,e),o.setUint16(2,n.x,!0),o.setUint16(4,n.y,!0),this.sendInputData(o.buffer)}emitMouseUp(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(6));o.setUint8(0,un),o.setUint8(1,e),o.setUint16(2,n.x,!0),o.setUint16(4,n.y,!0),this.sendInputData(o.buffer)}emitMouseWheel(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(7));o.setUint8(0,An),o.setInt16(1,e,!0),o.setUint16(3,n.x,!0),o.setUint16(5,n.y,!0),this.sendInputData(o.buffer)}releaseMouseButtons(e,t,r){e&Sn&&this.emitMouseUp(bn,t,r),e&Rn&&this.emitMouseUp(vn,t,r),e&Ln&&this.emitMouseUp(gn,t,r),e&Tn&&this.emitMouseUp(On,t,r),e&kn&&this.emitMouseUp(En,t,r)}pressMouseButtons(e,t,r){e&Sn&&this.emitMouseDown(bn,t,r),e&Rn&&this.emitMouseDown(vn,t,r),e&Ln&&this.emitMouseDown(gn,t,r),e&Tn&&this.emitMouseDown(On,t,r),e&kn&&this.emitMouseDown(En,t,r)}registerMouseEnterAndLeaveEvents(e){let t=this;e.onmouseenter=function(r){s.info("mouse enter");let n=new DataView(new ArrayBuffer(1));n.setUint8(0,sn),t.sendInputData(n.buffer),e.pressMouseButtons(r.buttons,0,0)},e.onmouseleave=function(r){s.info("mouse leave");let n=new DataView(new ArrayBuffer(1));n.setUint8(0,an),t.sendInputData(n.buffer),e.releaseMouseButtons(r.buttons,0,0)}}registerLockedMouseEvents(e){this._startListen=!0;let t=this,r=e.clientWidth/2,n=e.clientHeight/2;function o(){document.pointerLockElement===e||document.mozPointerLockElement===e?(console.log("Pointer locked"),document.addEventListener("mousemove",i,!1)):(console.log("The pointer lock status is now unlocked"),document.removeEventListener("mousemove",i,!1))}function i(e){r+=e.movementX,n+=e.movementY,r>t.larksr.screenState.container.width&&(r-=t.larksr.screenState.container.width),n>t.larksr.screenState.container.height&&(n-=t.larksr.screenState.container.height),r<0&&(r=t.larksr.screenState.container.width+r),n<0&&(n=t.larksr.screenState.container.height-n),t.emitMouseMove(r,n,e.movementX,e.movementY)}e.requestPointerLock=e.requestPointerLock||e.mozRequestPointerLock,document.exitPointerLock=document.exitPointerLock||e.mozExitPointerLock,e.onclick=function(){t.larksr.isObMode||e.requestPointerLock()},document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),e.onmousedown=function(e){t.emitMouseDown(e.button,r,n)},e.onmouseup=function(e){t.emitMouseUp(e.button,r,n)},e.onmousewheel=function(e){t.emitMouseWheel(e.wheelDelta,r,n)},e.pressMouseButtons=function(e){t.pressMouseButtons(e.buttons,r,n)},e.releaseMouseButtons=function(e){t.releaseMouseButtons(e.buttons,r,n)}}registerHoveringMouseEvents(e){let t=this;s.info("registerHoveringMouseEvents",e),e.onmousemove=function(e){t.emitMouseMove(e.offsetX,e.offsetY,e.movementX,e.movementY),s.info("onmousemove",e),e.preventDefault()},e.onmousedown=function(e){t.emitMouseDown(e.button,e.offsetX,e.offsetY),e.preventDefault()},e.onmouseup=function(e){t.emitMouseUp(e.button,e.offsetX,e.offsetY),e.preventDefault()},e.oncontextmenu=function(e){t.emitMouseUp(e.button,e.offsetX,e.offsetY),e.preventDefault()},"onmousewheel"in e?e.onmousewheel=function(e){t.emitMouseWheel(e.wheelDelta,e.offsetX,e.offsetY),e.preventDefault()}:e.addEventListener("DOMMouseScroll",(function(e){t.emitMouseWheel(-120*e.detail,e.offsetX,e.offsetY),e.preventDefault()}),!1),e.pressMouseButtons=function(e){t.pressMouseButtons(e.buttons,e.offsetX,e.offsetY)},e.releaseMouseButtons=function(e){t.releaseMouseButtons(e.buttons,e.offsetX,e.offsetY)}}registerTouchEvents(e){let t=this,r=[9,8,7,6,5,4,3,2,1,0],n={};function o(e){let t=r.pop();void 0===t&&console.log("exhausted touch indentifiers"),n[e.identifier]=t}function i(r,o){let i=new DataView(new ArrayBuffer(2+7*o.length));i.setUint8(0,r),i.setUint8(1,o.length);let a=2;for(let r=0;r<o.length;r++){let c=o[r];const{screenOrientation:u,viewPort:l}=t.larksr.screenState;let A=c.clientX-e.offsetLeft,d=c.clientY-e.offsetTop;"landscape"===u?(A=c.clientY-e.offsetLeft,d=l.height-c.clientX-e.offsetTop):(A=c.clientX-e.offsetLeft,d=c.clientY-e.offsetTop),s.info(`F${n[c.identifier]}=(${A}, ${d})`);let p=t.normalizeAndQuantizeUnsigned(A,d);i.setUint16(a,p.x,!0),a+=2,i.setUint16(a,p.y,!0),a+=2,i.setUint8(a,n[c.identifier],!0),a+=1,i.setUint8(a,255*c.force,!0),a+=1,i.setUint8(a,p.inRange?1:0,!0),a+=1}t.sendInputData(i.buffer)}if(t.inputOptions.fakeMouseWithTouches){let r;e.ontouchstart=function(n){if(void 0===r){let o=n.changedTouches[0];r={id:o.identifier,x:o.clientX-t.playerElementClientRect.left,y:o.clientY-t.playerElementClientRect.top},e.onmouseenter(n),t.emitMouseDown(bn,r.x,r.y)}n.preventDefault()},e.ontouchend=function(n){for(let o=0;o<n.changedTouches.length;o++){let i=n.changedTouches[o];if(i.identifier===r.id){let o=i.clientX-t.playerElementClientRect.left,s=i.clientY-t.playerElementClientRect.top;t.emitMouseUp(bn,o,s),e.onmouseleave(n),r=void 0;break}}n.preventDefault()},e.ontouchmove=function(e){for(let n=0;n<e.touches.length;n++){let o=e.touches[n];if(o.identifier===r.id){let e=o.clientX-t.playerElementClientRect.left,n=o.clientY-t.playerElementClientRect.top;t.emitMouseMove(e,n,e-r.x,n-r.y),r.x=e,r.y=n;break}}e.preventDefault()}}else e.ontouchstart=function(e){for(let t=0;t<e.changedTouches.length;t++)o(e.changedTouches[t]);s.info("touch start"),i(dn,e.changedTouches),e.preventDefault()},e.ontouchend=function(e){s.info("touch end"),i(pn,e.changedTouches);for(let o=0;o<e.changedTouches.length;o++)t=e.changedTouches[o],r.push(n[t.identifier]),delete n[t.identifier];var t;e.preventDefault()},e.ontouchmove=function(e){s.info("touch move"),i(hn,e.touches),e.preventDefault()}}isKeyCodeBrowserKey(e){return e>=112&&e<=123||9===e}getKeyCode(e){return e.keyCode===wn&&"ShiftRight"===e.code?Nn:e.keyCode===Mn&&"ControlRight"===e.code?Pn:e.keyCode===In&&"AltRight"===e.code?xn:e.keyCode}registerKeyboardEvents(){this._startListen=!0;let e=this;document.onkeydown=function(t){s.info(`key down ${t.keyCode}, repeat = ${t.repeat}`),e.sendInputData(new Uint8Array([rn,e.getKeyCode(t),t.repeat]).buffer),t.keyCode===Cn&&document.onkeypress({charCode:Cn}),e.inputOptions.suppressBrowserKeys&&e.isKeyCodeBrowserKey(t.keyCode)&&t.preventDefault()},document.onkeyup=function(t){s.info(`key up ${t.keyCode}`),e.sendInputData(new Uint8Array([nn,e.getKeyCode(t)]).buffer),e.inputOptions.suppressBrowserKeys&&e.isKeyCodeBrowserKey(t.keyCode)&&t.preventDefault()},document.onkeypress=function(t){s.info(`key press ${t.charCode}`);let r=new DataView(new ArrayBuffer(3));r.setUint8(0,on),r.setUint16(1,t.charCode,!0),e.sendInputData(r.buffer)}}setupHtmlEvents(){this._startListen=!0,Dn?(window.addEventListener("gamepadconnected",this.gamepadConnectHandler),window.addEventListener("gamepaddisconnected",this.gamepadDisconnectHandler)):jn&&(window.addEventListener("webkitgamepadconnected",this.gamepadConnectHandler),window.addEventListener("webkitgamepaddisconnected",this.gamepadDisconnectHandler))}gamepadConnectHandler(e){s.info("Gamepad connect handler");const t=e.gamepad;Zn[t.index]={},Zn[t.index].currentState=t,Zn[t.index].prevState=t,s.info("gamepad: "+t.id+" connected"),Vn(this.updateStatus)}gamepadDisconnectHandler(e){s.warn("Gamepad disconnect handler"),s.warn("gamepad: "+e.gamepad.id+" disconnected"),delete Zn[e.gamepad.index]}emitControllerAxisMove(e,t,r){const n=new DataView(new ArrayBuffer(11));n.setUint8(0,yn),n.setUint8(1,e),n.setUint8(2,t),n.setFloat64(3,r,!0),this.sendInputData(n.buffer)}emitControllerButtonPressed(e,t,r){const n=new DataView(new ArrayBuffer(4));n.setUint8(0,mn),n.setUint8(1,e),n.setUint8(2,t),n.setUint8(3,r),this.sendInputData(n.buffer)}emitControllerButtonReleased(e,t){const r=new DataView(new ArrayBuffer(3));r.setUint8(0,fn),r.setUint8(1,e),r.setUint8(2,t),this.sendInputData(r.buffer)}scanGamepads(){let e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():[];for(let t=0;t<e.length;t++)e[t]&&e[t].index in Zn&&(Zn[e[t].index].currentState=e[t])}updateStatus(){this.scanGamepads();for(const e in Zn){let t=Zn[e],r=t.currentState,n=t.prevState;for(let t=0;t<r.buttons.length;t++){let o=r.buttons[t],i=n.buttons[t];o.pressed&&!i.pressed?6==t?this.emitControllerAxisMove(e,5,o.value):7==t?this.emitControllerAxisMove(e,6,o.value):this.emitControllerButtonPressed(e,t,0):!o.pressed&&i.pressed?6==t?this.emitControllerAxisMove(e,5,0):7==t?this.emitControllerAxisMove(e,6,0):this.emitControllerButtonReleased(e,t):o.pressed&&i.pressed&&(6==t?this.emitControllerAxisMove(e,5,o.value):7==t?this.emitControllerAxisMove(e,6,o.value):this.emitControllerButtonPressed(e,t,1))}for(let t=0;t<r.axes.length;t+=2){let n=parseFloat(r.axes[t].toFixed(4)),o=-parseFloat(r.axes[t+1].toFixed(4));0===t?(this.emitControllerAxisMove(e,1,n),this.emitControllerAxisMove(e,2,o)):2===t&&(this.emitControllerAxisMove(e,3,n),this.emitControllerAxisMove(e,4,o))}Zn[e].prevState=r}Vn(this.updateStatus)}setupNormalizeAndQuantize(e,t){if(e&&t){let r=e.clientHeight/e.clientWidth,n=t.videoHeight/t.videoWidth;if(r>n){s.info("Setup Normalize and Quantize for playerAspectRatio > videoAspectRatio");let t=r/n;this.normalizeAndQuantizeUnsigned=(r,n)=>{let o=r/e.clientWidth,i=t*(n/e.clientHeight-.5)+.5;return o<0||o>1||i<0||i>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*o,y:65536*i}},this.unquantizeAndDenormalizeUnsigned=(r,n)=>{let o=(n/65536-.5)/t+.5;return{x:r/65536*e.clientWidth,y:o*e.clientHeight}},this.normalizeAndQuantizeSigned=(r,n)=>({x:32767*(r/(.5*e.clientWidth)),y:32767*(t*n/(.5*e.clientHeight))})}else{s.info("Setup Normalize and Quantize for playerAspectRatio <= videoAspectRatio");let t=n/r;this.normalizeAndQuantizeUnsigned=(r,n)=>{let o=t*(r/e.clientWidth-.5)+.5,i=n/e.clientHeight;return o<0||o>1||i<0||i>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*o,y:65536*i}},this.unquantizeAndDenormalizeUnsigned=(r,n)=>{let o=n/65536;return{x:((r/65536-.5)/t+.5)*e.clientWidth,y:o*e.clientHeight}},this.normalizeAndQuantizeSigned=(r,n)=>({x:32767*(t*r/(.5*e.clientWidth)),y:32767*(n/(.5*e.clientHeight))})}}}emitDescriptor(e,t){let r=JSON.stringify(t),n=new DataView(new ArrayBuffer(3+2*r.length)),o=0;n.setUint8(o,e),o++,n.setUint16(o,r.length,!0),o+=2;for(let e=0;e<r.length;e++)n.setUint16(o,r.charCodeAt(e),!0),o+=2;return this.emit({type:0,intpuBuffer:n.buffer,target:this}),n.buffer}sendInputData(e){this.emit({type:0,intpuBuffer:e,target:this})}}var zn,qn,Un;!function(e){e[e.Normal=0]="Normal",e[e.Interactive=1]="Interactive",e[e.MutiPlayer=2]="MutiPlayer"}(zn||(zn={})),function(e){e[e.Observer=0]="Observer",e[e.Player=1]="Player"}(qn||(qn={})),function(e){e.TASK_CREATE_SUCCESS="taskcreatesuccess",e.TASK_CREATE_FAILED="taskcreatefailed",e.RESOURCE_NOT_ENOUGH="resourcenotenough",e.CONNECT="connect",e.LOGIN_SUCCESS="loginsuccess",e.NO_OPERATION_TIMEOUT="operatetimeout",e.CLOSE="close",e.APP_CLOSE="appclose",e.GOT_REMOTE_STREAM="gotremotestream",e.GOT_REMOTE_AUDIO_STREAM="gotremoteaudiostream",e.MEDIA_LOADED="meidaloaded",e.MEDIA_PLAY_SUCCESS="mediaplaysuccess",e.MEDIA_PLAY_FAILED="mediaplayfailed",e.MEDIA_PLAY_MUTE="meidaplaymute",e.APPSTATE_CHANGE="appstatechange",e.APP_RESIZE="appresize",e.APP_MOUSE_MODE="appmousemode",e.APP_CURSOR_MODE="appcursormode",e.PLAYER_LIST="playerlist",e.PEERSTATUS_REPORT="peerstatusreport",e.APP_REQUEST_INPUT="apprequestinput",e.APP_REQUEST_GAMEPAD_OUPUT="apprequestgamepadoutput",e.CAPTURE_FRAME="captureframe",e.DATACHANNEL_OPEN="datachannelopen",e.DATACHANNEL_CLOSE="datachannelclose",e.DATACHANNEL_TEXT="datachanneltext",e.DATACHANNEL_BINARY="datachannelbinary",e.LarkEvent="larkevent",e.ERROR="error",e.INFO="info",e.AI_VOICE_STATUS="aivoicestatus",e.AI_VOICE_ASR_RESULT="aivoiceasrresult",e.AI_VOICE_DM_RESULT="aivoicedmresult",e.AI_VOICE_ERROR="aivoiceerror",e.TOUCH_CTR_MAPPING="touchctrmapping",e.RTMP_STREAM_STATE="rtmpstreamstate",e.RTMP_STREAM_ERROR="rtmpstreamerror"}(Un||(Un={}));var Fn={LarkSR:class extends o{constructor(e){super(),this._remoteScreenReady=!1,this.loadingTimeout=0,this._uid=0,this._isPreStart=!1,this._isTaskOwner=!0,this.onAppStateChange=this.onAppStateChange.bind(this),this.onGotRemoteStream=this.onGotRemoteStream.bind(this),this.onOperationTimeout=this.onOperationTimeout.bind(this),this.onOperationInput=this.onOperationInput.bind(this),this.onAppResize=this.onAppResize.bind(this),this.onAppMouseMode=this.onAppMouseMode.bind(this),this.onAppPlayerList=this.onAppPlayerList.bind(this),this.onAppRequestText=this.onAppRequestText.bind(this),this.onDataChannelText=this.onDataChannelText.bind(this),this.onDataChannelBinary=this.onDataChannelBinary.bind(this),this.onDataChannelOpen=this.onDataChannelOpen.bind(this),this.onDataChannelClose=this.onDataChannelClose.bind(this),this.onCursorStyle=this.onCursorStyle.bind(this),null==e.handelRootElementSize||null==e.handelRootElementSize||null!=e.handleRootElementSize&&null!=e.handleRootElementSize||(e.handleRootElementSize=e.handelRootElementSize),this._config=e,this._params=Je.setUpWithSDKConfig(Je.copyAndCreate(),e),s.logLevel=this._params.logLevel,s.info("create larksr ",e),this._rootElement=e.rootElement,d.init(this._params.language),this._screenState=new st(e.rootElement,this._params,this,e.handleRootElementSize,e.onlyHandleRootElementTransform),this._app=new Be(this),this.iframeHandler=new nt(this),this.iframeHandler.listenParent(),this._fullScreen=new gt,this._lockPointer=new vt(document.documentElement),null!=e.handleRootElementSize&&1!=e.handleRootElementSize||function(){const e=document.getElementsByTagName("html")[0];e&&e.style&&(e.style.margin="0",e.style.padding="0",e.style.overflow="hidden",e.style.width="100%",e.style.height="100%");const t=document.body;t&&t.style&&(t.style.margin="0",t.style.padding="0",t.style.overflow="hidden",t.style.width="100%",t.style.height="100%")}(),this._view=new Qr({target:e.rootElement,props:{screenState:this.screenState,ui:d.ui,serverAddress:e.serverAddress?e.serverAddress:"",syncApp:!1,appState:this.appState,isMobile:b.isMobile,appParams:this._params,loadingBgUrl:e.loadingBgUrl?e.loadingBgUrl:"",mutePlayWhenFailed:null==e.mutePlayWhenFailed||e.mutePlayWhenFailed,touchPonitEnable:!0,autoPlay:null==e.autoPlay||e.autoPlay,showPlayButton:null==e.showPlayButton||e.showPlayButton}}),this._screenState.on(0,(e=>{s.info("on resize",e),this._view.$set({screenState:this._screenState}),this.isPixelStreaming&&this.pixelInput.setupMouseAndFreezeFrame(this.containerElement,this.videoElement)})),this._op=new bt(this._view.getContainerComponent(),this),this.pixelInput=new Xn(this),this.setupListener()}get params(){return this._params}get playerModeType(){return this._params.playerMode}get userType(){return this._params.userType}get isObMode(){return this.playerModeType!=zn.Normal&&this.userType==qn.Observer}get isInteractiveMode(){return this.playerModeType!=zn.Normal}get isPixelStreaming(){return this.params.appliType===Ke.PIXEL_STREAMING}get appState(){return this._app.state}get app(){return this._app}get remoteScreenReady(){return this._remoteScreenReady}set remoteScreenReady(e){this._remoteScreenReady=e}get screenState(){return this._screenState}set scaleMode(e){this._screenState.scaleMode=e}get mouseZoomDirection(){return this.op.mouseZoomDirection}set mouseZoomDirection(e){this.op.mouseZoomDirection=e}get op(){return this._op}get fullScreen(){return this._fullScreen}get lockPointer(){return this._lockPointer}get videoElement(){return this._view.getVideo()}get videoComponent(){return this._view.getVideoComponent()}get audioElement(){return this._view.getAudio()}get isSeprateAudioTrack(){return this._view.isSeprateAudioTrack()}get containerElement(){return this._view.getContainerComponent()}get viewportElement(){return this._view.getViewportComponent()}set isEnableTouchPonit(e){this._view.$set({touchPonitEnable:e})}set isEnableTouchPoint(e){this._view.$set({touchPonitEnable:e})}get virtualCursorPosition(){return{x:this._view.cursorPosition.x+this.screenState.container.marginLeft,y:this._view.cursorPosition.y+this.screenState.container.marginTop}}get virtualCursorPositionRaw(){return{x:this._view.cursorPosition.x,y:this._view.cursorPosition.y}}set isEnableLoadingStateBar(e){this._view.$set({showLoadingStateBar:e})}get rootElement(){return this._rootElement}get serverAddress(){return this.config.serverAddress?this.config.serverAddress:""}get serverIp(){return new URL(this.serverAddress).hostname}get config(){return this._config}get uid(){return this._uid}get isPreStart(){return this._isPreStart}isTaskOwner(){return this._isTaskOwner}set initCursorMode(e){this._screenState.initCursorMode=e,this.resetAppMouseLockState(),this.lockPointer.isLockPointer&&this.lockPointer.exitPointerLock()}get initCursorMode(){return this._screenState.initCursorMode}get audioDeviceId(){var e;return null===(e=this.app)||void 0===e?void 0:e.audioDeviceId}get audioTrack(){var e;return null===(e=this.app)||void 0===e?void 0:e.audioTrack}get videoDeviceId(){var e;return null===(e=this.app)||void 0===e?void 0:e.videoDeviceId}get videoTrack(){var e;return null===(e=this.app)||void 0===e?void 0:e.videoTrack}updateServerAddress(e){this._config.serverAddress=e,this._view.$set({serverAddress:this._config.serverAddress})}initSDKAuthCode(e){return this._config.authCode=e,new Promise(((e,t)=>{e()}))}async connectWithPxyHost(e){const t=await et.HostAppliGetUrl(e);this._config.serverAddress=t.origin,this._view.$set({serverAddress:this._config.serverAddress}),await this.connect(Object.assign(Object.assign({},e),t.params))}async connect(e){if(!this._config.authCode)throw s.err("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置"),new Error("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置");if(!this._config.serverAddress)throw new Error("服务器地址未设置");try{const t=await et.GetStartInfo(this._config.serverAddress,Object.assign({sdkId:this._config.authCode},e));this.setAppliParams(Qe(t)),this.emit({type:Un.TASK_CREATE_SUCCESS,data:Object.assign({},this.params)}),this.$emit(p.LK_TASK_CREATE_SUCCESS,Object.assign({},this.params)),await this.start()}catch(e){throw 0==e.type?(e.eventType=Un.RESOURCE_NOT_ENOUGH,this.emit({type:Un.RESOURCE_NOT_ENOUGH,data:e}),this.$emit(p.LK_RESOURCE_NOT_ENOUGH,e,"RESOURCE NOT ENOUGH")):(e.eventType=Un.TASK_CREATE_FAILED,this.emit({type:Un.TASK_CREATE_FAILED,data:e}),this.$emit(p.LK_TASK_CREATE_FAILED,e,"TASK CREATE FAILED")),e}}setNickname(e){this._params.nickname=e}setAppliParams(e){this._params=Je.setUpWithSDKConfig(Je.copyAndCreate(e),this.config),this.screenState.reset(this._params),d.init(this._params.language),this._view.$set({appParams:this._params}),s.logLevel=this._params.logLevel,this.op.mouseZoomDirection=this._params.mouseZoomDirection}start(){return new Promise(((e,t)=>this.params.taskid?this.params.appServer?this.params.appPort?(et.ClientInfo(this.config,this.params),this.config.serverAddress&&et.GetTouchCtrMapping(this.config.serverAddress,this.params.appliId).then((e=>{this.emit({type:Un.TOUCH_CTR_MAPPING,data:e,code:0})})).catch((e=>{s.warn(e)})),this.params.debugTask?this.startProcess():this.taskProcess(),void e()):(s.err("启动流程失败,渲染服务器的端口号为空"),void t("启动流程失败,渲染服务器的端口号为空。请确保正确调用接口获取到参数")):(s.err("启动流程失败,渲染服务器的IP地址为空"),void t("启动流程失败,渲染服务器的IP地址为空。请确保正确调用接口获取到参数")):(s.err("启动流程失败,taskID为空"),void t("启动流程失败,taskID为空。请确保正确调用接口获取到参数"))))}restart(){this._app.restart()}restartApp(){this._app.restartApp()}close(){this._app.disConnect()}destroy(){this.close(),this._view.$destroy()}setMobileForceLandScape(e){this.params.mobileForceLandscape=e,this.screenState.setMobileForceLandScape(e)}changeOperater(e){var t;null===(t=this._app)||void 0===t||t.changeOperater(e)}inputText(e){var t;this._op.updateOperation(),null===(t=this._app)||void 0===t||t.inputText(e)}aiDmTextInput(e){var t;return this._op.updateOperation(),null===(t=this._app)||void 0===t?void 0:t.aiDmTextInput(e)}startAiDmVoiceInput(){var e;return this._op.updateOperation(),null===(e=this._app)||void 0===e?void 0:e.startAiDmVoiceInput()}stopAiDmVoiceInput(){var e;return null===(e=this._app)||void 0===e?void 0:e.stopAiDmVoiceInput()}sendTextToDataChannel(e){var t;this._op.updateOperation(),null===(t=this._app)||void 0===t||t.sendTextToDataChannel(e)}sendBinaryToDataChannel(e){this._op.updateOperation(),this._app.sendBinaryToDataChannel(e)}postMsg(e,t="",r=""){L.IsIframe()&&null!=parent&&parent.postMessage({prex:tt,type:e,data:t,message:""==r?m.GetEventMessageByType(e):r},"*")}quit(){if(L.IsIframe())return s.warn("cant quit in iframe"),window.opener=null,window.open("","_self"),window.close(),void this.postMsg(p.LK_USER_REQUEST_QUIT);const e=window.WeixinJSBridge;e?e.call("closeWindow"):window.history&&window.history.length>1?window.history.back():(window.opener=null,window.open("","_self"),window.close())}resetAppMouseLockState(){this.op.resetAppMouseLockState()}captrueFrame(e,t){return this._view.captrueFrame(e,t)}sendInput(e){var t;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(t=this._op)||void 0===t||t.$emitInputEvent(e)}mouseMove(e,t,r,n){this.moseMove(e,t,r,n)}moseMove(e,t,r,n){var o;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(o=this._op)||void 0===o||o.$emitMoseMove(e,t,r,n)}mouseTap(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseTap(e,t,r)}mouseDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseDown(e,t,r)}mouseUp(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseUp(e,t,r)}mouseWheel(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseWheel(e,t,r)}keyDown(e,t){const r=At[e];r&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([rn,r.vkey,t]).buffer):this._op.$emitKeyDown(r.vkey,t))}keyUp(e){const t=At[e];t&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([nn,t.vkey]).buffer):this._op.$emitKeyUp(t.vkey))}gamepadButtonDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitGamepadButtonDown(e,t,r)}gamepadButtonUp(e,t){var r;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(r=this._op)||void 0===r||r.$emitGamepadButtonUp(e,t)}gamepadTrigger(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitGamepadTrigger(e,t,r)}joystick(e,t,r,n,o){var i;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(i=this._op)||void 0===i||i.$emitJoystick(e,t,r,n,o)}touchDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchDown(e,t,r)}touchMove(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchMove(e,t,r)}touchUp(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchUp(e,t,r)}getMouseButtonType(e){switch(e){case"left":return c.CloudLark.MouseKey.LEFT;case"mid":return c.CloudLark.MouseKey.MIDDLE;case"right":return c.CloudLark.MouseKey.RIGHT}}setAudioEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setAudioEnable(e)}setVideoEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setVideoEnable(e)}setShareEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setShareEnable(e)}closeAudio(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeAudio()}closeVideo(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeVideo()}closeShare(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeShare()}async openAudio(e=""){var t;return await(null===(t=this.app)||void 0===t?void 0:t.openAudio(e))}async openVideo(e=!1,t=""){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openVideo(e,t))}async openDefaultMedia(e=!0,t=!0){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openDefaultMedia(e,t))}async openShareMediaDevice(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.openShareMediaDevice())}async getConnectedAudioinputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedVideoinputDevices())}async getConnectedDevices(e){var t;return await(null===(t=this.app)||void 0===t?void 0:t.getConnectedDevices(e))}async openAudioDevice(e,t="audioinput"){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openAudioDevice(e,t))}async openCamera(e,t=0,r=0){var n;return await(null===(n=this.app)||void 0===n?void 0:n.openCamera(e,t,r))}async openUserMeida(e){var t;return await(null===(t=this.app)||void 0===t?void 0:t.openUserMeida(e))}addMediaTrack(e,...t){var r;return null===(r=this.app)||void 0===r?void 0:r.addMediaTrack(e,...t)}removeMediaTrack(e){var t;return null===(t=this.app)||void 0===t?void 0:t.removeMediaTrack(e)}requestUserMediaPermission(e){var t;return null===(t=this.app)||void 0===t?void 0:t.requestUserMediaPermission(e)}StartCloudLiveStreaming(e){var t;return null===(t=this.app)||void 0===t?void 0:t.StartCloudLiveStreaming(e)}StopLiveStreaming(){var e;return null===(e=this.app)||void 0===e?void 0:e.StopLiveStreaming()}async getTouchCtrMapping(e=""){if(!this.config.serverAddress)throw new Error("serverAddress not set");return await et.GetTouchCtrMapping(this.config.serverAddress,e||this.params.appliId)}$emit(e,t="",r=""){for(const t of rt)if(t==e){et.LogError(e,r+" "+m.GetEventMessageByType(e),"appliId="+this.params.appliId+"&taskId="+this.params.taskid,this.config);break}this.emit(this.createEvent(e,t,r)),this.postMsg(e,t,r)}$emitError(e="",t=0){this.emit({target:this,type:Un.ERROR,message:e,code:t})}$emitInfo(e="",t=0){this.emit({target:this,type:Un.INFO,message:e,code:t})}createEvent(e,t="",r=""){return{type:Un.LarkEvent,target:this,data:t,message:r,larkevent:e}}setupListener(){this.app.on(_e.LOGIN,(e=>{this._uid=e.data.uid,this._isPreStart=e.data.isPrestart,s.info("login success ",e.data,this.uid,this.isPreStart),this.emit({type:Un.LOGIN_SUCCESS,data:e.data})}),this),this.app.on(_e.ERROR,(e=>{this.emit({type:Un.ERROR,message:e.data.message,code:e.data.code})}),this),this.app.on(_e.INFO,(e=>{this.emit({type:Un.INFO,message:e.data.message,code:e.data.code})}),this),this.app.on(_e.APP_CLOSE,(e=>{this.emit({type:Un.APP_CLOSE,data:e.data,message:e.data})}),this),this.app.on(_e.REMOTE_STREAM,this.onGotRemoteStream,this),this.app.on(_e.REMOTE_AUDIO_STREAM,this.onGotRemoteAudioStream,this),this.app.on(_e.APP_STATE_CHANGE,this.onAppStateChange,this),this.app.on(_e.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.app.on(_e.LK_APP_RESIZE,this.onAppResize,this),this.app.on(_e.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.app.on(_e.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.app.on(_e.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.app.on(_e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.app.on(_e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.app.on(_e.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.app.on(_e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.app.on(_e.NET_STATE,(e=>{this.emit({type:Un.PEERSTATUS_REPORT,data:e.data})})),this.app.on(_e.AI_VOICE_STATUS,(e=>{this.emit({type:Un.AI_VOICE_STATUS,data:e.data})})),this.app.on(_e.AI_VOICE_ASR_RESULT,(e=>{this.emit({type:Un.AI_VOICE_ASR_RESULT,data:e.data})})),this.app.on(_e.AI_VOICE_DM_RESULT,(e=>{this.emit({type:Un.AI_VOICE_DM_RESULT,data:e.data})})),this.app.on(_e.AI_VOICE_ERROR,(e=>{this.emit({type:Un.AI_VOICE_ERROR,data:e.data})})),this.app.on(_e.RTMP_STREAM_STATE,(e=>{this.emit({type:Un.RTMP_STREAM_STATE,data:e.data})})),this.app.on(_e.RTMP_STREAM_ERROR,(e=>{this.emit({type:Un.RTMP_STREAM_ERROR,data:e.data})})),this.op.on(1,this.onOperationTimeout,this),this.op.on(2,(e=>{var t;e.data&&(null===(t=this._app)||void 0===t||t.inputText(e.data))}),this),this.op.on(3,(e=>{(b.isMobile||e.cursorPoint&&this.lockPointer.isLockPointer)&&this._view.$set({cursorPosition:e.cursorPoint})})),this._view.$on("pitcureCaptured",(e=>{s.info("on capture ",e.detail),this.emit({type:Un.CAPTURE_FRAME,target:this,data:e.detail}),e.detail.data?this.$emit(p.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA,e.detail):this.$emit(p.LK_USER_CAPTURE_FRAME,e.detail.base64)})),this._view.$on("mediaLoaded",(()=>{this.app.state=Fe.MEDIA_LOADED,this.emit({type:Un.MEDIA_LOADED,target:this}),this.$emit(p.LK_VIDEO_LOADED),window.clearTimeout(this.loadingTimeout)})),this._view.$on("mediaPlayed",(()=>{this.app.state=Fe.MEDIA_PLAED,this.$emit(p.LK_VIDEO_PLAY_SUCCSS),this.emit({type:Un.MEDIA_PLAY_SUCCESS,target:this}),et.TaskInfoClientStarted(this.config,this.params);try{this.params.audioInput&&this.params.audioInputAutoStart&&!this.audioTrack&&this.params.videoInput&&this.params.videoInputAutoStart&&!this.videoTrack?this.openDefaultMedia(!0,!0):(this.params.audioInput&&this.params.audioInputAutoStart&&!this.audioTrack&&this.openAudio(),this.params.videoInput&&this.params.videoInputAutoStart&&!this.videoTrack&&this.openVideo())}catch(e){this.$emitInfo(JSON.stringify(e))}})),this._view.$on("mediaPlayedMute",(()=>{s.info("video play success"),this.emit({type:Un.MEDIA_PLAY_MUTE,target:this})})),this._view.$on("mediaPlayedFailed",(()=>{this.$emit(p.LK_VIDEO_PLAY_FAILED),this.emit({type:Un.MEDIA_PLAY_FAILED,target:this})})),this._view.$on("requestFullScreen",(()=>{"iOS"!=b.os&&this.fullScreen.launchFullScreen()}))}async taskProcess(){try{const e=await et.GetTask(this.config,this.params.taskid);if(0!=e.status){s.info("task 获取成功"),this._view.$set({syncApp:!1}),this._params.shareUrl=Ye.getBoolOption(e.shareUrl),this._params.textInputEventPrompt=Ye.getNumberBoolOption(e.textInputEventPrompt,!0),this._params.audioInput=Ye.getNumberBoolOption(e.audioInput,!1);const t=Ye.getNumberBoolOption(e.audioInputAutoStart,!1),r=null==this._config.audioInputAutoStart?t:this._config.audioInputAutoStart;this._params.audioInputAutoStart=this._params.audioInput&&r,this._params.videoInput=Ye.getNumberBoolOption(e.videoInput,!1);const n=Ye.getNumberBoolOption(e.videoInputAutoStart,!1),o=null==this._config.videoInputAutoStart?n:this._config.videoInputAutoStart;this._params.videoInputAutoStart=this._params.videoInput&&o,this._params.liveStreaming=Ye.getNumberBoolOption(e.liveStreaming,!1),this.startProcess()}else s.info("task 同步中,重新获取"),this._view.$set({syncApp:!0}),window.setTimeout((()=>{this.taskProcess()}),1500)}catch(e){this._view.$set({syncApp:!1}),this.$emitError("获取Task信息失败 "+JSON.stringify(e))}}startProcess(){this.app.init(),this.loadingTimeout=window.setTimeout((()=>{this.appState<Fe.MEDIA_LOADED&&(s.warn("LOADING TIMEOUT!",this.params.loadingTimeout),this.app.disConnect(),this.$emitError(d.message.LK_LOADING_TIMEOUT,p.LK_LOADING_TIMEOUT),this.$emit(p.LK_LOADING_TIMEOUT))}),1e3*this.params.loadingTimeout),et.PortMappingList(this.config).then((e=>{const t=e;if(this.config.publicPortMapping)for(let e in t)this.config.publicPortMapping.hasOwnProperty(e)||(this.config.publicPortMapping[e]=t[e]);else this.config.publicPortMapping=t;s.info("update public port mapping ",this.config.publicPortMapping)})).catch((e=>{s.warn("get port mapping failed ",e)})).finally((()=>{this.app.start()}))}onAppStateChange(e){e.state==Fe.MEDIA_LOADED?(s.info("app state change to media ready"),this.loadingTimeout&&window.clearTimeout(this.loadingTimeout),(null==this.config.handlInput||this.config.handlInput)&&(s.info("media ready ",this.params),this.isPixelStreaming?(this.screenState.appSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},this.emit({type:Un.APP_RESIZE,data:this.screenState.appSize}),this.pixelInput.setupMouseAndFreezeFrame(this.containerElement,this.videoElement),this.pixelInput.startListen||(this.params.initCursorMode?this.pixelInput.registerLockedMouseEvents(this.containerElement):this.pixelInput.registerHoveringMouseEvents(this.containerElement),this.pixelInput.registerInputs(this.containerElement),this.pixelInput.registerKeyboardEvents(),this.pixelInput.setupHtmlEvents(),this.pixelInput.on(0,(e=>{this.isObMode?s.info("skip operation when use mousemode"):e.intpuBuffer&&this.app.sendInputBuffer(e.intpuBuffer)})))):this.op.startListen||(this.op.on(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.startListening()))):e.state>=Fe.RTC_RETRY&&(s.info("app state change to before destory"),(null==this.config.handlInput||this.config.handlInput)&&(this.op.off(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.stopListenling())),e.state==Fe.WEBSOCKET_CHANNEL_OPEN&&this.emit({type:Un.CONNECT}),e.state!=Fe.RTC_CLOSED&&e.state!=Fe.WEBSOCKET_CLOSED||this.emit({type:Un.CLOSE}),this._view.appState=e.state,this.emit({type:Un.APPSTATE_CHANGE,data:e.state}),s.info("on appstate change",e.state)}onGotRemoteStream(e){s.info("onGotRemoteStream",e,e.data.getVideoTracks()),this._view.setVideoSrcObj(e.data),this.emit({target:this,type:Un.GOT_REMOTE_STREAM,data:e}),"iOS"===b.os&&b.isWeChat&&L.IsIframe()&&this.appState<=Fe.MEDIA_PLAED&&(this._view.playVideo(),this.emit({target:this,type:Un.MEDIA_PLAY_FAILED}),this.$emit(p.LK_VIDEO_PLAY_FAILED))}onGotRemoteAudioStream(e){s.info("onGotAudioRemoteStream",e,e.data.getVideoTracks()),this._view.setAudioSrcObj(e.data),this.emit({target:this,type:Un.GOT_REMOTE_AUDIO_STREAM,data:e})}onCursorStyle(e){this.emit({type:Un.APP_CURSOR_MODE,data:e.data}),this.screenState.cursorStyle=e.data,s.info("onCursorStyle",this.screenState.cursorStyle)}onAppResize(e){this.screenState.appSize=e.data,s.info("onAppResize ",e),this.emit({type:Un.APP_RESIZE,data:e.data})}onAppMouseMode(e){this.screenState.appMouseMode=e.data,this.op.setAppMouseMode(e.data),this.emit({type:Un.APP_MOUSE_MODE,data:e.data})}onAppPlayerList(e){let t=e.data,r=[];for(let e of t){let t={isCurrent:e.id===this.uid,userId:e.id?e.id:0,nickName:e.nickName?e.nickName:"",isTaskOwner:!!e.taskOwner,userType:e.controller?qn.Player:qn.Observer};if(t.isCurrent){if(this.userType!=t.userType){let e=t.userType==qn.Player?"您已获得操作权限":"您已失去操作权限";this.$emitInfo(e),this.lockPointer.isLockPointer&&t.userType!=qn.Player&&this.lockPointer.exitPointerLock()}this.params.userType=t.userType,this._uid=t.userId,this._isTaskOwner=t.isTaskOwner,this._op.resetAppMouseLockState(),this._view.$set({appParams:this._params}),this.screenState.resize(),s.info("upate current player ",t,this.userType,this.params.userType)}r.push(t)}this.emit({type:Un.PLAYER_LIST,data:r})}onAppRequestText(e){this.params.textInputEventPrompt?this.emit({type:Un.APP_REQUEST_INPUT,data:e.data}):s.warn("app set skip textinput event.")}onDataChannelText(e){this.emit({type:Un.DATACHANNEL_TEXT,data:e.data.string,rawData:e.data.rawString})}onDataChannelBinary(e){this.emit({type:Un.DATACHANNEL_BINARY,data:e.data})}onDataChannelOpen(e){this.emit({type:Un.DATACHANNEL_OPEN,data:e.data})}onDataChannelClose(e){this.emit({type:Un.DATACHANNEL_CLOSE,data:e.data})}onOperationTimeout(){s.warn("onOperationTimeout"),this.app&&this.app.disConnect(),this.emit({type:Un.NO_OPERATION_TIMEOUT}),this.emit({type:Un.ERROR,message:d.message.noOperationTimeout})}onOperationInput(e){this.isObMode?s.info("skip operation when use mousemode"):(s.info("onOperationInput",JSON.stringify(e.input)),this.app&&e.input&&this.app.sendInput(e.input))}},API:et,AppliParams:Je,LoadAppliParamsFromUrl:function(){let e=Ye.getStringOption(L.queryString("touchOperateMode"),"mouse");return e="touch"===e||"touchScreen"===e?"touchScreen":"mouse",{appServer:L.queryString("renderServerIp"),appPort:L.queryString("renderServerPort"),renderSSLServerPort:Ye.getStringOption(L.queryString("renderSSLServerPort"),""),taskid:L.queryString("taskId"),appliType:Ye.getIntOption(L.queryString("appliType"),Ke.SHARED),appliName:decodeURI(L.queryString("appliName")),codeRate:Ye.getIntOption(L.queryString("codeRate"),v.CodeRate),audioCodeRate:Ye.getIntOption(L.queryString("audioCodeRate"),128),frameRate:Ye.getIntOption(L.queryString("frameRate"),v.FrameRate),width:Ye.getIntOption(L.queryString("width"),v.OriginW),height:Ye.getIntOption(L.queryString("height"),v.OriginH),scaleMode:Ye.getScaleMode(parseInt(L.queryString("initWinSize"),10)),network:Ye.getNetwork(parseInt(L.queryString("network"),10)),preferPubOutIp:Ye.getStringOption(L.queryString("preferPublicIp"),""),logLevel:Ye.getLogLevel(L.queryString("logLevel")),noOperationTimeout:Ye.getIntOption(L.queryString("noOperationTimeout"),0),waterMark:Ye.getBoolOption(L.queryString("wm"),!1),rttLimit:Ye.getIntOption(L.queryString("rttLimit"),60),packetLostLimit:Ye.getIntOption(L.queryString("packetLostLimit"),20),debugTask:Ye.getBoolOption(L.queryString("debugTask")),wsProxy:Ye.getNumberBoolOption(L.queryString("wsProxy")),debugWebServer:L.queryString("debugWebServer"),rttLimitInterval:Ye.getIntOption(L.queryString("rttLimitInterval"),20),initCursorMode:Ye.getNumberBoolOption(L.queryString("initCursorMode")),bgColor:Ye.getBgColor(L.queryString("bgColor")),fullScreenMode:Ye.getIntOption(L.queryString("fullScreenMode"),0),mobileFullScreenMode:Ye.getIntOption(L.queryString("mobileFullScreenMode"),1),playerMode:Ye.getIntOption(L.queryString("playerMode"),0),userType:Ye.getIntOption(L.queryString("userType"),1),nickname:Ye.getStringOption(L.queryString("nickname")),roomCode:Ye.getStringOption(L.queryString("roomCode"),""),loadingTimeout:Ye.getIntOption(L.queryString("loadingTimeout"),300),mobileForceLandscape:!!Ye.getIntOption(L.queryString("mobileForceLandscape"),1),mobileVirtualJoystick:!!Ye.getIntOption(L.queryString("mobileVirtualJoystick"),1),mouseZoomDirection:Ye.getIntOption(L.queryString("mouseZoomDirection"),0),showPlayerList:Ye.getNumberBoolOption(L.queryString("playerListToggle"),!0),preferDecoder:Ye.getStringOption(L.queryString("preferDecoder"),"h264"),touchOperateMode:e,appliId:Ye.getStringOption(L.queryString("appliId"),""),syncLocalToCloudClipboard:Ye.getBoolOption(L.queryString("syncLocalToCloudClipboard"),!0),enableRttIcon:Ye.getBoolOption(L.queryString("enableRttIcon"),!0),enableSoundRequire:Ye.getBoolOption(L.queryString("enableSoundRequire"),!0),toastLevel:Ye.getIntOption(L.queryString("toastLevel"),0),language:L.queryString("language"),appKey:Ye.getStringOption(L.queryString("appKey"),""),groupId:Ye.getStringOption(L.queryString("groupId"),""),audioInputAutoStart:Ye.getBoolOption(L.queryString("audioInputAutoStart"),!1),videoInputAutoStart:Ye.getBoolOption(L.queryString("videoInputAutoStart"),!1),shareUrl:!1,textInputEventPrompt:!0,audioInput:!1,videoInput:!1,liveStreaming:!1}},AppliParamsUtils:Ye,LoadAppliParamsStartAppInfo:Qe,EventBase:o,ScaleMode:g,Capabilities:b,CloudLark:c.CloudLark,FullScreen:gt,LockPointer:vt,Operation:bt,LarkSRClientEvent:Un,LarkEventType:p,GESTURE_TYPE:it,KEYMAP:At}}(),__webpack_exports__=__webpack_exports__.default,__webpack_exports__}()}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("larksr_websdk",[],t):"object"==typeof exports?exports.larksr_websdk=t():e.larksr_websdk=t()}(this||self,(function(){return function(){var __webpack_modules__={9719:function(e){"use strict";e.exports=function(e,t){var r=new Array(arguments.length-1),n=0,o=2,i=!0;for(;o<arguments.length;)r[n++]=arguments[o++];return new Promise((function(o,s){r[n]=function(e){if(i)if(i=!1,e)s(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];o.apply(null,t)}};try{e.apply(t||null,r)}catch(e){i&&(i=!1,s(e))}}))}},9209:function(e,t){"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),o=new Array(123),i=0;i<64;)o[n[i]=i<26?i+65:i<52?i+71:i<62?i-4:i-59|43]=i++;r.encode=function(e,t,r){for(var o,i=null,s=[],a=0,c=0;t<r;){var u=e[t++];switch(c){case 0:s[a++]=n[u>>2],o=(3&u)<<4,c=1;break;case 1:s[a++]=n[o|u>>4],o=(15&u)<<2,c=2;break;case 2:s[a++]=n[o|u>>6],s[a++]=n[63&u],c=0}a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),a=0)}return c&&(s[a++]=n[o],s[a++]=61,1===c&&(s[a++]=61)),i?(a&&i.push(String.fromCharCode.apply(String,s.slice(0,a))),i.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";r.decode=function(e,t,r){for(var n,i=r,a=0,c=0;c<e.length;){var u=e.charCodeAt(c++);if(61===u&&a>1)break;if(void 0===(u=o[u]))throw Error(s);switch(a){case 0:n=u,a=1;break;case 1:t[r++]=n<<2|(48&u)>>4,n=u,a=2;break;case 2:t[r++]=(15&n)<<4|(60&u)>>2,n=u,a=3;break;case 3:t[r++]=(3&n)<<6|u,a=0}}if(1===a)throw Error(s);return r-i},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},2939:function(e){"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this}},8102:function(e){"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3]}function i(e,n,o){t[0]=e,n[o]=r[3],n[o+1]=r[2],n[o+2]=r[1],n[o+3]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function a(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?o:i,e.writeFloatBE=n?i:o,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,r,n){var o=t<0?1:0;if(o&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((o<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((o<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var i=Math.floor(Math.log(t)/Math.LN2);e((o<<31|i+127<<23|8388607&Math.round(t*Math.pow(2,-i)*8388608))>>>0,r,n)}}function s(e,t,r){var n=e(t,r),o=2*(n>>31)+1,i=n>>>23&255,s=8388607&n;return 255===i?s?NaN:o*(1/0):0===i?1401298464324817e-60*o*s:o*Math.pow(2,i-150)*(s+8388608)}e.writeFloatLE=t.bind(null,r),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,o),e.readFloatBE=s.bind(null,i)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function o(e,n,o){t[0]=e,n[o]=r[0],n[o+1]=r[1],n[o+2]=r[2],n[o+3]=r[3],n[o+4]=r[4],n[o+5]=r[5],n[o+6]=r[6],n[o+7]=r[7]}function i(e,n,o){t[0]=e,n[o]=r[7],n[o+1]=r[6],n[o+2]=r[5],n[o+3]=r[4],n[o+4]=r[3],n[o+5]=r[2],n[o+6]=r[1],n[o+7]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function a(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?o:i,e.writeDoubleBE=n?i:o,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,r,n,o,i){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,o,i+t),e(1/n>0?0:2147483648,o,i+r);else if(isNaN(n))e(0,o,i+t),e(2146959360,o,i+r);else if(n>17976931348623157e292)e(0,o,i+t),e((s<<31|2146435072)>>>0,o,i+r);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,o,i+t),e((s<<31|a/4294967296)>>>0,o,i+r);else{var c=Math.floor(Math.log(n)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=n*Math.pow(2,-c))>>>0,o,i+t),e((s<<31|c+1023<<20|1048576*a&1048575)>>>0,o,i+r)}}}function s(e,t,r,n,o){var i=e(n,o+t),s=e(n,o+r),a=2*(s>>31)+1,c=s>>>20&2047,u=4294967296*(1048575&s)+i;return 2047===c?u?NaN:a*(1/0):0===c?5e-324*a*u:a*Math.pow(2,c-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,r,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,o,0,4),e.readDoubleBE=s.bind(null,i,4,0)}(),e}function r(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function n(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function o(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function i(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},5879:function(module){"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},9281:function(e){"use strict";e.exports=function(e,t,r){var n=r||8192,o=n>>>1,i=null,s=n;return function(r){if(r<1||r>o)return e(r);s+r>n&&(i=e(n),s=0);var a=t.call(i,s,s+=r);return 7&s&&(s=1+(7|s)),a}}},810:function(e,t){"use strict";var r=t;r.length=function(e){for(var t=0,r=0,n=0;n<e.length;++n)(r=e.charCodeAt(n))<128?t+=1:r<2048?t+=2:55296==(64512&r)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},r.read=function(e,t,r){if(r-t<1)return"";for(var n,o=null,i=[],s=0;t<r;)(n=e[t++])<128?i[s++]=n:n>191&&n<224?i[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,i[s++]=55296+(n>>10),i[s++]=56320+(1023&n)):i[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o?(s&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))},r.write=function(e,t,r){for(var n,o,i=r,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=63&n|128):55296==(64512&n)&&56320==(64512&(o=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&o),++s,t[r++]=n>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-i}},4559:function(e,t,r){e.exports=r(9335)},1786:function(e,t,r){"use strict";var n=r(8266),o=r(5608),i=r(159),s=r(9568),a=r(3943),c=r(8799),u=r(1745),l=r(7979),A=r(9046),d=r(9760);e.exports=function(e){return new Promise((function(t,r){var p,h=e.data,f=e.headers,m=e.responseType;function y(){e.cancelToken&&e.cancelToken.unsubscribe(p),e.signal&&e.signal.removeEventListener("abort",p)}n.isFormData(h)&&delete f["Content-Type"];var b=new XMLHttpRequest;if(e.auth){var g=e.auth.username||"",v=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";f.Authorization="Basic "+btoa(g+":"+v)}var O=a(e.baseURL,e.url);function E(){if(b){var n="getAllResponseHeaders"in b?c(b.getAllResponseHeaders()):null,i={data:m&&"text"!==m&&"json"!==m?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:n,config:e,request:b};o((function(e){t(e),y()}),(function(e){r(e),y()}),i),b=null}}if(b.open(e.method.toUpperCase(),s(O,e.params,e.paramsSerializer),!0),b.timeout=e.timeout,"onloadend"in b?b.onloadend=E:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(E)},b.onabort=function(){b&&(r(l("Request aborted",e,"ECONNABORTED",b)),b=null)},b.onerror=function(){r(l("Network Error",e,null,b)),b=null},b.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",n=e.transitional||A.transitional;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(l(t,e,n.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},n.isStandardBrowserEnv()){var S=(e.withCredentials||u(O))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;S&&(f[e.xsrfHeaderName]=S)}"setRequestHeader"in b&&n.forEach(f,(function(e,t){void 0===h&&"content-type"===t.toLowerCase()?delete f[t]:b.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(b.withCredentials=!!e.withCredentials),m&&"json"!==m&&(b.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&b.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(p=function(e){b&&(r(!e||e&&e.type?new d("canceled"):e),b.abort(),b=null)},e.cancelToken&&e.cancelToken.subscribe(p),e.signal&&(e.signal.aborted?p():e.signal.addEventListener("abort",p))),h||(h=null),b.send(h)}))}},9335:function(e,t,r){"use strict";var n=r(8266),o=r(4345),i=r(7929),s=r(650);var a=function e(t){var r=new i(t),a=o(i.prototype.request,r);return n.extend(a,i.prototype,r),n.extend(a,r),a.create=function(r){return e(s(t,r))},a}(r(9046));a.Axios=i,a.Cancel=r(9760),a.CancelToken=r(7510),a.isCancel=r(8825),a.VERSION=r(992).version,a.all=function(e){return Promise.all(e)},a.spread=r(4346),a.isAxiosError=r(3276),e.exports=a,e.exports.default=a},9760:function(e){"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},7510:function(e,t,r){"use strict";var n=r(9760);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;this.promise.then((function(e){if(r._listeners){var t,n=r._listeners.length;for(t=0;t<n;t++)r._listeners[t](e);r._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]},o.prototype.unsubscribe=function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}},o.source=function(){var e;return{token:new o((function(t){e=t})),cancel:e}},e.exports=o},8825:function(e){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},7929:function(e,t,r){"use strict";var n=r(8266),o=r(9568),i=r(5758),s=r(6029),a=r(650),c=r(123),u=c.validators;function l(e){this.defaults=e,this.interceptors={request:new i,response:new i}}l.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&c.assertOptions(t,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var r=[],n=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(n=n&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(e){i.push(e.fulfilled,e.rejected)})),!n){var l=[s,void 0];for(Array.prototype.unshift.apply(l,r),l=l.concat(i),o=Promise.resolve(e);l.length;)o=o.then(l.shift(),l.shift());return o}for(var A=e;r.length;){var d=r.shift(),p=r.shift();try{A=d(A)}catch(e){p(e);break}}try{o=s(A)}catch(e){return Promise.reject(e)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},l.prototype.getUri=function(e){return e=a(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,r){return this.request(a(r||{},{method:e,url:t,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,r,n){return this.request(a(n||{},{method:e,url:t,data:r}))}})),e.exports=l},5758:function(e,t,r){"use strict";var n=r(8266);function o(){this.handlers=[]}o.prototype.use=function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},3943:function(e,t,r){"use strict";var n=r(406),o=r(5027);e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},7979:function(e,t,r){"use strict";var n=r(2050);e.exports=function(e,t,r,o,i){var s=new Error(e);return n(s,t,r,o,i)}},6029:function(e,t,r){"use strict";var n=r(8266),o=r(2661),i=r(8825),s=r(9046),a=r(9760);function c(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new a("canceled")}e.exports=function(e){return c(e),e.headers=e.headers||{},e.data=o.call(e,e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||s.adapter)(e).then((function(t){return c(e),t.data=o.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(c(e),t&&t.response&&(t.response.data=o.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},2050:function(e){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e}},650:function(e,t,r){"use strict";var n=r(8266);e.exports=function(e,t){t=t||{};var r={};function o(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function i(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:o(void 0,e[r]):o(e[r],t[r])}function s(e){if(!n.isUndefined(t[e]))return o(void 0,t[e])}function a(r){return n.isUndefined(t[r])?n.isUndefined(e[r])?void 0:o(void 0,e[r]):o(void 0,t[r])}function c(r){return r in t?o(e[r],t[r]):r in e?o(void 0,e[r]):void 0}var u={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:c};return n.forEach(Object.keys(e).concat(Object.keys(t)),(function(e){var t=u[e]||i,o=t(e);n.isUndefined(o)&&t!==c||(r[e]=o)})),r}},5608:function(e,t,r){"use strict";var n=r(7979);e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},2661:function(e,t,r){"use strict";var n=r(8266),o=r(9046);e.exports=function(e,t,r){var i=this||o;return n.forEach(r,(function(r){e=r.call(i,e,t)})),e}},9046:function(e,t,r){"use strict";var n=r(8266),o=r(1490),i=r(2050),s={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=r(1786)),c),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)||t&&"application/json"===t["Content-Type"]?(a(t,"application/json"),function(e,t,r){if(n.isString(e))try{return(t||JSON.parse)(e),n.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||u.transitional,r=t&&t.silentJSONParsing,o=t&&t.forcedJSONParsing,s=!r&&"json"===this.responseType;if(s||o&&n.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(s){if("SyntaxError"===e.name)throw i(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){u.headers[e]=n.merge(s)})),e.exports=u},992:function(e){e.exports={version:"0.24.0"}},4345:function(e){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},9568:function(e,t,r){"use strict";var n=r(8266);function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(n.isURLSearchParams(t))i=t.toString();else{var s=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),s.push(o(t)+"="+o(e))})))})),i=s.join("&")}if(i){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},5027:function(e){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},159:function(e,t,r){"use strict";var n=r(8266);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,o,i,s){var a=[];a.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(o)&&a.push("path="+o),n.isString(i)&&a.push("domain="+i),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},406:function(e){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},3276:function(e){"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},1745:function(e,t,r){"use strict";var n=r(8266);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},1490:function(e,t,r){"use strict";var n=r(8266);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},8799:function(e,t,r){"use strict";var n=r(8266),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,s={};return e?(n.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=n.trim(e.substr(0,i)).toLowerCase(),r=n.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([r]):s[t]?s[t]+", "+r:r}})),s):s}},4346:function(e){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},123:function(e,t,r){"use strict";var n=r(992).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){o[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}}));var i={};o.transitional=function(e,t,r){function o(e,t){return"[Axios v"+n+"] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,n,s){if(!1===e)throw new Error(o(n," has been removed"+(t?" in "+t:"")));return t&&!i[n]&&(i[n]=!0,console.warn(o(n," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,n,s)}},e.exports={assertOptions:function(e,t,r){if("object"!=typeof e)throw new TypeError("options must be an object");for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],s=t[i];if(s){var a=e[i],c=void 0===a||s(a,i,e);if(!0!==c)throw new TypeError("option "+i+" must be "+c)}else if(!0!==r)throw Error("Unknown option "+i)}},validators:o}},8266:function(e,t,r){"use strict";var n=r(4345),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function s(e){return void 0===e}function a(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return"[object Function]"===o.call(e)}function l(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:i,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:function(e){return null!==e&&!s(e)&&null!==e.constructor&&!s(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:a,isPlainObject:c,isUndefined:s,isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:u,isStream:function(e){return a(e)&&u(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:l,merge:function e(){var t={};function r(r,n){c(t[n])&&c(r)?t[n]=e(t[n],r):c(r)?t[n]=e({},r):i(r)?t[n]=r.slice():t[n]=r}for(var n=0,o=arguments.length;n<o;n++)l(arguments[n],r);return t},extend:function(e,t,r){return l(t,(function(t,o){e[o]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}}},4314:function(e){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=90)}({17:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(18),o=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||""},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||""},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var o=e.getVersionPrecision(t),i=e.getVersionPrecision(r),s=Math.max(o,i),a=0,c=e.map([t,r],(function(t){var r=s-e.getVersionPrecision(t),n=t+new Array(r+1).join(".0");return e.map(n.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(n&&(a=s-Math.min(o,i)),s-=1;s>=a;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===a)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var o=e[r];if(t(o,r))return o}},e.assign=function(e){for(var t,r,n=e,o=arguments.length,i=new Array(o>1?o-1:0),s=1;s<o;s++)i[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(i));var a=function(){var e=i[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=i.length;t<r;t+=1)a();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=o,e.exports=t.default},18:function(e,t,r){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(91))&&n.__esModule?n:{default:n},i=r(18);function s(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var a=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t)},e.parse=function(e){return new o.default(e).getResult()},t=e,n=[{key:"BROWSER_MAP",get:function(){return i.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return i.ENGINE_MAP}},{key:"OS_MAP",get:function(){return i.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return i.PLATFORMS_MAP}}],(r=null)&&s(t.prototype,r),n&&s(t,n),e}();t.default=a,e.exports=t.default},91:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=c(r(92)),o=c(r(93)),i=c(r(94)),s=c(r(95)),a=c(r(17));function c(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(n.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(o.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,o={},i=0;if(Object.keys(e).forEach((function(t){var s=e[t];"string"==typeof s?(o[t]=s,i+=1):"object"==typeof s&&(r[t]=s,n+=1)})),n>0){var s=Object.keys(r),c=a.default.find(s,(function(e){return t.isOS(e)}));if(c){var u=this.satisfies(r[c]);if(void 0!==u)return u}var l=a.default.find(s,(function(e){return t.isPlatform(e)}));if(l){var A=this.satisfies(r[l]);if(void 0!==A)return A}}if(i>0){var d=Object.keys(o),p=a.default.find(d,(function(e){return t.isBrowser(e,!0)}));if(void 0!==p)return this.compareVersion(o[p])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),o=a.default.getBrowserTypeByAlias(n);return t&&o&&(n=o.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(r=e.substr(1),"="===e[1]?(n=!0,r=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?r=e.substr(1):"~"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(a.default.compareVersions(o,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=u,e.exports=t.default},92:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},r=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},r=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},r=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},r=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},r=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},r=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},r=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},r=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},r=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},r=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},r=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},r=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},r=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},r=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},r=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},r=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},r=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},r=o.default.getFirstMatch(i,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},r=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},r=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},r=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},r=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},r=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},r=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},r=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},r=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},r=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:"Android Browser"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},r=o.default.getFirstMatch(i,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:i.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=o.default.getWindowsVersionName(t);return{name:i.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:i.OS_MAP.iOS},r=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=o.default.getMacOSVersionName(t),n={name:i.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=o.default.getAndroidVersionName(t),n={name:i.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:i.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:i.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:i.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",r={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,o=(n=r(17))&&n.__esModule?n:{default:n},i=r(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:i.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:i.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:i.ENGINE_MAP.Trident},r=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:i.ENGINE_MAP.Presto},r=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:i.ENGINE_MAP.Gecko},r=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:i.ENGINE_MAP.WebKit},r=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=s,e.exports=t.default}})},2582:function(e,t,r){r(1646),r(6394),r(2004),r(462),r(8407),r(2429),r(1172),r(8288),r(1274),r(8201),r(6626),r(3211),r(9952),r(15),r(9831),r(7521),r(2972),r(6956),r(5222),r(2257);var n=r(1287);e.exports=n.Symbol},8257:function(e,t,r){var n=r(9212),o=r(5637);e.exports=function(e){if(n(e))return e;throw TypeError(o(e)+" is not a function")}},9882:function(e,t,r){var n=r(9212);e.exports=function(e){if("object"==typeof e||n(e))return e;throw TypeError("Can't set "+String(e)+" as a prototype")}},6288:function(e,t,r){var n=r(3649),o=r(3590),i=r(4615),s=n("unscopables"),a=Array.prototype;null==a[s]&&i.f(a,s,{configurable:!0,value:o(null)}),e.exports=function(e){a[s][e]=!0}},2569:function(e,t,r){var n=r(794);e.exports=function(e){if(n(e))return e;throw TypeError(String(e)+" is not an object")}},5766:function(e,t,r){var n=r(2977),o=r(97),i=r(6782),s=function(e){return function(t,r,s){var a,c=n(t),u=o(c.length),l=i(s,u);if(e&&r!=r){for(;u>l;)if((a=c[l++])!=a)return!0}else for(;u>l;l++)if((e||l in c)&&c[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},4805:function(e,t,r){var n=r(2938),o=r(5044),i=r(1324),s=r(97),a=r(4822),c=[].push,u=function(e){var t=1==e,r=2==e,u=3==e,l=4==e,A=6==e,d=7==e,p=5==e||A;return function(h,f,m,y){for(var b,g,v=i(h),O=o(v),E=n(f,m,3),S=s(O.length),R=0,L=y||a,T=t?L(h,S):r||d?L(h,0):void 0;S>R;R++)if((p||R in O)&&(g=E(b=O[R],R,v),e))if(t)T[R]=g;else if(g)switch(e){case 3:return!0;case 5:return b;case 6:return R;case 2:c.call(T,b)}else switch(e){case 4:return!1;case 7:c.call(T,b)}return A?-1:u||l?l:T}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},9269:function(e,t,r){var n=r(6544),o=r(3649),i=r(4061),s=o("species");e.exports=function(e){return i>=51||!n((function(){var t=[];return(t.constructor={})[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},5289:function(e,t,r){var n=r(4521),o=r(2097),i=r(794),s=r(3649)("species");e.exports=function(e){var t;return n(e)&&(t=e.constructor,(o(t)&&(t===Array||n(t.prototype))||i(t)&&null===(t=t[s]))&&(t=void 0)),void 0===t?Array:t}},4822:function(e,t,r){var n=r(5289);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},9624:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},3058:function(e,t,r){var n=r(8191),o=r(9212),i=r(9624),s=r(3649)("toStringTag"),a="Arguments"==i(function(){return arguments}());e.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),s))?r:a?i(t):"Object"==(n=i(t))&&o(t.callee)?"Arguments":n}},3478:function(e,t,r){var n=r(4402),o=r(929),i=r(6683),s=r(4615);e.exports=function(e,t){for(var r=o(t),a=s.f,c=i.f,u=0;u<r.length;u++){var l=r[u];n(e,l)||a(e,l,c(t,l))}}},926:function(e,t,r){var n=r(6544);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4683:function(e,t,r){"use strict";var n=r(2365).IteratorPrototype,o=r(3590),i=r(4677),s=r(8821),a=r(339),c=function(){return this};e.exports=function(e,t,r){var u=t+" Iterator";return e.prototype=o(n,{next:i(1,r)}),s(e,u,!1,!0),a[u]=c,e}},57:function(e,t,r){var n=r(8494),o=r(4615),i=r(4677);e.exports=n?function(e,t,r){return o.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},4677:function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},5999:function(e,t,r){"use strict";var n=r(8734),o=r(4615),i=r(4677);e.exports=function(e,t,r){var s=n(t);s in e?o.f(e,s,i(0,r)):e[s]=r}},9012:function(e,t,r){"use strict";var n=r(7263),o=r(6268),i=r(4340),s=r(9212),a=r(4683),c=r(729),u=r(7496),l=r(8821),A=r(57),d=r(1270),p=r(3649),h=r(339),f=r(2365),m=i.PROPER,y=i.CONFIGURABLE,b=f.IteratorPrototype,g=f.BUGGY_SAFARI_ITERATORS,v=p("iterator"),O="keys",E="values",S="entries",R=function(){return this};e.exports=function(e,t,r,i,p,f,L){a(r,t,i);var T,k,C,w=function(e){if(e===p&&W)return W;if(!g&&e in N)return N[e];switch(e){case O:case E:case S:return function(){return new r(this,e)}}return function(){return new r(this)}},M=t+" Iterator",I=!1,N=e.prototype,P=N[v]||N["@@iterator"]||p&&N[p],W=!g&&P||w(p),x="Array"==t&&N.entries||P;if(x&&(T=c(x.call(new e)))!==Object.prototype&&T.next&&(o||c(T)===b||(u?u(T,b):s(T[v])||d(T,v,R)),l(T,M,!0,!0),o&&(h[M]=R)),m&&p==E&&P&&P.name!==E&&(!o&&y?A(N,"name",E):(I=!0,W=function(){return P.call(this)})),p)if(k={values:w(E),keys:f?W:w(O),entries:w(S)},L)for(C in k)(g||I||!(C in N))&&d(N,C,k[C]);else n({target:t,proto:!0,forced:g||I},k);return o&&!L||N[v]===W||d(N,v,W,{name:p}),h[t]=W,k}},2219:function(e,t,r){var n=r(1287),o=r(4402),i=r(491),s=r(4615).f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});o(t,e)||s(t,e,{value:i.f(e)})}},8494:function(e,t,r){var n=r(6544);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},6668:function(e,t,r){var n=r(7583),o=r(794),i=n.document,s=o(i)&&o(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},6778:function(e){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9307:function(e,t,r){var n=r(6668)("span").classList,o=n&&n.constructor&&n.constructor.prototype;e.exports=o===Object.prototype?void 0:o},6918:function(e,t,r){var n=r(5897);e.exports=n("navigator","userAgent")||""},4061:function(e,t,r){var n,o,i=r(7583),s=r(6918),a=i.process,c=i.Deno,u=a&&a.versions||c&&c.version,l=u&&u.v8;l?o=(n=l.split("."))[0]<4?1:n[0]+n[1]:s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(o=n[1]),e.exports=o&&+o},5690:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},7263:function(e,t,r){var n=r(7583),o=r(6683).f,i=r(57),s=r(1270),a=r(460),c=r(3478),u=r(4451);e.exports=function(e,t){var r,l,A,d,p,h=e.target,f=e.global,m=e.stat;if(r=f?n:m?n[h]||a(h,{}):(n[h]||{}).prototype)for(l in t){if(d=t[l],A=e.noTargetGet?(p=o(r,l))&&p.value:r[l],!u(f?l:h+(m?".":"#")+l,e.forced)&&void 0!==A){if(typeof d==typeof A)continue;c(d,A)}(e.sham||A&&A.sham)&&i(d,"sham",!0),s(r,l,d,e)}}},6544:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},2938:function(e,t,r){var n=r(8257);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},4340:function(e,t,r){var n=r(8494),o=r(4402),i=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,a=o(i,"name"),c=a&&"something"===function(){}.name,u=a&&(!n||n&&s(i,"name").configurable);e.exports={EXISTS:a,PROPER:c,CONFIGURABLE:u}},5897:function(e,t,r){var n=r(7583),o=r(9212),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(n[e]):n[e]&&n[e][t]}},911:function(e,t,r){var n=r(8257);e.exports=function(e,t){var r=e[t];return null==r?void 0:n(r)}},7583:function(e,t,r){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||function(){return this}()||Function("return this")()},4402:function(e,t,r){var n=r(1324),o={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return o.call(n(e),t)}},4639:function(e){e.exports={}},482:function(e,t,r){var n=r(5897);e.exports=n("document","documentElement")},275:function(e,t,r){var n=r(8494),o=r(6544),i=r(6668);e.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},5044:function(e,t,r){var n=r(6544),o=r(9624),i="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},9734:function(e,t,r){var n=r(9212),o=r(1314),i=Function.toString;n(o.inspectSource)||(o.inspectSource=function(e){return i.call(e)}),e.exports=o.inspectSource},2743:function(e,t,r){var n,o,i,s=r(9491),a=r(7583),c=r(794),u=r(57),l=r(4402),A=r(1314),d=r(9137),p=r(4639),h="Object already initialized",f=a.WeakMap;if(s||A.state){var m=A.state||(A.state=new f),y=m.get,b=m.has,g=m.set;n=function(e,t){if(b.call(m,e))throw new TypeError(h);return t.facade=e,g.call(m,e,t),t},o=function(e){return y.call(m,e)||{}},i=function(e){return b.call(m,e)}}else{var v=d("state");p[v]=!0,n=function(e,t){if(l(e,v))throw new TypeError(h);return t.facade=e,u(e,v,t),t},o=function(e){return l(e,v)?e[v]:{}},i=function(e){return l(e,v)}}e.exports={set:n,get:o,has:i,enforce:function(e){return i(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},4521:function(e,t,r){var n=r(9624);e.exports=Array.isArray||function(e){return"Array"==n(e)}},9212:function(e){e.exports=function(e){return"function"==typeof e}},2097:function(e,t,r){var n=r(6544),o=r(9212),i=r(3058),s=r(5897),a=r(9734),c=[],u=s("Reflect","construct"),l=/^\s*(?:class|function)\b/,A=l.exec,d=!l.exec((function(){})),p=function(e){if(!o(e))return!1;try{return u(Object,c,e),!0}catch(e){return!1}};e.exports=!u||n((function(){var e;return p(p.call)||!p(Object)||!p((function(){e=!0}))||e}))?function(e){if(!o(e))return!1;switch(i(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return d||!!A.call(l,a(e))}:p},4451:function(e,t,r){var n=r(6544),o=r(9212),i=/#|\.prototype\./,s=function(e,t){var r=c[a(e)];return r==l||r!=u&&(o(t)?n(t):!!t)},a=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=s.data={},u=s.NATIVE="N",l=s.POLYFILL="P";e.exports=s},794:function(e,t,r){var n=r(9212);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},6268:function(e){e.exports=!1},5871:function(e,t,r){var n=r(9212),o=r(5897),i=r(7786);e.exports=i?function(e){return"symbol"==typeof e}:function(e){var t=o("Symbol");return n(t)&&Object(e)instanceof t}},2365:function(e,t,r){"use strict";var n,o,i,s=r(6544),a=r(9212),c=r(3590),u=r(729),l=r(1270),A=r(3649),d=r(6268),p=A("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(n=o):h=!0),null==n||s((function(){var e={};return n[p].call(e)!==e}))?n={}:d&&(n=c(n)),a(n[p])||l(n,p,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:h}},339:function(e){e.exports={}},8640:function(e,t,r){var n=r(4061),o=r(6544);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},9491:function(e,t,r){var n=r(7583),o=r(9212),i=r(9734),s=n.WeakMap;e.exports=o(s)&&/native code/.test(i(s))},3590:function(e,t,r){var n,o=r(2569),i=r(8728),s=r(5690),a=r(4639),c=r(482),u=r(6668),l=r(9137),A=l("IE_PROTO"),d=function(){},p=function(e){return"<script>"+e+"</"+"script>"},h=function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t},f=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t;f="undefined"!=typeof document?document.domain&&n?h(n):((t=u("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F):h(n);for(var r=s.length;r--;)delete f.prototype[s[r]];return f()};a[A]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(d.prototype=o(e),r=new d,d.prototype=null,r[A]=e):r=f(),void 0===t?r:i(r,t)}},8728:function(e,t,r){var n=r(8494),o=r(4615),i=r(2569),s=r(5432);e.exports=n?Object.defineProperties:function(e,t){i(e);for(var r,n=s(t),a=n.length,c=0;a>c;)o.f(e,r=n[c++],t[r]);return e}},4615:function(e,t,r){var n=r(8494),o=r(275),i=r(2569),s=r(8734),a=Object.defineProperty;t.f=n?a:function(e,t,r){if(i(e),t=s(t),i(r),o)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},6683:function(e,t,r){var n=r(8494),o=r(112),i=r(4677),s=r(2977),a=r(8734),c=r(4402),u=r(275),l=Object.getOwnPropertyDescriptor;t.f=n?l:function(e,t){if(e=s(e),t=a(t),u)try{return l(e,t)}catch(e){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},3130:function(e,t,r){var n=r(2977),o=r(9275).f,i={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(e){return s.slice()}}(e):o(n(e))}},9275:function(e,t,r){var n=r(8356),o=r(5690).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},4012:function(e,t){t.f=Object.getOwnPropertySymbols},729:function(e,t,r){var n=r(4402),o=r(9212),i=r(1324),s=r(9137),a=r(926),c=s("IE_PROTO"),u=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){var t=i(e);if(n(t,c))return t[c];var r=t.constructor;return o(r)&&t instanceof r?r.prototype:t instanceof Object?u:null}},8356:function(e,t,r){var n=r(4402),o=r(2977),i=r(5766).indexOf,s=r(4639);e.exports=function(e,t){var r,a=o(e),c=0,u=[];for(r in a)!n(s,r)&&n(a,r)&&u.push(r);for(;t.length>c;)n(a,r=t[c++])&&(~i(u,r)||u.push(r));return u}},5432:function(e,t,r){var n=r(8356),o=r(5690);e.exports=Object.keys||function(e){return n(e,o)}},112:function(e,t){"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);t.f=o?function(e){var t=n(this,e);return!!t&&t.enumerable}:r},7496:function(e,t,r){var n=r(2569),o=r(9882);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),t=r instanceof Array}catch(e){}return function(r,i){return n(r),o(i),t?e.call(r,i):r.__proto__=i,r}}():void 0)},3060:function(e,t,r){"use strict";var n=r(8191),o=r(3058);e.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},6252:function(e,t,r){var n=r(9212),o=r(794);e.exports=function(e,t){var r,i;if("string"===t&&n(r=e.toString)&&!o(i=r.call(e)))return i;if(n(r=e.valueOf)&&!o(i=r.call(e)))return i;if("string"!==t&&n(r=e.toString)&&!o(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},929:function(e,t,r){var n=r(5897),o=r(9275),i=r(4012),s=r(2569);e.exports=n("Reflect","ownKeys")||function(e){var t=o.f(s(e)),r=i.f;return r?t.concat(r(e)):t}},1287:function(e,t,r){var n=r(7583);e.exports=n},1270:function(e,t,r){var n=r(7583),o=r(9212),i=r(4402),s=r(57),a=r(460),c=r(9734),u=r(2743),l=r(4340).CONFIGURABLE,A=u.get,d=u.enforce,p=String(String).split("String");(e.exports=function(e,t,r,c){var u,A=!!c&&!!c.unsafe,h=!!c&&!!c.enumerable,f=!!c&&!!c.noTargetGet,m=c&&void 0!==c.name?c.name:t;o(r)&&("Symbol("===String(m).slice(0,7)&&(m="["+String(m).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!i(r,"name")||l&&r.name!==m)&&s(r,"name",m),(u=d(r)).source||(u.source=p.join("string"==typeof m?m:""))),e!==n?(A?!f&&e[t]&&(h=!0):delete e[t],h?e[t]=r:s(e,t,r)):h?e[t]=r:a(t,r)})(Function.prototype,"toString",(function(){return o(this)&&A(this).source||c(this)}))},3955:function(e){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},460:function(e,t,r){var n=r(7583);e.exports=function(e,t){try{Object.defineProperty(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},8821:function(e,t,r){var n=r(4615).f,o=r(4402),i=r(3649)("toStringTag");e.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},9137:function(e,t,r){var n=r(7836),o=r(8284),i=n("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},1314:function(e,t,r){var n=r(7583),o=r(460),i="__core-js_shared__",s=n[i]||o(i,{});e.exports=s},7836:function(e,t,r){var n=r(6268),o=r(1314);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.18.1",mode:n?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},6782:function(e,t,r){var n=r(5089),o=Math.max,i=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):i(r,t)}},2977:function(e,t,r){var n=r(5044),o=r(3955);e.exports=function(e){return n(o(e))}},5089:function(e){var t=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:t)(e)}},97:function(e,t,r){var n=r(5089),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},1324:function(e,t,r){var n=r(3955);e.exports=function(e){return Object(n(e))}},2670:function(e,t,r){var n=r(794),o=r(5871),i=r(911),s=r(6252),a=r(3649)("toPrimitive");e.exports=function(e,t){if(!n(e)||o(e))return e;var r,c=i(e,a);if(c){if(void 0===t&&(t="default"),r=c.call(e,t),!n(r)||o(r))return r;throw TypeError("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},8734:function(e,t,r){var n=r(2670),o=r(5871);e.exports=function(e){var t=n(e,"string");return o(t)?t:String(t)}},8191:function(e,t,r){var n={};n[r(3649)("toStringTag")]="z",e.exports="[object z]"===String(n)},8320:function(e,t,r){var n=r(3058);e.exports=function(e){if("Symbol"===n(e))throw TypeError("Cannot convert a Symbol value to a string");return String(e)}},5637:function(e){e.exports=function(e){try{return String(e)}catch(e){return"Object"}}},8284:function(e){var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+r).toString(36)}},7786:function(e,t,r){var n=r(8640);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},491:function(e,t,r){var n=r(3649);t.f=n},3649:function(e,t,r){var n=r(7583),o=r(7836),i=r(4402),s=r(8284),a=r(8640),c=r(7786),u=o("wks"),l=n.Symbol,A=c?l:l&&l.withoutSetter||s;e.exports=function(e){return i(u,e)&&(a||"string"==typeof u[e])||(a&&i(l,e)?u[e]=l[e]:u[e]=A("Symbol."+e)),u[e]}},1646:function(e,t,r){"use strict";var n=r(7263),o=r(6544),i=r(4521),s=r(794),a=r(1324),c=r(97),u=r(5999),l=r(4822),A=r(9269),d=r(3649),p=r(4061),h=d("isConcatSpreadable"),f=9007199254740991,m="Maximum allowed index exceeded",y=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),b=A("concat"),g=function(e){if(!s(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)};n({target:"Array",proto:!0,forced:!y||!b},{concat:function(e){var t,r,n,o,i,s=a(this),A=l(s,0),d=0;for(t=-1,n=arguments.length;t<n;t++)if(g(i=-1===t?s:arguments[t])){if(d+(o=c(i.length))>f)throw TypeError(m);for(r=0;r<o;r++,d++)r in i&&u(A,d,i[r])}else{if(d>=f)throw TypeError(m);u(A,d++,i)}return A.length=d,A}})},5677:function(e,t,r){"use strict";var n=r(2977),o=r(6288),i=r(339),s=r(2743),a=r(9012),c="Array Iterator",u=s.set,l=s.getterFor(c);e.exports=a(Array,"Array",(function(e,t){u(this,{type:c,target:n(e),index:0,kind:t})}),(function(){var e=l(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},6956:function(e,t,r){var n=r(7583);r(8821)(n.JSON,"JSON",!0)},5222:function(e,t,r){r(8821)(Math,"Math",!0)},6394:function(e,t,r){var n=r(8191),o=r(1270),i=r(3060);n||o(Object.prototype,"toString",i,{unsafe:!0})},2257:function(e,t,r){var n=r(7263),o=r(7583),i=r(8821);n({global:!0},{Reflect:{}}),i(o.Reflect,"Reflect",!0)},462:function(e,t,r){r(2219)("asyncIterator")},8407:function(e,t,r){"use strict";var n=r(7263),o=r(8494),i=r(7583),s=r(4402),a=r(9212),c=r(794),u=r(4615).f,l=r(3478),A=i.Symbol;if(o&&a(A)&&(!("description"in A.prototype)||void 0!==A().description)){var d={},p=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof p?new A(e):void 0===e?A():A(e);return""===e&&(d[t]=!0),t};l(p,A);var h=p.prototype=A.prototype;h.constructor=p;var f=h.toString,m="Symbol(test)"==String(A("test")),y=/^Symbol\((.*)\)[^)]+$/;u(h,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(s(d,e))return"";var r=m?t.slice(7,-1):t.replace(y,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:p})}},2429:function(e,t,r){r(2219)("hasInstance")},1172:function(e,t,r){r(2219)("isConcatSpreadable")},8288:function(e,t,r){r(2219)("iterator")},2004:function(e,t,r){"use strict";var n=r(7263),o=r(7583),i=r(5897),s=r(6268),a=r(8494),c=r(8640),u=r(6544),l=r(4402),A=r(4521),d=r(9212),p=r(794),h=r(5871),f=r(2569),m=r(1324),y=r(2977),b=r(8734),g=r(8320),v=r(4677),O=r(3590),E=r(5432),S=r(9275),R=r(3130),L=r(4012),T=r(6683),k=r(4615),C=r(112),w=r(1270),M=r(7836),I=r(9137),N=r(4639),P=r(8284),W=r(3649),x=r(491),V=r(2219),D=r(8821),j=r(2743),Z=r(4805).forEach,X=I("hidden"),z="Symbol",q=W("toPrimitive"),U=j.set,_=j.getterFor(z),F=Object.prototype,G=o.Symbol,B=i("JSON","stringify"),K=T.f,J=k.f,Y=R.f,Q=C.f,H=M("symbols"),$=M("op-symbols"),ee=M("string-to-symbol-registry"),te=M("symbol-to-string-registry"),re=M("wks"),ne=o.QObject,oe=!ne||!ne.prototype||!ne.prototype.findChild,ie=a&&u((function(){return 7!=O(J({},"a",{get:function(){return J(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=K(F,t);n&&delete F[t],J(e,t,r),n&&e!==F&&J(F,t,n)}:J,se=function(e,t){var r=H[e]=O(G.prototype);return U(r,{type:z,tag:e,description:t}),a||(r.description=t),r},ae=function(e,t,r){e===F&&ae($,t,r),f(e);var n=b(t);return f(r),l(H,n)?(r.enumerable?(l(e,X)&&e[X][n]&&(e[X][n]=!1),r=O(r,{enumerable:v(0,!1)})):(l(e,X)||J(e,X,v(1,{})),e[X][n]=!0),ie(e,n,r)):J(e,n,r)},ce=function(e,t){f(e);var r=y(t),n=E(r).concat(de(r));return Z(n,(function(t){a&&!ue.call(r,t)||ae(e,t,r[t])})),e},ue=function(e){var t=b(e),r=Q.call(this,t);return!(this===F&&l(H,t)&&!l($,t))&&(!(r||!l(this,t)||!l(H,t)||l(this,X)&&this[X][t])||r)},le=function(e,t){var r=y(e),n=b(t);if(r!==F||!l(H,n)||l($,n)){var o=K(r,n);return!o||!l(H,n)||l(r,X)&&r[X][n]||(o.enumerable=!0),o}},Ae=function(e){var t=Y(y(e)),r=[];return Z(t,(function(e){l(H,e)||l(N,e)||r.push(e)})),r},de=function(e){var t=e===F,r=Y(t?$:y(e)),n=[];return Z(r,(function(e){!l(H,e)||t&&!l(F,e)||n.push(H[e])})),n};(c||(G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?g(arguments[0]):void 0,t=P(e),r=function(e){this===F&&r.call($,e),l(this,X)&&l(this[X],t)&&(this[X][t]=!1),ie(this,t,v(1,e))};return a&&oe&&ie(F,t,{configurable:!0,set:r}),se(t,e)},w(G.prototype,"toString",(function(){return _(this).tag})),w(G,"withoutSetter",(function(e){return se(P(e),e)})),C.f=ue,k.f=ae,T.f=le,S.f=R.f=Ae,L.f=de,x.f=function(e){return se(W(e),e)},a&&(J(G.prototype,"description",{configurable:!0,get:function(){return _(this).description}}),s||w(F,"propertyIsEnumerable",ue,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:G}),Z(E(re),(function(e){V(e)})),n({target:z,stat:!0,forced:!c},{for:function(e){var t=g(e);if(l(ee,t))return ee[t];var r=G(t);return ee[t]=r,te[r]=t,r},keyFor:function(e){if(!h(e))throw TypeError(e+" is not a symbol");if(l(te,e))return te[e]},useSetter:function(){oe=!0},useSimple:function(){oe=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!a},{create:function(e,t){return void 0===t?O(e):ce(O(e),t)},defineProperty:ae,defineProperties:ce,getOwnPropertyDescriptor:le}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:Ae,getOwnPropertySymbols:de}),n({target:"Object",stat:!0,forced:u((function(){L.f(1)}))},{getOwnPropertySymbols:function(e){return L.f(m(e))}}),B)&&n({target:"JSON",stat:!0,forced:!c||u((function(){var e=G();return"[null]"!=B([e])||"{}"!=B({a:e})||"{}"!=B(Object(e))}))},{stringify:function(e,t,r){for(var n,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=t,(p(t)||void 0!==e)&&!h(e))return A(t)||(t=function(e,t){if(d(n)&&(t=n.call(this,e,t)),!h(t))return t}),o[1]=t,B.apply(null,o)}});if(!G.prototype[q]){var pe=G.prototype.valueOf;w(G.prototype,q,(function(){return pe.apply(this,arguments)}))}D(G,z),N[X]=!0},8201:function(e,t,r){r(2219)("matchAll")},1274:function(e,t,r){r(2219)("match")},6626:function(e,t,r){r(2219)("replace")},3211:function(e,t,r){r(2219)("search")},9952:function(e,t,r){r(2219)("species")},15:function(e,t,r){r(2219)("split")},9831:function(e,t,r){r(2219)("toPrimitive")},7521:function(e,t,r){r(2219)("toStringTag")},2972:function(e,t,r){r(2219)("unscopables")},4655:function(e,t,r){var n=r(7583),o=r(6778),i=r(9307),s=r(5677),a=r(57),c=r(3649),u=c("iterator"),l=c("toStringTag"),A=s.values,d=function(e,t){if(e){if(e[u]!==A)try{a(e,u,A)}catch(t){e[u]=A}if(e[l]||a(e,l,t),o[t])for(var r in s)if(e[r]!==s[r])try{a(e,r,s[r])}catch(t){e[r]=s[r]}}};for(var p in o)d(n[p]&&n[p].prototype,p);d(i,"DOMTokenList")},5441:function(e,t,r){var n=r(2582);r(4655),e.exports=n},1919:function(e){e.exports=function(){function e(t,r,n){function o(s,a){if(!r[s]){if(!t[s]){if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[s]={exports:{}};t[s][0].call(u.exports,(function(e){return o(t[s][1][e]||e)}),u,u.exports,e,t,r,n)}return r[s].exports}for(var i=void 0,s=0;s<n.length;s++)o(n[s]);return o}return e}()({1:[function(e,t,r){"use strict";t.exports=function(){if("undefined"==typeof window||"undefined"==typeof navigator)return function(){return 0};if(!navigator.userAgent.match(/iphone|ipod|ipad/i))return function(){return window.innerHeight};var e,t=Math.abs(window.orientation),r={w:0,h:0};return(e=document.createElement("div")).style.position="fixed",e.style.height="100vh",e.style.width=0,e.style.top=0,document.documentElement.appendChild(e),r.w=90===t?e.offsetHeight:window.innerWidth,r.h=90===t?window.innerWidth:e.offsetHeight,document.documentElement.removeChild(e),e=null,function(){return 90!==Math.abs(window.orientation)?r.h:r.w}}()},{}]},{},[1])(1)},3570:function(e,t,r){"use strict";e.exports=r(3040)},3040:function(e,t,r){"use strict";var n=t;function o(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=r(1227),n.BufferWriter=r(5894),n.Reader=r(5747),n.BufferReader=r(3241),n.util=r(1731),n.rpc=r(320),n.roots=r(3492),n.configure=o,o()},5747:function(e,t,r){"use strict";e.exports=c;var n,o=r(1731),i=o.LongBits,s=o.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var u,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},A=function(){return o.Buffer?function(e){return(c.create=function(e){return o.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function d(){var e=new i(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function p(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function h(){if(this.pos+8>this.len)throw a(this,8);return new i(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.create=A(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){n=e,c.create=A(),n._configure();var t=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return d.call(this)[t](!1)},uint64:function(){return d.call(this)[t](!0)},sint64:function(){return d.call(this).zzDecode()[t](!1)},fixed64:function(){return h.call(this)[t](!0)},sfixed64:function(){return h.call(this)[t](!1)}})}},3241:function(e,t,r){"use strict";e.exports=i;var n=r(5747);(i.prototype=Object.create(n.prototype)).constructor=i;var o=r(1731);function i(e){n.call(this,e)}i._configure=function(){o.Buffer&&(i.prototype._slice=o.Buffer.prototype.slice)},i.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},i._configure()},3492:function(e){"use strict";e.exports={}},320:function(e,t,r){"use strict";t.Service=r(4006)},4006:function(e,t,r){"use strict";e.exports=o;var n=r(1731);function o(e,t,r){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(o.prototype=Object.create(n.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function e(t,r,o,i,s){if(!i)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,r,o,i);if(a.rpcImpl)try{return a.rpcImpl(t,r[a.requestDelimited?"encodeDelimited":"encode"](i).finish(),(function(e,r){if(e)return a.emit("error",e,t),s(e);if(null!==r){if(!(r instanceof o))try{r=o[a.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",r,t),s(null,r)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){s(e)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},o.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},5002:function(e,t,r){"use strict";e.exports=o;var n=r(1731);function o(e,t){this.lo=e>>>0,this.hi=t>>>0}var i=o.zero=new o(0,0);i.toNumber=function(){return 0},i.zzEncode=i.zzDecode=function(){return this},i.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(e){if(0===e)return i;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new o(r,n)},o.from=function(e){if("number"==typeof e)return o.fromNumber(e);if(n.isString(e)){if(!n.Long)return o.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new o(e.low>>>0,e.high>>>0):i},o.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;o.fromHash=function(e){return e===s?i:new o((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},o.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},o.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},1731:function(e,t,r){"use strict";var n=t;function o(e,t,r){for(var n=Object.keys(t),o=0;o<n.length;++o)void 0!==e[n[o]]&&r||(e[n[o]]=t[n[o]]);return e}function i(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&o(this,r)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}n.asPromise=r(9719),n.base64=r(9209),n.EventEmitter=r(2939),n.float=r(8102),n.inquire=r(5879),n.utf8=r(810),n.pool=r(9281),n.LongBits=r(5002),n.isNode=Boolean(void 0!==r.g&&r.g&&r.g.process&&r.g.process.versions&&r.g.process.versions.node),n.global=n.isNode&&r.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"==typeof e||e instanceof String},n.isObject=function(e){return e&&"object"==typeof e},n.isset=n.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!=typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=o,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=i,n.ProtocolError=i("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},1227:function(e,t,r){"use strict";e.exports=A;var n,o=r(1731),i=o.LongBits,s=o.base64,a=o.utf8;function c(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function u(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function A(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var d=function(){return o.Buffer?function(){return(A.create=function(){return new n})()}:function(){return new A}};function p(e,t,r){t[r]=255&e}function h(e,t){this.len=e,this.next=void 0,this.val=t}function f(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function m(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}A.create=d(),A.alloc=function(e){return new o.Array(e)},o.Array!==Array&&(A.alloc=o.pool(A.alloc,o.Array.prototype.subarray)),A.prototype._push=function(e,t,r){return this.tail=this.tail.next=new c(e,t,r),this.len+=t,this},h.prototype=Object.create(c.prototype),h.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},A.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new h((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},A.prototype.int32=function(e){return e<0?this._push(f,10,i.fromNumber(e)):this.uint32(e)},A.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},A.prototype.uint64=function(e){var t=i.from(e);return this._push(f,t.length(),t)},A.prototype.int64=A.prototype.uint64,A.prototype.sint64=function(e){var t=i.from(e).zzEncode();return this._push(f,t.length(),t)},A.prototype.bool=function(e){return this._push(p,1,e?1:0)},A.prototype.fixed32=function(e){return this._push(m,4,e>>>0)},A.prototype.sfixed32=A.prototype.fixed32,A.prototype.fixed64=function(e){var t=i.from(e);return this._push(m,4,t.lo)._push(m,4,t.hi)},A.prototype.sfixed64=A.prototype.fixed64,A.prototype.float=function(e){return this._push(o.float.writeFloatLE,4,e)},A.prototype.double=function(e){return this._push(o.float.writeDoubleLE,8,e)};var y=o.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};A.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(o.isString(e)){var r=A.alloc(t=s.length(e));s.decode(e,r,0),e=r}return this.uint32(t)._push(y,t,e)},A.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},A.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new c(u,0,0),this.len=0,this},A.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},A.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},A.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},A._configure=function(e){n=e,A.create=d(),n._configure()}},5894:function(e,t,r){"use strict";e.exports=i;var n=r(1227);(i.prototype=Object.create(n.prototype)).constructor=i;var o=r(1731);function i(){n.call(this)}function s(e,t,r){e.length<40?o.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}i._configure=function(){i.alloc=o._Buffer_allocUnsafe,i.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},i.prototype.bytes=function(e){o.isString(e)&&(e=o._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(i.writeBytesBuffer,t,e),this},i.prototype.string=function(e){var t=o.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},i._configure()},9169:function(e){"use strict";const t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((e=>e.trim()))},t.splitSections=function(e){return e.split("\nm=").map(((e,t)=>(t>0?"m="+e:e).trim()+"\r\n"))},t.getDescription=function(e){const r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){const r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter((e=>0===e.indexOf(r)))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const r={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e<t.length;e+=2)switch(t[e]){case"raddr":r.relatedAddress=t[e+1];break;case"rport":r.relatedPort=parseInt(t[e+1],10);break;case"tcptype":r.tcpType=t[e+1];break;case"ufrag":r.ufrag=t[e+1],r.usernameFragment=t[e+1];break;default:void 0===r[t[e]]&&(r[t[e]]=t[e+1])}return r},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const r=e.component;"rtp"===r?t.push(1):"rtcp"===r?t.push(2):t.push(r),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const n=e.type;return t.push("typ"),t.push(n),"host"!==n&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){let t=e.substr(9).split(" ");const r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){const t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},t.parseFmtp=function(e){const t={};let r;const n=e.substr(e.indexOf(" ")+1).split(";");for(let e=0;e<n.length;e++)r=n[e].trim().split("="),t[r[0].trim()]=r[1];return t},t.writeFmtp=function(e){let t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const n=[];Object.keys(e.parameters).forEach((t=>{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},t.parseSsrcGroup=function(e){const t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substr(6)},t.parseFingerprint=function(e){const t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((e=>{r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},t.parseCryptoLine=function(e){const t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){const n=t.matchPrefix(e+r,"a=ice-ufrag:")[0],o=t.matchPrefix(e+r,"a=ice-pwd:")[0];return n&&o?{usernameFragment:n.substr(12),password:o.substr(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");for(let o=3;o<n.length;o++){const i=n[o],s=t.matchPrefix(e,"a=rtpmap:"+i+" ")[0];if(s){const n=t.parseRtpMap(s),o=t.matchPrefix(e,"a=fmtp:"+i+" ");switch(n.parameters=o.length?t.parseFmtp(o[0]):{},n.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+i+" ").map(t.parseRtcpFb),r.codecs.push(n),n.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(n.name.toUpperCase())}}}return t.matchPrefix(e,"a=extmap:").forEach((e=>{r.headerExtensions.push(t.parseExtmap(e))})),r},t.writeRtpDescription=function(e,r){let n="";n+="m="+e+" ",n+=r.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=r.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let o=0;return r.codecs.forEach((e=>{e.maxptime>o&&(o=e.maxptime)})),o>0&&(n+="a=maxptime:"+o+"\r\n"),r.headerExtensions&&r.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const r=[],n=t.parseRtpParameters(e),o=-1!==n.fecMechanisms.indexOf("RED"),i=-1!==n.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const u=t.matchPrefix(e,"a=ssrc-group:FID").map((e=>e.substr(17).split(" ").map((e=>parseInt(e,10)))));u.length>0&&u[0].length>1&&u[0][0]===a&&(c=u[0][1]),n.codecs.forEach((e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),r.push(t),o&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:i?"red+ulpfec":"red"},r.push(t))}})),0===r.length&&a&&r.push({ssrc:a});let l=t.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,r.forEach((e=>{e.maxBitrate=l}))),r},t.parseRtcpParameters=function(e){const r={},n=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute))[0];n&&(r.cname=n.value,r.ssrc=n.ssrc);const o=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=o.length>0,r.compound=0===o.length;const i=t.matchPrefix(e,"a=rtcp-mux");return r.mux=i.length>0,r},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let r;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return r=n[0].substr(7).split(" "),{stream:r[0],track:r[1]};const o=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"msid"===e.attribute));return o.length>0?(r=o[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(e){const r=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let o;n.length>0&&(o=parseInt(n[0].substr(19),10)),isNaN(o)&&(o=65536);const i=t.matchPrefix(e,"a=sctp-port:");if(i.length>0)return{port:parseInt(i[0].substr(12),10),protocol:r.fmt,maxMessageSize:o};const s=t.matchPrefix(e,"a=sctpmap:");if(s.length>0){const e=s[0].substr(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:o}}},t.writeSctpDescription=function(e,t){let r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,21)},t.writeSessionBoilerplate=function(e,r,n){let o;const i=void 0!==r?r:2;o=e||t.generateSessionId();return"v=0\r\no="+(n||"thisisadapterortc")+" "+o+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,r){const n=t.splitLines(e);for(let e=0;e<n.length;e++)switch(n[e]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[e].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substr(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){const r=t.splitLines(e)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){const r=t.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const r=t.splitLines(e);for(let e=0;e<r.length;e++)if(r[e].length<2||"="!==r[e].charAt(1))return!1;return!0},e.exports=t},1458:function(e){var t;t=window,e.exports=function(e,t){if(!e.jWeixin){var r,n={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},o=function(){var e={};for(var t in n)e[n[t]]=t;return e}(),i=e.document,s=i.title,a=navigator.userAgent.toLowerCase(),c=navigator.platform.toLowerCase(),u=!(!c.match("mac")&&!c.match("win")),l=-1!=a.indexOf("wxdebugger"),A=-1!=a.indexOf("micromessenger"),d=-1!=a.indexOf("android"),p=-1!=a.indexOf("iphone")||-1!=a.indexOf("ipad"),h=(r=a.match(/micromessenger\/(\d+\.\d+\.\d+)/)||a.match(/micromessenger\/(\d+\.\d+)/))?r[1]:"",f={initStartTime:N(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},m={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:p?1:d?2:-1,clientVersion:h,url:encodeURIComponent(location.href)},y={},b={_completes:[]},g={state:0,data:{}};P((function(){f.initEndTime=N()}));var v=!1,O=[],E={config:function(t){I("config",y=t);var r=!1!==y.check;P((function(){if(r)L(n.config,{verifyJsApiList:M(y.jsApiList),verifyOpenTagList:M(y.openTagList)},function(){b._complete=function(e){f.preVerifyEndTime=N(),g.state=1,g.data=e},b.success=function(e){m.isPreVerifyOk=0},b.fail=function(e){b._fail?b._fail(e):g.state=-1};var e=b._completes;return e.push((function(){!function(){if(!(u||l||y.debug||h<"6.0.2"||m.systemType<0)){var e=new Image;m.appId=y.appId,m.initTime=f.initEndTime-f.initStartTime,m.preVerifyTime=f.preVerifyEndTime-f.preVerifyStartTime,E.getNetworkType({isInnerInvoke:!0,success:function(t){m.networkType=t.networkType;var r="https://open.weixin.qq.com/sdk/report?v="+m.version+"&o="+m.isPreVerifyOk+"&s="+m.systemType+"&c="+m.clientVersion+"&a="+m.appId+"&n="+m.networkType+"&i="+m.initTime+"&p="+m.preVerifyTime+"&u="+m.url;e.src=r}})}}()})),b.complete=function(t){for(var r=0,n=e.length;r<n;++r)e[r]();b._completes=[]},b}()),f.preVerifyStartTime=N();else{g.state=1;for(var e=b._completes,t=0,o=e.length;t<o;++t)e[t]();b._completes=[]}})),E.invoke||(E.invoke=function(t,r,n){e.WeixinJSBridge&&WeixinJSBridge.invoke(t,k(r),n)},E.on=function(t,r){e.WeixinJSBridge&&WeixinJSBridge.on(t,r)})},ready:function(e){0!=g.state?e():(b._completes.push(e),!A&&y.debug&&e())},error:function(e){h<"6.0.2"||(-1==g.state?e(g.data):b._fail=e)},checkJsApi:function(e){L("checkJsApi",{jsApiList:M(e.jsApiList)},(e._complete=function(e){if(d){var t=e.checkResult;t&&(e.checkResult=JSON.parse(t))}e=function(e){var t=e.checkResult;for(var r in t){var n=o[r];n&&(t[n]=t[r],delete t[r])}return e}(e)},e))},onMenuShareTimeline:function(e){T(n.onMenuShareTimeline,{complete:function(){L("shareTimeline",{title:e.title||s,desc:e.title||s,img_url:e.imgUrl||"",link:e.link||location.href,type:e.type||"link",data_url:e.dataUrl||""},e)}},e)},onMenuShareAppMessage:function(e){T(n.onMenuShareAppMessage,{complete:function(t){"favorite"===t.scene?L("sendAppMessage",{title:e.title||s,desc:e.desc||"",link:e.link||location.href,img_url:e.imgUrl||"",type:e.type||"link",data_url:e.dataUrl||""}):L("sendAppMessage",{title:e.title||s,desc:e.desc||"",link:e.link||location.href,img_url:e.imgUrl||"",type:e.type||"link",data_url:e.dataUrl||""},e)}},e)},onMenuShareQQ:function(e){T(n.onMenuShareQQ,{complete:function(){L("shareQQ",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},onMenuShareWeibo:function(e){T(n.onMenuShareWeibo,{complete:function(){L("shareWeiboApp",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},onMenuShareQZone:function(e){T(n.onMenuShareQZone,{complete:function(){L("shareQZone",{title:e.title||s,desc:e.desc||"",img_url:e.imgUrl||"",link:e.link||location.href},e)}},e)},updateTimelineShareData:function(e){L("updateTimelineShareData",{title:e.title,link:e.link,imgUrl:e.imgUrl},e)},updateAppMessageShareData:function(e){L("updateAppMessageShareData",{title:e.title,desc:e.desc,link:e.link,imgUrl:e.imgUrl},e)},startRecord:function(e){L("startRecord",{},e)},stopRecord:function(e){L("stopRecord",{},e)},onVoiceRecordEnd:function(e){T("onVoiceRecordEnd",e)},playVoice:function(e){L("playVoice",{localId:e.localId},e)},pauseVoice:function(e){L("pauseVoice",{localId:e.localId},e)},stopVoice:function(e){L("stopVoice",{localId:e.localId},e)},onVoicePlayEnd:function(e){T("onVoicePlayEnd",e)},uploadVoice:function(e){L("uploadVoice",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadVoice:function(e){L("downloadVoice",{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},translateVoice:function(e){L("translateVoice",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},chooseImage:function(e){L("chooseImage",{scene:"1|2",count:e.count||9,sizeType:e.sizeType||["original","compressed"],sourceType:e.sourceType||["album","camera"]},(e._complete=function(e){if(d){var t=e.localIds;try{t&&(e.localIds=JSON.parse(t))}catch(e){}}},e))},getLocation:function(e){},previewImage:function(e){L(n.previewImage,{current:e.current,urls:e.urls},e)},uploadImage:function(e){L("uploadImage",{localId:e.localId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},downloadImage:function(e){L("downloadImage",{serverId:e.serverId,isShowProgressTips:0==e.isShowProgressTips?0:1},e)},getLocalImgData:function(e){!1===v?(v=!0,L("getLocalImgData",{localId:e.localId},(e._complete=function(e){if(v=!1,0<O.length){var t=O.shift();wx.getLocalImgData(t)}},e))):O.push(e)},getNetworkType:function(e){L("getNetworkType",{},(e._complete=function(e){e=function(e){var t=e.errMsg;e.errMsg="getNetworkType:ok";var r=e.subtype;if(delete e.subtype,r)e.networkType=r;else{var n=t.indexOf(":"),o=t.substring(n+1);switch(o){case"wifi":case"edge":case"wwan":e.networkType=o;break;default:e.errMsg="getNetworkType:fail"}}return e}(e)},e))},openLocation:function(e){L("openLocation",{latitude:e.latitude,longitude:e.longitude,name:e.name||"",address:e.address||"",scale:e.scale||28,infoUrl:e.infoUrl||""},e)},getLocation:function(e){L(n.getLocation,{type:(e=e||{}).type||"wgs84"},(e._complete=function(e){delete e.type},e))},hideOptionMenu:function(e){L("hideOptionMenu",{},e)},showOptionMenu:function(e){L("showOptionMenu",{},e)},closeWindow:function(e){L("closeWindow",{},e=e||{})},hideMenuItems:function(e){L("hideMenuItems",{menuList:e.menuList},e)},showMenuItems:function(e){L("showMenuItems",{menuList:e.menuList},e)},hideAllNonBaseMenuItem:function(e){L("hideAllNonBaseMenuItem",{},e)},showAllNonBaseMenuItem:function(e){L("showAllNonBaseMenuItem",{},e)},scanQRCode:function(e){L("scanQRCode",{needResult:(e=e||{}).needResult||0,scanType:e.scanType||["qrCode","barCode"]},(e._complete=function(e){if(p){var t=e.resultStr;if(t){var r=JSON.parse(t);e.resultStr=r&&r.scan_code&&r.scan_code.scan_result}}},e))},openAddress:function(e){L(n.openAddress,{},(e._complete=function(e){e=function(e){return e.postalCode=e.addressPostalCode,delete e.addressPostalCode,e.provinceName=e.proviceFirstStageName,delete e.proviceFirstStageName,e.cityName=e.addressCitySecondStageName,delete e.addressCitySecondStageName,e.countryName=e.addressCountiesThirdStageName,delete e.addressCountiesThirdStageName,e.detailInfo=e.addressDetailInfo,delete e.addressDetailInfo,e}(e)},e))},openProductSpecificView:function(e){L(n.openProductSpecificView,{pid:e.productId,view_type:e.viewType||0,ext_info:e.extInfo},e)},addCard:function(e){for(var t=e.cardList,r=[],o=0,i=t.length;o<i;++o){var s=t[o],a={card_id:s.cardId,card_ext:s.cardExt};r.push(a)}L(n.addCard,{card_list:r},(e._complete=function(e){var t=e.card_list;if(t){for(var r=0,n=(t=JSON.parse(t)).length;r<n;++r){var o=t[r];o.cardId=o.card_id,o.cardExt=o.card_ext,o.isSuccess=!!o.is_succ,delete o.card_id,delete o.card_ext,delete o.is_succ}e.cardList=t,delete e.card_list}},e))},chooseCard:function(e){L("chooseCard",{app_id:y.appId,location_id:e.shopId||"",sign_type:e.signType||"SHA1",card_id:e.cardId||"",card_type:e.cardType||"",card_sign:e.cardSign,time_stamp:e.timestamp+"",nonce_str:e.nonceStr},(e._complete=function(e){e.cardList=e.choose_card_info,delete e.choose_card_info},e))},openCard:function(e){for(var t=e.cardList,r=[],o=0,i=t.length;o<i;++o){var s=t[o],a={card_id:s.cardId,code:s.code};r.push(a)}L(n.openCard,{card_list:r},e)},consumeAndShareCard:function(e){L(n.consumeAndShareCard,{consumedCardId:e.cardId,consumedCode:e.code},e)},chooseWXPay:function(e){L(n.chooseWXPay,C(e),e)},openEnterpriseRedPacket:function(e){L(n.openEnterpriseRedPacket,C(e),e)},startSearchBeacons:function(e){L(n.startSearchBeacons,{ticket:e.ticket},e)},stopSearchBeacons:function(e){L(n.stopSearchBeacons,{},e)},onSearchBeacons:function(e){T(n.onSearchBeacons,e)},openEnterpriseChat:function(e){L("openEnterpriseChat",{useridlist:e.userIds,chatname:e.groupName},e)},launchMiniProgram:function(e){L("launchMiniProgram",{targetAppId:e.targetAppId,path:function(e){if("string"==typeof e&&0<e.length){var t=e.split("?")[0],r=e.split("?")[1];return t+=".html",void 0!==r?t+"?"+r:t}}(e.path),envVersion:e.envVersion},e)},openBusinessView:function(e){L("openBusinessView",{businessType:e.businessType,queryString:e.queryString||"",envVersion:e.envVersion},(e._complete=function(e){if(d){var t=e.extraData;if(t)try{e.extraData=JSON.parse(t)}catch(t){e.extraData={}}}},e))},miniProgram:{navigateBack:function(e){e=e||{},P((function(){L("invokeMiniProgramAPI",{name:"navigateBack",arg:{delta:e.delta||1}},e)}))},navigateTo:function(e){P((function(){L("invokeMiniProgramAPI",{name:"navigateTo",arg:{url:e.url}},e)}))},redirectTo:function(e){P((function(){L("invokeMiniProgramAPI",{name:"redirectTo",arg:{url:e.url}},e)}))},switchTab:function(e){P((function(){L("invokeMiniProgramAPI",{name:"switchTab",arg:{url:e.url}},e)}))},reLaunch:function(e){P((function(){L("invokeMiniProgramAPI",{name:"reLaunch",arg:{url:e.url}},e)}))},postMessage:function(e){P((function(){L("invokeMiniProgramAPI",{name:"postMessage",arg:e.data||{}},e)}))},getEnv:function(t){P((function(){t({miniprogram:"miniprogram"===e.__wxjs_environment})}))}}},S=1,R={};return i.addEventListener("error",(function(e){if(!d){var t=e.target,r=t.tagName,n=t.src;if(("IMG"==r||"VIDEO"==r||"AUDIO"==r||"SOURCE"==r)&&-1!=n.indexOf("wxlocalresource://")){e.preventDefault(),e.stopPropagation();var o=t["wx-id"];if(o||(o=S++,t["wx-id"]=o),R[o])return;R[o]=!0,wx.ready((function(){wx.getLocalImgData({localId:n,success:function(e){t.src=e.localData}})}))}}}),!0),i.addEventListener("load",(function(e){if(!d){var t=e.target,r=t.tagName;if(t.src,"IMG"==r||"VIDEO"==r||"AUDIO"==r||"SOURCE"==r){var n=t["wx-id"];n&&(R[n]=!1)}}}),!0),t&&(e.wx=e.jWeixin=E),E}function L(t,r,n){e.WeixinJSBridge?WeixinJSBridge.invoke(t,k(r),(function(e){w(t,e,n)})):I(t,n)}function T(t,r,n){e.WeixinJSBridge?WeixinJSBridge.on(t,(function(e){n&&n.trigger&&n.trigger(e),w(t,e,r)})):I(t,n||r)}function k(e){return(e=e||{}).appId=y.appId,e.verifyAppId=y.appId,e.verifySignType="sha1",e.verifyTimestamp=y.timestamp+"",e.verifyNonceStr=y.nonceStr,e.verifySignature=y.signature,e}function C(e){return{timeStamp:e.timestamp+"",nonceStr:e.nonceStr,package:e.package,paySign:e.paySign,signType:e.signType||"SHA1"}}function w(e,t,r){"openEnterpriseChat"!=e&&"openBusinessView"!==e||(t.errCode=t.err_code),delete t.err_code,delete t.err_desc,delete t.err_detail;var n=t.errMsg;n||(n=t.err_msg,delete t.err_msg,n=function(e,t){var r=e,n=o[r];n&&(r=n);var i="ok";if(t){var s=t.indexOf(":");"confirm"==(i=t.substring(s+1))&&(i="ok"),"failed"==i&&(i="fail"),-1!=i.indexOf("failed_")&&(i=i.substring(7)),-1!=i.indexOf("fail_")&&(i=i.substring(5)),"access denied"!=(i=(i=i.replace(/_/g," ")).toLowerCase())&&"no permission to execute"!=i||(i="permission denied"),"config"==r&&"function not exist"==i&&(i="ok"),""==i&&(i="fail")}return r+":"+i}(e,n),t.errMsg=n),(r=r||{})._complete&&(r._complete(t),delete r._complete),n=t.errMsg||"",y.debug&&!r.isInnerInvoke&&alert(JSON.stringify(t));var i=n.indexOf(":");switch(n.substring(i+1)){case"ok":r.success&&r.success(t);break;case"cancel":r.cancel&&r.cancel(t);break;default:r.fail&&r.fail(t)}r.complete&&r.complete(t)}function M(e){if(e){for(var t=0,r=e.length;t<r;++t){var o=e[t],i=n[o];i&&(e[t]=i)}return e}}function I(e,t){if(!(!y.debug||t&&t.isInnerInvoke)){var r=o[e];r&&(e=r),t&&t._complete&&delete t._complete,console.log('"'+e+'",',t||"")}}function N(){return(new Date).getTime()}function P(t){A&&(e.WeixinJSBridge?t():i.addEventListener&&i.addEventListener("WeixinJSBridgeReady",t,!1))}}(t)},5938:function(e,t,r){"use strict";var n,o,i,s=r(3570),a=s.Reader,c=s.Writer,u=s.util,l=s.roots.default||(s.roots.default={});l.CloudLark=((i={}).Version=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.versionMarjor=0,e.prototype.versionMinor=0,e.prototype.versionRevise=0,e.prototype.versionBuild=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.versionMarjor&&Object.hasOwnProperty.call(e,"versionMarjor")&&t.uint32(8).int32(e.versionMarjor),null!=e.versionMinor&&Object.hasOwnProperty.call(e,"versionMinor")&&t.uint32(16).int32(e.versionMinor),null!=e.versionRevise&&Object.hasOwnProperty.call(e,"versionRevise")&&t.uint32(24).int32(e.versionRevise),null!=e.versionBuild&&Object.hasOwnProperty.call(e,"versionBuild")&&t.uint32(32).int32(e.versionBuild),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Version;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.versionMarjor=e.int32();break;case 2:n.versionMinor=e.int32();break;case 3:n.versionRevise=e.int32();break;case 4:n.versionBuild=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.versionMarjor&&e.hasOwnProperty("versionMarjor")&&!u.isInteger(e.versionMarjor)?"versionMarjor: integer expected":null!=e.versionMinor&&e.hasOwnProperty("versionMinor")&&!u.isInteger(e.versionMinor)?"versionMinor: integer expected":null!=e.versionRevise&&e.hasOwnProperty("versionRevise")&&!u.isInteger(e.versionRevise)?"versionRevise: integer expected":null!=e.versionBuild&&e.hasOwnProperty("versionBuild")&&!u.isInteger(e.versionBuild)?"versionBuild: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Version)return e;var t=new l.CloudLark.Version;return null!=e.versionMarjor&&(t.versionMarjor=0|e.versionMarjor),null!=e.versionMinor&&(t.versionMinor=0|e.versionMinor),null!=e.versionRevise&&(t.versionRevise=0|e.versionRevise),null!=e.versionBuild&&(t.versionBuild=0|e.versionBuild),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.versionMarjor=0,r.versionMinor=0,r.versionRevise=0,r.versionBuild=0),null!=e.versionMarjor&&e.hasOwnProperty("versionMarjor")&&(r.versionMarjor=e.versionMarjor),null!=e.versionMinor&&e.hasOwnProperty("versionMinor")&&(r.versionMinor=e.versionMinor),null!=e.versionRevise&&e.hasOwnProperty("versionRevise")&&(r.versionRevise=e.versionRevise),null!=e.versionBuild&&e.hasOwnProperty("versionBuild")&&(r.versionBuild=e.versionBuild),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VersionCheck=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.clientVer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.clientVer&&Object.hasOwnProperty.call(e,"clientVer")&&l.CloudLark.Version.encode(e.clientVer,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VersionCheck;e.pos<r;){var o=e.uint32();o>>>3==1?n.clientVer=l.CloudLark.Version.decode(e,e.uint32()):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.clientVer&&e.hasOwnProperty("clientVer")){var t=l.CloudLark.Version.verify(e.clientVer);if(t)return"clientVer."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VersionCheck)return e;var t=new l.CloudLark.VersionCheck;if(null!=e.clientVer){if("object"!=typeof e.clientVer)throw TypeError(".CloudLark.VersionCheck.clientVer: object expected");t.clientVer=l.CloudLark.Version.fromObject(e.clientVer)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.clientVer=null),null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(r.clientVer=l.CloudLark.Version.toObject(e.clientVer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VersionCheckResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=!1,e.prototype.serverVer=null,e.prototype.clientVer=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).bool(e.response),null!=e.serverVer&&Object.hasOwnProperty.call(e,"serverVer")&&l.CloudLark.Version.encode(e.serverVer,t.uint32(18).fork()).ldelim(),null!=e.clientVer&&Object.hasOwnProperty.call(e,"clientVer")&&l.CloudLark.Version.encode(e.clientVer,t.uint32(26).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VersionCheckResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.bool();break;case 2:n.serverVer=l.CloudLark.Version.decode(e,e.uint32());break;case 3:n.clientVer=l.CloudLark.Version.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.response&&e.hasOwnProperty("response")&&"boolean"!=typeof e.response?"response: boolean expected":null!=e.serverVer&&e.hasOwnProperty("serverVer")&&(t=l.CloudLark.Version.verify(e.serverVer))?"serverVer."+t:null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(t=l.CloudLark.Version.verify(e.clientVer))?"clientVer."+t:null;var t},e.fromObject=function(e){if(e instanceof l.CloudLark.VersionCheckResponse)return e;var t=new l.CloudLark.VersionCheckResponse;if(null!=e.response&&(t.response=Boolean(e.response)),null!=e.serverVer){if("object"!=typeof e.serverVer)throw TypeError(".CloudLark.VersionCheckResponse.serverVer: object expected");t.serverVer=l.CloudLark.Version.fromObject(e.serverVer)}if(null!=e.clientVer){if("object"!=typeof e.clientVer)throw TypeError(".CloudLark.VersionCheckResponse.clientVer: object expected");t.clientVer=l.CloudLark.Version.fromObject(e.clientVer)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=!1,r.serverVer=null,r.clientVer=null),null!=e.response&&e.hasOwnProperty("response")&&(r.response=e.response),null!=e.serverVer&&e.hasOwnProperty("serverVer")&&(r.serverVer=l.CloudLark.Version.toObject(e.serverVer,t)),null!=e.clientVer&&e.hasOwnProperty("clientVer")&&(r.clientVer=l.CloudLark.Version.toObject(e.clientVer,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TaskRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t,r;return e.prototype.taskid="",e.prototype.type=0,e.prototype.nickname="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.taskid&&Object.hasOwnProperty.call(e,"taskid")&&t.uint32(10).string(e.taskid),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(16).int32(e.type),null!=e.nickname&&Object.hasOwnProperty.call(e,"nickname")&&t.uint32(26).string(e.nickname),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TaskRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.taskid=e.string();break;case 2:n.type=e.int32();break;case 3:n.nickname=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.taskid&&e.hasOwnProperty("taskid")&&!u.isString(e.taskid))return"taskid: string expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.nickname&&e.hasOwnProperty("nickname")&&!u.isString(e.nickname)?"nickname: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TaskRequest)return e;var t=new l.CloudLark.TaskRequest;switch(null!=e.taskid&&(t.taskid=String(e.taskid)),e.type){case"PLAYER":case 0:t.type=0;break;case"OB":case 1:t.type=1}return null!=e.nickname&&(t.nickname=String(e.nickname)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.taskid="",r.type=t.enums===String?"PLAYER":0,r.nickname=""),null!=e.taskid&&e.hasOwnProperty("taskid")&&(r.taskid=e.taskid),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.TaskRequest.Type[e.type]:e.type),null!=e.nickname&&e.hasOwnProperty("nickname")&&(r.nickname=e.nickname),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=(t={},(r=Object.create(t))[t[0]="PLAYER"]=0,r[t[1]="OB"]=1,r),e}(),i.TaskType=(n={},(o=Object.create(n))[n[0]="UNKNOWN"]=0,o[n[1]="DESKTOP"]=1,o[n[2]="SHARED"]=2,o[n[3]="VR"]=3,o[n[4]="XR"]=4,o),i.TaskResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.prototype.uid=0,e.prototype.prestart=!1,e.prototype.reason="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),null!=e.uid&&Object.hasOwnProperty.call(e,"uid")&&t.uint32(16).uint32(e.uid),null!=e.prestart&&Object.hasOwnProperty.call(e,"prestart")&&t.uint32(24).bool(e.prestart),null!=e.reason&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(34).string(e.reason),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TaskResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.int32();break;case 2:n.uid=e.uint32();break;case 3:n.prestart=e.bool();break;case 4:n.reason=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.uid&&e.hasOwnProperty("uid")&&!u.isInteger(e.uid)?"uid: integer expected":null!=e.prestart&&e.hasOwnProperty("prestart")&&"boolean"!=typeof e.prestart?"prestart: boolean expected":null!=e.reason&&e.hasOwnProperty("reason")&&!u.isString(e.reason)?"reason: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TaskResponse)return e;var t=new l.CloudLark.TaskResponse;switch(e.response){case"TASK_SUCCESS":case 0:t.response=0;break;case"TASK_NOTFOUND":case 1:t.response=1;break;case"TASK_SERVER_ERROR":case 2:t.response=2;break;case"TASK_APP_WRONGPARAM":case 3:t.response=3;break;case"TASK_NO_GPU_RESOURCE":case 4:t.response=4}return null!=e.uid&&(t.uid=e.uid>>>0),null!=e.prestart&&(t.prestart=Boolean(e.prestart)),null!=e.reason&&(t.reason=String(e.reason)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"TASK_SUCCESS":0,r.uid=0,r.prestart=!1,r.reason=""),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.TaskResponse.Response[e.response]:e.response),null!=e.uid&&e.hasOwnProperty("uid")&&(r.uid=e.uid),null!=e.prestart&&e.hasOwnProperty("prestart")&&(r.prestart=e.prestart),null!=e.reason&&e.hasOwnProperty("reason")&&(r.reason=e.reason),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="TASK_SUCCESS"]=0,t[e[1]="TASK_NOTFOUND"]=1,t[e[2]="TASK_SERVER_ERROR"]=2,t[e[3]="TASK_APP_WRONGPARAM"]=3,t[e[4]="TASK_NO_GPU_RESOURCE"]=4,t}(),e}(),i.StartStreamRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.bitrateKbps=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps)?"fps: integer expected":null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartStreamRequest)return e;var t=new l.CloudLark.StartStreamRequest;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartVrStreamRequest=function(){function e(e){if(this.fov=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.prototype.ipd=0,e.prototype.roomSet=0,e.prototype.fov=u.emptyArray,e.prototype.hasTouchcontroller=!1,e.prototype.useKcp=!1,e.prototype.useH265=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),null!=e.ipd&&Object.hasOwnProperty.call(e,"ipd")&&t.uint32(45).float(e.ipd),null!=e.roomSet&&Object.hasOwnProperty.call(e,"roomSet")&&t.uint32(53).float(e.roomSet),null!=e.fov&&e.fov.length){t.uint32(58).fork();for(var r=0;r<e.fov.length;++r)t.float(e.fov[r]);t.ldelim()}return null!=e.hasTouchcontroller&&Object.hasOwnProperty.call(e,"hasTouchcontroller")&&t.uint32(64).bool(e.hasTouchcontroller),null!=e.useKcp&&Object.hasOwnProperty.call(e,"useKcp")&&t.uint32(72).bool(e.useKcp),null!=e.useH265&&Object.hasOwnProperty.call(e,"useH265")&&t.uint32(80).bool(e.useH265),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartVrStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.bitrateKbps=e.uint32();break;case 5:n.ipd=e.float();break;case 6:n.roomSet=e.float();break;case 7:if(n.fov&&n.fov.length||(n.fov=[]),2==(7&o))for(var i=e.uint32()+e.pos;e.pos<i;)n.fov.push(e.float());else n.fov.push(e.float());break;case 8:n.hasTouchcontroller=e.bool();break;case 9:n.useKcp=e.bool();break;case 10:n.useH265=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width))return"width: integer expected";if(null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height))return"height: integer expected";if(null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps))return"fps: integer expected";if(null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps))return"bitrateKbps: integer expected";if(null!=e.ipd&&e.hasOwnProperty("ipd")&&"number"!=typeof e.ipd)return"ipd: number expected";if(null!=e.roomSet&&e.hasOwnProperty("roomSet")&&"number"!=typeof e.roomSet)return"roomSet: number expected";if(null!=e.fov&&e.hasOwnProperty("fov")){if(!Array.isArray(e.fov))return"fov: array expected";for(var t=0;t<e.fov.length;++t)if("number"!=typeof e.fov[t])return"fov: number[] expected"}return null!=e.hasTouchcontroller&&e.hasOwnProperty("hasTouchcontroller")&&"boolean"!=typeof e.hasTouchcontroller?"hasTouchcontroller: boolean expected":null!=e.useKcp&&e.hasOwnProperty("useKcp")&&"boolean"!=typeof e.useKcp?"useKcp: boolean expected":null!=e.useH265&&e.hasOwnProperty("useH265")&&"boolean"!=typeof e.useH265?"useH265: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartVrStreamRequest)return e;var t=new l.CloudLark.StartVrStreamRequest;if(null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),null!=e.ipd&&(t.ipd=Number(e.ipd)),null!=e.roomSet&&(t.roomSet=Number(e.roomSet)),e.fov){if(!Array.isArray(e.fov))throw TypeError(".CloudLark.StartVrStreamRequest.fov: array expected");t.fov=[];for(var r=0;r<e.fov.length;++r)t.fov[r]=Number(e.fov[r])}return null!=e.hasTouchcontroller&&(t.hasTouchcontroller=Boolean(e.hasTouchcontroller)),null!=e.useKcp&&(t.useKcp=Boolean(e.useKcp)),null!=e.useH265&&(t.useH265=Boolean(e.useH265)),t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.fov=[]),t.defaults&&(r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0,r.ipd=0,r.roomSet=0,r.hasTouchcontroller=!1,r.useKcp=!1,r.useH265=!1),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),null!=e.ipd&&e.hasOwnProperty("ipd")&&(r.ipd=t.json&&!isFinite(e.ipd)?String(e.ipd):e.ipd),null!=e.roomSet&&e.hasOwnProperty("roomSet")&&(r.roomSet=t.json&&!isFinite(e.roomSet)?String(e.roomSet):e.roomSet),e.fov&&e.fov.length){r.fov=[];for(var n=0;n<e.fov.length;++n)r.fov[n]=t.json&&!isFinite(e.fov[n])?String(e.fov[n]):e.fov[n]}return null!=e.hasTouchcontroller&&e.hasOwnProperty("hasTouchcontroller")&&(r.hasTouchcontroller=e.hasTouchcontroller),null!=e.useKcp&&e.hasOwnProperty("useKcp")&&(r.useKcp=e.useKcp),null!=e.useH265&&e.hasOwnProperty("useH265")&&(r.useH265=e.useH265),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.FoveatedRendering=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enableFoveateRendering=!1,e.prototype.foveationStrength=0,e.prototype.foveationShape=0,e.prototype.foveationVerticalOffset=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enableFoveateRendering&&Object.hasOwnProperty.call(e,"enableFoveateRendering")&&t.uint32(8).bool(e.enableFoveateRendering),null!=e.foveationStrength&&Object.hasOwnProperty.call(e,"foveationStrength")&&t.uint32(21).float(e.foveationStrength),null!=e.foveationShape&&Object.hasOwnProperty.call(e,"foveationShape")&&t.uint32(29).float(e.foveationShape),null!=e.foveationVerticalOffset&&Object.hasOwnProperty.call(e,"foveationVerticalOffset")&&t.uint32(37).float(e.foveationVerticalOffset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.FoveatedRendering;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.enableFoveateRendering=e.bool();break;case 2:n.foveationStrength=e.float();break;case 3:n.foveationShape=e.float();break;case 4:n.foveationVerticalOffset=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enableFoveateRendering&&e.hasOwnProperty("enableFoveateRendering")&&"boolean"!=typeof e.enableFoveateRendering?"enableFoveateRendering: boolean expected":null!=e.foveationStrength&&e.hasOwnProperty("foveationStrength")&&"number"!=typeof e.foveationStrength?"foveationStrength: number expected":null!=e.foveationShape&&e.hasOwnProperty("foveationShape")&&"number"!=typeof e.foveationShape?"foveationShape: number expected":null!=e.foveationVerticalOffset&&e.hasOwnProperty("foveationVerticalOffset")&&"number"!=typeof e.foveationVerticalOffset?"foveationVerticalOffset: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.FoveatedRendering)return e;var t=new l.CloudLark.FoveatedRendering;return null!=e.enableFoveateRendering&&(t.enableFoveateRendering=Boolean(e.enableFoveateRendering)),null!=e.foveationStrength&&(t.foveationStrength=Number(e.foveationStrength)),null!=e.foveationShape&&(t.foveationShape=Number(e.foveationShape)),null!=e.foveationVerticalOffset&&(t.foveationVerticalOffset=Number(e.foveationVerticalOffset)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableFoveateRendering=!1,r.foveationStrength=0,r.foveationShape=0,r.foveationVerticalOffset=0),null!=e.enableFoveateRendering&&e.hasOwnProperty("enableFoveateRendering")&&(r.enableFoveateRendering=e.enableFoveateRendering),null!=e.foveationStrength&&e.hasOwnProperty("foveationStrength")&&(r.foveationStrength=t.json&&!isFinite(e.foveationStrength)?String(e.foveationStrength):e.foveationStrength),null!=e.foveationShape&&e.hasOwnProperty("foveationShape")&&(r.foveationShape=t.json&&!isFinite(e.foveationShape)?String(e.foveationShape):e.foveationShape),null!=e.foveationVerticalOffset&&e.hasOwnProperty("foveationVerticalOffset")&&(r.foveationVerticalOffset=t.json&&!isFinite(e.foveationVerticalOffset)?String(e.foveationVerticalOffset):e.foveationVerticalOffset),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ColorCorrention=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enableColorCorrection=!1,e.prototype.brightness=0,e.prototype.contrast=0,e.prototype.saturation=0,e.prototype.gamma=0,e.prototype.sharpening=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enableColorCorrection&&Object.hasOwnProperty.call(e,"enableColorCorrection")&&t.uint32(8).bool(e.enableColorCorrection),null!=e.brightness&&Object.hasOwnProperty.call(e,"brightness")&&t.uint32(21).float(e.brightness),null!=e.contrast&&Object.hasOwnProperty.call(e,"contrast")&&t.uint32(29).float(e.contrast),null!=e.saturation&&Object.hasOwnProperty.call(e,"saturation")&&t.uint32(37).float(e.saturation),null!=e.gamma&&Object.hasOwnProperty.call(e,"gamma")&&t.uint32(45).float(e.gamma),null!=e.sharpening&&Object.hasOwnProperty.call(e,"sharpening")&&t.uint32(53).float(e.sharpening),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ColorCorrention;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.enableColorCorrection=e.bool();break;case 2:n.brightness=e.float();break;case 3:n.contrast=e.float();break;case 4:n.saturation=e.float();break;case 5:n.gamma=e.float();break;case 6:n.sharpening=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enableColorCorrection&&e.hasOwnProperty("enableColorCorrection")&&"boolean"!=typeof e.enableColorCorrection?"enableColorCorrection: boolean expected":null!=e.brightness&&e.hasOwnProperty("brightness")&&"number"!=typeof e.brightness?"brightness: number expected":null!=e.contrast&&e.hasOwnProperty("contrast")&&"number"!=typeof e.contrast?"contrast: number expected":null!=e.saturation&&e.hasOwnProperty("saturation")&&"number"!=typeof e.saturation?"saturation: number expected":null!=e.gamma&&e.hasOwnProperty("gamma")&&"number"!=typeof e.gamma?"gamma: number expected":null!=e.sharpening&&e.hasOwnProperty("sharpening")&&"number"!=typeof e.sharpening?"sharpening: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.ColorCorrention)return e;var t=new l.CloudLark.ColorCorrention;return null!=e.enableColorCorrection&&(t.enableColorCorrection=Boolean(e.enableColorCorrection)),null!=e.brightness&&(t.brightness=Number(e.brightness)),null!=e.contrast&&(t.contrast=Number(e.contrast)),null!=e.saturation&&(t.saturation=Number(e.saturation)),null!=e.gamma&&(t.gamma=Number(e.gamma)),null!=e.sharpening&&(t.sharpening=Number(e.sharpening)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableColorCorrection=!1,r.brightness=0,r.contrast=0,r.saturation=0,r.gamma=0,r.sharpening=0),null!=e.enableColorCorrection&&e.hasOwnProperty("enableColorCorrection")&&(r.enableColorCorrection=e.enableColorCorrection),null!=e.brightness&&e.hasOwnProperty("brightness")&&(r.brightness=t.json&&!isFinite(e.brightness)?String(e.brightness):e.brightness),null!=e.contrast&&e.hasOwnProperty("contrast")&&(r.contrast=t.json&&!isFinite(e.contrast)?String(e.contrast):e.contrast),null!=e.saturation&&e.hasOwnProperty("saturation")&&(r.saturation=t.json&&!isFinite(e.saturation)?String(e.saturation):e.saturation),null!=e.gamma&&e.hasOwnProperty("gamma")&&(r.gamma=t.json&&!isFinite(e.gamma)?String(e.gamma):e.gamma),null!=e.sharpening&&e.hasOwnProperty("sharpening")&&(r.sharpening=t.json&&!isFinite(e.sharpening)?String(e.sharpening):e.sharpening),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StreamType=function(){var e={},t=Object.create(e);return t[e[0]="UDP"]=0,t[e[1]="TCP"]=1,t[e[2]="THROTTLED_UDP"]=2,t[e[3]="KCP"]=3,t}(),i.VideoDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.eyeResolutionWidth=0,e.prototype.eyeResolutionHeight=0,e.prototype.fps=0,e.prototype.encodeBitrateMbs=0,e.prototype.codec=0,e.prototype.targetEyeResolutionWidth=0,e.prototype.targetEyeResolutionHeight=0,e.prototype.secondsFromVsyncToPhotons=0,e.prototype.use10bitEncoder=!1,e.prototype.foveatedRendering=null,e.prototype.colorCorrention=null,e.prototype.stream=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.eyeResolutionWidth&&Object.hasOwnProperty.call(e,"eyeResolutionWidth")&&t.uint32(8).uint32(e.eyeResolutionWidth),null!=e.eyeResolutionHeight&&Object.hasOwnProperty.call(e,"eyeResolutionHeight")&&t.uint32(16).uint32(e.eyeResolutionHeight),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),null!=e.encodeBitrateMbs&&Object.hasOwnProperty.call(e,"encodeBitrateMbs")&&t.uint32(32).uint32(e.encodeBitrateMbs),null!=e.codec&&Object.hasOwnProperty.call(e,"codec")&&t.uint32(40).uint32(e.codec),null!=e.targetEyeResolutionWidth&&Object.hasOwnProperty.call(e,"targetEyeResolutionWidth")&&t.uint32(48).uint32(e.targetEyeResolutionWidth),null!=e.targetEyeResolutionHeight&&Object.hasOwnProperty.call(e,"targetEyeResolutionHeight")&&t.uint32(56).uint32(e.targetEyeResolutionHeight),null!=e.secondsFromVsyncToPhotons&&Object.hasOwnProperty.call(e,"secondsFromVsyncToPhotons")&&t.uint32(69).float(e.secondsFromVsyncToPhotons),null!=e.use10bitEncoder&&Object.hasOwnProperty.call(e,"use10bitEncoder")&&t.uint32(72).bool(e.use10bitEncoder),null!=e.foveatedRendering&&Object.hasOwnProperty.call(e,"foveatedRendering")&&l.CloudLark.FoveatedRendering.encode(e.foveatedRendering,t.uint32(82).fork()).ldelim(),null!=e.colorCorrention&&Object.hasOwnProperty.call(e,"colorCorrention")&&l.CloudLark.ColorCorrention.encode(e.colorCorrention,t.uint32(90).fork()).ldelim(),null!=e.stream&&Object.hasOwnProperty.call(e,"stream")&&t.uint32(96).int32(e.stream),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VideoDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.eyeResolutionWidth=e.uint32();break;case 2:n.eyeResolutionHeight=e.uint32();break;case 3:n.fps=e.uint32();break;case 4:n.encodeBitrateMbs=e.uint32();break;case 5:n.codec=e.uint32();break;case 6:n.targetEyeResolutionWidth=e.uint32();break;case 7:n.targetEyeResolutionHeight=e.uint32();break;case 8:n.secondsFromVsyncToPhotons=e.float();break;case 9:n.use10bitEncoder=e.bool();break;case 10:n.foveatedRendering=l.CloudLark.FoveatedRendering.decode(e,e.uint32());break;case 11:n.colorCorrention=l.CloudLark.ColorCorrention.decode(e,e.uint32());break;case 12:n.stream=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.eyeResolutionWidth&&e.hasOwnProperty("eyeResolutionWidth")&&!u.isInteger(e.eyeResolutionWidth))return"eyeResolutionWidth: integer expected";if(null!=e.eyeResolutionHeight&&e.hasOwnProperty("eyeResolutionHeight")&&!u.isInteger(e.eyeResolutionHeight))return"eyeResolutionHeight: integer expected";if(null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps))return"fps: integer expected";if(null!=e.encodeBitrateMbs&&e.hasOwnProperty("encodeBitrateMbs")&&!u.isInteger(e.encodeBitrateMbs))return"encodeBitrateMbs: integer expected";if(null!=e.codec&&e.hasOwnProperty("codec")&&!u.isInteger(e.codec))return"codec: integer expected";if(null!=e.targetEyeResolutionWidth&&e.hasOwnProperty("targetEyeResolutionWidth")&&!u.isInteger(e.targetEyeResolutionWidth))return"targetEyeResolutionWidth: integer expected";if(null!=e.targetEyeResolutionHeight&&e.hasOwnProperty("targetEyeResolutionHeight")&&!u.isInteger(e.targetEyeResolutionHeight))return"targetEyeResolutionHeight: integer expected";if(null!=e.secondsFromVsyncToPhotons&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&"number"!=typeof e.secondsFromVsyncToPhotons)return"secondsFromVsyncToPhotons: number expected";if(null!=e.use10bitEncoder&&e.hasOwnProperty("use10bitEncoder")&&"boolean"!=typeof e.use10bitEncoder)return"use10bitEncoder: boolean expected";var t;if(null!=e.foveatedRendering&&e.hasOwnProperty("foveatedRendering")&&(t=l.CloudLark.FoveatedRendering.verify(e.foveatedRendering)))return"foveatedRendering."+t;if(null!=e.colorCorrention&&e.hasOwnProperty("colorCorrention")&&(t=l.CloudLark.ColorCorrention.verify(e.colorCorrention)))return"colorCorrention."+t;if(null!=e.stream&&e.hasOwnProperty("stream"))switch(e.stream){default:return"stream: enum value expected";case 0:case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VideoDesc)return e;var t=new l.CloudLark.VideoDesc;if(null!=e.eyeResolutionWidth&&(t.eyeResolutionWidth=e.eyeResolutionWidth>>>0),null!=e.eyeResolutionHeight&&(t.eyeResolutionHeight=e.eyeResolutionHeight>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.encodeBitrateMbs&&(t.encodeBitrateMbs=e.encodeBitrateMbs>>>0),null!=e.codec&&(t.codec=e.codec>>>0),null!=e.targetEyeResolutionWidth&&(t.targetEyeResolutionWidth=e.targetEyeResolutionWidth>>>0),null!=e.targetEyeResolutionHeight&&(t.targetEyeResolutionHeight=e.targetEyeResolutionHeight>>>0),null!=e.secondsFromVsyncToPhotons&&(t.secondsFromVsyncToPhotons=Number(e.secondsFromVsyncToPhotons)),null!=e.use10bitEncoder&&(t.use10bitEncoder=Boolean(e.use10bitEncoder)),null!=e.foveatedRendering){if("object"!=typeof e.foveatedRendering)throw TypeError(".CloudLark.VideoDesc.foveatedRendering: object expected");t.foveatedRendering=l.CloudLark.FoveatedRendering.fromObject(e.foveatedRendering)}if(null!=e.colorCorrention){if("object"!=typeof e.colorCorrention)throw TypeError(".CloudLark.VideoDesc.colorCorrention: object expected");t.colorCorrention=l.CloudLark.ColorCorrention.fromObject(e.colorCorrention)}switch(e.stream){case"UDP":case 0:t.stream=0;break;case"TCP":case 1:t.stream=1;break;case"THROTTLED_UDP":case 2:t.stream=2;break;case"KCP":case 3:t.stream=3}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.eyeResolutionWidth=0,r.eyeResolutionHeight=0,r.fps=0,r.encodeBitrateMbs=0,r.codec=0,r.targetEyeResolutionWidth=0,r.targetEyeResolutionHeight=0,r.secondsFromVsyncToPhotons=0,r.use10bitEncoder=!1,r.foveatedRendering=null,r.colorCorrention=null,r.stream=t.enums===String?"UDP":0),null!=e.eyeResolutionWidth&&e.hasOwnProperty("eyeResolutionWidth")&&(r.eyeResolutionWidth=e.eyeResolutionWidth),null!=e.eyeResolutionHeight&&e.hasOwnProperty("eyeResolutionHeight")&&(r.eyeResolutionHeight=e.eyeResolutionHeight),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.encodeBitrateMbs&&e.hasOwnProperty("encodeBitrateMbs")&&(r.encodeBitrateMbs=e.encodeBitrateMbs),null!=e.codec&&e.hasOwnProperty("codec")&&(r.codec=e.codec),null!=e.targetEyeResolutionWidth&&e.hasOwnProperty("targetEyeResolutionWidth")&&(r.targetEyeResolutionWidth=e.targetEyeResolutionWidth),null!=e.targetEyeResolutionHeight&&e.hasOwnProperty("targetEyeResolutionHeight")&&(r.targetEyeResolutionHeight=e.targetEyeResolutionHeight),null!=e.secondsFromVsyncToPhotons&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&(r.secondsFromVsyncToPhotons=t.json&&!isFinite(e.secondsFromVsyncToPhotons)?String(e.secondsFromVsyncToPhotons):e.secondsFromVsyncToPhotons),null!=e.use10bitEncoder&&e.hasOwnProperty("use10bitEncoder")&&(r.use10bitEncoder=e.use10bitEncoder),null!=e.foveatedRendering&&e.hasOwnProperty("foveatedRendering")&&(r.foveatedRendering=l.CloudLark.FoveatedRendering.toObject(e.foveatedRendering,t)),null!=e.colorCorrention&&e.hasOwnProperty("colorCorrention")&&(r.colorCorrention=l.CloudLark.ColorCorrention.toObject(e.colorCorrention,t)),null!=e.stream&&e.hasOwnProperty("stream")&&(r.stream=t.enums===String?l.CloudLark.StreamType[e.stream]:e.stream),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.HeadSetType=function(){var e={},t=Object.create(e);return t[e[0]="HTC"]=0,t[e[1]="OCULUS"]=1,t[e[2]="PICO2"]=2,t[e[3]="PICO3"]=3,t[e[4]="NOLO_Sonic_1"]=4,t}(),i.HeadSetControllerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.forece3dof=!1,e.prototype.controllerposeTimeOffset=0,e.prototype.hapticsIntensity=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.forece3dof&&Object.hasOwnProperty.call(e,"forece3dof")&&t.uint32(16).bool(e.forece3dof),null!=e.controllerposeTimeOffset&&Object.hasOwnProperty.call(e,"controllerposeTimeOffset")&&t.uint32(29).float(e.controllerposeTimeOffset),null!=e.hapticsIntensity&&Object.hasOwnProperty.call(e,"hapticsIntensity")&&t.uint32(37).float(e.hapticsIntensity),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.HeadSetControllerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.forece3dof=e.bool();break;case 3:n.controllerposeTimeOffset=e.float();break;case 4:n.hapticsIntensity=e.float();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.forece3dof&&e.hasOwnProperty("forece3dof")&&"boolean"!=typeof e.forece3dof?"forece3dof: boolean expected":null!=e.controllerposeTimeOffset&&e.hasOwnProperty("controllerposeTimeOffset")&&"number"!=typeof e.controllerposeTimeOffset?"controllerposeTimeOffset: number expected":null!=e.hapticsIntensity&&e.hasOwnProperty("hapticsIntensity")&&"number"!=typeof e.hapticsIntensity?"hapticsIntensity: number expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.HeadSetControllerDesc)return e;var t=new l.CloudLark.HeadSetControllerDesc;switch(e.type){case"HTC":case 0:t.type=0;break;case"OCULUS":case 1:t.type=1;break;case"PICO2":case 2:t.type=2;break;case"PICO3":case 3:t.type=3;break;case"NOLO_Sonic_1":case 4:t.type=4}return null!=e.forece3dof&&(t.forece3dof=Boolean(e.forece3dof)),null!=e.controllerposeTimeOffset&&(t.controllerposeTimeOffset=Number(e.controllerposeTimeOffset)),null!=e.hapticsIntensity&&(t.hapticsIntensity=Number(e.hapticsIntensity)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"HTC":0,r.forece3dof=!1,r.controllerposeTimeOffset=0,r.hapticsIntensity=0),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.HeadSetType[e.type]:e.type),null!=e.forece3dof&&e.hasOwnProperty("forece3dof")&&(r.forece3dof=e.forece3dof),null!=e.controllerposeTimeOffset&&e.hasOwnProperty("controllerposeTimeOffset")&&(r.controllerposeTimeOffset=t.json&&!isFinite(e.controllerposeTimeOffset)?String(e.controllerposeTimeOffset):e.controllerposeTimeOffset),null!=e.hapticsIntensity&&e.hasOwnProperty("hapticsIntensity")&&(r.hapticsIntensity=t.json&&!isFinite(e.hapticsIntensity)?String(e.hapticsIntensity):e.hapticsIntensity),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartNewVrStreamRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.videoDesc=null,e.prototype.headsetController=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.videoDesc&&Object.hasOwnProperty.call(e,"videoDesc")&&l.CloudLark.VideoDesc.encode(e.videoDesc,t.uint32(10).fork()).ldelim(),null!=e.headsetController&&Object.hasOwnProperty.call(e,"headsetController")&&l.CloudLark.HeadSetControllerDesc.encode(e.headsetController,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartNewVrStreamRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.videoDesc=l.CloudLark.VideoDesc.decode(e,e.uint32());break;case 2:n.headsetController=l.CloudLark.HeadSetControllerDesc.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.videoDesc&&e.hasOwnProperty("videoDesc")&&(t=l.CloudLark.VideoDesc.verify(e.videoDesc))?"videoDesc."+t:null!=e.headsetController&&e.hasOwnProperty("headsetController")&&(t=l.CloudLark.HeadSetControllerDesc.verify(e.headsetController))?"headsetController."+t:null;var t},e.fromObject=function(e){if(e instanceof l.CloudLark.StartNewVrStreamRequest)return e;var t=new l.CloudLark.StartNewVrStreamRequest;if(null!=e.videoDesc){if("object"!=typeof e.videoDesc)throw TypeError(".CloudLark.StartNewVrStreamRequest.videoDesc: object expected");t.videoDesc=l.CloudLark.VideoDesc.fromObject(e.videoDesc)}if(null!=e.headsetController){if("object"!=typeof e.headsetController)throw TypeError(".CloudLark.StartNewVrStreamRequest.headsetController: object expected");t.headsetController=l.CloudLark.HeadSetControllerDesc.fromObject(e.headsetController)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.videoDesc=null,r.headsetController=null),null!=e.videoDesc&&e.hasOwnProperty("videoDesc")&&(r.videoDesc=l.CloudLark.VideoDesc.toObject(e.videoDesc,t)),null!=e.headsetController&&e.hasOwnProperty("headsetController")&&(r.headsetController=l.CloudLark.HeadSetControllerDesc.toObject(e.headsetController,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.StartStreamResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartStreamResponse;e.pos<r;){var o=e.uint32();o>>>3==1?n.response=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartStreamResponse)return e;var t=new l.CloudLark.StartStreamResponse;switch(e.response){case"START_SUCCESS":case 0:t.response=0;break;case"START_STREAM_PROCESS_START_FAILED":case 1:t.response=1;break;case"START_STREAM_PROCESS_START_TIMEOUT":case 2:t.response=2;break;case"START_STREAM_NOT_STREAMING":case 3:t.response=3;break;case"START_STREAM_ENCODER_ERROR":case 4:t.response=4}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.StartStreamResponse.Response[e.response]:e.response),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="START_SUCCESS"]=0,t[e[1]="START_STREAM_PROCESS_START_FAILED"]=1,t[e[2]="START_STREAM_PROCESS_START_TIMEOUT"]=2,t[e[3]="START_STREAM_NOT_STREAMING"]=3,t[e[4]="START_STREAM_ENCODER_ERROR"]=4,t}(),e}(),i.StartVrStreamResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.prototype.port=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),null!=e.port&&Object.hasOwnProperty.call(e,"port")&&t.uint32(16).uint32(e.port),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.StartVrStreamResponse;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.response=e.int32();break;case 2:n.port=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.port&&e.hasOwnProperty("port")&&!u.isInteger(e.port)?"port: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.StartVrStreamResponse)return e;var t=new l.CloudLark.StartVrStreamResponse;switch(e.response){case"START_SUCCESS":case 0:t.response=0;break;case"START_PROCESS_FAILED":case 1:t.response=1;break;case"START_DRIVER_RUNTIME_TIMEOUT":case 2:t.response=2;break;case"START_DRIVER_RUNTIME_UDPPORT_ERROR":case 3:t.response=3;break;case"START_DRIVER_RUNTIME_ENCODER_ERROR":case 4:t.response=4}return null!=e.port&&(t.port=e.port>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0,r.port=0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.StartVrStreamResponse.Response[e.response]:e.response),null!=e.port&&e.hasOwnProperty("port")&&(r.port=e.port),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="START_SUCCESS"]=0,t[e[1]="START_PROCESS_FAILED"]=1,t[e[2]="START_DRIVER_RUNTIME_TIMEOUT"]=2,t[e[3]="START_DRIVER_RUNTIME_UDPPORT_ERROR"]=3,t[e[4]="START_DRIVER_RUNTIME_ENCODER_ERROR"]=4,t}(),e}(),i.WebrtcOfferAnswer=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type="",e.prototype.sdp="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(10).string(e.type),null!=e.sdp&&Object.hasOwnProperty.call(e,"sdp")&&t.uint32(18).string(e.sdp),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcOfferAnswer;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.string();break;case 2:n.sdp=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!u.isString(e.type)?"type: string expected":null!=e.sdp&&e.hasOwnProperty("sdp")&&!u.isString(e.sdp)?"sdp: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.WebrtcOfferAnswer)return e;var t=new l.CloudLark.WebrtcOfferAnswer;return null!=e.type&&(t.type=String(e.type)),null!=e.sdp&&(t.sdp=String(e.sdp)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type="",r.sdp=""),null!=e.type&&e.hasOwnProperty("type")&&(r.type=e.type),null!=e.sdp&&e.hasOwnProperty("sdp")&&(r.sdp=e.sdp),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.WebrtcIceCandidate=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.sdpmid="",e.prototype.sdpMlineindex=0,e.prototype.candidate="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.sdpmid&&Object.hasOwnProperty.call(e,"sdpmid")&&t.uint32(10).string(e.sdpmid),null!=e.sdpMlineindex&&Object.hasOwnProperty.call(e,"sdpMlineindex")&&t.uint32(16).uint32(e.sdpMlineindex),null!=e.candidate&&Object.hasOwnProperty.call(e,"candidate")&&t.uint32(26).string(e.candidate),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcIceCandidate;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.sdpmid=e.string();break;case 2:n.sdpMlineindex=e.uint32();break;case 3:n.candidate=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.sdpmid&&e.hasOwnProperty("sdpmid")&&!u.isString(e.sdpmid)?"sdpmid: string expected":null!=e.sdpMlineindex&&e.hasOwnProperty("sdpMlineindex")&&!u.isInteger(e.sdpMlineindex)?"sdpMlineindex: integer expected":null!=e.candidate&&e.hasOwnProperty("candidate")&&!u.isString(e.candidate)?"candidate: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.WebrtcIceCandidate)return e;var t=new l.CloudLark.WebrtcIceCandidate;return null!=e.sdpmid&&(t.sdpmid=String(e.sdpmid)),null!=e.sdpMlineindex&&(t.sdpMlineindex=e.sdpMlineindex>>>0),null!=e.candidate&&(t.candidate=String(e.candidate)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.sdpmid="",r.sdpMlineindex=0,r.candidate=""),null!=e.sdpmid&&e.hasOwnProperty("sdpmid")&&(r.sdpmid=e.sdpmid),null!=e.sdpMlineindex&&e.hasOwnProperty("sdpMlineindex")&&(r.sdpMlineindex=e.sdpMlineindex),null!=e.candidate&&e.hasOwnProperty("candidate")&&(r.candidate=e.candidate),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.WebrtcError=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.WebrtcError;e.pos<r;){var o=e.uint32();e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof l.CloudLark.WebrtcError?e:new l.CloudLark.WebrtcError},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppProcessControl=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.request=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.request&&Object.hasOwnProperty.call(e,"request")&&t.uint32(8).int32(e.request),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppProcessControl;e.pos<r;){var o=e.uint32();o>>>3==1?n.request=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.request&&e.hasOwnProperty("request")&&0!==e.request?"request: enum value expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppProcessControl)return e;var t=new l.CloudLark.AppProcessControl;switch(e.request){case"ProcessRestart":case 0:t.request=0}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.request=t.enums===String?"ProcessRestart":0),null!=e.request&&e.hasOwnProperty("request")&&(r.request=t.enums===String?l.CloudLark.AppProcessControl.Type[e.request]:e.request),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="ProcessRestart"]=0,t}(),e}(),i.AppQuit=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.reStartStream=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.reStartStream&&Object.hasOwnProperty.call(e,"reStartStream")&&t.uint32(8).bool(e.reStartStream),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppQuit;e.pos<r;){var o=e.uint32();o>>>3==1?n.reStartStream=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.reStartStream&&e.hasOwnProperty("reStartStream")&&"boolean"!=typeof e.reStartStream?"reStartStream: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppQuit)return e;var t=new l.CloudLark.AppQuit;return null!=e.reStartStream&&(t.reStartStream=Boolean(e.reStartStream)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.reStartStream=!1),null!=e.reStartStream&&e.hasOwnProperty("reStartStream")&&(r.reStartStream=e.reStartStream),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppProcessNotification=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.appQuit=null,Object.defineProperty(e.prototype,"AppNotify",{get:u.oneOfGetter(t=["appQuit"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.appQuit&&Object.hasOwnProperty.call(e,"appQuit")&&l.CloudLark.AppQuit.encode(e.appQuit,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppProcessNotification;e.pos<r;){var o=e.uint32();o>>>3==1?n.appQuit=l.CloudLark.AppQuit.decode(e,e.uint32()):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.appQuit&&e.hasOwnProperty("appQuit")){var t=l.CloudLark.AppQuit.verify(e.appQuit);if(t)return"appQuit."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppProcessNotification)return e;var t=new l.CloudLark.AppProcessNotification;if(null!=e.appQuit){if("object"!=typeof e.appQuit)throw TypeError(".CloudLark.AppProcessNotification.appQuit: object expected");t.appQuit=l.CloudLark.AppQuit.fromObject(e.appQuit)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.appQuit&&e.hasOwnProperty("appQuit")&&(r.appQuit=l.CloudLark.AppQuit.toObject(e.appQuit,t),t.oneofs&&(r.AppNotify="appQuit")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.NotifyClientLogout=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.logoutType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.logoutType&&Object.hasOwnProperty.call(e,"logoutType")&&t.uint32(8).int32(e.logoutType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.NotifyClientLogout;e.pos<r;){var o=e.uint32();o>>>3==1?n.logoutType=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.logoutType&&e.hasOwnProperty("logoutType")&&0!==e.logoutType?"logoutType: enum value expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.NotifyClientLogout)return e;var t=new l.CloudLark.NotifyClientLogout;switch(e.logoutType){case"PLAYER_LOGOUT":case 0:t.logoutType=0}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.logoutType=t.enums===String?"PLAYER_LOGOUT":0),null!=e.logoutType&&e.hasOwnProperty("logoutType")&&(r.logoutType=t.enums===String?l.CloudLark.NotifyClientLogout.Type[e.logoutType]:e.logoutType),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="PLAYER_LOGOUT"]=0,t}(),e}(),i.VrMonitorRequest=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.taskid="",e.prototype.width=0,e.prototype.height=0,e.prototype.fps=0,e.prototype.bitrateKbps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.taskid&&Object.hasOwnProperty.call(e,"taskid")&&t.uint32(10).string(e.taskid),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(16).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(24).uint32(e.height),null!=e.fps&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(32).uint32(e.fps),null!=e.bitrateKbps&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(40).uint32(e.bitrateKbps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VrMonitorRequest;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.taskid=e.string();break;case 2:n.width=e.uint32();break;case 3:n.height=e.uint32();break;case 4:n.fps=e.uint32();break;case 5:n.bitrateKbps=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.taskid&&e.hasOwnProperty("taskid")&&!u.isString(e.taskid)?"taskid: string expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.fps&&e.hasOwnProperty("fps")&&!u.isInteger(e.fps)?"fps: integer expected":null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&!u.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.VrMonitorRequest)return e;var t=new l.CloudLark.VrMonitorRequest;return null!=e.taskid&&(t.taskid=String(e.taskid)),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.fps&&(t.fps=e.fps>>>0),null!=e.bitrateKbps&&(t.bitrateKbps=e.bitrateKbps>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.taskid="",r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0),null!=e.taskid&&e.hasOwnProperty("taskid")&&(r.taskid=e.taskid),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.fps&&e.hasOwnProperty("fps")&&(r.fps=e.fps),null!=e.bitrateKbps&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.VrMonitorResponse=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.response=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.response&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.VrMonitorResponse;e.pos<r;){var o=e.uint32();o>>>3==1?n.response=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.response&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.VrMonitorResponse)return e;var t=new l.CloudLark.VrMonitorResponse;switch(e.response){case"MONITOR_SUCCESS":case 0:t.response=0;break;case"MONITOR_ERROR_TASKNOTFOUND":case 1:t.response=1;break;case"MONITOR_ERROR_TASKNOTSTREAMING":case 2:t.response=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"MONITOR_SUCCESS":0),null!=e.response&&e.hasOwnProperty("response")&&(r.response=t.enums===String?l.CloudLark.VrMonitorResponse.Response[e.response]:e.response),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Response=function(){var e={},t=Object.create(e);return t[e[0]="MONITOR_SUCCESS"]=0,t[e[1]="MONITOR_ERROR_TASKNOTFOUND"]=1,t[e[2]="MONITOR_ERROR_TASKNOTSTREAMING"]=2,t}(),e}(),i.LarkXRDataChannelState=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRDataChannelState;e.pos<r;){var o=e.uint32();o>>>3==1?n.state=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRDataChannelState)return e;var t=new l.CloudLark.LarkXRDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.LarkXRDataChannelState.State[e.state]:e.state),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),e}(),i.LarkXRChannelMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.data=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRChannelMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.data=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||u.isString(e.data))?"data: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRChannelMessage)return e;var t=new l.CloudLark.LarkXRChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return null!=e.data&&("string"==typeof e.data?u.base64.decode(e.data,t.data=u.newBuffer(u.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"STRING":0,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=u.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.LarkXRChannelMessage.Type[e.type]:e.type),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?u.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),e}(),i.LarkXRPlayerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.prototype.nickName="",e.prototype.taskOwner=!1,e.prototype.controller=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),null!=e.nickName&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),null!=e.taskOwner&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),null!=e.controller&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRPlayerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.id=e.uint32();break;case 2:n.nickName=e.string();break;case 3:n.taskOwner=e.bool();break;case 4:n.controller=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null!=e.nickName&&e.hasOwnProperty("nickName")&&!u.isString(e.nickName)?"nickName: string expected":null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&"boolean"!=typeof e.taskOwner?"taskOwner: boolean expected":null!=e.controller&&e.hasOwnProperty("controller")&&"boolean"!=typeof e.controller?"controller: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRPlayerDesc)return e;var t=new l.CloudLark.LarkXRPlayerDesc;return null!=e.id&&(t.id=e.id>>>0),null!=e.nickName&&(t.nickName=String(e.nickName)),null!=e.taskOwner&&(t.taskOwner=Boolean(e.taskOwner)),null!=e.controller&&(t.controller=Boolean(e.controller)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nickName&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),null!=e.controller&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.LarkXRUpdatePlayersDesc=function(){function e(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.descs=u.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.descs&&e.descs.length)for(var r=0;r<e.descs.length;++r)l.CloudLark.LarkXRPlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRUpdatePlayersDesc;e.pos<r;){var o=e.uint32();o>>>3==1?(n.descs&&n.descs.length||(n.descs=[]),n.descs.push(l.CloudLark.LarkXRPlayerDesc.decode(e,e.uint32()))):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.descs&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=l.CloudLark.LarkXRPlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRUpdatePlayersDesc)return e;var t=new l.CloudLark.LarkXRUpdatePlayersDesc;if(e.descs){if(!Array.isArray(e.descs))throw TypeError(".CloudLark.LarkXRUpdatePlayersDesc.descs: array expected");t.descs=[];for(var r=0;r<e.descs.length;++r){if("object"!=typeof e.descs[r])throw TypeError(".CloudLark.LarkXRUpdatePlayersDesc.descs: object expected");t.descs[r]=l.CloudLark.LarkXRPlayerDesc.fromObject(e.descs[r])}}return t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var n=0;n<e.descs.length;++n)r.descs[n]=l.CloudLark.LarkXRPlayerDesc.toObject(e.descs[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.LarkXRDispatchController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.LarkXRDispatchController;e.pos<r;){var o=e.uint32();o>>>3==1?n.id=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.LarkXRDispatchController)return e;var t=new l.CloudLark.LarkXRDispatchController;return null!=e.id&&(t.id=e.id>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ToServerMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.magic=0,e.prototype.versionCheckRequest=null,e.prototype.taskRequest=null,e.prototype.startStreamRequest=null,e.prototype.webrtcOfferAnswer=null,e.prototype.webrtcIcecandidate=null,e.prototype.processControl=null,e.prototype.startVrsteamRequest=null,e.prototype.vrMonitorRequest=null,e.prototype.startNewVrstreamRequest=null,e.prototype.datachannelData=null,e.prototype.dispatchController=null,e.prototype.clientMediaOfferanswer=null,e.prototype.clientMediaIcecandidate=null,Object.defineProperty(e.prototype,"msg",{get:u.oneOfGetter(t=["versionCheckRequest","taskRequest","startStreamRequest","webrtcOfferAnswer","webrtcIcecandidate","processControl","startVrsteamRequest","vrMonitorRequest","startNewVrstreamRequest","datachannelData","dispatchController","clientMediaOfferanswer","clientMediaIcecandidate"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.magic&&Object.hasOwnProperty.call(e,"magic")&&t.uint32(8).uint32(e.magic),null!=e.versionCheckRequest&&Object.hasOwnProperty.call(e,"versionCheckRequest")&&l.CloudLark.VersionCheck.encode(e.versionCheckRequest,t.uint32(18).fork()).ldelim(),null!=e.taskRequest&&Object.hasOwnProperty.call(e,"taskRequest")&&l.CloudLark.TaskRequest.encode(e.taskRequest,t.uint32(26).fork()).ldelim(),null!=e.startStreamRequest&&Object.hasOwnProperty.call(e,"startStreamRequest")&&l.CloudLark.StartStreamRequest.encode(e.startStreamRequest,t.uint32(34).fork()).ldelim(),null!=e.webrtcOfferAnswer&&Object.hasOwnProperty.call(e,"webrtcOfferAnswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.webrtcOfferAnswer,t.uint32(42).fork()).ldelim(),null!=e.webrtcIcecandidate&&Object.hasOwnProperty.call(e,"webrtcIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.webrtcIcecandidate,t.uint32(50).fork()).ldelim(),null!=e.processControl&&Object.hasOwnProperty.call(e,"processControl")&&l.CloudLark.AppProcessControl.encode(e.processControl,t.uint32(58).fork()).ldelim(),null!=e.startVrsteamRequest&&Object.hasOwnProperty.call(e,"startVrsteamRequest")&&l.CloudLark.StartVrStreamRequest.encode(e.startVrsteamRequest,t.uint32(66).fork()).ldelim(),null!=e.vrMonitorRequest&&Object.hasOwnProperty.call(e,"vrMonitorRequest")&&l.CloudLark.VrMonitorRequest.encode(e.vrMonitorRequest,t.uint32(74).fork()).ldelim(),null!=e.startNewVrstreamRequest&&Object.hasOwnProperty.call(e,"startNewVrstreamRequest")&&l.CloudLark.StartNewVrStreamRequest.encode(e.startNewVrstreamRequest,t.uint32(82).fork()).ldelim(),null!=e.datachannelData&&Object.hasOwnProperty.call(e,"datachannelData")&&l.CloudLark.LarkXRChannelMessage.encode(e.datachannelData,t.uint32(90).fork()).ldelim(),null!=e.dispatchController&&Object.hasOwnProperty.call(e,"dispatchController")&&l.CloudLark.LarkXRDispatchController.encode(e.dispatchController,t.uint32(98).fork()).ldelim(),null!=e.clientMediaOfferanswer&&Object.hasOwnProperty.call(e,"clientMediaOfferanswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.clientMediaOfferanswer,t.uint32(106).fork()).ldelim(),null!=e.clientMediaIcecandidate&&Object.hasOwnProperty.call(e,"clientMediaIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.clientMediaIcecandidate,t.uint32(114).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ToServerMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.magic=e.uint32();break;case 2:n.versionCheckRequest=l.CloudLark.VersionCheck.decode(e,e.uint32());break;case 3:n.taskRequest=l.CloudLark.TaskRequest.decode(e,e.uint32());break;case 4:n.startStreamRequest=l.CloudLark.StartStreamRequest.decode(e,e.uint32());break;case 5:n.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 6:n.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;case 7:n.processControl=l.CloudLark.AppProcessControl.decode(e,e.uint32());break;case 8:n.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.decode(e,e.uint32());break;case 9:n.vrMonitorRequest=l.CloudLark.VrMonitorRequest.decode(e,e.uint32());break;case 10:n.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.decode(e,e.uint32());break;case 11:n.datachannelData=l.CloudLark.LarkXRChannelMessage.decode(e,e.uint32());break;case 12:n.dispatchController=l.CloudLark.LarkXRDispatchController.decode(e,e.uint32());break;case 13:n.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 14:n.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.magic&&e.hasOwnProperty("magic")&&!u.isInteger(e.magic))return"magic: integer expected";if(null!=e.versionCheckRequest&&e.hasOwnProperty("versionCheckRequest")&&(t.msg=1,r=l.CloudLark.VersionCheck.verify(e.versionCheckRequest)))return"versionCheckRequest."+r;if(null!=e.taskRequest&&e.hasOwnProperty("taskRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.TaskRequest.verify(e.taskRequest))return"taskRequest."+r}if(null!=e.startStreamRequest&&e.hasOwnProperty("startStreamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartStreamRequest.verify(e.startStreamRequest))return"startStreamRequest."+r}if(null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.webrtcOfferAnswer))return"webrtcOfferAnswer."+r}if(null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.webrtcIcecandidate))return"webrtcIcecandidate."+r}if(null!=e.processControl&&e.hasOwnProperty("processControl")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.AppProcessControl.verify(e.processControl))return"processControl."+r}if(null!=e.startVrsteamRequest&&e.hasOwnProperty("startVrsteamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartVrStreamRequest.verify(e.startVrsteamRequest))return"startVrsteamRequest."+r}if(null!=e.vrMonitorRequest&&e.hasOwnProperty("vrMonitorRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.VrMonitorRequest.verify(e.vrMonitorRequest))return"vrMonitorRequest."+r}if(null!=e.startNewVrstreamRequest&&e.hasOwnProperty("startNewVrstreamRequest")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartNewVrStreamRequest.verify(e.startNewVrstreamRequest))return"startNewVrstreamRequest."+r}if(null!=e.datachannelData&&e.hasOwnProperty("datachannelData")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRChannelMessage.verify(e.datachannelData))return"datachannelData."+r}if(null!=e.dispatchController&&e.hasOwnProperty("dispatchController")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRDispatchController.verify(e.dispatchController))return"dispatchController."+r}if(null!=e.clientMediaOfferanswer&&e.hasOwnProperty("clientMediaOfferanswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.clientMediaOfferanswer))return"clientMediaOfferanswer."+r}if(null!=e.clientMediaIcecandidate&&e.hasOwnProperty("clientMediaIcecandidate")){if(1===t.msg)return"msg: multiple values";var r;if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.clientMediaIcecandidate))return"clientMediaIcecandidate."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ToServerMessage)return e;var t=new l.CloudLark.ToServerMessage;if(null!=e.magic&&(t.magic=e.magic>>>0),null!=e.versionCheckRequest){if("object"!=typeof e.versionCheckRequest)throw TypeError(".CloudLark.ToServerMessage.versionCheckRequest: object expected");t.versionCheckRequest=l.CloudLark.VersionCheck.fromObject(e.versionCheckRequest)}if(null!=e.taskRequest){if("object"!=typeof e.taskRequest)throw TypeError(".CloudLark.ToServerMessage.taskRequest: object expected");t.taskRequest=l.CloudLark.TaskRequest.fromObject(e.taskRequest)}if(null!=e.startStreamRequest){if("object"!=typeof e.startStreamRequest)throw TypeError(".CloudLark.ToServerMessage.startStreamRequest: object expected");t.startStreamRequest=l.CloudLark.StartStreamRequest.fromObject(e.startStreamRequest)}if(null!=e.webrtcOfferAnswer){if("object"!=typeof e.webrtcOfferAnswer)throw TypeError(".CloudLark.ToServerMessage.webrtcOfferAnswer: object expected");t.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.webrtcOfferAnswer)}if(null!=e.webrtcIcecandidate){if("object"!=typeof e.webrtcIcecandidate)throw TypeError(".CloudLark.ToServerMessage.webrtcIcecandidate: object expected");t.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.webrtcIcecandidate)}if(null!=e.processControl){if("object"!=typeof e.processControl)throw TypeError(".CloudLark.ToServerMessage.processControl: object expected");t.processControl=l.CloudLark.AppProcessControl.fromObject(e.processControl)}if(null!=e.startVrsteamRequest){if("object"!=typeof e.startVrsteamRequest)throw TypeError(".CloudLark.ToServerMessage.startVrsteamRequest: object expected");t.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.fromObject(e.startVrsteamRequest)}if(null!=e.vrMonitorRequest){if("object"!=typeof e.vrMonitorRequest)throw TypeError(".CloudLark.ToServerMessage.vrMonitorRequest: object expected");t.vrMonitorRequest=l.CloudLark.VrMonitorRequest.fromObject(e.vrMonitorRequest)}if(null!=e.startNewVrstreamRequest){if("object"!=typeof e.startNewVrstreamRequest)throw TypeError(".CloudLark.ToServerMessage.startNewVrstreamRequest: object expected");t.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.fromObject(e.startNewVrstreamRequest)}if(null!=e.datachannelData){if("object"!=typeof e.datachannelData)throw TypeError(".CloudLark.ToServerMessage.datachannelData: object expected");t.datachannelData=l.CloudLark.LarkXRChannelMessage.fromObject(e.datachannelData)}if(null!=e.dispatchController){if("object"!=typeof e.dispatchController)throw TypeError(".CloudLark.ToServerMessage.dispatchController: object expected");t.dispatchController=l.CloudLark.LarkXRDispatchController.fromObject(e.dispatchController)}if(null!=e.clientMediaOfferanswer){if("object"!=typeof e.clientMediaOfferanswer)throw TypeError(".CloudLark.ToServerMessage.clientMediaOfferanswer: object expected");t.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.clientMediaOfferanswer)}if(null!=e.clientMediaIcecandidate){if("object"!=typeof e.clientMediaIcecandidate)throw TypeError(".CloudLark.ToServerMessage.clientMediaIcecandidate: object expected");t.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.clientMediaIcecandidate)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.magic=0),null!=e.magic&&e.hasOwnProperty("magic")&&(r.magic=e.magic),null!=e.versionCheckRequest&&e.hasOwnProperty("versionCheckRequest")&&(r.versionCheckRequest=l.CloudLark.VersionCheck.toObject(e.versionCheckRequest,t),t.oneofs&&(r.msg="versionCheckRequest")),null!=e.taskRequest&&e.hasOwnProperty("taskRequest")&&(r.taskRequest=l.CloudLark.TaskRequest.toObject(e.taskRequest,t),t.oneofs&&(r.msg="taskRequest")),null!=e.startStreamRequest&&e.hasOwnProperty("startStreamRequest")&&(r.startStreamRequest=l.CloudLark.StartStreamRequest.toObject(e.startStreamRequest,t),t.oneofs&&(r.msg="startStreamRequest")),null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")&&(r.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.webrtcOfferAnswer,t),t.oneofs&&(r.msg="webrtcOfferAnswer")),null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")&&(r.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.webrtcIcecandidate,t),t.oneofs&&(r.msg="webrtcIcecandidate")),null!=e.processControl&&e.hasOwnProperty("processControl")&&(r.processControl=l.CloudLark.AppProcessControl.toObject(e.processControl,t),t.oneofs&&(r.msg="processControl")),null!=e.startVrsteamRequest&&e.hasOwnProperty("startVrsteamRequest")&&(r.startVrsteamRequest=l.CloudLark.StartVrStreamRequest.toObject(e.startVrsteamRequest,t),t.oneofs&&(r.msg="startVrsteamRequest")),null!=e.vrMonitorRequest&&e.hasOwnProperty("vrMonitorRequest")&&(r.vrMonitorRequest=l.CloudLark.VrMonitorRequest.toObject(e.vrMonitorRequest,t),t.oneofs&&(r.msg="vrMonitorRequest")),null!=e.startNewVrstreamRequest&&e.hasOwnProperty("startNewVrstreamRequest")&&(r.startNewVrstreamRequest=l.CloudLark.StartNewVrStreamRequest.toObject(e.startNewVrstreamRequest,t),t.oneofs&&(r.msg="startNewVrstreamRequest")),null!=e.datachannelData&&e.hasOwnProperty("datachannelData")&&(r.datachannelData=l.CloudLark.LarkXRChannelMessage.toObject(e.datachannelData,t),t.oneofs&&(r.msg="datachannelData")),null!=e.dispatchController&&e.hasOwnProperty("dispatchController")&&(r.dispatchController=l.CloudLark.LarkXRDispatchController.toObject(e.dispatchController,t),t.oneofs&&(r.msg="dispatchController")),null!=e.clientMediaOfferanswer&&e.hasOwnProperty("clientMediaOfferanswer")&&(r.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.clientMediaOfferanswer,t),t.oneofs&&(r.msg="clientMediaOfferanswer")),null!=e.clientMediaIcecandidate&&e.hasOwnProperty("clientMediaIcecandidate")&&(r.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.clientMediaIcecandidate,t),t.oneofs&&(r.msg="clientMediaIcecandidate")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ToClientMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.magic=0,e.prototype.versionCheckResponse=null,e.prototype.taskResponse=null,e.prototype.startStreamResponse=null,e.prototype.webrtcOfferAnswer=null,e.prototype.webrtcIcecandidate=null,e.prototype.webrtcError=null,e.prototype.processNotifi=null,e.prototype.logout=null,e.prototype.startVrstreamResponse=null,e.prototype.vrMonitorResponse=null,e.prototype.datachannelState=null,e.prototype.datachannelData=null,e.prototype.updatePlayers=null,e.prototype.clientMediaOfferanswer=null,e.prototype.clientMediaIcecandidate=null,e.prototype.clientWebrtcError=null,Object.defineProperty(e.prototype,"msg",{get:u.oneOfGetter(t=["versionCheckResponse","taskResponse","startStreamResponse","webrtcOfferAnswer","webrtcIcecandidate","webrtcError","processNotifi","logout","startVrstreamResponse","vrMonitorResponse","datachannelState","datachannelData","updatePlayers","clientMediaOfferanswer","clientMediaIcecandidate","clientWebrtcError"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.magic&&Object.hasOwnProperty.call(e,"magic")&&t.uint32(8).uint32(e.magic),null!=e.versionCheckResponse&&Object.hasOwnProperty.call(e,"versionCheckResponse")&&l.CloudLark.VersionCheckResponse.encode(e.versionCheckResponse,t.uint32(18).fork()).ldelim(),null!=e.taskResponse&&Object.hasOwnProperty.call(e,"taskResponse")&&l.CloudLark.TaskResponse.encode(e.taskResponse,t.uint32(26).fork()).ldelim(),null!=e.startStreamResponse&&Object.hasOwnProperty.call(e,"startStreamResponse")&&l.CloudLark.StartStreamResponse.encode(e.startStreamResponse,t.uint32(34).fork()).ldelim(),null!=e.webrtcOfferAnswer&&Object.hasOwnProperty.call(e,"webrtcOfferAnswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.webrtcOfferAnswer,t.uint32(42).fork()).ldelim(),null!=e.webrtcIcecandidate&&Object.hasOwnProperty.call(e,"webrtcIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.webrtcIcecandidate,t.uint32(50).fork()).ldelim(),null!=e.webrtcError&&Object.hasOwnProperty.call(e,"webrtcError")&&l.CloudLark.WebrtcError.encode(e.webrtcError,t.uint32(58).fork()).ldelim(),null!=e.processNotifi&&Object.hasOwnProperty.call(e,"processNotifi")&&l.CloudLark.AppProcessNotification.encode(e.processNotifi,t.uint32(66).fork()).ldelim(),null!=e.logout&&Object.hasOwnProperty.call(e,"logout")&&l.CloudLark.NotifyClientLogout.encode(e.logout,t.uint32(74).fork()).ldelim(),null!=e.startVrstreamResponse&&Object.hasOwnProperty.call(e,"startVrstreamResponse")&&l.CloudLark.StartVrStreamResponse.encode(e.startVrstreamResponse,t.uint32(82).fork()).ldelim(),null!=e.vrMonitorResponse&&Object.hasOwnProperty.call(e,"vrMonitorResponse")&&l.CloudLark.VrMonitorResponse.encode(e.vrMonitorResponse,t.uint32(90).fork()).ldelim(),null!=e.datachannelState&&Object.hasOwnProperty.call(e,"datachannelState")&&l.CloudLark.LarkXRDataChannelState.encode(e.datachannelState,t.uint32(98).fork()).ldelim(),null!=e.datachannelData&&Object.hasOwnProperty.call(e,"datachannelData")&&l.CloudLark.LarkXRChannelMessage.encode(e.datachannelData,t.uint32(106).fork()).ldelim(),null!=e.updatePlayers&&Object.hasOwnProperty.call(e,"updatePlayers")&&l.CloudLark.LarkXRUpdatePlayersDesc.encode(e.updatePlayers,t.uint32(114).fork()).ldelim(),null!=e.clientMediaOfferanswer&&Object.hasOwnProperty.call(e,"clientMediaOfferanswer")&&l.CloudLark.WebrtcOfferAnswer.encode(e.clientMediaOfferanswer,t.uint32(122).fork()).ldelim(),null!=e.clientMediaIcecandidate&&Object.hasOwnProperty.call(e,"clientMediaIcecandidate")&&l.CloudLark.WebrtcIceCandidate.encode(e.clientMediaIcecandidate,t.uint32(130).fork()).ldelim(),null!=e.clientWebrtcError&&Object.hasOwnProperty.call(e,"clientWebrtcError")&&l.CloudLark.WebrtcError.encode(e.clientWebrtcError,t.uint32(138).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ToClientMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.magic=e.uint32();break;case 2:n.versionCheckResponse=l.CloudLark.VersionCheckResponse.decode(e,e.uint32());break;case 3:n.taskResponse=l.CloudLark.TaskResponse.decode(e,e.uint32());break;case 4:n.startStreamResponse=l.CloudLark.StartStreamResponse.decode(e,e.uint32());break;case 5:n.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 6:n.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;case 7:n.webrtcError=l.CloudLark.WebrtcError.decode(e,e.uint32());break;case 8:n.processNotifi=l.CloudLark.AppProcessNotification.decode(e,e.uint32());break;case 9:n.logout=l.CloudLark.NotifyClientLogout.decode(e,e.uint32());break;case 10:n.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.decode(e,e.uint32());break;case 11:n.vrMonitorResponse=l.CloudLark.VrMonitorResponse.decode(e,e.uint32());break;case 12:n.datachannelState=l.CloudLark.LarkXRDataChannelState.decode(e,e.uint32());break;case 13:n.datachannelData=l.CloudLark.LarkXRChannelMessage.decode(e,e.uint32());break;case 14:n.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.decode(e,e.uint32());break;case 15:n.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.decode(e,e.uint32());break;case 16:n.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.decode(e,e.uint32());break;case 17:n.clientWebrtcError=l.CloudLark.WebrtcError.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.magic&&e.hasOwnProperty("magic")&&!u.isInteger(e.magic))return"magic: integer expected";if(null!=e.versionCheckResponse&&e.hasOwnProperty("versionCheckResponse")&&(t.msg=1,r=l.CloudLark.VersionCheckResponse.verify(e.versionCheckResponse)))return"versionCheckResponse."+r;if(null!=e.taskResponse&&e.hasOwnProperty("taskResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.TaskResponse.verify(e.taskResponse))return"taskResponse."+r}if(null!=e.startStreamResponse&&e.hasOwnProperty("startStreamResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartStreamResponse.verify(e.startStreamResponse))return"startStreamResponse."+r}if(null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.webrtcOfferAnswer))return"webrtcOfferAnswer."+r}if(null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.webrtcIcecandidate))return"webrtcIcecandidate."+r}if(null!=e.webrtcError&&e.hasOwnProperty("webrtcError")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcError.verify(e.webrtcError))return"webrtcError."+r}if(null!=e.processNotifi&&e.hasOwnProperty("processNotifi")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.AppProcessNotification.verify(e.processNotifi))return"processNotifi."+r}if(null!=e.logout&&e.hasOwnProperty("logout")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.NotifyClientLogout.verify(e.logout))return"logout."+r}if(null!=e.startVrstreamResponse&&e.hasOwnProperty("startVrstreamResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.StartVrStreamResponse.verify(e.startVrstreamResponse))return"startVrstreamResponse."+r}if(null!=e.vrMonitorResponse&&e.hasOwnProperty("vrMonitorResponse")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.VrMonitorResponse.verify(e.vrMonitorResponse))return"vrMonitorResponse."+r}if(null!=e.datachannelState&&e.hasOwnProperty("datachannelState")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRDataChannelState.verify(e.datachannelState))return"datachannelState."+r}if(null!=e.datachannelData&&e.hasOwnProperty("datachannelData")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRChannelMessage.verify(e.datachannelData))return"datachannelData."+r}if(null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.LarkXRUpdatePlayersDesc.verify(e.updatePlayers))return"updatePlayers."+r}if(null!=e.clientMediaOfferanswer&&e.hasOwnProperty("clientMediaOfferanswer")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcOfferAnswer.verify(e.clientMediaOfferanswer))return"clientMediaOfferanswer."+r}if(null!=e.clientMediaIcecandidate&&e.hasOwnProperty("clientMediaIcecandidate")){if(1===t.msg)return"msg: multiple values";if(t.msg=1,r=l.CloudLark.WebrtcIceCandidate.verify(e.clientMediaIcecandidate))return"clientMediaIcecandidate."+r}if(null!=e.clientWebrtcError&&e.hasOwnProperty("clientWebrtcError")){if(1===t.msg)return"msg: multiple values";var r;if(t.msg=1,r=l.CloudLark.WebrtcError.verify(e.clientWebrtcError))return"clientWebrtcError."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ToClientMessage)return e;var t=new l.CloudLark.ToClientMessage;if(null!=e.magic&&(t.magic=e.magic>>>0),null!=e.versionCheckResponse){if("object"!=typeof e.versionCheckResponse)throw TypeError(".CloudLark.ToClientMessage.versionCheckResponse: object expected");t.versionCheckResponse=l.CloudLark.VersionCheckResponse.fromObject(e.versionCheckResponse)}if(null!=e.taskResponse){if("object"!=typeof e.taskResponse)throw TypeError(".CloudLark.ToClientMessage.taskResponse: object expected");t.taskResponse=l.CloudLark.TaskResponse.fromObject(e.taskResponse)}if(null!=e.startStreamResponse){if("object"!=typeof e.startStreamResponse)throw TypeError(".CloudLark.ToClientMessage.startStreamResponse: object expected");t.startStreamResponse=l.CloudLark.StartStreamResponse.fromObject(e.startStreamResponse)}if(null!=e.webrtcOfferAnswer){if("object"!=typeof e.webrtcOfferAnswer)throw TypeError(".CloudLark.ToClientMessage.webrtcOfferAnswer: object expected");t.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.webrtcOfferAnswer)}if(null!=e.webrtcIcecandidate){if("object"!=typeof e.webrtcIcecandidate)throw TypeError(".CloudLark.ToClientMessage.webrtcIcecandidate: object expected");t.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.webrtcIcecandidate)}if(null!=e.webrtcError){if("object"!=typeof e.webrtcError)throw TypeError(".CloudLark.ToClientMessage.webrtcError: object expected");t.webrtcError=l.CloudLark.WebrtcError.fromObject(e.webrtcError)}if(null!=e.processNotifi){if("object"!=typeof e.processNotifi)throw TypeError(".CloudLark.ToClientMessage.processNotifi: object expected");t.processNotifi=l.CloudLark.AppProcessNotification.fromObject(e.processNotifi)}if(null!=e.logout){if("object"!=typeof e.logout)throw TypeError(".CloudLark.ToClientMessage.logout: object expected");t.logout=l.CloudLark.NotifyClientLogout.fromObject(e.logout)}if(null!=e.startVrstreamResponse){if("object"!=typeof e.startVrstreamResponse)throw TypeError(".CloudLark.ToClientMessage.startVrstreamResponse: object expected");t.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.fromObject(e.startVrstreamResponse)}if(null!=e.vrMonitorResponse){if("object"!=typeof e.vrMonitorResponse)throw TypeError(".CloudLark.ToClientMessage.vrMonitorResponse: object expected");t.vrMonitorResponse=l.CloudLark.VrMonitorResponse.fromObject(e.vrMonitorResponse)}if(null!=e.datachannelState){if("object"!=typeof e.datachannelState)throw TypeError(".CloudLark.ToClientMessage.datachannelState: object expected");t.datachannelState=l.CloudLark.LarkXRDataChannelState.fromObject(e.datachannelState)}if(null!=e.datachannelData){if("object"!=typeof e.datachannelData)throw TypeError(".CloudLark.ToClientMessage.datachannelData: object expected");t.datachannelData=l.CloudLark.LarkXRChannelMessage.fromObject(e.datachannelData)}if(null!=e.updatePlayers){if("object"!=typeof e.updatePlayers)throw TypeError(".CloudLark.ToClientMessage.updatePlayers: object expected");t.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.fromObject(e.updatePlayers)}if(null!=e.clientMediaOfferanswer){if("object"!=typeof e.clientMediaOfferanswer)throw TypeError(".CloudLark.ToClientMessage.clientMediaOfferanswer: object expected");t.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.fromObject(e.clientMediaOfferanswer)}if(null!=e.clientMediaIcecandidate){if("object"!=typeof e.clientMediaIcecandidate)throw TypeError(".CloudLark.ToClientMessage.clientMediaIcecandidate: object expected");t.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.fromObject(e.clientMediaIcecandidate)}if(null!=e.clientWebrtcError){if("object"!=typeof e.clientWebrtcError)throw TypeError(".CloudLark.ToClientMessage.clientWebrtcError: object expected");t.clientWebrtcError=l.CloudLark.WebrtcError.fromObject(e.clientWebrtcError)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.magic=0),null!=e.magic&&e.hasOwnProperty("magic")&&(r.magic=e.magic),null!=e.versionCheckResponse&&e.hasOwnProperty("versionCheckResponse")&&(r.versionCheckResponse=l.CloudLark.VersionCheckResponse.toObject(e.versionCheckResponse,t),t.oneofs&&(r.msg="versionCheckResponse")),null!=e.taskResponse&&e.hasOwnProperty("taskResponse")&&(r.taskResponse=l.CloudLark.TaskResponse.toObject(e.taskResponse,t),t.oneofs&&(r.msg="taskResponse")),null!=e.startStreamResponse&&e.hasOwnProperty("startStreamResponse")&&(r.startStreamResponse=l.CloudLark.StartStreamResponse.toObject(e.startStreamResponse,t),t.oneofs&&(r.msg="startStreamResponse")),null!=e.webrtcOfferAnswer&&e.hasOwnProperty("webrtcOfferAnswer")&&(r.webrtcOfferAnswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.webrtcOfferAnswer,t),t.oneofs&&(r.msg="webrtcOfferAnswer")),null!=e.webrtcIcecandidate&&e.hasOwnProperty("webrtcIcecandidate")&&(r.webrtcIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.webrtcIcecandidate,t),t.oneofs&&(r.msg="webrtcIcecandidate")),null!=e.webrtcError&&e.hasOwnProperty("webrtcError")&&(r.webrtcError=l.CloudLark.WebrtcError.toObject(e.webrtcError,t),t.oneofs&&(r.msg="webrtcError")),null!=e.processNotifi&&e.hasOwnProperty("processNotifi")&&(r.processNotifi=l.CloudLark.AppProcessNotification.toObject(e.processNotifi,t),t.oneofs&&(r.msg="processNotifi")),null!=e.logout&&e.hasOwnProperty("logout")&&(r.logout=l.CloudLark.NotifyClientLogout.toObject(e.logout,t),t.oneofs&&(r.msg="logout")),null!=e.startVrstreamResponse&&e.hasOwnProperty("startVrstreamResponse")&&(r.startVrstreamResponse=l.CloudLark.StartVrStreamResponse.toObject(e.startVrstreamResponse,t),t.oneofs&&(r.msg="startVrstreamResponse")),null!=e.vrMonitorResponse&&e.hasOwnProperty("vrMonitorResponse")&&(r.vrMonitorResponse=l.CloudLark.VrMonitorResponse.toObject(e.vrMonitorResponse,t),t.oneofs&&(r.msg="vrMonitorResponse")),null!=e.datachannelState&&e.hasOwnProperty("datachannelState")&&(r.datachannelState=l.CloudLark.LarkXRDataChannelState.toObject(e.datachannelState,t),t.oneofs&&(r.msg="datachannelState")),null!=e.datachannelData&&e.hasOwnProperty("datachannelData")&&(r.datachannelData=l.CloudLark.LarkXRChannelMessage.toObject(e.datachannelData,t),t.oneofs&&(r.msg="datachannelData")),null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")&&(r.updatePlayers=l.CloudLark.LarkXRUpdatePlayersDesc.toObject(e.updatePlayers,t),t.oneofs&&(r.msg="updatePlayers")),null!=e.clientMediaOfferanswer&&e.hasOwnProperty("clientMediaOfferanswer")&&(r.clientMediaOfferanswer=l.CloudLark.WebrtcOfferAnswer.toObject(e.clientMediaOfferanswer,t),t.oneofs&&(r.msg="clientMediaOfferanswer")),null!=e.clientMediaIcecandidate&&e.hasOwnProperty("clientMediaIcecandidate")&&(r.clientMediaIcecandidate=l.CloudLark.WebrtcIceCandidate.toObject(e.clientMediaIcecandidate,t),t.oneofs&&(r.msg="clientMediaIcecandidate")),null!=e.clientWebrtcError&&e.hasOwnProperty("clientWebrtcError")&&(r.clientWebrtcError=l.CloudLark.WebrtcError.toObject(e.clientWebrtcError,t),t.oneofs&&(r.msg="clientWebrtcError")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseMove=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.DeltaX=0,e.prototype.DeltaY=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.DeltaX&&Object.hasOwnProperty.call(e,"DeltaX")&&t.uint32(24).sint32(e.DeltaX),null!=e.DeltaY&&Object.hasOwnProperty.call(e,"DeltaY")&&t.uint32(32).sint32(e.DeltaY),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseMove;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.DeltaX=e.sint32();break;case 4:n.DeltaY=e.sint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.DeltaX&&e.hasOwnProperty("DeltaX")&&!u.isInteger(e.DeltaX)?"DeltaX: integer expected":null!=e.DeltaY&&e.hasOwnProperty("DeltaY")&&!u.isInteger(e.DeltaY)?"DeltaY: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseMove)return e;var t=new l.CloudLark.MouseMove;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.DeltaX&&(t.DeltaX=0|e.DeltaX),null!=e.DeltaY&&(t.DeltaY=0|e.DeltaY),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.DeltaX=0,r.DeltaY=0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.DeltaX&&e.hasOwnProperty("DeltaX")&&(r.DeltaX=e.DeltaX),null!=e.DeltaY&&e.hasOwnProperty("DeltaY")&&(r.DeltaY=e.DeltaY),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseKey=function(){var e={},t=Object.create(e);return t[e[0]="LEFT"]=0,t[e[1]="RIGHT"]=1,t[e[2]="MIDDLE"]=2,t}(),i.MouseDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.key=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX))return"PosX: integer expected";if(null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY))return"PosY: integer expected";if(null!=e.key&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseDown)return e;var t=new l.CloudLark.MouseDown;switch(null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),e.key){case"LEFT":case 0:t.key=0;break;case"RIGHT":case 1:t.key=1;break;case"MIDDLE":case 2:t.key=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.key&&e.hasOwnProperty("key")&&(r.key=t.enums===String?l.CloudLark.MouseKey[e.key]:e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.key=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX))return"PosX: integer expected";if(null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY))return"PosY: integer expected";if(null!=e.key&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseUp)return e;var t=new l.CloudLark.MouseUp;switch(null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),e.key){case"LEFT":case 0:t.key=0;break;case"RIGHT":case 1:t.key=1;break;case"MIDDLE":case 2:t.key=2}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.key&&e.hasOwnProperty("key")&&(r.key=t.enums===String?l.CloudLark.MouseKey[e.key]:e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseWheel=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.Delata=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.Delata&&Object.hasOwnProperty.call(e,"Delata")&&t.uint32(24).sint32(e.Delata),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseWheel;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.Delata=e.sint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.Delata&&e.hasOwnProperty("Delata")&&!u.isInteger(e.Delata)?"Delata: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseWheel)return e;var t=new l.CloudLark.MouseWheel;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.Delata&&(t.Delata=0|e.Delata),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.Delata=0),null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.Delata&&e.hasOwnProperty("Delata")&&(r.Delata=e.Delata),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.KeyDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.key=0,e.prototype.isRepeat=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),null!=e.isRepeat&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(16).bool(e.isRepeat),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.KeyDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.key=e.int32();break;case 2:n.isRepeat=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isInteger(e.key)?"key: integer expected":null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&"boolean"!=typeof e.isRepeat?"isRepeat: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.KeyDown)return e;var t=new l.CloudLark.KeyDown;return null!=e.key&&(t.key=0|e.key),null!=e.isRepeat&&(t.isRepeat=Boolean(e.isRepeat)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0,r.isRepeat=!1),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.KeyUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.key=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.KeyUp;e.pos<r;){var o=e.uint32();o>>>3==1?n.key=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isInteger(e.key)?"key: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.KeyUp)return e;var t=new l.CloudLark.KeyUp;return null!=e.key&&(t.key=0|e.key),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ClientEnter=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.CapsLockState=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.CapsLockState&&Object.hasOwnProperty.call(e,"CapsLockState")&&t.uint32(8).bool(e.CapsLockState),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientEnter;e.pos<r;){var o=e.uint32();o>>>3==1?n.CapsLockState=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.CapsLockState&&e.hasOwnProperty("CapsLockState")&&"boolean"!=typeof e.CapsLockState?"CapsLockState: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.ClientEnter)return e;var t=new l.CloudLark.ClientEnter;return null!=e.CapsLockState&&(t.CapsLockState=Boolean(e.CapsLockState)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.CapsLockState=!1),null!=e.CapsLockState&&e.hasOwnProperty("CapsLockState")&&(r.CapsLockState=e.CapsLockState),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.ClientLeave=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientLeave;e.pos<r;){var o=e.uint32();e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof l.CloudLark.ClientLeave?e:new l.CloudLark.ClientLeave},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchUp)return e;var t=new l.CloudLark.TouchUp;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchDown)return e;var t=new l.CloudLark.TouchDown;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TouchMove=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.PosX=0,e.prototype.PosY=0,e.prototype.time=u.Long?u.Long.fromBits(0,0,!0):0,e.prototype.ID=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.PosX&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),null!=e.PosY&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),null!=e.time&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),null!=e.ID&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TouchMove;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.PosX=e.uint32();break;case 2:n.PosY=e.uint32();break;case 3:n.time=e.uint64();break;case 4:n.ID=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.PosX&&e.hasOwnProperty("PosX")&&!u.isInteger(e.PosX)?"PosX: integer expected":null!=e.PosY&&e.hasOwnProperty("PosY")&&!u.isInteger(e.PosY)?"PosY: integer expected":null!=e.time&&e.hasOwnProperty("time")&&!(u.isInteger(e.time)||e.time&&u.isInteger(e.time.low)&&u.isInteger(e.time.high))?"time: integer|Long expected":null!=e.ID&&e.hasOwnProperty("ID")&&!u.isInteger(e.ID)?"ID: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TouchMove)return e;var t=new l.CloudLark.TouchMove;return null!=e.PosX&&(t.PosX=e.PosX>>>0),null!=e.PosY&&(t.PosY=e.PosY>>>0),null!=e.time&&(u.Long?(t.time=u.Long.fromValue(e.time)).unsigned=!0:"string"==typeof e.time?t.time=parseInt(e.time,10):"number"==typeof e.time?t.time=e.time:"object"==typeof e.time&&(t.time=new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),null!=e.ID&&(t.ID=e.ID>>>0),t},e.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,u.Long){var n=new u.Long(0,0,!0);r.time=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else r.time=t.longs===String?"0":0;r.ID=0}return null!=e.PosX&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),null!=e.PosY&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),null!=e.time&&e.hasOwnProperty("time")&&("number"==typeof e.time?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?u.Long.prototype.toString.call(e.time):t.longs===Number?new u.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),null!=e.ID&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppResize=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppResize;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppResize)return e;var t=new l.CloudLark.AppResize;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.MouseLockRect=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.top=0,e.prototype.left=0,e.prototype.right=0,e.prototype.bottom=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.top&&Object.hasOwnProperty.call(e,"top")&&t.uint32(8).int32(e.top),null!=e.left&&Object.hasOwnProperty.call(e,"left")&&t.uint32(16).int32(e.left),null!=e.right&&Object.hasOwnProperty.call(e,"right")&&t.uint32(24).int32(e.right),null!=e.bottom&&Object.hasOwnProperty.call(e,"bottom")&&t.uint32(32).int32(e.bottom),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.MouseLockRect;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.top=e.int32();break;case 2:n.left=e.int32();break;case 3:n.right=e.int32();break;case 4:n.bottom=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.top&&e.hasOwnProperty("top")&&!u.isInteger(e.top)?"top: integer expected":null!=e.left&&e.hasOwnProperty("left")&&!u.isInteger(e.left)?"left: integer expected":null!=e.right&&e.hasOwnProperty("right")&&!u.isInteger(e.right)?"right: integer expected":null!=e.bottom&&e.hasOwnProperty("bottom")&&!u.isInteger(e.bottom)?"bottom: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.MouseLockRect)return e;var t=new l.CloudLark.MouseLockRect;return null!=e.top&&(t.top=0|e.top),null!=e.left&&(t.left=0|e.left),null!=e.right&&(t.right=0|e.right),null!=e.bottom&&(t.bottom=0|e.bottom),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.top=0,r.left=0,r.right=0,r.bottom=0),null!=e.top&&e.hasOwnProperty("top")&&(r.top=e.top),null!=e.left&&e.hasOwnProperty("left")&&(r.left=e.left),null!=e.right&&e.hasOwnProperty("right")&&(r.right=e.right),null!=e.bottom&&e.hasOwnProperty("bottom")&&(r.bottom=e.bottom),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppMouseMode=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.mouseShow=!1,e.prototype.mouseLock=!1,e.prototype.mouseRelative=!1,e.prototype.rect=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.mouseShow&&Object.hasOwnProperty.call(e,"mouseShow")&&t.uint32(8).bool(e.mouseShow),null!=e.mouseLock&&Object.hasOwnProperty.call(e,"mouseLock")&&t.uint32(16).bool(e.mouseLock),null!=e.mouseRelative&&Object.hasOwnProperty.call(e,"mouseRelative")&&t.uint32(24).bool(e.mouseRelative),null!=e.rect&&Object.hasOwnProperty.call(e,"rect")&&l.CloudLark.MouseLockRect.encode(e.rect,t.uint32(34).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppMouseMode;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.mouseShow=e.bool();break;case 2:n.mouseLock=e.bool();break;case 3:n.mouseRelative=e.bool();break;case 4:n.rect=l.CloudLark.MouseLockRect.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.mouseShow&&e.hasOwnProperty("mouseShow")&&"boolean"!=typeof e.mouseShow)return"mouseShow: boolean expected";if(null!=e.mouseLock&&e.hasOwnProperty("mouseLock")&&"boolean"!=typeof e.mouseLock)return"mouseLock: boolean expected";if(null!=e.mouseRelative&&e.hasOwnProperty("mouseRelative")&&"boolean"!=typeof e.mouseRelative)return"mouseRelative: boolean expected";if(null!=e.rect&&e.hasOwnProperty("rect")){var t=l.CloudLark.MouseLockRect.verify(e.rect);if(t)return"rect."+t}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppMouseMode)return e;var t=new l.CloudLark.AppMouseMode;if(null!=e.mouseShow&&(t.mouseShow=Boolean(e.mouseShow)),null!=e.mouseLock&&(t.mouseLock=Boolean(e.mouseLock)),null!=e.mouseRelative&&(t.mouseRelative=Boolean(e.mouseRelative)),null!=e.rect){if("object"!=typeof e.rect)throw TypeError(".CloudLark.AppMouseMode.rect: object expected");t.rect=l.CloudLark.MouseLockRect.fromObject(e.rect)}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.mouseShow=!1,r.mouseLock=!1,r.mouseRelative=!1,r.rect=null),null!=e.mouseShow&&e.hasOwnProperty("mouseShow")&&(r.mouseShow=e.mouseShow),null!=e.mouseLock&&e.hasOwnProperty("mouseLock")&&(r.mouseLock=e.mouseLock),null!=e.mouseRelative&&e.hasOwnProperty("mouseRelative")&&(r.mouseRelative=e.mouseRelative),null!=e.rect&&e.hasOwnProperty("rect")&&(r.rect=l.CloudLark.MouseLockRect.toObject(e.rect,t)),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.PlayerDesc=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.prototype.nickName="",e.prototype.taskOwner=!1,e.prototype.controller=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),null!=e.nickName&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),null!=e.taskOwner&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),null!=e.controller&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.PlayerDesc;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.id=e.uint32();break;case 2:n.nickName=e.string();break;case 3:n.taskOwner=e.bool();break;case 4:n.controller=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null!=e.nickName&&e.hasOwnProperty("nickName")&&!u.isString(e.nickName)?"nickName: string expected":null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&"boolean"!=typeof e.taskOwner?"taskOwner: boolean expected":null!=e.controller&&e.hasOwnProperty("controller")&&"boolean"!=typeof e.controller?"controller: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.PlayerDesc)return e;var t=new l.CloudLark.PlayerDesc;return null!=e.id&&(t.id=e.id>>>0),null!=e.nickName&&(t.nickName=String(e.nickName)),null!=e.taskOwner&&(t.taskOwner=Boolean(e.taskOwner)),null!=e.controller&&(t.controller=Boolean(e.controller)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),null!=e.nickName&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),null!=e.taskOwner&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),null!=e.controller&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.UpdatePlayersDesc=function(){function e(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.descs=u.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=c.create()),null!=e.descs&&e.descs.length)for(var r=0;r<e.descs.length;++r)l.CloudLark.PlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.UpdatePlayersDesc;e.pos<r;){var o=e.uint32();o>>>3==1?(n.descs&&n.descs.length||(n.descs=[]),n.descs.push(l.CloudLark.PlayerDesc.decode(e,e.uint32()))):e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.descs&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=l.CloudLark.PlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.UpdatePlayersDesc)return e;var t=new l.CloudLark.UpdatePlayersDesc;if(e.descs){if(!Array.isArray(e.descs))throw TypeError(".CloudLark.UpdatePlayersDesc.descs: array expected");t.descs=[];for(var r=0;r<e.descs.length;++r){if("object"!=typeof e.descs[r])throw TypeError(".CloudLark.UpdatePlayersDesc.descs: object expected");t.descs[r]=l.CloudLark.PlayerDesc.fromObject(e.descs[r])}}return t},e.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var n=0;n<e.descs.length;++n)r.descs[n]=l.CloudLark.PlayerDesc.toObject(e.descs[n],t)}return r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppRequestInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.inputmethodenable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.inputmethodenable&&Object.hasOwnProperty.call(e,"inputmethodenable")&&t.uint32(8).bool(e.inputmethodenable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppRequestInput;e.pos<r;){var o=e.uint32();o>>>3==1?n.inputmethodenable=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.inputmethodenable&&e.hasOwnProperty("inputmethodenable")&&"boolean"!=typeof e.inputmethodenable?"inputmethodenable: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppRequestInput)return e;var t=new l.CloudLark.AppRequestInput;return null!=e.inputmethodenable&&(t.inputmethodenable=Boolean(e.inputmethodenable)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.inputmethodenable=!1),null!=e.inputmethodenable&&e.hasOwnProperty("inputmethodenable")&&(r.inputmethodenable=e.inputmethodenable),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.DispatchController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.id=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.DispatchController;e.pos<r;){var o=e.uint32();o>>>3==1?n.id=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!u.isInteger(e.id)?"id: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.DispatchController)return e;var t=new l.CloudLark.DispatchController;return null!=e.id&&(t.id=e.id>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),null!=e.id&&e.hasOwnProperty("id")&&(r.id=e.id),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.RequestController=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.enable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.enable&&Object.hasOwnProperty.call(e,"enable")&&t.uint32(8).bool(e.enable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.RequestController;e.pos<r;){var o=e.uint32();o>>>3==1?n.enable=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.enable&&e.hasOwnProperty("enable")&&"boolean"!=typeof e.enable?"enable: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.RequestController)return e;var t=new l.CloudLark.RequestController;return null!=e.enable&&(t.enable=Boolean(e.enable)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enable=!1),null!=e.enable&&e.hasOwnProperty("enable")&&(r.enable=e.enable),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.TextInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.content="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(10).string(e.content),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.TextInput;e.pos<r;){var o=e.uint32();o>>>3==1?n.content=e.string():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.content&&e.hasOwnProperty("content")&&!u.isString(e.content)?"content: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.TextInput)return e;var t=new l.CloudLark.TextInput;return null!=e.content&&(t.content=String(e.content)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.content=""),null!=e.content&&e.hasOwnProperty("content")&&(r.content=e.content),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputButtonDown=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.button=0,e.prototype.isRepeat=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.button&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),null!=e.isRepeat&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(24).bool(e.isRepeat),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputButtonDown;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.button=e.uint32();break;case 3:n.isRepeat=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.button&&e.hasOwnProperty("button")&&!u.isInteger(e.button)?"button: integer expected":null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&"boolean"!=typeof e.isRepeat?"isRepeat: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputButtonDown)return e;var t=new l.CloudLark.GamepadInputButtonDown;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.button&&(t.button=e.button>>>0),null!=e.isRepeat&&(t.isRepeat=Boolean(e.isRepeat)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0,r.isRepeat=!1),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.button&&e.hasOwnProperty("button")&&(r.button=e.button),null!=e.isRepeat&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputButtonUp=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.button=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.button&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputButtonUp;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.button=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.button&&e.hasOwnProperty("button")&&!u.isInteger(e.button)?"button: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputButtonUp)return e;var t=new l.CloudLark.GamepadInputButtonUp;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.button&&(t.button=e.button>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.button&&e.hasOwnProperty("button")&&(r.button=e.button),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputJoyStickStates=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.thumblx=0,e.prototype.thumbly=0,e.prototype.thumbrx=0,e.prototype.thumbry=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.thumblx&&Object.hasOwnProperty.call(e,"thumblx")&&t.uint32(16).int32(e.thumblx),null!=e.thumbly&&Object.hasOwnProperty.call(e,"thumbly")&&t.uint32(24).int32(e.thumbly),null!=e.thumbrx&&Object.hasOwnProperty.call(e,"thumbrx")&&t.uint32(32).int32(e.thumbrx),null!=e.thumbry&&Object.hasOwnProperty.call(e,"thumbry")&&t.uint32(40).int32(e.thumbry),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputJoyStickStates;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.thumblx=e.int32();break;case 3:n.thumbly=e.int32();break;case 4:n.thumbrx=e.int32();break;case 5:n.thumbry=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.thumblx&&e.hasOwnProperty("thumblx")&&!u.isInteger(e.thumblx)?"thumblx: integer expected":null!=e.thumbly&&e.hasOwnProperty("thumbly")&&!u.isInteger(e.thumbly)?"thumbly: integer expected":null!=e.thumbrx&&e.hasOwnProperty("thumbrx")&&!u.isInteger(e.thumbrx)?"thumbrx: integer expected":null!=e.thumbry&&e.hasOwnProperty("thumbry")&&!u.isInteger(e.thumbry)?"thumbry: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputJoyStickStates)return e;var t=new l.CloudLark.GamepadInputJoyStickStates;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.thumblx&&(t.thumblx=0|e.thumblx),null!=e.thumbly&&(t.thumbly=0|e.thumbly),null!=e.thumbrx&&(t.thumbrx=0|e.thumbrx),null!=e.thumbry&&(t.thumbry=0|e.thumbry),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.thumblx=0,r.thumbly=0,r.thumbrx=0,r.thumbry=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.thumblx&&e.hasOwnProperty("thumblx")&&(r.thumblx=e.thumblx),null!=e.thumbly&&e.hasOwnProperty("thumbly")&&(r.thumbly=e.thumbly),null!=e.thumbrx&&e.hasOwnProperty("thumbrx")&&(r.thumbrx=e.thumbrx),null!=e.thumbry&&e.hasOwnProperty("thumbry")&&(r.thumbry=e.thumbry),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadInputTriger=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.isleft=!1,e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.isleft&&Object.hasOwnProperty.call(e,"isleft")&&t.uint32(16).bool(e.isleft),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(24).int32(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadInputTriger;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.isleft=e.bool();break;case 3:n.value=e.int32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.isleft&&e.hasOwnProperty("isleft")&&"boolean"!=typeof e.isleft?"isleft: boolean expected":null!=e.value&&e.hasOwnProperty("value")&&!u.isInteger(e.value)?"value: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadInputTriger)return e;var t=new l.CloudLark.GamepadInputTriger;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.isleft&&(t.isleft=Boolean(e.isleft)),null!=e.value&&(t.value=0|e.value),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.isleft=!1,r.value=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.isleft&&e.hasOwnProperty("isleft")&&(r.isleft=e.isleft),null!=e.value&&e.hasOwnProperty("value")&&(r.value=e.value),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.GamepadOutput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.userIndex=0,e.prototype.leftmotorspeed=0,e.prototype.rightmotorspeed=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.userIndex&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),null!=e.leftmotorspeed&&Object.hasOwnProperty.call(e,"leftmotorspeed")&&t.uint32(16).uint32(e.leftmotorspeed),null!=e.rightmotorspeed&&Object.hasOwnProperty.call(e,"rightmotorspeed")&&t.uint32(24).uint32(e.rightmotorspeed),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.GamepadOutput;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.userIndex=e.int32();break;case 2:n.leftmotorspeed=e.uint32();break;case 3:n.rightmotorspeed=e.uint32();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userIndex&&e.hasOwnProperty("userIndex")&&!u.isInteger(e.userIndex)?"userIndex: integer expected":null!=e.leftmotorspeed&&e.hasOwnProperty("leftmotorspeed")&&!u.isInteger(e.leftmotorspeed)?"leftmotorspeed: integer expected":null!=e.rightmotorspeed&&e.hasOwnProperty("rightmotorspeed")&&!u.isInteger(e.rightmotorspeed)?"rightmotorspeed: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.GamepadOutput)return e;var t=new l.CloudLark.GamepadOutput;return null!=e.userIndex&&(t.userIndex=0|e.userIndex),null!=e.leftmotorspeed&&(t.leftmotorspeed=e.leftmotorspeed>>>0),null!=e.rightmotorspeed&&(t.rightmotorspeed=e.rightmotorspeed>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.leftmotorspeed=0,r.rightmotorspeed=0),null!=e.userIndex&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),null!=e.leftmotorspeed&&e.hasOwnProperty("leftmotorspeed")&&(r.leftmotorspeed=e.leftmotorspeed),null!=e.rightmotorspeed&&e.hasOwnProperty("rightmotorspeed")&&(r.rightmotorspeed=e.rightmotorspeed),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppDataChannelState=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppDataChannelState;e.pos<r;){var o=e.uint32();o>>>3==1?n.state=e.int32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppDataChannelState)return e;var t=new l.CloudLark.AppDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.AppDataChannelState.State[e.state]:e.state),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),e}(),i.AppDataChannelMessage=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.data=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppDataChannelMessage;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.data=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||u.isString(e.data))?"data: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppDataChannelMessage)return e;var t=new l.CloudLark.AppDataChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return null!=e.data&&("string"==typeof e.data?u.base64.decode(e.data,t.data=u.newBuffer(u.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"STRING":0,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=u.newBuffer(r.data)))),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.AppDataChannelMessage.Type[e.type]:e.type),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?u.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),e}(),i.SyncCursorStyle=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.type=0,e.prototype.hotX=0,e.prototype.hotY=0,e.prototype.width=0,e.prototype.height=0,e.prototype.customBase64="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.hotX&&Object.hasOwnProperty.call(e,"hotX")&&t.uint32(16).int32(e.hotX),null!=e.hotY&&Object.hasOwnProperty.call(e,"hotY")&&t.uint32(24).int32(e.hotY),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(32).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(40).uint32(e.height),null!=e.customBase64&&Object.hasOwnProperty.call(e,"customBase64")&&t.uint32(50).string(e.customBase64),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.SyncCursorStyle;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.type=e.int32();break;case 2:n.hotX=e.int32();break;case 3:n.hotY=e.int32();break;case 4:n.width=e.uint32();break;case 5:n.height=e.uint32();break;case 6:n.customBase64=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:}return null!=e.hotX&&e.hasOwnProperty("hotX")&&!u.isInteger(e.hotX)?"hotX: integer expected":null!=e.hotY&&e.hasOwnProperty("hotY")&&!u.isInteger(e.hotY)?"hotY: integer expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.customBase64&&e.hasOwnProperty("customBase64")&&!u.isString(e.customBase64)?"customBase64: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.SyncCursorStyle)return e;var t=new l.CloudLark.SyncCursorStyle;switch(e.type){case"ARROW":case 0:t.type=0;break;case"IBEAM":case 1:t.type=1;break;case"WAIT":case 2:t.type=2;break;case"CROSS":case 3:t.type=3;break;case"SIZENWSE":case 4:t.type=4;break;case"SIZENESW":case 5:t.type=5;break;case"SIZEWE":case 6:t.type=6;break;case"SIZENS":case 7:t.type=7;break;case"SIZEALL":case 8:t.type=8;break;case"NO":case 9:t.type=9;break;case"HAND":case 10:t.type=10;break;case"CUSTOM":case 11:t.type=11}return null!=e.hotX&&(t.hotX=0|e.hotX),null!=e.hotY&&(t.hotY=0|e.hotY),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.customBase64&&(t.customBase64=String(e.customBase64)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type=t.enums===String?"ARROW":0,r.hotX=0,r.hotY=0,r.width=0,r.height=0,r.customBase64=""),null!=e.type&&e.hasOwnProperty("type")&&(r.type=t.enums===String?l.CloudLark.SyncCursorStyle.CursorType[e.type]:e.type),null!=e.hotX&&e.hasOwnProperty("hotX")&&(r.hotX=e.hotX),null!=e.hotY&&e.hasOwnProperty("hotY")&&(r.hotY=e.hotY),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.customBase64&&e.hasOwnProperty("customBase64")&&(r.customBase64=e.customBase64),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.CursorType=function(){var e={},t=Object.create(e);return t[e[0]="ARROW"]=0,t[e[1]="IBEAM"]=1,t[e[2]="WAIT"]=2,t[e[3]="CROSS"]=3,t[e[4]="SIZENWSE"]=4,t[e[5]="SIZENESW"]=5,t[e[6]="SIZEWE"]=6,t[e[7]="SIZENS"]=7,t[e[8]="SIZEALL"]=8,t[e[9]="NO"]=9,t[e[10]="HAND"]=10,t[e[11]="CUSTOM"]=11,t}(),e}(),i.AiVoiceServiceStatus=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.success=!1,e.prototype.reason="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.success&&Object.hasOwnProperty.call(e,"success")&&t.uint32(8).bool(e.success),null!=e.reason&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(18).string(e.reason),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceServiceStatus;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.success=e.bool();break;case 2:n.reason=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.success&&e.hasOwnProperty("success")&&"boolean"!=typeof e.success?"success: boolean expected":null!=e.reason&&e.hasOwnProperty("reason")&&!u.isString(e.reason)?"reason: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceServiceStatus)return e;var t=new l.CloudLark.AiVoiceServiceStatus;return null!=e.success&&(t.success=Boolean(e.success)),null!=e.reason&&(t.reason=String(e.reason)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.success=!1,r.reason=""),null!=e.success&&e.hasOwnProperty("success")&&(r.success=e.success),null!=e.reason&&e.hasOwnProperty("reason")&&(r.reason=e.reason),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamStart=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamStart;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamStart)return e;var t=new l.CloudLark.AiVoiceStreamStart;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamSlice=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.sliceId=0,e.prototype.audio=u.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.sliceId&&Object.hasOwnProperty.call(e,"sliceId")&&t.uint32(16).uint32(e.sliceId),null!=e.audio&&Object.hasOwnProperty.call(e,"audio")&&t.uint32(26).bytes(e.audio),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamSlice;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.sliceId=e.uint32();break;case 3:n.audio=e.bytes();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.sliceId&&e.hasOwnProperty("sliceId")&&!u.isInteger(e.sliceId)?"sliceId: integer expected":null!=e.audio&&e.hasOwnProperty("audio")&&!(e.audio&&"number"==typeof e.audio.length||u.isString(e.audio))?"audio: buffer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamSlice)return e;var t=new l.CloudLark.AiVoiceStreamSlice;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.sliceId&&(t.sliceId=e.sliceId>>>0),null!=e.audio&&("string"==typeof e.audio?u.base64.decode(e.audio,t.audio=u.newBuffer(u.base64.length(e.audio)),0):e.audio.length&&(t.audio=e.audio)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.sliceId=0,t.bytes===String?r.audio="":(r.audio=[],t.bytes!==Array&&(r.audio=u.newBuffer(r.audio)))),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.sliceId&&e.hasOwnProperty("sliceId")&&(r.sliceId=e.sliceId),null!=e.audio&&e.hasOwnProperty("audio")&&(r.audio=t.bytes===String?u.base64.encode(e.audio,0,e.audio.length):t.bytes===Array?Array.prototype.slice.call(e.audio):e.audio),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamStop=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamStop;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamStop)return e;var t=new l.CloudLark.AiVoiceStreamStop;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceText=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceText;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceText)return e;var t=new l.CloudLark.AiVoiceText;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceStreamReset=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceStreamReset;e.pos<r;){var o=e.uint32();o>>>3==1?n.voiceId=e.uint32():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceStreamReset)return e;var t=new l.CloudLark.AiVoiceStreamReset;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceRealTimeParseResult=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceRealTimeParseResult;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceRealTimeParseResult)return e;var t=new l.CloudLark.AiVoiceRealTimeParseResult;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AiVoiceResult=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AiVoiceResult;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AiVoiceResult)return e;var t=new l.CloudLark.AiVoiceResult;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AivoiceError=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.voiceId=0,e.prototype.text="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.voiceId&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),null!=e.text&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AivoiceError;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.voiceId=e.uint32();break;case 2:n.text=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.voiceId&&e.hasOwnProperty("voiceId")&&!u.isInteger(e.voiceId)?"voiceId: integer expected":null!=e.text&&e.hasOwnProperty("text")&&!u.isString(e.text)?"text: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.AivoiceError)return e;var t=new l.CloudLark.AivoiceError;return null!=e.voiceId&&(t.voiceId=e.voiceId>>>0),null!=e.text&&(t.text=String(e.text)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),null!=e.voiceId&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),null!=e.text&&e.hasOwnProperty("text")&&(r.text=e.text),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_Start=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.width=0,e.prototype.height=0,e.prototype.framerate=0,e.prototype.bitrate=0,e.prototype.path="",e.prototype.key="",e.prototype.reconnect=!1,e.prototype.reconnectRetries=0,e.prototype.voice=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),null!=e.framerate&&Object.hasOwnProperty.call(e,"framerate")&&t.uint32(24).uint32(e.framerate),null!=e.bitrate&&Object.hasOwnProperty.call(e,"bitrate")&&t.uint32(32).uint32(e.bitrate),null!=e.path&&Object.hasOwnProperty.call(e,"path")&&t.uint32(42).string(e.path),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(50).string(e.key),null!=e.reconnect&&Object.hasOwnProperty.call(e,"reconnect")&&t.uint32(56).bool(e.reconnect),null!=e.reconnectRetries&&Object.hasOwnProperty.call(e,"reconnectRetries")&&t.uint32(64).uint32(e.reconnectRetries),null!=e.voice&&Object.hasOwnProperty.call(e,"voice")&&t.uint32(72).bool(e.voice),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Start;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.width=e.uint32();break;case 2:n.height=e.uint32();break;case 3:n.framerate=e.uint32();break;case 4:n.bitrate=e.uint32();break;case 5:n.path=e.string();break;case 6:n.key=e.string();break;case 7:n.reconnect=e.bool();break;case 8:n.reconnectRetries=e.uint32();break;case 9:n.voice=e.bool();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.width&&e.hasOwnProperty("width")&&!u.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!u.isInteger(e.height)?"height: integer expected":null!=e.framerate&&e.hasOwnProperty("framerate")&&!u.isInteger(e.framerate)?"framerate: integer expected":null!=e.bitrate&&e.hasOwnProperty("bitrate")&&!u.isInteger(e.bitrate)?"bitrate: integer expected":null!=e.path&&e.hasOwnProperty("path")&&!u.isString(e.path)?"path: string expected":null!=e.key&&e.hasOwnProperty("key")&&!u.isString(e.key)?"key: string expected":null!=e.reconnect&&e.hasOwnProperty("reconnect")&&"boolean"!=typeof e.reconnect?"reconnect: boolean expected":null!=e.reconnectRetries&&e.hasOwnProperty("reconnectRetries")&&!u.isInteger(e.reconnectRetries)?"reconnectRetries: integer expected":null!=e.voice&&e.hasOwnProperty("voice")&&"boolean"!=typeof e.voice?"voice: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Start)return e;var t=new l.CloudLark.Rtmp_Start;return null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),null!=e.framerate&&(t.framerate=e.framerate>>>0),null!=e.bitrate&&(t.bitrate=e.bitrate>>>0),null!=e.path&&(t.path=String(e.path)),null!=e.key&&(t.key=String(e.key)),null!=e.reconnect&&(t.reconnect=Boolean(e.reconnect)),null!=e.reconnectRetries&&(t.reconnectRetries=e.reconnectRetries>>>0),null!=e.voice&&(t.voice=Boolean(e.voice)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0,r.framerate=0,r.bitrate=0,r.path="",r.key="",r.reconnect=!1,r.reconnectRetries=0,r.voice=!1),null!=e.width&&e.hasOwnProperty("width")&&(r.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(r.height=e.height),null!=e.framerate&&e.hasOwnProperty("framerate")&&(r.framerate=e.framerate),null!=e.bitrate&&e.hasOwnProperty("bitrate")&&(r.bitrate=e.bitrate),null!=e.path&&e.hasOwnProperty("path")&&(r.path=e.path),null!=e.key&&e.hasOwnProperty("key")&&(r.key=e.key),null!=e.reconnect&&e.hasOwnProperty("reconnect")&&(r.reconnect=e.reconnect),null!=e.reconnectRetries&&e.hasOwnProperty("reconnectRetries")&&(r.reconnectRetries=e.reconnectRetries),null!=e.voice&&e.hasOwnProperty("voice")&&(r.voice=e.voice),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_Stop=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.flag=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.flag&&Object.hasOwnProperty.call(e,"flag")&&t.uint32(8).bool(e.flag),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Stop;e.pos<r;){var o=e.uint32();o>>>3==1?n.flag=e.bool():e.skipType(7&o)}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.flag&&e.hasOwnProperty("flag")&&"boolean"!=typeof e.flag?"flag: boolean expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Stop)return e;var t=new l.CloudLark.Rtmp_Stop;return null!=e.flag&&(t.flag=Boolean(e.flag)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.flag=!1),null!=e.flag&&e.hasOwnProperty("flag")&&(r.flag=e.flag),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.Rtmp_State=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.state=0,e.prototype.desc="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),null!=e.desc&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_State;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.state=e.int32();break;case 2:n.desc=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.state&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:}return null!=e.desc&&e.hasOwnProperty("desc")&&!u.isString(e.desc)?"desc: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_State)return e;var t=new l.CloudLark.Rtmp_State;switch(e.state){case"CONNECTING":case 0:t.state=0;break;case"CONNECTED":case 1:t.state=1;break;case"RECONNECTING":case 2:t.state=2;break;case"DISCONNECTING":case 3:t.state=3;break;case"DISCONNECTED":case 4:t.state=4}return null!=e.desc&&(t.desc=String(e.desc)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"CONNECTING":0,r.desc=""),null!=e.state&&e.hasOwnProperty("state")&&(r.state=t.enums===String?l.CloudLark.Rtmp_State.STATE[e.state]:e.state),null!=e.desc&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.STATE=function(){var e={},t=Object.create(e);return t[e[0]="CONNECTING"]=0,t[e[1]="CONNECTED"]=1,t[e[2]="RECONNECTING"]=2,t[e[3]="DISCONNECTING"]=3,t[e[4]="DISCONNECTED"]=4,t}(),e}(),i.Rtmp_Error=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return e.prototype.error=0,e.prototype.desc="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&t.uint32(8).int32(e.error),null!=e.desc&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.Rtmp_Error;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.error=e.int32();break;case 2:n.desc=e.string();break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.error&&e.hasOwnProperty("error"))switch(e.error){default:return"error: enum value expected";case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:}return null!=e.desc&&e.hasOwnProperty("desc")&&!u.isString(e.desc)?"desc: string expected":null},e.fromObject=function(e){if(e instanceof l.CloudLark.Rtmp_Error)return e;var t=new l.CloudLark.Rtmp_Error;switch(e.error){case"PROCESS":case 0:t.error=0;break;case"BADPATH":case 1:t.error=1;break;case"ENCODER":case 2:t.error=2;break;case"CONNECTE_FAILED":case 3:t.error=3;break;case"INVALID_STREAM":case 4:t.error=4;break;case"DISCONNECTED":case 5:t.error=5;break;case"UNSUPPORTED":case 6:t.error=6;break;case"REPEATED":case 7:t.error=7}return null!=e.desc&&(t.desc=String(e.desc)),t},e.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.error=t.enums===String?"PROCESS":0,r.desc=""),null!=e.error&&e.hasOwnProperty("error")&&(r.error=t.enums===String?l.CloudLark.Rtmp_Error.ERR[e.error]:e.error),null!=e.desc&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e.ERR=function(){var e={},t=Object.create(e);return t[e[0]="PROCESS"]=0,t[e[1]="BADPATH"]=1,t[e[2]="ENCODER"]=2,t[e[3]="CONNECTE_FAILED"]=3,t[e[4]="INVALID_STREAM"]=4,t[e[5]="DISCONNECTED"]=5,t[e[6]="UNSUPPORTED"]=6,t[e[7]="REPEATED"]=7,t}(),e}(),i.ClientInput=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.mouseMove=null,e.prototype.mouseDown=null,e.prototype.mouseUp=null,e.prototype.mouseWheel=null,e.prototype.keyDown=null,e.prototype.keyUp=null,e.prototype.clientEnter=null,e.prototype.clientLeave=null,e.prototype.dispatchController=null,e.prototype.requesController=null,e.prototype.textInput=null,e.prototype.gamepadInputJoystickStates=null,e.prototype.gamepadInputButtonDown=null,e.prototype.gamepadInputButtonUp=null,e.prototype.gamepadInputTriger=null,e.prototype.clientDcMsg=null,e.prototype.touchMove=null,e.prototype.touchDown=null,e.prototype.touchUp=null,e.prototype.aiVoicestreamStart=null,e.prototype.aiVoicestreamSlice=null,e.prototype.aiVoicestreamStop=null,e.prototype.aiVoicestreamReset=null,e.prototype.aiVoiceText=null,e.prototype.rtmpStart=null,e.prototype.rtmpStop=null,Object.defineProperty(e.prototype,"input",{get:u.oneOfGetter(t=["mouseMove","mouseDown","mouseUp","mouseWheel","keyDown","keyUp","clientEnter","clientLeave","dispatchController","requesController","textInput","gamepadInputJoystickStates","gamepadInputButtonDown","gamepadInputButtonUp","gamepadInputTriger","clientDcMsg","touchMove","touchDown","touchUp","aiVoicestreamStart","aiVoicestreamSlice","aiVoicestreamStop","aiVoicestreamReset","aiVoiceText","rtmpStart","rtmpStop"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.mouseMove&&Object.hasOwnProperty.call(e,"mouseMove")&&l.CloudLark.MouseMove.encode(e.mouseMove,t.uint32(10).fork()).ldelim(),null!=e.mouseDown&&Object.hasOwnProperty.call(e,"mouseDown")&&l.CloudLark.MouseDown.encode(e.mouseDown,t.uint32(18).fork()).ldelim(),null!=e.mouseUp&&Object.hasOwnProperty.call(e,"mouseUp")&&l.CloudLark.MouseUp.encode(e.mouseUp,t.uint32(26).fork()).ldelim(),null!=e.mouseWheel&&Object.hasOwnProperty.call(e,"mouseWheel")&&l.CloudLark.MouseWheel.encode(e.mouseWheel,t.uint32(34).fork()).ldelim(),null!=e.keyDown&&Object.hasOwnProperty.call(e,"keyDown")&&l.CloudLark.KeyDown.encode(e.keyDown,t.uint32(42).fork()).ldelim(),null!=e.keyUp&&Object.hasOwnProperty.call(e,"keyUp")&&l.CloudLark.KeyUp.encode(e.keyUp,t.uint32(50).fork()).ldelim(),null!=e.clientEnter&&Object.hasOwnProperty.call(e,"clientEnter")&&l.CloudLark.ClientEnter.encode(e.clientEnter,t.uint32(58).fork()).ldelim(),null!=e.clientLeave&&Object.hasOwnProperty.call(e,"clientLeave")&&l.CloudLark.ClientLeave.encode(e.clientLeave,t.uint32(66).fork()).ldelim(),null!=e.dispatchController&&Object.hasOwnProperty.call(e,"dispatchController")&&l.CloudLark.DispatchController.encode(e.dispatchController,t.uint32(74).fork()).ldelim(),null!=e.requesController&&Object.hasOwnProperty.call(e,"requesController")&&l.CloudLark.RequestController.encode(e.requesController,t.uint32(82).fork()).ldelim(),null!=e.textInput&&Object.hasOwnProperty.call(e,"textInput")&&l.CloudLark.TextInput.encode(e.textInput,t.uint32(90).fork()).ldelim(),null!=e.gamepadInputJoystickStates&&Object.hasOwnProperty.call(e,"gamepadInputJoystickStates")&&l.CloudLark.GamepadInputJoyStickStates.encode(e.gamepadInputJoystickStates,t.uint32(98).fork()).ldelim(),null!=e.gamepadInputButtonDown&&Object.hasOwnProperty.call(e,"gamepadInputButtonDown")&&l.CloudLark.GamepadInputButtonDown.encode(e.gamepadInputButtonDown,t.uint32(106).fork()).ldelim(),null!=e.gamepadInputButtonUp&&Object.hasOwnProperty.call(e,"gamepadInputButtonUp")&&l.CloudLark.GamepadInputButtonUp.encode(e.gamepadInputButtonUp,t.uint32(114).fork()).ldelim(),null!=e.gamepadInputTriger&&Object.hasOwnProperty.call(e,"gamepadInputTriger")&&l.CloudLark.GamepadInputTriger.encode(e.gamepadInputTriger,t.uint32(122).fork()).ldelim(),null!=e.clientDcMsg&&Object.hasOwnProperty.call(e,"clientDcMsg")&&l.CloudLark.AppDataChannelMessage.encode(e.clientDcMsg,t.uint32(130).fork()).ldelim(),null!=e.touchMove&&Object.hasOwnProperty.call(e,"touchMove")&&l.CloudLark.TouchMove.encode(e.touchMove,t.uint32(138).fork()).ldelim(),null!=e.touchDown&&Object.hasOwnProperty.call(e,"touchDown")&&l.CloudLark.TouchDown.encode(e.touchDown,t.uint32(146).fork()).ldelim(),null!=e.touchUp&&Object.hasOwnProperty.call(e,"touchUp")&&l.CloudLark.TouchUp.encode(e.touchUp,t.uint32(154).fork()).ldelim(),null!=e.aiVoicestreamStart&&Object.hasOwnProperty.call(e,"aiVoicestreamStart")&&l.CloudLark.AiVoiceStreamStart.encode(e.aiVoicestreamStart,t.uint32(162).fork()).ldelim(),null!=e.aiVoicestreamSlice&&Object.hasOwnProperty.call(e,"aiVoicestreamSlice")&&l.CloudLark.AiVoiceStreamSlice.encode(e.aiVoicestreamSlice,t.uint32(170).fork()).ldelim(),null!=e.aiVoicestreamStop&&Object.hasOwnProperty.call(e,"aiVoicestreamStop")&&l.CloudLark.AiVoiceStreamStop.encode(e.aiVoicestreamStop,t.uint32(178).fork()).ldelim(),null!=e.aiVoicestreamReset&&Object.hasOwnProperty.call(e,"aiVoicestreamReset")&&l.CloudLark.AiVoiceStreamReset.encode(e.aiVoicestreamReset,t.uint32(186).fork()).ldelim(),null!=e.aiVoiceText&&Object.hasOwnProperty.call(e,"aiVoiceText")&&l.CloudLark.AiVoiceText.encode(e.aiVoiceText,t.uint32(194).fork()).ldelim(),null!=e.rtmpStart&&Object.hasOwnProperty.call(e,"rtmpStart")&&l.CloudLark.Rtmp_Start.encode(e.rtmpStart,t.uint32(202).fork()).ldelim(),null!=e.rtmpStop&&Object.hasOwnProperty.call(e,"rtmpStop")&&l.CloudLark.Rtmp_Stop.encode(e.rtmpStop,t.uint32(210).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.ClientInput;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.mouseMove=l.CloudLark.MouseMove.decode(e,e.uint32());break;case 2:n.mouseDown=l.CloudLark.MouseDown.decode(e,e.uint32());break;case 3:n.mouseUp=l.CloudLark.MouseUp.decode(e,e.uint32());break;case 4:n.mouseWheel=l.CloudLark.MouseWheel.decode(e,e.uint32());break;case 5:n.keyDown=l.CloudLark.KeyDown.decode(e,e.uint32());break;case 6:n.keyUp=l.CloudLark.KeyUp.decode(e,e.uint32());break;case 7:n.clientEnter=l.CloudLark.ClientEnter.decode(e,e.uint32());break;case 8:n.clientLeave=l.CloudLark.ClientLeave.decode(e,e.uint32());break;case 9:n.dispatchController=l.CloudLark.DispatchController.decode(e,e.uint32());break;case 10:n.requesController=l.CloudLark.RequestController.decode(e,e.uint32());break;case 11:n.textInput=l.CloudLark.TextInput.decode(e,e.uint32());break;case 12:n.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.decode(e,e.uint32());break;case 13:n.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.decode(e,e.uint32());break;case 14:n.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.decode(e,e.uint32());break;case 15:n.gamepadInputTriger=l.CloudLark.GamepadInputTriger.decode(e,e.uint32());break;case 16:n.clientDcMsg=l.CloudLark.AppDataChannelMessage.decode(e,e.uint32());break;case 17:n.touchMove=l.CloudLark.TouchMove.decode(e,e.uint32());break;case 18:n.touchDown=l.CloudLark.TouchDown.decode(e,e.uint32());break;case 19:n.touchUp=l.CloudLark.TouchUp.decode(e,e.uint32());break;case 20:n.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.decode(e,e.uint32());break;case 21:n.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.decode(e,e.uint32());break;case 22:n.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.decode(e,e.uint32());break;case 23:n.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.decode(e,e.uint32());break;case 24:n.aiVoiceText=l.CloudLark.AiVoiceText.decode(e,e.uint32());break;case 25:n.rtmpStart=l.CloudLark.Rtmp_Start.decode(e,e.uint32());break;case 26:n.rtmpStop=l.CloudLark.Rtmp_Stop.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.mouseMove&&e.hasOwnProperty("mouseMove")&&(t.input=1,r=l.CloudLark.MouseMove.verify(e.mouseMove)))return"mouseMove."+r;if(null!=e.mouseDown&&e.hasOwnProperty("mouseDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseDown.verify(e.mouseDown))return"mouseDown."+r}if(null!=e.mouseUp&&e.hasOwnProperty("mouseUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseUp.verify(e.mouseUp))return"mouseUp."+r}if(null!=e.mouseWheel&&e.hasOwnProperty("mouseWheel")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.MouseWheel.verify(e.mouseWheel))return"mouseWheel."+r}if(null!=e.keyDown&&e.hasOwnProperty("keyDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.KeyDown.verify(e.keyDown))return"keyDown."+r}if(null!=e.keyUp&&e.hasOwnProperty("keyUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.KeyUp.verify(e.keyUp))return"keyUp."+r}if(null!=e.clientEnter&&e.hasOwnProperty("clientEnter")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.ClientEnter.verify(e.clientEnter))return"clientEnter."+r}if(null!=e.clientLeave&&e.hasOwnProperty("clientLeave")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.ClientLeave.verify(e.clientLeave))return"clientLeave."+r}if(null!=e.dispatchController&&e.hasOwnProperty("dispatchController")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.DispatchController.verify(e.dispatchController))return"dispatchController."+r}if(null!=e.requesController&&e.hasOwnProperty("requesController")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.RequestController.verify(e.requesController))return"requesController."+r}if(null!=e.textInput&&e.hasOwnProperty("textInput")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TextInput.verify(e.textInput))return"textInput."+r}if(null!=e.gamepadInputJoystickStates&&e.hasOwnProperty("gamepadInputJoystickStates")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputJoyStickStates.verify(e.gamepadInputJoystickStates))return"gamepadInputJoystickStates."+r}if(null!=e.gamepadInputButtonDown&&e.hasOwnProperty("gamepadInputButtonDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputButtonDown.verify(e.gamepadInputButtonDown))return"gamepadInputButtonDown."+r}if(null!=e.gamepadInputButtonUp&&e.hasOwnProperty("gamepadInputButtonUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputButtonUp.verify(e.gamepadInputButtonUp))return"gamepadInputButtonUp."+r}if(null!=e.gamepadInputTriger&&e.hasOwnProperty("gamepadInputTriger")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.GamepadInputTriger.verify(e.gamepadInputTriger))return"gamepadInputTriger."+r}if(null!=e.clientDcMsg&&e.hasOwnProperty("clientDcMsg")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AppDataChannelMessage.verify(e.clientDcMsg))return"clientDcMsg."+r}if(null!=e.touchMove&&e.hasOwnProperty("touchMove")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchMove.verify(e.touchMove))return"touchMove."+r}if(null!=e.touchDown&&e.hasOwnProperty("touchDown")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchDown.verify(e.touchDown))return"touchDown."+r}if(null!=e.touchUp&&e.hasOwnProperty("touchUp")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.TouchUp.verify(e.touchUp))return"touchUp."+r}if(null!=e.aiVoicestreamStart&&e.hasOwnProperty("aiVoicestreamStart")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamStart.verify(e.aiVoicestreamStart))return"aiVoicestreamStart."+r}if(null!=e.aiVoicestreamSlice&&e.hasOwnProperty("aiVoicestreamSlice")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamSlice.verify(e.aiVoicestreamSlice))return"aiVoicestreamSlice."+r}if(null!=e.aiVoicestreamStop&&e.hasOwnProperty("aiVoicestreamStop")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamStop.verify(e.aiVoicestreamStop))return"aiVoicestreamStop."+r}if(null!=e.aiVoicestreamReset&&e.hasOwnProperty("aiVoicestreamReset")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceStreamReset.verify(e.aiVoicestreamReset))return"aiVoicestreamReset."+r}if(null!=e.aiVoiceText&&e.hasOwnProperty("aiVoiceText")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.AiVoiceText.verify(e.aiVoiceText))return"aiVoiceText."+r}if(null!=e.rtmpStart&&e.hasOwnProperty("rtmpStart")){if(1===t.input)return"input: multiple values";if(t.input=1,r=l.CloudLark.Rtmp_Start.verify(e.rtmpStart))return"rtmpStart."+r}if(null!=e.rtmpStop&&e.hasOwnProperty("rtmpStop")){if(1===t.input)return"input: multiple values";var r;if(t.input=1,r=l.CloudLark.Rtmp_Stop.verify(e.rtmpStop))return"rtmpStop."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.ClientInput)return e;var t=new l.CloudLark.ClientInput;if(null!=e.mouseMove){if("object"!=typeof e.mouseMove)throw TypeError(".CloudLark.ClientInput.mouseMove: object expected");t.mouseMove=l.CloudLark.MouseMove.fromObject(e.mouseMove)}if(null!=e.mouseDown){if("object"!=typeof e.mouseDown)throw TypeError(".CloudLark.ClientInput.mouseDown: object expected");t.mouseDown=l.CloudLark.MouseDown.fromObject(e.mouseDown)}if(null!=e.mouseUp){if("object"!=typeof e.mouseUp)throw TypeError(".CloudLark.ClientInput.mouseUp: object expected");t.mouseUp=l.CloudLark.MouseUp.fromObject(e.mouseUp)}if(null!=e.mouseWheel){if("object"!=typeof e.mouseWheel)throw TypeError(".CloudLark.ClientInput.mouseWheel: object expected");t.mouseWheel=l.CloudLark.MouseWheel.fromObject(e.mouseWheel)}if(null!=e.keyDown){if("object"!=typeof e.keyDown)throw TypeError(".CloudLark.ClientInput.keyDown: object expected");t.keyDown=l.CloudLark.KeyDown.fromObject(e.keyDown)}if(null!=e.keyUp){if("object"!=typeof e.keyUp)throw TypeError(".CloudLark.ClientInput.keyUp: object expected");t.keyUp=l.CloudLark.KeyUp.fromObject(e.keyUp)}if(null!=e.clientEnter){if("object"!=typeof e.clientEnter)throw TypeError(".CloudLark.ClientInput.clientEnter: object expected");t.clientEnter=l.CloudLark.ClientEnter.fromObject(e.clientEnter)}if(null!=e.clientLeave){if("object"!=typeof e.clientLeave)throw TypeError(".CloudLark.ClientInput.clientLeave: object expected");t.clientLeave=l.CloudLark.ClientLeave.fromObject(e.clientLeave)}if(null!=e.dispatchController){if("object"!=typeof e.dispatchController)throw TypeError(".CloudLark.ClientInput.dispatchController: object expected");t.dispatchController=l.CloudLark.DispatchController.fromObject(e.dispatchController)}if(null!=e.requesController){if("object"!=typeof e.requesController)throw TypeError(".CloudLark.ClientInput.requesController: object expected");t.requesController=l.CloudLark.RequestController.fromObject(e.requesController)}if(null!=e.textInput){if("object"!=typeof e.textInput)throw TypeError(".CloudLark.ClientInput.textInput: object expected");t.textInput=l.CloudLark.TextInput.fromObject(e.textInput)}if(null!=e.gamepadInputJoystickStates){if("object"!=typeof e.gamepadInputJoystickStates)throw TypeError(".CloudLark.ClientInput.gamepadInputJoystickStates: object expected");t.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.fromObject(e.gamepadInputJoystickStates)}if(null!=e.gamepadInputButtonDown){if("object"!=typeof e.gamepadInputButtonDown)throw TypeError(".CloudLark.ClientInput.gamepadInputButtonDown: object expected");t.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.fromObject(e.gamepadInputButtonDown)}if(null!=e.gamepadInputButtonUp){if("object"!=typeof e.gamepadInputButtonUp)throw TypeError(".CloudLark.ClientInput.gamepadInputButtonUp: object expected");t.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.fromObject(e.gamepadInputButtonUp)}if(null!=e.gamepadInputTriger){if("object"!=typeof e.gamepadInputTriger)throw TypeError(".CloudLark.ClientInput.gamepadInputTriger: object expected");t.gamepadInputTriger=l.CloudLark.GamepadInputTriger.fromObject(e.gamepadInputTriger)}if(null!=e.clientDcMsg){if("object"!=typeof e.clientDcMsg)throw TypeError(".CloudLark.ClientInput.clientDcMsg: object expected");t.clientDcMsg=l.CloudLark.AppDataChannelMessage.fromObject(e.clientDcMsg)}if(null!=e.touchMove){if("object"!=typeof e.touchMove)throw TypeError(".CloudLark.ClientInput.touchMove: object expected");t.touchMove=l.CloudLark.TouchMove.fromObject(e.touchMove)}if(null!=e.touchDown){if("object"!=typeof e.touchDown)throw TypeError(".CloudLark.ClientInput.touchDown: object expected");t.touchDown=l.CloudLark.TouchDown.fromObject(e.touchDown)}if(null!=e.touchUp){if("object"!=typeof e.touchUp)throw TypeError(".CloudLark.ClientInput.touchUp: object expected");t.touchUp=l.CloudLark.TouchUp.fromObject(e.touchUp)}if(null!=e.aiVoicestreamStart){if("object"!=typeof e.aiVoicestreamStart)throw TypeError(".CloudLark.ClientInput.aiVoicestreamStart: object expected");t.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.fromObject(e.aiVoicestreamStart)}if(null!=e.aiVoicestreamSlice){if("object"!=typeof e.aiVoicestreamSlice)throw TypeError(".CloudLark.ClientInput.aiVoicestreamSlice: object expected");t.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.fromObject(e.aiVoicestreamSlice)}if(null!=e.aiVoicestreamStop){if("object"!=typeof e.aiVoicestreamStop)throw TypeError(".CloudLark.ClientInput.aiVoicestreamStop: object expected");t.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.fromObject(e.aiVoicestreamStop)}if(null!=e.aiVoicestreamReset){if("object"!=typeof e.aiVoicestreamReset)throw TypeError(".CloudLark.ClientInput.aiVoicestreamReset: object expected");t.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.fromObject(e.aiVoicestreamReset)}if(null!=e.aiVoiceText){if("object"!=typeof e.aiVoiceText)throw TypeError(".CloudLark.ClientInput.aiVoiceText: object expected");t.aiVoiceText=l.CloudLark.AiVoiceText.fromObject(e.aiVoiceText)}if(null!=e.rtmpStart){if("object"!=typeof e.rtmpStart)throw TypeError(".CloudLark.ClientInput.rtmpStart: object expected");t.rtmpStart=l.CloudLark.Rtmp_Start.fromObject(e.rtmpStart)}if(null!=e.rtmpStop){if("object"!=typeof e.rtmpStop)throw TypeError(".CloudLark.ClientInput.rtmpStop: object expected");t.rtmpStop=l.CloudLark.Rtmp_Stop.fromObject(e.rtmpStop)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.mouseMove&&e.hasOwnProperty("mouseMove")&&(r.mouseMove=l.CloudLark.MouseMove.toObject(e.mouseMove,t),t.oneofs&&(r.input="mouseMove")),null!=e.mouseDown&&e.hasOwnProperty("mouseDown")&&(r.mouseDown=l.CloudLark.MouseDown.toObject(e.mouseDown,t),t.oneofs&&(r.input="mouseDown")),null!=e.mouseUp&&e.hasOwnProperty("mouseUp")&&(r.mouseUp=l.CloudLark.MouseUp.toObject(e.mouseUp,t),t.oneofs&&(r.input="mouseUp")),null!=e.mouseWheel&&e.hasOwnProperty("mouseWheel")&&(r.mouseWheel=l.CloudLark.MouseWheel.toObject(e.mouseWheel,t),t.oneofs&&(r.input="mouseWheel")),null!=e.keyDown&&e.hasOwnProperty("keyDown")&&(r.keyDown=l.CloudLark.KeyDown.toObject(e.keyDown,t),t.oneofs&&(r.input="keyDown")),null!=e.keyUp&&e.hasOwnProperty("keyUp")&&(r.keyUp=l.CloudLark.KeyUp.toObject(e.keyUp,t),t.oneofs&&(r.input="keyUp")),null!=e.clientEnter&&e.hasOwnProperty("clientEnter")&&(r.clientEnter=l.CloudLark.ClientEnter.toObject(e.clientEnter,t),t.oneofs&&(r.input="clientEnter")),null!=e.clientLeave&&e.hasOwnProperty("clientLeave")&&(r.clientLeave=l.CloudLark.ClientLeave.toObject(e.clientLeave,t),t.oneofs&&(r.input="clientLeave")),null!=e.dispatchController&&e.hasOwnProperty("dispatchController")&&(r.dispatchController=l.CloudLark.DispatchController.toObject(e.dispatchController,t),t.oneofs&&(r.input="dispatchController")),null!=e.requesController&&e.hasOwnProperty("requesController")&&(r.requesController=l.CloudLark.RequestController.toObject(e.requesController,t),t.oneofs&&(r.input="requesController")),null!=e.textInput&&e.hasOwnProperty("textInput")&&(r.textInput=l.CloudLark.TextInput.toObject(e.textInput,t),t.oneofs&&(r.input="textInput")),null!=e.gamepadInputJoystickStates&&e.hasOwnProperty("gamepadInputJoystickStates")&&(r.gamepadInputJoystickStates=l.CloudLark.GamepadInputJoyStickStates.toObject(e.gamepadInputJoystickStates,t),t.oneofs&&(r.input="gamepadInputJoystickStates")),null!=e.gamepadInputButtonDown&&e.hasOwnProperty("gamepadInputButtonDown")&&(r.gamepadInputButtonDown=l.CloudLark.GamepadInputButtonDown.toObject(e.gamepadInputButtonDown,t),t.oneofs&&(r.input="gamepadInputButtonDown")),null!=e.gamepadInputButtonUp&&e.hasOwnProperty("gamepadInputButtonUp")&&(r.gamepadInputButtonUp=l.CloudLark.GamepadInputButtonUp.toObject(e.gamepadInputButtonUp,t),t.oneofs&&(r.input="gamepadInputButtonUp")),null!=e.gamepadInputTriger&&e.hasOwnProperty("gamepadInputTriger")&&(r.gamepadInputTriger=l.CloudLark.GamepadInputTriger.toObject(e.gamepadInputTriger,t),t.oneofs&&(r.input="gamepadInputTriger")),null!=e.clientDcMsg&&e.hasOwnProperty("clientDcMsg")&&(r.clientDcMsg=l.CloudLark.AppDataChannelMessage.toObject(e.clientDcMsg,t),t.oneofs&&(r.input="clientDcMsg")),null!=e.touchMove&&e.hasOwnProperty("touchMove")&&(r.touchMove=l.CloudLark.TouchMove.toObject(e.touchMove,t),t.oneofs&&(r.input="touchMove")),null!=e.touchDown&&e.hasOwnProperty("touchDown")&&(r.touchDown=l.CloudLark.TouchDown.toObject(e.touchDown,t),t.oneofs&&(r.input="touchDown")),null!=e.touchUp&&e.hasOwnProperty("touchUp")&&(r.touchUp=l.CloudLark.TouchUp.toObject(e.touchUp,t),t.oneofs&&(r.input="touchUp")),null!=e.aiVoicestreamStart&&e.hasOwnProperty("aiVoicestreamStart")&&(r.aiVoicestreamStart=l.CloudLark.AiVoiceStreamStart.toObject(e.aiVoicestreamStart,t),t.oneofs&&(r.input="aiVoicestreamStart")),null!=e.aiVoicestreamSlice&&e.hasOwnProperty("aiVoicestreamSlice")&&(r.aiVoicestreamSlice=l.CloudLark.AiVoiceStreamSlice.toObject(e.aiVoicestreamSlice,t),t.oneofs&&(r.input="aiVoicestreamSlice")),null!=e.aiVoicestreamStop&&e.hasOwnProperty("aiVoicestreamStop")&&(r.aiVoicestreamStop=l.CloudLark.AiVoiceStreamStop.toObject(e.aiVoicestreamStop,t),t.oneofs&&(r.input="aiVoicestreamStop")),null!=e.aiVoicestreamReset&&e.hasOwnProperty("aiVoicestreamReset")&&(r.aiVoicestreamReset=l.CloudLark.AiVoiceStreamReset.toObject(e.aiVoicestreamReset,t),t.oneofs&&(r.input="aiVoicestreamReset")),null!=e.aiVoiceText&&e.hasOwnProperty("aiVoiceText")&&(r.aiVoiceText=l.CloudLark.AiVoiceText.toObject(e.aiVoiceText,t),t.oneofs&&(r.input="aiVoiceText")),null!=e.rtmpStart&&e.hasOwnProperty("rtmpStart")&&(r.rtmpStart=l.CloudLark.Rtmp_Start.toObject(e.rtmpStart,t),t.oneofs&&(r.input="rtmpStart")),null!=e.rtmpStop&&e.hasOwnProperty("rtmpStop")&&(r.rtmpStop=l.CloudLark.Rtmp_Stop.toObject(e.rtmpStop,t),t.oneofs&&(r.input="rtmpStop")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i.AppNotification=function(){function e(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var t;return e.prototype.resize=null,e.prototype.mousemode=null,e.prototype.updatePlayers=null,e.prototype.requestInput=null,e.prototype.gamepadOutput=null,e.prototype.datachannelState=null,e.prototype.appDcMsg=null,e.prototype.cursorStyle=null,e.prototype.aiVoiceRealtimeParseresult=null,e.prototype.aiVoiceResult=null,e.prototype.aiVoiceServiceStatus=null,e.prototype.aiVoiceErr=null,e.prototype.rtmpState=null,e.prototype.rtmpError=null,Object.defineProperty(e.prototype,"notify",{get:u.oneOfGetter(t=["resize","mousemode","updatePlayers","requestInput","gamepadOutput","datachannelState","appDcMsg","cursorStyle","aiVoiceRealtimeParseresult","aiVoiceResult","aiVoiceServiceStatus","aiVoiceErr","rtmpState","rtmpError"]),set:u.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=c.create()),null!=e.resize&&Object.hasOwnProperty.call(e,"resize")&&l.CloudLark.AppResize.encode(e.resize,t.uint32(10).fork()).ldelim(),null!=e.mousemode&&Object.hasOwnProperty.call(e,"mousemode")&&l.CloudLark.AppMouseMode.encode(e.mousemode,t.uint32(18).fork()).ldelim(),null!=e.updatePlayers&&Object.hasOwnProperty.call(e,"updatePlayers")&&l.CloudLark.UpdatePlayersDesc.encode(e.updatePlayers,t.uint32(26).fork()).ldelim(),null!=e.requestInput&&Object.hasOwnProperty.call(e,"requestInput")&&l.CloudLark.AppRequestInput.encode(e.requestInput,t.uint32(34).fork()).ldelim(),null!=e.gamepadOutput&&Object.hasOwnProperty.call(e,"gamepadOutput")&&l.CloudLark.GamepadOutput.encode(e.gamepadOutput,t.uint32(42).fork()).ldelim(),null!=e.datachannelState&&Object.hasOwnProperty.call(e,"datachannelState")&&l.CloudLark.AppDataChannelState.encode(e.datachannelState,t.uint32(50).fork()).ldelim(),null!=e.appDcMsg&&Object.hasOwnProperty.call(e,"appDcMsg")&&l.CloudLark.AppDataChannelMessage.encode(e.appDcMsg,t.uint32(58).fork()).ldelim(),null!=e.cursorStyle&&Object.hasOwnProperty.call(e,"cursorStyle")&&l.CloudLark.SyncCursorStyle.encode(e.cursorStyle,t.uint32(66).fork()).ldelim(),null!=e.aiVoiceRealtimeParseresult&&Object.hasOwnProperty.call(e,"aiVoiceRealtimeParseresult")&&l.CloudLark.AiVoiceRealTimeParseResult.encode(e.aiVoiceRealtimeParseresult,t.uint32(74).fork()).ldelim(),null!=e.aiVoiceResult&&Object.hasOwnProperty.call(e,"aiVoiceResult")&&l.CloudLark.AiVoiceResult.encode(e.aiVoiceResult,t.uint32(82).fork()).ldelim(),null!=e.aiVoiceServiceStatus&&Object.hasOwnProperty.call(e,"aiVoiceServiceStatus")&&l.CloudLark.AiVoiceServiceStatus.encode(e.aiVoiceServiceStatus,t.uint32(90).fork()).ldelim(),null!=e.aiVoiceErr&&Object.hasOwnProperty.call(e,"aiVoiceErr")&&l.CloudLark.AivoiceError.encode(e.aiVoiceErr,t.uint32(98).fork()).ldelim(),null!=e.rtmpState&&Object.hasOwnProperty.call(e,"rtmpState")&&l.CloudLark.Rtmp_State.encode(e.rtmpState,t.uint32(106).fork()).ldelim(),null!=e.rtmpError&&Object.hasOwnProperty.call(e,"rtmpError")&&l.CloudLark.Rtmp_Error.encode(e.rtmpError,t.uint32(114).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof a||(e=a.create(e));for(var r=void 0===t?e.len:e.pos+t,n=new l.CloudLark.AppNotification;e.pos<r;){var o=e.uint32();switch(o>>>3){case 1:n.resize=l.CloudLark.AppResize.decode(e,e.uint32());break;case 2:n.mousemode=l.CloudLark.AppMouseMode.decode(e,e.uint32());break;case 3:n.updatePlayers=l.CloudLark.UpdatePlayersDesc.decode(e,e.uint32());break;case 4:n.requestInput=l.CloudLark.AppRequestInput.decode(e,e.uint32());break;case 5:n.gamepadOutput=l.CloudLark.GamepadOutput.decode(e,e.uint32());break;case 6:n.datachannelState=l.CloudLark.AppDataChannelState.decode(e,e.uint32());break;case 7:n.appDcMsg=l.CloudLark.AppDataChannelMessage.decode(e,e.uint32());break;case 8:n.cursorStyle=l.CloudLark.SyncCursorStyle.decode(e,e.uint32());break;case 9:n.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.decode(e,e.uint32());break;case 10:n.aiVoiceResult=l.CloudLark.AiVoiceResult.decode(e,e.uint32());break;case 11:n.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.decode(e,e.uint32());break;case 12:n.aiVoiceErr=l.CloudLark.AivoiceError.decode(e,e.uint32());break;case 13:n.rtmpState=l.CloudLark.Rtmp_State.decode(e,e.uint32());break;case 14:n.rtmpError=l.CloudLark.Rtmp_Error.decode(e,e.uint32());break;default:e.skipType(7&o)}}return n},e.decodeDelimited=function(e){return e instanceof a||(e=new a(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.resize&&e.hasOwnProperty("resize")&&(t.notify=1,r=l.CloudLark.AppResize.verify(e.resize)))return"resize."+r;if(null!=e.mousemode&&e.hasOwnProperty("mousemode")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppMouseMode.verify(e.mousemode))return"mousemode."+r}if(null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.UpdatePlayersDesc.verify(e.updatePlayers))return"updatePlayers."+r}if(null!=e.requestInput&&e.hasOwnProperty("requestInput")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppRequestInput.verify(e.requestInput))return"requestInput."+r}if(null!=e.gamepadOutput&&e.hasOwnProperty("gamepadOutput")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.GamepadOutput.verify(e.gamepadOutput))return"gamepadOutput."+r}if(null!=e.datachannelState&&e.hasOwnProperty("datachannelState")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppDataChannelState.verify(e.datachannelState))return"datachannelState."+r}if(null!=e.appDcMsg&&e.hasOwnProperty("appDcMsg")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AppDataChannelMessage.verify(e.appDcMsg))return"appDcMsg."+r}if(null!=e.cursorStyle&&e.hasOwnProperty("cursorStyle")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.SyncCursorStyle.verify(e.cursorStyle))return"cursorStyle."+r}if(null!=e.aiVoiceRealtimeParseresult&&e.hasOwnProperty("aiVoiceRealtimeParseresult")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceRealTimeParseResult.verify(e.aiVoiceRealtimeParseresult))return"aiVoiceRealtimeParseresult."+r}if(null!=e.aiVoiceResult&&e.hasOwnProperty("aiVoiceResult")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceResult.verify(e.aiVoiceResult))return"aiVoiceResult."+r}if(null!=e.aiVoiceServiceStatus&&e.hasOwnProperty("aiVoiceServiceStatus")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AiVoiceServiceStatus.verify(e.aiVoiceServiceStatus))return"aiVoiceServiceStatus."+r}if(null!=e.aiVoiceErr&&e.hasOwnProperty("aiVoiceErr")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.AivoiceError.verify(e.aiVoiceErr))return"aiVoiceErr."+r}if(null!=e.rtmpState&&e.hasOwnProperty("rtmpState")){if(1===t.notify)return"notify: multiple values";if(t.notify=1,r=l.CloudLark.Rtmp_State.verify(e.rtmpState))return"rtmpState."+r}if(null!=e.rtmpError&&e.hasOwnProperty("rtmpError")){if(1===t.notify)return"notify: multiple values";var r;if(t.notify=1,r=l.CloudLark.Rtmp_Error.verify(e.rtmpError))return"rtmpError."+r}return null},e.fromObject=function(e){if(e instanceof l.CloudLark.AppNotification)return e;var t=new l.CloudLark.AppNotification;if(null!=e.resize){if("object"!=typeof e.resize)throw TypeError(".CloudLark.AppNotification.resize: object expected");t.resize=l.CloudLark.AppResize.fromObject(e.resize)}if(null!=e.mousemode){if("object"!=typeof e.mousemode)throw TypeError(".CloudLark.AppNotification.mousemode: object expected");t.mousemode=l.CloudLark.AppMouseMode.fromObject(e.mousemode)}if(null!=e.updatePlayers){if("object"!=typeof e.updatePlayers)throw TypeError(".CloudLark.AppNotification.updatePlayers: object expected");t.updatePlayers=l.CloudLark.UpdatePlayersDesc.fromObject(e.updatePlayers)}if(null!=e.requestInput){if("object"!=typeof e.requestInput)throw TypeError(".CloudLark.AppNotification.requestInput: object expected");t.requestInput=l.CloudLark.AppRequestInput.fromObject(e.requestInput)}if(null!=e.gamepadOutput){if("object"!=typeof e.gamepadOutput)throw TypeError(".CloudLark.AppNotification.gamepadOutput: object expected");t.gamepadOutput=l.CloudLark.GamepadOutput.fromObject(e.gamepadOutput)}if(null!=e.datachannelState){if("object"!=typeof e.datachannelState)throw TypeError(".CloudLark.AppNotification.datachannelState: object expected");t.datachannelState=l.CloudLark.AppDataChannelState.fromObject(e.datachannelState)}if(null!=e.appDcMsg){if("object"!=typeof e.appDcMsg)throw TypeError(".CloudLark.AppNotification.appDcMsg: object expected");t.appDcMsg=l.CloudLark.AppDataChannelMessage.fromObject(e.appDcMsg)}if(null!=e.cursorStyle){if("object"!=typeof e.cursorStyle)throw TypeError(".CloudLark.AppNotification.cursorStyle: object expected");t.cursorStyle=l.CloudLark.SyncCursorStyle.fromObject(e.cursorStyle)}if(null!=e.aiVoiceRealtimeParseresult){if("object"!=typeof e.aiVoiceRealtimeParseresult)throw TypeError(".CloudLark.AppNotification.aiVoiceRealtimeParseresult: object expected");t.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.fromObject(e.aiVoiceRealtimeParseresult)}if(null!=e.aiVoiceResult){if("object"!=typeof e.aiVoiceResult)throw TypeError(".CloudLark.AppNotification.aiVoiceResult: object expected");t.aiVoiceResult=l.CloudLark.AiVoiceResult.fromObject(e.aiVoiceResult)}if(null!=e.aiVoiceServiceStatus){if("object"!=typeof e.aiVoiceServiceStatus)throw TypeError(".CloudLark.AppNotification.aiVoiceServiceStatus: object expected");t.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.fromObject(e.aiVoiceServiceStatus)}if(null!=e.aiVoiceErr){if("object"!=typeof e.aiVoiceErr)throw TypeError(".CloudLark.AppNotification.aiVoiceErr: object expected");t.aiVoiceErr=l.CloudLark.AivoiceError.fromObject(e.aiVoiceErr)}if(null!=e.rtmpState){if("object"!=typeof e.rtmpState)throw TypeError(".CloudLark.AppNotification.rtmpState: object expected");t.rtmpState=l.CloudLark.Rtmp_State.fromObject(e.rtmpState)}if(null!=e.rtmpError){if("object"!=typeof e.rtmpError)throw TypeError(".CloudLark.AppNotification.rtmpError: object expected");t.rtmpError=l.CloudLark.Rtmp_Error.fromObject(e.rtmpError)}return t},e.toObject=function(e,t){t||(t={});var r={};return null!=e.resize&&e.hasOwnProperty("resize")&&(r.resize=l.CloudLark.AppResize.toObject(e.resize,t),t.oneofs&&(r.notify="resize")),null!=e.mousemode&&e.hasOwnProperty("mousemode")&&(r.mousemode=l.CloudLark.AppMouseMode.toObject(e.mousemode,t),t.oneofs&&(r.notify="mousemode")),null!=e.updatePlayers&&e.hasOwnProperty("updatePlayers")&&(r.updatePlayers=l.CloudLark.UpdatePlayersDesc.toObject(e.updatePlayers,t),t.oneofs&&(r.notify="updatePlayers")),null!=e.requestInput&&e.hasOwnProperty("requestInput")&&(r.requestInput=l.CloudLark.AppRequestInput.toObject(e.requestInput,t),t.oneofs&&(r.notify="requestInput")),null!=e.gamepadOutput&&e.hasOwnProperty("gamepadOutput")&&(r.gamepadOutput=l.CloudLark.GamepadOutput.toObject(e.gamepadOutput,t),t.oneofs&&(r.notify="gamepadOutput")),null!=e.datachannelState&&e.hasOwnProperty("datachannelState")&&(r.datachannelState=l.CloudLark.AppDataChannelState.toObject(e.datachannelState,t),t.oneofs&&(r.notify="datachannelState")),null!=e.appDcMsg&&e.hasOwnProperty("appDcMsg")&&(r.appDcMsg=l.CloudLark.AppDataChannelMessage.toObject(e.appDcMsg,t),t.oneofs&&(r.notify="appDcMsg")),null!=e.cursorStyle&&e.hasOwnProperty("cursorStyle")&&(r.cursorStyle=l.CloudLark.SyncCursorStyle.toObject(e.cursorStyle,t),t.oneofs&&(r.notify="cursorStyle")),null!=e.aiVoiceRealtimeParseresult&&e.hasOwnProperty("aiVoiceRealtimeParseresult")&&(r.aiVoiceRealtimeParseresult=l.CloudLark.AiVoiceRealTimeParseResult.toObject(e.aiVoiceRealtimeParseresult,t),t.oneofs&&(r.notify="aiVoiceRealtimeParseresult")),null!=e.aiVoiceResult&&e.hasOwnProperty("aiVoiceResult")&&(r.aiVoiceResult=l.CloudLark.AiVoiceResult.toObject(e.aiVoiceResult,t),t.oneofs&&(r.notify="aiVoiceResult")),null!=e.aiVoiceServiceStatus&&e.hasOwnProperty("aiVoiceServiceStatus")&&(r.aiVoiceServiceStatus=l.CloudLark.AiVoiceServiceStatus.toObject(e.aiVoiceServiceStatus,t),t.oneofs&&(r.notify="aiVoiceServiceStatus")),null!=e.aiVoiceErr&&e.hasOwnProperty("aiVoiceErr")&&(r.aiVoiceErr=l.CloudLark.AivoiceError.toObject(e.aiVoiceErr,t),t.oneofs&&(r.notify="aiVoiceErr")),null!=e.rtmpState&&e.hasOwnProperty("rtmpState")&&(r.rtmpState=l.CloudLark.Rtmp_State.toObject(e.rtmpState,t),t.oneofs&&(r.notify="rtmpState")),null!=e.rtmpError&&e.hasOwnProperty("rtmpError")&&(r.rtmpError=l.CloudLark.Rtmp_Error.toObject(e.rtmpError,t),t.oneofs&&(r.notify="rtmpError")),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,s.util.toJSONOptions)},e}(),i),e.exports=l},3118:function(e,t,r){"use strict";r.r(t),t.default="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI5ODNFRTY2MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI5ODNFRTY1MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1NEE3RjA2NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1NEE3RjA3NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"},8221:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzogFg8pAAAEp0lEQVR42u3aTWgcZRzH8e9u89Jg1JSoNEJ70EJpoUJVMCBoEakerCBSRbCKonjQoELxIFIPdQ++gSgIBZEKHkpBqigULxGhkosutFCkxIM5NKW0EkMkbUx2fx42hDbuPrMz+8z+n5nZX46ZDfP9MJl9SeApCr4VnrY+Bdup6ARCrBT5F0FFJxA6VGgCIRWaQEiFJlgFKC7BGkBRCa4BKCbBdQBFJFgHUDyC/wEUjaAJQLEImgIUiaAFQHEIWgIUhcABUAwCJ0ARCCIA8k8QCZB3gjYA8k3QFkCeCdoEyC9B2wB5JYgBkE+CWAB5JIgJkD+C2AB5I0gAkC+CRAB5IkgIkB+CxAB5IegAIB8EHQHkgaBDgOwTdAyQdQIPANkm8AKQZQJPANkl8AaQVQKPANkk8AqwRpChf730DJA9Au8AWSNIASBbBKkAZIkgJYDsEKQGkBWCFAGyQZAqQBYIUgYInyB1gNAJugAQNkFXAEIm6BJAuARdAwiVoIsAYRJ0FSBEgi4DhEfQdYDQCAwAwiIwAQiJwAggHAIzgFAIDAHCIDAFCIHAGMCewBzA+g9qAQDYEngBGBc+vkwIvACc8ANgQuAFoKbtQtbP6IYA0hEhqtYxhgBXtVmIh61z4q7s6wcNMgFw0Doo/tq+Aiqacn5/TsOizm7roJQAKkKPRxzzphBfWwelAlARQmWdcx41o36xzFbrJO8AlcYzdBW9FHHkASE+sU7yDLCaf4Bt1DZq1nnsaZXEApusozwCrOUDfIPejuDaK8Q71lHeAK7Lh3E0ogUnwKQQFxiyzvICsC4f4Gf0ccQ1cLcQL1tneQBokg/70BYtOwGOCTHt7yWWEUDTfChxFn3lBFjWHUI8YR3WEUCLfIAX0F2qOwk+FWLKOqwDgPda58MAs+ikE2BRo0I8YJ2WEMCZD3AQ7Ym4ER4S4jvrtEQAkfkwwt/oNyfAJQ2JOjut42IDtJEP8CHaH3ENvCrEl9ZxMQHazIfbWerTH06AafWJJcas82IAtJ0PcBS9FnEN7BfiA+u8tgFi5cNO6kO65AT4VYg5brYObAsgZj7A9+jdiGvgQaHwPyQTSfJhDxrVohPgpBDnGbBOjARArPBc7EdOoc+cAHXtEuJ568RogCT58CS6M+KN0VEhzlKyjnQDJMuHMtPomBPgX20R4jHrSNfi/u5fu1fQPRE3wo+E+Mk60rXk+TDERTTpBFjQiBDj1pmttoEzHTx6hY08dMFpOMA8p2ATx61T09koCyWdcV4DsxoUNbZZn2rzbejw8VcY475/nB//3MgM1RKD/GAdm862styvGec18LvKYpHbrE+12Tq9AmCeHfVdZR5xHHILVc71sxT2s0Hy7UbDmnNeA78IcZlh61NNaz+iSsv4mr7V/Y0X3BPWJ5rW9qLNutokfklfaEcj/i8Oh3kX8LMqOrIufl7va6wR/ydvcIP1Kaa7Z9B21dbiz+st3dSIP82z9FufXvrrYwadWH3Se1GDjfhJHg37naDPTaBxndI+lRtvsI9zr/UpdXfDXF79cOUKn4f6wjfdHc7/vd69W3k97/f63nrrrbfeeuutt956y83+A2pqaAaHrITmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjM1OjU4KzAwOjAwgC3inwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDozNTo1OCswMDowMPFwWiMAAAAASUVORK5CYII="},7025:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzjOGG4FAAABrUlEQVR42u3aTU7CUBiF4aMmbsKRK5EtOLEjtwJuxZ3ozD2YmDhxA85MzXXAjwVKgbb3fgfyPkxL0vMGmkuCdLiHI67NJfAeKtXR6yXVquLmp+j1klJMgvl8jwBJdekvwnK+S4DCCSrVSlOjANOiCRbzk1GAVDDBar5XgFIJGvPdApRIsDbfL0DuBBvzHQPkTLA13zNArgQt810D5EjQOt83wCrBSAfkHfOdA4yZYOf8RQCLV8qWoGO+e4AxEnTOPwXDEpz8/GEJzmJ+/wRnM7+R4OBzwYVu9KHrO730f3qYmehV+tGtvg65+krfetf956U0ib7zUTzpWfrVo96OeVelWmkW/ekdwWzYY/DUE/SffxYJhs3fmyD6/LfvJDh8/p4E0bO7A4wzvzOBkmx/DY43vyOBb4Bx5+9M4BpgduTJr3cCzwB55rcmcAyQb35LAr8AeedvJXALkH/+RgKvAGXmryVwClBufiOBT4Cy81cJfAKUnt9MEC9k/n+CeEH/ElsmiBc2f54gnsM9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECcP/QazAAXqg/jAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjM1OjU2KzAwOjAw0BKZwgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDozNTo1NiswMDowMKFPIX4AAAAASUVORK5CYII="},7174:function(e,t){"use strict";t.Z="data:image/png;base64,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"},3354:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzYpoEMCAAACv0lEQVR42u3ca1aDMBCG4anHNUpX065H18g58YeAKYVcyCTfZDLjX2l5Hy8lwUrUciaamj6fsJloppm+0KeBzHfkRiWYaCb3cI9BCZZ859yQBF7+iAS7/NEIDvJHIjjJH4UgkD8CQSRfO0FCvmaCxHytBBn5HoGaZVJmvjaCC/maCC7mayEoyNdAUJjfOwFDfs8ETPm9EjDmewTdXBox5/dGsG51Bj7OJnZcDwQJ+QUATQhulR/fEbnQU9d+/uh8oE8APQaAPgH0GED2EbiXJhFXhxPNWZ8fexnMGQEXyH+v+ygA+BphvezBATia6Y7OxwLAvguWJQ8aALVY3lZ8aADMfoG34MUDtCd4We9LAGhLsNvukAHQjuBtt0cKQBuCg80uOQD1CQ73+iQB1CU42eqUBVCP4HSnVxpAHYLARrc8AH6C4D6/RABegshtjoStbM5t8eTH4iKI3uWRCsBDUOEmV8spJeg8v5RAQX4JgZL8qwSK8j2C5O17Zfm5BMuNEfhNWta5ZUZNNJN7or9sbPO8+ltAB8GVfEUEV/OVEJTkKyAozU8ikLsY4shPIJAKwJUfJZC5IcKZHyGQCMCdHySQB1AjP0AgDaBW/imBLICa+ScEkgBq5x8SyAFokX9AIAWgVf4bgQyAlvk7AgkArfNfCPAAiHyPAA2Ayt8I0AC4fJ8ACQD8U9l/AhwAOH8lQAEIyP8jQAFU+dm3t82hTwA9BoA+AfQYQNHR9+ibp2MTPlrA+8RiU/ft8+LzN4Kn4xzkkkcAwZIv/p8nVCLo7avPTNBrPhNBz/kMBL3nFxJoyC8g0JJ/kUBT/gUCbfmZBD1e9jASaM1PJNCcn0CgPT9CMEJ+gGCU/BOCkfIPCEbL3xGMmO8RjJq/EYybvxKIy/9s+FzfRET0g062sbGxsbGxsbGxsbGxsbGxsRl7fgETo5ol+4Lf1QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0wMVQxMDozNTo1NCswMDowMEeNiOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDFUMTA6MzU6NTQrMDA6MDA20DBXAAAAAElFTkSuQmCC"},4634:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzYpoEMCAAAB8ElEQVR42u2c247CMAwFrf3Iha8pP17JPNDt9hLo2k608ckZJHjNjBQaRwKRttxlFq3ySsutUoLE3GQWfaif7AHCCfIHCCZACBBKgBEgkAAlgDsBTgBnAqQArgRYARwJ0AKYE7QM8PUvAXR9G5JvmUWnYbeAWR8rgEMfKYBLHyeAUx8lgFsfI0BAHyFASD9/gKB+9gAm/UfxgJw5gFFftDQj5A1g159LY1LWAB79e2lSzBnApy9SGJYzBvDrFxLkCxDTPyXIFiCuf0iQK0Ad/V2CTAHq6W8S5AlQV39NkCVAff1tgu5po/+boHPa6f8k6Jq2+q8EHdNev2uoT33qU5/61Kc+9T/pd36OG1pfTAsE1BfDIiH1RV4Lvd4IoPqyXDhdJYDVF1HR6SoBsL6IiurnBND6S4A1wXnh4PprgDcJ4PU3AQoJBtDfBTgkGEL/EGCTYBD9U4A1wSD6hQBLgkH0iwFUp2H03wT4K/n1QwEQ9AMBMPTdAVD0nQFw9F0BkPQdAbD0zQHQ9I0B8PRNARD1Tb8d1t0HCqYtcHl9mhDjlyBeAvNjEC2B4yCElcB1FEZK4ByGJphHonscRkkQuBDB2AihKzGEBDX+7DB1ghoBkicghBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYTg8QS2QApSFRikYgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0wMVQxMDozNTo1NCswMDowMEeNiOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDFUMTA6MzU6NTQrMDA6MDA20DBXAAAAAElFTkSuQmCC"},9513:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAwMWEN7AAABwUlEQVR42u2dTWoCURAGO7lFyF2SW2RyGj13QHhZCIOi8y8Ur7vKpTNQX7kYcfGMWM/HhmsTMsRfDLQEOf8SLS7xQ4uA879a1QRDXKKdWmunkgnG+a1kgrv59RI8zK+V4On8Ogkm59dIMDs/f4LF+bkTrJp/kyDZF+TV83Mm2DQ/X4LN83Ml2DU/T4Ld83MkODT/JkGnD8XD8/tOcP21Z/L1yNzV/SVYmL85QGcJ3hbebxHt+U1Ld3bCOy1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxAC1AYwBagMYAtACNAWgBGgPQAjQGoAVoDEAL0BiAFqAxQPzOniAxzdwJEp2dJvPqM0Q6mz8mOB88Rebc7fyXJDh3d3zKSxP0/ekfTpBj/u4EeebvSpBr/uYE+eZvSpBz/uoE/T/4DiXIPX8xQf75swlqzJ9MUGf+0wS15j8kqDf/LkHN+WOC77LzxwR1518TlP6nqYiIT1pAREREREREREREDvMP7dG5GDNdJU4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MTIrMDA6MDBvBW3sAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjEyKzAwOjAwHljVUAAAAABJRU5ErkJggg=="},227:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAuSPNbYAAAB70lEQVR42u3b0U7CQBCF4YkPSX0a+uJN1gtKrbQKO7O1zNn/J9HEeMH5DJFu1aw0eUw2WNI6n29WrPgb088PAczzL2dPOAlA4acfAFCZ7wTQme8CUJrvANCaXw2gNr8SQG9+FYDi/I86q/UnlapeAleJ934BAEWC6l+DagSON0JaBK63wkoEzoshHQL35bAKQeBARIMgdCSmQLALMJaxG4IdgLFYsW4INgDzJc/UC8EDwDz/04ZeCH4ALPPNrBeCFcDmer8LggVg97ijA4IZ4NfTHnmCYuXJYZc4QbHnZ33SBPcb3H8/YWGCV5+sLMHrB92iBDXn/JIEdbc5JAlqwSCAAAIXgdRNVQgggAACCCD4P4K3fxdxLMFg09kDzyQYbMrxh1nHENzmpwA4guA+PwlAa4LBJrt9VxqAlgTz/JIMoBXBMj8fQAuC1fyMAFGCy3p+ToAIwcP8rABegs38vAA+gs38zAAegs383ADVBNedr+YGqCQoggBhgvwAQQIFgBCBBkCAQAXATaAD4CRQAnARaAE4CNQAqgmOBKj63+FmleVDlw17V3z9vASq52sBOOYrAbjm6wA456sAuOdrAATmKwCE5ucHCM7PDvB9gzv2SFqr+WkBiIiIiIiIiIiIiIiIiIiIiIiIiIiI6Jy+ADS/CliJ3DLDAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE4LTAyLTAxVDEwOjQwOjExKzAwOjAwXu13cQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOC0wMi0wMVQxMDo0MDoxMSswMDowMC+wz80AAAAASUVORK5CYII="},7118:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAACTFBMVEUAAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADbAADcCgrkPT3qZmbvjIz1tLT50dH63d387e3++fnkPj7jNTXtfn72v7/++Pj////fHR3tfHz519fiLy/zqan//f3iMDD0s7P//v7dEBDvkJD++/vhLCz75ubnU1PbAQHxmJjxnJzcCQn4z8/gICD86Oj98/PkQED+9fXjNjb86urgISHxm5vhKirnUlLeEhL86enwl5fxmpriMTHiMjL1t7fjOzv0r6/zqqruhYX74OD74eHjNzfjODjtgoLug4P4ysrdDAz//Pzrbm71uLj51tb98vL87Oz50tL1ubn4y8vuhITzq6vkPDziMzPeExP99PTkQUH+9vbnVFT85+fhLS3wkZH1urrjOjr0sLDfHh762dngHx/2wMDtf3/kPz/qZ2fvjY31tbX51dX++vr97u4yUll+AAAAXnRSTlMAFUNukLDI3O7zJGum4SiE2xJsJ5n3JqT9pRSV+wFj72Qgv1zxB5sYyhksOD438i3wGuMcBpy+ZRPtlJr2cnPXM4kjp+JFsbLL3+CRRBeKNNgpll3JCCLAi+QWcN30s/BwfgAAAAFiS0dEbbsGAK0AAAAHdElNRQfiAgEKKArlO+ZOAAAFZklEQVR42u2b+VuUVRTHL4vDDAyIoMTayGYqrihBaeCSQUHZgksul1yQQK+oI7jnMihiCi6Zmrmbtpktppm5VP9YvD32dN5l7j13GXuenvf7GzPn3O/nYd65y7lnCEEqKTkldUQgLRiiNBRMC4xITUlOwuZqKz0jnEk9lBnOSE+8e9bIbMpR9sisRLqPyglQoQI5oxJknzt6jNje0pjRuQmwz3suH2dvKb8gz7B9YVEx3t5ScVGhQfuS5yNy9pYiY0tM+ZeWydtbKis1419eoeZPaUW5AfvKcar2lsZV6vq/MF7Hn9LxE/T8J2bGGbjtg1Wr16xtX9fRsa597ZrVqz5sixOYOVHHvyroOWhn1/oNzKEN67s6PYODVer+k0IeA27s3sTiaFP3Ro+E0CRV/8ke/pu3RBlH0S1b3TlTJqv5T53mtu/pZQL19rgRpk1V8Z9e7Rxn2/YdIntLO7Zvc2ZWz5D3n+laeXfuwthb2rXbmRuYKQ3gnn/2fIQFYGzvPkdyjax/ucfjLEOw/4AjWXJWLvWc/2UIYo5ZoUJqZSp5kVJdgr6D9twymdV5LKX6BIccBLV4/7qXqAmCvn5barAODfAypUYIDg/YUouw/nnc/Z/Ud8G2RhZjd6oFlJoiOGLLDOP8c23774/3aBEchYn5uGPTLJhzbHBIi2DwGEychfEvnA1TjjOmR3Ac5s3GHBZegRknrNVfiyB6EubVIwAaYMKpvwfRIuiBaQ1i/zkw/pOng+gQ9G6GaXOEAHNh+GlmgOBTmDVXCADrDwP/7v80CKJwZc4W+c+DFmfAMBoEZ2DSPAFABjQ4y4wQnIOZGQKA+SD2M/s46gTnQcp8AcCrIPZzZojgAsio5vsnwdEvMkMEF2EGv56YDCIvXWaGCC5fAgkLuAApIPKgx1CKBHBzlsIFSAWRV5gxgisgPJUL8BqIHGLGCIZAdCMXoAlEnmLGCK6C4CYuwOsg8hozRnANxL7BBYD1wBgzRhADoREuwBQQeZ0ZI7gOIkNcADgm76GSJYCRaIAOgwRoAPgRfMGMEeA/AvgQnmXGCPAPIfwa3mDGCPBfQ8REpEJwE8TwJyLxVKxEgJ+KhYuRGgFcjJq5AKLlWJEAvxy3gEiPDYkigcSGhL8lUyX4Er79JheAwPrsBQQAiuAr8KZgU2rblp/HAGAIZLbltoPJOTMEtoNJjgAg7tFMg0DqaEbSQPBA1ARBFBbr0kT+5C04zGkcAJ/ga/iy+HhuK1B8gwTgEfSegK8uFALYSzRX9QlsJZq3xf6kHiacRD4F8Qmi38KXMEUqV5lOj0C+TGcvVN4a1CMYvAX/RhUqSZatVLsbDeBJsBP+lf8OCoCEbWMc0SKwCVmsdpTr2/abIihG97YU2fIGDhsieBfrT+rsl+b93xkhiOCvbEitPfX29yYIJC6tSImjbeV2nz6B1LWd6+KyM6ZLIHdx6b66PaD7XXhPzp+QGscAbXu1CKQvr0llq3OMH9DX9z/+5MxtUmjnmeFuYLiDa2C4Y6SBwbOFY+tNsf/Pplo4CKnyaGK5e4/fxHLvrjsnpNzI49nG80v3/Xj297t/9UhQb+MZ/h94t/H1dz1wFZA6HvzW7xkc0WhkGn4O4rZyPXz0+MnvsUPsjz/bbzx5/Ohh3FYuxc//H03QbWabrudPyKIaHf+aRbr+RKuhUXr+9dbiJWr+Sxab8R9enWtVmlprjTW1kv+8rddSboFMY3M4Eb3VEq3diepwT6pvENs31Cf0lwYLl/Lb+5cizt+6Ss8IV3uZv/9MfuDwVMtaljc3tq4IrqR0ZXBFa2Pz8pZlz8zcly9fvnz58uXLly9fvnz9r/UXisM5kt7k1b8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MTArMDA6MDD4mnzFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjEwKzAwOjAwicfEeQAAAABJRU5ErkJggg=="},457:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABDUlEQVR42uzcMQ6DMAwFULvi/lc2Q4XUoQQQU5z3J4YM8OTYTM6qGCTzeBqfi4xJs43fvepLUDU8FfPmE4tnuzpQtTRAtq+A5a8AAE3wdIhlq3H3uMv9m/z182PUhUYPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMnzzfE/RohUbXVVr3vtIqLQAAYuIeMErN3+XeARwrFfvulHMF7g6xriWQtXgFGIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmmYHAAD//wMAyV4cBZA6eKgAAAAASUVORK5CYII="},6370:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACM0lEQVR42uycwZKDIBAFZ6j8/y+7l6SSNVFBGXhIc8kltev09D4RF3xZrP/wfr862eQDALMDePT6U1wwQNCAhQyYb7iZ2Wsu0CMD3Puax20QAAAAAAAAAID1PXoJ/cQA1WeB1wzNG3xigKoBM3X/y4B2EaUThs+GvNeGPTgL/pfv3htH+ryQNhezLl/CgDYWbJUvsh7Q4oK0um/foRxnwV75QitCkRbodd9+35brW3BUvtiaYIQFmt237YlZPQtyyhdcFa5pgW73bX9qft2C3PJF3wvUsEC7+3b8cHbegpLyhd8MXbFAv/sZBpyzoLR88XeDZywYo/uZBpRZcKb8Ad4Ol1gwTvcLDMiz4Gz5g/x/QFk/R+i+2Y9V4VJ9FFd6gwy453hc/QE+OADeDgPg8tP+ggGEIAaQARhABmAAAABwcwDb2yo+7wS++vZtAOTvKhkLgdcu/+XE8/v3WBQt31M0jgWpVvnrGeEoCFL97o+FwKPKL8kC2Qy4vp9Q34IUWf4ICFJp+eW7QrQRpMjuj4DAy7p/fl/AXhyKhWDMVmpVCzyq+yUWCBkQu5Fe0QKP7H6uBSIGtDlGQc0Cj+5+jgUCBrQ9REPJAm/R/SMLOEOk43jsPaLefdcoBmwZMO3eYQwwzg/AACcDyAAygAwgA8gAMmCW4ZwtTgb0aQQnSysawMnSAADAhPMADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYYfwMAQt+c3a8XgwwAAAAASUVORK5CYII="},2039:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUNTVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAIMCgxeDHUMmwiuEBozRjFOM8xqdMhkwNTJeYNZgbme+y2LDMY2VmzWa9yubEtoldhX0mhwBHJycrZzMXM1cbNzf3RB4pnqW8xryH+IL5nvFXCwgJrBZ0E3wk1CisKHxYJF2UV3SrWJw4p/hWiRRJYcmjUhXSutJPZObIhsoJyp2V71HwUeRVvKA0RTlKRUnltepWtUZ1Pw1Zjbea+7QmaqfqWOsK6b7SO6I/36DGMMrI0ljS+LfJPdPDZivM+y0qLBOtfKwtbFRtRexY7L7aP3e47XjB6ZjzXpetruvdVrov9VjkudBrgfdCn8W+y/xW+a8P2Bq4N+hY8PmQW6HPwr5EMEUKRilFG8e4xUbF5cW3JMxO3Jx0Nvl5KlOaXLpNRlRmVdas7D059/KY8tULfAqLi2YXHy55WyZR7lJRWDmv6mz131q9uvj6SQ3HGn83G7Skt85ru94h2Ond1d59uJehz76/bsK+if8nO05pnXpiOu+M4JmzZj2aozW3ZN6+BVwLwxYtXvxxqcOyCcsfrjRe1br65lrddU3rb2402NSx+cFWq21Tt3/Y6btr1R6Oven7jh9QP9h56PURv6Obj4ufqD355LT3mS3nZM+3X/h0Ke7yqasW15bdEL3ZeuvrnfS7N+/7PDjwyPTx6qeKz2a+EHzZ9Zr5Td3bn+9LP3z6VPD53de8b+9+5P/88Lv4z7d/Vf//AwAqvx2K829RWwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA8klEQVR42uzcMQrAIBAEQC/k/1++tLFfA5rZzuaQAbVZrBFM97yuCs4ea3Jnx9UHW87mGj8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHpzrYZap6N6PCJalaA3BHJ/eqHbcjAAAAAACLXoHkDbtfVzj6unbPADu0xd0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnfCPkr0dQLUjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAiXkAAAD//wMA9ngS/3+OsucAAAAASUVORK5CYII="},1575:function(e,t){"use strict";t.Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKKAebiprzAAAD6UlEQVR42u2c23bjIAxFgdX//2X6QC5yzEWADiCwHsZTJ3E52zsGExpjji9v/OwmzCz3gnBsudf2WATu879DETiS/UgE7pL9QASft8CpCL7XgEMROPrDiQjc9cfzELjfHachcPddZyFwsZ0nIXDx3ecgcKkHTkHg0g+dgcDlHjwBgcs/vD8CV3rC7giKAHZHwACwNwIWgJ0RMAHsi4ANYFcEFQD2RFAFYEcElQD2Q1ANYDcEDQD2QmCNb0tiLxv58mC89tXyJgOM2ceCv/aX+nD6Pc4C1IHpWWs2gBxItQUdBoTsaAvC4WUq1sguA0jj1FrQDUA7AgEAuhGIANCMQAiAXgSdvcAVAapHQHYxYgaE7HSjowQNCNklLfAmnH3JccDvsUQNeDdasM3wEgcghcBai7vHIMcGANBlAQSAJgQgAHoQwABgENhX91K7nQJAhwXC44A7AtnRIR0ZcLf5ghrwbjKrJZMKbEDILmdB7dkvWwA3wJi1LRhgQMguY4HCawBtOqtFkZK5gsaPMsiAkL3FgvB0S8i1nX37ee21hhlAfj3bAmu/T++zgMa/3mQ1fzbY1xR+nvAZYez8tZ3933vMoQaQEAMtyMWfYAAJArSAG3+CASTEAAtK8ScZQIIALKiJP8kAEgJoASf+RANIEEELauNPNICEAFjAjT/ZABJEwIKW+JMNICEELaiJvwCAVgRSz1wAgMR8QXnyc2kAM6dMFgHQi6D9q3CWATDLgoUAcBHwF9FynrkUAA6C8jiAdpFlBIsBKCHgDIPqECwHIIeAF78OgehQGLs6KhffJvaVR4QLGhAv/tn/vIJiSL4EYQBgaUt9fNqUnAWIZXLLxOdY0ASgMPIW5tAen4OgAYAl/4Kzd8cvI6gGwHqDi3Hoj19CUAmAXubwDsjEzyOoAkDil0QQ45Dq92sXR6XmkCoA3Du5YdcB4FHYH4/f4tviaBS01HXKAonUEGeUA7hiGZCIP8GBKYuk8gNc7Q4UDcjGH+7A8EVSnNsb3Q5kDWDEH+zA0GsA/+ZWswNJA9jxhzow7BpQO7Wh14GoAZXxIQ7Epy9krgHeZ79Co21iS6sDtznBxnm95Mxi6zyh99iv0EgY0DOtqdOByzWgIz60L0B+buFuD3c0VKMDHwDd8YfNEUEASH2koc8BJxhfpQPfa4BQn6PNgXcvIPVnOZC+ADUeMOZtgPgtayz7mvUnjFfUgRHQIOsDNDmAeHuJ3xcgC7RCRI8DCACqxgOwNUJaHMAAWOpdPgNAgkL7ovaRrZSq+EwT9neuBiCyLGGp8OgG+Z+B33LhBwBYOzy+YRJ/+v/UU0899dRTsPoH2xSb2hkwJhQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDItMDFUMTA6NDA6MDcrMDA6MDDxl0LVAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAyLTAxVDEwOjQwOjA3KzAwOjAwgMr6aQAAAABJRU5ErkJggg=="},8:function(e){"use strict";e.exports=JSON.parse('{"name":"Instructions","session":[{"name":"Local operation","items":[{"name":"Open or hide the control bar:","des":"A single finger draws a counterclockwise arc (half smile) on the screen to open or hide the control bar."}]},{"name":"Mouse and keyboard operation simulation","items":[{"name":"Moving the mouse:","des":"A single finger swipes across the screen to move the mouse."},{"name":"Left click:","des":"A single-finger tap screen indicates a left mouse click."},{"name":"Drag operation:","des":"Press and hold the screen with a single finger, and drag it when the mouse is pressed. When the single finger is raised, the mouse appears and the drag is completed."},{"name":"Context menu / right mouse button:","des":"Double-finger click to simulate the right mouse button press."},{"name":"Right mouse button press/drag:","des":"Press the screen with two fingers and press the button with the right mouse button. Two fingers leave the screen and the right mouse button is raised."},{"name":"Mouse wheel/middle button scrolling:","des":"Two fingers simultaneously up/down, simulating mouse wheel."},{"name":"Mouse wheel press/drag:","des":"Three fingers long press the screen, the middle mouse button appears, press the prompt and drag. Three fingers leave the screen and the middle mouse button lifts up."}]}]}')},2850:function(e){"use strict";e.exports=JSON.parse('{"level":{"INFO":"INFO","WARING":"WARING","ERROR":"ERROR"},"msg":{"CONNECT_WEBRTC":"Video connection...","ICE_FAILED":"The current network environment is poor. Please close the page and wait a moment to re-enter the application.","ICE_SUCCESS":"Connection succeeded.","WEBRTC_HANGUP":"The current network environment is poor. Please close the page and wait a moment to re-enter the application.","connect CONNECT_WS_ERR":"Connection failure.","CONNECT_WS_ERR_1":"Client has started.","CONNECT_WS_CLOSE":"Connection to server is down.","APP_LOGIN_ERR_1":"Client is not authenticated.","APP_LOGIN_ERR_2":"Client repeated login.","CONNECT_APP_ERR":"Connection to the application server failed.","CONNECT_APP_ERR2":"Connection application server timeout.","SIGNALING_APP_TIMEOUT":"Connection timed out. Please check the network or contact the administrator.","REMOTE_APP_FAILED":"Failed to launch cloud app. Please contact the administrator.","REMOTE_APP_CLOSE":"The cloud app is closed. Please re-enter the course.","REFRESH":"Reconnecting...","COURSE_OVER":"Course time.","COURSE_QUIT":"Confirm withdrawal from the course.","ORIENTATION":"Horizontal screen browsing is better.","REQUEST_LOCK_MOUSE":"For exclusive mouse mode, click the lock mouse button.","LOCK_MOUSE":"Enter exclusive mouse mode.","PARAM_ERROR":"Application parameter error.","LOAD_CONFIG_FAILED":"Failed to read configuration file.","TOKEN_EXPIRED":"The token has expired, please re-enter.","REQUEST_PLAY_VIDEO":"Click OK to enter the app.","LOGIN_SUCESS":"Login successful.","LOGIN_ERROR_COURSE_NOTATSTART":"Login failed, course has not arrived.","LOGIN_ERROR_COURSE_NOTEXIST":"Login failed, course does not exist.","LOGIN_ERROR_COURSE_TIMEOUT":"Login failed, the course has arrived.","LOGIN_ERROR_MEDIA_NOTREADY":"Login failed, course is not ready, please try again later.","LOGIN_ERROR_SESSION_EXIST":"Login failed, existing client connection.","LOGIN_ERROR_VALIDUSER":"Login failed, user authentication failed.","LOGIN_ERROR_SAFEDOG_NOTFOUND":"Login failed, the system did not find the dongle","LOGIN_ERROR_SAFEDOG_TIMEOUT":"Login failed, dongle has expired.","LOGIN_ERROR_UNKNOWN":"Unknown login result.","LOGIN_ERROR_EMPTY":"Login result is empty.","APP_LOGIN_TIMOUT":"Login timeout.","APP_LOGIN_MESSAGE_ERR":"Login returns an error message.","CONNECT_TO_APP_SERVER_TIMEOUT":"Connection application server timeout.","APP_START_STREAM_TIMEOUT":"Start streaming timeout","LK_LOADING_TIMEOUT":"Loading timeout.","NO_OPERATION_TIMEOUT":"No operation exceeds the system setting time, close the connection。","RENDER_SERVER_CONNECTED":"connect to render server success","RENDER_SERVER_FAILED":"connect to render server failed","RENDER_SERVER_CLOSE":"connection with render server close","RENDER_SERVER_ERROR":"connection with render server error","PROXY_SERVER_CONNECTED":"connect to proxy server success","PROXY_SERVER_FAILED":"connect to proxy server failed","PROXY_SERVER_CLOSE":"connection with proxy server close","PROXY_SERVER_ERROR":"connection with proxy server error","VERSION_CHECK_SUCCESS":"version check success","VERSION_CHECK_FAILED":"version check failed","TASK_SUCCESS":"Server get task success","TASK_ERROR":"Server get task error","TASK_NOTFOUND":"Server get task notfound","TASK_SERVER_ERROR":"Server get task server error","TASK_APP_WRONGPARAM":"task app wrong param","TASK_NO_GPU_RESOURCE":"task no gpu resource","START_SUCCESS":"start success","START_FAILED":"start failed","START_STREAM_PROCESS_START_FAILED":"start stream process failed","START_STREAM_PROCESS_START_TIMEOUT":"start stream process timout","START_STREAM_NOT_STREAMING":"start stream not streaming","START_STREAM_ENCODER_ERROR":"start stream encoder error","RTC_EVENT_PEERCONNECTION_CONNECTED":"RTC connect success","RTC_EVENT_PEERCONNECTION_CLOSED":"RTC connect close","RTC_EVENT_PEERCONNECTION_ERROR":"RTC connect error","VIDEO_LOADED":"video loaded","CONNECT_TO_ADMIN":"Please connect to adminer","RTC_RETRY_CONNECTION":"Peerconnection closed,retrying...","LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT":"Sever request logout.","LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT":"Taskowner logout.","LK_APP_PROCESS_NOTIFI_APP_QUIT":"Cloud application closed. Reopening..."}}')},2718:function(e){"use strict";e.exports=JSON.parse('{"button":{"status":"Net status","mouseMode":"Mouse Mode","mouseModeAuto":"Auto","mosueModeLock":"Lock","scale":"Zoom","scaleToNormal":"Reduction","lock":"Locking","fullScreen":"Fullscreen","exit":"Exit","setup":"Setup","show":"Show","hide":"Hide","hideVMouse":"Hide Virtual Mouse","showVMouse":"Show Virtual Mouse","hideVKeyboard":"Hide Virtual Keyboard","showVKeyboard":"Show Virtual Keyboard","playerMode":"Player Mode","playerMode_Normal":"Normal","playerMode_Interactive":"Interactive","userType":"User Type","userType_Observer":"Observer","userType_Player":"Player","requireNickName":"Please setup nickname.","requireInputChinese":"Need input Chinese?","buttonSubmit":"OK","buttonCancle":"Cancle","buttonInput":"Input","buttonBack":"Back","buttonClose":"Close"},"notice":{"browserVersion":"It is detected that your current browser kernel version is lower, it is recommended to upgrade. Continue to use?","browserUnsupport":"Current browser/mode is not supported. It’s recommended to use Chrome or use speed mode.","foundError":"An error has occurred, please give feedback to the developer. error:","start":"Start","remainMin":"System remaining time:","firstPersion":"Click on the screen to enter the first person mode, and the angle of view moves with the mouse. Press Esc to display the mouse again.","requestWebsite":"Request to open the URL:","lockMouse":"Mouse is locked, press ESC to exit lock.","hideControllerBar":"Hidden control bar.","hideControllerBarShotCut":"Control bar is hidden, Alt + C key displays control bar.","showControllerBar":"Control bar displayed.","showControllerBarShotCut":"Control bar is displayed, Alt + C hides control bar.","releaseMouse":"Press ESC release mouse.","badNetwork":"The current network environment is poor and may affect the experience.","INITED":"inited","WEBSOCKET_CHANNEL_OPEN":"websocket channel open","LOGIN_SUCCESS":"login render server","RTC_CONNECTED":"peerconnection connected","MEDIA_LOADED":"perpare remote app","SYNC_APP":"Sync remote app, please wait one min.","RTC_RETRY":"Peerconnection has closed. Retrying.","APP_RETRY_CONFIRM":"Cloud application closed. Quit now?","APP_RETRY":"Cloud application closed. Reopening...","START":"Click to Start","PLAY_FAILED":"Cloud app maybe not ready? Please connect manager to check server."}}')},6726:function(e){"use strict";e.exports=JSON.parse('{"name":"操作说明","session":[{"name":"本地操作","items":[{"name":"开启或隐藏控制栏:","des":"单指在屏幕画逆时针圆弧(半个笑脸)可开启或隐藏控制栏。"}]},{"name":"鼠标键盘操作模拟","items":[{"name":"移动鼠标:","des":"单指在屏幕上滑动表示移动鼠标。"},{"name":"左键单击:","des":"单指轻点屏幕表示鼠标左键单击。"},{"name":"拖拽操作:","des":"单指长按屏幕,出现鼠标按下提示后拖动即可。单指抬起屏幕出现鼠标抬起提示拖动完成。"},{"name":"上下文菜单/鼠标右键:","des":"双指单击,模拟鼠标右键按下。"},{"name":"鼠标右键按下/拖动:","des":"双指长按屏幕,出现鼠标右键按下提示后拖拽即可。双指离开屏幕鼠标右键抬起。"},{"name":"鼠标滚轮/中键滚动:","des":"双指同时向上/下划,模拟鼠标滚轮"},{"name":"鼠标滚轮按下/拖动:","des":"三指长按屏幕,出现鼠标中键按下提示后拖拽即可。三指离开屏幕鼠标中键抬起。"}]}]}')},1191:function(e){"use strict";e.exports=JSON.parse('{"level":{"INFO":"消息","WARING":"警告","ERROR":"错误"},"msg":{"CONNECT_WEBRTC":"视频连接中...","ICE_FAILED":"当前网络环境较差,请关闭页面,稍等片刻重新进入应用。","ICE_SUCCESS":"连接成功","WEBRTC_HANGUP":"当前网络环境较差,请关闭页面,稍等片刻重新进入应用。","CONNECT_WS_ERR":"连接服务器失败","CONNECT_WS_ERR_1":"客户端已启动","CONNECT_WS_CLOSE":"与服务器连接已关闭","APP_LOGIN_ERR_1":"客户端未认证","APP_LOGIN_ERR_2":"客户端重复登录","CONNECT_APP_ERR":"连接应用服务器失败","CONNECT_APP_ERR2":"连接应用服务器超时","SIGNALING_APP_TIMEOUT":"连接超时。请检查网络或联系管理员。","REMOTE_APP_FAILED":"启动云端应用失败。请联系管理员。","REMOTE_APP_CLOSE":"云端应用已关闭,请重新进入应用。","REFRESH":"重新连接中...","COURSE_OVER":"应用到时","COURSE_QUIT":"确认退出应用","ORIENTATION":"横屏浏览效果更佳","REQUEST_LOCK_MOUSE":"独占鼠标模式请点击锁定鼠标按钮。","LOCK_MOUSE":"进入独占鼠标模式","PARAM_ERROR":"应用参数错误","LOAD_CONFIG_FAILED":"读取配置文件失败","TOKEN_EXPIRED":"检测到 token 已过期,请重新进入。","REQUEST_PLAY_VIDEO":"点击确认进入应用","LOGIN_SUCESS":"登录成功","LOGIN_ERROR_COURSE_NOTATSTART":"登录失败,应用未到时间","LOGIN_ERROR_COURSE_NOTEXIST":"登录失败,应用不存在","LOGIN_ERROR_COURSE_TIMEOUT":"登录失败,应用已到时","LOGIN_ERROR_MEDIA_NOTREADY":"登录失败,应用未准备好,请稍后再试","LOGIN_ERROR_SESSION_EXIST":"登录失败,已有客户端连接","LOGIN_ERROR_VALIDUSER":"登录失败,用户认证失败","LOGIN_ERROR_SAFEDOG_NOTFOUND":"登录失败,系统未找到加密狗","LOGIN_ERROR_SAFEDOG_TIMEOUT":"登录失败,加密狗已过期","LOGIN_ERROR_UNKNOWN":"未知登录结果","LOGIN_ERROR_EMPTY":"登录结果为空","APP_LOGIN_TIMOUT":"登录超时","APP_LOGIN_MESSAGE_ERR":"登录返回错误消息","CONNECT_TO_APP_SERVER_TIMEOUT":"连接应用服务器超时","APP_START_STREAM_TIMEOUT":"启动流媒体超时","LK_LOADING_TIMEOUT":"加载时间超过系统设定","NO_OPERATION_TIMEOUT":"超过系统设定时间无操作,关闭连接。","RENDER_SERVER_CONNECTED":"连接渲染服务器成功","RENDER_SERVER_FAILED":"连接渲染服务器失败","RENDER_SERVER_CLOSE":"与渲染服务器连接关闭","RENDER_SERVER_ERROR":"与渲染服务器连接出错","PROXY_SERVER_CONNECTED":"连接代理服务器成功","PROXY_SERVER_FAILED":"连接代理服务器失败","PROXY_SERVER_CLOSE":"与代理服务器连接关闭","PROXY_SERVER_ERROR":"与代理服务器连接出错","VERSION_CHECK_SUCCESS":"版本检测成功","VERSION_CHECK_FAILED":"版本检测失败","TASK_SUCCESS":"服务器端请求 Task 成功","TASK_ERROR":"服务器端请求 Task 出错","TASK_NOTFOUND":"服务器端未发现 Task","TASK_SERVER_ERROR":"服务器端错误","TASK_APP_WRONGPARAM":"应用参数错误,请检查应用实际启动路径和参数","TASK_NO_GPU_RESOURCE":"服务器端 Task 获取成功,但是没有可分配的显卡","START_SUCCESS":"启动流媒体成功","START_FAILED":"启动流媒体出错","START_STREAM_PROCESS_START_FAILED":"启动失败","START_STREAM_PROCESS_START_TIMEOUT":"启动超时","START_STREAM_NOT_STREAMING":"未串流","START_STREAM_ENCODER_ERROR":"编码错误","RTC_EVENT_PEERCONNECTION_CONNECTED":"RTC 连接成功","RTC_EVENT_PEERCONNECTION_CLOSED":"RTC 连接关闭","RTC_EVENT_PEERCONNECTION_ERROR":"RTC 连接出错","VIDEO_LOADED":"视频流加载成功","CONNECT_TO_ADMIN":"请联系管理员","RTC_RETRY_CONNECTION":"点对点连接断开,重试中...","LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT":"服务端主动退出","LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT":"演示模式已结束","LK_APP_PROCESS_NOTIFI_APP_QUIT":"云端应用断开,重新启动中"}}')},4088:function(e){"use strict";e.exports=JSON.parse('{"button":{"status":"连接状态","mouseMode":"当前鼠标模式","mouseModeAuto":"自动判断","mosueModeLock":"全局锁定","scale":"铺满","scaleToNormal":"还原","lock":"全局锁定","fullScreen":"全屏","exit":"退出","setup":"设置","show":"显示","hide":"隐藏","hideVMouse":"隐藏虚拟鼠标","showVMouse":"显示虚拟鼠标","hideVKeyboard":"隐藏虚拟键盘","showVKeyboard":"显示虚拟键盘","playerMode":"模式","playerMode_Normal":"普通模式","playerMode_Interactive":"交互模式","userType":"角色","userType_Observer":"观看者","userType_Player":"操作者","requireNickName":"请输入昵称加入观看模式","requireInputChinese":"是否需要输入中文?","buttonSubmit":"确定","buttonCancle":"取消","buttonInput":"输入","buttonBack":"返回","buttonClose":"关闭"},"notice":{"browserVersion":"检测到您当前浏览器内核版本较低,建议升级。是否继续使用?","browserUnsupport":"不支持当前浏览器/模式。推荐使用 Chrome 浏览器或使用极速模式。","foundError":"出现错误,请向开发人员反馈。错误:","start":"开始","remainMin":"系统剩余时间:","firstPersion":"点击画面锁定鼠标指针。按 ESC 释放鼠标","requestWebsite":"请求打开网址:","lockMouse":"已锁定鼠标,按 ESC 退出锁定","hideControllerBar":"已隐藏控制栏","hideControllerBarShotCut":"已隐藏控制栏, Alt + C 键显示控制栏","showControllerBar":"已显示控制栏","showControllerBarShotCut":"已显示控制栏, Alt + C 隐藏示控制栏","releaseMouse":"按 ESC 释放鼠标","badNetwork":"当前网络环境差,可能影响体验","INITED":"初始化","WEBSOCKET_CHANNEL_OPEN":"连接渲染服务器","LOGIN_SUCCESS":"登录渲染服务器","RTC_CONNECTED":"点对点连接","MEDIA_LOADED":"准备云端应用","SYNC_APP":"应用同步中,请耐心等待一分钟","RTC_RETRY":"检测到点对点连接断开,正在重新连接","APP_RETRY_CONFIRM":"检测到云端应用退出,是否关闭?选择确定退出当前页面,选择取消重新启动。","APP_RETRY":"云端应用退出,重新启动中","START":"点击屏幕开始","PLAY_FAILED":"应用启动时间过长,如果长时间未进入,请联系管理员检查云端应用。"}}')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return function(){"use strict";__webpack_require__.d(__webpack_exports__,{default:function(){return Kn}});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{fixNegotiationNeeded:function(){return Y},shimAddTrackRemoveTrack:function(){return K},shimAddTrackRemoveTrackWithNative:function(){return B},shimGetDisplayMedia:function(){return z},shimGetSendersWithDtmf:function(){return _},shimGetStats:function(){return F},shimGetUserMedia:function(){return X},shimMediaStream:function(){return q},shimOnTrack:function(){return U},shimPeerConnection:function(){return J},shimSenderReceiverGetStats:function(){return G}});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{shimAddTransceiver:function(){return ie},shimCreateAnswer:function(){return ce},shimCreateOffer:function(){return ae},shimGetDisplayMedia:function(){return H},shimGetParameters:function(){return se},shimGetUserMedia:function(){return Q},shimOnTrack:function(){return $},shimPeerConnection:function(){return ee},shimRTCDataChannel:function(){return oe},shimReceiverGetStats:function(){return re},shimRemoveStream:function(){return ne},shimSenderGetStats:function(){return te}});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{shimAudioContext:function(){return ye},shimCallbacksAPI:function(){return Ae},shimConstraints:function(){return pe},shimCreateOfferLegacy:function(){return me},shimGetUserMedia:function(){return de},shimLocalStreamsAPI:function(){return ue},shimRTCIceServerUrls:function(){return he},shimRemoteStreamsAPI:function(){return le},shimTrackEventTransceiver:function(){return fe}});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{removeExtmapAllowMixed:function(){return Re},shimAddIceCandidateNullOrEmpty:function(){return Le},shimConnectionState:function(){return Se},shimMaxMessageSize:function(){return Oe},shimParameterlessSetLocalDescription:function(){return Te},shimRTCIceCandidate:function(){return ve},shimSendThrowTypeError:function(){return Ee}});__webpack_require__(5441);class o{constructor(){this.listeners=new Map}on(e,t,r){this.listeners.has(e)||this.listeners.set(e,[]);const n=this.listeners.get(e);void 0!==n&&(n.push({callback:t,target:r||this}),this.listeners.set(e,n))}off(e,t,r){if(!this.listeners.has(e))return;const n=r||this,o=this.listeners.get(e);if(void 0!==o)for(let e=0,r=o.length;e<r;e++)if(o[e].callback===t&&o[e].target===n)return void o.splice(e,1)}emit(e,...t){if(!this.listeners.has(e.type))return;const r=this.listeners.get(e.type);if(void 0!==r)for(let n=0,o=r.length;n<o;n++)r[n].callback.call(r[n].target,e,...t)}}class i{static getLevelIndex(e){switch(e){case i.INFO:return 0;case i.WARN:return 1;case i.ERR:return 2;case i.TRACE:return 3;default:return 4}}}i.INFO="INFO",i.WARN="WARN",i.ERR="ERROR",i.TRACE="TRACE";class s{static get logLevel(){return this._logLevel}static set logLevel(e){this._logLevel=e.toUpperCase()}static info(...e){this.log(i.INFO,...e)}static warn(...e){this.log(i.WARN,...e)}static err(...e){this.log(i.ERR,...e)}static trace(...e){this.log(i.TRACE,...e)}static setObserver(e){this._observer=e}static log(e,...t){if(i.getLevelIndex(e)<i.getLevelIndex(s._logLevel))return;const r=(new Date).toLocaleTimeString()+" ["+e+"]:";switch(console.log("%c"+r,"background-color: #245057; padding: 0.2rem 1.5rem; color: white;"),e){case i.INFO:console.info(...t);break;case i.WARN:console.warn(...t);break;case i.ERR:console.error(...t);break;case i.TRACE:console.trace(...t)}this._observer&&this._observer.onLog(r+t.toString())}}s._logLevel=i.INFO,s._observer=null;var a,c=__webpack_require__(5938);!function(e){e[e.CN=0]="CN",e[e.EN=1]="EN"}(a||(a={}));class u{constructor(){this.mType="",this.mLoaded=!1}get type(){return this.mType}get data(){return this.mData}loadData(e){this.mData=e,null!=this.mData&&(this.mLoaded=!0)}}const l={message:__webpack_require__(2850),gestureIns:__webpack_require__(8),ui:__webpack_require__(2718)},A={message:__webpack_require__(1191),gestureIns:__webpack_require__(6726),ui:__webpack_require__(4088)};class d{static getPrePath(){const e="../assets/localization/zh/";switch(this.mLanguageCode){case a.CN:return e;case a.EN:return"../assets/localization/en/";default:return e}}static init(e){this.mLanguageCode=function(e){const t=["zh-CN"];return!e||e.indexOf(t[0])>-1}(e)?a.CN:a.EN,this.mLanguageCode===a.CN?(this.message.loadData(A.message),this.gestureIns.loadData(A.gestureIns),this.ui.loadData(A.ui)):(this.message.loadData(l.message),this.gestureIns.loadData(l.gestureIns),this.ui.loadData(l.ui))}static get message(){return this.mMessage}static get gestureIns(){return this.mGestureIns}static get ui(){return this.mUI}}var p,h;d.mLanguageCode=a.CN,d.mMessage=new class extends u{constructor(){super(...arguments),this.mType="message"}getLevel(e){return this.mLoaded?this.mData.level[e]:""}getMessage(e){return this.mLoaded?this.mData.msg[e]:""}get info(){return this.getLevel("INFO")}get waring(){return this.getLevel("WARING")}get error(){return this.getLevel("ERROR")}get connectWebRTC(){return this.getMessage("CONNECT_WEBRTC")}get iceFailed(){return this.getMessage("ICE_FAILED")}get iceSuccess(){return this.getMessage("ICE_SUCCESS")}get webRTCHangUp(){return this.getMessage("WEBRTC_HANGUP")}get connectWsErr(){return this.getMessage("CONNECT_WS_ERR")}get connectWsErr1(){return this.getMessage("CONNECT_WS_ERR_1")}get connectWsClose(){return this.getMessage("CONNECT_WS_CLOSE")}get appLoginErr1(){return this.getMessage("APP_LOGIN_ERR_1")}get appLoginErr2(){return this.getMessage("APP_LOGIN_ERR_2")}get connectAppErr(){return this.getMessage("CONNECT_APP_ERR")}get connectAppErr2(){return this.getMessage("CONNECT_APP_ERR2")}get signalingAppTimeout(){return this.getMessage("SIGNALING_APP_TIMEOUT")}get remoteAppFailed(){return this.getMessage("REMOTE_APP_FAILED")}get remoteAppClose(){return this.getMessage("REMOTE_APP_CLOSE")}get refresh(){return this.getMessage("REFRESH")}get courseOver(){return this.getMessage("COURSE_OVER")}get courseOuit(){return this.getMessage("COURSE_QUIT")}get orientation(){return this.getMessage("ORIENTATION")}get requestLockMouse(){return this.getMessage("REQUEST_LOCK_MOUSE")}get lockMouse(){return this.getMessage("LOCK_MOUSE")}get paramError(){return this.getMessage("PARAM_ERROR")}get loadConfigFailed(){return this.getMessage("LOAD_CONFIG_FAILED")}get tokenExpired(){return this.getMessage("TOKEN_EXPIRED")}get requestPlayVideo(){return this.getMessage("REQUEST_PLAY_VIDEO")}get loginSuccess(){return this.getMessage("LOGIN_SUCESS")}get loginErrorCourseNotStart(){return this.getMessage("LOGIN_ERROR_COURSE_NOTATSTART")}get loginErrorCourseNotexist(){return this.getMessage("LOGIN_ERROR_COURSE_NOTEXIST")}get loginErrorCourseTimeout(){return this.getMessage("LOGIN_ERROR_COURSE_TIMEOUT")}get loginErrorMediaNotReady(){return this.getMessage("LOGIN_ERROR_MEDIA_NOTREADY")}get loginErrorSessionExist(){return this.getMessage("LOGIN_ERROR_SESSION_EXIST")}get loginErrorValiduser(){return this.getMessage("LOGIN_ERROR_VALIDUSER")}get loginErrorSafedogNotfound(){return this.getMessage("LOGIN_ERROR_SAFEDOG_NOTFOUND")}get loginErrorSafedogTimeout(){return this.getMessage("LOGIN_ERROR_SAFEDOG_TIMEOUT")}get loginErrorUnknown(){return this.getMessage("LOGIN_ERROR_UNKNOWN")}get loginErrorEmpty(){return this.getMessage("LOGIN_ERROR_EMPTY")}get appLoginTimeout(){return this.getMessage("APP_LOGIN_TIMOUT")}get appLoginMessageErr(){return this.getMessage("APP_LOGIN_MESSAGE_ERR")}get connectToAppServerTimeout(){return this.getMessage("CONNECT_TO_APP_SERVER_TIMEOUT")}get appStartStreamTimeout(){return this.getMessage("APP_START_STREAM_TIMEOUT")}get noOperationTimeout(){return this.getMessage("NO_OPERATION_TIMEOUT")}get RENDER_SERVER_CONNECTED(){return this.getMessage("RENDER_SERVER_CONNECTED")}get RENDER_SERVER_FAILED(){return this.getMessage("RENDER_SERVER_FAILED")}get RENDER_SERVER_CLOSE(){return this.getMessage("RENDER_SERVER_CLOSE")}get RENDER_SERVER_ERROR(){return this.getMessage("RENDER_SERVER_ERROR")}get PROXY_SERVER_CONNECTED(){return this.getMessage("PROXY_SERVER_CONNECTED")}get PROXY_SERVER_FAILED(){return this.getMessage("PROXY_SERVER_FAILED")}get PROXY_SERVER_CLOSE(){return this.getMessage("PROXY_SERVER_CLOSE")}get PROXY_SERVER_ERROR(){return this.getMessage("PROXY_SERVER_ERROR")}get VERSION_CHECK_SUCCESS(){return this.getMessage("VERSION_CHECK_SUCCESS")}get VERSION_CHECK_FAILED(){return this.getMessage("VERSION_CHECK_FAILED")}get taskSuccess(){return this.getMessage("TASK_SUCCESS")}get taskError(){return this.getMessage("TASK_ERROR")}get taskNotFound(){return this.getMessage("TASK_NOTFOUND")}get taskServerError(){return this.getMessage("TASK_SERVER_ERROR")}get taskAppWrongParam(){return this.getMessage("TASK_APP_WRONGPARAM")}get taskNoGpuResource(){return this.getMessage("TASK_NO_GPU_RESOURCE")}get startSuccess(){return this.getMessage("START_SUCCESS")}get startFailed(){return this.getMessage("START_FAILED")}get startStreamProcessStartFailed(){return this.getMessage("START_STREAM_PROCESS_START_FAILED")}get startStreamProcessStartTimeout(){return this.getMessage("START_STREAM_PROCESS_START_TIMEOUT")}get startStreamNotStreaming(){return this.getMessage("START_STREAM_NOT_STREAMING")}get startStreamEncodeError(){return this.getMessage("START_STREAM_ENCODER_ERROR")}get connectToAdmin(){return this.getMessage("CONNECT_TO_ADMIN")}get RTC_EVENT_PEERCONNECTION_CONNECTED(){return this.getMessage("RTC_EVENT_PEERCONNECTION_CONNECTED")}get RTC_EVENT_PEERCONNECTION_CLOSED(){return this.getMessage("RTC_EVENT_PEERCONNECTION_CLOSED")}get RTC_EVENT_PEERCONNECTION_ERROR(){return this.getMessage("RTC_EVENT_PEERCONNECTION_ERROR")}get VIDEO_LOADED(){return this.getMessage("VIDEO_LOADED")}get RTC_RETRY_CONNECTION(){return this.getMessage("RTC_RETRY_CONNECTION")}get LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT(){return this.getMessage("LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT")}get LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT(){return this.getMessage("LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT")}get LK_APP_PROCESS_NOTIFI_APP_QUIT(){return this.getMessage("LK_APP_PROCESS_NOTIFI_APP_QUIT")}get LK_LOADING_TIMEOUT(){return this.getMessage("LK_LOADING_TIMEOUT")}},d.mGestureIns=new class extends u{constructor(){super(...arguments),this.mType="gestureIns"}},d.mUI=new class extends u{constructor(){super(...arguments),this.mType="ui"}getButton(e){return this.mLoaded?this.mData.button[e]:""}getNotice(e){return this.mLoaded?this.mData.notice[e]:""}get status(){return this.getButton("status")}get mouseMode(){return this.getButton("mouseMode")}get mouseModeAuto(){return this.getButton("mouseModeAuto")}get mosueModeLock(){return this.getButton("mosueModeLock")}get scale(){return this.getButton("scale")}get scaleToNormal(){return this.getButton("scaleToNormal")}get lock(){return this.getButton("lock")}get fullScreen(){return this.getButton("fullScreen")}get exit(){return this.getButton("exit")}get setup(){return this.getButton("setup")}get show(){return this.getButton("show")}get hide(){return this.getButton("hide")}get hideVMouse(){return this.getButton("hideVMouse")}get showVMouse(){return this.getButton("showVMouse")}get hideVKeyboard(){return this.getButton("hideVKeyboard")}get showVKeyboard(){return this.getButton("showVKeyboard")}get playerMode(){return this.getButton("playerMode")}get playerModeNormal(){return this.getButton("playerMode_Normal")}get playerModeInteractive(){return this.getButton("playerMode_Interactive")}get userType(){return this.getButton("userType")}get userTypeObserver(){return this.getButton("userType_Observer")}get userTypePlayer(){return this.getButton("userType_Player")}get requireNickName(){return this.getButton("requireNickName")}get requireInputChinese(){return this.getButton("requireInputChinese")}get buttonSubmit(){return this.getButton("buttonSubmit")}get buttonCancle(){return this.getButton("buttonCancle")}get buttonInput(){return this.getButton("buttonInput")}get buttonClose(){return this.getButton("buttonClose")}get buttonBack(){return this.getButton("buttonBack")}get browserVersion(){return this.getNotice("browserVersion")}get browserUnsupport(){return this.getNotice("browserUnsupport")}get foundError(){return this.getNotice("foundError")}get start(){return this.getNotice("start")}get remainMin(){return this.getNotice("remainMin")}get firstPersion(){return this.getNotice("firstPersion")}get requestWebsite(){return this.getNotice("requestWebsite")}get lockMouse(){return this.getNotice("lockMouse")}get hideControllerBar(){return this.getNotice("hideControllerBar")}get hideControllerBarShotCut(){return this.getNotice("hideControllerBarShotCut")}get showControllerBar(){return this.getNotice("showControllerBar")}get showControllerBarShotCut(){return this.getNotice("showControllerBarShotCut")}get releaseMouse(){return this.getNotice("releaseMouse")}get badNetwork(){return this.getNotice("badNetwork")}get INITED(){return this.getNotice("INITED")}get WEBSOCKET_CHANNEL_OPEN(){return this.getNotice("WEBSOCKET_CHANNEL_OPEN")}get LOGIN_SUCCESS(){return this.getNotice("LOGIN_SUCCESS")}get RTC_CONNECTED(){return this.getNotice("RTC_CONNECTED")}get MEDIA_LOADED(){return this.getNotice("MEDIA_LOADED")}get SYNC_APP(){return this.getNotice("SYNC_APP")}get RTC_RETRY(){return this.getNotice("RTC_RETRY")}get APP_RETRY(){return this.getNotice("APP_RETRY")}get APP_RETRY_CONFIRM(){return this.getNotice("APP_RETRY_CONFIRM")}get START(){return this.getNotice("START")}get PLAY_FAILED(){return this.getNotice("PLAY_FAILED")}},function(e){e[e.LK_WEB_CLIENT_LOAD_SUCCESS=1]="LK_WEB_CLIENT_LOAD_SUCCESS",e[e.LK_TASK_CREATE_SUCCESS=10]="LK_TASK_CREATE_SUCCESS",e[e.LK_TASK_CREATE_FAILED=11]="LK_TASK_CREATE_FAILED",e[e.LK_RESOURCE_NOT_ENOUGH=12]="LK_RESOURCE_NOT_ENOUGH",e[e.LK_TASK_SYNC_APP=20]="LK_TASK_SYNC_APP",e[e.LK_TASK_SYNC_APP_FAILED=21]="LK_TASK_SYNC_APP_FAILED",e[e.LK_RENDER_SERVER_CONNECTED=100]="LK_RENDER_SERVER_CONNECTED",e[e.LK_RENDER_SERVER_FAILED=101]="LK_RENDER_SERVER_FAILED",e[e.LK_RENDER_SERVER_CLOSE=102]="LK_RENDER_SERVER_CLOSE",e[e.LK_RENDER_SERVER_ERROR=103]="LK_RENDER_SERVER_ERROR",e[e.LK_PROXY_SERVER_CONNECTED=200]="LK_PROXY_SERVER_CONNECTED",e[e.LK_PROXY_SERVER_FAILED=201]="LK_PROXY_SERVER_FAILED",e[e.LK_PROXY_SERVER_CLOSE=202]="LK_PROXY_SERVER_CLOSE",e[e.LK_PROXY_SERVER_ERROR=203]="LK_PROXY_SERVER_ERROR",e[e.LK_VERSION_CHECK_SUCCESS=300]="LK_VERSION_CHECK_SUCCESS",e[e.LK_VERSION_CHECK_FAILED=301]="LK_VERSION_CHECK_FAILED",e[e.LK_TASK_SUCCESS=400]="LK_TASK_SUCCESS",e[e.LK_TASK_NOTFOUND=401]="LK_TASK_NOTFOUND",e[e.LK_TASK_SERVER_ERROR=402]="LK_TASK_SERVER_ERROR",e[e.LK_TASK_APP_WRONGPARAM=403]="LK_TASK_APP_WRONGPARAM",e[e.LK_TASK_NO_GPU_RESOURCE=404]="LK_TASK_NO_GPU_RESOURCE",e[e.LK_START_STREAM_SUCCESS=500]="LK_START_STREAM_SUCCESS",e[e.LK_START_STREAM_PROCESS_START_FAILED=501]="LK_START_STREAM_PROCESS_START_FAILED",e[e.LK_START_STREAM_PROCESS_START_TIMEOUT=502]="LK_START_STREAM_PROCESS_START_TIMEOUT",e[e.LK_START_STREAM_NOT_STREAMING=503]="LK_START_STREAM_NOT_STREAMING",e[e.LK_START_STREAM_ENCODER_ERROR=504]="LK_START_STREAM_ENCODER_ERROR",e[e.LK_RTC_EVENT_PEERCONNECTION_CONNECTED=600]="LK_RTC_EVENT_PEERCONNECTION_CONNECTED",e[e.LK_RTC_EVENT_PEERCONNECTION_CLOSED=601]="LK_RTC_EVENT_PEERCONNECTION_CLOSED",e[e.LK_RTC_EVENT_PEERCONNECTION_ERROR=602]="LK_RTC_EVENT_PEERCONNECTION_ERROR",e[e.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED=603]="LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED",e[e.LK_RTC_EVENT_PEERCONNECTION_STATE=610]="LK_RTC_EVENT_PEERCONNECTION_STATE",e[e.LK_RTC_EVENT_PEERCONNECTION_RETRY=611]="LK_RTC_EVENT_PEERCONNECTION_RETRY",e[e.LK_VIDEO_LOADED=700]="LK_VIDEO_LOADED",e[e.LK_VIDEO_PLAY_FAILED=701]="LK_VIDEO_PLAY_FAILED",e[e.LK_GOT_REMOTE_STREAM=710]="LK_GOT_REMOTE_STREAM",e[e.LK_VIDEO_PLAY_SUCCSS=711]="LK_VIDEO_PLAY_SUCCSS",e[e.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT=800]="LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT",e[e.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT=801]="LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT",e[e.LK_APP_PROCESS_NOTIFI_APP_QUIT=900]="LK_APP_PROCESS_NOTIFI_APP_QUIT",e[e.LK_NO_OPERATION_TIMEOUT=901]="LK_NO_OPERATION_TIMEOUT",e[e.LK_LOADING_TIMEOUT=902]="LK_LOADING_TIMEOUT",e[e.LK_APP_RESIZE=910]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=911]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=912]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=913]="LK_APP_REQUEST_TEXT",e[e.LK_APP_CURSOR_STYLE=914]="LK_APP_CURSOR_STYLE",e[e.LK_USER_REQUEST_QUIT=920]="LK_USER_REQUEST_QUIT",e[e.LK_UI_RESIZE=930]="LK_UI_RESIZE",e[e.LK_STARTVRSTREAM_SUCCESS=1e3]="LK_STARTVRSTREAM_SUCCESS",e[e.LK_STARTVRSTREAM_START_PROCESS_FAILED=1001]="LK_STARTVRSTREAM_START_PROCESS_FAILED",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT=1002]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR=1003]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR",e[e.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR=1004]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR",e[e.LK_WEBCLIENT_NOTIFY_ALERT=1100]="LK_WEBCLIENT_NOTIFY_ALERT",e[e.LK_WEBCLIENT_NOTIFY_CONFIRM=1101]="LK_WEBCLIENT_NOTIFY_CONFIRM",e[e.LK_WEBCLIENT_TOAST_MSG=1102]="LK_WEBCLIENT_TOAST_MSG",e[e.LK_USER_CAPTURE_FRAME=2e3]="LK_USER_CAPTURE_FRAME",e[e.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA=2001]="LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA",e[e.LK_REQUEST_CAPTURE_FRAME=3e3]="LK_REQUEST_CAPTURE_FRAME",e[e.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA=3001]="LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE=1e4]="LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN=10001]="LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_UP=10002]="LK_IFRAME_POSTER_OPERATE_MOUSE_UP",e[e.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL=10003]="LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL",e[e.LK_IFRAME_POSTER_OPERATE_KEY_DOWN=10010]="LK_IFRAME_POSTER_OPERATE_KEY_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_KEY_UP=10011]="LK_IFRAME_POSTER_OPERATE_KEY_UP",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN=10020]="LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE=10021]="LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE",e[e.LK_IFRAME_POSTER_OPERATE_TOUCH_UP=10022]="LK_IFRAME_POSTER_OPERATE_TOUCH_UP",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN=10030]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP=10031]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE=10032]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE",e[e.LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES=10033]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES",e[e.LK_IFRAME_POSTER_OPENAUDIO_INPUT=10040]="LK_IFRAME_POSTER_OPENAUDIO_INPUT",e[e.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT=10041]="LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT",e[e.LK_IFRAME_POSTER_FUNC_MOUSE_MODE=10100]="LK_IFRAME_POSTER_FUNC_MOUSE_MODE",e[e.LK_IFRAME_POSTER_FUNC_SCALE_MODE=10101]="LK_IFRAME_POSTER_FUNC_SCALE_MODE",e[e.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP=10102]="LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP",e[e.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY=10103]="LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY",e[e.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO=10104]="LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO",e[e.LK_IFRAME_POSTER_UI_CONTROLLER_BAR=10200]="LK_IFRAME_POSTER_UI_CONTROLLER_BAR",e[e.LK_IFRAME_POSTER_UI_PLAYER_LIST=10201]="LK_IFRAME_POSTER_UI_PLAYER_LIST",e[e.LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL=10202]="LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL",e[e.LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL=10203]="LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL",e[e.LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK=10204]="LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK",e[e.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD=10205]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD",e[e.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE=10206]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE",e[e.LK_IFRAME_POSTER_UI_MOBILE_MENU=10207]="LK_IFRAME_POSTER_UI_MOBILE_MENU",e[e.LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE=10208]="LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE",e[e.LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT=10209]="LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT",e[e.LK_IFRAME_POSTER_UI_TOAST_LEVEL=10210]="LK_IFRAME_POSTER_UI_TOAST_LEVEL",e[e.LK_IFRAME_POSTER_UI_ALERT=10211]="LK_IFRAME_POSTER_UI_ALERT",e[e.LK_IFRAME_POSTER_UI_CONFIRM=10212]="LK_IFRAME_POSTER_UI_CONFIRM",e[e.LK_DATA_CHANNEL_ESTABLISHED=2e4]="LK_DATA_CHANNEL_ESTABLISHED",e[e.LK_DATA_CHANNEL_RETYING=20001]="LK_DATA_CHANNEL_RETYING",e[e.LK_DATA_CHANNEL_CLOSE=20002]="LK_DATA_CHANNEL_CLOSE",e[e.LK_DATA_CHANNEL_ERROR=20003]="LK_DATA_CHANNEL_ERROR",e[e.LK_DATA_CHANNEL_BINARY_MESSAGE=20004]="LK_DATA_CHANNEL_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_TEXT_MESSAGE=20005]="LK_DATA_CHANNEL_TEXT_MESSAGE",e[e.LK_RE_CONNECT_DATA_CHANNEL=20100]="LK_RE_CONNECT_DATA_CHANNEL",e[e.LK_CLOSE_DATA_CHANNEL=20101]="LK_CLOSE_DATA_CHANNEL",e[e.LK_DATA_CHANNEL_SEND_TEXT=20102]="LK_DATA_CHANNEL_SEND_TEXT",e[e.LK_DATA_CHANNEL_SEND_BINARY=20103]="LK_DATA_CHANNEL_SEND_BINARY",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=20200]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=20201]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=20202]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=20203]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT=20300]="LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY=20301]="LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY"}(p||(p={}));class f{static GetEventMessageByType(e){switch(e){case p.LK_WEB_CLIENT_LOAD_SUCCESS:return"webclient load success";case p.LK_RENDER_SERVER_CONNECTED:return d.message.RENDER_SERVER_CONNECTED;case p.LK_RENDER_SERVER_FAILED:return d.message.RENDER_SERVER_FAILED;case p.LK_RENDER_SERVER_CLOSE:return d.message.RENDER_SERVER_CLOSE;case p.LK_RENDER_SERVER_ERROR:return d.message.RENDER_SERVER_ERROR;case p.LK_PROXY_SERVER_CONNECTED:return d.message.PROXY_SERVER_CONNECTED;case p.LK_PROXY_SERVER_FAILED:return d.message.PROXY_SERVER_FAILED;case p.LK_PROXY_SERVER_CLOSE:return d.message.PROXY_SERVER_CLOSE;case p.LK_PROXY_SERVER_ERROR:return d.message.PROXY_SERVER_ERROR;case p.LK_VERSION_CHECK_SUCCESS:return d.message.VERSION_CHECK_SUCCESS;case p.LK_VERSION_CHECK_FAILED:return d.message.VERSION_CHECK_FAILED;case p.LK_TASK_SUCCESS:return d.message.taskSuccess;case p.LK_TASK_NOTFOUND:return d.message.taskNotFound;case p.LK_TASK_SERVER_ERROR:return d.message.taskError;case p.LK_TASK_APP_WRONGPARAM:return d.message.taskAppWrongParam;case p.LK_TASK_NO_GPU_RESOURCE:return d.message.taskNoGpuResource;case p.LK_RTC_EVENT_PEERCONNECTION_CONNECTED:return d.message.RTC_EVENT_PEERCONNECTION_CONNECTED;case p.LK_RTC_EVENT_PEERCONNECTION_CLOSED:return d.message.RTC_EVENT_PEERCONNECTION_CLOSED;case p.LK_RTC_EVENT_PEERCONNECTION_ERROR:return d.message.RTC_EVENT_PEERCONNECTION_ERROR;case p.LK_START_STREAM_SUCCESS:return d.message.startSuccess;case p.LK_START_STREAM_PROCESS_START_FAILED:return d.message.startStreamProcessStartFailed;case p.LK_START_STREAM_PROCESS_START_TIMEOUT:return d.message.startStreamProcessStartTimeout;case p.LK_START_STREAM_NOT_STREAMING:return d.message.startStreamNotStreaming;case p.LK_START_STREAM_ENCODER_ERROR:return d.message.startStreamEncodeError;case p.LK_VIDEO_LOADED:return d.message.VIDEO_LOADED;case p.LK_USER_CAPTURE_FRAME:return"user capture a render frame.";default:return""}}}!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(h||(h={}));class m extends o{constructor(e,t){super(),this.connection=null,this.keepAliveTimeout=-1,s.info("初始化 WebSocketet"+JSON.stringify(e)),this.config=e,this.larksr=t,this.onMessage=this.onMessage.bind(this),this.onWSError=this.onWSError.bind(this),this.onWSClose=this.onWSClose.bind(this),this.startKeepAlive=this.startKeepAlive.bind(this),this.stopKeepAlive=this.stopKeepAlive.bind(this)}get wsServer(){let e=new URL(this.config.serverAddress).protocol.indexOf("s")>-1,t=e?"wss://":"ws://",r=e&&this.config.renderSSLServerPort?this.config.renderSSLServerPort:this.config.port;return`${t}${this.config.ip}:${r}/${this.config.path?this.config.path:""}`}connect(){return new Promise(((e,t)=>{s.info("连接 websocket 服务器",this.config.ip,this.wsServer),this.config.ip||(s.warn("server uri error:",this.config.ip),t("server uri error:"+this.config.ip));const r=this.wsServer;this.connection=new WebSocket(r),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.connection.addEventListener("open",(()=>{e(this),this.larksr.$emit(p.LK_RENDER_SERVER_CONNECTED),this.onOpen()})),this.connection.addEventListener("error",(e=>{s.info("connection error"),this.larksr.$emit(p.LK_RENDER_SERVER_ERROR,"","ws connect to "+r+" failed. code "+p.LK_RENDER_SERVER_ERROR),t("ws connect to "+r+" failed. code "+p.LK_RENDER_SERVER_ERROR),this.onWSError(e)})),this.connection.addEventListener("close",(e=>{s.info("websocket connection close"),this.larksr.$emit(p.LK_RENDER_SERVER_CLOSE,"","ws failed:"+JSON.stringify(e)+". code "+p.LK_RENDER_SERVER_CLOSE),t("ws failed:"+JSON.stringify(e)+". code "+p.LK_RENDER_SERVER_CLOSE),this.onWSClose(e)}))}))}close(){return new Promise(((e,t)=>{if(this.connection){const r=this;this.connection.addEventListener("close",(t=>{r.connection=null,s.info("CLOSE PROMISE 关闭 websocket 连接"),e()})),this.connection.addEventListener("error",(e=>{t(e)})),s.warn("主动关闭 websocket 连接"),this.connection.close()}else s.warn("主动关闭连接,但是当前 websocket 连接为null"),e()}))}sendMsg(e){this.sendBuffer(c.CloudLark.ToServerMessage.encode(e).finish())}sendBuffer(e){this.connection&&this.isOpen()&&this.connection.send(e)}isOpen(){return!!this.connection&&1===this.connection.readyState}startKeepAlive(){s.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout((()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()}),1e4)}stopKeepAlive(){s.info("proxy stopKeepAlive"),this.keepAliveTimeout&&window.clearTimeout(this.keepAliveTimeout)}onMessage(e){if(s.info("websocket channel",e,typeof e),e.data)try{const t=c.CloudLark.ToClientMessage.decode(new Uint8Array(e.data));this.$emit(h.CLIENT_MSG,t)}catch(e){s.warn("Protobuf MSG decode failed:"+JSON.stringify(e))}}onOpen(){s.info("websocket 服务器连接成功"),this.startKeepAlive(),this.$emit(h.OPEN)}onWSError(e){s.info("websocket 连接错误:"+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(h.ERROR)}onWSClose(e){s.info("websocket 连接关闭: "+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(h.CLOSE)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}class y{static get language(){return y.$language}static get isMobile(){return y.$isMobile}static get isWeChat(){return y.$isWeChat}static get isQQ(){return y.$isQQ}static get isHuawei(){return y.$isHuawei}static get os(){return y.$os}static get isIOSSafari(){return y.$isIOSSafari}}y.$language="zh-CN",y.$os="Unknown";y.$os=function(){const e=navigator.userAgent;return e.indexOf("Android")>-1||e.indexOf("Adr")>-1?"Android":e.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)||-1!=e.indexOf("Safari")&&-1!=e.indexOf("Version")&&"ontouchend"in document?"iOS":e.match(/macintosh|mac os x/i)?"Mac OS":e.match(/windows|win32/i)?"Windows PC":"PC"}(),y.$isMobile=function(){const e=navigator.userAgent.toLowerCase(),t=-1!==e.indexOf("mobile"),r=-1!==e.indexOf("android"),n="ontouchend"in document,o=-1!=e.indexOf("safari")&&-1!=e.indexOf("version"),i=-1!=e.indexOf("iphone"),s=-1!=e.indexOf("ipad");return t||r||o&&n||i||s}(),y.$isWeChat=/micromessenger/i.test(navigator.userAgent),y.$isHuawei=navigator.userAgent.toLowerCase().indexOf("huaweibrowser")>-1,y.$isQQ=navigator.userAgent.toLowerCase().indexOf("mqqbrowser")>-1,y.$isIOSSafari=function(){if(navigator.userAgent.indexOf("Chrome")<=0&&navigator.userAgent.indexOf("Safari")>=0||navigator.userAgent.indexOf("Mac")>=0&&"ontouchend"in document)return!0;switch(navigator.platform){case"iPad Simulator":case"iPhone Simulator":case"iPod Simulator":case"iPad":case"iPhone":case"iPod":return!0}return!1}();var b=y;class g{}g.FIT_SCREEN="fit",g.CONTAIN_VIDEO="cover",g.CONTAIN_APP="contain",g.FILL_CLIP="fill_clip",g.FILL_STRETCH="fill_stretch",g.OFFSET=30;class v{}function O(e=""){const t=navigator.userAgent,r=t.indexOf(e);if(r>-1){const n=r+e.length+"/".length,o=t.slice(n,n+2);return parseInt(o,10)}return-1}v.BuildType="local",v.LocalHomepagePath="cloudlark/webclient",v.VersionMarjor=3,v.VersionMinorr=2,v.VersionRevise=3,v.VersionBuild=29,v.RetryTime=3,v.OriginW=2e4,v.OriginH=1e4,v.CodeRate=8e3,v.AudioCodeRate=128,v.FrameRate=60,v.ScaleMode=g.CONTAIN_APP,v.Network="local",v.MouseMode=1,v.ForceIceAddr=!1,v.DisableVPX=!1,v.RelativeMouseMove=!1,v.VirtualRackerScale=1,v.ErrChromeAndroidVersion=[],v.DownloadChromium="http://pxy-web-image.oss-cn-beijing.aliyuncs.com/chrome-apk/com.android.chrome_v62.0.3202.73-320207301_Android-5.0.apk";class E{static getBrowserType(){const e=navigator.userAgent;return e.indexOf(E.Type.IE)>-1?E.Type.IE:e.indexOf(E.Type.Opera)>-1?E.Type.Opera:e.indexOf(E.Type.Edge)>-1?E.Type.Edge:e.indexOf(E.Type.Firefox)>-1?E.Type.Firefox:e.indexOf(E.Type.Safari)>-1&&e.indexOf("Version")>-1?E.Type.Safari:e.indexOf(E.Type.Chrome)>-1?E.Type.Chrome:""}static checkSupport(){const e=navigator.userAgent;if(b.isMobile){for(const t of v.ErrChromeAndroidVersion)if(e.indexOf(t)>-1)return-1;return O(E.Type.Chrome)>E.SupportMobile.Chrome||O(E.Type.Firefox)>E.SupportMobile.Firefox?1:0}{const e=E.getBrowserType(),t=O(E.Type.Edge),r=e!==E.Type.Edge?O(E.Type.Chrome):-1,n=O(E.Type.Firefox);return e!==E.Type.IE&&t>=E.AdviseSupportVersion.Edge||r>=E.AdviseSupportVersion.Chrome||n>=E.AdviseSupportVersion.Firefox?1:e!==E.Type.IE&&t>E.Support.Edge||r>E.Support.Chrome||n>E.Support.Firefox?-2:0}}static getBrowserVersion(e=""){return O(e)}}E.Type={Chrome:"Chrome",iOSChrome:"CriOS",Firefox:"Firefox",Edge:"Edge",Opera:"OPR",IE:"MSIE",Safari:"Safari"},E.Support={Chrome:33,Firefox:30,Edge:1e5},E.AdviseSupportVersion={Chrome:56,Firefox:44,Edge:1e5},E.SupportMobile={Chrome:58,iOSChrome:58,Firefox:53,Edge:1e5};var S=__webpack_require__(1919),R=__webpack_require__.n(S);class L{static queryString(e){const t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)","i");let r=window.location.search.substr(1);if(r=r.replace("/",""),""===r){const e=window.location.hash.substr(1).split("?");e&&e.length>1&&(r=e[1])}const n=r.match(t);return null!=n?encodeURI(n[2]):""}static queryURL(e,t){const r=new RegExp("(^|&)"+t+"=([^&]*)(&|$)","i");let n=e.search.substr(1);n=n.replace("/","");const o=n.match(r);return null!=o?encodeURI(o[2]):""}static deepCopy(e){const t={};for(const r in e)r&&(t[r]=e[r]);return t}static deepCopyArray(e){const t=[];for(const r of e)t.push(r);return t}static getElementViewport(e,t=1){const{left:r,right:n,top:o,bottom:i}=e.getBoundingClientRect();return s.info("getElementViewport ",r,n,o,i),{width:(n-r)/t,height:(i-o)/t}}static elementTop(e){let t=e.offsetTop,r=e.offsetParent;for(;null!==r;)t+=r.offsetTop,r=r.offsetParent;return t}static elementLeft(e){let t=e.offsetLeft,r=e.offsetParent;for(;null!==r;)t+=r.offsetLeft,r=r.offsetParent;return t}static singlePointRelativePosition(e,t){const r=L.getOffsetViewport(t);return{x:e.clientX-r.offsetX,y:e.clientY-r.offsetY}}static touchRelativePosition(e,t){if(e.changedTouches.length>0&&t){const r=[];for(const n in e.targetTouches)n&&r.push({x:e.targetTouches[n].clientX-t.offsetX,y:e.targetTouches[n].clientY-t.offsetY});return r}return[]}static pointsDistance(e,t){const r=t.x-e.x,n=t.y-e.y;return Math.sqrt(r*r+n*n)}static vector(e,t){return{x:t.x-e.x,y:t.y-e.y,startPoint:e,endPoint:t}}static vectorModule(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static vectorCosAngle(e,t){const r=L.vectorModule(e)*L.vectorModule(t);return 0===r?0:L.vectorDotProduct(e,t)/r}static vectorDotProduct(e,t){return e.x*t.x+e.y*t.y}static vectorDet(e,t){return e.x*t.y-t.x*e.y}static midpointCoordinate(e){if(0===e.length)return{x:0,y:0};if(1===e.length)return e[0];{const t={x:0,y:0};for(const r of e)t.x+=r.x,t.y+=r.y;return{x:t.x/e.length,y:t.y/e.length}}}static formatTimeString(e=0){const t=Math.floor(e/3600),r=e%3600,n=Math.floor(r/60),o=Math.floor(r%60);return(t<10?"0"+t:t+"")+":"+(n<10?"0"+n:n+"")+":"+(o<10?"0"+o:o+"")}static formatMinTimeString(e=0){const t=Math.floor(e/1440),r=e%1440,n=Math.floor(r/60),o=r%60;return t+""+" 天 "+(n<10?"0"+n:n+"")+" 小时 "+(o<10?"0"+o:o+"")+"分"}static sign(e){return 0===e?1/e<0?-1:1:Math.sign(e)}static coverPointToCssPosition(e){return{top:e.y,left:e.x}}static coverCssPositionToPoint(e){return{x:e.left,y:e.top}}static getViewport(){return s.info("innerHeight for ios",R()()),b.isIOSSafari?{width:window.innerWidth,height:window.innerHeight}:"BackCompat"===document.compatMode?{width:document.body.clientWidth,height:document.body.clientHeight}:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}static getElementTop(e){let t=e.offsetTop,r=e.offsetParent;for(;null!==r;)t+=r.offsetTop,r=r.offsetParent;return t}static getElementLeft(e){let t=e.offsetLeft,r=e.offsetParent;for(;null!==r;)t+=r.offsetLeft,r=r.offsetParent;return t}static getOffsetViewport(e){const t=e.getBoundingClientRect();if(t)return{offsetX:t.left,offsetY:t.top};{const t=L.getElementLeft(e),r=L.getElementTop(e);return{offsetX:t-window.pageXOffset,offsetY:r-window.pageYOffset}}}static getBoundingClientRect(e){if(e.getBoundingClientRect){const t=e.getBoundingClientRect();return{top:t.top,left:t.left,right:t.right,bottom:t.bottom}}return{top:0,left:0,right:0,bottom:0}}static getBoundingClientRectSize(e){const t=L.getBoundingClientRect(e);return{width:t.right-t.left,height:t.bottom-t.top}}static getMousePositon(e,t){const r=L.getOffsetViewport(t);return{x:e.clientX-r.offsetX,y:e.clientY-r.offsetY}}static fresh(){window.location.reload()}static ab2str(e){const t=new Uint16Array(e);return String.fromCharCode.apply(null,t)}static strToU8Arraybuf(e){const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let t=0,n=e.length;t<n;t++)r[t]=e.charCodeAt(t);return t}static bytesEqual(e,t){if(e.byteLength!==t.byteLength)return!1;const r=new Uint8Array(e),n=new Uint8Array(t);for(let e=0;e<r.byteLength;e++)if(r[e]!==n[e])return!1;return!0}static getMobliePixelWidth(e,t){return e/1340*100*t}static IsIframe(){return self!==top}}class T{static isLoopIpAddress(e){return"127.0.0.1"===e||"localhost"===e}static getRtpmapRegByMode(e){switch(e){default:return this.vp8;case"VP9":return this.vp9;case"H264":return this.h264;case"AV1X":return this.av1x;case"H265":return this.h265;case"HEVC":return this.hevc;case"SVAC":return this.svac}}static hasVp8(e){return this.hasMode(e,"VP8")}static hasVp9(e){return this.hasMode(e,"VP9")}static hasH264(e){return this.hasMode(e,"H264")}static hasAV1X(e){return this.hasMode(e,"AV1X")}static hasH265(e){return this.hasMode(e,"H265")}static hasHEVC(e){return this.hasMode(e,"HEVC")}static hasSVAC(e){return this.hasMode(e,"SVAC")}static hasMode(e,t){const r=this.getRtpmapRegByMode(t),n=e.match(r);return!!(n&&n.length>0)}static setAudioBitrate(e,t){return e.replace("useinbandfec=1",`useinbandfec=1; maxaveragebitrate=${t}; stereo=1; sprop-stereo=1 ; cbr=1`)}static setBitRate(e,t,r,n){return["VP8","VP9","H264","AV1X"].map((o=>{e=this.setModeBitRate(e,t,r,n,o)})),e}static setModeBitRate(e,t,r,n,o){const i=this.getRtpmapRegByMode(o),a=[],c=`x-google-start-bitrate=${t};x-google-max-bitrate=${r};x-google-min-bitrate=${n}`;e.replace(i,(e=>{const t=e.split(":");return t.length>0&&a.push(t[1].split(" ")[0]),e}));for(const t of a){const r=new RegExp("a=fmtp:"+t+this.tail,this.config);s.info("find fmtp",r,e.match(r)),e=e.match(r)?e.replace(r,(e=>{const t=this.getAttrName(e)+" "+this.sdpGooAttrLine(...this.getBlankAttrs(e),c);return s.info("replace sdp bitrite res:",t),t})):e.replace(i,(e=>(e+="a=fmtp:"+t+" "+c+"\r\n",s.warn("cant find fmtp "+t+" in sdp. need add",e),e)))}return e}static removeVp8(e){return this.sdpFilter(e,"VP8")}static removeVp9(e){return this.sdpFilter(e,"VP9")}static removeH264(e){return this.sdpFilter(e,"H264")}static removeAV1X(e){return this.sdpFilter(e,"AV1X")}static removeH265(e){return this.hasH265(e)?this.sdpFilter(e,"H265"):e}static removeHEVC(e){return this.hasHEVC(e)?this.sdpFilter(e,"HEVC"):e}static removeSVAC(e){return this.hasSVAC(e)?this.sdpFilter(e,"SVAC"):e}static sdpFilter(e,t){const r=this.getRtpmapRegByMode(t),n=[];e=e.replace(r,(e=>{const t=e.split(":");return t.length>0&&n.push(t[1].split(" ")[0]),""}));const o=this.tail,i=this.config,a=[];for(const t of n){const r=new RegExp("a=rtcp-fb:"+t+o,i);s.info("replace rtcp-fb",r),e=e.replace(r,(e=>(s.info("replace rtcp-fb",e),"")));const n=new RegExp("a=fmtp:.*apt="+t+o,i);let c="";if(e=e.replace(n,(e=>{const t=e.split(":");return t.length>0&&(c=t[1].split(" ")[0],a.push(c)),s.info("fmtp apt",e,c),""})),c){const t=new RegExp("a=rtpmap:"+c+o,i);e=e.replace(t,(e=>(s.info("remove rtpmap",e),"")))}const u=new RegExp("a=fmtp:.*"+t+o,i);e=e.replace(u,(e=>(s.info("remove fmtp ",e),"")))}return e=e.replace(/m=video 9 UDP\/TLS\/RTP\/SAVPF.*/g,(e=>{if(n.length>0)for(const t of n)e=e.replace(t+" ","");if(a.length>0)for(const t of a)e=e.replace(t+" ","");return e}))}static sdpGooAttrLine(...e){return e.join(";")+"\r\n"}static sdpBlankAttrLine(...e){return e.join(" ")+"\r\n"}static getBlankAttrs(e){return e.split(" ").slice(1).map((e=>e.trim()))}static getAttrName(e){return e.split(" ")[0].trim()}}T.vp8=/a=rtpmap:.* VP8.*[.\n\r]*/g,T.vp9=/a=rtpmap:.* VP9.*[.\n\r]*/g,T.h264=/a=rtpmap:.* H264.*[.\n\r]*/g,T.av1x=/a=rtpmap:.* AV1X.*[.\n\r]*/g,T.h265=/a=rtpmap:.* H265.*[.\n\r]*/g,T.hevc=/a=rtpmap:.* HEVC.*[.\n\r]*/g,T.svac=/a=rtpmap:.* SVAC.*[.\n\r]*/g,T.tail=".*[.\n\r]*",T.config="g";let k=!0,C=!0;function w(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function M(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,o=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return o.apply(this,arguments);const i=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,i),o.apply(this,[e,i])};const i=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return i.apply(this,arguments);if(!this._eventMap[t].has(r))return i.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,i.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function I(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(k=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function N(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(C=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function P(){if("object"==typeof window){if(k)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function W(e,t){C&&console.warn(e+" is deprecated, please use "+t+" instead.")}function x(e){return"[object Object]"===Object.prototype.toString.call(e)}function V(e){return x(e)?Object.keys(e).reduce((function(t,r){const n=x(e[r]),o=n?V(e[r]):e[r],i=n&&!Object.keys(o).length;return void 0===o||i?t:Object.assign(t,{[r]:o})}),{}):e}function D(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?D(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((t=>{D(e,e.get(t),r)}))})))}function j(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",o=new Map;if(null===t)return o;const i=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&i.push(e)})),i.forEach((t=>{e.forEach((r=>{r.type===n&&r.trackId===t.id&&D(e,r,o)}))})),o}const Z=P;function X(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const o=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[o("min",r)]=n.ideal,t.optional.push(e),e={},e[o("max",r)]=n.ideal,t.optional.push(e)):(e[o("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[o("",r)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[o(e,r)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},o=function(e,o){if(t.version>=61)return o(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let i=e.video.facingMode;i=i&&("object"==typeof i?i:{ideal:i});const s=t.version<66;if(i&&("user"===i.exact||"environment"===i.exact||"user"===i.ideal||"environment"===i.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,"environment"===i.exact||"environment"===i.ideal?t=["back","rear"]:"user"!==i.exact&&"user"!==i.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then((r=>{let s=(r=r.filter((e=>"videoinput"===e.kind))).find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&r.length&&t.includes("back")&&(s=r[r.length-1]),s&&(e.video.deviceId=i.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),Z("chrome: "+JSON.stringify(e)),o(e)}))}e.video=n(e.video)}return Z("chrome: "+JSON.stringify(e)),o(e)},i=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){o(e,(e=>{r.webkitGetUserMedia(e,t,(e=>{n&&n(i(e))}))}))}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return o(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(i(e))))))}}}function z(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((t=>{const n=r.video&&r.video.width,o=r.video&&r.video.height,i=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:i||3}},n&&(r.video.mandatory.maxWidth=n),o&&(r.video.mandatory.maxHeight=o),e.navigator.mediaDevices.getUserMedia(r)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}function q(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function U(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.track.id)):{track:r.track};const o=new Event("track");o.track=r.track,o.receiver=n,o.transceiver={receiver:n},o.streams=[t.stream],this.dispatchEvent(o)})),t.stream.getTracks().forEach((r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.id)):{track:r};const o=new Event("track");o.track=r,o.receiver=n,o.transceiver={receiver:n},o.streams=[t.stream],this.dispatchEvent(o)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else M(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function _(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let o=r.apply(this,arguments);return o||(o=t(this,e),this._senders.push(o)),o};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function F(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const o=function(e){const t={};return e.result().forEach((e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{r[t]=e.stat(t)})),t[r.id]=r})),t},i=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){r(i(o(e)))};return t.apply(this,[n,e])}return new Promise(((e,r)=>{t.apply(this,[function(t){e(i(o(t)))},r])})).then(r,n)}}function G(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>j(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),M(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>j(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach((r=>{r.track===e&&(t?n=!0:t=r)})),this.getReceivers().forEach((t=>(t.track===e&&(r?n=!0:r=t),t.track===e))),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function B(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),o.apply(this,arguments)}}function K(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return B(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const o=e.RTCPeerConnection.prototype.removeStream;function i(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],o=e._streams[n.id];r=r.replace(new RegExp(o.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}function s(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],o=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),o.id)})),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},o.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const o=this.getSenders().find((e=>e.track===t));if(o)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const i=this._streams[r.id];if(i)i.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=i(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then((e=>i(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=s(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=c.get.apply(this);return""===e.type?e:i(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((r=>{this._streams[r].getTracks().find((t=>e.track===t))&&(t=this._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function J(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function Y(e,t){M(e,"negotiationneeded",(e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e}))}function Q(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){W("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function H(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}function $(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function ee(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,o,i]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!o)try{e.forEach((e=>{e.type=r[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))}))}return e})).then(o,i)}}function te(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function re(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),M(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function ne(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){W("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function oe(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function ie(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function se(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ce(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ue(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}}function le(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}}function Ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,o=t.setLocalDescription,i=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],o=r.apply(this,[n]);return t?(o.then(e,t),Promise.resolve()):o},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],o=n.apply(this,[r]);return t?(o.then(e,t),Promise.resolve()):o};let a=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,r){const n=s.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=a}function de(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(pe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function pe(e){return e&&void 0!==e.video?Object.assign({},e,{video:V(e.video)}):e}function he(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(W("RTCIceServer.url","RTCIceServer.urls"),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function fe(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function me(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function ye(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var be=__webpack_require__(9169),ge=__webpack_require__.n(be);function ve(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=ge().parseCandidate(e.candidate),o=Object.assign(r,n);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,M(e,"icecandidate",(t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function Oe(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=function(e){if(!e||!e.sdp)return!1;const t=ge().splitSections(e.sdp);return t.shift(),t.some((e=>{const t=ge().parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))},n=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r},o=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r},i=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const o=ge().matchPrefix(e.sdp,"a=max-message-size:");return o.length>0?n=parseInt(o[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n},s=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){const e=n(arguments[0]),t=o(e),r=i(arguments[0],e);let s;s=0===t&&0===r?Number.POSITIVE_INFINITY:0===t||0===r?Math.max(t,r):Math.min(t,r);const a={};Object.defineProperty(a,"maxMessageSize",{get:()=>s}),this._sctp=a}return s.apply(this,arguments)}}function Ee(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],o=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&o>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},M(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function Se(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function Re(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function Le(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Te(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}if(e.sdp||"offer"!==e.type&&"answer"!==e.type)return r.apply(this,[e]);const t="offer"===e.type?this.createOffer:this.createAnswer;return t.apply(this).then((e=>r.apply(this,[e])))})}const ke=function({window:o}={},i={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const s=P,a=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=w(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=w(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=w(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(o),c={browserDetails:a,commonShim:n,extractVersion:w,disableLog:I,disableWarnings:N,sdp:be};switch(a.browser){case"chrome":if(!e||!J||!i.shimChrome)return s("Chrome shim is not included in this adapter release."),c;if(null===a.version)return s("Chrome shim can not determine version, not shimming."),c;s("adapter.js shimming chrome."),c.browserShim=e,Le(o,a),Te(o),X(o,a),q(o),J(o,a),U(o),K(o,a),_(o),F(o),G(o),Y(o,a),ve(o),Se(o),Oe(o,a),Ee(o),Re(o,a);break;case"firefox":if(!t||!ee||!i.shimFirefox)return s("Firefox shim is not included in this adapter release."),c;s("adapter.js shimming firefox."),c.browserShim=t,Le(o,a),Te(o),Q(o,a),ee(o,a),$(o),ne(o),te(o),re(o),oe(o),ie(o),se(o),ae(o),ce(o),ve(o),Se(o),Oe(o,a),Ee(o);break;case"safari":if(!r||!i.shimSafari)return s("Safari shim is not included in this adapter release."),c;s("adapter.js shimming safari."),c.browserShim=r,Le(o,a),Te(o),he(o),me(o),Ae(o),ue(o),le(o),fe(o),de(o),ye(o),ve(o),Oe(o,a),Ee(o),Re(o,a);break;default:s("Unsupported browser!")}return c}({window:"undefined"==typeof window?void 0:window});var Ce=ke;class we{constructor(e){if(this.header="",this.props=[],this.sdpMLineIndex=null!=e.sdpMLineIndex?e.sdpMLineIndex:null,this.sdpMid=null!=e.sdpMid?e.sdpMid:null,this.usernameFragment=null!=e.usernameFragment?e.usernameFragment:null,e.candidate){const t=e.candidate.split(":");t.length>1?(this.header=t[0],this.props=t[1].split(" ")):s.warn("parse candiate failed formate error",e.candidate)}else s.warn("parse candiate failed. candidate empty",e)}get foundation(){return this.props.length>0?this.props[0]:""}set foundation(e){this.props.length>0&&(this.props[0]=e)}get component(){return this.props.length>1?this.props[1]:""}set component(e){this.props.length>1&&(this.props[1]=e)}get protocol(){return this.props.length>2?this.props[2]:""}set protocol(e){this.props.length>2&&(this.props[2]=e)}get priority(){return this.props.length>3?this.props[3]:""}set priority(e){this.props.length>3&&(this.props[3]=e)}get ip(){return this.props.length>4?this.props[4]:""}set ip(e){this.props.length>4&&(this.props[4]=e)}get port(){return this.props.length>5?this.props[5]:""}set port(e){this.props.length>5&&(this.props[5]=e)}get type(){return this.props.length>7?this.props[7]:""}get candidate(){return`${this.header}:${this.props.join(" ")}`}genNewIceCandidateInit(){let e={};return null!=this.sdpMid&&(e.sdpMid=this.sdpMid),null!=this.sdpMLineIndex&&(e.sdpMLineIndex=this.sdpMLineIndex),null!=this.usernameFragment&&(e.usernameFragment=this.usernameFragment),e.candidate=this.candidate,e}genNewIceCandidate(){return new RTCIceCandidate(this.genNewIceCandidateInit())}}var Me,Ie,Ne=__webpack_require__(4314),Pe=__webpack_require__.n(Ne);!function(e){e[e.DISCONNECT=1]="DISCONNECT",e[e.BAD=2]="BAD",e[e.CONNECT=3]="CONNECT",e[e.GOOD=4]="GOOD"}(Me||(Me={})),function(e){e[e.GOT_REMOTE_STREAM=0]="GOT_REMOTE_STREAM",e[e.GOT_REMOTE_AUDIO_STREAM=1]="GOT_REMOTE_AUDIO_STREAM",e[e.ICE_STATE_CHANGE=2]="ICE_STATE_CHANGE",e[e.LK_APP_RESIZE=3]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=4]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=5]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=6]="LK_APP_REQUEST_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=7]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=8]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=9]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=10]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.LK_RTC_EVENT_PEERCONNECTION_STATE=11]="LK_RTC_EVENT_PEERCONNECTION_STATE",e[e.NET_STATE=12]="NET_STATE",e[e.SYNC_CURSORSTYLE=13]="SYNC_CURSORSTYLE",e[e.BAD_NETWORK=14]="BAD_NETWORK",e[e.ERROR=15]="ERROR",e[e.RTC_SDP=16]="RTC_SDP",e[e.RTC_ICECANDIDATE=17]="RTC_ICECANDIDATE",e[e.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",e[e.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",e[e.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",e[e.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",e[e.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",e[e.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR",e[e.INFO=24]="INFO"}(Ie||(Ie={}));const We=/(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;var xe;!function(e){e[e.VP8=1]="VP8",e[e.VP9=2]="VP9",e[e.H264=3]="H264",e[e.DEFAULT=4]="DEFAULT"}(xe||(xe={}));class Ve extends o{constructor(e,t){super(),this.pc=null,this.dataChannel=null,this.netTestTimeout=null,this.aggregatedStats=null,this.lastThrowBadNetork=0,this.lastPacktetsLost=0,this.lastPacktetsReceived=0,this.audioStream=null,this.videoStream=null,this.localAudioTrackBinding=null,this.localVideoTrackBinding=null,this.localShareTrackBinding=null,this.sdpCreateSuccess=!1,this.larksr=e,this.config=t,this.offerOptions={offerToReceiveAudio:!0,offerToReceiveVideo:!0,iceRestart:!0},this.pcConfig={iceServers:[{urls:["stun:ice.pingxingyun.cn:3478"]}]},this.onIceCandidate=this.onIceCandidate.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onDataChannelMessage=this.onDataChannelMessage.bind(this),this.onCreateOfferSuccess=this.onCreateOfferSuccess.bind(this),this.getStats=this.getStats.bind(this),this.getStateChrome=this.getStateChrome.bind(this),this.ontrack=this.ontrack.bind(this),Ce.disableLog(!0),s.info("adapter",Ce.browserDetails)}get audioDeviceId(){var e;return null===(e=this.localAudioTrackBinding)||void 0===e?void 0:e.deviceId}get audioTrack(){var e;return null===(e=this.localAudioTrackBinding)||void 0===e?void 0:e.track}get videoDeviceId(){var e;return null===(e=this.localVideoTrackBinding)||void 0===e?void 0:e.deviceId}get videoTrack(){var e;return null===(e=this.localVideoTrackBinding)||void 0===e?void 0:e.track}async create(e){s.info("createPeerConnection config: ",this.pcConfig);const t=new RTCPeerConnection(this.pcConfig);e&&e.getTracks().forEach((e=>{t.addTrack(e)})),s.info("Created loacl peer connection"),t.onicecandidate=this.onIceCandidate,t.oniceconnectionstatechange=this.onIceStateChange,t.ontrack=this.ontrack,t.onconnectionstatechange=e=>{s.info("onconnectionstatechange",e)},t.onnegotiationneeded=e=>{s.info("onnegotiationneeded",e),this.createOffer()},this.pc=t;const r=t.createDataChannel("PXY_DATACHANNEL");r.binaryType="arraybuffer",r.onopen=e=>{s.info("on datachannel open",r.readyState,r.bufferedAmount,r.bufferedAmountLowThreshold)},r.onclose=e=>{s.info("on datachannel close",r.readyState,r.bufferedAmount,r.bufferedAmountLowThreshold)},r.onerror=e=>{s.info("on datachannel error",e)},r.onmessage=this.onDataChannelMessage,this.dataChannel=r}createOffer(){this.pc&&(s.info("createOffer start"),this.pc.createOffer(this.offerOptions).then(this.onCreateOfferSuccess).catch((e=>{s.warn("createOffer error:",e)})))}close(){var e;this.pc&&(s.info("关闭点对点连接"),this.iceStateChange(Me.DISCONNECT),null===(e=this.pc)||void 0===e||e.close(),this.pc=null),this.dataChannel&&(s.info("关闭datachannel"),this.dataChannel.close(),this.dataChannel=null),this.audioStream=null,this.videoStream=null,this.stopNetTest(),this.sdpCreateSuccess=!1}setAudioEnable(e){this.localAudioTrackBinding?this.localAudioTrackBinding.track.enabled=e:s.warn("not open audio")}setVideoEnable(e){this.localVideoTrackBinding?this.localVideoTrackBinding.track.enabled=e:s.warn("not open audio")}setShareEnable(e){this.localShareTrackBinding?this.localShareTrackBinding.track.enabled=e:s.warn("not open audio")}closeAudio(){const e=this.stopLocalTrackBing(this.localAudioTrackBinding);return this.localAudioTrackBinding=null,e}closeVideo(){const e=this.stopLocalTrackBing(this.localVideoTrackBinding);return this.localVideoTrackBinding=null,e}closeShare(){const e=this.stopLocalTrackBing(this.localShareTrackBinding);return this.localShareTrackBinding=null,e}stopLocalTrackBing(e){return e?(null==e||e.track.stop(),e.sender&&this.removeMediaTrack(e.sender),!0):(s.warn("no local binding find"),!1)}async openAudio(e=""){null!=this.localAudioTrackBinding&&this.closeAudio();const t=e?await this.openAudioDevice(e):await this.openUserMeida({video:!1,audio:!0});return t.rtcRtpSenders.forEach((t=>{"audio"==t.track.kind&&(this.localAudioTrackBinding&&this.localAudioTrackBinding.track.id==t.track.id&&s.warn("find same audio track"),this.localAudioTrackBinding=t,this.localAudioTrackBinding.deviceId=e)})),t}async openVideo(e=!1,t=""){null!=this.localAudioTrackBinding&&this.closeAudio();const r=t?await this.openCamera(t):await this.openUserMeida({video:!0,audio:e});return r.rtcRtpSenders.forEach((e=>{"video"==e.track.kind?(this.localVideoTrackBinding&&this.localVideoTrackBinding.track.id==e.track.id&&s.warn("find same video track"),this.localVideoTrackBinding=e,this.localVideoTrackBinding.deviceId=t):s.warn("unknown track type",e)})),r}async openDefaultMedia(e=!0,t=!0){(await this.openUserMeida({video:e,audio:t})).rtcRtpSenders.forEach((e=>{"audio"==e.track.kind?(this.localAudioTrackBinding&&this.localAudioTrackBinding.track.id==e.track.id&&s.warn("find same audio track"),this.localAudioTrackBinding=e):"video"==e.track.kind?(this.localVideoTrackBinding&&this.localVideoTrackBinding.track.id==e.track.id&&s.warn("find same video track"),this.localVideoTrackBinding=e):s.warn("unknown track type",e)}))}async openShareMediaDevice(){if(!this.pc)throw new Error("PeerConnection not ready");const e=await navigator.mediaDevices.getDisplayMedia(),t=[];e.getTracks().forEach((e=>{var r;const n=null===(r=this.pc)||void 0===r?void 0:r.addTrack(e);t.push({track:e,sender:n,deviceId:""})})),this.localShareTrackBinding=t[0]}async getConnectedAudioinputDevices(){const e=await this.getConnectedDevices("audioinput");return s.info("getConnectedAudioinputDevices",e),e}async getConnectedAudioOutputDevices(){return await this.getConnectedDevices("audiooutput")}async getConnectedVideoinputDevices(){return await this.getConnectedDevices("videoinput")}async getConnectedDevices(e){return(await navigator.mediaDevices.enumerateDevices()).filter((t=>t.kind===e))}async openAudioDevice(e,t="audioinput"){const r={audio:{deviceId:e,echoCancellation:!0,kind:t},video:!1};return await this.openUserMeida(r)}async openCamera(e,t=0,r=0){let n={audio:{echoCancellation:!0},video:{deviceId:e}};return t&&t>0&&(n.video.width={min:t}),r&&r>0&&(n.video.height={min:r}),await this.openUserMeida(n)}async openUserMeida(e){if(!this.pc)throw new Error("PeerConnection not ready");if((null==e?void 0:e.audio)&&!this.larksr.params.audioInput)throw new Error("请在后台应用管理中打开音频输入功能");if((null==e?void 0:e.video)&&!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");if(!this.larksr.isTaskOwner)throw new Error("互动模式观看者不支持上传音视频");const t=Ne.getParser(window.navigator.userAgent),r=t.getOSName(),n=parseFloat(t.getOSVersion());if("iOS"==r&&n<15)throw new Error("iOS 15 以下系统不支持重新打开媒体设备");const o=await navigator.mediaDevices.getUserMedia(e);(null==e?void 0:e.video)&&"landscape"==this.larksr.screenState.screenOrientation&&this.$emit(Ie.INFO,"请开启手机自动旋转以支持摄像头横屏");const i=[];return o.getTracks().forEach((e=>{var t;s.info("add track ",e);const r=null===(t=this.pc)||void 0===t?void 0:t.addTrack(e);i.push({sender:r,track:e,deviceId:""})})),{streams:o,rtcRtpSenders:i}}addMediaTrack(e,...t){return!!this.pc&&(this.pc.addTrack(e,...t),!0)}removeMediaTrack(e){return!!this.pc&&(this.pc.removeTrack(e),!0)}requestUserMediaPermission(e){return navigator.mediaDevices.getUserMedia(e)}onRemoteDescription(e){if(e&&this.pc){s.info("Answer from remote \r\n",e.sdp);const t=new RTCSessionDescription(e);this.pc.setRemoteDescription(t).then((e=>{s.info("set remote des success",e)})).catch((e=>{s.err("set remote des error",e),this.$emit(Ie.ERROR,"set remote des error:"+JSON.stringify(e))}))}}onReceiveCandidate(e){if(null===this.pc)return;s.info("onReceiveCandidate"+JSON.stringify(e));const{serverIP:t,preferPubOutIp:r}=this.config;if(e.candidate){if(""!==r){s.info("手动替换 ICE Candidate 地址为公共地址",t,e.candidate);const n=We,o=L.deepCopy(e),i=e.candidate;o.candidate=i.replace(n,(e=>r)),this.addIceCandidate(new RTCIceCandidate(o)),s.info("replace server ip finished::",e.candidate)}const n=new we(e);if(""!==t&&t!=n.ip&&(n.ip=t,s.info("Add New ice candidate with render server ip",t,n.candidate)),this.addIceCandidate(n.genNewIceCandidate()),this.larksr.config.publicPortMapping&&this.larksr.config.publicPortMapping[t+":"+n.port]){const e=this.larksr.config.publicPortMapping[t+":"+n.port].split(":");e.length>1?(n.ip=e[0],n.port=e[1],this.addIceCandidate(n.genNewIceCandidate()),s.info("Add Publich ice candidate with render server ip",n.candidate)):s.warn("setup port mapping formate error",this.larksr.config.publicPortMapping[t+":"+n.port])}}this.addIceCandidate(new RTCIceCandidate(e))}startNetTest(){this.netTestTimeout=window.setTimeout((()=>{this.getStats(),this.startNetTest()}),1e3)}stopNetTest(){this.netTestTimeout&&clearTimeout(this.netTestTimeout)}sendInput(e){this.larksr.isPixelStreaming?s.err("wrong input proto when use pixel streaming"):this.larksr.remoteScreenReady?this.sendBuffer(c.CloudLark.ClientInput.encode(e).finish()):s.warn("remote screen not ready skip event.")}sendBuffer(e){this.pc&&this.dataChannel&&"open"==this.dataChannel.readyState&&this.dataChannel.send(e)}sendToAppTextMsg(e){const t=(new TextEncoder).encode(e),r=new c.CloudLark.ClientInput({clientDcMsg:{type:c.CloudLark.AppDataChannelMessage.Type.STRING,data:t}});s.info("sendToAppTextMsg",e,t),this.sendInput(r)}sendToAppBinaryMsg(e){const t=new c.CloudLark.ClientInput({clientDcMsg:{type:c.CloudLark.AppDataChannelMessage.Type.BIN,data:e}});this.sendInput(t)}StartCloudLiveStreaming(e){return new Promise(((t,r)=>{if(!this.larksr.params.liveStreaming)return void r("请在后台开启云端推流功能");if(this.larksr.appState<Ke.MEDIA_LOADED)return void r("Must connect cloud success before start cloud live streaming");if(!e.path)return void r("live stream path must not empty");e.key||(e.key=""),null!=e.voice&&null!=e.voice||!this.larksr.params.audioInput||(e.voice=!0),e.reconnectRetries&&(e.reconnectRetries=3),null!=e.reconnect&&null!=e.reconnect||(e.reconnect=!0),e.framerate||(e.framerate=30),e.bitrate||(e.bitrate=2048),e.width||(e.width=1280),e.height||(e.height=720);const n=new c.CloudLark.ClientInput({rtmpStart:e});this.sendBuffer(c.CloudLark.ClientInput.encode(n).finish()),t()}))}StopLiveStreaming(){const e=new c.CloudLark.ClientInput({rtmpStop:{flag:!1}});this.sendBuffer(c.CloudLark.ClientInput.encode(e).finish())}changeOperater(e){s.info("onOperateChange",e);let t=c.CloudLark.ClientInput.create({dispatchController:{id:e}});this.sendBuffer(c.CloudLark.ClientInput.encode(t).finish())}inputText(e){s.info("on input txt",e);const t=c.CloudLark.ClientInput.create({textInput:{content:e}});this.sendBuffer(c.CloudLark.ClientInput.encode(t).finish())}getStats(){if(this.pc)if(E.getBrowserType()===E.Type.Chrome||E.getBrowserType()===E.Type.Safari||"iOS"===b.os)this.getStateChrome();else{const e={timestamp:0,bytesReceived:0,framesDecoded:0,packetsLost:0,bytesReceivedStart:0,framesDecodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesDropped:0,framesReceived:0,framesDroppedPercentage:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0},t=this;this.pc.getStats().then((r=>{if(r){let n=!1;r.forEach((t=>{if(t.id&&t.id.indexOf("RTCIceCandidatePair")>-1&&t.hasOwnProperty("totalRoundTripTime")&&t.hasOwnProperty("responsesReceived")&&0!==t.responsesReceived&&!n){const r=t.totalRoundTripTime/t.responsesReceived*1e3;e.currentRoundTripTime=r}t.id&&t.id.indexOf("RTCInboundRTPVideoStream")>-1&&t.hasOwnProperty("packetsLost")&&(e.packetsLost=t.packetsLost)})),t.aggregatedStats=e,this.$emit(Ie.NET_STATE,e),this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_STATE,L.deepCopy(e),"UPDATE PEERCONNECTION STATE")}})).catch((e=>{s.warn("peerconnection getStats failed",e)}))}else s.warn("get stats without peerconnection")}getStateChrome(){if(!this.pc)return;const e=this;this.pc.getStats(null).then((t=>{const r={timestamp:0,bytesReceived:0,framesDecoded:0,packetsLost:0,bytesReceivedStart:0,framesDecodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesDropped:0,framesReceived:0,framesDroppedPercentage:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0};t.forEach((t=>{if("inbound-rtp"!=t.type||t.isRemote||"video"!=t.mediaType&&!t.id.toLowerCase().includes("video")||(r.timestamp=t.timestamp,r.bytesReceived=t.bytesReceived,r.framesDecoded=t.framesDecoded,r.packetsLost=t.packetsLost,r.bytesReceivedStart=e.aggregatedStats&&e.aggregatedStats.bytesReceivedStart?e.aggregatedStats.bytesReceivedStart:t.bytesReceived,r.framesDecodedStart=e.aggregatedStats&&e.aggregatedStats.framesDecodedStart?e.aggregatedStats.framesDecodedStart:t.framesDecoded,r.timestampStart=e.aggregatedStats&&e.aggregatedStats.timestampStart?e.aggregatedStats.timestampStart:t.timestamp,e.aggregatedStats&&e.aggregatedStats.timestamp&&(e.aggregatedStats.bytesReceived&&(r.bitrate=8*(r.bytesReceived-e.aggregatedStats.bytesReceived)/(r.timestamp-e.aggregatedStats.timestamp),r.bitrate=Math.round(r.bitrate),r.lowBitrate=e.aggregatedStats.lowBitrate&&e.aggregatedStats.lowBitrate<r.bitrate?e.aggregatedStats.lowBitrate:r.bitrate,r.highBitrate=e.aggregatedStats.highBitrate&&e.aggregatedStats.highBitrate>r.bitrate?e.aggregatedStats.highBitrate:r.bitrate),e.aggregatedStats.bytesReceivedStart&&(r.avgBitrate=8*(r.bytesReceived-e.aggregatedStats.bytesReceivedStart)/(r.timestamp-e.aggregatedStats.timestampStart),r.avgBitrate=Math.round(r.avgBitrate)),e.aggregatedStats.framesDecoded&&(r.framerate=(r.framesDecoded-e.aggregatedStats.framesDecoded)/((r.timestamp-e.aggregatedStats.timestamp)/1e3),r.framerate=parseFloat(r.framerate.toFixed(2)),r.lowFramerate=e.aggregatedStats.lowFramerate&&e.aggregatedStats.lowFramerate<r.framerate?e.aggregatedStats.lowFramerate:r.framerate,r.highFramerate=e.aggregatedStats.highFramerate&&e.aggregatedStats.highFramerate>r.framerate?e.aggregatedStats.highFramerate:r.framerate),e.aggregatedStats.framesDecodedStart&&(r.avgframerate=(r.framesDecoded-e.aggregatedStats.framesDecodedStart)/((r.timestamp-e.aggregatedStats.timestampStart)/1e3),r.avgframerate=Math.round(r.avgframerate)))),"track"==t.type&&t.hasOwnProperty("frameWidth")&&t.hasOwnProperty("frameHeight")&&(r.framesDropped=t.framesDropped,r.framesReceived=t.framesReceived,r.framesDroppedPercentage=t.framesDropped/t.framesReceived*100,r.frameHeight=t.frameHeight,r.frameWidth=t.frameWidth,r.frameHeightStart=e.aggregatedStats&&e.aggregatedStats.frameHeightStart?e.aggregatedStats.frameHeightStart:t.frameHeight,r.frameWidthStart=e.aggregatedStats&&e.aggregatedStats.frameWidthStart?e.aggregatedStats.frameWidthStart:t.frameWidth),t.id&&t.id.indexOf("RTCInboundRTPVideoStream")>-1&&t.hasOwnProperty("packetsLost")){let e=t.packetsReceived-this.lastPacktetsReceived,n=t.packetsLost-this.lastPacktetsLost,o=n/(n+e)*100;isNaN(o)||(r.packetsLostPerc=o),this.lastPacktetsLost=t.packetsLost,this.lastPacktetsReceived=t.packetsReceived}"candidate-pair"==t.type&&t.hasOwnProperty("currentRoundTripTime")&&(r.currentRoundTripTime=t.currentRoundTripTime)})),e.aggregatedStats=r,this.$emit(Ie.NET_STATE,r),this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_STATE,L.deepCopy(r),"UPDATE PEERCONNECTION STATE"),0!=r.currentRoundTripTime&&1e3*r.currentRoundTripTime>this.larksr.params.rttLimit&&e.onBadNetWork()})).catch((e=>{s.warn("get states failed:"+e)}))}onBadNetWork(){if(b.isMobile)return;let e=Date.now();e-this.lastThrowBadNetork>1e3*this.larksr.params.rttLimitInterval&&(this.$emit(Ie.BAD_NETWORK,""),this.lastThrowBadNetork=e)}onDataChannelMessage(e){var t,r,n,o,i,a;if(this.larksr.isPixelStreaming)s.warn("pxiel streaming datachannel proto not support yet.");else try{const u=c.CloudLark.AppNotification.decode(new Uint8Array(e.data));if(u.resize){s.info("收到 DataChannelMessage resize",u.resize),this.larksr.remoteScreenReady=!0;const e={width:u.resize.width,height:u.resize.height};this.$emit(Ie.LK_APP_RESIZE,e),this.larksr.$emit(p.LK_APP_RESIZE,e,"APP RESIZE")}else if(u.mousemode){s.info("收到 DataChannelMessage mousemode"),s.warn("on mouse mode",u.mousemode);const e={mouseShow:u.mousemode.mouseShow,mouseLock:u.mousemode.mouseLock,mouseRelative:u.mousemode.mouseRelative,rect:u.mousemode.rect};this.$emit(Ie.LK_APP_MOUSE_MODE,e),this.larksr.$emit(p.LK_APP_MOUSE_MODE,e,"APP MOUSEMODE")}else if(u.updatePlayers)s.info("收到 updatePlayers",u.updatePlayers),u.updatePlayers.descs?(this.$emit(Ie.LK_APP_PLAER_LIST,L.deepCopyArray(u.updatePlayers.descs)),this.larksr.$emit(p.LK_APP_PLAER_LIST,L.deepCopyArray(u.updatePlayers.descs),"PLAYER_LIST")):s.warn("receive update players but no descs found");else if(u.requestInput)s.info("request input:",u.requestInput.inputmethodenable),this.$emit(Ie.LK_APP_REQUEST_TEXT,u.requestInput.inputmethodenable),this.larksr.$emit(p.LK_APP_REQUEST_TEXT,u.requestInput.inputmethodenable,"APP REQUEST INPUT TEXT");else if(u.appDcMsg)if(u.appDcMsg.type==c.CloudLark.AppDataChannelMessage.Type.STRING){if(null===(t=u.appDcMsg)||void 0===t?void 0:t.data){s.info("on str msg ",u.appDcMsg.data,u.appDcMsg.data.length);const e=new TextDecoder;let t="";t=u.appDcMsg.data.length>0&&0==u.appDcMsg.data[u.appDcMsg.data.length-1]?e.decode(null===(r=u.appDcMsg)||void 0===r?void 0:r.data.subarray(0,u.appDcMsg.data.length-1)):e.decode(null===(n=u.appDcMsg)||void 0===n?void 0:n.data);const i=e.decode(null===(o=u.appDcMsg)||void 0===o?void 0:o.data);this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,{string:t,rawString:i}),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t)}}else this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,null===(i=u.appDcMsg)||void 0===i?void 0:i.data),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,null===(a=u.appDcMsg)||void 0===a?void 0:a.data);else u.datachannelState?(s.info("on datachannelState msg",u.datachannelState),u.datachannelState.state==c.CloudLark.AppDataChannelState.State.OPEN?(this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_OPEN)):(this.$emit(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_CLOSE))):u.cursorStyle?(s.info("on cursor style",u.cursorStyle),this.$emit(Ie.SYNC_CURSORSTYLE,u.cursorStyle)):u.aiVoiceServiceStatus?(s.info("on aivoice status",u.aiVoiceServiceStatus),this.$emit(Ie.AI_VOICE_STATUS,u.aiVoiceServiceStatus)):u.aiVoiceRealtimeParseresult?(s.info("on aivoice RealtimeParseresult",u.aiVoiceRealtimeParseresult),this.$emit(Ie.AI_VOICE_ASR_RESULT,u.aiVoiceRealtimeParseresult)):u.aiVoiceResult?(s.info("on aivoice Result",u.aiVoiceResult),this.$emit(Ie.AI_VOICE_DM_RESULT,u.aiVoiceResult)):u.aiVoiceErr?(s.info("on aivoice error",u.aiVoiceErr),this.$emit(Ie.AI_VOICE_ERROR,u.aiVoiceErr)):u.rtmpState?this.$emit(Ie.RTMP_STREAM_STATE,u.rtmpState):u.rtmpError&&this.$emit(Ie.RTMP_STREAM_ERROR,u.rtmpError)}catch(e){s.warn("Protobuf Input MSG decode failed:"+JSON.stringify(e))}}onCreateOfferSuccess(e){const t=e;s.info("创建 Off 成功\n"+t.sdp);let r=t.sdp;if(null===this.pc||null==r)return;this.larksr.isPixelStreaming?(r=r.replace("useinbandfec=1","useinbandfec=1;stereo=1;sprop-maxcapturerate=48000"),r=r.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,(e=>(s.info("remove a=extmap-allow-mixed",e),"")))):("auto"!==this.larksr.params.preferDecoder&&-2!==E.checkSupport()&&("vp8"===this.larksr.params.preferDecoder?T.hasVp8(r)?(r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r)):s.err("要求使用VP8解码器但该浏览器未发现"):"vp9"===this.larksr.params.preferDecoder?T.hasVp9(r)?(r=T.removeVp8(r),r=T.removeH264(r),r=T.removeAV1X(r)):s.err("要求使用VP9解码器但该浏览器未发现"):"h264"===this.larksr.params.preferDecoder?T.hasH264(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeAV1X(r)):s.err("要求使用H264解码器但该浏览器未发现"):"av1x"===this.larksr.params.preferDecoder?T.hasAV1X(r)&&(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r)):"hevc"===this.larksr.params.preferDecoder?T.hasHEVC(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeH265(r),r=T.removeSVAC(r)):s.err("要求使用hevc解码器但该浏览器未发现"):"h265"===this.larksr.params.preferDecoder?T.hasH265(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeHEVC(r),r=T.removeSVAC(r)):s.err("要求使用h265解码器但该浏览器未发现"):"svac"===this.larksr.params.preferDecoder&&(T.hasSVAC(r)?(r=T.removeVp8(r),r=T.removeVp9(r),r=T.removeH264(r),r=T.removeAV1X(r),r=T.removeH265(r),r=T.removeHEVC(r)):s.err("要求使用svac解码器但该浏览器未发现"))),r=r.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,(e=>(s.info("remove a=extmap-allow-mixed",e),""))),this.config.codeRate&&this.config.codeRate>1e3&&this.sdpCreateSuccess&&s.warn("recreate sdp.",this.localAudioTrackBinding,this.localVideoTrackBinding,this.localShareTrackBinding),this.larksr.params.audioCodeRate&&(r=T.setAudioBitrate(r,1e3*this.larksr.params.audioCodeRate)));const n={type:t.type,sdp:r};s.info("发送 offer sdp\n"+n.sdp),this.pc.setLocalDescription(n).then((()=>{s.info("设置本地 SDP 成功"),this.sdpCreateSuccess=!0,this.$emit(Ie.RTC_SDP,n)})).catch((e=>{s.err("设置本地SDP失败: "+e.toString()),this.sdpCreateSuccess=!1,this.$emit(Ie.ERROR,"Failed to set session description: "+e.toString())}))}onIceCandidate(e){s.info("Local onIceCandidate",e),this.$emit(Ie.RTC_ICECANDIDATE,e.candidate)}onIceStateChange(e){if(null!==this.pc)switch(s.info("ICE state: "+this.pc.iceConnectionState),this.pc.iceConnectionState){case"disconnected":s.warn("ICE 断开连接"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"closed":s.warn("ICE 关闭"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"failed":s.warn("ICE 连接失败"),this.close(),this.iceStateChange(Me.BAD);break;case"checking":this.iceStateChange(Me.CONNECT),s.info("ICE 连接中");break;case"connected":case"completed":this.iceStateChange(Me.GOOD),s.info("ICE 连接成功")}}ontrack(e){e.track&&s.info("Got track",e.track,e.streams[0]);const t=e.streams[0];return"audio"==e.track.kind?(this.audioStream=t,void(this.videoStream&&t.id!=this.videoStream.id&&(s.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(Ie.GOT_REMOTE_AUDIO_STREAM,this.audioStream)))):(e.track.kind,this.videoStream=t,this.audioStream&&t.id!=this.audioStream.id&&(s.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(Ie.GOT_REMOTE_AUDIO_STREAM,this.audioStream)),s.info("获取到远端视频流:",t),this.$emit(Ie.GOT_REMOTE_STREAM,t),void this.startNetTest())}addIceCandidate(e){null!==this.pc&&this.pc.addIceCandidate(e).then((()=>{s.info("addIceCandidate OK")})).catch((e=>{s.err("addIceCandidate error:"+JSON.stringify(e))}))}iceStateChange(e){this.$emit(Ie.ICE_STATE_CHANGE,e)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}class De{static emptyMsg(e=!1){const t=new c.CloudLark.ToServerMessage;return t.magic=e?539037986:538317090,t}static versionCheckRequest(e){const t=this.emptyMsg(e),r=new c.CloudLark.VersionCheck({clientVer:{versionMarjor:v.VersionMarjor,versionMinor:v.VersionMinorr,versionRevise:v.VersionRevise,versionBuild:v.VersionBuild}});return t.versionCheckRequest=r,t}static taskRequest(e,t,r,n,o){const i=this.emptyMsg(o);let a;return a=t?new c.CloudLark.TaskRequest({type:r?c.CloudLark.TaskRequest.Type.OB:c.CloudLark.TaskRequest.Type.PLAYER,taskid:e,nickname:n}):new c.CloudLark.TaskRequest({type:c.CloudLark.TaskRequest.Type.PLAYER,taskid:e}),s.info("taskRequest",a.toJSON()),i.taskRequest=a,i}static startStreamReqeuest(e,t){const r=this.emptyMsg(t),n=new c.CloudLark.StartStreamRequest(e);return r.startStreamRequest=n,r}static startMonitorStreamReqeuest(e){const t=this.emptyMsg(),r=new c.CloudLark.VrMonitorRequest(e);return t.vrMonitorRequest=r,t}static rtcOfferMsg(e,t){const r=this.emptyMsg(),n=new c.CloudLark.WebrtcOfferAnswer({sdp:t,type:e});return r.webrtcOfferAnswer=n,r}static iceMsg(e,t,r){const n=this.emptyMsg(),o=new c.CloudLark.WebrtcIceCandidate({sdpmid:e,sdpMlineindex:t,candidate:r});return n.webrtcIcecandidate=o,n}static mediaShareRtcOfferMsg(e,t){const r=this.emptyMsg(),n=new c.CloudLark.WebrtcOfferAnswer({sdp:t,type:e});return r.clientMediaOfferanswer=n,r}static mediaShareIceMsg(e,t,r){const n=this.emptyMsg(),o=new c.CloudLark.WebrtcIceCandidate({sdpmid:e,sdpMlineindex:t,candidate:r});return n.clientMediaIcecandidate=o,n}static restartApp(){const e=this.emptyMsg(),t=new c.CloudLark.AppProcessControl({request:c.CloudLark.AppProcessControl.Type.ProcessRestart});return e.processControl=t,e}static getTaskResponseMsg(e){let t=d.message.taskError+":",r=";"+d.message.connectToAdmin;switch(e){case c.CloudLark.TaskResponse.Response.TASK_SUCCESS:return d.message.taskSuccess;case c.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return t+d.message.taskNotFound+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return t+d.message.taskServerError+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return t+d.message.taskAppWrongParam+". code:"+e+r;case c.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return t+d.message.taskNoGpuResource+". code:"+e+r;default:return""}}static getStartStreamResponseMsg(e){let t=d.message.startFailed+":",r=";"+d.message.connectToAdmin;switch(e){case c.CloudLark.StartStreamResponse.Response.START_SUCCESS:return d.message.startSuccess;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return t+d.message.startStreamProcessStartFailed+". code:"+e+r;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return t+d.message.startStreamProcessStartTimeout+". code:"+e+r;case c.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return t+d.message.startStreamNotStreaming+". code:"+e+r;default:return""}}static getCloudlarkTaskEvent(e){switch(e){case c.CloudLark.TaskResponse.Response.TASK_SUCCESS:return p.LK_TASK_SUCCESS;case c.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return p.LK_TASK_NOTFOUND;case c.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return p.LK_TASK_SERVER_ERROR;case c.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return p.LK_TASK_APP_WRONGPARAM;case c.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return p.LK_TASK_NO_GPU_RESOURCE}}static getCloudlarkStartStreamEvent(e){switch(e){case c.CloudLark.StartStreamResponse.Response.START_SUCCESS:return p.LK_START_STREAM_SUCCESS;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return p.LK_START_STREAM_PROCESS_START_FAILED;case c.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return p.LK_START_STREAM_PROCESS_START_TIMEOUT;case c.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return p.LK_START_STREAM_NOT_STREAMING;case c.CloudLark.StartStreamResponse.Response.START_STREAM_ENCODER_ERROR:return p.LK_START_STREAM_ENCODER_ERROR}}static getCloudlarkTaskEventMsg(e,t=""){const r=t||f.GetEventMessageByType(e);if(e===p.LK_TASK_SUCCESS)return r;return d.message.taskError+". "+r+". code "+e+(". "+d.message.connectToAdmin)}static getCloudlarkStartStreamingEventMsg(e){const t=f.GetEventMessageByType(e);if(e===p.LK_START_STREAM_SUCCESS)return t;return d.message.startFailed+". "+t+". code "+e+(". "+d.message.connectToAdmin)}}var je;!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(je||(je={}));class Ze extends o{constructor(e,t){super(),this.connection=null,this.keepAliveTimeout=-1,s.info("初始化 WebSocketet"+JSON.stringify(e)),this.config=e,this.larksr=t,this.onMessage=this.onMessage.bind(this),this.onWSError=this.onWSError.bind(this),this.onWSClose=this.onWSClose.bind(this),this.onOpen=this.onOpen.bind(this),this.startKeepAlive=this.startKeepAlive.bind(this),this.stopKeepAlive=this.stopKeepAlive.bind(this)}get wsServer(){const e=new URL(this.config.serverAddress);return`${e.protocol.indexOf("s")>-1?"wss://":"ws://"}${e.host}/websocket/${this.config.appServer}/${this.config.appPort}`}connect(){return new Promise(((e,t)=>{s.info("连接 websocket proxy 服务器",this.config),this.config.appServer||(s.warn("server uri error:",this.config.appServer),t("server uri error:"+this.config.appServer));const r=this.wsServer;this.connection=new WebSocket(r),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.on(je.OPEN,(()=>{this.larksr.$emit(p.LK_PROXY_SERVER_CONNECTED),e(this)}),this),this.connection.addEventListener("error",(e=>{s.info("connection error"),this.larksr.$emit(p.LK_PROXY_SERVER_ERROR),t("ws connect to "+r+" failed. code "+p.LK_PROXY_SERVER_ERROR),this.onWSError(e)})),this.connection.addEventListener("close",(e=>{s.info("websocekt proxy connection close"),this.larksr.$emit(p.LK_PROXY_SERVER_CLOSE),t("ws failed:"+JSON.stringify(e)+". code "+p.LK_PROXY_SERVER_CLOSE),this.onWSClose(e)}))}))}close(){return new Promise(((e,t)=>{if(this.connection){const r=this;this.connection.addEventListener("close",(t=>{r.connection=null,s.info("CLOSE PROMISE 关闭 websocket 连接"),e()})),this.connection.addEventListener("error",(e=>{t(e)})),s.warn("主动关闭 websocket 连接"),this.connection.close()}else s.warn("主动关闭连接,但是当前 websocket 连接为null"),e()}))}isOpen(){return!!this.connection&&1===this.connection.readyState}sendMsg(e){this.sendBuffer(c.CloudLark.ToServerMessage.encode(e).finish())}sendBuffer(e){this.connection&&this.isOpen()&&this.connection.send(e)}startKeepAlive(){s.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout((()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()}),1e4)}stopKeepAlive(){s.info("proxy stopKeepAlive"),this.keepAliveTimeout&&(window.clearTimeout(this.keepAliveTimeout),this.keepAliveTimeout=0)}onMessage(e){if(e.data)if("string"==typeof e.data)switch(e.data){case"200":s.info("===========websocket proxy on open 200"),this.onOpen();break;case"500":s.info("===========websocket proxy on close 500"),this.onWSError("appserver 连接出错");break;default:s.info("got known proxy message",e.data)}else try{const t=c.CloudLark.ToClientMessage.decode(new Uint8Array(e.data));this.$emit(je.CLIENT_MSG,t)}catch(e){s.warn("Protobuf MSG decode failed:"+JSON.stringify(e))}}onOpen(){s.info("websocket 代理服务器连接成功"),this.startKeepAlive(),this.$emit(je.OPEN)}onWSError(e){s.info("websocket proxy 连接错误:"+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(je.ERROR)}onWSClose(e){s.info("websocket 连接关闭: "+JSON.stringify(e)),this.stopKeepAlive(),this.$emit(je.CLOSE)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}var Xe,ze;!function(e){e[e.OPEN=0]="OPEN",e[e.CLOSE=1]="CLOSE",e[e.ERROR=2]="ERROR",e[e.CLIENT_MSG=3]="CLIENT_MSG"}(Xe||(Xe={}));!function(e){e[e.READY=0]="READY",e[e.RECORDING=1]="RECORDING"}(ze||(ze={}));const qe={sampleRate:16e3,sampleBits:16,bufferSize:4096};var Ue,_e;!function(e){e[e.DATA=0]="DATA"}(Ue||(Ue={}));class Fe extends o{constructor({bufferSize:e=qe.bufferSize,sampleRate:t=qe.sampleRate,sampleBits:r=qe.sampleBits}=qe){super(),this._state=ze.READY,this.ctx=new(window.AudioContext||window.webkitAudioContext),this.sampleRate=qe.sampleRate,this.sampleBits=qe.sampleBits,this.source=null,this.stream=null,this.buffer=[],this.bufferSize=0,this._voiceId=0;const{ctx:n}=this,o=n.createScriptProcessor||n.createJavaScriptNode;this.recorder=o.call(n,e,1,1),this.sampleRate=t,this.sampleBits=r}get state(){return this._state}get voiceId(){return this._voiceId}updateVoiceId(){return++this._voiceId}start(){return this.ctx.resume(),new Promise(((e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((t=>{const r=this.ctx.createMediaStreamSource(t);this.stream=t,this.source=r;let n=0;this.recorder.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0);const r=this.ctx.sampleRate;let o=this.sampleRate<r;const i=o?this.sampleRate:r;o&&(t=this.compress(t,r,i));const s=this.encodeToPCM(t,this.sampleBits);this.emit({type:Ue.DATA,voiceId:this.voiceId,sliceId:n++,data:new Uint8Array(s)})},r.connect(this.recorder),this.recorder.connect(this.ctx.destination),this._state=ze.RECORDING,this._voiceId++,e(this._voiceId)})).catch((e=>{t(e)}))}))}pause(){var e,t;null===(e=this.stream)||void 0===e||e.getAudioTracks()[0].stop(),this.recorder.disconnect(),null===(t=this.source)||void 0===t||t.disconnect(),this.ctx.suspend(),this._state=ze.READY}clear(){this.buffer=[],this.bufferSize=0}getRecord(){let e=this.merge(this.buffer,this.bufferSize);const t=this.ctx.sampleRate;let r=this.sampleRate<t;const n=r?this.sampleRate:t;return r&&(e=this.compress(e,t,n)),this.encodeToPCM(e,this.sampleBits)}merge(e,t){const r=new Float32Array(t);for(let t=0,n=0;t<e.length;n+=e[t].length,t+=1)r.set(e[t],n);return r}compress(e,t,r){if(t<r)throw new Error('Invalid parameter: "inputSampleRate" must be greater than "outputSampleRate"');const n=e.length,o=(t+=0)/(r+=0),i=Math.ceil(n*r/t),s=new Float32Array(i);let a=0;for(let t=0;t<i;t+=1)s[t]=e[Math.floor(a)],a+=o;return s}encodeToPCM(e,t){if(-1===[8,16].indexOf(t))throw new Error('Invalid parameter: "sampleBits" must be 8 or 16');const r=e.length*(t/8),n=new ArrayBuffer(r),o=new DataView(n);for(let r=0,n=0;r<e.length;r+=1,n+=t/8){const i=Math.max(-1,Math.min(1,e[r])),s=i<0?32768*i:32767*i;8===t?o.setInt8(n,Math.trunc(255/(65535/(s+32768)))):o.setInt16(n,s,!0)}return o.buffer}}void 0!==window&&void 0!==navigator&&(void 0===navigator.mediaDevices&&(navigator.mediaDevices={}),void 0===navigator.mediaDevices.getUserMedia&&(navigator.mediaDevices.getUserMedia=e=>{const t=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;return t?new Promise(((r,n)=>{t.call(navigator,e,r,n)})):Promise.reject(new Error("getUserMedia is not implemented in this environment"))})),function(e){e[e.RTC_SDP=0]="RTC_SDP",e[e.RTC_ICECANDIDATE=1]="RTC_ICECANDIDATE",e[e.ICE_STATE_CHANGE=2]="ICE_STATE_CHANGE",e[e.ERROR=3]="ERROR",e[e.INFO=4]="INFO"}(_e||(_e={}));const Ge=/(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;class Be extends o{constructor(e){super(),this.pc=null,this.sdpCreateSuccess=!1,this.rtcRtpSenders=[],this.larksr=e,this.offerOptions={offerToReceiveAudio:!1,offerToReceiveVideo:!1,iceRestart:!0},this.pcConfig={iceServers:[{urls:["stun:ice.pingxingyun.cn:3478"]}]},this.onIceCandidate=this.onIceCandidate.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onCreateOfferSuccess=this.onCreateOfferSuccess.bind(this)}get audioDeviceId(){return""}get audioTrack(){if(0==this.rtcRtpSenders.length||this.rtcRtpSenders.length>2)return s.warn("rtcRtpSenders",this.rtcRtpSenders),{enabled:!1};for(const e of this.rtcRtpSenders)if("video"!=e.track.kind)return e.track;return s.warn("no audio track find",this.rtcRtpSenders),{enabled:!1}}get videoDeviceId(){return""}get videoTrack(){if(0==this.rtcRtpSenders.length||this.rtcRtpSenders.length>2)return s.warn("rtcRtpSenders",this.rtcRtpSenders),{enabled:!1};for(const e of this.rtcRtpSenders)if("audio"!=e.track.kind)return e.track;return s.warn("no audio track find",this.rtcRtpSenders),{enabled:!1}}async create(){s.info("createPeerConnection config: ",this.pcConfig),this.rtcRtpSenders=[];const e=new RTCPeerConnection(this.pcConfig);e.onicecandidate=this.onIceCandidate,e.oniceconnectionstatechange=this.onIceStateChange,e.onconnectionstatechange=e=>{s.info("onconnectionstatechange",e)},e.onnegotiationneeded=e=>{s.info("onnegotiationneeded",e),this.createOffer()},this.pc=e,s.info("Created loacl peer connection")}createOffer(){this.pc&&(s.info("createOffer start"),this.pc.createOffer(this.offerOptions).then(this.onCreateOfferSuccess).catch((e=>{s.warn("createOffer error:",e)})))}close(){var e,t;if(this.pc){for(const t of this.rtcRtpSenders)t.sender&&(null===(e=this.pc)||void 0===e||e.removeTrack(t.sender));s.info("关闭点对点连接"),this.iceStateChange(Me.DISCONNECT),null===(t=this.pc)||void 0===t||t.close(),this.pc=null}this.rtcRtpSenders=[],this.sdpCreateSuccess=!1}setAudioEnable(e){this.rtcRtpSenders.forEach((t=>{s.info("set audio track",t),"video"!=t.track.kind&&(t.track.enabled=e)}))}setVideoEnable(e){this.rtcRtpSenders.forEach((t=>{s.info("set video track",t),"audio"!=t.track.kind&&(t.track.enabled=e)}))}setShareEnable(e){this.rtcRtpSenders.forEach((t=>{s.info("set video track",t),"audio"!=t.track.kind&&(t.track.enabled=e)}))}closeAudio(){const e=[];return this.rtcRtpSenders.forEach((t=>{var r;s.info("remove video track",t),"video"!=t.track.kind?(t.track.stop(),t.sender&&(null===(r=this.pc)||void 0===r||r.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e,this.rtcRtpSenders}closeVideo(){const e=[];return this.rtcRtpSenders.forEach((t=>{var r;s.info("remove video track",t),"audio"!=t.track.kind?(t.track.stop(),t.sender&&(null===(r=this.pc)||void 0===r||r.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e,this.rtcRtpSenders}closeShare(){const e=[];return this.rtcRtpSenders.forEach((t=>{var r;s.info("remove video track",t),"audio"!=t.track.kind?(t.track.stop(),t.sender&&(null===(r=this.pc)||void 0===r||r.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e,this.rtcRtpSenders}stopLocalTrackBing(e){return e?(null==e||e.track.stop(),e.sender&&this.removeMediaTrack(e.sender),!0):(s.warn("no local binding find"),!1)}async openAudio(e=""){return e?await this.openAudioDevice(e):await this.openUserMeida({video:!1,audio:!0})}async openVideo(e=!1,t="",r=0,n=0){return t?await this.openCamera(t,r,n,e):await this.openUserMeida({video:!0,audio:e})}async openDefaultMedia(e=!0,t=!0){const r=await this.openUserMeida({video:e,audio:t});return s.info("openDefaultMedia ",r,this.rtcRtpSenders),r}async openShareMediaDevice(){if(!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");if(this.pc){const e=[];this.rtcRtpSenders.forEach(((t,r,n)=>{var o;s.info("remove video track",t),"audio"!=t.track.kind?(t.track.stop(),t.sender&&(null===(o=this.pc)||void 0===o||o.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e}else this.create();(await navigator.mediaDevices.getDisplayMedia()).getTracks().forEach((e=>{var t;const r=null===(t=this.pc)||void 0===t?void 0:t.addTrack(e);this.rtcRtpSenders.push({track:e,sender:r,deviceId:""})}))}async getConnectedAudioinputDevices(){const e=await this.getConnectedDevices("audioinput");return s.info("getConnectedAudioinputDevices",e),e}async getConnectedAudioOutputDevices(){return await this.getConnectedDevices("audiooutput")}async getConnectedVideoinputDevices(){return await this.getConnectedDevices("videoinput")}async getConnectedDevices(e){return(await navigator.mediaDevices.enumerateDevices()).filter((t=>t.kind===e))}async openAudioDevice(e,t="audioinput"){const r={audio:{deviceId:e,echoCancellation:!0,kind:t},video:!1};return await this.openUserMeida(r)}async openCamera(e,t=0,r=0,n=!0){let o={audio:!!n&&{echoCancellation:!0},video:{deviceId:e}};return t&&t>0&&(o.video.width={ideal:t,min:t,max:t}),r&&r>0&&(o.video.height={ideal:r,min:r,max:r}),await this.openUserMeida(o)}async openUserMeida(e,t=!1){if(!this.larksr.isTaskOwner)throw new Error("互动模式观看者不支持上传音视频");const r=await navigator.mediaDevices.getUserMedia(e);if((null==e?void 0:e.video)&&"landscape"==this.larksr.screenState.screenOrientation&&this.$emit(_e.INFO,"请开启手机自动旋转以支持摄像头横屏"),this.pc)if(t)this.close(),this.create();else{if(s.info("old tracks",this.rtcRtpSenders),(null==e?void 0:e.video)&&(null==e?void 0:e.audio))this.rtcRtpSenders.forEach(((e,t,r)=>{var n;s.info("remove all tracks",e),e.sender&&(s.info("remove all tracks",e),null===(n=this.pc)||void 0===n||n.removeTrack(e.sender))})),this.rtcRtpSenders=[];else if(null==e?void 0:e.video){const e=[];this.rtcRtpSenders.forEach(((t,r,n)=>{var o;s.info("remove video track",t),"audio"!=t.track.kind?(s.info("remove video track",t),t.sender&&(null===(o=this.pc)||void 0===o||o.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e}else if(null==e?void 0:e.audio){const e=[];this.rtcRtpSenders.forEach((t=>{var r;s.info("remove audio track",t),"video"!=t.track.kind?(s.info("remove audio track",t),t.sender&&(null===(r=this.pc)||void 0===r||r.removeTrack(t.sender))):e.push(t)})),this.rtcRtpSenders=e}s.info("old tracks after clear",this.rtcRtpSenders)}else this.create();return r.getTracks().forEach((e=>{var t;s.info("add track ",e);const r=null===(t=this.pc)||void 0===t?void 0:t.addTrack(e);this.rtcRtpSenders.push({sender:r,track:e,deviceId:""})})),{streams:r,rtcRtpSenders:this.rtcRtpSenders}}addMediaTrack(e,...t){return!!this.pc&&(this.pc.addTrack(e,...t),!0)}removeMediaTrack(e){return!!this.pc&&(this.pc.removeTrack(e),!0)}requestUserMediaPermission(e){return navigator.mediaDevices.getUserMedia(e)}onRemoteDescription(e){if(e&&this.pc){s.info("Answer from remote \r\n",e.sdp);const t=new RTCSessionDescription(e);this.pc.setRemoteDescription(t).then((e=>{s.info("set remote des success",e)})).catch((e=>{s.err("set remote des error",e),this.$emit(_e.ERROR,"set remote des error:"+JSON.stringify(e))}))}}onReceiveCandidate(e){if(null===this.pc)return;s.info("onReceiveCandidate"+JSON.stringify(e));const t=this.larksr.params.appServer,r=this.larksr.params.preferPubOutIp;if(e.candidate){if(""!==r){s.info("手动替换 ICE Candidate 地址为公共地址",t,e.candidate);const n=Ge,o=L.deepCopy(e),i=e.candidate;o.candidate=i.replace(n,(e=>r)),this.addIceCandidate(new RTCIceCandidate(o)),s.info("replace server ip finished::",e.candidate)}const n=new we(e);if(""!==t&&t!=n.ip&&(n.ip=t,s.info("Add New ice candidate with render server ip",t,n.candidate)),this.addIceCandidate(n.genNewIceCandidate()),this.larksr.config.publicPortMapping&&this.larksr.config.publicPortMapping[t+":"+n.port]){const e=this.larksr.config.publicPortMapping[t+":"+n.port].split(":");e.length>1?(n.ip=e[0],n.port=e[1],this.addIceCandidate(n.genNewIceCandidate()),s.info("Add Publich ice candidate with render server ip",n.candidate)):s.warn("setup port mapping formate error",this.larksr.config.publicPortMapping[t+":"+n.port])}}this.addIceCandidate(new RTCIceCandidate(e))}addIceCandidate(e){null!==this.pc&&this.pc.addIceCandidate(e).then((()=>{s.info("addIceCandidate OK")})).catch((e=>{s.err("addIceCandidate error:"+JSON.stringify(e))}))}onCreateOfferSuccess(e){const t=e;s.info("创建 Off 成功\n"+t.sdp);let r=t.sdp;if(null===this.pc||null==r)return;r=r.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,(e=>(s.info("remove a=extmap-allow-mixed",e),"")));const n={type:t.type,sdp:r};s.info("发送 offer sdp\n"+n.sdp),this.pc.setLocalDescription(n).then((()=>{s.info("设置本地 SDP 成功"),this.sdpCreateSuccess=!0,this.$emit(_e.RTC_SDP,n)})).catch((e=>{s.err("设置本地SDP失败: "+e.toString()),this.sdpCreateSuccess=!1,this.$emit(_e.ERROR,"Failed to set session description: "+e.toString())}))}onIceCandidate(e){s.info("share media Local onIceCandidate",e),this.$emit(_e.RTC_ICECANDIDATE,e.candidate)}onIceStateChange(e){if(null!==this.pc)switch(s.info("ICE state: "+this.pc.iceConnectionState),this.pc.iceConnectionState){case"disconnected":s.warn("MEDIA SHARE ICE 断开连接"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"closed":s.warn("MEDIA SHARE ICE 关闭"),this.close(),this.iceStateChange(Me.DISCONNECT);break;case"failed":s.warn("MEDIA SHARE ICE 连接失败"),this.close(),this.iceStateChange(Me.BAD);break;case"checking":this.iceStateChange(Me.CONNECT),s.info("MEDIA SHARE ICE 连接中");break;case"connected":case"completed":this.iceStateChange(Me.GOOD),s.info("ICE 连接成功")}}iceStateChange(e){this.$emit(_e.ICE_STATE_CHANGE,e)}$emit(e,t){this.emit(this.createEvent(e,t))}createEvent(e,t){return{type:e,target:this,data:t}}}var Ke,Je;!function(e){e[e.BEFORE_CREATE=0]="BEFORE_CREATE",e[e.INITED=1]="INITED",e[e.WEBSOCKET_CHANNEL_OPEN=2]="WEBSOCKET_CHANNEL_OPEN",e[e.LOGIN_SUCCESS=3]="LOGIN_SUCCESS",e[e.RTC_CONNECTED=4]="RTC_CONNECTED",e[e.MEDIA_LOADED=5]="MEDIA_LOADED",e[e.MEDIA_PLAYED=6]="MEDIA_PLAYED",e[e.RTC_RETRY=7]="RTC_RETRY",e[e.APP_RETRY=8]="APP_RETRY",e[e.BEFORE_DESTORY=9]="BEFORE_DESTORY",e[e.WEBSOCKET_CLOSED=10]="WEBSOCKET_CLOSED",e[e.RTC_CLOSED=11]="RTC_CLOSED",e[e.DESTROYED=12]="DESTROYED"}(Ke||(Ke={})),function(e){e[e.CONNECT=0]="CONNECT",e[e.LOGIN=1]="LOGIN",e[e.ERROR=2]="ERROR",e[e.INFO=3]="INFO",e[e.APP_CLOSE=4]="APP_CLOSE",e[e.REMOTE_STREAM=5]="REMOTE_STREAM",e[e.REMOTE_AUDIO_STREAM=6]="REMOTE_AUDIO_STREAM",e[e.SYNC_CURSORSTYLE=7]="SYNC_CURSORSTYLE",e[e.APP_STATE_CHANGE=8]="APP_STATE_CHANGE",e[e.NET_STATE=9]="NET_STATE",e[e.LK_APP_RESIZE=10]="LK_APP_RESIZE",e[e.LK_APP_MOUSE_MODE=11]="LK_APP_MOUSE_MODE",e[e.LK_APP_PLAER_LIST=12]="LK_APP_PLAER_LIST",e[e.LK_APP_REQUEST_TEXT=13]="LK_APP_REQUEST_TEXT",e[e.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=14]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=15]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",e[e.LK_DATA_CHANNEL_RENDERSERVER_OPEN=16]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",e[e.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=17]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",e[e.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",e[e.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",e[e.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",e[e.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",e[e.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",e[e.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR"}(Je||(Je={}));class Ye extends o{constructor(e){super(),this.websocketChannel=null,this.websocketProxy=null,this.testPixelStreaming=null,this.peerConnection=null,this.sharePeerConnection=null,this._state=Ke.BEFORE_CREATE,this.retryTime=0,this.larksr=e,this.start=this.start.bind(this),this.connect=this.connect.bind(this),this.task=this.task.bind(this),this.closeRtc=this.closeRtc.bind(this),this.versionCheck=this.versionCheck.bind(this),this.startSteam=this.startSteam.bind(this),this.restartApp=this.restartApp.bind(this),this.rtcOffer=this.rtcOffer.bind(this),this.onAppProcess=this.onAppProcess.bind(this),this.onLogout=this.onLogout.bind(this),this.onVersionCheckResponse=this.onVersionCheckResponse.bind(this),this.onTaskResponse=this.onTaskResponse.bind(this),this.onStartStreamResponse=this.onStartStreamResponse.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onAppResize=this.onAppResize.bind(this),this.onAppMouseMode=this.onAppMouseMode.bind(this),this.onAppPlayerList=this.onAppPlayerList.bind(this),this.onAppRequestText=this.onAppRequestText.bind(this),this.onDataChannelText=this.onDataChannelText.bind(this),this.onDataChannelBinary=this.onDataChannelBinary.bind(this),this.onDataChannelOpen=this.onDataChannelOpen.bind(this),this.onDataChannelClose=this.onDataChannelClose.bind(this),this.onPeerConnectionState=this.onPeerConnectionState.bind(this),this.onPixelStreamingDataChannelData=this.onPixelStreamingDataChannelData.bind(this),this.onPixelStreamingDataChannelState=this.onPixelStreamingDataChannelState.bind(this),this.onPixelStreamingPlayerList=this.onPixelStreamingPlayerList.bind(this),this.onAiVoiceStatus=this.onAiVoiceStatus.bind(this),this.onAiVoiceAsrResult=this.onAiVoiceAsrResult.bind(this),this.onAiVoiceDMResult=this.onAiVoiceDMResult.bind(this),this.recoder=new Fe,this.onRecoderData=this.onRecoderData.bind(this)}get peerConnectionCreated(){return null!=this.peerConnection}get state(){return this._state}set state(e){this.appStateChange(e)}get audioDeviceId(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.audioDeviceId}get audioTrack(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.audioTrack}get videoDeviceId(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.videoDeviceId}get videoTrack(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.videoTrack}get voiceId(){return this.recoder.voiceId}get recodeState(){return this.recoder.state}init(){this.larksr.params.wsProxy?(this.websocketProxy=new Ze({serverAddress:this.larksr.serverAddress,appServer:this.larksr.params.appServer,appPort:this.larksr.params.appPort},this.larksr),this.websocketProxy.on(je.OPEN,this.onChannelOpen,this),this.websocketProxy.on(je.CLOSE,this.onClose,this),this.websocketProxy.on(je.ERROR,this.onClose,this),this.websocketProxy.on(je.CLIENT_MSG,this.onChannelMsg,this)):(this.websocketChannel=new m({serverAddress:this.larksr.serverAddress,ip:this.larksr.params.appServer,port:this.larksr.params.appPort,path:"",renderSSLServerPort:this.larksr.params.renderSSLServerPort},this.larksr),this.websocketChannel.on(h.OPEN,this.onChannelOpen,this),this.websocketChannel.on(h.CLOSE,this.onClose,this),this.websocketChannel.on(h.ERROR,this.onClose,this),this.websocketChannel.on(h.CLIENT_MSG,this.onChannelMsg,this)),this.initPc(),this.initSharePc(),this.recoder.on(Ue.DATA,this.onRecoderData,this),this.appStateChange(Ke.INITED)}initSharePc(){this.sharePeerConnection=new Be(this.larksr),this.sharePeerConnection.on(_e.ERROR,(e=>{this.errorMsg(e.data)}),this),this.sharePeerConnection.on(_e.INFO,(e=>{this.infoMsg(e.data)}),this),this.sharePeerConnection.on(_e.RTC_SDP,(e=>{var t,r;s.info("send share media sdp",e.data);const n=e.data;n&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.mediaShareRtcOfferMsg(n.type,n.sdp)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.mediaShareRtcOfferMsg(n.type,n.sdp)))}),this),this.sharePeerConnection.on(_e.RTC_ICECANDIDATE,(e=>{var t,r;s.info("send share media ice",e.data);const n=e.data;n&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.mediaShareIceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.mediaShareIceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)))}),this)}initPc(){this.peerConnection=new Ve(this.larksr,{serverIP:this.larksr.params.appServer,preferPubOutIp:this.larksr.params.preferPubOutIp,codeRate:this.larksr.params.codeRate,network:this.larksr.params.network}),this.peerConnection.on(Ie.RTC_SDP,this.onLocalSdp,this),this.peerConnection.on(Ie.RTC_ICECANDIDATE,this.onLoacalIce,this),this.peerConnection.on(Ie.GOT_REMOTE_STREAM,this.onRemoteStream,this),this.peerConnection.on(Ie.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),this.peerConnection.on(Ie.ERROR,this.onRtcError,this),this.peerConnection.on(Ie.ICE_STATE_CHANGE,this.onIceStateChange,this),this.peerConnection.on(Ie.BAD_NETWORK,this.onBadNetwork,this),this.peerConnection.on(Ie.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.peerConnection.on(Ie.NET_STATE,this.onPeerConnectionState,this),this.peerConnection.on(Ie.LK_APP_RESIZE,this.onAppResize,this),this.peerConnection.on(Ie.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.peerConnection.on(Ie.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.peerConnection.on(Ie.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.peerConnection.on(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.peerConnection.on(Ie.AI_VOICE_STATUS,this.onAiVoiceStatus,this),this.peerConnection.on(Ie.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),this.peerConnection.on(Ie.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),this.peerConnection.on(Ie.AI_VOICE_ERROR,this.onAiVoiceError,this),this.peerConnection.on(Ie.INFO,this.onRtcInfo,this),this.peerConnection.on(Ie.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),this.peerConnection.on(Ie.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this)}releasePc(){var e,t,r,n,o,i,s,a,c,u,l,A,d,p,h,f,m,y,b,g,v,O,E,S;null===(e=this.peerConnection)||void 0===e||e.off(Ie.RTC_SDP,this.onLocalSdp,this),null===(t=this.peerConnection)||void 0===t||t.off(Ie.RTC_ICECANDIDATE,this.onLoacalIce,this),null===(r=this.peerConnection)||void 0===r||r.off(Ie.GOT_REMOTE_STREAM,this.onRemoteStream,this),null===(n=this.peerConnection)||void 0===n||n.off(Ie.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),null===(o=this.peerConnection)||void 0===o||o.off(Ie.ERROR,this.onRtcError,this),null===(i=this.peerConnection)||void 0===i||i.off(Ie.ICE_STATE_CHANGE,this.onIceStateChange,this),null===(s=this.peerConnection)||void 0===s||s.off(Ie.BAD_NETWORK,this.onBadNetwork,this),null===(a=this.peerConnection)||void 0===a||a.off(Ie.SYNC_CURSORSTYLE,this.onCursorStyle,this),null===(c=this.peerConnection)||void 0===c||c.off(Ie.NET_STATE,this.onPeerConnectionState,this),null===(u=this.peerConnection)||void 0===u||u.off(Ie.LK_APP_RESIZE,this.onAppResize,this),null===(l=this.peerConnection)||void 0===l||l.off(Ie.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),null===(A=this.peerConnection)||void 0===A||A.off(Ie.LK_APP_PLAER_LIST,this.onAppPlayerList,this),null===(d=this.peerConnection)||void 0===d||d.off(Ie.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),null===(p=this.peerConnection)||void 0===p||p.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),null===(h=this.peerConnection)||void 0===h||h.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),null===(f=this.peerConnection)||void 0===f||f.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),null===(m=this.peerConnection)||void 0===m||m.off(Ie.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),null===(y=this.peerConnection)||void 0===y||y.off(Ie.AI_VOICE_STATUS,this.onAiVoiceStatus,this),null===(b=this.peerConnection)||void 0===b||b.off(Ie.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),null===(g=this.peerConnection)||void 0===g||g.off(Ie.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),null===(v=this.peerConnection)||void 0===v||v.off(Ie.AI_VOICE_ERROR,this.onAiVoiceError,this),null===(O=this.peerConnection)||void 0===O||O.off(Ie.INFO,this.onRtcInfo,this),null===(E=this.peerConnection)||void 0===E||E.off(Ie.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),null===(S=this.peerConnection)||void 0===S||S.off(Ie.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this),this.peerConnection=null}releaseSharePc(){var e;null===(e=this.sharePeerConnection)||void 0===e||e.close(),this.sharePeerConnection=null}clear(){var e,t,r,n,o,i,s,a;this.larksr.params.wsProxy?(null===(e=this.websocketProxy)||void 0===e||e.off(je.OPEN,this.onChannelOpen,this),null===(t=this.websocketProxy)||void 0===t||t.off(je.CLOSE,this.onClose,this),null===(r=this.websocketProxy)||void 0===r||r.off(je.ERROR,this.onClose,this),null===(n=this.websocketProxy)||void 0===n||n.off(je.CLIENT_MSG,this.onChannelMsg,this),this.websocketProxy=null):(null===(o=this.websocketChannel)||void 0===o||o.off(h.OPEN,this.onChannelOpen,this),null===(i=this.websocketChannel)||void 0===i||i.off(h.CLOSE,this.onClose,this),null===(s=this.websocketChannel)||void 0===s||s.off(h.ERROR,this.onClose,this),null===(a=this.websocketChannel)||void 0===a||a.off(h.CLIENT_MSG,this.onChannelMsg,this),this.websocketChannel=null),this.recoder.off(Ue.DATA,this.onRecoderData,this),this.releasePc(),this.releaseSharePc(),this.larksr.remoteScreenReady=!1}changeOperater(e){var t;if(this.larksr.isPixelStreaming){s.info("change operate when pixel streaming",e);let t=De.emptyMsg(!0);t.dispatchController={id:e},this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(t).finish())}else null===(t=this.peerConnection)||void 0===t||t.changeOperater(e)}inputText(e){var t;null===(t=this.peerConnection)||void 0===t||t.inputText(e)}sendTextToDataChannel(e){var t;if(this.larksr.isPixelStreaming){const t=(new TextEncoder).encode(e);let r=De.emptyMsg(!0);r.datachannelData={type:c.CloudLark.LarkXRChannelMessage.Type.STRING,data:t},s.info("sendToAppTextMsg",e,t),this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(r).finish())}else null===(t=this.peerConnection)||void 0===t||t.sendToAppTextMsg(e)}sendBinaryToDataChannel(e){var t;if(this.larksr.isPixelStreaming){let t=De.emptyMsg(!0);t.datachannelData={type:c.CloudLark.LarkXRChannelMessage.Type.BIN,data:e},this.sendToWebsocektChannelBuffer(c.CloudLark.ToServerMessage.encode(t).finish())}else null===(t=this.peerConnection)||void 0===t||t.sendToAppBinaryMsg(e)}aiDmTextInput(e){let t=this.recoder.updateVoiceId();return this.sendInput(c.CloudLark.ClientInput.create({aiVoiceText:{text:e,voiceId:t}})),s.info("aiDmTextInput",e,t),t}async startAiDmVoiceInput(){this.recoder.state==ze.RECORDING&&(this.recoder.pause(),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})));const e=await this.recoder.start();return this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStart:{voiceId:e}})),e}stopAiDmVoiceInput(){return this.recoder.state!=ze.RECORDING?(s.warn("stop recode called but not recoding state"),this.recoder.voiceId):(this.recoder.pause(),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})),this.recoder.voiceId)}onRecoderData(e){s.info("onRecoderData",e),this.sendInput(c.CloudLark.ClientInput.create({aiVoicestreamSlice:{voiceId:e.voiceId,sliceId:e.sliceId,audio:e.data}}))}async start(){try{await this.connect()}catch(e){s.err(e),this.errorMsg(JSON.stringify(e)+". "+d.message.connectToAdmin)}}connect(){var e,t;return s.info("app connnect",this.larksr.params,this.websocketProxy,this.websocketChannel),this.larksr.params.wsProxy?null===(e=this.websocketProxy)||void 0===e?void 0:e.connect():null===(t=this.websocketChannel)||void 0===t?void 0:t.connect()}disConnect(){var e,t,r;this.larksr.appState!==Ke.DESTROYED&&(this.appStateChange(Ke.BEFORE_DESTORY),null===(e=this.websocketProxy)||void 0===e||e.close(),null===(t=this.websocketChannel)||void 0===t||t.close(),null===(r=this.peerConnection)||void 0===r||r.close(),this.clear(),this.appStateChange(Ke.DESTROYED))}closeRtc(){var e;s.info("close webrtc"),null===(e=this.peerConnection)||void 0===e||e.close()}versionCheck(){s.info("send version check"),this.sendToWebsocektChannelMsg(De.versionCheckRequest(this.larksr.isPixelStreaming))}task(){s.info("send task requset"),this.sendToWebsocektChannelMsg(De.taskRequest(this.larksr.params.taskid,this.larksr.isInteractiveMode,this.larksr.isObMode,this.larksr.params.nickname,this.larksr.isPixelStreaming))}startSteam(){s.info("start steam request"),this.sendToWebsocektChannelMsg(De.startStreamReqeuest({width:this.larksr.params.width,height:this.larksr.params.height,fps:this.larksr.params.frameRate,bitrateKbps:this.larksr.params.codeRate},this.larksr.isPixelStreaming))}startMonitorSteam(){s.info("startMonitorSteam"),this.sendToWebsocektChannelMsg(De.startMonitorStreamReqeuest({taskid:this.larksr.params.taskid,width:this.larksr.params.width,height:this.larksr.params.height,fps:this.larksr.params.frameRate,bitrateKbps:this.larksr.params.codeRate}))}restart(){this.appStateChange(Ke.APP_RETRY),this.initPc(),this.startSteam()}restartApp(){var e,t;s.info("restart app"),this.larksr.params.wsProxy?null===(e=this.websocketProxy)||void 0===e||e.sendMsg(De.restartApp()):null===(t=this.websocketChannel)||void 0===t||t.sendMsg(De.restartApp())}async rtcOffer(){var e;let t=null;const r=Pe().getParser(window.navigator.userAgent),n=r.getOSName(),o=parseFloat(r.getOSVersion());if("iOS"==n&&o<15&&(this.larksr.params.audioInput||this.larksr.params.videoInput))try{t=await navigator.mediaDevices.getUserMedia({video:this.larksr.params.audioInput,audio:this.larksr.params.videoInput})}catch(e){this.infoMsg(JSON.stringify(e))}try{await(null===(e=this.peerConnection)||void 0===e?void 0:e.create(t))}catch(e){s.info("rtc peerconnection create failed ",e);const t="检测到当前浏览器不支持 WebRTC 推荐使用"+(b.isMobile?"微信或 QQ 浏览器 ":"Chrome 浏览器");this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED,"",t),this.errorMsg(t,p.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED)}}setAnswer(e){this.onWebRtcOfferAnswer({type:"answer",sdp:e})}setIce(e,t,r){this.onWebRtcIcecandidate({sdpMlineindex:0,sdpmid:"0",candidate:r})}sendInput(e){var t;null===(t=this.peerConnection)||void 0===t||t.sendInput(e)}sendInputBuffer(e){var t;null===(t=this.peerConnection)||void 0===t||t.sendBuffer(e)}sendToWebsocektChannelBuffer(e){var t,r;this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendBuffer(e):null===(r=this.websocketChannel)||void 0===r||r.sendBuffer(e)}sendToWebsocektChannelMsg(e){var t,r;this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(e):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(e)}onChannelOpen(e){this.appStateChange(Ke.WEBSOCKET_CHANNEL_OPEN),s.info("start version check when channel open"),this.versionCheck()}onClose(e){if(this.state<Ke.BEFORE_DESTORY){const e=this.larksr.params.wsProxy?p.LK_PROXY_SERVER_CLOSE:p.LK_RENDER_SERVER_CLOSE;this.errorMsg(d.message.connectWsClose+". code "+e,e)}this.appStateChange(Ke.WEBSOCKET_CLOSED),this.disConnect()}onChannelMsg(e){var t,r;if(e.data){const n=e.data;n.versionCheckResponse?this.onVersionCheckResponse(n.versionCheckResponse):n.taskResponse?this.onTaskResponse(n.taskResponse):n.startStreamResponse?this.onStartStreamResponse(n.startStreamResponse):n.webrtcOfferAnswer?this.onWebRtcOfferAnswer(n.webrtcOfferAnswer):n.webrtcIcecandidate?this.onWebRtcIcecandidate(n.webrtcIcecandidate):n.webrtcError?this.onWebRtcError(n.webrtcError):n.processNotifi?this.onAppProcess(n.processNotifi):n.logout?this.onLogout(n.logout):n.vrMonitorResponse?this.onStartMonitorResponse():n.datachannelState?this.onPixelStreamingDataChannelState(n.datachannelState):n.datachannelData?this.onPixelStreamingDataChannelData(n.datachannelData):n.updatePlayers?this.onPixelStreamingPlayerList(n.updatePlayers):n.clientMediaOfferanswer?(s.info("media share onWebRtcOfferAnswer:"+JSON.stringify(n.clientMediaOfferanswer)),n.clientMediaOfferanswer.type&&n.clientMediaOfferanswer.sdp?null===(t=this.sharePeerConnection)||void 0===t||t.onRemoteDescription({type:n.clientMediaOfferanswer.type,sdp:n.clientMediaOfferanswer.sdp}):this.errorMsg("SDP 格式错误,缺少 type 或 sdp"+JSON.stringify(n.clientMediaOfferanswer))):n.clientMediaIcecandidate?(s.info("media share onWebRtcIcecandidate:",n.clientMediaIcecandidate),n.clientMediaIcecandidate.candidate&&null!=n.clientMediaIcecandidate.sdpMlineindex&&null!=n.clientMediaIcecandidate.sdpMlineindex&&n.clientMediaIcecandidate.sdpmid?null===(r=this.sharePeerConnection)||void 0===r||r.onReceiveCandidate({sdpMid:n.clientMediaIcecandidate.sdpmid,sdpMLineIndex:n.clientMediaIcecandidate.sdpMlineindex,candidate:n.clientMediaIcecandidate.candidate}):this.errorMsg("ICE 格式错误,缺少数据"+JSON.stringify(n.clientMediaIcecandidate))):n.clientWebrtcError?this.infoMsg("media share webrtc error"):s.info("其他类型消息",n)}}onVersionCheckResponse(e){var t,r,n,o,i,a,c,u;s.info("onVersionCheckResponse:"+JSON.stringify(e)),e.response?(this.larksr.config.isMonitor?this.startMonitorSteam():this.task(),this.larksr.$emit(p.LK_VERSION_CHECK_SUCCESS)):(s.warn("version check faied:",e.clientVer,e.serverVer),this.errorMsg("Version check failed. Need client version "+(null===(t=e.clientVer)||void 0===t?void 0:t.versionMarjor)+"."+(null===(r=e.clientVer)||void 0===r?void 0:r.versionMinor)+"."+(null===(n=e.clientVer)||void 0===n?void 0:n.versionRevise)+"."+(null===(o=e.clientVer)||void 0===o?void 0:o.versionBuild)+"; Current "+v.VersionMarjor+"."+v.VersionMinorr+"."+v.VersionRevise+"."+v.VersionBuild+"; Server version "+(null===(i=e.serverVer)||void 0===i?void 0:i.versionMarjor)+"."+(null===(a=e.serverVer)||void 0===a?void 0:a.versionMinor)+"."+(null===(c=e.serverVer)||void 0===c?void 0:c.versionRevise)+"."+(null===(u=e.serverVer)||void 0===u?void 0:u.versionBuild),p.LK_VERSION_CHECK_FAILED),this.larksr.$emit(p.LK_VERSION_CHECK_FAILED,e))}onTaskResponse(e){if(s.info("onTaskResponse:",e,e.response,e.uid),null!=e.response){const t=De.getCloudlarkTaskEvent(e.response),r=De.getCloudlarkTaskEventMsg(t,e.reason);e.response==c.CloudLark.TaskResponse.Response.TASK_SUCCESS?(this.larksr.$emit(t,{uid:e.uid,isPrestart:e.prestart},r),this.emit(this.createAppEvent(Je.LOGIN,{uid:e.uid,isPrestart:e.prestart})),this.infoMsg(r,t),this.appStateChange(Ke.LOGIN_SUCCESS),this.startSteam()):(this.larksr.$emit(t,e.response,r),s.warn("task failed:",e.response,e.reason),this.errorMsg(r,t))}else s.err("task response empty"),this.errorMsg("task response empty")}onStartStreamResponse(e){if(s.info("onStartStreamResponse:"+e.response),null!=e.response){const t=De.getCloudlarkStartStreamEvent(e.response),r=De.getCloudlarkStartStreamingEventMsg(t);this.larksr.$emit(t,e.response,r),e.response==c.CloudLark.StartStreamResponse.Response.START_SUCCESS?(this.infoMsg(r,t),this.rtcOffer()):(s.warn("start stream faile:",e.response),this.errorMsg(r,t))}else s.warn("start stream response empty"),this.errorMsg("start stream response empty")}onStartMonitorResponse(){s.info("onStartMonitorResponse"),this.rtcOffer()}onWebRtcOfferAnswer(e){var t;s.info("onWebRtcOfferAnswer:"+JSON.stringify(e)),e.type&&e.sdp?null===(t=this.peerConnection)||void 0===t||t.onRemoteDescription({type:e.type,sdp:e.sdp}):this.errorMsg("SDP 格式错误,缺少 type 或 sdp"+JSON.stringify(e))}onWebRtcIcecandidate(e){var t;s.info("onWebRtcIcecandidate:",e),e.candidate&&null!=e.sdpMlineindex&&null!=e.sdpMlineindex&&e.sdpmid?null===(t=this.peerConnection)||void 0===t||t.onReceiveCandidate({sdpMid:e.sdpmid,sdpMLineIndex:e.sdpMlineindex,candidate:e.candidate}):this.errorMsg("ICE 格式错误,缺少数据"+JSON.stringify(e))}onWebRtcError(e){s.warn("onWebRtcError:"+JSON.stringify(e));const t=p.LK_RTC_EVENT_PEERCONNECTION_ERROR;this.larksr.$emit(t),this.errorMsg("onWebRtcError "+JSON.stringify(e)+". code "+t+". "+d.message.connectToAdmin,t)}onAppProcess(e){e.appQuit?(s.warn("onAppProcess appQuit retry:"+JSON.stringify(e)),this.releasePc(),this.larksr.$emit(p.LK_APP_PROCESS_NOTIFI_APP_QUIT,!!e.appQuit.reStartStream),this.$emit(Je.APP_CLOSE,!!e.appQuit.reStartStream)):s.warn("onAppProcess unknown progress"+JSON.stringify(e))}onLogout(e){s.info("on Logout"+JSON.stringify(e));let t=0,r="";this.larksr.playerModeType==Fn.Interactive?(t=p.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT,r=d.message.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT):(t=p.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT,r=d.message.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT),this.larksr.$emit(t),this.errorMsg(r+". code "+t+". ",t),this.disConnect()}onLocalSdp(e){var t,r;const n=e.data;n&&n.sdp&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.rtcOfferMsg(n.type,n.sdp)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.rtcOfferMsg(n.type,n.sdp)))}onLoacalIce(e){var t,r;const n=e.data;n&&n.sdpMid&&n.sdpMLineIndex&&(this.larksr.params.wsProxy?null===(t=this.websocketProxy)||void 0===t||t.sendMsg(De.iceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)):null===(r=this.websocketChannel)||void 0===r||r.sendMsg(De.iceMsg(n.sdpMid,n.sdpMLineIndex,n.candidate)))}onRemoteStream(e){const t=e.data;this.infoMsg(d.message.iceSuccess),this.$emit(Je.REMOTE_STREAM,t)}onAudioRemoteStream(e){const t=e.data;this.$emit(Je.REMOTE_AUDIO_STREAM,t)}onRtcError(e){const t=e.data;this.larksr.appState<Ke.BEFORE_DESTORY&&this.errorMsg(t)}onRtcInfo(e){const t=e.data;this.larksr.appState<Ke.BEFORE_DESTORY&&this.infoMsg(t)}onRtmpStreamingState(e){this.$emit(Je.RTMP_STREAM_STATE,e.data)}onRtmpStreamingError(e){this.$emit(Je.RTMP_STREAM_ERROR,e.data)}onIceStateChange(e){const t=this.state,r=e.data;if(r==Me.DISCONNECT)s.info("BEFORE_DESTORY",this.retryTime,v.RetryTime,t),t<=Ke.RTC_CONNECTED?(this.onPeerConnectionDisconnect(),this.appStateChange(Ke.RTC_CLOSED)):t<Ke.RTC_RETRY?(s.warn("start retrying..."),this.retryPeerconnection(),this.appStateChange(Ke.RTC_RETRY)):t==Ke.RTC_RETRY?(s.warn("retrying..."),this.retryPeerconnection()):t<Ke.BEFORE_DESTORY&&(this.onPeerConnectionDisconnect(),this.appStateChange(Ke.RTC_CLOSED));else if(r==Me.GOOD){if(t<Ke.MEDIA_LOADED){this.larksr.$emit(p.LK_RTC_EVENT_PEERCONNECTION_CONNECTED),this.appStateChange(Ke.RTC_CONNECTED);const e=Pe().getParser(window.navigator.userAgent).getBrowserName().toLowerCase();"iOS"===b.os&&"chrome"!==e?window.setTimeout((()=>{this.state<Ke.MEDIA_PLAYED?this.appStateChange(Ke.MEDIA_LOADED):s.info("ios play success. skip update events")}),3500):window.setTimeout((()=>{this.state<Ke.MEDIA_PLAYED?this.appStateChange(Ke.MEDIA_LOADED):s.info("ios play success. skip update events")}),this.larksr.config.playTimeout?1e3*this.larksr.config.playTimeout:2e4)}this.retryTime=0}}retryPeerconnection(){this.releasePc(),this.initPc(),this.retryTime<v.RetryTime?(this.toastMsg(d.message.RTC_RETRY_CONNECTION+". "+this.retryTime),this.rtcOffer(),this.retryTime++):(this.onPeerConnectionDisconnect(),this.appStateChange(Ke.RTC_CLOSED))}setAudioEnable(e){var t;return null===(t=this.sharePeerConnection)||void 0===t?void 0:t.setAudioEnable(e)}setVideoEnable(e){var t;return null===(t=this.sharePeerConnection)||void 0===t?void 0:t.setVideoEnable(e)}setShareEnable(e){var t;return null===(t=this.sharePeerConnection)||void 0===t?void 0:t.setShareEnable(e)}closeAudio(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.closeAudio()}closeVideo(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.closeVideo()}closeShare(){var e;return null===(e=this.sharePeerConnection)||void 0===e?void 0:e.closeShare()}async openAudio(e=""){var t;return await(null===(t=this.sharePeerConnection)||void 0===t?void 0:t.openAudio(e))}async openVideo(e=!1,t="",r=0,n=0){var o;return await(null===(o=this.sharePeerConnection)||void 0===o?void 0:o.openVideo(e,t))}async openDefaultMedia(e=!0,t=!0){var r;return await(null===(r=this.sharePeerConnection)||void 0===r?void 0:r.openDefaultMedia(e,t))}async openShareMediaDevice(){var e;return await(null===(e=this.sharePeerConnection)||void 0===e?void 0:e.openShareMediaDevice())}async getConnectedAudioinputDevices(){var e;return await(null===(e=this.sharePeerConnection)||void 0===e?void 0:e.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var e;return await(null===(e=this.sharePeerConnection)||void 0===e?void 0:e.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var e;return await(null===(e=this.sharePeerConnection)||void 0===e?void 0:e.getConnectedVideoinputDevices())}async getConnectedDevices(e){var t;return await(null===(t=this.sharePeerConnection)||void 0===t?void 0:t.getConnectedDevices(e))}async openAudioDevice(e,t="audioinput"){var r;return await(null===(r=this.sharePeerConnection)||void 0===r?void 0:r.openAudioDevice(e,t))}async openCamera(e,t=0,r=0){var n;return await(null===(n=this.sharePeerConnection)||void 0===n?void 0:n.openCamera(e,t,r))}async openUserMeida(e,t=!1){var r;return t&&this.sharePeerConnection&&(this.releaseSharePc(),this.initSharePc()),await(null===(r=this.sharePeerConnection)||void 0===r?void 0:r.openUserMeida(e,t))}addMediaTrack(e,...t){var r;return null===(r=this.sharePeerConnection)||void 0===r?void 0:r.addMediaTrack(e,...t)}removeMediaTrack(e){var t;return null===(t=this.sharePeerConnection)||void 0===t?void 0:t.removeMediaTrack(e)}requestUserMediaPermission(e){var t;return null===(t=this.sharePeerConnection)||void 0===t?void 0:t.requestUserMediaPermission(e)}StartCloudLiveStreaming(e){var t;return null===(t=this.peerConnection)||void 0===t?void 0:t.StartCloudLiveStreaming(e)}StopLiveStreaming(){var e;return null===(e=this.peerConnection)||void 0===e?void 0:e.StopLiveStreaming()}onPeerConnectionDisconnect(){const e=p.LK_RTC_EVENT_PEERCONNECTION_CLOSED;this.larksr.$emit(e),this.errorMsg(d.message.RTC_EVENT_PEERCONNECTION_CLOSED+". code"+e,e),this.disConnect()}onBadNetwork(e){this.toastMsg(d.ui.badNetwork)}onPixelStreamingPlayerList(e){s.info("on piexl streaming player list",e),this.larksr.isPixelStreaming?e.descs&&(this.larksr.$emit(p.LK_APP_PLAER_LIST,L.deepCopyArray(e.descs),"PLAYER_LIST"),this.$emit(Je.LK_APP_PLAER_LIST,e.descs)):s.warn("not in pixelstreaming type")}onPixelStreamingDataChannelState(e){s.info("on onPixelStreamingDataChannelState datachannelState msg",e),this.larksr.isPixelStreaming?e==c.CloudLark.AppDataChannelState.State.OPEN?(this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_OPEN,e)):(this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,e)):s.warn("not in pixelstreaming type")}onPixelStreamingDataChannelData(e){if(s.info("onPixelStreamingDataChannelData ",e),this.larksr.isPixelStreaming)if(e.type==c.CloudLark.AppDataChannelMessage.Type.STRING){if(e.data){const t=(new TextDecoder).decode(e.data.length>0?e.data.subarray(0,e.data.length-1):e.data);this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,t)}}else this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data),this.larksr.$emit(p.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data);else s.warn("not in pixelstreaming type")}onCursorStyle(e){this.$emit(Je.SYNC_CURSORSTYLE,e.data)}onAppResize(e){this.$emit(Je.LK_APP_RESIZE,e.data)}onAppMouseMode(e){this.$emit(Je.LK_APP_MOUSE_MODE,e.data)}onAppPlayerList(e){this.$emit(Je.LK_APP_PLAER_LIST,e.data)}onAppRequestText(e){this.$emit(Je.LK_APP_REQUEST_TEXT,e.data)}onDataChannelText(e){this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,e.data)}onDataChannelBinary(e){this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,e.data)}onDataChannelOpen(e){this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_OPEN,e.data)}onDataChannelClose(e){this.$emit(Je.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,e.data)}onPeerConnectionState(e){this.$emit(Je.NET_STATE,e.data)}onAiVoiceStatus(e){this.$emit(Je.AI_VOICE_STATUS,e.data)}onAiVoiceAsrResult(e){this.$emit(Je.AI_VOICE_ASR_RESULT,e.data)}onAiVoiceDMResult(e){this.$emit(Je.AI_VOICE_DM_RESULT,e.data)}onAiVoiceError(e){this.$emit(Je.AI_VOICE_ERROR,e.data)}appStateChange(e){e!==Ke.MEDIA_LOADED&&e!=Ke.MEDIA_PLAYED||null!=this.peerConnection?(this._state=e,s.info("appStateChange",this._state),this.$emit(Je.APP_STATE_CHANGE,e)):s.warn("peerconnection already released")}infoMsg(e,t=0){this.$emit(Je.INFO,{message:e,code:t})}errorMsg(e,t=0){this.$emit(Je.ERROR,{message:e,code:t})}toastMsg(e,t=0){this.$emit(Je.INFO,{message:e,code:t})}$emit(e,t){this.emit(this.createAppEvent(e,t))}createAppEvent(e,t){return{type:e,target:this,data:t,state:this.state}}}var Qe;!function(e){e[e.DESKTOP=1]="DESKTOP",e[e.SHARED=2]="SHARED",e[e.PIXEL_STREAMING=13]="PIXEL_STREAMING",e[e.VR=3]="VR",e[e.VR_STEAM=5]="VR_STEAM",e[e.NV_VR=6]="NV_VR",e[e.XR=7]="XR",e[e.PXY_AR=9]="PXY_AR",e[e.NV_AR=11]="NV_AR"}(Qe||(Qe={}));class He{constructor(){this.appServer="",this.appPort="",this.renderSSLServerPort="",this.appliType=Qe.SHARED,this.wsProxy=!1,this.preferPubOutIp="",this.taskid="",this.appliName="",this.width=v.OriginW,this.height=v.OriginH,this.scaleMode=g.CONTAIN_APP,this.logLevel="warn",this.noOperationTimeout=0,this.waterMark=!1,this.rttLimit=60,this.packetLostLimit=20,this.rttLimitInterval=20,this.codeRate=v.CodeRate,this.audioCodeRate=v.AudioCodeRate,this.frameRate=v.FrameRate,this.network="public",this.language="",this.initCursorMode=!1,this.bgColor="",this.fullScreenMode=0,this.mobileFullScreenMode=0,this.playerMode=0,this.userType=1,this.nickname="",this.roomCode="",this.debugTask=!1,this.debugWebServer="",this.loadingTimeout=300,this.shareUrl=!1,this.mobileForceLandscape=!0,this.mobileVirtualJoystick=!0,this.mouseZoomDirection=0,this.showPlayerList=!0,this.preferDecoder="h264",this.touchOperateMode="mouse",this.appliId="",this.syncLocalToCloudClipboard=!0,this.enableRttIcon=!0,this.enableSoundRequire=!0,this.toastLevel=0,this.appKey="",this.groupId="",this.textInputEventPrompt=!0,this.audioInput=!1,this.audioInputAutoStart=!1,this.videoInput=!1,this.videoInputAutoStart=!1,this.liveStreaming=!1}static copyAndCreate(e){return e?Object.assign({},e):new He}static setUpWithSDKConfig(e,t){const r=Object.assign({},e);return t.codeRate&&(r.codeRate=t.codeRate),t.audioCodeRate&&(r.audioCodeRate=t.audioCodeRate),t.frameRate&&(r.frameRate=t.frameRate),t.loadingTimeout&&(r.loadingTimeout=t.loadingTimeout),t.preferDecoder&&(r.preferDecoder=t.preferDecoder),t.syncLocalToCloudClipboard&&(r.syncLocalToCloudClipboard=t.syncLocalToCloudClipboard),t.logLevel&&(r.logLevel=t.logLevel),t.scaleMode&&(r.scaleMode=t.scaleMode),null!=t.fullScreenMode&&(r.fullScreenMode=t.fullScreenMode),null!=t.mobileFullScreenMode&&(r.mobileFullScreenMode=t.mobileFullScreenMode),null!=t.mobileForceLandscape&&(r.mobileForceLandscape=t.mobileForceLandscape),null!=t.initCursorMode&&(r.initCursorMode=t.initCursorMode),null!=t.textInputEventPrompt&&(r.textInputEventPrompt=t.textInputEventPrompt),null!=t.audioInputAutoStart&&(r.audioInputAutoStart=t.audioInputAutoStart),null!=t.videoInputAutoStart&&(r.videoInputAutoStart=t.videoInputAutoStart),null!=t.touchOperateMode&&(r.touchOperateMode=t.touchOperateMode),null!=t.mouseZoomDirection&&(r.mouseZoomDirection=t.mouseZoomDirection),null!=t.preferPublicIp&&(r.preferPubOutIp=t.preferPublicIp),null!=t.language&&(r.language=t.language),r}}class $e{static getScaleMode(e){if(null==e||isNaN(e))return g.CONTAIN_APP;switch(e){default:return g.CONTAIN_APP;case 1:return g.CONTAIN_VIDEO;case 2:return g.FIT_SCREEN;case 3:return g.FILL_CLIP;case 4:return g.FILL_STRETCH}}static getNetwork(e){return null==e||isNaN(e)?"public":0===e?"local":"public"}static getLogLevel(e){return e&&"info"===e||"warn"===e?e:"warn"}static getBoolOption(e,t=!1){return null==e||""===e?t:"boolean"==typeof e?e:"false"!==e}static getNumberBoolOption(e,t=!1){return null==e||""===e?t:"number"==typeof e?0!==e:"0"!==e}static getStringOption(e,t=""){return null==e||""===e?t:decodeURI(decodeURI(e))}static getIntOption(e,t=0){if(null==e||""===e)return t;const r=parseInt(e,10);return isNaN(r)?t:r}static getBgColor(e){return null==e||""===e?"":e.indexOf("0x")>-1?e.replace("0x","#"):"#"+e}}function et(e){let t=new He;t.appServer=e.renderServerIp,t.appPort=e.renderServerPort+"",t.renderSSLServerPort=e.renderSSLServerPort?e.renderSSLServerPort+"":"",t.taskid=e.taskId,t.scaleMode=$e.getScaleMode(e.initWinSize),t.network=$e.getNetwork(parseInt(e.network,10)),t.preferPubOutIp=e.preferPublicIp,t.noOperationTimeout=$e.getIntOption(e.noOperationTimeout,0),t.rttLimit=$e.getIntOption(e.rttLimit,60),t.rttLimitInterval=$e.getIntOption(e.rttLimitInterval,20),t.wsProxy=$e.getNumberBoolOption(e.wsProxy),t.initCursorMode=$e.getNumberBoolOption(e.initCursorMode),t.bgColor=e.bgColor,t.fullScreenMode=e.fullScreenMode,t.mobileFullScreenMode=e.mobileFullScreenMode,t.playerMode=$e.getIntOption(e.playerMode+"",0),t.userType=$e.getIntOption(e.userType+"",1),e.nickName&&(t.nickname=$e.getStringOption(e.nickName)),e.nickname&&(t.nickname=$e.getStringOption(e.nickname)),t.roomCode=$e.getStringOption(e.roomCode,""),t.mobileForceLandscape=$e.getNumberBoolOption(e.mobileForceLandscape),t.mobileVirtualJoystick=$e.getNumberBoolOption(e.mobileVirtualJoystick),t.mouseZoomDirection=e.mouseZoomDirection,t.showPlayerList=$e.getNumberBoolOption(e.playerListToggle);let r=$e.getStringOption(e.touchOperateMode,"mouse");return t.touchOperateMode="touch"===r||"touchScreen"===r?"touchScreen":"mouse",t.appliId=e.appliId,t.language=e.language,t.appliType=e.appliType,t.appliName=decodeURI(e.appliName),t.appKey=e.appKey?e.appKey:"",t.groupId=e.groupId?e.groupId:"",t}var tt=__webpack_require__(4559),rt=__webpack_require__.n(tt);class nt{static async HostAppliGetUrl(e){const t=await rt().get("https://www.pingxingyun.com/console/api"+nt.PocHostApplGetUrl,{params:e});if(null!=t.data){if(1e3===t.data.code){const r=new URL(t.data.result);return{host:r.host,origin:r.origin,params:{appliId:e.appliId,appKey:L.queryURL(r,"appKey"),timestamp:L.queryURL(r,"timestamp"),signature:L.queryURL(r,"signature")}}}throw new Error(t.data.message)}throw new Error("获取AppliURl失败,结果为空")}static GetStartInfo(e,t){const r=e;let n=Object.assign({sdkVersion:`WEB-${v.VersionMarjor}.${v.VersionMinorr}.${v.VersionBuild}.${v.VersionRevise}`,sdkType:"3"},t);return new Promise(((e,t)=>{rt().get(r+nt.GetStartInfoPath,{params:n}).then((r=>{if(null!=r.data)if(1e3===r.data.code)e(r.data.result);else{[813,814,815,816,817,820,821,823].filter((e=>e===r.data.code)).length>0?(s.info("渲染资源不足"),t(Object.assign({type:0},r.data))):t(Object.assign({type:1,message:"获取启动应用信息失败. code:"+r.data.code+";msg: "+r.data.message},r.data))}else t(Object.assign({type:1,message:"获取启动应用信息失败. 返回值为空"},r.data))})).catch((e=>{s.warn("获取启动应用信息失败",e),t({type:1,message:"请求启动应用接口失败:"+JSON.stringify(e)})}))}))}static CheckUTLockInfo(e){const t=e.serverAddress;return new Promise(((e,r)=>{rt().get(t+nt.CheckUTLockInfoPath).then((t=>{null!=t.data?1e3===t.data.code?t.data.result?e({checkUtLockMessage:t.data.result.checkUtLockMessage,checkUtLockResult:t.data.result.checkUtLockResult,remainMinutes:t.data.result.remainMinutes}):r("读取加密狗信息失败. 结果为空."):r("读取加密狗信息失败. code:"+t.data.code):r("读取加密狗信息失败. 返回值为空")})).catch((e=>{s.warn("读取加密狗信息失败",e),r(d.message.loadConfigFailed+":"+e.statusText)}))}))}static GetTask(e,t){const r=e.serverAddress;return new Promise(((e,n)=>{rt().get(r+nt.GetTaskPATH+"?taskId="+t).then((t=>{null!=t.data?1e3===t.data.code?t.data.result?(s.info("读取Task信息成功",t.data),e(t.data.result)):(s.warn("读取Task信息失败, 结果为空"),n("读取Task信息失败, 结果为空")):n("读取Task信息失败, code:"+t.data.code+"; msg:"+t.data.message):(s.warn("读取Task信息失败, 结果为空"),n("读取Task信息失败, 结果为空"))})).catch((e=>{s.warn("读取Task信息失败",e),n("读取Task信息失败"+JSON.stringify(e))}))}))}static LogError(e,t,r,n){const o=n.serverAddress;let i=new FormData;i.append("errorCode",e+""),i.append("errorMsg",t),i.append("params",r),rt().post(o+nt.ClientLogErrorPath,i).then((e=>{s.info("request log info success.",e)})).catch((e=>{s.warn("request log error failed ",e)}))}static ClientInfo(e,t){const r=e.serverAddress,n=Ne.getParser(window.navigator.userAgent);let o="";const i=n.getPlatform();i.type&&(o+="platform="+i.type+"&"),i.vendor&&(o+="vendor="+i.vendor+"&"),i.model&&(o+="model="+i.model+"&");const a=n.getEngine();a.name&&(o+="engine="+a.name+"&"),a.version&&(o+="engineVersion="+a.version+"&");let c=n.getOSName();n.getOS().versionName&&(c+=" "+n.getOS().versionName),rt().get(r+"/client/info",{params:{taskId:t.taskid,appliId:t.appliId,startDate:Date.now(),prodType:"SR",clientType:"Web",clientVersion:v.VersionMarjor+"."+v.VersionMinorr+"."+v.VersionRevise+"."+v.VersionBuild,browserType:n.getBrowserName(),browserVersion:n.getBrowserVersion(),osVersion:c,isSdk:"N",deviceInfo:o}}).then((e=>{s.info("update client info success.",e)})).catch((e=>{s.warn("upload client info failed ",e)}))}static TaskInfoClientStarted(e,t){const r=e.serverAddress;let n=new FormData;n.append("taskId",t.taskid),rt().post(r+nt.TaskInfoClientStartedPath,n).then((e=>{s.info("request log info success.",e)})).catch((e=>{s.warn("request log error failed ",e)}))}static PortMappingList(e){const t=e.serverAddress;return new Promise(((e,r)=>{rt().get(t+nt.PortMappingListPath).then((t=>{t.data&&(1e3===t.data.code?e(t.data.result):r(t.data.message))})).catch((e=>{r(e)}))}))}static GetTouchCtrMapping(e,t=""){const r=e;return new Promise(((e,n)=>{rt().get(r+nt.GetTouchCtrMappingPath,{params:{appliId:t}}).then((t=>{t.data&&(1e3===t.data.code?t.data.result?e(t.data.result):n("do not find touch control mapping"):n(t.data.message))})).catch((e=>{n(e)}))}))}static GetAppliList(e,t){const r=e;return new Promise(((e,n)=>{rt().get(r+nt.GetAppliListPath,{params:t}).then((t=>{t.data&&(1e3===t.data.code&&t.data.result?e(t.data.result):n(t.data.message))})).catch((e=>{n(e)}))}))}static RegionList(e,t){const r=e;return new Promise(((e,n)=>{rt().get(r+nt.RegionListPath,{params:t}).then((t=>{t.data&&(1e3===t.data.code&&t.data.result?e(t.data.result):n(t.data.message))})).catch((e=>{n(e)}))}))}static joinParam(e){var t="";for(const r in e)r&&(t+=r+"="+e[r]+"&");return t}}nt.CheckUTLockInfoPath="/checkUTLockInfo",nt.GetTaskPATH="/taskInfo/getTask",nt.ClientLogErrorPath="/client/log/error",nt.GetStartInfoPath="/appli/getSdkStartInfo",nt.PocHostApplGetUrl="/poc/hostAppli/getUrl",nt.TaskInfoClientStartedPath="/taskInfo/clientStarted",nt.PortMappingListPath="/portMapping/list",nt.GetTouchCtrMappingPath="/appli/getTouchCtrlMapping",nt.GetAppliListPath="/appli/getAppliList",nt.RegionListPath="/renderServer/regionList";const ot="pxymessage",it=[p.LK_TASK_CREATE_FAILED,p.LK_RENDER_SERVER_FAILED,p.LK_RENDER_SERVER_CLOSE,p.LK_RENDER_SERVER_ERROR,p.LK_PROXY_SERVER_FAILED,p.LK_PROXY_SERVER_CLOSE,p.LK_PROXY_SERVER_ERROR,p.LK_VERSION_CHECK_FAILED,p.LK_TASK_NOTFOUND,p.LK_TASK_SERVER_ERROR,p.LK_TASK_APP_WRONGPARAM,p.LK_TASK_NO_GPU_RESOURCE,p.LK_START_STREAM_PROCESS_START_FAILED,p.LK_START_STREAM_PROCESS_START_TIMEOUT,p.LK_START_STREAM_NOT_STREAMING,p.LK_START_STREAM_ENCODER_ERROR,p.LK_RTC_EVENT_PEERCONNECTION_CLOSED,p.LK_RTC_EVENT_PEERCONNECTION_ERROR,p.LK_APP_PROCESS_NOTIFI_APP_QUIT,p.LK_STARTVRSTREAM_START_PROCESS_FAILED,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR,p.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR,p.LK_DATA_CHANNEL_CLOSE,p.LK_DATA_CHANNEL_ERROR];class st{constructor(e){this.larksr=e}listenParent(){L.IsIframe()&&null!=parent&&window.addEventListener("message",(e=>{if(s.info("on poster to lark message",e.data),e.data.prex!=ot)return void s.warn("iframe receive valid message. prex not rigth",e.data);const{type:t,data:r}=e.data;switch(t){case p.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE"),this.larksr.moseMove(r.x,r.y,r.rx,r.ry);break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN"),this.larksr.mouseDown(r.x,r.y,this.larksr.getMouseButtonType(r.button));break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_UP:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_UP"),this.larksr.mouseUp(r.x,r.y,this.larksr.getMouseButtonType(r.button));break;case p.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL:s.info("LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL"),this.larksr.mouseWheel(r.x,r.y,r.wheel);break;case p.LK_IFRAME_POSTER_OPERATE_KEY_DOWN:s.info("LK_IFRAME_POSTER_OPERATE_KEY_DOWN"),this.larksr.keyDown(r.key,r.isRepeat);break;case p.LK_IFRAME_POSTER_OPERATE_KEY_UP:s.info("LK_IFRAME_POSTER_OPERATE_KEY_UP"),this.larksr.keyUp(r.key);break;case p.LK_REQUEST_CAPTURE_FRAME:s.info("LK_REQUEST_CAPTURE_FRAME"),this.larksr.captrueFrame("");break;case p.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA:s.info("LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",r),this.larksr.captrueFrame(r);break;case p.LK_IFRAME_POSTER_FUNC_SCALE_MODE:this.larksr.scaleMode=r;break;case p.LK_IFRAME_POSTER_FUNC_MOUSE_MODE:this.larksr.initCursorMode=r;break;case p.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP:this.larksr.restart();break;case p.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY:case p.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO:this.larksr.videoComponent.playVideo(),this.larksr.videoComponent.sountPlayout();break;case p.LK_IFRAME_POSTER_OPENAUDIO_INPUT:this.larksr.audioTrack?this.larksr.audioTrack.enabled=!0:this.larksr.openAudio();break;case p.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT:this.larksr.audioTrack&&(this.larksr.audioTrack.enabled=!1);break;case p.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT:this.larksr.sendTextToDataChannel(r);break;case p.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY:this.larksr.sendBinaryToDataChannel(r);break;default:s.info("unknown postmessage type ",t)}}))}}var at,ct;!function(e){e[e.ARROW=0]="ARROW",e[e.IBEAM=1]="IBEAM",e[e.WAIT=2]="WAIT",e[e.CROSS=3]="CROSS",e[e.SIZENWSE=4]="SIZENWSE",e[e.SIZENESW=5]="SIZENESW",e[e.SIZEWE=6]="SIZEWE",e[e.SIZENS=7]="SIZENS",e[e.SIZEALL=8]="SIZEALL",e[e.NO=9]="NO",e[e.HAND=10]="HAND",e[e.CUSTOM=11]="CUSTOM",e[e.DEFAULT=1e3]="DEFAULT"}(at||(at={}));class ut extends o{constructor(e,t,r,n=!0,o=!1){super(),this._appSize={width:1920,height:1080},this._viewPort={width:1920,height:1080},this._container={marginTop:0,marginLeft:0,width:0,height:0},this._screenOrientation="portrait",this._scaleMode=g.CONTAIN_APP,this._isFullScreen=!1,this._cursorStyle={type:at.DEFAULT,hotX:0,hotY:0,width:0,height:0,customBase64:""},this._appMouseMode={mouseShow:!0,mouseLock:!1,mouseRelative:!1,rect:{top:0,left:0,right:0,bottom:0}},this._initCursorMode=!1,this._isMobile=!1,this._handleRootElementSize=!0,this._onlyHandleRootElementTransform=!1,this._baseElementScale=1,this.resize=this.resize.bind(this),this.larksr=r,this._rootElement=e,this._handleRootElementSize=n,this._onlyHandleRootElementTransform=o,this.mobileForceLandScape=t.mobileForceLandscape,this.bgColor=t.bgColor,this.reset(t),window.addEventListener("resize",(()=>{b.isIOSSafari?window.setTimeout((()=>{this.resize(this.baseElementScale)}),100):this.resize(this.baseElementScale)})),window.addEventListener("orientationchange",(()=>{b.isIOSSafari?window.setTimeout((()=>{this.resize(this.baseElementScale)}),100):this.resize(this.baseElementScale)})),o&&(s.info("onlyHandleRootElementTransform"),e.addEventListener("resize",(()=>{s.info("resize when only handle root element transform"),window.setTimeout((()=>{s.info("timeout resize when only handle root element transform"),this.resize(this.baseElementScale)}),100)})))}get appSize(){return this._appSize}set appSize(e){this._appSize=e,this.resize()}get viewPort(){return this._viewPort}get viewPortStyle(){return`width: ${this.viewPort.width}px; height: ${this.viewPort.height}px`}get orientationIndexStyle(){const{screenOrientation:e,viewPort:t,bgColor:r}=this;return"landscape"==e?{width:t.width+"px",height:t.height+"px",top:(t.width-t.height)/2+"px",left:0-(t.width-t.height)/2+"px",transform:"rotate(90deg)",transformOrigin:"50% 50%",backgroundColor:r}:{width:t.width+"px",height:t.height+"px",transform:"rotate(0deg)",transformOrigin:"50% 50%",backgroundColor:r}}get container(){return this._container}get containerStyle(){return`width: ${this.container.width}px;height: ${this.container.height}px;margin-top: ${this.container.marginTop}px;margin-left: ${this.container.marginLeft}px;cursor: ${this.cursorCSSStyle};`}get screenOrientation(){return this._screenOrientation}get scaleMode(){return this._scaleMode}set scaleMode(e){this._scaleMode=e,this.resize()}get isFullScreen(){return this._isFullScreen}get cursorStyle(){return this._cursorStyle}set cursorStyle(e){this._cursorStyle=e}get cursorCSSStyle(){if(this.larksr.playerModeType==Fn.Interactive&&this.larksr.userType==Gn.Observer)return"not-allowed";if(!this.appMouseMode.mouseShow&&!this.appMouseMode.mouseLock)return"none";switch(this.cursorStyle.type){case at.ARROW:return"default";case at.CROSS:return"crosshair";case at.HAND:return"pointer";case at.IBEAM:return"text";case at.NO:return"no-drop";case at.SIZEALL:return"all-scroll";case at.SIZENESW:return"nesw-resize";case at.SIZENS:return"ns-resize";case at.SIZENWSE:return"nwse-resize";case at.SIZEWE:return"ew-resize";case at.WAIT:return"wait";case at.CUSTOM:return`url(${this.cursorStyle.customBase64}) ${this.cursorStyle.hotX} ${this.cursorStyle.hotY}, auto`;default:return"default"}}get appMouseMode(){return this._appMouseMode}set appMouseMode(e){this._appMouseMode=e,this.resize()}get operateScale(){const{container:e,appSize:t}=this,r=t.width?t.width:1920,n=t.height?t.height:1080;return{scaleX:r/e.width,scaleY:n/e.height}}get initCursorMode(){return this._initCursorMode}set initCursorMode(e){this._initCursorMode=e,this.resize()}get isMobile(){return this._isMobile}get isLocalRenderMouse(){const{initCursorMode:e,appMouseMode:t}=this;return(e||t.mouseLock)&&t.mouseShow}get isLockMosue(){const{appMouseMode:e,initCursorMode:t}=this;return t||e.mouseLock}get rootElement(){return this._rootElement}get handleRootElementSize(){return this._handleRootElementSize}get onlyHandleRootElementTransform(){return this._onlyHandleRootElementTransform}get baseElementScale(){return this._baseElementScale}reset(e){this._initCursorMode=e.initCursorMode,this._isMobile=b.isMobile,this._scaleMode=e.scaleMode,this.mobileForceLandScape=e.mobileForceLandscape,this.bgColor=e.bgColor,this.resize()}setMobileForceLandScape(e){this.mobileForceLandScape=e,this.resize()}resize(e=1){const t=L.getViewport();this._baseElementScale=e;let r=this.appSize.width?this.appSize.width:1920,n=this.appSize.height?this.appSize.height:1080;s.info("resize ",this.appSize,r,n,t);let o=this.viewPort.width,i=this.viewPort.height,a=this.scaleMode,c=0,u=0;this.handleRootElementSize&&!this.onlyHandleRootElementTransform?(c=t.width,u=t.height-0):(c=L.getElementViewport(this.rootElement,e).width,u=L.getElementViewport(this.rootElement,e).height-0,this.onlyHandleRootElementTransform&&s.info("rezie when only handle root element transform",c,u));let l=1,A=L.deepCopy(this.container),d=1;if(b.isMobile&&this.handleRootElementSize)if(this.mobileForceLandScape)if(null!=window.orientation&&0===window.orientation){if(!this.onlyHandleRootElementTransform){const e=c;c=u,u=e}this._screenOrientation="landscape",s.info("landscape mode",L.getViewport(),c,u)}else this._screenOrientation="portrait",s.info("portrait mode",L.getViewport(),window.orientation);else this._screenOrientation="portrait",s.info("portrait mode",L.getViewport(),window.orientation);switch(a){case g.FIT_SCREEN:s.info("resize scale mode FIT_SCREEN"),l=Math.min(c/r,u/n),A.marginTop=.5*(u-n*l),A.marginLeft=.5*(c-r*l),A.width=r*l,A.height=n*l;break;case g.CONTAIN_VIDEO:s.info("resize scale mode CONTAIN_VIDEO"),l=Math.min(c/o,u/i),l<1&&(o*=l,i*=l),d=Math.min(o/r,i/n),d=d<1?d:1,A.width=r*d,A.height=n*d,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.CONTAIN_APP:s.info("resize scale mode CONTAIN_APP"),l=Math.min(c/r,u/n),l=l<1?l:1,A.width=r*l,A.height=n*l,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.FILL_CLIP:s.info("resize scale mode FILL_CLIP"),l=Math.max(c/r,u/n),A.width=r*l,A.height=n*l,A.marginTop=.5*(u-A.height),A.marginLeft=.5*(c-A.width);break;case g.FILL_STRETCH:s.info("resize scale mode FILL_STRETCH"),A.width=c,A.height=u,A.marginTop=0,A.marginLeft=0;break;default:s.warn("unsupport scale modle")}this._viewPort={width:c,height:u},this._container=A,this.handleRootElementSize&&("landscape"===this._screenOrientation?(this.rootElement.style.position="relative",this.rootElement.style.transform="rotate(90deg)",this.rootElement.style.transformOrigin="50% 50%",this.onlyHandleRootElementTransform?(this.rootElement.style.top=-(this.viewPort.width-this.viewPort.height)/2+"px",this.rootElement.style.left=0-(this.viewPort.width-this.viewPort.height)/2+"px"):(this.rootElement.style.width=this.viewPort.width+"px",this.rootElement.style.height=this.viewPort.height+"px",this.rootElement.style.margin="0",this.rootElement.style.padding="0",this.rootElement.style.top=(this.viewPort.width-this.viewPort.height)/2+"px",this.rootElement.style.left=0-(this.viewPort.width-this.viewPort.height)/2+"px")):(this.rootElement.style.position="relative",this.rootElement.style.transform="rotate(0deg)",this.rootElement.style.transformOrigin="50% 50%",this.rootElement.style.top="0",this.rootElement.style.left="0",this.onlyHandleRootElementTransform||(this.rootElement.style.width=this.viewPort.width+"px",this.rootElement.style.height=this.viewPort.height+"px",this.rootElement.style.margin="0",this.rootElement.style.padding="0"))),this.emit({target:this,type:0,container:A,viewPort:this._viewPort})}}!function(e){e[e.SINGLE_FINGER_TOUCH_START=1]="SINGLE_FINGER_TOUCH_START",e[e.SINGLE_FINGER_TAP=2]="SINGLE_FINGER_TAP",e[e.SINGLE_FINGER_TAP_DOWN=3]="SINGLE_FINGER_TAP_DOWN",e[e.SINGLE_FINGER_TAP_UP=4]="SINGLE_FINGER_TAP_UP",e[e.SINGLE_FINGER_SWIPE=5]="SINGLE_FINGER_SWIPE",e[e.SINGLE_FINGER_SWIPE_START=6]="SINGLE_FINGER_SWIPE_START",e[e.SINGLE_FINGER_SWIPE_END=7]="SINGLE_FINGER_SWIPE_END",e[e.DOUBLE_FINGER_TAP=8]="DOUBLE_FINGER_TAP",e[e.DOUBLE_FINGER_TAP_DOWN=9]="DOUBLE_FINGER_TAP_DOWN",e[e.DOUBLE_FINGER_TAP_UP=10]="DOUBLE_FINGER_TAP_UP",e[e.DOUBLE_FINGER_SWIPE=11]="DOUBLE_FINGER_SWIPE",e[e.DOUBLE_FINGER_SWIPE_START=12]="DOUBLE_FINGER_SWIPE_START",e[e.DOUBLE_FINGER_SWIPE_END=13]="DOUBLE_FINGER_SWIPE_END",e[e.DOUBLE_FINGER_EXPAND=14]="DOUBLE_FINGER_EXPAND",e[e.DOUBLE_FINGER_SHRINK=15]="DOUBLE_FINGER_SHRINK",e[e.DOUBLE_FINGER_SPIN=16]="DOUBLE_FINGER_SPIN",e[e.TRIPLE_FINGER_TAP=17]="TRIPLE_FINGER_TAP",e[e.TRIPLE_FINGER_TAP_DOWN=18]="TRIPLE_FINGER_TAP_DOWN",e[e.TRIPLE_FINGER_TAP_UP=19]="TRIPLE_FINGER_TAP_UP",e[e.TRIPLE_FINGER_SWIPE=20]="TRIPLE_FINGER_SWIPE",e[e.TRIPLE_FINGER_SWIPE_START=21]="TRIPLE_FINGER_SWIPE_START",e[e.TRIPLE_FINGER_SWIPE_END=22]="TRIPLE_FINGER_SWIPE_END",e[e.RELEASE=23]="RELEASE",e[e.NONE=24]="NONE",e[e.TEST=25]="TEST"}(ct||(ct={}));class lt extends o{constructor(e=document.body){super(),this.touchStatus=4,this.touchStartTime=null,this.touchStartPoints=[],this.touchChangedPoins=[],this.tapStart=!1,this.tapPressTimeout=null,this.touchMoveList=[],this.lastMidPoint={x:0,y:0},this.root=e,this.initTouchStatus(),this.tapLimit={radius:20,timeout:200},this.lastTap={position:{x:0,y:0},timeStamp:0},this.onTouch=this.onTouch.bind(this)}setTapLimitRadius(e){this.tapLimit.radius=e}setTapLimitTimeout(e){this.tapLimit.timeout=e}startListening(){this.root&&(this.root.addEventListener("touchstart",this.onTouch.bind(this),{passive:!1}),this.root.addEventListener("touchmove",this.onTouch.bind(this),{passive:!1}),this.root.addEventListener("touchend",this.onTouch.bind(this)),this.root.addEventListener("touchcancel",this.onTouch.bind(this)))}stopListening(){this.root&&(this.root.removeEventListener("touchstart",this.onTouch.bind(this)),this.root.removeEventListener("touchmove",this.onTouch.bind(this)),this.root.removeEventListener("touchend",this.onTouch.bind(this)),this.root.removeEventListener("touchcancel",this.onTouch.bind(this)))}createGestureEvent(e,t={x:0,y:0},r={x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}},n=0){return{type:0,gestrueType:e,position:t,motion:r,distance:n}}onTouch(e){switch(e.cancelable?e.preventDefault():s.warn("cant cancle touch event",e),e.type){case"touchstart":0===this.touchStartPoints.length&&1===e.targetTouches.length&&4===this.touchStatus?(this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[0])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[0])),this.tapStart=!0,this.touchStatus=1,null===this.tapPressTimeout&&(this.tapPressTimeout=window.setTimeout((()=>{1===this.touchStatus&&null!==this.touchStartTime&&this.touchStartPoints.length>0&&Date.now()-this.touchStartTime>=this.tapLimit.timeout&&this.tapStart&&this.emit(this.createGestureEvent(ct.SINGLE_FINGER_TAP_DOWN,this.touchStartPoints[0]))}),this.tapLimit.timeout)),this.emit(this.createGestureEvent(ct.SINGLE_FINGER_TOUCH_START,this.touchStartPoints[0]))):2===e.targetTouches.length?(this.touchStatus=2,this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[1])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[1])),this.tapStart=!0,this.emit(this.createGestureEvent(ct.DOUBLE_FINGER_TAP_DOWN,L.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=L.midpointCoordinate(this.touchStartPoints)):3===e.targetTouches.length?(this.touchStatus=3,this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[2])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(e.targetTouches[2])),this.tapStart=!0,this.emit(this.createGestureEvent(ct.TRIPLE_FINGER_TAP_DOWN,L.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=L.midpointCoordinate(this.touchStartPoints)):s.warn("unexp touch event",e.targetTouches.length,e);break;case"touchmove":if(1===e.targetTouches.length&&this.touchStartPoints.length>0&&1===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let t;this.touchMoveList.length>0&&(t=this.touchMoveList[this.touchMoveList.length-1]);let r,n=this.singlePointRelativePosition(e.targetTouches[0]);t&&(r=L.vector(n,t)),this.tapStart?(this.emit(this.createGestureEvent(ct.SINGLE_FINGER_SWIPE_START,n,r)),this.tapStart=!1):this.emit(this.createGestureEvent(ct.SINGLE_FINGER_SWIPE,n,r)),this.touchMoveList.push(n),this.tapStart&&(this.tapStart=!1)}}else if(2===e.targetTouches.length&&2===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){if(2===e.changedTouches.length){let t=this.lastMidPoint,r=L.midpointCoordinate(this.multiPointRelativePosition(e.changedTouches));this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.tapStart&&(this.emit(this.createGestureEvent(ct.DOUBLE_FINGER_SWIPE_START,r,L.vector(r,t))),this.tapStart=!1),this.lastMidPoint=r}this.tapStart&&(this.tapStart=!1)}}else if(3===e.targetTouches.length&&3===this.touchStatus){if(!this.tapStart||this.checkTouchPointMove(e.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let t=this.lastMidPoint,r=L.midpointCoordinate(this.multiPointRelativePosition(e.changedTouches));3===e.changedTouches.length?(this.tapStart&&(this.emit(this.createGestureEvent(ct.TRIPLE_FINGER_SWIPE_START,r,L.vector(r,t))),this.tapStart=!1),this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.lastMidPoint=r):this.emit(this.createGestureEvent(this.multiFingerGesture(e.changedTouches),r,L.vector(r,t))),this.tapStart&&(this.tapStart=!1)}}else s.warn("unexp touch move",this.touchStatus,e.targetTouches.length);break;case"touchend":case"touchcancel":if(1===e.changedTouches.length&&0===e.targetTouches.length&&this.touchStartTime&&1===this.touchStartPoints.length&&this.touchStartPoints[0].id===e.changedTouches[0].identifier)if(this.tapStart){let t=this.singlePointRelativePosition(e.changedTouches[0]),r=Date.now();r-this.touchStartTime<this.tapLimit.timeout?(this.emit(this.createGestureEvent(ct.SINGLE_FINGER_TAP,t)),this.lastTap={position:t,timeStamp:r}):(this.emit(this.createGestureEvent(ct.SINGLE_FINGER_TAP_UP,t)),s.info("touch tap"))}else{let t=this.singlePointRelativePosition(e.changedTouches[0]);this.emit(this.createGestureEvent(ct.SINGLE_FINGER_SWIPE_END,t))}else if(e.changedTouches.length>=1&&this.touchStartTime&&1===e.targetTouches.length&&2===this.touchStartPoints.length)if(this.tapStart){Date.now()-this.touchStartTime<this.tapLimit.timeout?this.emit(this.createGestureEvent(ct.DOUBLE_FINGER_TAP,L.midpointCoordinate(this.touchStartPoints))):this.emit(this.createGestureEvent(ct.DOUBLE_FINGER_TAP_UP,L.midpointCoordinate(this.touchStartPoints)))}else{const e=L.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(ct.DOUBLE_FINGER_SWIPE_END,e))}else if(e.changedTouches.length>=1&&this.touchStartTime&&3===this.touchStartPoints.length)if(this.tapStart){Date.now()-this.touchStartTime<this.tapLimit.timeout&&(this.emit(this.createGestureEvent(ct.TRIPLE_FINGER_TAP,L.midpointCoordinate(this.touchStartPoints))),this.emit(this.createGestureEvent(ct.TRIPLE_FINGER_TAP_UP,L.midpointCoordinate(this.touchStartPoints))))}else{const e=L.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(ct.TRIPLE_FINGER_SWIPE_END,e))}else this.emit(this.createGestureEvent(ct.RELEASE)),s.warn("unexp touch event",e.changedTouches.length,this.touchStartPoints.length,this.touchStartTime);this.releaseTouchTap(),this.initTouchStatus()}return!0}multiFingerGesture(e){let t=[],r=L.deepCopyArray(this.touchChangedPoins);for(let n=0;n<e.length;n++)for(let o=0;o<r.length;o++)if(e[n].identifier===r[o].id){let i=this.getTouchChangedPoinsFromNativeEvent(e[n]);t.push(L.vector(i,r[o])),this.touchChangedPoins[o]=i}switch(this.touchStatus){case 2:if(2===t.length){let e=L.vectorCosAngle(t[0],t[1]);if(e>.5)return ct.DOUBLE_FINGER_SWIPE;if(e<-.5){let r=L.vector(t[0].startPoint,t[1].startPoint),n=L.vector(t[0].endPoint,t[1].endPoint),o=L.vectorModule(r),i=L.vectorModule(n);return o-i>0?(s.info("DOUBLE_FINGER distance add"),ct.DOUBLE_FINGER_EXPAND):o-i<0?(s.info("DOUBLE_FINGER distance minu"),ct.DOUBLE_FINGER_SHRINK):(s.info("DOUBLE_FINGER_SPIN",e),ct.DOUBLE_FINGER_SPIN)}}break;case 3:if(3===t.length)return ct.TRIPLE_FINGER_SWIPE;break;default:return ct.NONE}return ct.NONE}checkTouchPointMove(e,t,r){let n=L.deepCopyArray(t);for(let t=0;t<e.length;t++)for(let o=0;o<n.length;o++)if(e[t].identifier===n[o].id){let i=this.singlePointRelativePosition(e[t]);if(L.pointsDistance(i,n[o])>r)return!0}return!1}getTouchStartPointsFromNativeEvent(e){let t=this.singlePointRelativePosition(e);return{id:e.identifier,x:t.x,y:t.y}}getTouchChangedPoinsFromNativeEvent(e){return this.getTouchStartPointsFromNativeEvent(e)}releaseTouchTap(){this.tapStart=!1}initTouchStatus(){this.touchStartTime=null,this.touchStartPoints=[],this.touchChangedPoins=[],this.tapStart=!1,this.touchMoveList=[],this.touchStatus=4,this.tapPressTimeout&&window.clearTimeout(this.tapPressTimeout),this.tapPressTimeout=null,this.lastMidPoint={x:0,y:0}}singlePointRelativePosition(e){return{x:e.clientX,y:e.clientY}}multiPointRelativePosition(e){const t=[];for(let r=0;r<e.length;r++)t.push(this.singlePointRelativePosition(e[r]));return t}}function At(e,t=!0,r,n){const{container:o,appSize:i,screenOrientation:s}=r,a=r.operateScale;let c={x:0,y:0,rx:0,ry:0,edge:!1};const u=L.getOffsetViewport(n);return"landscape"===s?r.handleRootElementSize?(c.x=e.position.y-o.marginLeft,c.y=Math.abs(e.position.x-o.height-o.marginTop),c.rx=e.motion.y,c.ry=e.motion.x):(c.x=(e.position.y-u.offsetX)/r.baseElementScale,c.y=Math.abs(e.position.x-o.height-u.offsetY)/r.baseElementScale,c.rx=e.motion.y,c.ry=e.motion.x):r.handleRootElementSize?(c.x=e.position.x-o.marginLeft,c.y=e.position.y-o.marginTop,c.rx=e.motion.x,c.ry=e.motion.y):(c.x=(e.position.x-u.offsetX)/r.baseElementScale,c.y=(e.position.y-u.offsetY)/r.baseElementScale,c.rx=e.motion.x,c.ry=e.motion.y),c.x=Math.round(c.x*a.scaleX),c.y=Math.round(c.y*a.scaleY),t?(c.rx=-Math.round(c.rx*a.scaleX),c.ry=-Math.round(c.ry*a.scaleY)):(c.rx=-Math.round(c.rx*a.scaleX),c.ry=Math.round(c.ry*a.scaleY)),c.x<0&&(c.x=0,c.edge=!0),i.width&&c.x>i.width&&(c.x=i.width,c.edge=!0),c.y<0&&(c.y=0,c.edge=!0),i.height&&c.y>i.height&&(c.y=i.height,c.edge=!0),c}class dt{constructor(e){this._enable=!0,this.op=e}set enable(e){this._enable=e}get enable(){return this._enable}}class pt extends dt{constructor(e,t){super(t),this.pressedMouseButtons=[],this._relativeMouseMoveSpeed=2,this._gestureCallback=null,this.rootElement=e,this.gesture=new lt(e),this.gesture.startListening(),this.onGesture=this.onGesture.bind(this),this._mouseZoomDirection=t.larksr.params.mouseZoomDirection}set mouseZoomDirection(e){this._mouseZoomDirection=e}get mouseZoomDirection(){return this._mouseZoomDirection}set tapLimitRadius(e){this.gesture.setTapLimitRadius(e)}set tapLimitTimeout(e){this.gesture.setTapLimitTimeout(e)}set relativeMouseMoveSpeed(e){this._relativeMouseMoveSpeed=e}get relativeMouseMoveSpeed(){return this._relativeMouseMoveSpeed}set gestureCallback(e){this._gestureCallback=e}get gestureCallback(){return this._gestureCallback}startListening(){this.gesture.on(0,this.onGesture,this)}stopListening(){this.gesture.off(0,this.onGesture,this)}setRootElement(e){this.rootElement=e,this.gesture.stopListening(),this.gesture=new lt(e),this.gesture.startListening()}onGesture(e){if(!this._enable)return;if("mouse"!==this.op.larksr.params.touchOperateMode)return void s.info("cancle mouse gesture when touchOperateMode not mouse",this.op.larksr.params.touchOperateMode);const t=e,{screenOrientation:r,viewPort:n,container:o}=this.op.larksr.screenState;if(0!=e.position.x&&0!=e.position.y){const t=L.getOffsetViewport(this.rootElement);if("landscape"===r){const r={x:e.position.x,y:e.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:r.y-o.marginLeft,y:n.height-r.x-o.marginTop}):this.op.$emitCursorMove({x:(r.y-t.offsetX)/this.op.screenState.baseElementScale,y:(n.height-r.x-t.offsetY)/this.op.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:e.position.x-o.marginLeft,y:e.position.y-o.marginTop}):this.op.$emitCursorMove({x:(e.position.x-t.offsetX)/this.op.screenState.baseElementScale,y:(e.position.y-t.offsetY)/this.op.screenState.baseElementScale})}const i=At(t,"landscape"!==r,this.op.larksr.screenState,this.rootElement);if(i.edge)this.releaseMouseButtons(i);else if(i.rx*=this._relativeMouseMoveSpeed,i.ry*=this._relativeMouseMoveSpeed,this._gestureCallback)this._gestureCallback(Object.assign(Object.assign({type:e.gestrueType},i),{rawEvent:e}));else switch(e.gestrueType){case ct.SINGLE_FINGER_TOUCH_START:s.info("SINGLE_FINGER_TOUCH_START"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case ct.SINGLE_FINGER_TAP:s.info("SINGLE_FINGER_TAP"),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.LEFT);break;case ct.SINGLE_FINGER_TAP_DOWN:s.info("SINGLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.LEFT);break;case ct.SINGLE_FINGER_TAP_UP:s.info("SINGLE_FINGER_TAP_UP"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case ct.SINGLE_FINGER_SWIPE:s.info("SINGLE_FINGER_SWIPE"),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case ct.SINGLE_FINGER_SWIPE_START:s.info("SINGLE_FINGER_SWIPE_START"),this.releaseMouseButtons(i),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.LEFT);break;case ct.SINGLE_FINGER_SWIPE_END:s.info("SINGLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case ct.DOUBLE_FINGER_TAP:s.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(i),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.RIGHT);break;case ct.DOUBLE_FINGER_TAP_DOWN:s.info("DOUBLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons.push(c.CloudLark.MouseKey.RIGHT);break;case ct.DOUBLE_FINGER_TAP_UP:this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case ct.DOUBLE_FINGER_SWIPE:s.info("DOUBLE_FINGER_SWIPE"+JSON.stringify(i)),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case ct.DOUBLE_FINGER_EXPAND:s.info("DOUBLE_FINGER_EXPAND"),this.releaseMouseButtons(i),this.op.$emitMouseWheel(i.x,i.y,1==this.mouseZoomDirection?120:-120);break;case ct.DOUBLE_FINGER_SHRINK:s.info("DOUBLE_FINGER_SHRINK"),this.releaseMouseButtons(i),this.op.$emitMouseWheel(i.x,i.y,1==this.mouseZoomDirection?-120:120);break;case ct.DOUBLE_FINGER_SWIPE_END:s.info("DOUBLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case ct.TRIPLE_FINGER_TAP:s.info("TRIPLE_FINGER_TAP"),s.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(i),this.op.$emitMouseTap(i.x,i.y,c.CloudLark.MouseKey.MIDDLE);break;case ct.TRIPLE_FINGER_SWIPE:s.info("TRIPLE_FINGER_SWIPE "+JSON.stringify(i)),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry);break;case ct.TRIPLE_FINGER_SWIPE_START:s.info("TRIPLE_FINGER_SWIPE_START"),this.releaseMouseButtons(i),this.op.$emitMoseMove(i.x,i.y,i.rx,i.ry),this.op.$emitMouseDown(i.x,i.y,c.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons.push(c.CloudLark.MouseKey.MIDDLE);break;case ct.TRIPLE_FINGER_SWIPE_END:s.info("TRIPLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(i.x,i.y,c.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons=[];break;case ct.RELEASE:this.releaseMouseButtons(i)}}releaseMouseButtons(e){if(0!==this.pressedMouseButtons.length){for(let t of this.pressedMouseButtons)s.info("release mouse button",t),this.op.$emitMouseUp(e.x,e.y,t);this.pressedMouseButtons=[]}}}const ht={KeyA:{scancode:0,vkey:65,unicode:0},KeyB:{scancode:0,vkey:66,unicode:0},KeyC:{scancode:0,vkey:67,unicode:0},KeyD:{scancode:0,vkey:68,unicode:0},KeyE:{scancode:0,vkey:69,unicode:0},KeyF:{scancode:0,vkey:70,unicode:0},KeyG:{scancode:0,vkey:71,unicode:0},KeyH:{scancode:0,vkey:72,unicode:0},KeyI:{scancode:0,vkey:73,unicode:0},KeyJ:{scancode:0,vkey:74,unicode:0},KeyK:{scancode:0,vkey:75,unicode:0},KeyL:{scancode:0,vkey:76,unicode:0},KeyM:{scancode:0,vkey:77,unicode:0},KeyN:{scancode:0,vkey:78,unicode:0},KeyO:{scancode:0,vkey:79,unicode:0},KeyP:{scancode:0,vkey:80,unicode:0},KeyQ:{scancode:0,vkey:81,unicode:0},KeyR:{scancode:0,vkey:82,unicode:0},KeyS:{scancode:0,vkey:83,unicode:0},KeyT:{scancode:0,vkey:84,unicode:0},KeyU:{scancode:0,vkey:85,unicode:0},KeyV:{scancode:0,vkey:86,unicode:0},KeyW:{scancode:0,vkey:87,unicode:0},KeyX:{scancode:0,vkey:88,unicode:0},KeyY:{scancode:0,vkey:89,unicode:0},KeyZ:{scancode:0,vkey:90,unicode:0},Backquote:{scancode:0,vkey:192,unicode:0},Digit0:{scancode:0,vkey:48,unicode:0},Digit1:{scancode:0,vkey:49,unicode:0},Digit2:{scancode:0,vkey:50,unicode:0},Digit3:{scancode:0,vkey:51,unicode:0},Digit4:{scancode:0,vkey:52,unicode:0},Digit5:{scancode:0,vkey:53,unicode:0},Digit6:{scancode:0,vkey:54,unicode:0},Digit7:{scancode:0,vkey:55,unicode:0},Digit8:{scancode:0,vkey:56,unicode:0},Digit9:{scancode:0,vkey:57,unicode:0},Minus:{scancode:0,vkey:189,unicode:0},Equal:{scancode:0,vkey:187,unicode:0},Backspace:{scancode:0,vkey:8,unicode:0},Tab:{scancode:0,vkey:9,unicode:0},BracketLeft:{scancode:0,vkey:219,unicode:0},BracketRight:{scancode:0,vkey:221,unicode:0},Backslash:{scancode:0,vkey:220,unicode:0},Slash:{scancode:0,vkey:191,unicode:0},CapsLock:{scancode:0,vkey:20,unicode:0},Semicolon:{scancode:0,vkey:186,unicode:0},Quote:{scancode:0,vkey:222,unicode:0},Enter:{scancode:0,vkey:13,unicode:0},ShiftLeft:{scancode:0,vkey:160,unicode:0},Comma:{scancode:0,vkey:188,unicode:0},Period:{scancode:0,vkey:190,unicode:0},ShiftRight:{scancode:0,vkey:161,unicode:0},ControlLeft:{scancode:0,vkey:162,unicode:0},AltLeft:{scancode:0,vkey:18,unicode:0},Space:{scancode:0,vkey:32,unicode:0},AltRight:{scancode:0,vkey:18,unicode:0},ContextMenu:{scancode:0,vkey:18,unicode:0},ControlRight:{scancode:0,vkey:163,unicode:0},Escape:{scancode:0,vkey:27,unicode:0},F1:{scancode:0,vkey:112,unicode:0},F2:{scancode:0,vkey:113,unicode:0},F3:{scancode:0,vkey:114,unicode:0},F4:{scancode:0,vkey:115,unicode:0},F5:{scancode:0,vkey:116,unicode:0},F6:{scancode:0,vkey:117,unicode:0},F7:{scancode:0,vkey:118,unicode:0},F8:{scancode:0,vkey:119,unicode:0},F9:{scancode:0,vkey:120,unicode:0},F10:{scancode:0,vkey:121,unicode:0},F12:{scancode:0,vkey:123,unicode:0},Pause:{scancode:0,vkey:19,unicode:0},Insert:{scancode:0,vkey:45,unicode:0},Home:{scancode:0,vkey:36,unicode:0},PageUp:{scancode:0,vkey:33,unicode:0},Delete:{scancode:0,vkey:46,unicode:0},End:{scancode:0,vkey:35,unicode:0},PageDown:{scancode:0,vkey:34,unicode:0},ArrowUp:{scancode:0,vkey:38,unicode:0},ArrowDown:{scancode:0,vkey:40,unicode:0},ArrowLeft:{scancode:0,vkey:37,unicode:0},ArrowRight:{scancode:0,vkey:39,unicode:0},NumLock:{scancode:0,vkey:144,unicode:0},NumpadDivide:{scancode:0,vkey:111,unicode:0},NumpadMultiply:{scancode:0,vkey:106,unicode:0},NumpadSubtract:{scancode:0,vkey:109,unicode:0},NumpadAdd:{scancode:0,vkey:107,unicode:0},NumpadEnter:{scancode:0,vkey:108,unicode:0},NumpadDecimal:{scancode:0,vkey:110,unicode:0},Numpad0:{scancode:0,vkey:96,unicode:0},Numpad1:{scancode:0,vkey:97,unicode:0},Numpad2:{scancode:0,vkey:98,unicode:0},Numpad3:{scancode:0,vkey:99,unicode:0},Numpad4:{scancode:0,vkey:100,unicode:0},Numpad5:{scancode:0,vkey:101,unicode:0},Numpad6:{scancode:0,vkey:102,unicode:0},Numpad7:{scancode:0,vkey:103,unicode:0},Numpad8:{scancode:0,vkey:104,unicode:0},Numpad9:{scancode:0,vkey:105,unicode:0}};class ft extends dt{constructor(e){super(e),this.needSyncKeyState=!1,this.fistSyncKeyState=!1,this.pressedKeys=[],this._preventKeys=["F1","F5","F12"],this.op=e,this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.onLockPointChange=this.onLockPointChange.bind(this)}set preventKeys(e){this._preventKeys=e}get preventKeys(){return this._preventKeys}startListening(){this.keyboardListenerSetup(document.documentElement,!0),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus);const e=window.navigator;e.keyboard?e.keyboard.lock().then((()=>{s.warn("request keyboard lock success")})).catch((e=>{s.warn("request keyboard lock failed ",e)})):s.warn("request keyboard lock failed. func not found."),this.op.lockPointer.on(0,this.onLockPointChange,this)}stopListening(){this.keyboardListenerSetup(document.documentElement,!1),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus);const e=window.navigator;e.keyboard&&e.keyboard.lock?e.keyboard.unlock():s.warn("keyboard unlock failed. func not found."),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(e){s.info("keyboard onLockPointChange",e);const t=e.isLockPointer;s.info("keyboard on lock change",t),t||this.releaseKeys()}keyboardListenerSetup(e,t){e?t?(e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)):(e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp)):s.warn("add listener on empty element.")}onKeyDown(e){if(!this.enable)return;(this.needSyncKeyState||!this.fistSyncKeyState&&this.op.larksr.remoteScreenReady)&&(s.warn("需要同步按键状态",e.getModifierState("CapsLock")),this.op.$emitInputEvent({clientEnter:{CapsLockState:e.getModifierState("CapsLock")}}),this.needSyncKeyState=!1,this.fistSyncKeyState=!0);let t=e.code;"MetaLeft"===t&&(s.info("change command to contol on mac"),t="ControlLeft"),"MetaRight"===t&&(s.info("change command to contol on mac"),t="ControlRight");let r=ht[t];r&&(this.preventKeys.find((e=>t==e))&&e.preventDefault(),this.op.$emitKeyDown(r.vkey,e.repeat),this.pressedKeys.push(r.vkey))}onKeyUp(e){if(!this.enable)return;let t=e.code;"MetaLeft"===t&&(s.info("change command to contol on mac"),t="ControlLeft"),"MetaRight"===t&&(s.info("change command to contol on mac"),t="ControlRight");const r=ht[t];r&&(this.preventKeys.find((e=>t==e))&&e.preventDefault(),this.op.$emitKeyUp(r.vkey),this.pressedKeys=[])}onWindowBlur(){s.info("**onWindowBlur**"),this.releaseKeys(),this.op.$emitInputEvent({clientLeave:{}})}onWindowFocus(){s.info("**onWindowFocus**"),this.needSyncKeyState=!0}onWindowVisibilityChange(){document.hidden?(s.info("**document hidden**"),this.needSyncKeyState=!0):(s.info("**document show**"),this.op.$emitInputEvent({clientLeave:{}}))}releaseKeys(){if(s.info("releaseKeys ",this.pressedKeys),0!==this.pressedKeys.length){for(let e of this.pressedKeys)s.info("releaseKeys up",e),this.op.$emitKeyUp(e);this.pressedKeys=[]}}}class mt extends dt{constructor(e,t){super(t),this.localRenderCursorPosition={x:0,y:0},this.preLockMouse=!1,this.isFocus=!1,this.subscribeUpdatePlayerListFromProtoAction=null,this.pressedMouseButtons=[],this.rootElement=e,this.op=t,this.onMouse=this.onMouse.bind(this),this.onContextmenu=this.onContextmenu.bind(this),this.onDoubleTap=this.onDoubleTap.bind(this),this.onMouseWheel=this.onMouseWheel.bind(this),this.onMouseenter=this.onMouseenter.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this)}resetLocalRendreMousePosition(e){this.localRenderCursorPosition=e}setRootElement(e){this.rootElement=e,this.stopListening(),this.startListening()}startListening(){this.startListenMouse(),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus),this.isIFame()&&(s.info("is iframe",this.isIFame()),document.body.removeEventListener("mouseenter",this.onMouseenter)),this.op.screenState.isMobile||(this.initMouseMode(),this.op.lockPointer.on(0,this.onLockPointChange,this))}setAppMouseMode(e){this.op.screenState.isMobile?s.info("skip mouse mode setup when user is ob."):this.initMouseMode()}stopListening(){this.removeListenMouse(),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus),this.subscribeUpdatePlayerListFromProtoAction&&this.subscribeUpdatePlayerListFromProtoAction(),this.isIFame()&&(s.info("is iframe",this.isIFame()),document.body.removeEventListener("mouseenter",this.onMouseenter)),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(e){const t=e.isLockPointer;if(s.info("on lock change",t),t)this.preLockMouse=!1,this.startLockModeListening();else{if(this.op.screenState.isMobile)return void s.info("skip mouse mode setup when user is ob.");this.op.screenState.isLockMosue&&(this.preLockMouse=!0),this.removeLockModeListening()}}initMouseMode(){const{isLockMosue:e,initCursorMode:t,isMobile:r}=this.op.screenState,{isObMode:n,userType:o}=this.op.larksr;if(s.info("initMouseMode",e,t,o),n)return s.info("skip mouse mode setup when user is ob."),void(this.preLockMouse=!1);e?this.op.lockPointer.isLockPointer?s.info("already lock mosue. lock state not change."):(this.preLockMouse=!0,this.toastMsg(d.ui.firstPersion)):(this.preLockMouse=!1,this.op.lockPointer.isLockPointer&&(!r&&this.toastMsg("已释放鼠标指针"),this.op.lockPointer.exitPointerLock()))}startListenMouse(){this.mouseListenerSetup(this.rootElement,!0)}removeListenMouse(){this.mouseListenerSetup(this.rootElement,!1)}startLockModeListening(){this.mouseListenerSetup(this.op.lockPointer.element,!0)}removeLockModeListening(){this.mouseListenerSetup(this.op.lockPointer.element,!1)}mouseListenerSetup(e,t){if(!e)return void s.warn("add listener on empty element.");["mousedown","mouseup","mousemove","mouseleave","mouseout"].forEach((r=>{t?e.addEventListener(r,this.onMouse,{passive:!1}):e.removeEventListener(r,this.onMouse)})),t?(e.addEventListener("contextmenu",this.onContextmenu,{passive:!1}),e.addEventListener("wheel",this.onMouseWheel,{passive:!1}),e.addEventListener("dblclick",this.onDoubleTap,{passive:!1})):(e.removeEventListener("contextmenu",this.onContextmenu),e.removeEventListener("wheel",this.onMouseWheel),e.removeEventListener("dblclick",this.onDoubleTap))}onMouseenter(){const e=self.frameElement;s.info("on mouse enter",e),this.setFocus()}isIFame(){return self!==top}setFocus(){const e=self.frameElement;s.info("on mouse enter",e),e&&e.contentWindow?e.contentWindow.focus():self.focus(),this.isFocus=!0}onMouse(e){const{isMobile:t}=this.op.screenState,{isLockMosue:r}=this.op.screenState;if(!this.isFocus&&this.isIFame()&&this.setFocus(),!this.enable)return;if(t)return;s.info("onmouse event ",e);const n=this.getMousePosition(e);if(!n)return void this.releaseMouseButtons(0,0);if(e.preventDefault(),this.preLockMouse&&"mousedown"===e.type&&!this.op.lockPointer.isLockPointer)return;if(this.preLockMouse&&"mouseup"===e.type&&!this.op.lockPointer.isLockPointer)return s.warn("request lock mouse",this.preLockMouse),void this.op.lockPointer.requestLockPointer();if(this.op.$emitCursorMove({x:n.renderX,y:n.renderY}),!t&&r&&!this.op.lockPointer.isLockPointer)return void s.info("request lock mouse but not lock. skip mouse event.",this.preLockMouse);let o=c.CloudLark.MouseKey.LEFT;switch(e.which){case 1:o=c.CloudLark.MouseKey.LEFT;break;case 2:o=c.CloudLark.MouseKey.MIDDLE;break;case 3:o=c.CloudLark.MouseKey.RIGHT}switch(e.type){case"mousedown":this.op.$emitMouseDown(n.x,n.y,o),this.pressedMouseButtons.push(o);break;case"mouseup":this.op.$emitMouseUp(n.x,n.y,o),this.pressedMouseButtons=[];break;case"mousemove":this.op.$emitMoseMove(n.x,n.y,n.rx,n.ry);break;default:return s.info("unknown mouse type",e.type),void this.releaseMouseButtons(n.x,n.y)}}onDoubleTap(e){}onContextmenu(e){e.preventDefault()}onMouseWheel(e){if(!this.enable)return;e.preventDefault();const t=this.getMousePosition(e);if(!t)return;const r=e.deltaY>0?-120:120;this.op.$emitMouseWheel(t.x,t.y,r)}getMousePosition(e){const t=this.op.screenState.operateScale,r=this.op.screenState.appSize,n=this.op.screenState.container,o=this.op.screenState.baseElementScale,i=this.op.screenState.appMouseMode.mouseShow,a=this.op.screenState.appMouseMode.rect,c=L.singlePointRelativePosition(e,this.rootElement);let u=this.op.screenState.handleRootElementSize?e.clientX-n.marginLeft:c.x/o,l=this.op.screenState.handleRootElementSize?e.clientY-n.marginTop:c.y/o,A=Math.round(u*t.scaleX),p=Math.round(l*t.scaleY),h=e.movementX*t.scaleX,f=e.movementY*t.scaleX,m=0,y=0;if(this.op.lockPointer.isLockPointer){m=this.localRenderCursorPosition.x+h,y=this.localRenderCursorPosition.y+f;let e=0,r=0,o=n.width,s=n.height;false,m>o&&(m=o,i&&this.toastMsg(d.ui.releaseMouse)),m<r&&(m=r,i&&this.toastMsg(d.ui.releaseMouse)),y>s&&(y=s,i&&this.toastMsg(d.ui.releaseMouse)),y<e&&(y=e,i&&this.toastMsg(d.ui.releaseMouse)),this.localRenderCursorPosition.x=m,this.localRenderCursorPosition.y=y,A=Math.floor(m*t.scaleX),p=Math.floor(y*t.scaleY)}else m=u,y=l;return A<0||p<0||r.width&&A>r.width||r.height&&p>r.height?(s.info("outside app screen",A,p,r,a,e),null):{x:A,y:p,rx:h,ry:f,lx:u,ly:l,renderX:m,renderY:y}}onWindowBlur(){s.info("**onWindowBlur**"),this.isFocus=!1,this.releaseMouseButtons(0,0)}onWindowFocus(){s.info("**onWindowFocus**"),this.isFocus=!0}onWindowVisibilityChange(){document.hidden?(s.info("**document hidden**"),this.isFocus=!1):s.info("**document show**")}releaseMouseButtons(e=0,t=0){if(this.op.releaseKeys(),0!==this.pressedMouseButtons.length){for(let r of this.pressedMouseButtons)s.info("release mouse button",r),this.op.$emitMouseUp(e,t,r);this.pressedMouseButtons=[]}}toastMsg(e){s.info("toastMsg",e),this.op.larksr.$emit(p.LK_WEBCLIENT_TOAST_MSG,e,e),this.op.larksr.$emitInfo(e)}}const yt={0:4096,1:8192,2:16384,3:32768,4:256,5:512,8:32,9:16,10:64,11:128,12:1,13:2,14:4,15:8},bt=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame;class gt extends dt{constructor(e){super(e),this.scanTimer=-1,this.gamepads=new Map,this.deviceIndexMap=new Map,this.lastGamepadState=new Map,this.pause=!1,this.connectHandler=this.connectHandler.bind(this),this.disconnectHandler=this.disconnectHandler.bind(this),this.scanGamepads=this.scanGamepads.bind(this),this.updateStatus=this.updateStatus.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.onWindowFocus=this.onWindowFocus.bind(this),this.onWindowVisibilityChange=this.onWindowVisibilityChange.bind(this)}startListening(){const e="GamepadEvent"in window,t="WebKitGamepadEvent"in window;e?(window.addEventListener("gamepadconnected",this.connectHandler),window.addEventListener("gamepaddisconnected",this.disconnectHandler)):t?(window.addEventListener("webkitgamepadconnected",this.connectHandler),window.addEventListener("webkitgamepaddisconnected",this.disconnectHandler)):this.scanTimer=setInterval(this.scanGamepads,500),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus)}stopListening(){const e="GamepadEvent"in window,t="WebKitGamepadEvent"in window;e?(window.removeEventListener("gamepadconnected",this.connectHandler),window.removeEventListener("gamepaddisconnected",this.disconnectHandler)):t?(window.removeEventListener("webkitgamepadconnected",this.connectHandler),window.removeEventListener("webkitgamepaddisconnected",this.disconnectHandler)):-1!=this.scanTimer&&clearInterval(this.scanTimer),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus)}scanGamepads(){const e=window.navigator,t=e.getGamepads?e.getGamepads():e.webkitGetGamepads?e.webkitGetGamepads():[];for(let e=0;e<t.length;e++)t[e]&&this.gamepads.has(t[e].index)&&this.gamepads.set(t[e].index,t[e])}connectHandler(e){this.addGamepad(e.gamepad)}disconnectHandler(e){this.removeGamepad(e.gamepad)}addGamepad(e){s.info("on add gamepad",e),this.gamepads.set(e.index,e),this.deviceIndexMap.set(e.index,this.gamepads.size-1),bt(this.updateStatus)}removeGamepad(e){s.info("on remove gamepad",e),this.gamepads.delete(e.index),this.deviceIndexMap.delete(e.index)}updateStatus(){this.scanGamepads(),this.gamepads.forEach(((e,t,r)=>{const n=this.lastGamepadState.get(t);if(!n)return void this.lastGamepadState.set(t,L.deepCopy(e));const o=this.deviceIndexMap.get(t);e.buttons.forEach(((e,t,r)=>{const i=n.buttons[t],s=e.pressed||e.touched||1==e.value,a=i.pressed||i.touched||1==i.value;s?this.onButtonDown(o,t,s==a):s!=a&&this.onButtonUp(o,t)}));for(let t=0;t<e.axes.length;t++)if(e.axes[t]!=n.axes[t]){this.onAxes(o,e.axes);break}this.lastGamepadState.set(t,L.deepCopy(e))})),bt(this.updateStatus)}onButtonDown(e,t,r){if(!this.pause)if(6==t||7==t)this.op.$emitGamepadTrigger(e,6==t,255);else{const n=yt[t];-1!=n&&this.op.$emitGamepadButtonDown(e,n,r)}}onButtonUp(e,t){if(!this.pause)if(6==t||7==t)this.op.$emitGamepadTrigger(e,6==t,0);else{const r=yt[t];-1!=r&&this.op.$emitGamepadButtonUp(e,r)}}onAxes(e,t){if(this.pause)return;const r=[];for(let e of t)r.push(Math.round(32767*e));this.op.$emitJoystick(e,r[0],-r[1],r[2],-r[3])}onWindowBlur(){s.info("**onWindowBlur**"),this.pause=!0}onWindowFocus(){s.info("**onWindowFocus**"),this.pause=!1}onWindowVisibilityChange(){this.pause=document.hidden}}class vt extends dt{constructor(e,t){super(t),this.touchId=0,this.touchMap=new Map,this.root=e,this.op=t,this.onTouch=this.onTouch.bind(this)}startListening(){this.root&&(this.root.addEventListener("touchstart",this.onTouch),this.root.addEventListener("touchmove",this.onTouch),this.root.addEventListener("touchend",this.onTouch),this.root.addEventListener("touchcancel",this.onTouch))}stopListening(){this.root&&(this.root.removeEventListener("touchstart",this.onTouch),this.root.removeEventListener("touchmove",this.onTouch),this.root.removeEventListener("touchend",this.onTouch),this.root.removeEventListener("touchcancel",this.onTouch))}onTouch(e){if(!this.enable)return void s.info("disable ontouch event",this.enable);e.cancelable?e.preventDefault():s.warn("cant cancle touch event",e);let t=!1;for(const r of e.changedTouches){const n={type:0,gestrueType:ct.NONE,position:{x:r.clientX,y:r.clientY},motion:{x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}},distance:0},o=At(n,!0,this.op.larksr.screenState,this.root);if(!t){const{screenOrientation:e,viewPort:r,container:o}=this.op.larksr.screenState;if(0!=n.position.x&&0!=n.position.y){const t=L.getOffsetViewport(this.root);if("landscape"===e){const e={x:n.position.x,y:n.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:e.y-o.marginLeft,y:r.height-e.x-o.marginTop}):this.op.$emitCursorMove({x:(e.y-t.offsetX)/this.op.larksr.screenState.baseElementScale,y:(r.height-e.x-t.offsetY)/this.op.larksr.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:n.position.x-o.marginLeft,y:n.position.y-o.marginTop}):this.op.$emitCursorMove({x:(n.position.x-t.offsetX)/this.op.larksr.screenState.baseElementScale,y:(n.position.y-t.offsetY)/this.op.larksr.screenState.baseElementScale})}t=!0}switch(e.type){case"touchstart":this.touchId++,this.touchMap.set(r.identifier,this.touchId),this.op.$emitTouchDown(this.touchId,o.x,o.y);break;case"touchmove":{const e=this.touchMap.get(r.identifier);e&&this.op.$emitTouchMove(e,o.x,o.y)}break;case"touchend":case"touchcancel":{const e=this.touchMap.get(r.identifier);e&&(this.op.$emitTouchUp(e,o.x,o.y),this.touchMap.delete(r.identifier))}}}return!0}}class Ot extends o{constructor(e,t){super(),this._startListen=!1,this._enableParse=!0,this._lastOperationTimestampMs=0,this.operationTimeout=null,this._larksr=t,this._gestureHandler=new pt(e,this),this._keyboardHandler=new ft(this),this._mouseHandler=new mt(e,this),this._gamepadHandler=new gt(this),this._touchHandler=new vt(e,this),this.onPaste=this.onPaste.bind(this)}get gestureHandler(){return this._gestureHandler}get keyboardHandler(){return this._keyboardHandler}get mouseHandler(){return this._mouseHandler}get gamepadHandler(){return this._gamepadHandler}get touchHandler(){return this._touchHandler}set enableParse(e){this._enableParse=e}get enableParse(){return this._enableParse}get lastOperationTimestampMs(){return this._lastOperationTimestampMs}updateOperation(){this._lastOperationTimestampMs=Date.now()}setRootElement(e){this.gestureHandler.setRootElement(e)}get startListen(){return this._startListen}get larksr(){return this._larksr}get screenState(){return this._larksr.screenState}get fullScreen(){return this._larksr.fullScreen}get lockPointer(){return this._larksr.lockPointer}get mouseZoomDirection(){return this.gestureHandler.mouseZoomDirection}set mouseZoomDirection(e){this.gestureHandler.mouseZoomDirection=e}setMouseEnable(e){this.mouseHandler.enable=e}setKeyboardEnable(e){this.keyboardHandler.enable=e}setGamepadEnable(e){this.gamepadHandler.enable=e}setTouchEnable(e){this.touchHandler.enable=e}setGestureEnable(e){this.gestureHandler.enable=e}resetLocalRendreMousePosition(){const{container:e}=this.larksr.screenState,t={x:e.width/2,y:e.height/2};this.mouseHandler.resetLocalRendreMousePosition(t)}setAppMouseMode(e){this.mouseHandler.setAppMouseMode(e)}resetAppMouseLockState(){this.mouseHandler.initMouseMode()}releaseKeys(){this.keyboardHandler.releaseKeys()}startListening(){this._startListen?s.warn("already start listening"):(this._startListen=!0,"touchScreen"===this.larksr.params.touchOperateMode?(s.info("touchOperateMode start touch listening",this.larksr.params.touchOperateMode),this.touchHandler.startListening()):(s.info("touchOperateMode start gesture listening",this.larksr.params.touchOperateMode),this.gestureHandler.startListening()),this.keyboardHandler.startListening(),this.mouseHandler.startListening(),this.gamepadHandler.startListening(),this.startOperationCheck(),document.addEventListener("paste",this.onPaste))}stopListenling(){this._startListen=!1,"touchScreen"===this.larksr.params.touchOperateMode?this.touchHandler.stopListening():this.gestureHandler.stopListening(),this.keyboardHandler.stopListening(),this.mouseHandler.stopListening(),this.gamepadHandler.stopListening(),this.stopOperationTimeoutCheck(),document.removeEventListener("paste",this.onPaste)}startOperationCheck(){this.updateOperation(),this.operationTimeout=window.setInterval((()=>{if(this.larksr.params.noOperationTimeout){let e=(Date.now()-this.lastOperationTimestampMs)/1e3;e>this.larksr.params.noOperationTimeout&&(s.warn("无操作超时",e,this.larksr.params.noOperationTimeout),this.stopOperationTimeoutCheck(),this.$emitNoOperationTimeoutEvent())}}),5e3)}stopOperationTimeoutCheck(){this.operationTimeout&&window.clearInterval(this.operationTimeout)}onPaste(e){if(s.info("on paste",e),this.keyboardHandler.enable&&this._enableParse&&this.larksr.params.syncLocalToCloudClipboard)if(e.clipboardData&&e.clipboardData.getData("text/plain")){const t=e.clipboardData.getData("text/plain");s.info("paste data",t),this.emit({type:2,target:this,data:t})}else s.info("empty when paste");else s.warn("skip paste event when input start or disable")}createEvent(e,t){return{type:e,target:this,input:t}}$emitMoseMove(e,t,r,n){this.$emitInputEvent({mouseMove:{PosX:e,PosY:t,DeltaX:r,DeltaY:n}})}$emitMouseTap(e,t,r){this.$emitMouseDown(e,t,r),window.setTimeout((()=>{this.$emitMouseUp(e,t,r)}),200)}$emitMouseDown(e,t,r){this.$emitInputEvent({mouseDown:{PosX:e,PosY:t,key:r}})}$emitMouseUp(e,t,r){this.$emitInputEvent({mouseUp:{PosX:e,PosY:t,key:r}})}$emitMouseWheel(e,t,r){this.$emitInputEvent({mouseWheel:{PosX:e,PosY:t,Delata:r}}),s.info("emitMouseWheel",e,t,r)}$emitKeyDown(e,t){this.$emitInputEvent({keyDown:{key:e,isRepeat:t}})}$emitKeyUp(e){this.$emitInputEvent({keyUp:{key:e}})}$emitGamepadButtonDown(e,t,r){this.$emitInputEvent({gamepadInputButtonDown:{userIndex:e,button:t,isRepeat:r}})}$emitGamepadButtonUp(e,t){this.$emitInputEvent({gamepadInputButtonUp:{userIndex:e,button:t}})}$emitGamepadTrigger(e,t,r){this.$emitInputEvent({gamepadInputTriger:{userIndex:e,isleft:t,value:r}})}$emitJoystick(e,t,r,n,o){this.$emitInputEvent({gamepadInputJoystickStates:{userIndex:e,thumblx:t,thumbly:r,thumbrx:n,thumbry:o}})}$emitTouchDown(e,t,r){this.$emitInputEvent({touchDown:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitTouchMove(e,t,r){this.$emitInputEvent({touchMove:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitTouchUp(e,t,r){this.$emitInputEvent({touchUp:{ID:e,PosX:t,PosY:r,time:Date.now()}})}$emitInputEvent(e){this.updateOperation(),this.emit(this.createEvent(0,c.CloudLark.ClientInput.create(e)))}$emitNoOperationTimeoutEvent(){this.emit(this.createEvent(1))}$emitCursorMove(e){this.emit({type:3,target:this,cursorPoint:e})}}class Et extends o{constructor(){super(),this.element=document.documentElement,this._isFullScreen=!1,this.fullscreenChange=this.fullscreenChange.bind(this),this.fullscreenError=this.fullscreenError.bind(this),this.startListening()}get isFullScreen(){return this._isFullScreen}startListening(){document.addEventListener("fullscreenchange",this.fullscreenChange,!1),document.addEventListener("mozfullscreenchange",this.fullscreenChange,!1),document.addEventListener("webkitfullscreenchange",this.fullscreenChange,!1),document.addEventListener("fullscreenerror",this.fullscreenError,!1),document.addEventListener("mozfullscreenerror",this.fullscreenError,!1),document.addEventListener("webkitfullscreenerror",this.fullscreenError,!1)}stopListening(){document.removeEventListener("fullscreenchange",this.fullscreenChange,!1),document.removeEventListener("mozfullscreenchange",this.fullscreenChange,!1),document.removeEventListener("webkitfullscreenchange",this.fullscreenChange,!1),document.removeEventListener("fullscreenerror",this.fullscreenError,!1),document.removeEventListener("mozfullscreenerror",this.fullscreenError,!1),document.removeEventListener("webkitfullscreenerror",this.fullscreenError,!1)}fullscreenChange(){const e=window.document,t=this.element;e.webkitFullscreenElement===t||e.mozFullscreenElement===t||e.mozFullScreenElement===t?(this._isFullScreen=!0,s.info("on fullscreechange",!0),this.emit(this.createEvent(0,!0))):(s.info("on fullscreenchange",!1),this._isFullScreen=!1,this.emit(this.createEvent(0,!1)))}fullscreenError(e){this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,e)),this._isFullScreen=!1}launchFullScreen(){if(s.info("launchFullScreen"),this.isFullScreen)return void s.info("skip launchFullScreen as fullscreen already launched");const e=this.element;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullscreen?e.mozRequestFullscreen():e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():(this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,"not support")),this._isFullScreen=!1)}exitFullscreen(){if(!this.isFullScreen)return void s.info("skip exitFullscreen as fullscreen not launched");const e=window.document;e.exitFullscreen?e.exitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.webkitCancelFullScreen&&e.webkitCancelFullScreen()}createEvent(e,t,r=null){return{type:e,target:this,isFullScreen:t,error:r}}}class St extends o{constructor(e){super(),this._isLockPointer=!1,this.element=document.documentElement,this.element=e,this.pointerlockChange=this.pointerlockChange.bind(this),this.lockscreenFailed=this.lockscreenFailed.bind(this),this.listenLockChange()}get isLockPointer(){return this._isLockPointer}listenLockChange(){document.addEventListener("pointerlockchange",this.pointerlockChange,!1),document.addEventListener("mozpointerlockchange",this.pointerlockChange,!1),document.addEventListener("webkitpointerlockchange",this.pointerlockChange,!1),document.addEventListener("pointerlockerror",this.lockscreenFailed,!1),document.addEventListener("mozpointerlockerror",this.lockscreenFailed,!1),document.addEventListener("webkitpointerlockerror",this.lockscreenFailed,!1)}removeListenLockChange(){document.removeEventListener("pointerlockchange",this.pointerlockChange,!1),document.removeEventListener("mozpointerlockchange",this.pointerlockChange,!1),document.removeEventListener("webkitpointerlockchange",this.pointerlockChange,!1),document.removeEventListener("pointerlockerror",this.lockscreenFailed,!1),document.removeEventListener("mozpointerlockerror",this.lockscreenFailed,!1),document.removeEventListener("webkitpointerlockerror",this.lockscreenFailed,!1)}lockPointer(){this.requestLockPointer()}requestLockPointer(){if(this.isLockPointer)return void s.info("skip lock pointer as already locked.");const e=this.element;e.requestPointerLock=e.requestPointerLock||e.mozRequestPointerLock||e.webkitRequestPointerLock,null!==e.requestPointerLock&&void 0!==e.requestPointerLock&&e.requestPointerLock()}exitPointerLock(){if(!this.isLockPointer)return void s.info("skip exitPointerLock as not locked now.");const e=document;e.exitPointerLock=e.exitPointerLock||e.mozRequestPointerLock||e.webkitExitPointerLock,null!==e.exitPointerLock&&e.exitPointerLock()}pointerlockChange(e){s.info("lockscreenChange",this._isLockPointer,e,document.pointerLockElement),document.pointerLockElement===this.element||document.mozPointerLockElement===this.element||document.webkitRequestPointerLock===this.element?(s.info("The pointer lock status is now locked"),this._isLockPointer=!0,this.emit(this.createEvent(0,!0))):(s.info("The pointer lock status is now unlocked"),this._isLockPointer=!1,this.emit(this.createEvent(0,!1)))}lockscreenFailed(e){s.info("lockscreenFailed",e),this._isLockPointer=!1,this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,e))}createEvent(e,t,r=null){return{type:e,target:this,isLockPointer:t,error:r}}}function Rt(){}function Lt(e){return e()}function Tt(){return Object.create(null)}function kt(e){e.forEach(Lt)}function Ct(e){return"function"==typeof e}function wt(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}let Mt;function It(e,t){return Mt||(Mt=document.createElement("a")),Mt.href=t,e===Mt.href}function Nt(e){return 0===Object.keys(e).length}new Set;let Pt=!1;function Wt(e,t){e.appendChild(t)}function xt(e,t,r){const n=Vt(e);if(!n.getElementById(t)){const e=Xt("style");e.id=t,e.textContent=r,Dt(n,e)}}function Vt(e){if(!e)return document;const t=e.getRootNode?e.getRootNode():e.ownerDocument;return t&&t.host?t:e.ownerDocument}function Dt(e,t){Wt(e.head||e,t)}function jt(e,t,r){e.insertBefore(t,r||null)}function Zt(e){e.parentNode.removeChild(e)}function Xt(e){return document.createElement(e)}function zt(e){return document.createTextNode(e)}function qt(){return zt(" ")}function Ut(){return zt("")}function _t(e,t,r,n){return e.addEventListener(t,r,n),()=>e.removeEventListener(t,r,n)}function Ft(e,t,r){null==r?e.removeAttribute(t):e.getAttribute(t)!==r&&e.setAttribute(t,r)}function Gt(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function Bt(e,t,r,n){null===r?e.style.removeProperty(t):e.style.setProperty(t,r,n?"important":"")}function Kt(e,t,r=!1){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,r,!1,t),n}new Map;let Jt;function Yt(e){Jt=e}function Qt(){if(!Jt)throw new Error("Function called outside component initialization");return Jt}function Ht(e){Qt().$$.on_mount.push(e)}function $t(){const e=Qt();return(t,r)=>{const n=e.$$.callbacks[t];if(n){const o=Kt(t,r);n.slice().forEach((t=>{t.call(e,o)}))}}}const er=[],tr=[],rr=[],nr=[],or=Promise.resolve();let ir=!1;function sr(){ir||(ir=!0,or.then(lr))}function ar(e){rr.push(e)}const cr=new Set;let ur=0;function lr(){const e=Jt;do{for(;ur<er.length;){const e=er[ur];ur++,Yt(e),Ar(e.$$)}for(Yt(null),er.length=0,ur=0;tr.length;)tr.pop()();for(let e=0;e<rr.length;e+=1){const t=rr[e];cr.has(t)||(cr.add(t),t())}rr.length=0}while(er.length);for(;nr.length;)nr.pop()();ir=!1,cr.clear(),Yt(e)}function Ar(e){if(null!==e.fragment){e.update(),kt(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(ar)}}const dr=new Set;let pr;function hr(){pr={r:0,c:[],p:pr}}function fr(){pr.r||kt(pr.c),pr=pr.p}function mr(e,t){e&&e.i&&(dr.delete(e),e.i(t))}function yr(e,t,r,n){if(e&&e.o){if(dr.has(e))return;dr.add(e),pr.c.push((()=>{dr.delete(e),n&&(r&&e.d(1),n())})),e.o(t)}}"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;new Set(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]);let br;function gr(e){e&&e.c()}function vr(e,t,r,n){const{fragment:o,on_mount:i,on_destroy:s,after_update:a}=e.$$;o&&o.m(t,r),n||ar((()=>{const t=i.map(Lt).filter(Ct);s?s.push(...t):kt(t),e.$$.on_mount=[]})),a.forEach(ar)}function Or(e,t){const r=e.$$;null!==r.fragment&&(kt(r.on_destroy),r.fragment&&r.fragment.d(t),r.on_destroy=r.fragment=null,r.ctx=[])}function Er(e,t,r,n,o,i,s,a=[-1]){const c=Jt;Yt(e);const u=e.$$={fragment:null,ctx:null,props:i,update:Rt,not_equal:o,bound:Tt(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(t.context||(c?c.$$.context:[])),callbacks:Tt(),dirty:a,skip_bound:!1,root:t.target||c.$$.root};s&&s(u.root);let l=!1;if(u.ctx=r?r(e,t.props||{},((t,r,...n)=>{const i=n.length?n[0]:r;return u.ctx&&o(u.ctx[t],u.ctx[t]=i)&&(!u.skip_bound&&u.bound[t]&&u.bound[t](i),l&&function(e,t){-1===e.$$.dirty[0]&&(er.push(e),sr(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}(e,t)),r})):[],u.update(),l=!0,kt(u.before_update),u.fragment=!!n&&n(u.ctx),t.target){if(t.hydrate){Pt=!0;const e=(A=t.target,Array.from(A.childNodes));u.fragment&&u.fragment.l(e),e.forEach(Zt)}else u.fragment&&u.fragment.c();t.intro&&mr(e.$$.fragment),vr(e,t.target,t.anchor,t.customElement),Pt=!1,lr()}var A;Yt(c)}"function"==typeof HTMLElement&&(br=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(Lt).filter(Ct);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,r){this[e]=r}disconnectedCallback(){kt(this.$$.on_disconnect)}$destroy(){Or(this,1),this.$destroy=Rt}$on(e,t){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(t),()=>{const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){this.$$set&&!Nt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});class Sr{$destroy(){Or(this,1),this.$destroy=Rt}$on(e,t){const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(t),()=>{const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){this.$$set&&!Nt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}function Rr(e){xt(e,"svelte-2do8a6",'@charset "UTF-8";.loading.svelte-2do8a6.svelte-2do8a6{position:absolute;top:0;left:0;display:flex;flex:1;flex-direction:column;height:100%;width:100%;align-items:center;justify-content:center;background-color:gray;background-size:cover;background-repeat:no-repeat;background-position:center;z-index:1030;margin:0;padding:0}.loading.svelte-2do8a6 .logo.svelte-2do8a6{width:auto;height:125px;transition:all 1s linear 0s}@media screen and (max-width: 1280px){.loading.svelte-2do8a6 .logo.svelte-2do8a6{height:8.1343283582rem}}.loading.svelte-2do8a6 .logo-footer.svelte-2do8a6{height:32px;position:absolute;bottom:14px;right:31px}@media screen and (max-width: 1280px){.loading.svelte-2do8a6 .logo-footer.svelte-2do8a6{height:2.0895522388rem;position:absolute;bottom:0.7462686567rem;right:1.4925373134rem}}.loading.svelte-2do8a6 .syncApp.svelte-2do8a6{color:#fff;font-size:24px;padding:30px 0 0}.loading.svelte-2do8a6 .syncLoading.svelte-2do8a6{display:inline-block;padding:0 0 0 10px;height:15px}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6{display:inline-block;width:15px;height:100%;margin-right:5px;background:white;transform-origin:right bottom;animation:svelte-2do8a6-load 2s ease infinite}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:last-child{margin-right:0px}@keyframes svelte-2do8a6-load{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:rotate(90deg) scale(0.3)}}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(1){animation-delay:0.13s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(2){animation-delay:0.26s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(3){animation-delay:0.39s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(4){animation-delay:0.52s}.loading.svelte-2do8a6 .syncLoading span.svelte-2do8a6:nth-child(5){animation-delay:0.65s}.loading.svelte-2do8a6 .appState.svelte-2do8a6{color:#fff;font-size:16px;font-weight:lighter;bottom:10%;position:absolute;z-index:2000}@keyframes svelte-2do8a6-fadeIn{0%{opacity:0}100%{opacity:1}}.loading.svelte-2do8a6 .play-button.svelte-2do8a6{animation:svelte-2do8a6-fadeIn 2.5s ease 1}')}function Lr(e){let t,r,n,o,i;return{c(){t=Xt("img"),n=qt(),o=Xt("img"),It(t.src,r=e[2]+"/getCstzLogoUrl?logoType=welcome&appKey="+e[4]+"&v="+e[12])||Ft(t,"src",r),Ft(t,"alt",""),Ft(t,"class","logo svelte-2do8a6"),It(o.src,i=e[2]+"/images/footer.png?v="+e[12])||Ft(o,"src",i),Ft(o,"alt",""),Ft(o,"class","logo-footer svelte-2do8a6")},m(e,r){jt(e,t,r),jt(e,n,r),jt(e,o,r)},p(e,n){20&n&&!It(t.src,r=e[2]+"/getCstzLogoUrl?logoType=welcome&appKey="+e[4]+"&v="+e[12])&&Ft(t,"src",r),4&n&&!It(o.src,i=e[2]+"/images/footer.png?v="+e[12])&&Ft(o,"src",i)},d(e){e&&Zt(t),e&&Zt(n),e&&Zt(o)}}}function Tr(e){let t;function r(e,t){return e[6]?Mr:e[5]<Ke.MEDIA_LOADED?wr:e[5]==Ke.APP_RETRY?Cr:e[5]==Ke.RTC_RETRY?kr:void 0}let n=r(e),o=n&&n(e);return{c(){o&&o.c(),t=Ut()},m(e,r){o&&o.m(e,r),jt(e,t,r)},p(e,i){n===(n=r(e))&&o?o.p(e,i):(o&&o.d(1),o=n&&n(e),o&&(o.c(),o.m(t.parentNode,t)))},d(e){o&&o.d(e),e&&Zt(t)}}}function kr(e){let t,r,n,o,i,s=e[1].RTC_RETRY+"";return{c(){t=Xt("div"),r=Xt("span"),n=zt(s),o=qt(),i=Xt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',Ft(r,"class","svelte-2do8a6"),Ft(i,"class","syncLoading svelte-2do8a6"),Ft(t,"class","appState svelte-2do8a6")},m(e,s){jt(e,t,s),Wt(t,r),Wt(r,n),Wt(t,o),Wt(t,i)},p(e,t){2&t&&s!==(s=e[1].RTC_RETRY+"")&&Gt(n,s)},d(e){e&&Zt(t)}}}function Cr(e){let t,r,n,o,i,s=e[1].APP_RETRY+"";return{c(){t=Xt("div"),r=Xt("span"),n=zt(s),o=qt(),i=Xt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',Ft(r,"class","svelte-2do8a6"),Ft(i,"class","syncLoading svelte-2do8a6"),Ft(t,"class","appState svelte-2do8a6")},m(e,s){jt(e,t,s),Wt(t,r),Wt(r,n),Wt(t,o),Wt(t,i)},p(e,t){2&t&&s!==(s=e[1].APP_RETRY+"")&&Gt(n,s)},d(e){e&&Zt(t)}}}function wr(e){let t,r,n,o,i,s,a,c,u=e[13](e[5])+"",l=e[14](e[5])+"";return{c(){t=Xt("div"),r=Xt("span"),n=zt(u),o=qt(),i=Xt("span"),s=zt(l),a=qt(),c=Xt("span"),c.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',Ft(r,"class","svelte-2do8a6"),Ft(i,"class","svelte-2do8a6"),Ft(c,"class","syncLoading svelte-2do8a6"),Ft(t,"class","appState svelte-2do8a6")},m(e,u){jt(e,t,u),Wt(t,r),Wt(r,n),Wt(t,o),Wt(t,i),Wt(i,s),Wt(t,a),Wt(t,c)},p(e,t){32&t&&u!==(u=e[13](e[5])+"")&&Gt(n,u),32&t&&l!==(l=e[14](e[5])+"")&&Gt(s,l)},d(e){e&&Zt(t)}}}function Mr(e){let t,r,n,o,i,s=e[1].SYNC_APP+"";return{c(){t=Xt("div"),r=Xt("span"),n=zt(s),o=qt(),i=Xt("span"),i.innerHTML='<span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span> \n <span class="svelte-2do8a6"></span>',Ft(r,"class","svelte-2do8a6"),Ft(i,"class","syncLoading svelte-2do8a6"),Ft(t,"class","syncApp svelte-2do8a6")},m(e,s){jt(e,t,s),Wt(t,r),Wt(r,n),Wt(t,o),Wt(t,i)},p(e,t){2&t&&s!==(s=e[1].SYNC_APP+"")&&Gt(n,s)},d(e){e&&Zt(t)}}}function Ir(e){let t,r,n,o,i;function s(e,t){return e[10]?Pr:Nr}let a=s(e),c=a(e);return{c(){t=Xt("div"),r=Xt("img"),o=qt(),i=Xt("div"),c.c(),It(r.src,n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wOS0wNVQxNzozNjo1MyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNlOWI4ZDAtMTk0MS02ZTRiLWIyNjItZTc2YjcyMjhiMmFkIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MWRhMDU3NWYtYjA0OS03YzQxLTkxOWEtNjRkMTJlYTdmZmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE1YmQyOS0zNGI2LWU5NDgtOGZmZS03OGJlOTljMTY1ZmQiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMTc6MzY6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzg5ZDU2OC01MjMzLTE0NDktYjA1YS0xMzBmYWNiNmI2MTUiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMjM6MzA6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjk0NTJkZDUtMmY4ZS1hNDQ5LWJhZjgtNWU5YzA0OTQyMTU0IiBzdEV2dDp3aGVuPSIyMDIyLTA5LTA1VDIzOjMxOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzZTliOGQwLTE5NDEtNmU0Yi1iMjYyLWU3NmI3MjI4YjJhZCIgc3RFdnQ6d2hlbj0iMjAyMi0wOS0wNVQyMzozMToxNCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTQ1MmRkNS0yZjhlLWE0NDktYmFmOC01ZTljMDQ5NDIxNTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e7tqHwAACcxJREFUeNrtnb1vFEcchnfgrqMIEpWhAyRL55Mo7M5RoKOJDil/QBCkQWlMQYcr3Icm0BCk/AcYGqggijvcEaSTAIkCqJDigi5rnJljF+7Od/t1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")||Ft(r,"src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wOS0wNVQxNzozNjo1MyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNlOWI4ZDAtMTk0MS02ZTRiLWIyNjItZTc2YjcyMjhiMmFkIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MWRhMDU3NWYtYjA0OS03YzQxLTkxOWEtNjRkMTJlYTdmZmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE1YmQyOS0zNGI2LWU5NDgtOGZmZS03OGJlOTljMTY1ZmQiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMTc6MzY6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzg5ZDU2OC01MjMzLTE0NDktYjA1YS0xMzBmYWNiNmI2MTUiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMjM6MzA6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjk0NTJkZDUtMmY4ZS1hNDQ5LWJhZjgtNWU5YzA0OTQyMTU0IiBzdEV2dDp3aGVuPSIyMDIyLTA5LTA1VDIzOjMxOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzZTliOGQwLTE5NDEtNmU0Yi1iMjYyLWU3NmI3MjI4YjJhZCIgc3RFdnQ6d2hlbj0iMjAyMi0wOS0wNVQyMzozMToxNCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTQ1MmRkNS0yZjhlLWE0NDktYmFmOC01ZTljMDQ5NDIxNTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e7tqHwAACcxJREFUeNrtnb1vFEcchnfgrqMIEpWhAyRL55Mo7M5RoKOJDil/QBCkQWlMQYcr3Icm0BCk/AcYGqggijvcEaSTAIkCqJDigi5rnJljF+7Od/t1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"),Ft(r,"alt",""),Ft(r,"class","logo svelte-2do8a6"),Ft(i,"class","appState svelte-2do8a6"),Ft(t,"class","play-button svelte-2do8a6"),Bt(t,"width","100%"),Bt(t,"height","100%"),Bt(t,"background-color","rgba(0,0,0,0.5)"),Bt(t,"display","flex"),Bt(t,"flex","1"),Bt(t,"align-items","center"),Bt(t,"justify-content","center")},m(e,n){jt(e,t,n),Wt(t,r),Wt(t,o),Wt(t,i),c.m(i,null)},p(e,t){a===(a=s(e))&&c?c.p(e,t):(c.d(1),c=a(e),c&&(c.c(),c.m(i,null)))},d(e){e&&Zt(t),c.d()}}}function Nr(e){let t,r,n=e[1].START+"";return{c(){t=Xt("span"),r=zt(n),Ft(t,"class","svelte-2do8a6")},m(e,n){jt(e,t,n),Wt(t,r)},p(e,t){2&t&&n!==(n=e[1].START+"")&&Gt(r,n)},d(e){e&&Zt(t)}}}function Pr(e){let t,r,n=e[1].PLAY_FAILED+"";return{c(){t=Xt("span"),r=zt(n),Ft(t,"class","svelte-2do8a6")},m(e,n){jt(e,t,n),Wt(t,r)},p(e,t){2&t&&n!==(n=e[1].PLAY_FAILED+"")&&Gt(r,n)},d(e){e&&Zt(t)}}}function Wr(e){let t,r,n,o,i=e[3]&&e[5]<Ke.MEDIA_LOADED&&Lr(e),s=e[8]&&Tr(e),a=e[5]==Ke.MEDIA_LOADED&&e[9]&&Ir(e);return{c(){t=Xt("div"),i&&i.c(),r=qt(),s&&s.c(),n=qt(),a&&a.c(),Ft(t,"class","loading svelte-2do8a6"),Ft(t,"style",o=e[0].viewPortStyle+"; background-image: url("+(e[7]?e[7]:e[11].default)+");")},m(e,o){jt(e,t,o),i&&i.m(t,null),Wt(t,r),s&&s.m(t,null),Wt(t,n),a&&a.m(t,null)},p(e,[c]){e[3]&&e[5]<Ke.MEDIA_LOADED?i?i.p(e,c):(i=Lr(e),i.c(),i.m(t,r)):i&&(i.d(1),i=null),e[8]?s?s.p(e,c):(s=Tr(e),s.c(),s.m(t,n)):s&&(s.d(1),s=null),e[5]==Ke.MEDIA_LOADED&&e[9]?a?a.p(e,c):(a=Ir(e),a.c(),a.m(t,null)):a&&(a.d(1),a=null),129&c&&o!==(o=e[0].viewPortStyle+"; background-image: url("+(e[7]?e[7]:e[11].default)+");")&&Ft(t,"style",o)},i:Rt,o:Rt,d(e){e&&Zt(t),i&&i.d(),s&&s.d(),a&&a.d()}}}function xr(e,t,r){const n=__webpack_require__(3118);let{screenState:o}=t,{ui:i}=t,{serverAddress:a}=t,{taskReady:c}=t,{appKey:u}=t,{appState:l}=t,{syncApp:A}=t,{loadingBgUrl:d}=t,{showLoadingStateBar:p=!0}=t,{showPlayButton:h=!0}=t,{tapedPlayButton:f=!1}=t;s.info(u);const m=v.VersionMarjor+v.VersionMinorr+v.VersionRevise+v.VersionBuild;return Ht((()=>{})),e.$$set=e=>{"screenState"in e&&r(0,o=e.screenState),"ui"in e&&r(1,i=e.ui),"serverAddress"in e&&r(2,a=e.serverAddress),"taskReady"in e&&r(3,c=e.taskReady),"appKey"in e&&r(4,u=e.appKey),"appState"in e&&r(5,l=e.appState),"syncApp"in e&&r(6,A=e.syncApp),"loadingBgUrl"in e&&r(7,d=e.loadingBgUrl),"showLoadingStateBar"in e&&r(8,p=e.showLoadingStateBar),"showPlayButton"in e&&r(9,h=e.showPlayButton),"tapedPlayButton"in e&&r(10,f=e.tapedPlayButton)},[o,i,a,c,u,l,A,d,p,h,f,n,m,function(e){switch(e-Ke.BEFORE_CREATE+1){case Ke.INITED:return i.INITED;case Ke.WEBSOCKET_CHANNEL_OPEN:return i.WEBSOCKET_CHANNEL_OPEN;case Ke.LOGIN_SUCCESS:return i.LOGIN_SUCCESS;case Ke.RTC_CONNECTED:return i.RTC_CONNECTED;case Ke.MEDIA_LOADED:default:return i.MEDIA_LOADED}},function(e){return"("+(e-Ke.BEFORE_CREATE+1)+"/"+(Ke.MEDIA_LOADED-Ke.BEFORE_CREATE)+")"}]}var Vr=class extends Sr{constructor(e){super(),Er(this,e,xr,Wr,wt,{screenState:0,ui:1,serverAddress:2,taskReady:3,appKey:4,appState:5,syncApp:6,loadingBgUrl:7,showLoadingStateBar:8,showPlayButton:9,tapedPlayButton:10},Rr)}};function Dr(e){xt(e,"svelte-1z0xaop",'@charset "UTF-8";.pxy-render.pxy-render-release.svelte-1z0xaop.svelte-1z0xaop{margin:0;padding:0}.pxy-render.pxy-render-release.svelte-1z0xaop video.svelte-1z0xaop{transition:none}.pxy-render.pxy-render-release.svelte-1z0xaop .showVideo.svelte-1z0xaop{position:relative;z-index:-1;object-fit:fill}.pxy-render.pxy-render-release.svelte-1z0xaop .captureCanvas.svelte-1z0xaop{position:absolute;z-index:-9999;top:-9999px;left:-9999px}.pxy-render.pxy-render-release.svelte-1z0xaop .audio.svelte-1z0xaop{position:absolute;z-index:-9999;top:-9999px;left:-9999px}')}function jr(e){let t,r,n,o,i,s,a,c,u,l,A,d,p,h,f,m,y,b;return{c(){t=Xt("div"),r=Xt("video"),a=qt(),c=Xt("audio"),A=qt(),d=Xt("canvas"),Ft(r,"class","showVideo svelte-1z0xaop"),Ft(r,"width",n=e[0].container.width+"px"),Ft(r,"height",o=e[0].container.height+"px"),r.autoplay=e[1],r.playsInline=i=!0,Ft(r,"webkit-playsinline",s=!0),Ft(r,"preload","auto"),Ft(r,"x5-video-player-type","h5"),Ft(r,"x5-video-player-fullscreen","true"),Ft(r,"x5-video-orientation","portrait"),Ft(c,"class","audio svelte-1z0xaop"),c.controls=u=!1,c.autoplay=l=!0,Ft(d,"class","captureCanvas svelte-1z0xaop"),Ft(d,"width",p=e[0].container.width+"px"),Ft(d,"height",h=e[0].container.height+"px"),Ft(t,"class","pxy-render pxy-render-release svelte-1z0xaop"),Ft(t,"width",f=e[0].container.width+"px"),Ft(t,"height",m=e[0].container.height+"px")},m(n,o){jt(n,t,o),Wt(t,r),e[18](r),Wt(t,a),Wt(t,c),e[19](c),Wt(t,A),Wt(t,d),e[20](d),y||(b=[_t(r,"loadedmetadata",e[5]),_t(c,"loadedmetadata",e[6])],y=!0)},p(e,[i]){1&i&&n!==(n=e[0].container.width+"px")&&Ft(r,"width",n),1&i&&o!==(o=e[0].container.height+"px")&&Ft(r,"height",o),2&i&&(r.autoplay=e[1]),1&i&&p!==(p=e[0].container.width+"px")&&Ft(d,"width",p),1&i&&h!==(h=e[0].container.height+"px")&&Ft(d,"height",h),1&i&&f!==(f=e[0].container.width+"px")&&Ft(t,"width",f),1&i&&m!==(m=e[0].container.height+"px")&&Ft(t,"height",m)},i:Rt,o:Rt,d(r){r&&Zt(t),e[18](null),e[19](null),e[20](null),y=!1,kt(b)}}}const Zr="mediaPlayedMute",Xr="mediaPlayedFailed";function zr(e,t,r){__webpack_require__(1458);let n,o,i,a,{screenState:c}=t,{mutePlayWhenFailed:u}=t,{autoPlay:l=!0}=t,{appState:A}=t,d=!1,p=!1;const h=$t();async function f(){if(!n)throw s.warn("play video failed. need video element ref"),new Error("no video found");try{s.info("playVideo"),await n.play(),h("mediaPlayed"),s.info("playVideo success")}catch(e){throw s.info("playVideo failed",e),e}}return Ht((()=>{i=a.getContext("2d"),null==i&&s.err("init capture context failed.",i,a),document.addEventListener("WeixinJSBridgeReady",(()=>{s.warn("WeixinJSBridgeReady play video"),l&&f().then((()=>{s.info("ios auto play success")})).catch((e=>{s.warn("ios auto play failed",e)}))}),!1),"iOS"===b.os&&l&&(s.info("on mount ios play video"),f().then((()=>{s.info("ios auto play success")})).catch((e=>{s.warn("ios auto play failed",e)})))})),e.$$set=e=>{"screenState"in e&&r(0,c=e.screenState),"mutePlayWhenFailed"in e&&r(7,u=e.mutePlayWhenFailed),"autoPlay"in e&&r(1,l=e.autoPlay),"appState"in e&&r(8,A=e.appState)},[c,l,n,o,a,function(e){s.info("onLoadedmetadata");const t=n;t?A>=Ke.RTC_CLOSED?s.warn("onLoadedmetadata video failed. rtc peerconnection already closed"):(s.info("++++++++++++++onLoadedmetadata+++++++++++++++++"),h("mediaLoaded"),l?f().then((()=>{s.info("play video success")})).catch((e=>{s.info("play video failed. need user confirm",e),d?b.isMobile&&(b.isQQ||b.isHuawei||b.isWeChat)?h(Xr):(t.muted=!0,f().then((()=>{s.info("play video success")})).catch((e=>{s.err("play video failed.",e),h(Xr)}))):u?b.isMobile&&(b.isQQ||b.isHuawei||b.isWeChat)?h(Xr):(t.muted=!0,f().then((()=>{s.info("play video success"),h(Zr)})).catch((e=>{s.err("play video failed.",e),h(Xr)}))):h(Xr)})):s.info("++++++++++++++onLoadedmetadata but not auto play+++++++++++++++++")):s.warn("onLoadedmetadata video failed. need video element ref")},function(){o&&!o.played?o.play().then((()=>{})).catch((e=>{s.info("auto play audio failed",e),h(Zr),r(3,o.muted=!0,o),o.play()})):s.info("audio already played")},u,A,function(e){n?(s.info("setVideoSrcObj",e),r(2,n.srcObject=e,n)):s.warn("setup video failed. need video element ref")},function(e){o?(s.info("setAudioSrcObj",e),r(3,o.srcObject=e,o),d=!0,o.play().then((()=>{s.info("auto play audio success.")})).catch((e=>{s.warn("auto play audio failed. mute play",e),r(3,o.muted=!0,o),o.play().then((()=>{s.warn("auto play audio failed. mute play",e),h(Zr)})).catch((e=>{s.warn("mute play audio failed.",e),p=!0}))}))):s.warn("setup audio failed. need audio element ref")},function(){return n},function(){return o},function(){return d},f,function(){n?d?(r(3,o.muted=!1,o),o.play().then((()=>{s.info("audio playout success",o.muted)})).catch((e=>{s.info("audio playout failed with user confirm.",e,o.muted)}))):r(2,n.muted=!1,n):s.err("no render found")},function(){n?(n.pause(),d&&o.pause()):s.warn("stop video failed. need video element ref")},function(e,t){let r=c.appSize.width?c.appSize.width:c.container.width,o=c.appSize.height?c.appSize.height:c.container.height;t&&t.width&&(r=t.width),t&&t.height&&(o=t.height);const i=document.createElement("canvas");i.width=r,i.height=o;const a=n,u=i.getContext("2d");if(!u)return void s.warn("draw call without context");u.clearRect(0,0,r,o),a&&u.drawImage(a,0,0,r,o);const l=i.toDataURL("image/jpeg");return h("pitcureCaptured",{data:e,base64:l}),{data:e,base64:l}},function(e){tr[e?"unshift":"push"]((()=>{n=e,r(2,n)}))},function(e){tr[e?"unshift":"push"]((()=>{o=e,r(3,o)}))},function(e){tr[e?"unshift":"push"]((()=>{a=e,r(4,a)}))}]}var qr=class extends Sr{constructor(e){super(),Er(this,e,zr,jr,wt,{screenState:0,mutePlayWhenFailed:7,autoPlay:1,appState:8,setVideoSrcObj:9,setAudioSrcObj:10,getVideo:11,getAudio:12,isSeprateAudioTrack:13,playVideo:14,sountPlayout:15,stopVideo:16,captrueFrame:17},Dr)}get setVideoSrcObj(){return this.$$.ctx[9]}get setAudioSrcObj(){return this.$$.ctx[10]}get getVideo(){return this.$$.ctx[11]}get getAudio(){return this.$$.ctx[12]}get isSeprateAudioTrack(){return this.$$.ctx[13]}get playVideo(){return this.$$.ctx[14]}get sountPlayout(){return this.$$.ctx[15]}get stopVideo(){return this.$$.ctx[16]}get captrueFrame(){return this.$$.ctx[17]}};function Ur(e){xt(e,"svelte-11gz4tb",".cursorContainer.svelte-11gz4tb.svelte-11gz4tb{pointer-events:none;position:absolute;margin:0;padding:0;display:block;z-index:10;width:24px;height:24px;background-size:contain}.cursorContainer.svelte-11gz4tb img.svelte-11gz4tb{width:100%;height:auto}.pointerContainer.svelte-11gz4tb.svelte-11gz4tb{position:absolute;pointer-events:none;top:0;left:0}.pointerContainer.svelte-11gz4tb .pointer.svelte-11gz4tb{width:6px;height:6px;margin-left:-3px;margin-top:-3px;background-color:#32cdcd;border-radius:50%;pointer-events:none}")}function _r(e){let t,r,n;return{c(){t=Xt("div"),r=Xt("img"),It(r.src,n=e[3](e[1].cursorStyle.type))||Ft(r,"src",n),Bt(r,"marginLeft",-e[1].cursorStyle.hotX+"px"),Bt(r,"marginTop",-e[1].cursorStyle.hotY+"px"),Ft(r,"alt",""),Ft(r,"class","svelte-11gz4tb"),Ft(t,"class","cursorContainer svelte-11gz4tb"),Ft(t,"draggable","false"),Bt(t,"left",e[0].x+"px"),Bt(t,"top",e[0].y+"px")},m(e,n){jt(e,t,n),Wt(t,r)},p(e,o){2&o&&!It(r.src,n=e[3](e[1].cursorStyle.type))&&Ft(r,"src",n),2&o&&Bt(r,"marginLeft",-e[1].cursorStyle.hotX+"px"),2&o&&Bt(r,"marginTop",-e[1].cursorStyle.hotY+"px"),1&o&&Bt(t,"left",e[0].x+"px"),1&o&&Bt(t,"top",e[0].y+"px")},d(e){e&&Zt(t)}}}function Fr(e){let t,r=e[2]&&Gr(e);return{c(){r&&r.c(),t=Ut()},m(e,n){r&&r.m(e,n),jt(e,t,n)},p(e,n){e[2]?r?r.p(e,n):(r=Gr(e),r.c(),r.m(t.parentNode,t)):r&&(r.d(1),r=null)},d(e){r&&r.d(e),e&&Zt(t)}}}function Gr(e){let t,r;return{c(){t=Xt("div"),r=Xt("div"),Ft(r,"class","pointer svelte-11gz4tb"),Ft(t,"class","pointerContainer svelte-11gz4tb"),Bt(t,"left",e[0].x+"px"),Bt(t,"top",e[0].y+"px")},m(e,n){jt(e,t,n),Wt(t,r)},p(e,r){1&r&&Bt(t,"left",e[0].x+"px"),1&r&&Bt(t,"top",e[0].y+"px")},d(e){e&&Zt(t)}}}function Br(e){let t;function r(e,t){return e[1].isMobile?Fr:_r}let n=r(e),o=n(e);return{c(){o.c(),t=Ut()},m(e,r){o.m(e,r),jt(e,t,r)},p(e,[i]){n===(n=r(e))&&o?o.p(e,i):(o.d(1),o=n(e),o&&(o.c(),o.m(t.parentNode,t)))},i:Rt,o:Rt,d(e){o.d(e),e&&Zt(t)}}}function Kr(e,t,r){let{screenState:n}=t,{cursorPosition:o={x:0,y:0}}=t,{touchPonitEnable:i=!0}=t;const a={CURSOR_ARROR:__webpack_require__(8221).Z,CURSOR_EW:__webpack_require__(7025).Z,CURSOR_LINK:__webpack_require__(7174).Z,CURSOR_MOVE:__webpack_require__(3354).Z,CURSOR_NESW:__webpack_require__(4634).Z,CURSOR_NS:__webpack_require__(9513).Z,CURSOR_NWSE:__webpack_require__(227).Z,CURSOR_UNAVAIL:__webpack_require__(7118).Z,CURSOR_BEAM_RM:__webpack_require__(457).Z,CURSOR_BUSY_RM:__webpack_require__(6370).Z,CURSOR_CROSS_RM:__webpack_require__(2039).Z,CURSOR_WAIT:__webpack_require__(1575).Z};return Ht((()=>{r(0,o={x:n.container.width/2,y:n.container.height/2})})),e.$$set=e=>{"screenState"in e&&r(1,n=e.screenState),"cursorPosition"in e&&r(0,o=e.cursorPosition),"touchPonitEnable"in e&&r(2,i=e.touchPonitEnable)},[o,n,i,function(e){switch(s.info("cursor style ",e),e){case at.ARROW:return a.CURSOR_ARROR;case at.CROSS:return a.CURSOR_CROSS_RM;case at.HAND:return a.CURSOR_LINK;case at.IBEAM:return a.CURSOR_BEAM_RM;case at.NO:return a.CURSOR_UNAVAIL;case at.SIZEALL:return a.CURSOR_MOVE;case at.SIZENESW:return a.CURSOR_NESW;case at.SIZENS:return a.CURSOR_NS;case at.SIZENWSE:return a.CURSOR_NWSE;case at.SIZEWE:return a.CURSOR_EW;case at.WAIT:return a.CURSOR_WAIT;case at.CUSTOM:return""!=n.cursorStyle.customBase64?n.cursorStyle.customBase64:a.CURSOR_ARROR;default:return a.CURSOR_ARROR}}]}var Jr=class extends Sr{constructor(e){super(),Er(this,e,Kr,Br,wt,{screenState:1,cursorPosition:0,touchPonitEnable:2},Ur)}};function Yr(e){xt(e,"svelte-17v0vh9",'@charset "UTF-8";.pxy-view-port.svelte-17v0vh9.svelte-17v0vh9{position:absolute;top:0;left:0;overflow:hidden;padding:0;margin:0;z-index:1;margin:0;padding:0;background-color:rgba(0, 0, 0, 0.05)}.pxy-view-port.svelte-17v0vh9 .pxy-container.svelte-17v0vh9{margin:0 auto;box-shadow:0 0 10px rgba(0, 0, 0, 0.4);background-color:rgba(0, 0, 0, 0.05);position:relative;overflow:hidden;margin:0;padding:0}')}function Qr(e){let t,r;return t=new Jr({props:{screenState:e[0],cursorPosition:e[8],touchPonitEnable:e[9]}}),{c(){gr(t.$$.fragment)},m(e,n){vr(t,e,n),r=!0},p(e,r){const n={};1&r[0]&&(n.screenState=e[0]),256&r[0]&&(n.cursorPosition=e[8]),512&r[0]&&(n.touchPonitEnable=e[9]),t.$set(n)},i(e){r||(mr(t.$$.fragment,e),r=!0)},o(e){yr(t.$$.fragment,e),r=!1},d(e){Or(t,e)}}}function Hr(e){let t,r;return t=new Vr({props:{taskReady:""!=e[5].taskid,appKey:e[5].appKey,screenState:e[0],ui:e[1],serverAddress:e[2],appState:e[3],syncApp:e[4],loadingBgUrl:e[6],showLoadingStateBar:e[10],showPlayButton:e[12],tapedPlayButton:e[16]}}),{c(){gr(t.$$.fragment)},m(e,n){vr(t,e,n),r=!0},p(e,r){const n={};32&r[0]&&(n.taskReady=""!=e[5].taskid),32&r[0]&&(n.appKey=e[5].appKey),1&r[0]&&(n.screenState=e[0]),2&r[0]&&(n.ui=e[1]),4&r[0]&&(n.serverAddress=e[2]),8&r[0]&&(n.appState=e[3]),16&r[0]&&(n.syncApp=e[4]),64&r[0]&&(n.loadingBgUrl=e[6]),1024&r[0]&&(n.showLoadingStateBar=e[10]),4096&r[0]&&(n.showPlayButton=e[12]),65536&r[0]&&(n.tapedPlayButton=e[16]),t.$set(n)},i(e){r||(mr(t.$$.fragment,e),r=!0)},o(e){yr(t.$$.fragment,e),r=!1},d(e){Or(t,e)}}}function $r(e){let t,r,n,o,i,s,a,c,u,l,A=e[5].appliType!==Qe.PIXEL_STREAMING&&(e[0].isMobile||e[0].isLocalRenderMouse)&&Qr(e),d={appState:e[3],screenState:e[0],mutePlayWhenFailed:e[7],autoPlay:e[11]};o=new qr({props:d}),e[35](o),o.$on("mediaLoaded",e[36]),o.$on("mediaPlayed",e[37]),o.$on("mediaPlayedMute",e[20]),o.$on("mediaPlayedFailed",e[38]),o.$on("pitcureCaptured",e[39]);let p=(e[3]<=Ke.MEDIA_LOADED||e[3]>=Ke.RTC_RETRY)&&Hr(e);return{c(){t=Xt("div"),r=Xt("div"),A&&A.c(),n=qt(),gr(o.$$.fragment),s=qt(),p&&p.c(),Ft(r,"class","pxy-container svelte-17v0vh9"),Ft(r,"style",i=e[0].containerStyle),Ft(t,"class","pxy-view-port svelte-17v0vh9"),Ft(t,"style",a=e[0].viewPortStyle)},m(i,a){jt(i,t,a),Wt(t,r),A&&A.m(r,null),Wt(r,n),vr(o,r,null),e[40](r),Wt(t,s),p&&p.m(t,null),e[41](t),c=!0,u||(l=[_t(r,"mouseup",e[18]),_t(r,"touchend",e[19],{passive:!0}),_t(t,"mouseup",e[21]),_t(t,"touchend",e[21],{passive:!0})],u=!0)},p(e,s){e[5].appliType!==Qe.PIXEL_STREAMING&&(e[0].isMobile||e[0].isLocalRenderMouse)?A?(A.p(e,s),33&s[0]&&mr(A,1)):(A=Qr(e),A.c(),mr(A,1),A.m(r,n)):A&&(hr(),yr(A,1,1,(()=>{A=null})),fr());const u={};8&s[0]&&(u.appState=e[3]),1&s[0]&&(u.screenState=e[0]),128&s[0]&&(u.mutePlayWhenFailed=e[7]),2048&s[0]&&(u.autoPlay=e[11]),o.$set(u),(!c||1&s[0]&&i!==(i=e[0].containerStyle))&&Ft(r,"style",i),e[3]<=Ke.MEDIA_LOADED||e[3]>=Ke.RTC_RETRY?p?(p.p(e,s),8&s[0]&&mr(p,1)):(p=Hr(e),p.c(),mr(p,1),p.m(t,null)):p&&(hr(),yr(p,1,1,(()=>{p=null})),fr()),(!c||1&s[0]&&a!==(a=e[0].viewPortStyle))&&Ft(t,"style",a)},i(e){c||(mr(A),mr(o.$$.fragment,e),mr(p),c=!0)},o(e){yr(A),yr(o.$$.fragment,e),yr(p),c=!1},d(r){r&&Zt(t),A&&A.d(),e[35](null),Or(o),e[40](null),p&&p.d(),e[41](null),u=!1,kt(l)}}}function en(e,t,r){let n,o,i,{screenState:a}=t,{ui:c}=t,{serverAddress:u}=t,{appState:l}=t,{syncApp:A}=t,{isMobile:d}=t,{appParams:p}=t,{loadingBgUrl:h}=t,{mutePlayWhenFailed:f}=t,{cursorPosition:m={x:0,y:0}}=t,{touchPonitEnable:y=!0}=t,{showLoadingStateBar:b=!0}=t,{autoPlay:g=!0}=t,{showPlayButton:v=!0}=t,O=!1,E=!1,S=!1;const R=$t();Ht((()=>{R("loaded",o)}));return e.$$set=e=>{"screenState"in e&&r(0,a=e.screenState),"ui"in e&&r(1,c=e.ui),"serverAddress"in e&&r(2,u=e.serverAddress),"appState"in e&&r(3,l=e.appState),"syncApp"in e&&r(4,A=e.syncApp),"isMobile"in e&&r(22,d=e.isMobile),"appParams"in e&&r(5,p=e.appParams),"loadingBgUrl"in e&&r(6,h=e.loadingBgUrl),"mutePlayWhenFailed"in e&&r(7,f=e.mutePlayWhenFailed),"cursorPosition"in e&&r(8,m=e.cursorPosition),"touchPonitEnable"in e&&r(9,y=e.touchPonitEnable),"showLoadingStateBar"in e&&r(10,b=e.showLoadingStateBar),"autoPlay"in e&&r(11,g=e.autoPlay),"showPlayButton"in e&&r(12,v=e.showPlayButton)},[a,c,u,l,A,p,h,f,m,y,b,g,v,n,o,i,S,R,function(){if(E){const e=n;e&&e.sountPlayout(),E=!1}1==p.fullScreenMode?O||(R("requestFullScreen"),O=!0):2==p.fullScreenMode&&R("requestFullScreen")},function(){if(E){const e=n;if(e&&e.sountPlayout(),E=!1,d)return}1==p.mobileFullScreenMode?O||(window.setTimeout((()=>{R("requestFullScreen")}),100),O=!0):2==p.mobileFullScreenMode&&window.setTimeout((()=>{R("requestFullScreen")}),100)},function(){E=!0,R("mediaPlayedMute")},function(){l>Ke.INITED&&l<Ke.MEDIA_PLAYED&&(null==n||n.playVideo().catch((e=>{s.warn("play video failed with user click",e)})),window.setTimeout((()=>{l>Ke.INITED&&l<Ke.MEDIA_PLAYED&&r(16,S=!0)}),1e3))},d,function(){return o},function(){return n},function(){return i},function(e){null==n||n.setVideoSrcObj(e)},function(){return null==n?void 0:n.getVideo()},async function(){null==n||n.playVideo()},function(){n.sountPlayout()},function(){n.stopVideo()},function(e){null==n||n.setAudioSrcObj(e)},function(){return n.getAudio()},function(){return n.isSeprateAudioTrack()},function(e,t){return n.captrueFrame(e,t)},function(e){tr[e?"unshift":"push"]((()=>{n=e,r(13,n)}))},()=>R("mediaLoaded"),()=>R("mediaPlayed"),()=>R("mediaPlayedFailed"),e=>R("pitcureCaptured",e.detail),function(e){tr[e?"unshift":"push"]((()=>{o=e,r(14,o)}))},function(e){tr[e?"unshift":"push"]((()=>{i=e,r(15,i)}))}]}var tn=class extends Sr{constructor(e){super(),Er(this,e,en,$r,wt,{screenState:0,ui:1,serverAddress:2,appState:3,syncApp:4,isMobile:22,appParams:5,loadingBgUrl:6,mutePlayWhenFailed:7,cursorPosition:8,touchPonitEnable:9,showLoadingStateBar:10,autoPlay:11,showPlayButton:12,getContainerComponent:23,getVideoComponent:24,getViewportComponent:25,setVideoSrcObj:26,getVideo:27,playVideo:28,sountPlayout:29,stopVideo:30,setAudioSrcObj:31,getAudio:32,isSeprateAudioTrack:33,captrueFrame:34},Yr,[-1,-1])}get screenState(){return this.$$.ctx[0]}set screenState(e){this.$$set({screenState:e}),lr()}get ui(){return this.$$.ctx[1]}set ui(e){this.$$set({ui:e}),lr()}get serverAddress(){return this.$$.ctx[2]}set serverAddress(e){this.$$set({serverAddress:e}),lr()}get appState(){return this.$$.ctx[3]}set appState(e){this.$$set({appState:e}),lr()}get syncApp(){return this.$$.ctx[4]}set syncApp(e){this.$$set({syncApp:e}),lr()}get isMobile(){return this.$$.ctx[22]}set isMobile(e){this.$$set({isMobile:e}),lr()}get appParams(){return this.$$.ctx[5]}set appParams(e){this.$$set({appParams:e}),lr()}get loadingBgUrl(){return this.$$.ctx[6]}set loadingBgUrl(e){this.$$set({loadingBgUrl:e}),lr()}get mutePlayWhenFailed(){return this.$$.ctx[7]}set mutePlayWhenFailed(e){this.$$set({mutePlayWhenFailed:e}),lr()}get cursorPosition(){return this.$$.ctx[8]}set cursorPosition(e){this.$$set({cursorPosition:e}),lr()}get touchPonitEnable(){return this.$$.ctx[9]}set touchPonitEnable(e){this.$$set({touchPonitEnable:e}),lr()}get showLoadingStateBar(){return this.$$.ctx[10]}set showLoadingStateBar(e){this.$$set({showLoadingStateBar:e}),lr()}get autoPlay(){return this.$$.ctx[11]}set autoPlay(e){this.$$set({autoPlay:e}),lr()}get showPlayButton(){return this.$$.ctx[12]}set showPlayButton(e){this.$$set({showPlayButton:e}),lr()}get getContainerComponent(){return this.$$.ctx[23]}get getVideoComponent(){return this.$$.ctx[24]}get getViewportComponent(){return this.$$.ctx[25]}get setVideoSrcObj(){return this.$$.ctx[26]}get getVideo(){return this.$$.ctx[27]}get playVideo(){return this.$$.ctx[28]}get sountPlayout(){return this.$$.ctx[29]}get stopVideo(){return this.$$.ctx[30]}get setAudioSrcObj(){return this.$$.ctx[31]}get getAudio(){return this.$$.ctx[32]}get isSeprateAudioTrack(){return this.$$.ctx[33]}get captrueFrame(){return this.$$.ctx[34]}};const rn=1,nn=7,on=50,sn=51,an=60,cn=61,un=62,ln=70,An=71,dn=72,pn=73,hn=74,fn=75,mn=80,yn=81,bn=82,gn=90,vn=91,On=92,En=0,Sn=1,Rn=2,Ln=3,Tn=4,kn=1,Cn=2,wn=4,Mn=8,In=16,Nn=8,Pn=16,Wn=17,xn=18,Vn=253,Dn=254,jn=255,Zn=0,Xn=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame,zn="GamepadEvent"in window,qn="WebKitGamepadEvent"in window,Un=(document.createEvent("KeyboardEvent").initKeyboardEvent,{});class _n extends o{constructor(e){super(),this.playerElementClientRect={x:0,y:0,width:0,height:0,bottom:0,left:0,top:0,right:0,toJSON:()=>JSON.stringify(this)},this.normalizeAndQuantizeUnsigned=(e,t)=>({x:0,y:0,inRange:!1}),this.normalizeAndQuantizeSigned=(e,t)=>({x:0,y:0}),this.unquantizeAndDenormalizeUnsigned=(e,t)=>({x:0,y:0}),this.inputOptions={controlScheme:Zn,suppressBrowserKeys:!0,fakeMouseWithTouches:!1},this._startListen=!1,this.larksr=e,this.updateStatus=this.updateStatus.bind(this),this.gamepadDisconnectHandler=this.gamepadDisconnectHandler.bind(this)}get startListen(){return this._startListen}registerInputs(e){this.registerMouseEnterAndLeaveEvents(e),this.registerTouchEvents(e)}setupMouseAndFreezeFrame(e,t){this.playerElementClientRect=e.getBoundingClientRect(),this.setupNormalizeAndQuantize(e,t)}emitUIInteraction(e){return this.emitDescriptor(on,e)}emitCommand(e){return this.emitDescriptor(sn,e)}requestInitialSettings(){this.sendInputData(new Uint8Array([nn]).buffer)}requestQualityControl(){this.sendInputData(new Uint8Array([rn]).buffer)}emitMouseMove(e,t,r,n){let o=this.normalizeAndQuantizeUnsigned(e,t),i=this.normalizeAndQuantizeSigned(r,n);s.info("emitMouseMove",o,i);let a=new DataView(new ArrayBuffer(9));a.setUint8(0,hn),a.setUint16(1,o.x,!0),a.setUint16(3,o.y,!0),a.setInt16(5,i.x,!0),a.setInt16(7,i.y,!0),this.sendInputData(a.buffer)}emitMouseDown(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(6));o.setUint8(0,dn),o.setUint8(1,e),o.setUint16(2,n.x,!0),o.setUint16(4,n.y,!0),this.sendInputData(o.buffer)}emitMouseUp(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(6));o.setUint8(0,pn),o.setUint8(1,e),o.setUint16(2,n.x,!0),o.setUint16(4,n.y,!0),this.sendInputData(o.buffer)}emitMouseWheel(e,t,r){let n=this.normalizeAndQuantizeUnsigned(t,r),o=new DataView(new ArrayBuffer(7));o.setUint8(0,fn),o.setInt16(1,e,!0),o.setUint16(3,n.x,!0),o.setUint16(5,n.y,!0),this.sendInputData(o.buffer)}releaseMouseButtons(e,t,r){e&kn&&this.emitMouseUp(En,t,r),e&Cn&&this.emitMouseUp(Rn,t,r),e&wn&&this.emitMouseUp(Sn,t,r),e&Mn&&this.emitMouseUp(Ln,t,r),e&In&&this.emitMouseUp(Tn,t,r)}pressMouseButtons(e,t,r){e&kn&&this.emitMouseDown(En,t,r),e&Cn&&this.emitMouseDown(Rn,t,r),e&wn&&this.emitMouseDown(Sn,t,r),e&Mn&&this.emitMouseDown(Ln,t,r),e&In&&this.emitMouseDown(Tn,t,r)}registerMouseEnterAndLeaveEvents(e){let t=this;e.onmouseenter=function(r){s.info("mouse enter");let n=new DataView(new ArrayBuffer(1));n.setUint8(0,ln),t.sendInputData(n.buffer),e.pressMouseButtons(r.buttons,0,0)},e.onmouseleave=function(r){s.info("mouse leave");let n=new DataView(new ArrayBuffer(1));n.setUint8(0,An),t.sendInputData(n.buffer),e.releaseMouseButtons(r.buttons,0,0)}}registerLockedMouseEvents(e){this._startListen=!0;let t=this,r=e.clientWidth/2,n=e.clientHeight/2;function o(){document.pointerLockElement===e||document.mozPointerLockElement===e?(console.log("Pointer locked"),document.addEventListener("mousemove",i,!1)):(console.log("The pointer lock status is now unlocked"),document.removeEventListener("mousemove",i,!1))}function i(e){r+=e.movementX,n+=e.movementY,r>t.larksr.screenState.container.width&&(r-=t.larksr.screenState.container.width),n>t.larksr.screenState.container.height&&(n-=t.larksr.screenState.container.height),r<0&&(r=t.larksr.screenState.container.width+r),n<0&&(n=t.larksr.screenState.container.height-n),t.emitMouseMove(r,n,e.movementX,e.movementY)}e.requestPointerLock=e.requestPointerLock||e.mozRequestPointerLock,document.exitPointerLock=document.exitPointerLock||e.mozExitPointerLock,e.onclick=function(){t.larksr.isObMode||e.requestPointerLock()},document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),e.onmousedown=function(e){t.emitMouseDown(e.button,r,n)},e.onmouseup=function(e){t.emitMouseUp(e.button,r,n)},e.onmousewheel=function(e){t.emitMouseWheel(e.wheelDelta,r,n)},e.pressMouseButtons=function(e){t.pressMouseButtons(e.buttons,r,n)},e.releaseMouseButtons=function(e){t.releaseMouseButtons(e.buttons,r,n)}}registerHoveringMouseEvents(e){let t=this;s.info("registerHoveringMouseEvents",e),e.onmousemove=function(e){t.emitMouseMove(e.offsetX,e.offsetY,e.movementX,e.movementY),s.info("onmousemove",e),e.preventDefault()},e.onmousedown=function(e){t.emitMouseDown(e.button,e.offsetX,e.offsetY),e.preventDefault()},e.onmouseup=function(e){t.emitMouseUp(e.button,e.offsetX,e.offsetY),e.preventDefault()},e.oncontextmenu=function(e){t.emitMouseUp(e.button,e.offsetX,e.offsetY),e.preventDefault()},"onmousewheel"in e?e.onmousewheel=function(e){t.emitMouseWheel(e.wheelDelta,e.offsetX,e.offsetY),e.preventDefault()}:e.addEventListener("DOMMouseScroll",(function(e){t.emitMouseWheel(-120*e.detail,e.offsetX,e.offsetY),e.preventDefault()}),!1),e.pressMouseButtons=function(e){t.pressMouseButtons(e.buttons,e.offsetX,e.offsetY)},e.releaseMouseButtons=function(e){t.releaseMouseButtons(e.buttons,e.offsetX,e.offsetY)}}registerTouchEvents(e){let t=this,r=[9,8,7,6,5,4,3,2,1,0],n={};function o(e){let t=r.pop();void 0===t&&console.log("exhausted touch indentifiers"),n[e.identifier]=t}function i(r,o){let i=new DataView(new ArrayBuffer(2+7*o.length));i.setUint8(0,r),i.setUint8(1,o.length);let a=2;for(let r=0;r<o.length;r++){let c=o[r];const{screenOrientation:u,viewPort:l}=t.larksr.screenState;let A=c.clientX-e.offsetLeft,d=c.clientY-e.offsetTop;"landscape"===u?(A=c.clientY-e.offsetLeft,d=l.height-c.clientX-e.offsetTop):(A=c.clientX-e.offsetLeft,d=c.clientY-e.offsetTop),s.info(`F${n[c.identifier]}=(${A}, ${d})`);let p=t.normalizeAndQuantizeUnsigned(A,d);i.setUint16(a,p.x,!0),a+=2,i.setUint16(a,p.y,!0),a+=2,i.setUint8(a,n[c.identifier],!0),a+=1,i.setUint8(a,255*c.force,!0),a+=1,i.setUint8(a,p.inRange?1:0,!0),a+=1}t.sendInputData(i.buffer)}if(t.inputOptions.fakeMouseWithTouches){let r;e.ontouchstart=function(n){if(void 0===r){let o=n.changedTouches[0];r={id:o.identifier,x:o.clientX-t.playerElementClientRect.left,y:o.clientY-t.playerElementClientRect.top},e.onmouseenter(n),t.emitMouseDown(En,r.x,r.y)}n.preventDefault()},e.ontouchend=function(n){for(let o=0;o<n.changedTouches.length;o++){let i=n.changedTouches[o];if(i.identifier===r.id){let o=i.clientX-t.playerElementClientRect.left,s=i.clientY-t.playerElementClientRect.top;t.emitMouseUp(En,o,s),e.onmouseleave(n),r=void 0;break}}n.preventDefault()},e.ontouchmove=function(e){for(let n=0;n<e.touches.length;n++){let o=e.touches[n];if(o.identifier===r.id){let e=o.clientX-t.playerElementClientRect.left,n=o.clientY-t.playerElementClientRect.top;t.emitMouseMove(e,n,e-r.x,n-r.y),r.x=e,r.y=n;break}}e.preventDefault()}}else e.ontouchstart=function(e){for(let t=0;t<e.changedTouches.length;t++)o(e.changedTouches[t]);s.info("touch start"),i(mn,e.changedTouches),e.preventDefault()},e.ontouchend=function(e){s.info("touch end"),i(yn,e.changedTouches);for(let o=0;o<e.changedTouches.length;o++)t=e.changedTouches[o],r.push(n[t.identifier]),delete n[t.identifier];var t;e.preventDefault()},e.ontouchmove=function(e){s.info("touch move"),i(bn,e.touches),e.preventDefault()}}isKeyCodeBrowserKey(e){return e>=112&&e<=123||9===e}getKeyCode(e){return e.keyCode===Pn&&"ShiftRight"===e.code?Vn:e.keyCode===Wn&&"ControlRight"===e.code?Dn:e.keyCode===xn&&"AltRight"===e.code?jn:e.keyCode}registerKeyboardEvents(){this._startListen=!0;let e=this;document.onkeydown=function(t){s.info(`key down ${t.keyCode}, repeat = ${t.repeat}`),e.sendInputData(new Uint8Array([an,e.getKeyCode(t),t.repeat]).buffer),t.keyCode===Nn&&document.onkeypress({charCode:Nn}),e.inputOptions.suppressBrowserKeys&&e.isKeyCodeBrowserKey(t.keyCode)&&t.preventDefault()},document.onkeyup=function(t){s.info(`key up ${t.keyCode}`),e.sendInputData(new Uint8Array([cn,e.getKeyCode(t)]).buffer),e.inputOptions.suppressBrowserKeys&&e.isKeyCodeBrowserKey(t.keyCode)&&t.preventDefault()},document.onkeypress=function(t){s.info(`key press ${t.charCode}`);let r=new DataView(new ArrayBuffer(3));r.setUint8(0,un),r.setUint16(1,t.charCode,!0),e.sendInputData(r.buffer)}}setupHtmlEvents(){this._startListen=!0,zn?(window.addEventListener("gamepadconnected",this.gamepadConnectHandler),window.addEventListener("gamepaddisconnected",this.gamepadDisconnectHandler)):qn&&(window.addEventListener("webkitgamepadconnected",this.gamepadConnectHandler),window.addEventListener("webkitgamepaddisconnected",this.gamepadDisconnectHandler))}gamepadConnectHandler(e){s.info("Gamepad connect handler");const t=e.gamepad;Un[t.index]={},Un[t.index].currentState=t,Un[t.index].prevState=t,s.info("gamepad: "+t.id+" connected"),Xn(this.updateStatus)}gamepadDisconnectHandler(e){s.warn("Gamepad disconnect handler"),s.warn("gamepad: "+e.gamepad.id+" disconnected"),delete Un[e.gamepad.index]}emitControllerAxisMove(e,t,r){const n=new DataView(new ArrayBuffer(11));n.setUint8(0,On),n.setUint8(1,e),n.setUint8(2,t),n.setFloat64(3,r,!0),this.sendInputData(n.buffer)}emitControllerButtonPressed(e,t,r){const n=new DataView(new ArrayBuffer(4));n.setUint8(0,gn),n.setUint8(1,e),n.setUint8(2,t),n.setUint8(3,r),this.sendInputData(n.buffer)}emitControllerButtonReleased(e,t){const r=new DataView(new ArrayBuffer(3));r.setUint8(0,vn),r.setUint8(1,e),r.setUint8(2,t),this.sendInputData(r.buffer)}scanGamepads(){let e=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():[];for(let t=0;t<e.length;t++)e[t]&&e[t].index in Un&&(Un[e[t].index].currentState=e[t])}updateStatus(){this.scanGamepads();for(const e in Un){let t=Un[e],r=t.currentState,n=t.prevState;for(let t=0;t<r.buttons.length;t++){let o=r.buttons[t],i=n.buttons[t];o.pressed&&!i.pressed?6==t?this.emitControllerAxisMove(e,5,o.value):7==t?this.emitControllerAxisMove(e,6,o.value):this.emitControllerButtonPressed(e,t,0):!o.pressed&&i.pressed?6==t?this.emitControllerAxisMove(e,5,0):7==t?this.emitControllerAxisMove(e,6,0):this.emitControllerButtonReleased(e,t):o.pressed&&i.pressed&&(6==t?this.emitControllerAxisMove(e,5,o.value):7==t?this.emitControllerAxisMove(e,6,o.value):this.emitControllerButtonPressed(e,t,1))}for(let t=0;t<r.axes.length;t+=2){let n=parseFloat(r.axes[t].toFixed(4)),o=-parseFloat(r.axes[t+1].toFixed(4));0===t?(this.emitControllerAxisMove(e,1,n),this.emitControllerAxisMove(e,2,o)):2===t&&(this.emitControllerAxisMove(e,3,n),this.emitControllerAxisMove(e,4,o))}Un[e].prevState=r}Xn(this.updateStatus)}setupNormalizeAndQuantize(e,t){if(e&&t){let r=e.clientHeight/e.clientWidth,n=t.videoHeight/t.videoWidth;if(r>n){s.info("Setup Normalize and Quantize for playerAspectRatio > videoAspectRatio");let t=r/n;this.normalizeAndQuantizeUnsigned=(r,n)=>{let o=r/e.clientWidth,i=t*(n/e.clientHeight-.5)+.5;return o<0||o>1||i<0||i>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*o,y:65536*i}},this.unquantizeAndDenormalizeUnsigned=(r,n)=>{let o=(n/65536-.5)/t+.5;return{x:r/65536*e.clientWidth,y:o*e.clientHeight}},this.normalizeAndQuantizeSigned=(r,n)=>({x:32767*(r/(.5*e.clientWidth)),y:32767*(t*n/(.5*e.clientHeight))})}else{s.info("Setup Normalize and Quantize for playerAspectRatio <= videoAspectRatio");let t=n/r;this.normalizeAndQuantizeUnsigned=(r,n)=>{let o=t*(r/e.clientWidth-.5)+.5,i=n/e.clientHeight;return o<0||o>1||i<0||i>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*o,y:65536*i}},this.unquantizeAndDenormalizeUnsigned=(r,n)=>{let o=n/65536;return{x:((r/65536-.5)/t+.5)*e.clientWidth,y:o*e.clientHeight}},this.normalizeAndQuantizeSigned=(r,n)=>({x:32767*(t*r/(.5*e.clientWidth)),y:32767*(n/(.5*e.clientHeight))})}}}emitDescriptor(e,t){let r=JSON.stringify(t),n=new DataView(new ArrayBuffer(3+2*r.length)),o=0;n.setUint8(o,e),o++,n.setUint16(o,r.length,!0),o+=2;for(let e=0;e<r.length;e++)n.setUint16(o,r.charCodeAt(e),!0),o+=2;return this.emit({type:0,intpuBuffer:n.buffer,target:this}),n.buffer}sendInputData(e){this.emit({type:0,intpuBuffer:e,target:this})}}var Fn,Gn,Bn;!function(e){e[e.Normal=0]="Normal",e[e.Interactive=1]="Interactive",e[e.MutiPlayer=2]="MutiPlayer"}(Fn||(Fn={})),function(e){e[e.Observer=0]="Observer",e[e.Player=1]="Player"}(Gn||(Gn={})),function(e){e.TASK_CREATE_SUCCESS="taskcreatesuccess",e.TASK_CREATE_FAILED="taskcreatefailed",e.RESOURCE_NOT_ENOUGH="resourcenotenough",e.CONNECT="connect",e.LOGIN_SUCCESS="loginsuccess",e.NO_OPERATION_TIMEOUT="operatetimeout",e.CLOSE="close",e.APP_CLOSE="appclose",e.GOT_REMOTE_STREAM="gotremotestream",e.GOT_REMOTE_AUDIO_STREAM="gotremoteaudiostream",e.MEDIA_LOADED="meidaloaded",e.MEDIA_LOADED2="medialoaded",e.MEDIA_PLAY_SUCCESS="mediaplaysuccess",e.MEDIA_PLAY_FAILED="mediaplayfailed",e.MEDIA_PLAY_MUTE="meidaplaymute",e.APPSTATE_CHANGE="appstatechange",e.APP_RESIZE="appresize",e.APP_MOUSE_MODE="appmousemode",e.APP_CURSOR_MODE="appcursormode",e.PLAYER_LIST="playerlist",e.PEERSTATUS_REPORT="peerstatusreport",e.APP_REQUEST_INPUT="apprequestinput",e.APP_REQUEST_GAMEPAD_OUPUT="apprequestgamepadoutput",e.CAPTURE_FRAME="captureframe",e.DATACHANNEL_OPEN="datachannelopen",e.DATACHANNEL_CLOSE="datachannelclose",e.DATACHANNEL_TEXT="datachanneltext",e.DATACHANNEL_BINARY="datachannelbinary",e.LarkEvent="larkevent",e.ERROR="error",e.INFO="info",e.AI_VOICE_STATUS="aivoicestatus",e.AI_VOICE_ASR_RESULT="aivoiceasrresult",e.AI_VOICE_DM_RESULT="aivoicedmresult",e.AI_VOICE_ERROR="aivoiceerror",e.TOUCH_CTR_MAPPING="touchctrmapping",e.RTMP_STREAM_STATE="rtmpstreamstate",e.RTMP_STREAM_ERROR="rtmpstreamerror"}(Bn||(Bn={}));var Kn={LarkSR:class extends o{constructor(e){super(),this._remoteScreenReady=!1,this.loadingTimeout=0,this._uid=0,this._isPreStart=!1,this._isTaskOwner=!0,this.onAppStateChange=this.onAppStateChange.bind(this),this.onGotRemoteStream=this.onGotRemoteStream.bind(this),this.onOperationTimeout=this.onOperationTimeout.bind(this),this.onOperationInput=this.onOperationInput.bind(this),this.onAppResize=this.onAppResize.bind(this),this.onAppMouseMode=this.onAppMouseMode.bind(this),this.onAppPlayerList=this.onAppPlayerList.bind(this),this.onAppRequestText=this.onAppRequestText.bind(this),this.onDataChannelText=this.onDataChannelText.bind(this),this.onDataChannelBinary=this.onDataChannelBinary.bind(this),this.onDataChannelOpen=this.onDataChannelOpen.bind(this),this.onDataChannelClose=this.onDataChannelClose.bind(this),this.onCursorStyle=this.onCursorStyle.bind(this),null==e.handelRootElementSize||null==e.handelRootElementSize||null!=e.handleRootElementSize&&null!=e.handleRootElementSize||(e.handleRootElementSize=e.handelRootElementSize),this._config=e,null!=this._config.playTimeout&&null!=this._config.playTimeout||(this._config.playTimeout=20),this._params=He.setUpWithSDKConfig(He.copyAndCreate(),e),s.logLevel=this._params.logLevel,s.info("create larksr ",e),this._rootElement=e.rootElement,d.init(this._params.language),this._screenState=new ut(e.rootElement,this._params,this,e.handleRootElementSize,e.onlyHandleRootElementTransform),this._app=new Ye(this),this.iframeHandler=new st(this),this.iframeHandler.listenParent(),this._fullScreen=new Et,this._lockPointer=new St(document.documentElement),null!=e.handleRootElementSize&&1!=e.handleRootElementSize||function(){const e=document.getElementsByTagName("html")[0];e&&e.style&&(e.style.margin="0",e.style.padding="0",e.style.overflow="hidden",e.style.width="100%",e.style.height="100%");const t=document.body;t&&t.style&&(t.style.margin="0",t.style.padding="0",t.style.overflow="hidden",t.style.width="100%",t.style.height="100%")}(),this._view=new tn({target:e.rootElement,props:{screenState:this.screenState,ui:d.ui,serverAddress:e.serverAddress?e.serverAddress:"",syncApp:!1,appState:this.appState,isMobile:b.isMobile,appParams:this._params,loadingBgUrl:e.loadingBgUrl?e.loadingBgUrl:"",mutePlayWhenFailed:null==e.mutePlayWhenFailed||e.mutePlayWhenFailed,touchPonitEnable:!0,autoPlay:null==e.autoPlay||e.autoPlay,showPlayButton:null==e.showPlayButton||e.showPlayButton}}),this._screenState.on(0,(e=>{s.info("on resize",e),this._view.$set({screenState:this._screenState}),this.isPixelStreaming&&this.pixelInput.setupMouseAndFreezeFrame(this.containerElement,this.videoElement)})),this._op=new Ot(this._view.getContainerComponent(),this),this.pixelInput=new _n(this),this.setupListener()}get params(){return this._params}get playerModeType(){return this._params.playerMode}get userType(){return this._params.userType}get isObMode(){return this.playerModeType!=Fn.Normal&&this.userType==Gn.Observer}get isInteractiveMode(){return this.playerModeType!=Fn.Normal}get isPixelStreaming(){return this.params.appliType===Qe.PIXEL_STREAMING}get appState(){return this._app.state}get app(){return this._app}get remoteScreenReady(){return this._remoteScreenReady}set remoteScreenReady(e){this._remoteScreenReady=e}get screenState(){return this._screenState}set scaleMode(e){this._screenState.scaleMode=e}get mouseZoomDirection(){return this.op.mouseZoomDirection}set mouseZoomDirection(e){this.op.mouseZoomDirection=e}get op(){return this._op}get fullScreen(){return this._fullScreen}get lockPointer(){return this._lockPointer}get videoElement(){return this._view.getVideo()}get videoComponent(){return this._view.getVideoComponent()}get audioElement(){return this._view.getAudio()}get isSeprateAudioTrack(){return this._view.isSeprateAudioTrack()}get containerElement(){return this._view.getContainerComponent()}get viewportElement(){return this._view.getViewportComponent()}set isEnableTouchPonit(e){this._view.$set({touchPonitEnable:e})}set isEnableTouchPoint(e){this._view.$set({touchPonitEnable:e})}get virtualCursorPosition(){return{x:this._view.cursorPosition.x+this.screenState.container.marginLeft,y:this._view.cursorPosition.y+this.screenState.container.marginTop}}get virtualCursorPositionRaw(){return{x:this._view.cursorPosition.x,y:this._view.cursorPosition.y}}set isEnableLoadingStateBar(e){this._view.$set({showLoadingStateBar:e})}get rootElement(){return this._rootElement}get serverAddress(){return this.config.serverAddress?this.config.serverAddress:""}get serverIp(){return new URL(this.serverAddress).hostname}get config(){return this._config}get uid(){return this._uid}get isPreStart(){return this._isPreStart}isTaskOwner(){return this._isTaskOwner}set initCursorMode(e){this._screenState.initCursorMode=e,this.resetAppMouseLockState(),this.lockPointer.isLockPointer&&this.lockPointer.exitPointerLock()}get initCursorMode(){return this._screenState.initCursorMode}get audioDeviceId(){var e;return null===(e=this.app)||void 0===e?void 0:e.audioDeviceId}get audioTrack(){var e;return null===(e=this.app)||void 0===e?void 0:e.audioTrack}get videoDeviceId(){var e;return null===(e=this.app)||void 0===e?void 0:e.videoDeviceId}get videoTrack(){var e;return null===(e=this.app)||void 0===e?void 0:e.videoTrack}updateServerAddress(e){this._config.serverAddress=e,this._view.$set({serverAddress:this._config.serverAddress})}initSDKAuthCode(e){return this._config.authCode=e,new Promise(((e,t)=>{e()}))}async connectWithPxyHost(e){const t=await nt.HostAppliGetUrl(e);this._config.serverAddress=t.origin,this._view.$set({serverAddress:this._config.serverAddress}),await this.connect(Object.assign(Object.assign({},e),t.params))}async connect(e){if(!this._config.authCode)throw s.err("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置"),new Error("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置");if(!this._config.serverAddress)throw new Error("服务器地址未设置");try{const t=await nt.GetStartInfo(this._config.serverAddress,Object.assign({sdkId:this._config.authCode},e));this.setAppliParams(et(t)),this.emit({type:Bn.TASK_CREATE_SUCCESS,data:Object.assign({},this.params)}),this.$emit(p.LK_TASK_CREATE_SUCCESS,Object.assign({},this.params)),await this.start()}catch(e){throw s.warn("enter app failed",e),0===e.type?(e.eventType=Bn.RESOURCE_NOT_ENOUGH,this.emit({type:Bn.RESOURCE_NOT_ENOUGH,data:e}),this.$emit(p.LK_RESOURCE_NOT_ENOUGH,e,"RESOURCE NOT ENOUGH")):(e.eventType=Bn.TASK_CREATE_FAILED,this.emit({type:Bn.TASK_CREATE_FAILED,data:e}),this.$emit(p.LK_TASK_CREATE_FAILED,e,"TASK CREATE FAILED")),e}}setNickname(e){this._params.nickname=e}setAppliParams(e){this._params=He.setUpWithSDKConfig(He.copyAndCreate(e),this.config),this.screenState.reset(this._params),d.init(this._params.language),this._view.$set({appParams:this._params}),s.logLevel=this._params.logLevel,this.op.mouseZoomDirection=this._params.mouseZoomDirection}start(){return new Promise(((e,t)=>this.params.taskid?this.params.appServer?this.params.appPort?(nt.ClientInfo(this.config,this.params),this.config.serverAddress&&nt.GetTouchCtrMapping(this.config.serverAddress,this.params.appliId).then((e=>{this.emit({type:Bn.TOUCH_CTR_MAPPING,data:e,code:0})})).catch((e=>{s.warn(e)})),this.params.debugTask?this.startProcess():this.taskProcess(),void e()):(s.err("启动流程失败,渲染服务器的端口号为空"),void t("启动流程失败,渲染服务器的端口号为空。请确保正确调用接口获取到参数")):(s.err("启动流程失败,渲染服务器的IP地址为空"),void t("启动流程失败,渲染服务器的IP地址为空。请确保正确调用接口获取到参数")):(s.err("启动流程失败,taskID为空"),void t("启动流程失败,taskID为空。请确保正确调用接口获取到参数"))))}restart(){this._app.restart()}restartApp(){this._app.restartApp()}close(){this._app.disConnect()}destroy(){this.close(),this._view.$destroy()}setMobileForceLandScape(e){this.params.mobileForceLandscape=e,this.screenState.setMobileForceLandScape(e)}changeOperater(e){var t;null===(t=this._app)||void 0===t||t.changeOperater(e)}inputText(e){var t;this._op.updateOperation(),null===(t=this._app)||void 0===t||t.inputText(e)}aiDmTextInput(e){var t;return this._op.updateOperation(),null===(t=this._app)||void 0===t?void 0:t.aiDmTextInput(e)}startAiDmVoiceInput(){var e;return this._op.updateOperation(),null===(e=this._app)||void 0===e?void 0:e.startAiDmVoiceInput()}stopAiDmVoiceInput(){var e;return null===(e=this._app)||void 0===e?void 0:e.stopAiDmVoiceInput()}sendTextToDataChannel(e){var t;this._op.updateOperation(),null===(t=this._app)||void 0===t||t.sendTextToDataChannel(e)}sendBinaryToDataChannel(e){this._op.updateOperation(),this._app.sendBinaryToDataChannel(e)}postMsg(e,t="",r=""){L.IsIframe()&&null!=parent&&parent.postMessage({prex:ot,type:e,data:t,message:""==r?f.GetEventMessageByType(e):r},"*")}quit(){if(L.IsIframe())return s.warn("cant quit in iframe"),window.opener=null,window.open("","_self"),window.close(),void this.postMsg(p.LK_USER_REQUEST_QUIT);const e=window.WeixinJSBridge;e?e.call("closeWindow"):window.history&&window.history.length>1?window.history.back():(window.opener=null,window.open("","_self"),window.close())}resetAppMouseLockState(){this.op.resetAppMouseLockState()}captrueFrame(e,t){return this._view.captrueFrame(e,t)}sendInput(e){var t;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(t=this._op)||void 0===t||t.$emitInputEvent(e)}mouseMove(e,t,r,n){this.moseMove(e,t,r,n)}moseMove(e,t,r,n){var o;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(o=this._op)||void 0===o||o.$emitMoseMove(e,t,r,n)}mouseTap(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseTap(e,t,r)}mouseDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseDown(e,t,r)}mouseUp(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseUp(e,t,r)}mouseWheel(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitMouseWheel(e,t,r)}keyDown(e,t){const r=ht[e];r&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([an,r.vkey,t]).buffer):this._op.$emitKeyDown(r.vkey,t))}keyUp(e){const t=ht[e];t&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([cn,t.vkey]).buffer):this._op.$emitKeyUp(t.vkey))}gamepadButtonDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitGamepadButtonDown(e,t,r)}gamepadButtonUp(e,t){var r;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(r=this._op)||void 0===r||r.$emitGamepadButtonUp(e,t)}gamepadTrigger(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitGamepadTrigger(e,t,r)}joystick(e,t,r,n,o){var i;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(i=this._op)||void 0===i||i.$emitJoystick(e,t,r,n,o)}touchDown(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchDown(e,t,r)}touchMove(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchMove(e,t,r)}touchUp(e,t,r){var n;this.isPixelStreaming?s.warn("pixel streaming not support extern input yet."):null===(n=this._op)||void 0===n||n.$emitTouchUp(e,t,r)}getMouseButtonType(e){switch(e){case"left":return c.CloudLark.MouseKey.LEFT;case"mid":return c.CloudLark.MouseKey.MIDDLE;case"right":return c.CloudLark.MouseKey.RIGHT}}setAudioEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setAudioEnable(e)}setVideoEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setVideoEnable(e)}setShareEnable(e){var t;return null===(t=this.app)||void 0===t?void 0:t.setShareEnable(e)}closeAudio(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeAudio()}closeVideo(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeVideo()}closeShare(){var e;return null===(e=this.app)||void 0===e?void 0:e.closeShare()}async openAudio(e=""){var t;return await(null===(t=this.app)||void 0===t?void 0:t.openAudio(e))}async openVideo(e=!1,t="",r=0,n=0){var o;return await(null===(o=this.app)||void 0===o?void 0:o.openVideo(e,t))}async openDefaultMedia(e=!0,t=!0){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openDefaultMedia(e,t))}async openShareMediaDevice(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.openShareMediaDevice())}async getConnectedAudioinputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var e;return await(null===(e=this.app)||void 0===e?void 0:e.getConnectedVideoinputDevices())}async getConnectedDevices(e){var t;return await(null===(t=this.app)||void 0===t?void 0:t.getConnectedDevices(e))}async openAudioDevice(e,t="audioinput"){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openAudioDevice(e,t))}async openCamera(e,t=0,r=0){var n;return await(null===(n=this.app)||void 0===n?void 0:n.openCamera(e,t,r))}async openUserMeida(e,t=!1){var r;return await(null===(r=this.app)||void 0===r?void 0:r.openUserMeida(e,t))}addMediaTrack(e,...t){var r;return null===(r=this.app)||void 0===r?void 0:r.addMediaTrack(e,...t)}removeMediaTrack(e){var t;return null===(t=this.app)||void 0===t?void 0:t.removeMediaTrack(e)}requestUserMediaPermission(e){var t;return null===(t=this.app)||void 0===t?void 0:t.requestUserMediaPermission(e)}StartCloudLiveStreaming(e){var t;return null===(t=this.app)||void 0===t?void 0:t.StartCloudLiveStreaming(e)}StopLiveStreaming(){var e;return null===(e=this.app)||void 0===e?void 0:e.StopLiveStreaming()}async getTouchCtrMapping(e=""){if(!this.config.serverAddress)throw new Error("serverAddress not set");return await nt.GetTouchCtrMapping(this.config.serverAddress,e||this.params.appliId)}$emit(e,t="",r=""){for(const t of it)if(t==e){nt.LogError(e,r+" "+f.GetEventMessageByType(e),"appliId="+this.params.appliId+"&taskId="+this.params.taskid,this.config);break}this.emit(this.createEvent(e,t,r)),this.postMsg(e,t,r)}$emitError(e="",t=0){this.emit({target:this,type:Bn.ERROR,message:e,code:t})}$emitInfo(e="",t=0){this.emit({target:this,type:Bn.INFO,message:e,code:t})}createEvent(e,t="",r=""){return{type:Bn.LarkEvent,target:this,data:t,message:r,larkevent:e}}setupListener(){this.app.on(Je.LOGIN,(e=>{this._uid=e.data.uid,this._isPreStart=e.data.isPrestart,s.info("login success ",e.data,this.uid,this.isPreStart),this.emit({type:Bn.LOGIN_SUCCESS,data:e.data})}),this),this.app.on(Je.ERROR,(e=>{this.emit({type:Bn.ERROR,message:e.data.message,code:e.data.code})}),this),this.app.on(Je.INFO,(e=>{this.emit({type:Bn.INFO,message:e.data.message,code:e.data.code})}),this),this.app.on(Je.APP_CLOSE,(e=>{this.emit({type:Bn.APP_CLOSE,data:e.data,message:e.data})}),this),this.app.on(Je.REMOTE_STREAM,this.onGotRemoteStream,this),this.app.on(Je.REMOTE_AUDIO_STREAM,this.onGotRemoteAudioStream,this),this.app.on(Je.APP_STATE_CHANGE,this.onAppStateChange,this),this.app.on(Je.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.app.on(Je.LK_APP_RESIZE,this.onAppResize,this),this.app.on(Je.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.app.on(Je.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.app.on(Je.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.app.on(Je.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.app.on(Je.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.app.on(Je.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.app.on(Je.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.app.on(Je.NET_STATE,(e=>{this.emit({type:Bn.PEERSTATUS_REPORT,data:e.data})})),this.app.on(Je.AI_VOICE_STATUS,(e=>{this.emit({type:Bn.AI_VOICE_STATUS,data:e.data})})),this.app.on(Je.AI_VOICE_ASR_RESULT,(e=>{this.emit({type:Bn.AI_VOICE_ASR_RESULT,data:e.data})})),this.app.on(Je.AI_VOICE_DM_RESULT,(e=>{this.emit({type:Bn.AI_VOICE_DM_RESULT,data:e.data})})),this.app.on(Je.AI_VOICE_ERROR,(e=>{this.emit({type:Bn.AI_VOICE_ERROR,data:e.data})})),this.app.on(Je.RTMP_STREAM_STATE,(e=>{this.emit({type:Bn.RTMP_STREAM_STATE,data:e.data})})),this.app.on(Je.RTMP_STREAM_ERROR,(e=>{this.emit({type:Bn.RTMP_STREAM_ERROR,data:e.data})})),this.op.on(1,this.onOperationTimeout,this),this.op.on(2,(e=>{var t;e.data&&(null===(t=this._app)||void 0===t||t.inputText(e.data))}),this),this.op.on(3,(e=>{(b.isMobile||e.cursorPoint&&this.lockPointer.isLockPointer)&&this._view.$set({cursorPosition:e.cursorPoint})})),this._view.$on("pitcureCaptured",(e=>{s.info("on capture ",e.detail),this.emit({type:Bn.CAPTURE_FRAME,target:this,data:e.detail}),e.detail.data?this.$emit(p.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA,e.detail):this.$emit(p.LK_USER_CAPTURE_FRAME,e.detail.base64)})),this._view.$on("mediaLoaded",(()=>{this.app.peerConnectionCreated?(this.app.state=Ke.MEDIA_LOADED,this.emit({type:Bn.MEDIA_LOADED,target:this}),this.emit({type:Bn.MEDIA_LOADED2,target:this}),this.$emit(p.LK_VIDEO_LOADED),window.clearTimeout(this.loadingTimeout)):s.warn("peerConnectionCreated already released")})),this._view.$on("mediaPlayed",(()=>{if(this.app.peerConnectionCreated){this.app.state=Ke.MEDIA_PLAYED,this.$emit(p.LK_VIDEO_PLAY_SUCCSS),this.emit({type:Bn.MEDIA_PLAY_SUCCESS,target:this}),nt.TaskInfoClientStarted(this.config,this.params);try{this.params.audioInput&&this.params.audioInputAutoStart&&!this.audioTrack&&this.params.videoInput&&this.params.videoInputAutoStart&&!this.videoTrack?this.openDefaultMedia(!0,!0):(this.params.audioInput&&this.params.audioInputAutoStart&&!this.audioTrack&&this.openAudio(),this.params.videoInput&&this.params.videoInputAutoStart&&!this.videoTrack&&this.openVideo())}catch(e){this.$emitInfo(JSON.stringify(e))}}else s.warn("peerConnectionCreated already released")})),this._view.$on("mediaPlayedMute",(()=>{s.info("video play success"),this.emit({type:Bn.MEDIA_PLAY_MUTE,target:this})})),this._view.$on("mediaPlayedFailed",(()=>{this.$emit(p.LK_VIDEO_PLAY_FAILED),this.emit({type:Bn.MEDIA_PLAY_FAILED,target:this})})),this._view.$on("requestFullScreen",(()=>{"iOS"!=b.os&&this.fullScreen.launchFullScreen()}))}async taskProcess(){try{const e=await nt.GetTask(this.config,this.params.taskid);if(0!=e.status){s.info("task 获取成功"),this._view.$set({syncApp:!1}),this._params.shareUrl=$e.getBoolOption(e.shareUrl),this._params.textInputEventPrompt=$e.getNumberBoolOption(e.textInputEventPrompt,!0),this._params.audioInput=$e.getNumberBoolOption(e.audioInput,!1);const t=$e.getNumberBoolOption(e.audioInputAutoStart,!1),r=null==this._config.audioInputAutoStart?t:this._config.audioInputAutoStart;this._params.audioInputAutoStart=this._params.audioInput&&r,this._params.videoInput=$e.getNumberBoolOption(e.videoInput,!1);const n=$e.getNumberBoolOption(e.videoInputAutoStart,!1),o=null==this._config.videoInputAutoStart?n:this._config.videoInputAutoStart;this._params.videoInputAutoStart=this._params.videoInput&&o,this._params.liveStreaming=$e.getNumberBoolOption(e.liveStreaming,!1),this.startProcess()}else s.info("task 同步中,重新获取"),this._view.$set({syncApp:!0}),window.setTimeout((()=>{this.taskProcess()}),1500)}catch(e){this._view.$set({syncApp:!1}),this.$emitError("获取Task信息失败 "+JSON.stringify(e))}}startProcess(){this.app.init(),this.loadingTimeout=window.setTimeout((()=>{this.appState<Ke.MEDIA_LOADED&&(s.warn("LOADING TIMEOUT!",this.params.loadingTimeout),this.app.disConnect(),this.$emitError(d.message.LK_LOADING_TIMEOUT,p.LK_LOADING_TIMEOUT),this.$emit(p.LK_LOADING_TIMEOUT))}),1e3*this.params.loadingTimeout),nt.PortMappingList(this.config).then((e=>{const t=e;if(this.config.publicPortMapping)for(let e in t)this.config.publicPortMapping.hasOwnProperty(e)||(this.config.publicPortMapping[e]=t[e]);else this.config.publicPortMapping=t;s.info("update public port mapping ",this.config.publicPortMapping)})).catch((e=>{s.warn("get port mapping failed ",e)})).finally((()=>{this.app.start()}))}onAppStateChange(e){e.state==Ke.MEDIA_LOADED?(s.info("app state change to media ready"),this.loadingTimeout&&window.clearTimeout(this.loadingTimeout),(null==this.config.handlInput||this.config.handlInput)&&(s.info("media ready ",this.params),this.isPixelStreaming?(this.screenState.appSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},this.emit({type:Bn.APP_RESIZE,data:this.screenState.appSize}),this.pixelInput.setupMouseAndFreezeFrame(this.containerElement,this.videoElement),this.pixelInput.startListen||(this.params.initCursorMode?this.pixelInput.registerLockedMouseEvents(this.containerElement):this.pixelInput.registerHoveringMouseEvents(this.containerElement),this.pixelInput.registerInputs(this.containerElement),this.pixelInput.registerKeyboardEvents(),this.pixelInput.setupHtmlEvents(),this.pixelInput.on(0,(e=>{this.isObMode?s.info("skip operation when use mousemode"):e.intpuBuffer&&this.app.sendInputBuffer(e.intpuBuffer)})))):this.op.startListen||(this.op.on(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.startListening()))):e.state>=Ke.RTC_RETRY&&(s.info("app state change to before destory"),(null==this.config.handlInput||this.config.handlInput)&&(this.op.off(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.stopListenling())),e.state==Ke.WEBSOCKET_CHANNEL_OPEN&&this.emit({type:Bn.CONNECT}),e.state!=Ke.RTC_CLOSED&&e.state!=Ke.WEBSOCKET_CLOSED||this.emit({type:Bn.CLOSE}),this._view.appState=e.state,this.emit({type:Bn.APPSTATE_CHANGE,data:e.state}),s.info("on appstate change",e.state)}onGotRemoteStream(e){s.info("onGotRemoteStream",e,e.data.getVideoTracks()),this._view.setVideoSrcObj(e.data),this.emit({target:this,type:Bn.GOT_REMOTE_STREAM,data:e}),"iOS"===b.os&&b.isWeChat&&L.IsIframe()&&this.appState<=Ke.MEDIA_PLAYED&&(this._view.playVideo(),this.emit({target:this,type:Bn.MEDIA_PLAY_FAILED}),this.$emit(p.LK_VIDEO_PLAY_FAILED))}onGotRemoteAudioStream(e){s.info("onGotAudioRemoteStream",e,e.data.getVideoTracks()),this._view.setAudioSrcObj(e.data),this.emit({target:this,type:Bn.GOT_REMOTE_AUDIO_STREAM,data:e})}onCursorStyle(e){this.emit({type:Bn.APP_CURSOR_MODE,data:e.data}),this.screenState.cursorStyle=e.data,s.info("onCursorStyle",this.screenState.cursorStyle)}onAppResize(e){this.screenState.appSize=e.data,s.info("onAppResize ",e),this.emit({type:Bn.APP_RESIZE,data:e.data})}onAppMouseMode(e){this.screenState.appMouseMode=e.data,this.op.setAppMouseMode(e.data),this.emit({type:Bn.APP_MOUSE_MODE,data:e.data})}onAppPlayerList(e){let t=e.data,r=[];for(let e of t){let t={isCurrent:e.id===this.uid,userId:e.id?e.id:0,nickName:e.nickName?e.nickName:"",isTaskOwner:!!e.taskOwner,userType:e.controller?Gn.Player:Gn.Observer};if(t.isCurrent){if(this.userType!=t.userType){let e=t.userType==Gn.Player?"您已获得操作权限":"您已失去操作权限";this.$emitInfo(e),this.lockPointer.isLockPointer&&t.userType!=Gn.Player&&this.lockPointer.exitPointerLock()}this.params.userType=t.userType,this._uid=t.userId,this._isTaskOwner=t.isTaskOwner,this._op.resetAppMouseLockState(),this._view.$set({appParams:this._params}),this.screenState.resize(),s.info("upate current player ",t,this.userType,this.params.userType)}r.push(t)}this.emit({type:Bn.PLAYER_LIST,data:r})}onAppRequestText(e){this.params.textInputEventPrompt?this.emit({type:Bn.APP_REQUEST_INPUT,data:e.data}):s.warn("app set skip textinput event.")}onDataChannelText(e){this.emit({type:Bn.DATACHANNEL_TEXT,data:e.data.string,rawData:e.data.rawString})}onDataChannelBinary(e){this.emit({type:Bn.DATACHANNEL_BINARY,data:e.data})}onDataChannelOpen(e){this.emit({type:Bn.DATACHANNEL_OPEN,data:e.data})}onDataChannelClose(e){this.emit({type:Bn.DATACHANNEL_CLOSE,data:e.data})}onOperationTimeout(){s.warn("onOperationTimeout"),this.app&&this.app.disConnect(),this.emit({type:Bn.NO_OPERATION_TIMEOUT}),this.emit({type:Bn.ERROR,message:d.message.noOperationTimeout})}onOperationInput(e){this.isObMode?s.info("skip operation when use mousemode"):(s.info("onOperationInput",JSON.stringify(e.input)),this.app&&e.input&&this.app.sendInput(e.input))}},API:nt,AppliParams:He,LoadAppliParamsFromUrl:function(){let e=$e.getStringOption(L.queryString("touchOperateMode"),"mouse");return e="touch"===e||"touchScreen"===e?"touchScreen":"mouse",{appServer:L.queryString("renderServerIp"),appPort:L.queryString("renderServerPort"),renderSSLServerPort:$e.getStringOption(L.queryString("renderSSLServerPort"),""),taskid:L.queryString("taskId"),appliType:$e.getIntOption(L.queryString("appliType"),Qe.SHARED),appliName:decodeURI(L.queryString("appliName")),codeRate:$e.getIntOption(L.queryString("codeRate"),v.CodeRate),audioCodeRate:$e.getIntOption(L.queryString("audioCodeRate"),128),frameRate:$e.getIntOption(L.queryString("frameRate"),v.FrameRate),width:$e.getIntOption(L.queryString("width"),v.OriginW),height:$e.getIntOption(L.queryString("height"),v.OriginH),scaleMode:$e.getScaleMode(parseInt(L.queryString("initWinSize"),10)),network:$e.getNetwork(parseInt(L.queryString("network"),10)),preferPubOutIp:$e.getStringOption(L.queryString("preferPublicIp"),""),logLevel:$e.getLogLevel(L.queryString("logLevel")),noOperationTimeout:$e.getIntOption(L.queryString("noOperationTimeout"),0),waterMark:$e.getBoolOption(L.queryString("wm"),!1),rttLimit:$e.getIntOption(L.queryString("rttLimit"),60),packetLostLimit:$e.getIntOption(L.queryString("packetLostLimit"),20),debugTask:$e.getBoolOption(L.queryString("debugTask")),wsProxy:$e.getNumberBoolOption(L.queryString("wsProxy")),debugWebServer:L.queryString("debugWebServer"),rttLimitInterval:$e.getIntOption(L.queryString("rttLimitInterval"),20),initCursorMode:$e.getNumberBoolOption(L.queryString("initCursorMode")),bgColor:$e.getBgColor(L.queryString("bgColor")),fullScreenMode:$e.getIntOption(L.queryString("fullScreenMode"),0),mobileFullScreenMode:$e.getIntOption(L.queryString("mobileFullScreenMode"),1),playerMode:$e.getIntOption(L.queryString("playerMode"),0),userType:$e.getIntOption(L.queryString("userType"),1),nickname:$e.getStringOption(L.queryString("nickname")),roomCode:$e.getStringOption(L.queryString("roomCode"),""),loadingTimeout:$e.getIntOption(L.queryString("loadingTimeout"),300),mobileForceLandscape:!!$e.getIntOption(L.queryString("mobileForceLandscape"),1),mobileVirtualJoystick:!!$e.getIntOption(L.queryString("mobileVirtualJoystick"),1),mouseZoomDirection:$e.getIntOption(L.queryString("mouseZoomDirection"),0),showPlayerList:$e.getNumberBoolOption(L.queryString("playerListToggle"),!0),preferDecoder:$e.getStringOption(L.queryString("preferDecoder"),"h264"),touchOperateMode:e,appliId:$e.getStringOption(L.queryString("appliId"),""),syncLocalToCloudClipboard:$e.getBoolOption(L.queryString("syncLocalToCloudClipboard"),!0),enableRttIcon:$e.getBoolOption(L.queryString("enableRttIcon"),!0),enableSoundRequire:$e.getBoolOption(L.queryString("enableSoundRequire"),!0),toastLevel:$e.getIntOption(L.queryString("toastLevel"),0),language:L.queryString("language"),appKey:$e.getStringOption(L.queryString("appKey"),""),groupId:$e.getStringOption(L.queryString("groupId"),""),audioInputAutoStart:$e.getBoolOption(L.queryString("audioInputAutoStart"),!1),videoInputAutoStart:$e.getBoolOption(L.queryString("videoInputAutoStart"),!1),shareUrl:!1,textInputEventPrompt:!0,audioInput:!1,videoInput:!1,liveStreaming:!1}},AppliParamsUtils:$e,LoadAppliParamsStartAppInfo:et,EventBase:o,ScaleMode:g,Capabilities:b,CloudLark:c.CloudLark,FullScreen:Et,LockPointer:St,Operation:Ot,LarkSRClientEvent:Bn,LarkEventType:p,GESTURE_TYPE:ct,KEYMAP:ht}}(),__webpack_exports__=__webpack_exports__.default,__webpack_exports__}()}));