web3dlink 2.0.15 → 2.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web3dlink.js +23572 -0
- package/dist/web3dlink.js.map +1 -0
- package/package.json +31 -13
- package/web3dlink.es.js +0 -19889
- package/web3dlink.umd.js +0 -72
package/web3dlink.umd.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
(function(p,A){typeof exports=="object"&&typeof module<"u"?A(exports):typeof define=="function"&&define.amd?define(["exports"],A):(p=typeof globalThis<"u"?globalThis:p||self,A(p.web3dlink={}))})(this,function(exports){"use strict";function createSuccessResponse(p,A,s){return{success:!0,message:p,data:A,command:s}}function createErrorResponse(p,A,s){const h={success:!1,message:p,params:A,command:s};return console.error("三维场景报错:",h),h}function createWarnResponse(p,A,s){const h={success:!1,message:p,params:A,command:s};return console.warn("三维场景警告:",h),h}let ueLogEnabled=!0;function setUELogEnabled(p){ueLogEnabled=!!p}function log(...p){ueLogEnabled&&console.log(...p)}class CommandManager{constructor(A){this.larkClient=A,this.callbacks={},this.requestId=0,this.timeout=3e3,this.markerEventCallbacks={Hovered:{},Click:{},Unhovered:{}},this.secondMarkerEventCallbacks={Hovered:{},Click:{},Unhovered:{}},this.followMarkerEventCallbacks={Hovered:{},Click:{},Unhovered:{}},this.animationOnDataCallback={Change:[]},this.mouseClickCallback={MouseClick:[]},this.vtkMouseClickCallback={},this.larkClient.on("datachanneltext",s=>{this._handleResponse(s)})}sendWithDefault(A,s,h={}){const g=this._sendPreparePayload(s,A.normalized||{});if(A.errors.length>0)return createErrorResponse(A.errors,g,s);const b=(++this.requestId).toString(),u=(h==null?void 0:h.timeout)===0?0:this.timeout,y=new Promise((v,c)=>{let i=null;u!==0&&(i=setTimeout(()=>{delete this.callbacks[b],c(new Error("Command timeout with no results"))},u)),this.callbacks[b]={resolve:v,reject:c,timeoutId:i}}),m={command:s,requestId:b,params:g};return log("消息下发成功:",m),this.larkClient.sendTextToDataChannel(JSON.stringify(m)),y.then(v=>{if(v&&v.command&&v.command===s)switch(v.status){case"info":return createSuccessResponse("操作执行成功",v.data,s);case"warn":return createWarnResponse(v.message,v.data,s);default:return createErrorResponse(v.message,v.data,s)}return createErrorResponse("返回数据格式错乱【请注意command参数】",v==null?void 0:v.command,s)}).catch(v=>v&&v.message?v.message==="Command timeout with no results"?createWarnResponse(v.message,g,s):createErrorResponse(v.message,g,s):createErrorResponse("数据返回发生错误",g,s))}_handleResponse(A){if(!(A.type==="datachanneltext"&&typeof A.data=="string"))return console.error("数据第一步解析失败:",A),null;let s;try{const m=JSON.parse(A.data.trim());if(s={command:m.command||"",message:m.message||"",data:m.data||{},status:m.status||"error",requestId:m.requestId||""},s.message==="The data channel has been connected.")return null}catch{return console.error("数据第二步解析失败:",A),null}if(this._processEventResponse(s))return;const{command:h,message:g,data:b,status:u,requestId:y}=s;if(y&&this.callbacks[y]){const{resolve:m,reject:v,timeoutId:c}=this.callbacks[y];clearTimeout(c),delete this.callbacks[y],m({command:h,message:g,data:b,status:u});return}console.warn("注意:非常规响应",s)}_sendPreparePayload(A,s){if(A==="marker.iconMarker"){const{onMarkerClick:h,onMouseHover:g,onMouseLeave:b,...u}=s||{},y=u==null?void 0:u.id;return y!=null&&y!==""?(typeof g=="function"&&(this.markerEventCallbacks.Hovered[y]=g),typeof h=="function"&&(this.markerEventCallbacks.Click[y]=h),typeof b=="function"&&(this.markerEventCallbacks.Unhovered[y]=b)):(typeof g=="function"&&(this.markerEventCallbacks.Hovered.__default=g),typeof h=="function"&&(this.markerEventCallbacks.Click.__default=h),typeof b=="function"&&(this.markerEventCallbacks.Unhovered.__default=b)),u}if(A==="marker.secondMarker"){const{onMarkerClick:h,onMouseHover:g,onMouseLeave:b,...u}=s||{},y=u==null?void 0:u.id;return y!=null&&y!==""?(typeof g=="function"&&(this.secondMarkerEventCallbacks.Hovered[y]=g),typeof h=="function"&&(this.secondMarkerEventCallbacks.Click[y]=h),typeof b=="function"&&(this.secondMarkerEventCallbacks.Unhovered[y]=b)):(typeof g=="function"&&(this.secondMarkerEventCallbacks.Hovered.__default=g),typeof h=="function"&&(this.secondMarkerEventCallbacks.Click.__default=h),typeof b=="function"&&(this.secondMarkerEventCallbacks.Unhovered.__default=b)),u}if(A==="marker.followMarker"){const{onMarkerClick:h,onMouseHover:g,onMouseLeave:b,...u}=s||{},y=u==null?void 0:u.id;return y!=null&&y!==""?(typeof g=="function"&&(this.followMarkerEventCallbacks.Hovered[y]=g),typeof h=="function"&&(this.followMarkerEventCallbacks.Click[y]=h),typeof b=="function"&&(this.followMarkerEventCallbacks.Unhovered[y]=b)):(typeof g=="function"&&(this.followMarkerEventCallbacks.Hovered.__default=g),typeof h=="function"&&(this.followMarkerEventCallbacks.Click.__default=h),typeof b=="function"&&(this.followMarkerEventCallbacks.Unhovered.__default=b)),u}if(A==="tool.onMouseClick"){const{onMouseClick:h,...g}=s||{};return typeof h=="function"&&(Array.isArray(this.mouseClickCallback.MouseClick)||(this.mouseClickCallback.MouseClick=[]),this.mouseClickCallback.MouseClick.includes(h)||this.mouseClickCallback.MouseClick.push(h)),g}if(A==="VTK.onMouseClick"){const{onMouseClick:h,...g}=s||{},b=g==null?void 0:g.id;return b!=null&&b!==""&&typeof h=="function"&&(this.vtkMouseClickCallback[b]=h),g}if(A==="VTK.offMouseClick"){const h=s==null?void 0:s.id;return h!=null&&h!==""&&delete this.vtkMouseClickCallback[h],s}if(A==="animation.onData"){const{onChange:h,...g}=s||{};return typeof h=="function"&&(Array.isArray(this.animationOnDataCallback.Change)||(this.animationOnDataCallback.Change=[]),this.animationOnDataCallback.Change.includes(h)||this.animationOnDataCallback.Change.push(h)),g}return s}_processEventResponse(A){if(!A)return!1;const{command:s,data:h={}}=A;if(s==="marker.iconMarker"){if(typeof h.recordData=="string")try{h.recordData=JSON.parse(h.recordData)}catch{}const{pointId:g,eventType:b}=h;if(!(b&&this.markerEventCallbacks))return!1;const u=this.markerEventCallbacks[b],y=(u==null?void 0:u[g])||(u==null?void 0:u.__default);return this._executeCallback(y,s,h)}if(s==="marker.secondMarker"){if(typeof h.recordData=="string")try{h.recordData=JSON.parse(h.recordData)}catch{}const{pointId:g,eventType:b}=h;if(!(b&&this.secondMarkerEventCallbacks))return!1;const u=this.secondMarkerEventCallbacks[b],y=(u==null?void 0:u[g])||(u==null?void 0:u.__default);return this._executeCallback(y,s,h)}if(s==="marker.followMarker"){if(typeof h.recordData=="string")try{h.recordData=JSON.parse(h.recordData)}catch{}const{pointId:g,eventType:b}=h;if(!(b&&this.followMarkerEventCallbacks))return!1;const u=this.followMarkerEventCallbacks[b],y=(u==null?void 0:u[g])||(u==null?void 0:u.__default);return this._executeCallback(y,s,h)}if(s==="tool.onMouseClick"){const{coordinates:g}=h;if(!(g&&this.mouseClickCallback))return!1;const b=this.mouseClickCallback.MouseClick;return this._executeCallbacks(b,s,h)}if(s==="VTK.onMouseClick"){if(!this.vtkMouseClickCallback||!Object.keys(this.vtkMouseClickCallback).length)return!1;const g=h==null?void 0:h.id,b=g?this.vtkMouseClickCallback[g]:null;return b?this._executeCallback(b,s,h):this._executeCallbacks(Object.values(this.vtkMouseClickCallback),s,h)}if(s==="animation.onData"){const{type:g}=h;if(!(g&&this.animationOnDataCallback))return!1;const b=this.animationOnDataCallback.Change;return this._executeCallbacks(b,s,h)}return!1}_executeCallback(A,s,h){if(typeof A!="function")return log(`${s}未监听:${h.eventType}`),!0;try{return A(h),!0}catch(g){return console.error(`执行${s}回调出错:`,g,h),!0}}_executeCallbacks(A,s,h){return A?Array.isArray(A)?(A.forEach(g=>this._executeCallback(g,s,h)),!0):this._executeCallback(A,s,h):!1}}const lightpink="#FFB6C1",pink="#FFC0CB",crimson="#DC143C",lavenderblush="#FFF0F5",palevioletred="#DB7093",hotpink="#FF69B4",deeppink="#FF1493",mediumvioletred="#C71585",orchid="#DA70D6",thistle="#D8BFD8",plum="#DDA0DD",violet="#EE82EE",magenta="#FF00FF",fuchsia="#FF00FF",darkmagenta="#8B008B",purple="#800080",mediumorchid="#BA55D3",darkvoilet="#9400D3",darkorchid="#9932CC",indigo="#4B0082",blueviolet="#8A2BE2",mediumpurple="#9370DB",mediumslateblue="#7B68EE",slateblue="#6A5ACD",darkslateblue="#483D8B",lavender="#E6E6FA",ghostwhite="#F8F8FF",blue="#0000FF",mediumblue="#0000CD",midnightblue="#191970",darkblue="#00008B",navy="#000080",royalblue="#4169E1",cornflowerblue="#6495ED",lightsteelblue="#B0C4DE",lightslategray="#778899",slategray="#708090",doderblue="#1E90FF",aliceblue="#F0F8FF",steelblue="#4682B4",lightskyblue="#87CEFA",skyblue="#87CEEB",deepskyblue="#00BFFF",lightblue="#ADD8E6",powderblue="#B0E0E6",cadetblue="#5F9EA0",azure="#F0FFFF",lightcyan="#E1FFFF",paleturquoise="#AFEEEE",cyan="#00FFFF",aqua="#D4F2E7",darkturquoise="#00CED1",darkslategray="#2F4F4F",darkcyan="#008B8B",teal="#008080",mediumturquoise="#48D1CC",lightseagreen="#20B2AA",turquoise="#40E0D0",auqamarin="#7FFFAA",mediumaquamarine="#00FA9A",mediumspringgreen="#00FF7F",mintcream="#F5FFFA",springgreen="#3CB371",seagreen="#2E8B57",honeydew="#F0FFF0",lightgreen="#90EE90",palegreen="#98FB98",darkseagreen="#8FBC8F",limegreen="#32CD32",lime="#00FF00",forestgreen="#228B22",green="#008000",darkgreen="#006400",chartreuse="#7FFF00",lawngreen="#7CFC00",greenyellow="#ADFF2F",olivedrab="#556B2F",beige="#F5F5DC",lightgoldenrodyellow="#FAFAD2",ivory="#FFFFF0",lightyellow="#FFFFE0",yellow="#FFFF00",olive="#808000",darkkhaki="#BDB76B",lemonchiffon="#FFFACD",palegodenrod="#EEE8AA",khaki="#F0E68C",gold="#FFD700",cornislk="#FFF8DC",goldenrod="#DAA520",floralwhite="#FFFAF0",oldlace="#FDF5E6",wheat="#F5DEB3",moccasin="#FFE4B5",orange="#FFA500",papayawhip="#FFEFD5",blanchedalmond="#FFEBCD",navajowhite="#FFDEAD",antiquewhite="#FAEBD7",tan="#D2B48C",brulywood="#DEB887",bisque="#FFE4C4",darkorange="#FF8C00",linen="#FAF0E6",peru="#CD853F",peachpuff="#FFDAB9",sandybrown="#F4A460",chocolate="#D2691E",saddlebrown="#8B4513",seashell="#FFF5EE",sienna="#A0522D",lightsalmon="#FFA07A",coral="#FF7F50",orangered="#FF4500",darksalmon="#E9967A",tomato="#FF6347",mistyrose="#FFE4E1",salmon="#FA8072",snow="#FFFAFA",lightcoral="#F08080",rosybrown="#BC8F8F",indianred="#CD5C5C",red="#FF0000",brown="#A52A2A",firebrick="#B22222",darkred="#8B0000",maroon="#800000",white="#FFFFFF",whitesmoke="#F5F5F5",gainsboro="#DCDCDC",lightgrey="#D3D3D3",silver="#C0C0C0",darkgray="#A9A9A9",gray="#808080",dimgray="#696969",black="#000000",NAMED_COLORS={lightpink,pink,crimson,lavenderblush,palevioletred,hotpink,deeppink,mediumvioletred,orchid,thistle,plum,violet,magenta,fuchsia,darkmagenta,purple,mediumorchid,darkvoilet,darkorchid,indigo,blueviolet,mediumpurple,mediumslateblue,slateblue,darkslateblue,lavender,ghostwhite,blue,mediumblue,midnightblue,darkblue,navy,royalblue,cornflowerblue,lightsteelblue,lightslategray,slategray,doderblue,aliceblue,steelblue,lightskyblue,skyblue,deepskyblue,lightblue,powderblue,cadetblue,azure,lightcyan,paleturquoise,cyan,aqua,darkturquoise,darkslategray,darkcyan,teal,mediumturquoise,lightseagreen,turquoise,auqamarin,mediumaquamarine,mediumspringgreen,mintcream,springgreen,seagreen,honeydew,lightgreen,palegreen,darkseagreen,limegreen,lime,forestgreen,green,darkgreen,chartreuse,lawngreen,greenyellow,olivedrab,beige,lightgoldenrodyellow,ivory,lightyellow,yellow,olive,darkkhaki,lemonchiffon,palegodenrod,khaki,gold,cornislk,goldenrod,floralwhite,oldlace,wheat,moccasin,orange,papayawhip,blanchedalmond,navajowhite,antiquewhite,tan,brulywood,bisque,darkorange,linen,peru,peachpuff,sandybrown,chocolate,saddlebrown,seashell,sienna,lightsalmon,coral,orangered,darksalmon,tomato,mistyrose,salmon,snow,lightcoral,rosybrown,indianred,red,brown,firebrick,darkred,maroon,white,whitesmoke,gainsboro,lightgrey,silver,darkgray,gray,dimgray,black};function analyzeColorValue(p){if(!p||typeof p!="string")return!1;const A=p.trim().toLowerCase(),s=/^#?([0-9A-Fa-f]{3})$/,h=/^#?([0-9A-Fa-f]{6})$/,g=/^#?([0-9A-Fa-f]{8})$/,b=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,u=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0\.\d+)\s*\)$/,y=/^(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)$/;if(g.test(A))return`#${A.replace("#","").toUpperCase()}`;if(h.test(A))return`#${A.replace("#","").toUpperCase()}FF`;if(s.test(A))return`#${A.replace("#","").split("").map(c=>c+c).join("").toUpperCase()}FF`;if(NAMED_COLORS[A]){const m=NAMED_COLORS[A].replace("#","").toUpperCase();if(m.length===8)return`#${m}`;if(m.length===6)return`#${m}FF`}if(b.test(A)){const m=A.match(b);return convertRgbToHex8(m)}if(u.test(A)){const m=A.match(u);return convertRgbaToHex8(m)}if(y.test(A)){const m=A.match(y);return convertSimpleRgbaToHex8(m)}return!1}function convertRgbToHex8(p){if(!p||p.length<4)return!1;const[,A,s,h]=p,g=parseInt(A),b=parseInt(s),u=parseInt(h);return g<0||g>255||b<0||b>255||u<0||u>255?!1:`#${(g<<16|b<<8|u).toString(16).padStart(6,"0").toUpperCase()}FF`}function convertRgbaToHex8(p){if(!p||p.length<5)return!1;const[,A,s,h,g]=p,b=parseInt(A),u=parseInt(s),y=parseInt(h),m=parseFloat(g);if(b<0||b>255||u<0||u>255||y<0||y>255||m<0||m>1)return!1;const v=(b<<16|u<<8|y).toString(16).padStart(6,"0").toUpperCase(),c=Math.round(m*255).toString(16).padStart(2,"0").toUpperCase();return`#${v}${c}`}function convertSimpleRgbaToHex8(p){if(!p||p.length<5)return!1;const[,A,s,h,g]=p,b=parseFloat(A),u=parseFloat(s),y=parseFloat(h),m=parseFloat(g),v=b<=1&&u<=1&&y<=1;let c,i,e;if(v){if(b<0||b>1||u<0||u>1||y<0||y>1)return!1;c=Math.round(b*255),i=Math.round(u*255),e=Math.round(y*255)}else{if(b<0||b>255||u<0||u>255||y<0||y>255)return!1;c=Math.round(b),i=Math.round(u),e=Math.round(y)}if(m<0||m>1)return!1;const t=(c<<16|i<<8|e).toString(16).padStart(6,"0").toUpperCase(),r=Math.round(m*255).toString(16).padStart(2,"0").toUpperCase();return`#${t}${r}`}function isValidNumber(p,A=null,s=null){return!(p==null||typeof p!="number"||isNaN(p)||A!==null&&p<A||s!==null&&p>s)}function validateCoordinatesRequired(p){const A=[];if(!p||!Array.isArray(p))A.push("[coordinates] 为必填项,且必须是数组类型");else if(p.length<3)A.push("[coordinates]包含:[经度, 纬度, 高程]");else{const[s,h,g]=p;isValidNumber(s,-180,180)||A.push("[coordinates[0]]经度取值范围:-180~180"),isValidNumber(h,-90,90)||A.push("[coordinates[1]]纬度取值范围:-90~90"),isValidNumber(g)||A.push("[coordinates[2]]高度必须是数字类型")}return A}function validateRequiredNumber(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[R,x,P,I,M]=p;P&&typeof P=="object"&&!Array.isArray(P)?A={value:R,field:x,...P}:A={value:R,field:x,min:P,max:I,normalized:M}}const{value:s,field:h,label:g,required:b=!0,min:u=null,max:y=null,normalized:m,defaultValue:v,assign:c}=A,i=h||g||"field",e=g||i,t=[],r=!(s==null||s===""),d=R=>{const x=(P,I,M)=>{if(!P||typeof P!="object")return;const N=I.split("."),K=N.pop();let j=P;for(const le of N)(!(le in j)||typeof j[le]!="object"||j[le]===null)&&(j[le]={}),j=j[le];j[K]=M};m&&i?i.includes(".")?x(m,i,R):m[i]=R:typeof c=="function"&&c(R)};if(!r){if(b)t.push(`[${e}]为必填项`);else if(v!=null){const R=typeof v=="number"?v:Number(v);Number.isNaN(R)||d(R)}return t}return s===null?(t.push(`[${e}]不能为null`),t):(isValidNumber(s,u,y)?d(s):u!==null&&y!==null?t.push(`[${e}]取值范围:${u}~${y}`):u!==null?t.push(`[${e}]必须≥${u}`):y!==null?t.push(`[${e}]必须≤${y}`):t.push(`[${e}]必须是数字类型`),t)}function validateOptionalNumber(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[d,R,x=null,P=null]=p;A={value:d,field:R,min:x,max:P}}const{value:s,field:h,label:g,min:b=null,max:u=null,normalized:y,defaultValue:m,assign:v}=A,c=h||g||"field",i=g||c,e=[],t=!(s==null||s===""),r=d=>{const R=(x,P,I)=>{if(!x||typeof x!="object")return;const M=P.split("."),N=M.pop();let K=x;for(const j of M)(!(j in K)||typeof K[j]!="object"||K[j]===null)&&(K[j]={}),K=K[j];K[N]=I};y&&c?c.includes(".")?R(y,c,d):y[c]=d:typeof v=="function"&&v(d)};if(!t){if(m!=null){const d=typeof m=="number"?m:Number(m);if(!Number.isNaN(d)){const R=Array.isArray(m)?[...m]:m&&typeof m=="object"?{...m}:m;y[c]=R}}return e}return isValidNumber(s,b,u)?r(s):b!==null&&u!==null?e.push(`[${i}]取值范围:${b}~${u}`):b!==null?e.push(`[${i}]必须≥${b}`):u!==null?e.push(`[${i}]必须≤${u}`):e.push(`[${i}]必须是数字类型`),e}function validateRequiredString(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[t,r]=p;A={field:t,value:r}}const{field:s,label:h,value:g,normalized:b,defaultValue:u,assign:y}=A,m=s||h||"field",v=h||m,c=[],i=!(g==null||g===""),e=t=>{const r=(d,R,x)=>{if(!d||typeof d!="object")return;const P=R.split("."),I=P.pop();let M=d;for(const N of P)(!(N in M)||typeof M[N]!="object"||M[N]===null)&&(M[N]={}),M=M[N];M[I]=x};b&&m?m.includes(".")?r(b,m,t):b[m]=t:typeof y=="function"&&y(t)};return i?(typeof g!="string"?c.push(`[${v}]必须是字符串类型`):g.trim()===""?c.push(`[${v}]不能为空字符串`):e(g),c):(c.push(`[${v}]为必填项`),u!=null&&typeof u=="string"&&e(u),c)}function validateOptionalString(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[t,r]=p;A={field:t,value:r}}const{field:s,label:h,value:g,normalized:b,defaultValue:u,assign:y}=A,m=s||h||"field",v=h||m,c=[],i=!(g==null||g===""),e=t=>{const r=(d,R,x)=>{if(!d||typeof d!="object")return;const P=R.split("."),I=P.pop();let M=d;for(const N of P)(!(N in M)||typeof M[N]!="object"||M[N]===null)&&(M[N]={}),M=M[N];M[I]=x};b&&m?m.includes(".")?r(b,m,t):b[m]=t:typeof y=="function"&&y(t)};return i?(typeof g!="string"?c.push(`[${v}]必须是字符串类型`):g.trim()===""?c.push(`[${v}]不能为空字符串`):e(g),c):(u!=null&&typeof u=="string"&&e(u),c)}function validateOptionalArray(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[P,I,M,N]=p;M&&typeof M=="object"&&!Array.isArray(M)?A={label:P,value:I,...M}:A={label:P,value:I,length:M,minLength:N}}const{label:s,field:h,value:g,required:b=!1,normalized:u,defaultValue:y,assign:m,length:v,minLength:c,maxLength:i}=A,e=h||s||"field",t=s||e,r=[],d=g!=null,R=P=>{const I=Array.isArray(P)?[...P]:P,M=(N,K,j)=>{if(!N||typeof N!="object")return;const le=K.split("."),fe=le.pop();let k=N;for(const W of le)(!(W in k)||typeof k[W]!="object"||k[W]===null)&&(k[W]={}),k=k[W];k[fe]=j};u&&e?e.includes(".")?M(u,e,I):u[e]=I:typeof m=="function"&&m(I)};if(!d)return b?r.push(`[${t}]为必填项`):y!==void 0&&(Array.isArray(y)?R(y):r.push(`[${t}] 默认值必须是数组类型`)),r;if(!Array.isArray(g))return r.push(`[${t}]必须是数组类型`),r;const x=typeof v=="number"?v:void 0;return x!==void 0&&g.length!==x&&r.push(`[${t}]必须是长度为${x}的数组`),typeof c=="number"&&g.length<c&&r.push(`[${t}]长度至少为${c}`),typeof i=="number"&&g.length>i&&r.push(`[${t}]长度不能超过${i}`),r.length===0&&R(g),r}function validateOptionalVector3Array(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[r,d,R]=p;A={field:r,value:d,defaultValue:R}}const{field:s,label:h,value:g,normalized:b,defaultValue:u=[0,0,0],assign:y}=A,m=s||h||"field",v=h||m,c=[],i=!(g==null||g===""),e=r=>{const d=[...r],R=(x,P,I)=>{if(!x||typeof x!="object")return;const M=P.split("."),N=M.pop();let K=x;for(const j of M)(!(j in K)||typeof K[j]!="object"||K[j]===null)&&(K[j]={}),K=K[j];K[N]=I};b&&m?m.includes(".")?R(b,m,d):b[m]=d:typeof y=="function"&&y(d)};if(!i)return Array.isArray(u)?e(u.slice(0,3).map(Number)):c.push(`[${v}] 默认值必须是数组类型`),c;if(!Array.isArray(g))return c.push(`[${v}]必须是数组类型`),c;if(g.length<3)return c.push(`[${v}]必须包含3个元素 [x, y, z]`),c;const t=g.slice(0,3).map(Number);return t.every(r=>Number.isFinite(r))?(e(t),c):(c.push(`[${v}]数组元素必须是数字`),c)}function validateOptionalColor(...p){let A;if(p.length===1&&typeof p[0]=="object"&&!Array.isArray(p[0]))A=p[0]||{};else{const[R,x,P={}]=p;A={label:R,value:x,...P}}const{label:s,field:h,value:g,required:b=!1,normalized:u,defaultValue:y,assign:m}=A,v=h||s||"field",c=s||v,i=[],e=!(g==null||g===""),t=(R,x,P)=>{if(!R||typeof R!="object")return;const I=x.split("."),M=I.pop();let N=R;for(const K of I)(!(K in N)||typeof N[K]!="object"||N[K]===null)&&(N[K]={}),N=N[K];N[M]=P},r=R=>{u&&v?v.includes(".")?t(u,v,R):u[v]=R:typeof m=="function"&&m(R)};if(!e){if(b)i.push(`[${c}]为必填项`);else if(y!=null&&y!==""){if(typeof y!="string")return i.push(`[${c}] 默认值必须是字符串类型`),i;const R=analyzeColorValue(y);R?r(R):i.push(`${c} 默认值颜色格式不正确`)}return i}if(typeof g!="string")return i.push(`[${c}] 必须是字符串类型`),i;const d=analyzeColorValue(g);return d?(r(d),i):(i.push(`${c} 颜色格式不正确`),i)}function verifyEnumerationValue(p){const{normalized:A,field:s,value:h,defaultValue:g,type:b="string",list:u=[]}=p,y=[],m=s||"field";return h==null||h===""?(g!=null&&A&&typeof A=="object"&&A!==null&&(A[m]=g),y):b==="string"&&typeof h!="string"?(y.push(`[${m}] 必须是字符串类型`),y):b==="number"&&typeof h!="number"?(y.push(`[${m}] 必须是数字类型`),y):!Array.isArray(u)||u.length===0?(y.push(`[${m}] 枚举列表配置错误`),y):u.includes(h)?(A&&typeof A=="object"&&A!==null&&(A[m]=h),y):(y.push(`[${m}] 必须是有效的值: ${u.join(", ")}`),y)}const SET_CONTROLS_TYPE_LIST=["default","first-person"];function validateOptionalBoolean(p,A,s,h,g){if(s==null||s===""){p[A]=g;return}if(typeof s!="boolean"){h.push(`[${A}]必须是布尔类型`);return}p[A]=s}function validateCameraViewConfig(p,A,s){if(s==null)return;if(typeof s!="object"||Array.isArray(s)){p.push("[cameraView]必须是对象");return}const h={},g=validateCoordinatesRequired(s.coordinates);p.push(...g),!g.length&&(h.coordinates=s.coordinates.slice(0,3).map(Number),p.push(...validateOptionalNumber({normalized:h,field:"pitch",value:s.pitch,min:-90,max:90})),p.push(...validateOptionalNumber({normalized:h,field:"yaw",value:s.yaw,min:-180,max:180})),p.push(...validateOptionalNumber({normalized:h,field:"duration",value:s.duration,defaultValue:2,min:0})),A.cameraView=h)}function validateFirstPersonConfig(p,A,s,h){if(h!=="first-person"){delete A.firstPerson;return}if(s==null){A.firstPerson={speed:2,collision:!0};return}if(typeof s!="object"||Array.isArray(s)){p.push("[firstPerson]必须是对象");return}const g={};p.push(...validateOptionalNumber({normalized:g,field:"speed",value:s.speed,defaultValue:2,min:0})),validateOptionalBoolean(g,"collision",s.collision,p,!0),A.firstPerson=g}function config(p){const A=[],s={...p};return p.isUseDragLerp!==void 0&&typeof p.isUseDragLerp!="boolean"?A.push("[isUseDragLerp]必须是布尔类型"):p.isUseDragLerp===void 0&&(s.isUseDragLerp=!0),A.push(...validateOptionalNumber({normalized:s,field:"dragLerpSpeed",value:p.dragLerpSpeed,defaultValue:9,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"dragSpeed",value:p.dragSpeed,defaultValue:5,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"pitchAngleOnSwitchDragMode",value:p.pitchAngleOnSwitchDragMode,defaultValue:3,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"scaleSpeed",value:p.scaleSpeed,defaultValue:2,min:0})),p.isUseMiddleAround!==void 0&&typeof p.isUseMiddleAround!="boolean"?A.push("[isUseMiddleAround]必须是布尔类型"):p.isUseMiddleAround===void 0&&(s.isUseMiddleAround=!1),p.isUseMousePosOnAround!==void 0&&typeof p.isUseMousePosOnAround!="boolean"?A.push("[isUseMousePosOnAround]必须是布尔类型"):p.isUseMousePosOnAround===void 0&&(s.isUseMousePosOnAround=!1),A.push(...validateOptionalNumber({normalized:s,field:"x_AroundSpeed",value:p.x_AroundSpeed,defaultValue:3,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"y_AroundSpeed",value:p.y_AroundSpeed,defaultValue:3,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"fov",value:p.fov,defaultValue:90,min:1,max:179})),{errors:A,normalized:s}}function flyTo(p){const A=[],s={...p};return A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalNumber({normalized:s,field:"pitch",value:p.pitch,min:-90,max:90})),A.push(...validateOptionalNumber({normalized:s,field:"yaw",value:p.yaw,min:-180,max:180})),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:2,min:0,max:null})),{errors:A,normalized:s}}function focusToID(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateOptionalNumber({normalized:s,field:"pitch",value:p.pitch,min:-90,max:90})),A.push(...validateOptionalNumber({normalized:s,field:"yaw",value:p.yaw,min:-180,max:180})),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:2,min:0,max:null})),A.push(...validateOptionalNumber({normalized:s,field:"screenPercent",value:p.screenPercent,defaultValue:30,min:0,max:100})),{errors:A,normalized:s}}function focusToPoint(p){const A=[],s={...p};return A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalNumber({normalized:s,field:"pitch",value:p.pitch,defaultValue:0,min:-90,max:90})),A.push(...validateOptionalNumber({normalized:s,field:"yaw",value:p.yaw,defaultValue:0,min:-180,max:180})),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:2,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"distance",value:p.distance,defaultValue:10,min:0})),{errors:A,normalized:s}}function lookAtID(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:2,min:0})),{errors:A,normalized:s}}function lookAtPoint(p){const A=[],s={...p};return A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:2,min:0})),{errors:A,normalized:s}}function aroundMode(p={}){const A=[],s={...p},h=!(p.id===void 0||p.id===null||p.id===""),g=!(p.coordinates===void 0||p.coordinates===null||p.coordinates==="");return h&&g?A.push("[id]与[coordinates]只能二选一,不能同时提供"):!h&&!g?A.push("[id]与[coordinates]必须二选一,至少提供一个"):h?(A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),delete s.coordinates):(A.push(...validateCoordinatesRequired(p.coordinates)),delete s.id),A.push(...validateOptionalNumber({normalized:s,field:"distance",value:p.distance,defaultValue:1e4,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"pitch",value:p.pitch,defaultValue:0,min:-90,max:90})),A.push(...validateOptionalNumber({normalized:s,field:"yaw",value:p.yaw,defaultValue:0,min:-180,max:180})),A.push(...validateOptionalNumber({normalized:s,field:"minDistanceToTarget",value:p.minDistanceToTarget,defaultValue:100,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"maxDistanceToTarget",value:p.maxDistanceToTarget,defaultValue:5e4,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"scaleSpeed",value:p.scaleSpeed,defaultValue:30,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"x_AroundSpeed",value:p.x_AroundSpeed,defaultValue:20,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"y_AroundSpeed",value:p.y_AroundSpeed,defaultValue:20,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"x_AnimSpeed",value:p.x_AnimSpeed,defaultValue:5,min:0})),A.push(...validateOptionalNumber({normalized:s,field:"y_AnimSpeed",value:p.y_AnimSpeed,defaultValue:5,min:0})),validateOptionalBoolean(s,"isCheckCollision",p.isCheckCollision,A,!1),validateOptionalBoolean(s,"isIgnoreAttachedActors",p.isIgnoreAttachedActors,A,!0),A.push(...validateOptionalNumber({normalized:s,field:"collisionOffset",value:p.collisionOffset,defaultValue:100,min:0})),{errors:A,normalized:s}}function dragMode(p={}){const A=[],s={...p};return{errors:A,normalized:s}}function setControls(p={}){const A=[],s={};return A.push(...verifyEnumerationValue({normalized:s,field:"type",value:p.type,defaultValue:"default",type:"string",list:SET_CONTROLS_TYPE_LIST})),validateCameraViewConfig(A,s,p.cameraView),validateFirstPersonConfig(A,s,p.firstPerson,s.type),{errors:A,normalized:s}}const validator$a={flyTo,focusToID,focusToPoint,lookAtID,lookAtPoint,config,aroundMode,dragMode,setControls};class CameraAPI{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`camera.${A}`,g=validator$a[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function normalizeEmptyArray(p){return Array.isArray(p)&&p.length===0?void 0:p}function isEmptyValue(p){return!!(p==null||p===""||Array.isArray(p)&&p.length===0)}function generateUniqueId$1(){return`marker_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function ensureIconStyle(p,A,s){const h=p==null?void 0:p[A];if(h!=null){if(typeof h!="object"||Array.isArray(h)){s.push(`${A} 必须是对象`);return}h.color!==void 0&&!isEmptyValue(h.color)&&s.push(...validateOptionalColor({normalized:h,field:"color",value:h.color})),h.size!==void 0&&!isEmptyValue(h.size)&&s.push(...validateOptionalArray({normalized:h,field:"size",value:normalizeEmptyArray(h.size),length:2})),h.padding!==void 0&&!isEmptyValue(h.padding)&&s.push(...validateOptionalArray({normalized:h,field:"padding",value:normalizeEmptyArray(h.padding),length:4})),h.backgroundColor!==void 0&&!isEmptyValue(h.backgroundColor)&&s.push(...validateOptionalColor({normalized:h,field:"backgroundColor",value:h.backgroundColor})),h.margin!==void 0&&!isEmptyValue(h.margin)&&s.push(...validateOptionalArray({normalized:h,field:"margin",value:normalizeEmptyArray(h.margin),length:4})),h.borderColor!==void 0&&!isEmptyValue(h.borderColor)&&s.push(...validateOptionalColor({normalized:h,field:"borderColor",value:h.borderColor})),h.borderWidth!==void 0&&!isEmptyValue(h.borderWidth)&&s.push(...validateOptionalNumber({normalized:h,field:"borderWidth",value:h.borderWidth,min:0})),h.borderRadius!==void 0&&!isEmptyValue(h.borderRadius)&&s.push(...validateOptionalNumber({normalized:h,field:"borderRadius",value:h.borderRadius,min:0}))}}function ensureTextStyle(p,A,s){const h=p==null?void 0:p[A];if(h!=null){if(typeof h!="object"||Array.isArray(h)){s.push(`${A} 必须是对象`);return}h.color!==void 0&&!isEmptyValue(h.color)&&s.push(...validateOptionalColor({normalized:h,field:"color",value:h.color})),h.fontSize!==void 0&&!isEmptyValue(h.fontSize)&&s.push(...validateOptionalNumber({normalized:h,field:"fontSize",value:h.fontSize,min:0})),h.typeface!==void 0&&!isEmptyValue(h.typeface)&&s.push(...verifyEnumerationValue({normalized:h,field:"typeface",value:h.typeface,type:"string",list:["Bold","Bold Italic","Regular","Italic","Light"]})),h.outlineSize!==void 0&&!isEmptyValue(h.outlineSize)&&s.push(...validateOptionalNumber({normalized:h,field:"outlineSize",value:h.outlineSize,min:0})),h.outlineColor!==void 0&&!isEmptyValue(h.outlineColor)&&s.push(...validateOptionalColor({normalized:h,field:"outlineColor",value:h.outlineColor})),h.shadowOffset!==void 0&&!isEmptyValue(h.shadowOffset)&&s.push(...validateOptionalArray({normalized:h,field:"shadowOffset",value:normalizeEmptyArray(h.shadowOffset),length:2})),h.shadowColor!==void 0&&!isEmptyValue(h.shadowColor)&&s.push(...validateOptionalColor({normalized:h,field:"shadowColor",value:h.shadowColor})),h.padding!==void 0&&!isEmptyValue(h.padding)&&s.push(...validateOptionalArray({normalized:h,field:"padding",value:normalizeEmptyArray(h.padding),length:4})),h.backgroundColor!==void 0&&!isEmptyValue(h.backgroundColor)&&s.push(...validateOptionalColor({normalized:h,field:"backgroundColor",value:h.backgroundColor})),h.margin!==void 0&&!isEmptyValue(h.margin)&&s.push(...validateOptionalArray({normalized:h,field:"margin",value:normalizeEmptyArray(h.margin),length:4})),h.borderColor!==void 0&&!isEmptyValue(h.borderColor)&&s.push(...validateOptionalColor({normalized:h,field:"borderColor",value:h.borderColor})),h.borderWidth!==void 0&&!isEmptyValue(h.borderWidth)&&s.push(...validateOptionalNumber({normalized:h,field:"borderWidth",value:h.borderWidth,min:0})),h.borderRadius!==void 0&&!isEmptyValue(h.borderRadius)&&s.push(...validateOptionalNumber({normalized:h,field:"borderRadius",value:h.borderRadius,min:0}))}}function validateConfigByMarkerType(p,A){const s=p.markerType||"default";p.config||(p.config={});const h=p.config;s==="flashIcon"?validateFlashIconConfig(h,A):s==="component"?validateComponentConfig(h,A):s==="customCom"?validateCustomComConfig(h,A):s==="menuIcon"?validateMenuIconConfig(h,A):s==="flood"?validateFloodConfig(h,A):s==="capture"?validateCaptureConfig(h,A):["anchor1","anchor2","anchor3","anchor4","anchor5","anchor6"].includes(s)?validateAnchorConfig(h,A):s==="html"?validateHtmlMarkerConfig(h,A):s==="url"?validateUrlMarkerConfig(h,A):validateDefaultConfig(h,A)}function validateHtmlMarkerConfig(p,A){A.push(...validateOptionalNumber({normalized:p,field:"scale",value:p.scale,defaultValue:1,min:0})),A.push(...validateOptionalString({normalized:p,field:"content",value:p.content,defaultValue:""}))}function validateUrlMarkerConfig(p,A){if(A.push(...validateOptionalArray({normalized:p,field:"size",value:normalizeEmptyArray(p.size),length:2,defaultValue:[400,300]})),Array.isArray(p.size)&&p.size.length===2){const[s,h]=p.size;(typeof s!="number"||Number.isNaN(s)||s<=0)&&A.push("[size[0]]必须是>0的数字"),(typeof h!="number"||Number.isNaN(h)||h<=0)&&A.push("[size[1]]必须是>0的数字")}A.push(...validateRequiredString({normalized:p,field:"url",value:p.url}))}function validateComponentConfig(p,A){A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalArray({normalized:p,field:"padding",value:normalizeEmptyArray(p.padding),length:4})),A.push(...validateOptionalString({normalized:p,field:"title",value:p.title,defaultValue:""})),ensureTextStyle(p,"titleStyle",A),A.push(...validateOptionalArray({normalized:p,field:"dataTexts",value:p.dataTexts,defaultValue:[]})),Array.isArray(p.dataTexts)?p.dataTexts=p.dataTexts.filter(s=>s&&typeof s=="object").map(s=>({key:s.key??"",value:s.value??""})):p.dataTexts=[],ensureTextStyle(p,"dataKeyStyle",A),ensureTextStyle(p,"dataValueStyle",A)}function validateCustomComConfig(p,A){A.push(...validateOptionalArray({normalized:p,field:"size",value:normalizeEmptyArray(p.size),length:2,defaultValue:[400,300]})),A.push(...validateOptionalString({normalized:p,field:"baseAddress",value:p.baseAddress,defaultValue:""})),A.push(...validateOptionalArray({normalized:p,field:"padding",value:normalizeEmptyArray(p.padding),length:4})),A.push(...validateOptionalString({normalized:p,field:"title",value:p.title,defaultValue:""})),ensureTextStyle(p,"titleStyle",A),A.push(...validateOptionalArray({normalized:p,field:"dataTexts",value:p.dataTexts,defaultValue:[]})),Array.isArray(p.dataTexts)?p.dataTexts=p.dataTexts.filter(s=>s&&typeof s=="object").map(s=>({key:s.key??"",value:s.value??""})):p.dataTexts=[],ensureTextStyle(p,"dataKeyStyle",A),ensureTextStyle(p,"dataValueStyle",A)}function validateDefaultConfig(p,A){A.push(...validateOptionalNumber({normalized:p,field:"scale",value:p.scale,defaultValue:1,min:0})),A.push(...validateOptionalString({normalized:p,field:"iconAddress",value:p.iconAddress,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"text",value:p.text,defaultValue:""})),A.push(...validateOptionalArray({normalized:p,field:"textVisibleRange",value:p.textVisibleRange,length:2,defaultValue:[0,2147483647]})),ensureIconStyle(p,"iconStyle",A),ensureTextStyle(p,"textStyle",A)}function validateAnchorConfig(p,A){A.push(...validateOptionalNumber({normalized:p,field:"scale",value:p.scale,defaultValue:1,min:0})),A.push(...validateOptionalString({normalized:p,field:"iconAddress",value:p.iconAddress,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"text",value:p.text,defaultValue:""})),A.push(...validateOptionalArray({normalized:p,field:"textVisibleRange",value:p.textVisibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color})),ensureTextStyle(p,"textStyle",A)}function validateFlashIconConfig(p,A){A.push(...validateOptionalColor({normalized:p,field:"baseColor",value:p.baseColor,defaultValue:"#FF0000"})),A.push(...validateOptionalColor({normalized:p,field:"flashColor",value:p.flashColor,defaultValue:"#00FF66"})),A.push(...validateOptionalString({normalized:p,field:"size",value:p.size,defaultValue:"32"})),A.push(...validateOptionalNumber({normalized:p,field:"centerScale",value:p.centerScale,defaultValue:.5,min:0,max:1})),A.push(...validateOptionalNumber({normalized:p,field:"frequency",value:p.frequency,defaultValue:1,min:0}))}function validateMenuIconConfig(p,A){A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalString({normalized:p,field:"title",value:p.title,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"iconAddress",value:p.iconAddress,defaultValue:""})),A.push(...validateOptionalArray({normalized:p,field:"secondVisibleRange",value:p.secondVisibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...validateOptionalArray({normalized:p,field:"textVisibleRange",value:p.textVisibleRange,length:2,defaultValue:[0,2147483647]}));const s=validateOptionalArray({normalized:p,field:"tagList",value:p.tagList,length:4,defaultValue:[{tagId:"id1",iconAddress:1},{tagId:"id2",iconAddress:2},{tagId:"id3",iconAddress:3},{tagId:"id4",iconAddress:4}]});A.push(...s),s.length===0&&Array.isArray(p.tagList)&&p.tagList.forEach((h,g)=>{if(!h){A.push(`tagList[${g}] 必须是对象`);return}A.push(...validateRequiredString({normalized:h,field:"tagId",value:h.tagId})),A.push(...validateOptionalNumber({normalized:h,field:"iconAddress",value:h.iconAddress,min:0}))})}function validateFloodConfig(p,A){A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalString({normalized:p,field:"showName",value:p.showName,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"showValue",value:p.showValue,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"showTime",value:p.showTime,defaultValue:""}))}function validateCaptureConfig(p,A){A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalArray({normalized:p,field:"margin",value:normalizeEmptyArray(p.margin),length:4,defaultValue:[0,0,0,0]})),A.push(...validateOptionalString({normalized:p,field:"title",value:p.title,defaultValue:""})),ensureTextStyle(p,"titleStyle",A),A.push(...validateOptionalArray({normalized:p,field:"dataTexts",value:p.dataTexts,defaultValue:[]})),Array.isArray(p.dataTexts)&&p.dataTexts.length>0&&typeof p.dataTexts[0]=="string"?p.dataTexts=p.dataTexts.map(s=>({key:"",value:s})):Array.isArray(p.dataTexts)&&(p.dataTexts=p.dataTexts.filter(s=>s&&typeof s=="object").map(s=>({key:s.key??"",value:s.value??""}))),!p.dataKeyStyle&&p.dataTextStyle&&(p.dataKeyStyle=p.dataTextStyle),!p.dataValueStyle&&p.dataTextStyle&&(p.dataValueStyle=p.dataTextStyle),ensureTextStyle(p,"dataKeyStyle",A),ensureTextStyle(p,"dataValueStyle",A),ensureIconStyle(p,"imageStyle",A),A.push(...validateOptionalArray({normalized:p,field:"coordinates",value:p.coordinates,length:3,defaultValue:[112.777328,33.726444,381.310616]})),A.push(...validateOptionalNumber({normalized:p,field:"pitch",value:p.pitch,defaultValue:0})),A.push(...validateOptionalNumber({normalized:p,field:"yaw",value:p.yaw,defaultValue:0})),A.push(...validateOptionalNumber({normalized:p,field:"width",value:p.width,defaultValue:800,min:0})),A.push(...validateOptionalNumber({normalized:p,field:"height",value:p.height,defaultValue:600,min:0}))}function validatePopupCustom1Config(p,A){A.push(...validateOptionalNumber({normalized:p,field:"scale",value:p.scale,defaultValue:1,min:0})),A.push(...validateOptionalString({normalized:p,field:"iconAddress",value:p.iconAddress,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"text",value:p.text,defaultValue:""})),A.push(...validateOptionalArray({normalized:p,field:"textVisibleRange",value:p.textVisibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...validateOptionalArray({normalized:p,field:"secondVisibleRange",value:p.secondVisibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...validateOptionalString({normalized:p,field:"title",value:p.title,defaultValue:""})),A.push(...validateOptionalString({normalized:p,field:"detailBtnText",value:p.detailBtnText,defaultValue:""})),ensureTextStyle(p,"textStyle",A),ensureTextStyle(p,"titleStyle",A),ensureTextStyle(p,"detailStyle",A),ensureTextStyle(p,"dataKeyStyle",A),ensureTextStyle(p,"dataValueStyle",A),Array.isArray(p.dataTexts)?p.dataTexts=p.dataTexts.filter(s=>s&&typeof s=="object").map(s=>({key:s.key??"",value:s.value??""})):p.dataTexts=[]}function iconMarker(p){const A=[],s={...p};if(p.id===void 0||p.id===null||p.id===""?s.id=generateUniqueId$1():s.id=p.id,A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalString({normalized:s,field:"groupId",value:p.groupId})),A.push(...validateOptionalArray({normalized:s,field:"visibleRange",value:p.visibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...verifyEnumerationValue({normalized:s,field:"isScreenSpace",value:p.isScreenSpace,defaultValue:1,type:"number",list:[0,1]})),A.push(...verifyEnumerationValue({normalized:s,field:"markerType",value:p.markerType,defaultValue:"default",type:"string",list:["default","default1","default2","default3","flashIcon","component","customCom","menuIcon","flood","capture","anchor1","anchor2","anchor3","anchor4","anchor5","anchor6","html","url"]})),p.recordData!==void 0){const h=p.recordData;if(h===null||typeof h!="object"||Array.isArray(h))A.push({field:"recordData",message:"[recordData] 必须是对象类型"});else try{s.recordData=JSON.stringify(h)}catch{A.push({field:"recordData",message:"[recordData] 序列化失败,请检查是否包含循环引用"})}}return validateConfigByMarkerType(s,A),{errors:A,normalized:s}}function followMarker(p){const A=[],s={...p};if(p.id===void 0||p.id===null||p.id===""?s.id=generateUniqueId$1():s.id=p.id,A.push(...validateRequiredString({normalized:s,field:"modelId",value:p.modelId})),A.push(...validateOptionalString({normalized:s,field:"groupId",value:p.groupId})),A.push(...validateOptionalArray({normalized:s,field:"visibleRange",value:p.visibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...verifyEnumerationValue({normalized:s,field:"isScreenSpace",value:p.isScreenSpace,defaultValue:1,type:"number",list:[0,1]})),A.push(...verifyEnumerationValue({normalized:s,field:"markerType",value:p.markerType,defaultValue:"default",type:"string",list:["default","default1","default2","default3","flashIcon","component","customCom","menuIcon","flood","capture","anchor1","anchor2","anchor3","anchor4","anchor5","anchor6","html","url"]})),p.recordData!==void 0){const h=p.recordData;if(h===null||typeof h!="object"||Array.isArray(h))A.push({field:"recordData",message:"[recordData] 必须是对象类型"});else try{s.recordData=JSON.stringify(h)}catch{A.push({field:"recordData",message:"[recordData] 序列化失败,请检查是否包含循环引用"})}}return validateConfigByMarkerType(s,A),{errors:A,normalized:s}}function removeAllMarker(p){const A=[],s={...p};return{errors:A,normalized:s}}function addClustering(p){const A=[],s={...p};A.push(...verifyEnumerationValue({normalized:s,field:"type",value:p.type,type:"string",list:["all","groupId"]})),s.type==="groupId"?A.push(...validateOptionalArray({normalized:s,field:"value",value:p.value,minLength:1})):A.push(...validateOptionalArray({normalized:s,field:"value",value:p.value})),A.push(...validateOptionalNumber({normalized:s,field:"distance",value:p.distance,defaultValue:0,min:0})),A.push(...verifyEnumerationValue({normalized:s,field:"clusteringType",value:p.clusteringType,type:"string",list:["clusteringDefault"]})),s.clusteringConfig||(s.clusteringConfig={});const h=s.clusteringConfig;return A.push(...validateOptionalColor({normalized:h,field:"color",value:h.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalString({normalized:h,field:"text",value:h.text,defaultValue:"${number}"})),ensureTextStyle(h,"textStyle",A),{errors:A,normalized:s}}function removeClustering(p){const A=[],s={...p};return A.push(...verifyEnumerationValue({normalized:s,field:"type",value:p.type,type:"string",list:["all","groupId"]})),s.type==="groupId"?A.push(...validateOptionalArray({normalized:s,field:"value",value:p.value,minLength:1})):A.push(...validateOptionalArray({normalized:s,field:"value",value:p.value})),{errors:A,normalized:s}}function secondMarker(p){const A=[],s={...p};p.id===void 0||p.id===null||p.id===""?s.id=generateUniqueId$1():s.id=p.id,A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalString({normalized:s,field:"groupId",value:p.groupId})),A.push(...validateOptionalArray({normalized:s,field:"visibleRange",value:p.visibleRange,length:2,defaultValue:[0,2147483647]})),A.push(...verifyEnumerationValue({normalized:s,field:"isScreenSpace",value:p.isScreenSpace,defaultValue:1,type:"number",list:[0,1]})),typeof p.isInitSecond=="boolean"?s.isInitSecond=p.isInitSecond:p.isInitSecond===void 0?s.isInitSecond=!1:A.push({field:"isInitSecond",message:"isInitSecond must be boolean"}),A.push(...verifyEnumerationValue({normalized:s,field:"triggerType",value:p.triggerType,defaultValue:"click",type:"string",list:["click","move"]})),A.push(...verifyEnumerationValue({normalized:s,field:"markerType",value:p.markerType,defaultValue:"menu1",type:"string",list:["menu1","menuIcon","popupCustom1"]})),(!s.config||typeof s.config!="object")&&(s.config={});const h=s.config;if(s.markerType!=="popupCustom1"&&A.push(...validateOptionalColor({normalized:h,field:"color",value:h.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalString({normalized:h,field:"title",value:h.title,defaultValue:""})),s.markerType==="popupCustom1"?validatePopupCustom1Config(h,A):(ensureTextStyle(h,"titleStyle",A),ensureTextStyle(h,"dataKeyStyle",A),ensureTextStyle(h,"dataValueStyle",A),Array.isArray(h.dataTexts)?h.dataTexts=h.dataTexts.filter(g=>g&&typeof g=="object").map(g=>({key:g.key??"",value:g.value??""})):h.dataTexts=[]),p.recordData!==void 0){const g=p.recordData;if(g===null||typeof g!="object"||Array.isArray(g))A.push({field:"recordData",message:"[recordData] 必须是对象类型"});else try{s.recordData=JSON.stringify(g)}catch{A.push({field:"recordData",message:"[recordData] 序列化失败,请检查是否包含循环引用"})}}return{errors:A,normalized:s}}const validator$9={iconMarker,followMarker,removeAllMarker,addClustering,removeClustering,secondMarker};class MarkerApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`marker.${A}`,g=validator$9[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}const validateConfig=(p,A,s)=>{p&&(s==="default"||s==="default1"||s==="default2"||s==="default3"||s==="default4"||s==="flashIcon")&&(A.push(...validateOptionalColor({normalized:p,field:"color",value:p.color})),A.push(...validateOptionalNumber({normalized:p,field:"flowVelocity",value:p.flowVelocity,min:0})),A.push(...validateOptionalNumber({normalized:p,field:"peakLength",value:p.peakLength,defaultValue:.5,min:0,max:1})),A.push(...validateOptionalNumber({normalized:p,field:"foam",value:p.foam,defaultValue:1,min:0,max:1})))};function record(p){const A=[],s={...p};A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName})),A.push(...verifyEnumerationValue({normalized:s,field:"materialType",value:p.materialType,defaultValue:"default",type:"string",list:["default","default1","default2","default3","default4","flashIcon"]}));const h=s.materialType||p.materialType||"default";return validateConfig(s.config,A,h),{errors:A,normalized:s}}function cameraFollow(p){const A=[],s={...p};A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName}));const h=p.state;h==null?s.state=!0:typeof h!="boolean"?A.push("[state]必须是布尔类型"):s.state=h;for(const g of["x","y","z","yaw","pitch"])A.push(...validateOptionalNumber({normalized:s,field:g,value:p[g],defaultValue:0}));return{errors:A,normalized:s}}function offset$1(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName})),A.push(...validateRequiredNumber({normalized:s,field:"height",value:p.height})),{errors:A,normalized:s}}function setText(p){const A=[],s={...p};A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName}));const h=validateOptionalArray({normalized:s,field:"textList",value:p.textList,required:!0,minLength:1});return A.push(...h),Array.isArray(p.textList)&&p.textList.forEach((g,b)=>{g!=null&&typeof g!="string"&&A.push(`[textList[${b}]]必须是字符串类型`)}),{errors:A,normalized:s}}function close$2(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName})),{errors:A,normalized:s}}function offsetReset(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"floodPeakName",value:p.floodPeakName})),{errors:A,normalized:s}}function getList(p){const A=[],s={...p};return{errors:A,normalized:s}}const validator$8={getList,record,offset:offset$1,offsetReset,setText,close:close$2,cameraFollow};class FloodPeakApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`floodPeak.${A}`,g=validator$8[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h,{timeout:0})}}const normalizeParams=(p={})=>({normalized:{...p||{}},params:p||{}});function play(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),h.push(...validateOptionalNumber({normalized:A,field:"frameRate",value:s.frameRate,defaultValue:1,min:0})),h.push(...validateOptionalNumber({normalized:A,field:"frameIndex",value:s.frameIndex,defaultValue:0,min:0})),s.isSyncview===void 0||s.isSyncview===null||s.isSyncview===""?A.isSyncview=!0:typeof s.isSyncview!="boolean"?h.push("[isSyncview]必须是布尔类型"):A.isSyncview=s.isSyncview,{errors:h,normalized:A}}function carryOn(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),{errors:h,normalized:A}}function pause(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),{errors:h,normalized:A}}function stop(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),{errors:h,normalized:A}}function jumpToFrame(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),h.push(...validateRequiredNumber({normalized:A,field:"frameIndex",value:s.frameIndex,required:!0,min:0})),{errors:h,normalized:A}}function setPlaybackFrameRate(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return h.push(...validateRequiredString({normalized:A,field:"animName",value:s.animName})),h.push(...validateRequiredNumber({normalized:A,field:"frameRate",value:s.frameRate,required:!0,min:0})),{errors:h,normalized:A}}function onData(p={}){const{normalized:A,params:s}=normalizeParams(p),h=[];return s.onMouseClick&&typeof s.onMouseClick!="function"&&h.push("onMouseClick 参数 onMouseClick 必须为函数"),{errors:h,normalized:A}}const validator$7={play,carryOn,pause,stop,jumpToFrame,setPlaybackFrameRate,onData};class AnimationApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`animation.${A}`,g=validator$7[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}const hasValue$1=p=>p!=null;function create$1(p){const A=[],s={...p};return A.push(...validateRequiredNumber({normalized:s,field:"xMin",value:p.xMin,required:!0,min:-180,max:180})),A.push(...validateRequiredNumber({normalized:s,field:"xMax",value:p.xMax,required:!0,min:-180,max:180})),A.push(...validateRequiredNumber({normalized:s,field:"yMin",value:p.yMin,required:!0,min:-90,max:90})),A.push(...validateRequiredNumber({normalized:s,field:"yMax",value:p.yMax,required:!0,min:-90,max:90})),A.push(...validateRequiredNumber({normalized:s,field:"minTerrain",value:p.minTerrain,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"maxTerrain",value:p.maxTerrain,required:!0})),hasValue$1(p.xMin)&&hasValue$1(p.xMax)&&p.xMax<=p.xMin&&A.push("[xMax]必须大于[xMin]"),hasValue$1(p.yMin)&&hasValue$1(p.yMax)&&p.yMax<=p.yMin&&A.push("[yMax]必须大于[yMin]"),hasValue$1(p.minTerrain)&&hasValue$1(p.maxTerrain)&&p.maxTerrain<=p.minTerrain&&A.push("[maxTerrain]必须大于[minTerrain]"),A.push(...validateRequiredString({normalized:s,field:"mapUrl",value:p.mapUrl})),A.push(...validateRequiredString({normalized:s,field:"key",value:p.key})),{errors:A,normalized:s}}function waterFlow(p){const A=[],s={...p};return A.push(...validateRequiredNumber({normalized:s,field:"minWater",value:p.minWater,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"maxWater",value:p.maxWater,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"minU",value:p.minU,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"maxU",value:p.maxU,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"minV",value:p.minV,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"maxV",value:p.maxV,required:!0})),hasValue$1(p.minWater)&&hasValue$1(p.maxWater)&&p.maxWater<=p.minWater&&A.push("[maxWater]必须大于[minWater]"),hasValue$1(p.minU)&&hasValue$1(p.maxU)&&p.maxU<=p.minU&&A.push("[maxU]必须大于[minU]"),hasValue$1(p.minV)&&hasValue$1(p.maxV)&&p.maxV<=p.minV&&A.push("[maxV]必须大于[minV]"),A.push(...validateRequiredString({normalized:s,field:"waterFlowUrl",value:p.waterFlowUrl})),A.push(...validateRequiredString({normalized:s,field:"key",value:p.key})),{errors:A,normalized:s}}function waterDepth(p){const A=[],s={...p};return A.push(...validateRequiredNumber({normalized:s,field:"minWater",value:p.minWater,required:!0})),A.push(...validateRequiredNumber({normalized:s,field:"maxWater",value:p.maxWater,required:!0})),hasValue$1(p.minWater)&&hasValue$1(p.maxWater)&&p.maxWater<=p.minWater&&A.push("[maxWater]必须大于[minWater]"),p.rangeList===void 0||p.rangeList===null?A.push("[rangeList]为必填项"):Array.isArray(p.rangeList)?p.rangeList.length===0?A.push("[rangeList]不能为空数组"):p.rangeList.forEach((h,g)=>{if(typeof h!="object"||h===null){A.push(`[rangeList[${g}]]必须是对象类型`);return}A.push(...validateRequiredNumber({normalized:h,field:"rangeDepth",value:h.rangeDepth,required:!0})),A.push(...validateRequiredString({normalized:h,field:"color",value:h.color}))}):A.push("[rangeList]必须是数组类型"),A.push(...validateRequiredString({normalized:s,field:"waterDepthUrl",value:p.waterDepthUrl})),A.push(...validateRequiredString({normalized:s,field:"key",value:p.key})),{errors:A,normalized:s}}function close$1(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"key",value:p.key})),{errors:A,normalized:s}}const validator$6={create:create$1,waterFlow,waterDepth,close:close$1};class HydrodynamicForceApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`hydrodynamicForce.${A}`,g=validator$6[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}const hasValue=p=>!(p==null||p==="");function ensureSingleIdentifier(p,{id:A,tag:s}){const h=hasValue(A),g=hasValue(s);if(!h&&!g){p.push("[id]和[tag]必须提供其中一个");return}if(h&&g){p.push("[id]和[tag]不能同时提供");return}h?p.push(...validateOptionalString({field:"id",value:A})):g&&p.push(...validateOptionalString({field:"tag",value:s}))}function validateVector3(p,A,s){if(p==null)return;if(typeof p!="object"){s.push(`[${A}]必须是对象类型`);return}const{x:h,y:g,z:b}=p;if(h!=null){const u=h===""?Number.NaN:h;s.push(...validateOptionalNumber({field:`${A}.x`,value:u}))}if(g!=null){const u=g===""?Number.NaN:g;s.push(...validateOptionalNumber({field:`${A}.y`,value:u}))}if(b!=null){const u=b===""?Number.NaN:b;s.push(...validateOptionalNumber({field:`${A}.z`,value:u}))}}function validateIdsOrTagsArrays(p,A,s){const h=(u,y)=>hasValue(y)?Array.isArray(y)?y.length===0?(p.push(`[${u}]不能为空数组`),!1):!0:(p.push(`[${u}]必须是数组类型`),!1):!1,g=h("ids",A),b=h("tags",s);!g&&!b?p.push("[ids]和[tags]必须提供其中一个"):g&&b&&p.push("[ids]和[tags]不能同时提供")}function getById(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}function getByTag(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"tag",value:p.tag})),{errors:A,normalized:s}}function setOpacity(p){var h,g,b;const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),s.config||(s.config={}),A.push(...validateOptionalNumber({normalized:s.config,field:"opacity",value:(h=p.config)==null?void 0:h.opacity,defaultValue:.5,min:0,max:1})),A.push(...validateOptionalNumber({normalized:s.config,field:"selfLuminous",value:(g=p.config)==null?void 0:g.selfLuminous,defaultValue:0,min:0})),A.push(...validateOptionalColor({normalized:s.config,field:"color",value:(b=p.config)==null?void 0:b.color,defaultValue:"#ffffff"})),{errors:A,normalized:s}}function highLight(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),s.config||(s.config={}),A.push(...validateOptionalColor({normalized:s.config,field:"color",value:s.config.color,defaultValue:"#003748"})),A.push(...validateOptionalNumber({normalized:s.config,field:"opacity",value:s.config.opacity,min:0,max:1})),A.push(...validateOptionalNumber({normalized:s.config,field:"minBrightness",value:s.config.minBrightness,min:0})),A.push(...validateOptionalNumber({normalized:s.config,field:"maxBrightness",value:s.config.maxBrightness,min:s.config.minBrightness})),A.push(...validateOptionalNumber({normalized:s.config,field:"frequency",value:s.config.frequency,defaultValue:2,min:0})),{errors:A,normalized:s}}function removeHighLight(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),{errors:A,normalized:s}}function show(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),{errors:A,normalized:s}}function hide(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),{errors:A,normalized:s}}function showOnly(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),p.isIgnoreMarker!==void 0&&typeof p.isIgnoreMarker!="boolean"?A.push("[isIgnoreMarker]必须是布尔类型"):p.isIgnoreMarker===void 0?s.isIgnoreMarker=!0:s.isIgnoreMarker=p.isIgnoreMarker,p.isIgnoreSky!==void 0&&typeof p.isIgnoreSky!="boolean"?A.push("[isIgnoreSky]必须是布尔类型"):p.isIgnoreSky===void 0?s.isIgnoreSky=!1:s.isIgnoreSky=p.isIgnoreSky,{errors:A,normalized:s}}function setTransform(p){const A=[],s={...p};return ensureSingleIdentifier(A,p),validateVector3(p.rotation,"rotation",A),validateVector3(p.scale,"scale",A),validateVector3(p.translation,"translation",A),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:0,min:0})),p.list!==void 0&&p.list!==null&&(Array.isArray(p.list)?p.list.forEach((h,g)=>{if(typeof h!="object"||h===null){A.push(`[list[${g}]]必须是对象类型`);return}validateVector3(h.rotation,`list[${g}].rotation`,A),validateVector3(h.scale,`list[${g}].scale`,A),validateVector3(h.translation,`list[${g}].translation`,A),A.push(...validateOptionalNumber({normalized:h,field:"duration",value:h.duration,min:0}))}):A.push("[list]必须是数组类型")),{errors:A,normalized:s}}function clearTransform(p){const A=[],s={...p};return ensureSingleIdentifier(A,p),{errors:A,normalized:s}}function offset(p){const A=[],s={...p};return ensureSingleIdentifier(A,p),validateVector3(p.rotation,"rotation",A),validateVector3(p.scale,"scale",A),validateVector3(p.translation,"translation",A),A.push(...validateOptionalNumber({normalized:s,field:"duration",value:p.duration,defaultValue:0,min:0})),p.list!==void 0&&p.list!==null&&(Array.isArray(p.list)?p.list.forEach((h,g)=>{if(typeof h!="object"||h===null){A.push(`[list[${g}]]必须是对象类型`);return}validateVector3(h.rotation,`list[${g}].rotation`,A),validateVector3(h.scale,`list[${g}].scale`,A),validateVector3(h.translation,`list[${g}].translation`,A),A.push(...validateOptionalNumber({normalized:h,field:"duration",value:h.duration,min:0}))}):A.push("[list]必须是数组类型")),{errors:A,normalized:s}}function clearOffset(p){const A=[],s={...p};return ensureSingleIdentifier(A,p),{errors:A,normalized:s}}function outline(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),s.config||(s.config={}),A.push(...validateOptionalColor({normalized:s.config,field:"color",value:s.config.color,defaultValue:"#1A80CCFF"})),A.push(...validateOptionalNumber({normalized:s.config,field:"brightness",value:s.config.brightness,defaultValue:1,min:0})),A.push(...validateOptionalNumber({normalized:s.config,field:"width",value:s.config.width,defaultValue:1,min:0})),s.config.IsSolidMesh!==void 0?typeof s.config.IsSolidMesh!="boolean"&&A.push("[config.IsSolidMesh] 必须是布尔类型"):s.config.IsSolidMesh=!1,A.push(...validateOptionalColor({normalized:s.config,field:"meshColor",value:s.config.meshColor,defaultValue:"#00001AFF"})),A.push(...validateOptionalNumber({normalized:s.config,field:"meshBrightness",value:s.config.meshBrightness,defaultValue:1,min:0})),{errors:A,normalized:s}}function removeOutline(p){const A=[],s={...p};return validateIdsOrTagsArrays(A,p.ids,p.tags),{errors:A,normalized:s}}function removeAllOutline(p){const A=[],s={...p};return{errors:A,normalized:s}}const validator$5={getById,getByTag,setTransform,clearTransform,offset,clearOffset,show,hide,showOnly,highLight,removeHighLight,setOpacity,outline,removeOutline,removeAllOutline};class SceneModelAPI{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`sceneModel.${A}`,g=validator$5[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function time(p){const A=[],s={...p};return A.push(...validateRequiredNumber({normalized:s,field:"hour",value:p.hour,min:1,max:24})),{errors:A,normalized:s}}function weather(p){const A=[],s={...p};return!p.type||typeof p.type!="string"?A.push("[type]为必填项,且必须是字符串类型"):s.type=p.type,{errors:A,normalized:s}}const validator$4={time,weather};class AtmosphericEffectsApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`atmosphericEffects.${A}`,g=validator$4[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function onMouseClick$1(p){const A=[],s={...p};return A.push(...verifyEnumerationValue({normalized:s,field:"pressKey",value:p.pressKey,defaultValue:"LeftMouseButton",type:"string",list:["LeftMouseButton","RightMouseButton","MiddleMouseButton"]})),s.onMouseClick&&typeof s.onMouseClick!="function"&&A.push("onMouseClick 参数 onMouseClick 必须为函数"),{errors:A,normalized:s}}function offMouseClick$1(p){const A=[],s={...p};return A.push(...verifyEnumerationValue({normalized:s,field:"pressKey",value:p.pressKey,defaultValue:"",type:"string",list:["LeftMouseButton","RightMouseButton","MiddleMouseButton"]})),{errors:A,normalized:s}}function onDistance(p){const A=[],s={...p};return{errors:A,normalized:s}}function offDistance(p){const A=[],s={...p};return{errors:A,normalized:s}}function editConfigFile(p){const A=[],s={...p};return{errors:A,normalized:s}}const validator$3={onMouseClick:onMouseClick$1,offMouseClick:offMouseClick$1,onDistance,offDistance,editConfigFile};class ToolAPI{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`tool.${A}`,g=validator$3[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function generateUniqueId(){return"line_"+Date.now()+"_"+Math.random().toString(36).substring(2,9)}function addLine(p){const A=[],s={...p};if(!p.coordinates||!Array.isArray(p.coordinates))A.push("[coordinates] 为必填项,且必须是数组类型");else if(p.coordinates.length<2)A.push("[coordinates] 至少需要2个坐标点才能绘制线条");else{const h=[];p.coordinates.forEach((g,b)=>{if(!Array.isArray(g)||g.length<3)A.push(`[coordinates[${b}]] 坐标点格式错误,应为 [经度, 纬度, 高度]`);else{const[u,y,m]=g,v=[];(typeof u!="number"||u<-180||u>180)&&v.push(`[coordinates[${b}][0]] 经度取值范围:-180~180`),(typeof y!="number"||y<-90||y>90)&&v.push(`[coordinates[${b}][1]] 纬度取值范围:-90~90`),typeof m!="number"&&v.push(`[coordinates[${b}][2]] 高度必须是数字类型`),v.length===0?h.push([u,y,m]):A.push(...v)}}),h.length>=2&&(s.coordinates=h)}return A.push(...verifyEnumerationValue({normalized:s,field:"type",value:p.type,defaultValue:0,type:"number",list:[0,1]})),A.push(...validateOptionalNumber({normalized:s,field:"width",value:p.width,defaultValue:1,min:.1})),p.key===void 0||p.key===null||p.key===""?s.key=generateUniqueId():A.push(...validateOptionalString({normalized:s,field:"key",value:p.key})),A.push(...validateOptionalColor({normalized:s,field:"color",value:p.color,defaultValue:"#1cfeff"})),A.push(...validateOptionalNumber({normalized:s,field:"spacing",value:p.spacing,min:0})),A.push(...validateOptionalString({normalized:s,field:"startImg",value:p.startImg})),A.push(...validateOptionalString({normalized:s,field:"endImg",value:p.endImg})),A.push(...validateOptionalString({normalized:s,field:"midImg",value:p.midImg})),{errors:A,normalized:s}}function clearLine(p){const A=[],s={...p};if(!p.key||!Array.isArray(p.key))A.push("[key] 为必填项,且必须是数组类型");else if(p.key.length===0)A.push("[key] 至少需要一个线条标识");else{const h=[];p.key.forEach((g,b)=>{typeof g!="string"||g.trim()===""?A.push(`[key[${b}]] 必须是非空字符串`):h.push(g.trim())}),h.length>0&&(s.key=h)}return{errors:A,normalized:s}}function clearAllLine(p){const A=[],s={...p};return{errors:A,normalized:s}}const validator$2={addLine,clearLine,clearAllLine};class LineApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`line.${A}`,g=validator$2[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function switchLevel(p){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"levelName",value:p.levelName})),{errors:A,normalized:s}}const validator$1={switch:switchLevel};class LevelApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`level.${A}`,g=validator$1[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h)}}function getInfo(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}function create(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateRequiredString({normalized:s,field:"url",value:p.url})),A.push(...validateCoordinatesRequired(p.coordinates)),A.push(...validateOptionalVector3Array({normalized:s,field:"rotation",value:p.rotation,defaultValue:[0,0,0]})),A.push(...validateOptionalVector3Array({normalized:s,field:"scale",value:p.scale,defaultValue:[1,1,1]})),{errors:A,normalized:s}}function close(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}function allClose(p={}){const A=[],s={...p};return{errors:A,normalized:s}}function setField(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateRequiredString({normalized:s,field:"fieldName",value:p.fieldName})),A.push(...validateOptionalArray({normalized:s,field:"indexList",value:p.indexList,defaultValue:[]})),Array.isArray(s.indexList)&&(s.indexList.forEach((h,g)=>{Number.isFinite(Number(h))||A.push(`[indexList[${g}]]必须是数字`)}),s.indexList=s.indexList.map(Number)),{errors:A,normalized:s}}function setMode(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...verifyEnumerationValue({normalized:s,field:"mode",value:p.mode,defaultValue:"Heatmap",type:"string",list:["Heatmap","Wireframe","Mixed"]})),{errors:A,normalized:s}}function setCellOpacity(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateRequiredString({normalized:s,field:"fieldName",value:p.fieldName})),A.push(...validateOptionalArray({normalized:s,field:"cellTypes",value:p.cellTypes,required:!0,minLength:1})),Array.isArray(s.cellTypes)&&(s.cellTypes.forEach((h,g)=>{Number.isFinite(Number(h))||A.push(`[cellTypes[${g}]]必须是数字`)}),s.cellTypes=s.cellTypes.map(Number)),A.push(...validateOptionalNumber({normalized:s,field:"value",value:p.value,defaultValue:0,min:0,max:1})),{errors:A,normalized:s}}function setColorRange(p={}){const A=[],s={...p};if(A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),p.list===void 0||p.list===null||p.list==="")s.list=[0,1];else if(!Array.isArray(p.list)||p.list.length<2)A.push("[list]必须是包含2个元素的数组");else{const h=p.list.slice(0,2).map(Number);if(!h.every(g=>Number.isFinite(g)))A.push("[list]数组元素必须是数字");else{let g=!0;h[0]<0&&(A.push("[list[0]]取值不能小于0"),g=!1),h[1]>1&&(A.push("[list[1]]取值不能大于1"),g=!1),g&&(s.list=h)}}return{errors:A,normalized:s}}function setDisplacementScale(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),A.push(...validateRequiredString({normalized:s,field:"fieldName",value:p.fieldName})),A.push(...validateOptionalNumber({normalized:s,field:"scale",value:p.scale,defaultValue:1,min:1})),typeof s.scale=="number"&&s.scale<=0&&A.push("[scale]取值必须大于0"),A.push(...validateOptionalArray({normalized:s,field:"indexList",value:p.indexList,defaultValue:[]})),Array.isArray(s.indexList)&&(s.indexList.forEach((h,g)=>{Number.isFinite(Number(h))||A.push(`[indexList[${g}]]必须是数字`)}),s.indexList=s.indexList.map(Number)),{errors:A,normalized:s}}function closeDisplacementScale(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}function onMouseClick(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}function offMouseClick(p={}){const A=[],s={...p};return A.push(...validateRequiredString({normalized:s,field:"id",value:p.id})),{errors:A,normalized:s}}const validator={getInfo,create,close,allClose,setField,setMode,setCellOpacity,setColorRange,setDisplacementScale,closeDisplacementScale,onMouseClick,offMouseClick};class VtkApi{constructor(A){this.commandManager=A}_handleSend(A,s={}){const h=`VTK.${A}`,g=validator[A],b=g?g(s):{errors:[],normalized:s};return this.commandManager.sendWithDefault(b,h,{timeout:0})}}class OtherApi{constructor(A){this.commandManager=A}errorFun(){console.error("嘿嘿!崩掉喽!")}_handleSend(A,s={},h={}){return A?(log("嘿嘿! 自定义呦,要小心喽"),this.commandManager.sendWithDefault({errors:[],normalized:s},A,h)):this.errorFun()}}class GameAPI{constructor(A){this._cameraApi=new CameraAPI(A),this._markerApi=new MarkerApi(A),this._floodPeakApi=new FloodPeakApi(A),this._animationApiApi=new AnimationApi(A),this._hydrodynamicForceApi=new HydrodynamicForceApi(A),this._sceneModelApi=new SceneModelAPI(A),this._atmosphericEffectsApi=new AtmosphericEffectsApi(A),this._toolApi=new ToolAPI(A),this._lineApi=new LineApi(A),this._levelApi=new LevelApi(A),this._vtkApi=new VtkApi(A),this._otherApi=new OtherApi(A)}async camera(A,s){return log("API_params接收消息:",s),this._cameraApi._handleSend(A,s)}async marker(A,s){return log("API_params接收消息:",s),this._markerApi._handleSend(A,s)}async floodPeak(A,s){return log("API_params接收消息:",s),this._floodPeakApi._handleSend(A,s)}async animation(A,s){return log("API_params接收消息:",s),this._animationApiApi._handleSend(A,s)}async hydrodynamicForce(A,s){return log("API_params接收消息:",s),this._hydrodynamicForceApi._handleSend(A,s)}async sceneModel(A,s){return log("API_params接收消息:",s),this._sceneModelApi._handleSend(A,s)}async atmosphericEffects(A,s){return log("API_params接收消息:",s),this._atmosphericEffectsApi._handleSend(A,s)}async tool(A,s){return log("API_params接收消息:",s),this._toolApi._handleSend(A,s)}async oneDimensionalHydrodynamics(A,s){return this._otherApi._handleSend(`oneDimensionalHydrodynamics.${A}`,s)}async customDomain(A,s){return this._otherApi._handleSend(`customDomain.${A}`,s)}async line(A,s){return log("API_params接收消息:",s),this._lineApi._handleSend(A,s)}async level(A,s){return log("API_params接收消息:",s),this._levelApi._handleSend(A,s)}async arrow(A,s){return this._otherApi._handleSend(`arrow.${A}`,s)}async VTK(A,s){return log("API_params接收消息:",s),this._vtkApi._handleSend(A,s)}async VTKLS(A,s){return log("API_params接收消息:",s),this._otherApi._handleSend(`VTK.${A}`,s)}async NC(A,s){return this._otherApi._handleSend(`NC.${A}`,s)}async gateOperation(A,s){return this._otherApi._handleSend(`gateOperation.${A}`,s)}}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},larksrWebSdk_min={exports:{}};(function(module,exports$1){(function(p,A){module.exports=A()})(commonjsGlobal||self,function(){return function(){var __webpack_modules__={100:function(p,A,s){var h=s(9131);p.exports=function(g){return h(g)||g===null}},108:function(p){p.exports={}},177:function(p,A,s){var h=s(9279),g=["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"];p.exports=function(b){var u,y,m,v={};return b&&h.forEach(b.split(`
|
|
2
|
-
`),function(c){if(m=c.indexOf(":"),u=h.trim(c.substr(0,m)).toLowerCase(),y=h.trim(c.substr(m+1)),u){if(v[u]&&g.indexOf(u)>=0)return;v[u]=u==="set-cookie"?(v[u]?v[u]:[]).concat([y]):v[u]?v[u]+", "+y:y}}),v}},228:function(p,A,s){var h=s(5457),g=s(7133),b=s(8060),u=s(9272),y=s(7457),m=s(9498),v=g([].push),c=function(i){var e=i===1,t=i===2,r=i===3,d=i===4,R=i===6,x=i===7,P=i===5||R;return function(I,M,N,K){for(var j,le,fe=u(I),k=b(fe),W=y(k),me=h(M,N),be=0,Re=K||m,Se=e?Re(I,W):t||x?Re(I,0):void 0;W>be;be++)if((P||be in k)&&(le=me(j=k[be],be,fe),i))if(e)Se[be]=le;else if(le)switch(i){case 3:return!0;case 5:return j;case 6:return be;case 2:v(Se,j)}else switch(i){case 4:return!1;case 7:v(Se,j)}return R?-1:r||d?d:Se}};p.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},260:function(p,A,s){var h=s(9140),g=s(942),b=s(8793).String;p.exports=!!Object.getOwnPropertySymbols&&!g(function(){var u=Symbol("symbol detection");return!b(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&h&&h<41})},289:function(p,A){A.A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAQAAABpN6lAAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfiAgEKIzYpoEMCAAAB8ElEQVR42u2c247CMAwFrf3Iha8pP17JPNDt9hLo2k608ckZJHjNjBQaRwKRttxlFq3ySsutUoLE3GQWfaif7AHCCfIHCCZACBBKgBEgkAAlgDsBTgBnAqQArgRYARwJ0AKYE7QM8PUvAXR9G5JvmUWnYbeAWR8rgEMfKYBLHyeAUx8lgFsfI0BAHyFASD9/gKB+9gAm/UfxgJw5gFFftDQj5A1g159LY1LWAB79e2lSzBnApy9SGJYzBvDrFxLkCxDTPyXIFiCuf0iQK0Ad/V2CTAHq6W8S5AlQV39NkCVAff1tgu5po/+boHPa6f8k6Jq2+q8EHdNev2uoT33qU5/61Kc+9T/pd36OG1pfTAsE1BfDIiH1RV4Lvd4IoPqyXDhdJYDVF1HR6SoBsL6IiurnBND6S4A1wXnh4PprgDcJ4PU3AQoJBtDfBTgkGEL/EGCTYBD9U4A1wSD6hQBLgkH0iwFUp2H03wT4K/n1QwEQ9AMBMPTdAVD0nQFw9F0BkPQdAbD0zQHQ9I0B8PRNARD1Tb8d1t0HCqYtcHl9mhDjlyBeAvNjEC2B4yCElcB1FEZK4ByGJphHonscRkkQuBDB2AihKzGEBDX+7DB1ghoBkicghBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYTg8QS2QApSFRikYgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0wMVQxMDozNTo1NCswMDowMEeNiOsAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDFUMTA6MzU6NTQrMDA6MDA20DBXAAAAAElFTkSuQmCC"},296:function(p,A,s){s(9656)("replace")},335:function(p,A,s){var h=s(6857),g=s(942);p.exports=h&&g(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},393:function(p,A,s){var h=A;function g(u,y,m){for(var v=Object.keys(y),c=0;c<v.length;++c)u[v[c]]!==void 0&&m||(u[v[c]]=y[v[c]]);return u}function b(u){function y(m,v){if(!(this instanceof y))return new y(m,v);Object.defineProperty(this,"message",{get:function(){return m}}),Error.captureStackTrace?Error.captureStackTrace(this,y):Object.defineProperty(this,"stack",{value:new Error().stack||""}),v&&g(this,v)}return(y.prototype=Object.create(Error.prototype)).constructor=y,Object.defineProperty(y.prototype,"name",{get:function(){return u}}),y.prototype.toString=function(){return this.name+": "+this.message},y}h.asPromise=s(9966),h.base64=s(9206),h.EventEmitter=s(4331),h.float=s(3765),h.inquire=s(1734),h.utf8=s(5230),h.pool=s(7455),h.LongBits=s(6290),h.isNode=!!(s.g!==void 0&&s.g&&s.g.process&&s.g.process.versions&&s.g.process.versions.node),h.global=h.isNode&&s.g||typeof window<"u"&&window||typeof self<"u"&&self||this,h.emptyArray=Object.freeze?Object.freeze([]):[],h.emptyObject=Object.freeze?Object.freeze({}):{},h.isInteger=Number.isInteger||function(u){return typeof u=="number"&&isFinite(u)&&Math.floor(u)===u},h.isString=function(u){return typeof u=="string"||u instanceof String},h.isObject=function(u){return u&&typeof u=="object"},h.isset=h.isSet=function(u,y){var m=u[y];return!(m==null||!u.hasOwnProperty(y))&&(typeof m!="object"||(Array.isArray(m)?m.length:Object.keys(m).length)>0)},h.Buffer=function(){try{var u=h.inquire("buffer").Buffer;return u.prototype.utf8Write?u:null}catch{return null}}(),h._Buffer_from=null,h._Buffer_allocUnsafe=null,h.newBuffer=function(u){return typeof u=="number"?h.Buffer?h._Buffer_allocUnsafe(u):new h.Array(u):h.Buffer?h._Buffer_from(u):typeof Uint8Array>"u"?u:new Uint8Array(u)},h.Array=typeof Uint8Array<"u"?Uint8Array:Array,h.Long=h.global.dcodeIO&&h.global.dcodeIO.Long||h.global.Long||h.inquire("long"),h.key2Re=/^true|false|0|1$/,h.key32Re=/^-?(?:0|[1-9][0-9]*)$/,h.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,h.longToHash=function(u){return u?h.LongBits.from(u).toHash():h.LongBits.zeroHash},h.longFromHash=function(u,y){var m=h.LongBits.fromHash(u);return h.Long?h.Long.fromBits(m.lo,m.hi,y):m.toNumber(!!y)},h.merge=g,h.lcFirst=function(u){return u.charAt(0).toLowerCase()+u.substring(1)},h.newError=b,h.ProtocolError=b("ProtocolError"),h.oneOfGetter=function(u){for(var y={},m=0;m<u.length;++m)y[u[m]]=1;return function(){for(var v=Object.keys(this),c=v.length-1;c>-1;--c)if(y[v[c]]===1&&this[v[c]]!==void 0&&this[v[c]]!==null)return v[c]}},h.oneOfSetter=function(u){return function(y){for(var m=0;m<u.length;++m)u[m]!==y&&delete this[u[m]]}},h.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},h._configure=function(){var u=h.Buffer;u?(h._Buffer_from=u.from!==Uint8Array.from&&u.from||function(y,m){return new u(y,m)},h._Buffer_allocUnsafe=u.allocUnsafe||function(y){return new u(y)}):h._Buffer_from=h._Buffer_allocUnsafe=null}},404:function(p,A,s){var h=s(3353),g=s(8793),b=s(492),u=s(7133),y=s(1818),m=s(6857),v=s(260),c=s(942),i=s(9158),e=s(2430),t=s(4398),r=s(4360),d=s(2548),R=s(7830),x=s(2007),P=s(2909),I=s(3733),M=s(5809),N=s(5249),K=s(1264),j=s(2428),le=s(4446),fe=s(2066),k=s(6732),W=s(8521),me=s(3129),be=s(6014),Re=s(2316),Se=s(640),_e=s(685),je=s(4702),Be=s(4990),Ve=s(9656),T=s(6689),F=s(1606),Z=s(1514),G=s(228).forEach,ie=Re("hidden"),ye="Symbol",we="prototype",ae=Z.set,$e=Z.getterFor(ye),ze=Object[we],De=g.Symbol,ft=De&&De[we],Jt=g.RangeError,Yt=g.TypeError,mt=g.QObject,Wt=j.f,nt=le.f,Ht=N.f,Qt=k.f,Et=u([].push),He=be("symbols"),ut=be("op-symbols"),$t=be("wks"),Ct=!mt||!mt[we]||!mt[we].findChild,_t=function(oe,ce,de){var ge=Wt(ze,ce);ge&&delete ze[ce],nt(oe,ce,de),ge&&oe!==ze&&nt(ze,ce,ge)},Lt=m&&c(function(){return P(nt({},"a",{get:function(){return nt(this,"a",{value:7}).a}})).a!==7})?_t:nt,Tt=function(oe,ce){var de=He[oe]=P(ft);return ae(de,{type:ye,tag:oe,description:ce}),m||(de.description=ce),de},yt=function(oe,ce,de){oe===ze&&yt(ut,ce,de),t(oe);var ge=d(ce);return t(de),i(He,ge)?(de.enumerable?(i(oe,ie)&&oe[ie][ge]&&(oe[ie][ge]=!1),de=P(de,{enumerable:x(0,!1)})):(i(oe,ie)||nt(oe,ie,x(1,P(null))),oe[ie][ge]=!0),Lt(oe,ge,de)):nt(oe,ge,de)},kt=function(oe,ce){t(oe);var de=r(ce),ge=I(de).concat(zt(de));return G(ge,function(Ne){m&&!b(wt,de,Ne)||yt(oe,Ne,de[Ne])}),oe},wt=function(oe){var ce=d(oe),de=b(Qt,this,ce);return!(this===ze&&i(He,ce)&&!i(ut,ce))&&(!(de||!i(this,ce)||!i(He,ce)||i(this,ie)&&this[ie][ce])||de)},jt=function(oe,ce){var de=r(oe),ge=d(ce);if(de!==ze||!i(He,ge)||i(ut,ge)){var Ne=Wt(de,ge);return!Ne||!i(He,ge)||i(de,ie)&&de[ie][ge]||(Ne.enumerable=!0),Ne}},Ft=function(oe){var ce=Ht(r(oe)),de=[];return G(ce,function(ge){i(He,ge)||i(Se,ge)||Et(de,ge)}),de},zt=function(oe){var ce=oe===ze,de=Ht(ce?ut:r(oe)),ge=[];return G(de,function(Ne){!i(He,Ne)||ce&&!i(ze,Ne)||Et(ge,He[Ne])}),ge};v||(De=function(){if(e(ft,this))throw new Yt("Symbol is not a constructor");var oe=arguments.length&&arguments[0]!==void 0?R(arguments[0]):void 0,ce=_e(oe),de=function(ge){var Ne=this===void 0?g:this;Ne===ze&&b(de,ut,ge),i(Ne,ie)&&i(Ne[ie],ce)&&(Ne[ie][ce]=!1);var ct=x(1,ge);try{Lt(Ne,ce,ct)}catch(vt){if(!(vt instanceof Jt))throw vt;_t(Ne,ce,ct)}};return m&&Ct&&Lt(ze,ce,{configurable:!0,set:de}),Tt(ce,oe)},W(ft=De[we],"toString",function(){return $e(this).tag}),W(De,"withoutSetter",function(oe){return Tt(_e(oe),oe)}),k.f=wt,le.f=yt,fe.f=kt,j.f=jt,M.f=N.f=Ft,K.f=zt,Be.f=function(oe){return Tt(je(oe),oe)},m&&(me(ft,"description",{configurable:!0,get:function(){return $e(this).description}}),y||W(ze,"propertyIsEnumerable",wt,{unsafe:!0}))),h({global:!0,constructor:!0,wrap:!0,forced:!v,sham:!v},{Symbol:De}),G(I($t),function(oe){Ve(oe)}),h({target:ye,stat:!0,forced:!v},{useSetter:function(){Ct=!0},useSimple:function(){Ct=!1}}),h({target:"Object",stat:!0,forced:!v,sham:!m},{create:function(oe,ce){return ce===void 0?P(oe):kt(P(oe),ce)},defineProperty:yt,defineProperties:kt,getOwnPropertyDescriptor:jt}),h({target:"Object",stat:!0,forced:!v},{getOwnPropertyNames:Ft}),T(),F(De,ye),Se[ie]=!0},460:function(p,A,s){var h=s(848),g=s(9200),b=s(2430),u=s(6253),y=Object;p.exports=u?function(m){return typeof m=="symbol"}:function(m){var v=h("Symbol");return g(v)&&b(v.prototype,y(m))}},488:function(p){p.exports={}},490:function(p,A,s){A.Service=s(8890)},492:function(p,A,s){var h=s(7315),g=Function.prototype.call;p.exports=h?g.bind(g):function(){return g.apply(g,arguments)}},527:function(p,A,s){var h=s(5589),g=s(7133);p.exports=function(b){if(h(b)==="Function")return g(b)}},544:function(p,A,s){s(9656)("split")},567:function(p,A,s){s(9656)("unscopables")},640:function(p){p.exports={}},685:function(p,A,s){var h=s(7133),g=0,b=Math.random(),u=h(1 .toString);p.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+u(++g+b,36)}},686:function(p,A,s){var h=s(8793);s(1606)(h.JSON,"JSON",!0)},702:function(p,A,s){s(9656)("hasInstance")},704:function(p,A,s){var h,g,b,u=s(6511),y=u.Reader,m=u.Writer,v=u.util,c=u.roots.default||(u.roots.default={});c.CloudLark=((b={}).Version=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.versionMarjor=0,i.prototype.versionMinor=0,i.prototype.versionRevise=0,i.prototype.versionBuild=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.versionMarjor!=null&&Object.hasOwnProperty.call(e,"versionMarjor")&&t.uint32(8).int32(e.versionMarjor),e.versionMinor!=null&&Object.hasOwnProperty.call(e,"versionMinor")&&t.uint32(16).int32(e.versionMinor),e.versionRevise!=null&&Object.hasOwnProperty.call(e,"versionRevise")&&t.uint32(24).int32(e.versionRevise),e.versionBuild!=null&&Object.hasOwnProperty.call(e,"versionBuild")&&t.uint32(32).int32(e.versionBuild),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.Version;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.versionMarjor=e.int32();break;case 2:d.versionMinor=e.int32();break;case 3:d.versionRevise=e.int32();break;case 4:d.versionBuild=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.versionMarjor!=null&&e.hasOwnProperty("versionMarjor")&&!v.isInteger(e.versionMarjor)?"versionMarjor: integer expected":e.versionMinor!=null&&e.hasOwnProperty("versionMinor")&&!v.isInteger(e.versionMinor)?"versionMinor: integer expected":e.versionRevise!=null&&e.hasOwnProperty("versionRevise")&&!v.isInteger(e.versionRevise)?"versionRevise: integer expected":e.versionBuild!=null&&e.hasOwnProperty("versionBuild")&&!v.isInteger(e.versionBuild)?"versionBuild: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.Version)return e;var t=new c.CloudLark.Version;return e.versionMarjor!=null&&(t.versionMarjor=0|e.versionMarjor),e.versionMinor!=null&&(t.versionMinor=0|e.versionMinor),e.versionRevise!=null&&(t.versionRevise=0|e.versionRevise),e.versionBuild!=null&&(t.versionBuild=0|e.versionBuild),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.versionMarjor=0,r.versionMinor=0,r.versionRevise=0,r.versionBuild=0),e.versionMarjor!=null&&e.hasOwnProperty("versionMarjor")&&(r.versionMarjor=e.versionMarjor),e.versionMinor!=null&&e.hasOwnProperty("versionMinor")&&(r.versionMinor=e.versionMinor),e.versionRevise!=null&&e.hasOwnProperty("versionRevise")&&(r.versionRevise=e.versionRevise),e.versionBuild!=null&&e.hasOwnProperty("versionBuild")&&(r.versionBuild=e.versionBuild),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.VersionCheck=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.clientVer=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.clientVer!=null&&Object.hasOwnProperty.call(e,"clientVer")&&c.CloudLark.Version.encode(e.clientVer,t.uint32(10).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.VersionCheck;e.pos<r;){var R=e.uint32();R>>>3==1?d.clientVer=c.CloudLark.Version.decode(e,e.uint32()):e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.clientVer!=null&&e.hasOwnProperty("clientVer")){var t=c.CloudLark.Version.verify(e.clientVer);if(t)return"clientVer."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.VersionCheck)return e;var t=new c.CloudLark.VersionCheck;if(e.clientVer!=null){if(typeof e.clientVer!="object")throw TypeError(".CloudLark.VersionCheck.clientVer: object expected");t.clientVer=c.CloudLark.Version.fromObject(e.clientVer)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.clientVer=null),e.clientVer!=null&&e.hasOwnProperty("clientVer")&&(r.clientVer=c.CloudLark.Version.toObject(e.clientVer,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.VersionCheckResponse=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.response=!1,i.prototype.serverVer=null,i.prototype.clientVer=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).bool(e.response),e.serverVer!=null&&Object.hasOwnProperty.call(e,"serverVer")&&c.CloudLark.Version.encode(e.serverVer,t.uint32(18).fork()).ldelim(),e.clientVer!=null&&Object.hasOwnProperty.call(e,"clientVer")&&c.CloudLark.Version.encode(e.clientVer,t.uint32(26).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.VersionCheckResponse;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.response=e.bool();break;case 2:d.serverVer=c.CloudLark.Version.decode(e,e.uint32());break;case 3:d.clientVer=c.CloudLark.Version.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.response!=null&&e.hasOwnProperty("response")&&typeof e.response!="boolean"?"response: boolean expected":e.serverVer!=null&&e.hasOwnProperty("serverVer")&&(t=c.CloudLark.Version.verify(e.serverVer))?"serverVer."+t:e.clientVer!=null&&e.hasOwnProperty("clientVer")&&(t=c.CloudLark.Version.verify(e.clientVer))?"clientVer."+t:null;var t},i.fromObject=function(e){if(e instanceof c.CloudLark.VersionCheckResponse)return e;var t=new c.CloudLark.VersionCheckResponse;if(e.response!=null&&(t.response=!!e.response),e.serverVer!=null){if(typeof e.serverVer!="object")throw TypeError(".CloudLark.VersionCheckResponse.serverVer: object expected");t.serverVer=c.CloudLark.Version.fromObject(e.serverVer)}if(e.clientVer!=null){if(typeof e.clientVer!="object")throw TypeError(".CloudLark.VersionCheckResponse.clientVer: object expected");t.clientVer=c.CloudLark.Version.fromObject(e.clientVer)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=!1,r.serverVer=null,r.clientVer=null),e.response!=null&&e.hasOwnProperty("response")&&(r.response=e.response),e.serverVer!=null&&e.hasOwnProperty("serverVer")&&(r.serverVer=c.CloudLark.Version.toObject(e.serverVer,t)),e.clientVer!=null&&e.hasOwnProperty("clientVer")&&(r.clientVer=c.CloudLark.Version.toObject(e.clientVer,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TaskRequest=function(){function i(r){if(r)for(var d=Object.keys(r),R=0;R<d.length;++R)r[d[R]]!=null&&(this[d[R]]=r[d[R]])}var e,t;return i.prototype.taskid="",i.prototype.type=0,i.prototype.nickname="",i.create=function(r){return new i(r)},i.encode=function(r,d){return d||(d=m.create()),r.taskid!=null&&Object.hasOwnProperty.call(r,"taskid")&&d.uint32(10).string(r.taskid),r.type!=null&&Object.hasOwnProperty.call(r,"type")&&d.uint32(16).int32(r.type),r.nickname!=null&&Object.hasOwnProperty.call(r,"nickname")&&d.uint32(26).string(r.nickname),d},i.encodeDelimited=function(r,d){return this.encode(r,d).ldelim()},i.decode=function(r,d){r instanceof y||(r=y.create(r));for(var R=d===void 0?r.len:r.pos+d,x=new c.CloudLark.TaskRequest;r.pos<R;){var P=r.uint32();switch(P>>>3){case 1:x.taskid=r.string();break;case 2:x.type=r.int32();break;case 3:x.nickname=r.string();break;default:r.skipType(7&P)}}return x},i.decodeDelimited=function(r){return r instanceof y||(r=new y(r)),this.decode(r,r.uint32())},i.verify=function(r){if(typeof r!="object"||r===null)return"object expected";if(r.taskid!=null&&r.hasOwnProperty("taskid")&&!v.isString(r.taskid))return"taskid: string expected";if(r.type!=null&&r.hasOwnProperty("type"))switch(r.type){default:return"type: enum value expected";case 0:case 1:}return r.nickname!=null&&r.hasOwnProperty("nickname")&&!v.isString(r.nickname)?"nickname: string expected":null},i.fromObject=function(r){if(r instanceof c.CloudLark.TaskRequest)return r;var d=new c.CloudLark.TaskRequest;switch(r.taskid!=null&&(d.taskid=String(r.taskid)),r.type){case"PLAYER":case 0:d.type=0;break;case"OB":case 1:d.type=1}return r.nickname!=null&&(d.nickname=String(r.nickname)),d},i.toObject=function(r,d){d||(d={});var R={};return d.defaults&&(R.taskid="",R.type=d.enums===String?"PLAYER":0,R.nickname=""),r.taskid!=null&&r.hasOwnProperty("taskid")&&(R.taskid=r.taskid),r.type!=null&&r.hasOwnProperty("type")&&(R.type=d.enums===String?c.CloudLark.TaskRequest.Type[r.type]:r.type),r.nickname!=null&&r.hasOwnProperty("nickname")&&(R.nickname=r.nickname),R},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Type=(e={},(t=Object.create(e))[e[0]="PLAYER"]=0,t[e[1]="OB"]=1,t),i}(),b.TaskType=(h={},(g=Object.create(h))[h[0]="UNKNOWN"]=0,g[h[1]="DESKTOP"]=1,g[h[2]="SHARED"]=2,g[h[3]="VR"]=3,g[h[4]="XR"]=4,g),b.TaskDesc=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.desktopWidth=0,i.prototype.desktopHeight=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.desktopWidth!=null&&Object.hasOwnProperty.call(e,"desktopWidth")&&t.uint32(8).uint32(e.desktopWidth),e.desktopHeight!=null&&Object.hasOwnProperty.call(e,"desktopHeight")&&t.uint32(16).uint32(e.desktopHeight),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TaskDesc;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.desktopWidth=e.uint32();break;case 2:d.desktopHeight=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.desktopWidth!=null&&e.hasOwnProperty("desktopWidth")&&!v.isInteger(e.desktopWidth)?"desktopWidth: integer expected":e.desktopHeight!=null&&e.hasOwnProperty("desktopHeight")&&!v.isInteger(e.desktopHeight)?"desktopHeight: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TaskDesc)return e;var t=new c.CloudLark.TaskDesc;return e.desktopWidth!=null&&(t.desktopWidth=e.desktopWidth>>>0),e.desktopHeight!=null&&(t.desktopHeight=e.desktopHeight>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.desktopWidth=0,r.desktopHeight=0),e.desktopWidth!=null&&e.hasOwnProperty("desktopWidth")&&(r.desktopWidth=e.desktopWidth),e.desktopHeight!=null&&e.hasOwnProperty("desktopHeight")&&(r.desktopHeight=e.desktopHeight),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TaskResponse=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.response=0,i.prototype.uid=0,i.prototype.prestart=!1,i.prototype.reason="",i.prototype.desc=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),e.uid!=null&&Object.hasOwnProperty.call(e,"uid")&&t.uint32(16).uint32(e.uid),e.prestart!=null&&Object.hasOwnProperty.call(e,"prestart")&&t.uint32(24).bool(e.prestart),e.reason!=null&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(34).string(e.reason),e.desc!=null&&Object.hasOwnProperty.call(e,"desc")&&c.CloudLark.TaskDesc.encode(e.desc,t.uint32(42).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TaskResponse;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.response=e.int32();break;case 2:d.uid=e.uint32();break;case 3:d.prestart=e.bool();break;case 4:d.reason=e.string();break;case 5:d.desc=c.CloudLark.TaskDesc.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.response!=null&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}if(e.uid!=null&&e.hasOwnProperty("uid")&&!v.isInteger(e.uid))return"uid: integer expected";if(e.prestart!=null&&e.hasOwnProperty("prestart")&&typeof e.prestart!="boolean")return"prestart: boolean expected";if(e.reason!=null&&e.hasOwnProperty("reason")&&!v.isString(e.reason))return"reason: string expected";if(e.desc!=null&&e.hasOwnProperty("desc")){var t=c.CloudLark.TaskDesc.verify(e.desc);if(t)return"desc."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.TaskResponse)return e;var t=new c.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}if(e.uid!=null&&(t.uid=e.uid>>>0),e.prestart!=null&&(t.prestart=!!e.prestart),e.reason!=null&&(t.reason=String(e.reason)),e.desc!=null){if(typeof e.desc!="object")throw TypeError(".CloudLark.TaskResponse.desc: object expected");t.desc=c.CloudLark.TaskDesc.fromObject(e.desc)}return t},i.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="",r.desc=null),e.response!=null&&e.hasOwnProperty("response")&&(r.response=t.enums===String?c.CloudLark.TaskResponse.Response[e.response]:e.response),e.uid!=null&&e.hasOwnProperty("uid")&&(r.uid=e.uid),e.prestart!=null&&e.hasOwnProperty("prestart")&&(r.prestart=e.prestart),e.reason!=null&&e.hasOwnProperty("reason")&&(r.reason=e.reason),e.desc!=null&&e.hasOwnProperty("desc")&&(r.desc=c.CloudLark.TaskDesc.toObject(e.desc,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.StartStreamRequest=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.width=0,i.prototype.height=0,i.prototype.fps=0,i.prototype.bitrateKbps=0,i.prototype.useWebcodec=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),e.bitrateKbps!=null&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),e.useWebcodec!=null&&Object.hasOwnProperty.call(e,"useWebcodec")&&t.uint32(40).bool(e.useWebcodec),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StartStreamRequest;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.width=e.uint32();break;case 2:d.height=e.uint32();break;case 3:d.fps=e.uint32();break;case 4:d.bitrateKbps=e.uint32();break;case 5:d.useWebcodec=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":e.fps!=null&&e.hasOwnProperty("fps")&&!v.isInteger(e.fps)?"fps: integer expected":e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&!v.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":e.useWebcodec!=null&&e.hasOwnProperty("useWebcodec")&&typeof e.useWebcodec!="boolean"?"useWebcodec: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.StartStreamRequest)return e;var t=new c.CloudLark.StartStreamRequest;return e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.fps!=null&&(t.fps=e.fps>>>0),e.bitrateKbps!=null&&(t.bitrateKbps=e.bitrateKbps>>>0),e.useWebcodec!=null&&(t.useWebcodec=!!e.useWebcodec),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0,r.fps=0,r.bitrateKbps=0,r.useWebcodec=!1),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.fps!=null&&e.hasOwnProperty("fps")&&(r.fps=e.fps),e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),e.useWebcodec!=null&&e.hasOwnProperty("useWebcodec")&&(r.useWebcodec=e.useWebcodec),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.StartVrStreamRequest=function(){function i(e){if(this.fov=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.width=0,i.prototype.height=0,i.prototype.fps=0,i.prototype.bitrateKbps=0,i.prototype.ipd=0,i.prototype.roomSet=0,i.prototype.fov=v.emptyArray,i.prototype.hasTouchcontroller=!1,i.prototype.useKcp=!1,i.prototype.useH265=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){if(t||(t=m.create()),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),e.bitrateKbps!=null&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(32).uint32(e.bitrateKbps),e.ipd!=null&&Object.hasOwnProperty.call(e,"ipd")&&t.uint32(45).float(e.ipd),e.roomSet!=null&&Object.hasOwnProperty.call(e,"roomSet")&&t.uint32(53).float(e.roomSet),e.fov!=null&&e.fov.length){t.uint32(58).fork();for(var r=0;r<e.fov.length;++r)t.float(e.fov[r]);t.ldelim()}return e.hasTouchcontroller!=null&&Object.hasOwnProperty.call(e,"hasTouchcontroller")&&t.uint32(64).bool(e.hasTouchcontroller),e.useKcp!=null&&Object.hasOwnProperty.call(e,"useKcp")&&t.uint32(72).bool(e.useKcp),e.useH265!=null&&Object.hasOwnProperty.call(e,"useH265")&&t.uint32(80).bool(e.useH265),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StartVrStreamRequest;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.width=e.uint32();break;case 2:d.height=e.uint32();break;case 3:d.fps=e.uint32();break;case 4:d.bitrateKbps=e.uint32();break;case 5:d.ipd=e.float();break;case 6:d.roomSet=e.float();break;case 7:if(d.fov&&d.fov.length||(d.fov=[]),(7&R)==2)for(var x=e.uint32()+e.pos;e.pos<x;)d.fov.push(e.float());else d.fov.push(e.float());break;case 8:d.hasTouchcontroller=e.bool();break;case 9:d.useKcp=e.bool();break;case 10:d.useH265=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width))return"width: integer expected";if(e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height))return"height: integer expected";if(e.fps!=null&&e.hasOwnProperty("fps")&&!v.isInteger(e.fps))return"fps: integer expected";if(e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&!v.isInteger(e.bitrateKbps))return"bitrateKbps: integer expected";if(e.ipd!=null&&e.hasOwnProperty("ipd")&&typeof e.ipd!="number")return"ipd: number expected";if(e.roomSet!=null&&e.hasOwnProperty("roomSet")&&typeof e.roomSet!="number")return"roomSet: number expected";if(e.fov!=null&&e.hasOwnProperty("fov")){if(!Array.isArray(e.fov))return"fov: array expected";for(var t=0;t<e.fov.length;++t)if(typeof e.fov[t]!="number")return"fov: number[] expected"}return e.hasTouchcontroller!=null&&e.hasOwnProperty("hasTouchcontroller")&&typeof e.hasTouchcontroller!="boolean"?"hasTouchcontroller: boolean expected":e.useKcp!=null&&e.hasOwnProperty("useKcp")&&typeof e.useKcp!="boolean"?"useKcp: boolean expected":e.useH265!=null&&e.hasOwnProperty("useH265")&&typeof e.useH265!="boolean"?"useH265: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.StartVrStreamRequest)return e;var t=new c.CloudLark.StartVrStreamRequest;if(e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.fps!=null&&(t.fps=e.fps>>>0),e.bitrateKbps!=null&&(t.bitrateKbps=e.bitrateKbps>>>0),e.ipd!=null&&(t.ipd=Number(e.ipd)),e.roomSet!=null&&(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 e.hasTouchcontroller!=null&&(t.hasTouchcontroller=!!e.hasTouchcontroller),e.useKcp!=null&&(t.useKcp=!!e.useKcp),e.useH265!=null&&(t.useH265=!!e.useH265),t},i.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),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.fps!=null&&e.hasOwnProperty("fps")&&(r.fps=e.fps),e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),e.ipd!=null&&e.hasOwnProperty("ipd")&&(r.ipd=t.json&&!isFinite(e.ipd)?String(e.ipd):e.ipd),e.roomSet!=null&&e.hasOwnProperty("roomSet")&&(r.roomSet=t.json&&!isFinite(e.roomSet)?String(e.roomSet):e.roomSet),e.fov&&e.fov.length){r.fov=[];for(var d=0;d<e.fov.length;++d)r.fov[d]=t.json&&!isFinite(e.fov[d])?String(e.fov[d]):e.fov[d]}return e.hasTouchcontroller!=null&&e.hasOwnProperty("hasTouchcontroller")&&(r.hasTouchcontroller=e.hasTouchcontroller),e.useKcp!=null&&e.hasOwnProperty("useKcp")&&(r.useKcp=e.useKcp),e.useH265!=null&&e.hasOwnProperty("useH265")&&(r.useH265=e.useH265),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.FoveatedAxisRendering=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.enableFoveateAxisRendering=!1,i.prototype.foveationCenterSizeX=0,i.prototype.foveationCenterSizeY=0,i.prototype.foveationCenterShiftX=0,i.prototype.foveationCenterShiftY=0,i.prototype.foveationEdgeRatioX=0,i.prototype.foveationEdgeRatioY=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.enableFoveateAxisRendering!=null&&Object.hasOwnProperty.call(e,"enableFoveateAxisRendering")&&t.uint32(8).bool(e.enableFoveateAxisRendering),e.foveationCenterSizeX!=null&&Object.hasOwnProperty.call(e,"foveationCenterSizeX")&&t.uint32(21).float(e.foveationCenterSizeX),e.foveationCenterSizeY!=null&&Object.hasOwnProperty.call(e,"foveationCenterSizeY")&&t.uint32(29).float(e.foveationCenterSizeY),e.foveationCenterShiftX!=null&&Object.hasOwnProperty.call(e,"foveationCenterShiftX")&&t.uint32(37).float(e.foveationCenterShiftX),e.foveationCenterShiftY!=null&&Object.hasOwnProperty.call(e,"foveationCenterShiftY")&&t.uint32(45).float(e.foveationCenterShiftY),e.foveationEdgeRatioX!=null&&Object.hasOwnProperty.call(e,"foveationEdgeRatioX")&&t.uint32(53).float(e.foveationEdgeRatioX),e.foveationEdgeRatioY!=null&&Object.hasOwnProperty.call(e,"foveationEdgeRatioY")&&t.uint32(61).float(e.foveationEdgeRatioY),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.FoveatedAxisRendering;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.enableFoveateAxisRendering=e.bool();break;case 2:d.foveationCenterSizeX=e.float();break;case 3:d.foveationCenterSizeY=e.float();break;case 4:d.foveationCenterShiftX=e.float();break;case 5:d.foveationCenterShiftY=e.float();break;case 6:d.foveationEdgeRatioX=e.float();break;case 7:d.foveationEdgeRatioY=e.float();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.enableFoveateAxisRendering!=null&&e.hasOwnProperty("enableFoveateAxisRendering")&&typeof e.enableFoveateAxisRendering!="boolean"?"enableFoveateAxisRendering: boolean expected":e.foveationCenterSizeX!=null&&e.hasOwnProperty("foveationCenterSizeX")&&typeof e.foveationCenterSizeX!="number"?"foveationCenterSizeX: number expected":e.foveationCenterSizeY!=null&&e.hasOwnProperty("foveationCenterSizeY")&&typeof e.foveationCenterSizeY!="number"?"foveationCenterSizeY: number expected":e.foveationCenterShiftX!=null&&e.hasOwnProperty("foveationCenterShiftX")&&typeof e.foveationCenterShiftX!="number"?"foveationCenterShiftX: number expected":e.foveationCenterShiftY!=null&&e.hasOwnProperty("foveationCenterShiftY")&&typeof e.foveationCenterShiftY!="number"?"foveationCenterShiftY: number expected":e.foveationEdgeRatioX!=null&&e.hasOwnProperty("foveationEdgeRatioX")&&typeof e.foveationEdgeRatioX!="number"?"foveationEdgeRatioX: number expected":e.foveationEdgeRatioY!=null&&e.hasOwnProperty("foveationEdgeRatioY")&&typeof e.foveationEdgeRatioY!="number"?"foveationEdgeRatioY: number expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.FoveatedAxisRendering)return e;var t=new c.CloudLark.FoveatedAxisRendering;return e.enableFoveateAxisRendering!=null&&(t.enableFoveateAxisRendering=!!e.enableFoveateAxisRendering),e.foveationCenterSizeX!=null&&(t.foveationCenterSizeX=Number(e.foveationCenterSizeX)),e.foveationCenterSizeY!=null&&(t.foveationCenterSizeY=Number(e.foveationCenterSizeY)),e.foveationCenterShiftX!=null&&(t.foveationCenterShiftX=Number(e.foveationCenterShiftX)),e.foveationCenterShiftY!=null&&(t.foveationCenterShiftY=Number(e.foveationCenterShiftY)),e.foveationEdgeRatioX!=null&&(t.foveationEdgeRatioX=Number(e.foveationEdgeRatioX)),e.foveationEdgeRatioY!=null&&(t.foveationEdgeRatioY=Number(e.foveationEdgeRatioY)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableFoveateAxisRendering=!1,r.foveationCenterSizeX=0,r.foveationCenterSizeY=0,r.foveationCenterShiftX=0,r.foveationCenterShiftY=0,r.foveationEdgeRatioX=0,r.foveationEdgeRatioY=0),e.enableFoveateAxisRendering!=null&&e.hasOwnProperty("enableFoveateAxisRendering")&&(r.enableFoveateAxisRendering=e.enableFoveateAxisRendering),e.foveationCenterSizeX!=null&&e.hasOwnProperty("foveationCenterSizeX")&&(r.foveationCenterSizeX=t.json&&!isFinite(e.foveationCenterSizeX)?String(e.foveationCenterSizeX):e.foveationCenterSizeX),e.foveationCenterSizeY!=null&&e.hasOwnProperty("foveationCenterSizeY")&&(r.foveationCenterSizeY=t.json&&!isFinite(e.foveationCenterSizeY)?String(e.foveationCenterSizeY):e.foveationCenterSizeY),e.foveationCenterShiftX!=null&&e.hasOwnProperty("foveationCenterShiftX")&&(r.foveationCenterShiftX=t.json&&!isFinite(e.foveationCenterShiftX)?String(e.foveationCenterShiftX):e.foveationCenterShiftX),e.foveationCenterShiftY!=null&&e.hasOwnProperty("foveationCenterShiftY")&&(r.foveationCenterShiftY=t.json&&!isFinite(e.foveationCenterShiftY)?String(e.foveationCenterShiftY):e.foveationCenterShiftY),e.foveationEdgeRatioX!=null&&e.hasOwnProperty("foveationEdgeRatioX")&&(r.foveationEdgeRatioX=t.json&&!isFinite(e.foveationEdgeRatioX)?String(e.foveationEdgeRatioX):e.foveationEdgeRatioX),e.foveationEdgeRatioY!=null&&e.hasOwnProperty("foveationEdgeRatioY")&&(r.foveationEdgeRatioY=t.json&&!isFinite(e.foveationEdgeRatioY)?String(e.foveationEdgeRatioY):e.foveationEdgeRatioY),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.FoveatedRendering=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.enableFoveateRendering=!1,i.prototype.foveationStrength=0,i.prototype.foveationShape=0,i.prototype.foveationVerticalOffset=0,i.prototype.axis=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.enableFoveateRendering!=null&&Object.hasOwnProperty.call(e,"enableFoveateRendering")&&t.uint32(8).bool(e.enableFoveateRendering),e.foveationStrength!=null&&Object.hasOwnProperty.call(e,"foveationStrength")&&t.uint32(21).float(e.foveationStrength),e.foveationShape!=null&&Object.hasOwnProperty.call(e,"foveationShape")&&t.uint32(29).float(e.foveationShape),e.foveationVerticalOffset!=null&&Object.hasOwnProperty.call(e,"foveationVerticalOffset")&&t.uint32(37).float(e.foveationVerticalOffset),e.axis!=null&&Object.hasOwnProperty.call(e,"axis")&&c.CloudLark.FoveatedAxisRendering.encode(e.axis,t.uint32(42).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.FoveatedRendering;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.enableFoveateRendering=e.bool();break;case 2:d.foveationStrength=e.float();break;case 3:d.foveationShape=e.float();break;case 4:d.foveationVerticalOffset=e.float();break;case 5:d.axis=c.CloudLark.FoveatedAxisRendering.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.enableFoveateRendering!=null&&e.hasOwnProperty("enableFoveateRendering")&&typeof e.enableFoveateRendering!="boolean")return"enableFoveateRendering: boolean expected";if(e.foveationStrength!=null&&e.hasOwnProperty("foveationStrength")&&typeof e.foveationStrength!="number")return"foveationStrength: number expected";if(e.foveationShape!=null&&e.hasOwnProperty("foveationShape")&&typeof e.foveationShape!="number")return"foveationShape: number expected";if(e.foveationVerticalOffset!=null&&e.hasOwnProperty("foveationVerticalOffset")&&typeof e.foveationVerticalOffset!="number")return"foveationVerticalOffset: number expected";if(e.axis!=null&&e.hasOwnProperty("axis")){var t=c.CloudLark.FoveatedAxisRendering.verify(e.axis);if(t)return"axis."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.FoveatedRendering)return e;var t=new c.CloudLark.FoveatedRendering;if(e.enableFoveateRendering!=null&&(t.enableFoveateRendering=!!e.enableFoveateRendering),e.foveationStrength!=null&&(t.foveationStrength=Number(e.foveationStrength)),e.foveationShape!=null&&(t.foveationShape=Number(e.foveationShape)),e.foveationVerticalOffset!=null&&(t.foveationVerticalOffset=Number(e.foveationVerticalOffset)),e.axis!=null){if(typeof e.axis!="object")throw TypeError(".CloudLark.FoveatedRendering.axis: object expected");t.axis=c.CloudLark.FoveatedAxisRendering.fromObject(e.axis)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enableFoveateRendering=!1,r.foveationStrength=0,r.foveationShape=0,r.foveationVerticalOffset=0,r.axis=null),e.enableFoveateRendering!=null&&e.hasOwnProperty("enableFoveateRendering")&&(r.enableFoveateRendering=e.enableFoveateRendering),e.foveationStrength!=null&&e.hasOwnProperty("foveationStrength")&&(r.foveationStrength=t.json&&!isFinite(e.foveationStrength)?String(e.foveationStrength):e.foveationStrength),e.foveationShape!=null&&e.hasOwnProperty("foveationShape")&&(r.foveationShape=t.json&&!isFinite(e.foveationShape)?String(e.foveationShape):e.foveationShape),e.foveationVerticalOffset!=null&&e.hasOwnProperty("foveationVerticalOffset")&&(r.foveationVerticalOffset=t.json&&!isFinite(e.foveationVerticalOffset)?String(e.foveationVerticalOffset):e.foveationVerticalOffset),e.axis!=null&&e.hasOwnProperty("axis")&&(r.axis=c.CloudLark.FoveatedAxisRendering.toObject(e.axis,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ColorCorrention=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.enableColorCorrection=!1,i.prototype.brightness=0,i.prototype.contrast=0,i.prototype.saturation=0,i.prototype.gamma=0,i.prototype.sharpening=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.enableColorCorrection!=null&&Object.hasOwnProperty.call(e,"enableColorCorrection")&&t.uint32(8).bool(e.enableColorCorrection),e.brightness!=null&&Object.hasOwnProperty.call(e,"brightness")&&t.uint32(21).float(e.brightness),e.contrast!=null&&Object.hasOwnProperty.call(e,"contrast")&&t.uint32(29).float(e.contrast),e.saturation!=null&&Object.hasOwnProperty.call(e,"saturation")&&t.uint32(37).float(e.saturation),e.gamma!=null&&Object.hasOwnProperty.call(e,"gamma")&&t.uint32(45).float(e.gamma),e.sharpening!=null&&Object.hasOwnProperty.call(e,"sharpening")&&t.uint32(53).float(e.sharpening),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ColorCorrention;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.enableColorCorrection=e.bool();break;case 2:d.brightness=e.float();break;case 3:d.contrast=e.float();break;case 4:d.saturation=e.float();break;case 5:d.gamma=e.float();break;case 6:d.sharpening=e.float();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.enableColorCorrection!=null&&e.hasOwnProperty("enableColorCorrection")&&typeof e.enableColorCorrection!="boolean"?"enableColorCorrection: boolean expected":e.brightness!=null&&e.hasOwnProperty("brightness")&&typeof e.brightness!="number"?"brightness: number expected":e.contrast!=null&&e.hasOwnProperty("contrast")&&typeof e.contrast!="number"?"contrast: number expected":e.saturation!=null&&e.hasOwnProperty("saturation")&&typeof e.saturation!="number"?"saturation: number expected":e.gamma!=null&&e.hasOwnProperty("gamma")&&typeof e.gamma!="number"?"gamma: number expected":e.sharpening!=null&&e.hasOwnProperty("sharpening")&&typeof e.sharpening!="number"?"sharpening: number expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.ColorCorrention)return e;var t=new c.CloudLark.ColorCorrention;return e.enableColorCorrection!=null&&(t.enableColorCorrection=!!e.enableColorCorrection),e.brightness!=null&&(t.brightness=Number(e.brightness)),e.contrast!=null&&(t.contrast=Number(e.contrast)),e.saturation!=null&&(t.saturation=Number(e.saturation)),e.gamma!=null&&(t.gamma=Number(e.gamma)),e.sharpening!=null&&(t.sharpening=Number(e.sharpening)),t},i.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),e.enableColorCorrection!=null&&e.hasOwnProperty("enableColorCorrection")&&(r.enableColorCorrection=e.enableColorCorrection),e.brightness!=null&&e.hasOwnProperty("brightness")&&(r.brightness=t.json&&!isFinite(e.brightness)?String(e.brightness):e.brightness),e.contrast!=null&&e.hasOwnProperty("contrast")&&(r.contrast=t.json&&!isFinite(e.contrast)?String(e.contrast):e.contrast),e.saturation!=null&&e.hasOwnProperty("saturation")&&(r.saturation=t.json&&!isFinite(e.saturation)?String(e.saturation):e.saturation),e.gamma!=null&&e.hasOwnProperty("gamma")&&(r.gamma=t.json&&!isFinite(e.gamma)?String(e.gamma):e.gamma),e.sharpening!=null&&e.hasOwnProperty("sharpening")&&(r.sharpening=t.json&&!isFinite(e.sharpening)?String(e.sharpening):e.sharpening),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.StreamType=function(){var i={},e=Object.create(i);return e[i[0]="UDP"]=0,e[i[1]="TCP"]=1,e[i[2]="THROTTLED_UDP"]=2,e[i[3]="KCP"]=3,e}(),b.VideoDesc=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.eyeResolutionWidth=0,i.prototype.eyeResolutionHeight=0,i.prototype.fps=0,i.prototype.encodeBitrateMbs=0,i.prototype.codec=0,i.prototype.targetEyeResolutionWidth=0,i.prototype.targetEyeResolutionHeight=0,i.prototype.secondsFromVsyncToPhotons=0,i.prototype.use10bitEncoder=!1,i.prototype.foveatedRendering=null,i.prototype.colorCorrention=null,i.prototype.stream=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.eyeResolutionWidth!=null&&Object.hasOwnProperty.call(e,"eyeResolutionWidth")&&t.uint32(8).uint32(e.eyeResolutionWidth),e.eyeResolutionHeight!=null&&Object.hasOwnProperty.call(e,"eyeResolutionHeight")&&t.uint32(16).uint32(e.eyeResolutionHeight),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(24).uint32(e.fps),e.encodeBitrateMbs!=null&&Object.hasOwnProperty.call(e,"encodeBitrateMbs")&&t.uint32(32).uint32(e.encodeBitrateMbs),e.codec!=null&&Object.hasOwnProperty.call(e,"codec")&&t.uint32(40).uint32(e.codec),e.targetEyeResolutionWidth!=null&&Object.hasOwnProperty.call(e,"targetEyeResolutionWidth")&&t.uint32(48).uint32(e.targetEyeResolutionWidth),e.targetEyeResolutionHeight!=null&&Object.hasOwnProperty.call(e,"targetEyeResolutionHeight")&&t.uint32(56).uint32(e.targetEyeResolutionHeight),e.secondsFromVsyncToPhotons!=null&&Object.hasOwnProperty.call(e,"secondsFromVsyncToPhotons")&&t.uint32(69).float(e.secondsFromVsyncToPhotons),e.use10bitEncoder!=null&&Object.hasOwnProperty.call(e,"use10bitEncoder")&&t.uint32(72).bool(e.use10bitEncoder),e.foveatedRendering!=null&&Object.hasOwnProperty.call(e,"foveatedRendering")&&c.CloudLark.FoveatedRendering.encode(e.foveatedRendering,t.uint32(82).fork()).ldelim(),e.colorCorrention!=null&&Object.hasOwnProperty.call(e,"colorCorrention")&&c.CloudLark.ColorCorrention.encode(e.colorCorrention,t.uint32(90).fork()).ldelim(),e.stream!=null&&Object.hasOwnProperty.call(e,"stream")&&t.uint32(96).int32(e.stream),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.VideoDesc;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.eyeResolutionWidth=e.uint32();break;case 2:d.eyeResolutionHeight=e.uint32();break;case 3:d.fps=e.uint32();break;case 4:d.encodeBitrateMbs=e.uint32();break;case 5:d.codec=e.uint32();break;case 6:d.targetEyeResolutionWidth=e.uint32();break;case 7:d.targetEyeResolutionHeight=e.uint32();break;case 8:d.secondsFromVsyncToPhotons=e.float();break;case 9:d.use10bitEncoder=e.bool();break;case 10:d.foveatedRendering=c.CloudLark.FoveatedRendering.decode(e,e.uint32());break;case 11:d.colorCorrention=c.CloudLark.ColorCorrention.decode(e,e.uint32());break;case 12:d.stream=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.eyeResolutionWidth!=null&&e.hasOwnProperty("eyeResolutionWidth")&&!v.isInteger(e.eyeResolutionWidth))return"eyeResolutionWidth: integer expected";if(e.eyeResolutionHeight!=null&&e.hasOwnProperty("eyeResolutionHeight")&&!v.isInteger(e.eyeResolutionHeight))return"eyeResolutionHeight: integer expected";if(e.fps!=null&&e.hasOwnProperty("fps")&&!v.isInteger(e.fps))return"fps: integer expected";if(e.encodeBitrateMbs!=null&&e.hasOwnProperty("encodeBitrateMbs")&&!v.isInteger(e.encodeBitrateMbs))return"encodeBitrateMbs: integer expected";if(e.codec!=null&&e.hasOwnProperty("codec")&&!v.isInteger(e.codec))return"codec: integer expected";if(e.targetEyeResolutionWidth!=null&&e.hasOwnProperty("targetEyeResolutionWidth")&&!v.isInteger(e.targetEyeResolutionWidth))return"targetEyeResolutionWidth: integer expected";if(e.targetEyeResolutionHeight!=null&&e.hasOwnProperty("targetEyeResolutionHeight")&&!v.isInteger(e.targetEyeResolutionHeight))return"targetEyeResolutionHeight: integer expected";if(e.secondsFromVsyncToPhotons!=null&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&typeof e.secondsFromVsyncToPhotons!="number")return"secondsFromVsyncToPhotons: number expected";if(e.use10bitEncoder!=null&&e.hasOwnProperty("use10bitEncoder")&&typeof e.use10bitEncoder!="boolean")return"use10bitEncoder: boolean expected";var t;if(e.foveatedRendering!=null&&e.hasOwnProperty("foveatedRendering")&&(t=c.CloudLark.FoveatedRendering.verify(e.foveatedRendering)))return"foveatedRendering."+t;if(e.colorCorrention!=null&&e.hasOwnProperty("colorCorrention")&&(t=c.CloudLark.ColorCorrention.verify(e.colorCorrention)))return"colorCorrention."+t;if(e.stream!=null&&e.hasOwnProperty("stream"))switch(e.stream){default:return"stream: enum value expected";case 0:case 1:case 2:case 3:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.VideoDesc)return e;var t=new c.CloudLark.VideoDesc;if(e.eyeResolutionWidth!=null&&(t.eyeResolutionWidth=e.eyeResolutionWidth>>>0),e.eyeResolutionHeight!=null&&(t.eyeResolutionHeight=e.eyeResolutionHeight>>>0),e.fps!=null&&(t.fps=e.fps>>>0),e.encodeBitrateMbs!=null&&(t.encodeBitrateMbs=e.encodeBitrateMbs>>>0),e.codec!=null&&(t.codec=e.codec>>>0),e.targetEyeResolutionWidth!=null&&(t.targetEyeResolutionWidth=e.targetEyeResolutionWidth>>>0),e.targetEyeResolutionHeight!=null&&(t.targetEyeResolutionHeight=e.targetEyeResolutionHeight>>>0),e.secondsFromVsyncToPhotons!=null&&(t.secondsFromVsyncToPhotons=Number(e.secondsFromVsyncToPhotons)),e.use10bitEncoder!=null&&(t.use10bitEncoder=!!e.use10bitEncoder),e.foveatedRendering!=null){if(typeof e.foveatedRendering!="object")throw TypeError(".CloudLark.VideoDesc.foveatedRendering: object expected");t.foveatedRendering=c.CloudLark.FoveatedRendering.fromObject(e.foveatedRendering)}if(e.colorCorrention!=null){if(typeof e.colorCorrention!="object")throw TypeError(".CloudLark.VideoDesc.colorCorrention: object expected");t.colorCorrention=c.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},i.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),e.eyeResolutionWidth!=null&&e.hasOwnProperty("eyeResolutionWidth")&&(r.eyeResolutionWidth=e.eyeResolutionWidth),e.eyeResolutionHeight!=null&&e.hasOwnProperty("eyeResolutionHeight")&&(r.eyeResolutionHeight=e.eyeResolutionHeight),e.fps!=null&&e.hasOwnProperty("fps")&&(r.fps=e.fps),e.encodeBitrateMbs!=null&&e.hasOwnProperty("encodeBitrateMbs")&&(r.encodeBitrateMbs=e.encodeBitrateMbs),e.codec!=null&&e.hasOwnProperty("codec")&&(r.codec=e.codec),e.targetEyeResolutionWidth!=null&&e.hasOwnProperty("targetEyeResolutionWidth")&&(r.targetEyeResolutionWidth=e.targetEyeResolutionWidth),e.targetEyeResolutionHeight!=null&&e.hasOwnProperty("targetEyeResolutionHeight")&&(r.targetEyeResolutionHeight=e.targetEyeResolutionHeight),e.secondsFromVsyncToPhotons!=null&&e.hasOwnProperty("secondsFromVsyncToPhotons")&&(r.secondsFromVsyncToPhotons=t.json&&!isFinite(e.secondsFromVsyncToPhotons)?String(e.secondsFromVsyncToPhotons):e.secondsFromVsyncToPhotons),e.use10bitEncoder!=null&&e.hasOwnProperty("use10bitEncoder")&&(r.use10bitEncoder=e.use10bitEncoder),e.foveatedRendering!=null&&e.hasOwnProperty("foveatedRendering")&&(r.foveatedRendering=c.CloudLark.FoveatedRendering.toObject(e.foveatedRendering,t)),e.colorCorrention!=null&&e.hasOwnProperty("colorCorrention")&&(r.colorCorrention=c.CloudLark.ColorCorrention.toObject(e.colorCorrention,t)),e.stream!=null&&e.hasOwnProperty("stream")&&(r.stream=t.enums===String?c.CloudLark.StreamType[e.stream]:e.stream),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.HeadSetType=function(){var i={},e=Object.create(i);return e[i[0]="HTC"]=0,e[i[1]="OCULUS"]=1,e[i[2]="PICO2"]=2,e[i[3]="PICO3"]=3,e[i[4]="NOLO_Sonic_1"]=4,e}(),b.HeadSetControllerDesc=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.type=0,i.prototype.forece3dof=!1,i.prototype.controllerposeTimeOffset=0,i.prototype.hapticsIntensity=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),e.forece3dof!=null&&Object.hasOwnProperty.call(e,"forece3dof")&&t.uint32(16).bool(e.forece3dof),e.controllerposeTimeOffset!=null&&Object.hasOwnProperty.call(e,"controllerposeTimeOffset")&&t.uint32(29).float(e.controllerposeTimeOffset),e.hapticsIntensity!=null&&Object.hasOwnProperty.call(e,"hapticsIntensity")&&t.uint32(37).float(e.hapticsIntensity),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.HeadSetControllerDesc;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.type=e.int32();break;case 2:d.forece3dof=e.bool();break;case 3:d.controllerposeTimeOffset=e.float();break;case 4:d.hapticsIntensity=e.float();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:case 2:case 3:case 4:}return e.forece3dof!=null&&e.hasOwnProperty("forece3dof")&&typeof e.forece3dof!="boolean"?"forece3dof: boolean expected":e.controllerposeTimeOffset!=null&&e.hasOwnProperty("controllerposeTimeOffset")&&typeof e.controllerposeTimeOffset!="number"?"controllerposeTimeOffset: number expected":e.hapticsIntensity!=null&&e.hasOwnProperty("hapticsIntensity")&&typeof e.hapticsIntensity!="number"?"hapticsIntensity: number expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.HeadSetControllerDesc)return e;var t=new c.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 e.forece3dof!=null&&(t.forece3dof=!!e.forece3dof),e.controllerposeTimeOffset!=null&&(t.controllerposeTimeOffset=Number(e.controllerposeTimeOffset)),e.hapticsIntensity!=null&&(t.hapticsIntensity=Number(e.hapticsIntensity)),t},i.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),e.type!=null&&e.hasOwnProperty("type")&&(r.type=t.enums===String?c.CloudLark.HeadSetType[e.type]:e.type),e.forece3dof!=null&&e.hasOwnProperty("forece3dof")&&(r.forece3dof=e.forece3dof),e.controllerposeTimeOffset!=null&&e.hasOwnProperty("controllerposeTimeOffset")&&(r.controllerposeTimeOffset=t.json&&!isFinite(e.controllerposeTimeOffset)?String(e.controllerposeTimeOffset):e.controllerposeTimeOffset),e.hapticsIntensity!=null&&e.hasOwnProperty("hapticsIntensity")&&(r.hapticsIntensity=t.json&&!isFinite(e.hapticsIntensity)?String(e.hapticsIntensity):e.hapticsIntensity),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.XRNetworkControl=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.onepacketFec=!1,i.prototype.dynamicBitrate=!1,i.prototype.resend=!1,i.prototype.fecType=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.onepacketFec!=null&&Object.hasOwnProperty.call(e,"onepacketFec")&&t.uint32(8).bool(e.onepacketFec),e.dynamicBitrate!=null&&Object.hasOwnProperty.call(e,"dynamicBitrate")&&t.uint32(16).bool(e.dynamicBitrate),e.resend!=null&&Object.hasOwnProperty.call(e,"resend")&&t.uint32(24).bool(e.resend),e.fecType!=null&&Object.hasOwnProperty.call(e,"fecType")&&t.uint32(32).int32(e.fecType),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.XRNetworkControl;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.onepacketFec=e.bool();break;case 2:d.dynamicBitrate=e.bool();break;case 3:d.resend=e.bool();break;case 4:d.fecType=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.onepacketFec!=null&&e.hasOwnProperty("onepacketFec")&&typeof e.onepacketFec!="boolean"?"onepacketFec: boolean expected":e.dynamicBitrate!=null&&e.hasOwnProperty("dynamicBitrate")&&typeof e.dynamicBitrate!="boolean"?"dynamicBitrate: boolean expected":e.resend!=null&&e.hasOwnProperty("resend")&&typeof e.resend!="boolean"?"resend: boolean expected":e.fecType!=null&&e.hasOwnProperty("fecType")&&!v.isInteger(e.fecType)?"fecType: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.XRNetworkControl)return e;var t=new c.CloudLark.XRNetworkControl;return e.onepacketFec!=null&&(t.onepacketFec=!!e.onepacketFec),e.dynamicBitrate!=null&&(t.dynamicBitrate=!!e.dynamicBitrate),e.resend!=null&&(t.resend=!!e.resend),e.fecType!=null&&(t.fecType=0|e.fecType),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.onepacketFec=!1,r.dynamicBitrate=!1,r.resend=!1,r.fecType=0),e.onepacketFec!=null&&e.hasOwnProperty("onepacketFec")&&(r.onepacketFec=e.onepacketFec),e.dynamicBitrate!=null&&e.hasOwnProperty("dynamicBitrate")&&(r.dynamicBitrate=e.dynamicBitrate),e.resend!=null&&e.hasOwnProperty("resend")&&(r.resend=e.resend),e.fecType!=null&&e.hasOwnProperty("fecType")&&(r.fecType=e.fecType),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.StartNewVrStreamRequest=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.videoDesc=null,i.prototype.headsetController=null,i.prototype.network=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.videoDesc!=null&&Object.hasOwnProperty.call(e,"videoDesc")&&c.CloudLark.VideoDesc.encode(e.videoDesc,t.uint32(10).fork()).ldelim(),e.headsetController!=null&&Object.hasOwnProperty.call(e,"headsetController")&&c.CloudLark.HeadSetControllerDesc.encode(e.headsetController,t.uint32(18).fork()).ldelim(),e.network!=null&&Object.hasOwnProperty.call(e,"network")&&c.CloudLark.XRNetworkControl.encode(e.network,t.uint32(26).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StartNewVrStreamRequest;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.videoDesc=c.CloudLark.VideoDesc.decode(e,e.uint32());break;case 2:d.headsetController=c.CloudLark.HeadSetControllerDesc.decode(e,e.uint32());break;case 3:d.network=c.CloudLark.XRNetworkControl.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.videoDesc!=null&&e.hasOwnProperty("videoDesc")&&(t=c.CloudLark.VideoDesc.verify(e.videoDesc))?"videoDesc."+t:e.headsetController!=null&&e.hasOwnProperty("headsetController")&&(t=c.CloudLark.HeadSetControllerDesc.verify(e.headsetController))?"headsetController."+t:e.network!=null&&e.hasOwnProperty("network")&&(t=c.CloudLark.XRNetworkControl.verify(e.network))?"network."+t:null;var t},i.fromObject=function(e){if(e instanceof c.CloudLark.StartNewVrStreamRequest)return e;var t=new c.CloudLark.StartNewVrStreamRequest;if(e.videoDesc!=null){if(typeof e.videoDesc!="object")throw TypeError(".CloudLark.StartNewVrStreamRequest.videoDesc: object expected");t.videoDesc=c.CloudLark.VideoDesc.fromObject(e.videoDesc)}if(e.headsetController!=null){if(typeof e.headsetController!="object")throw TypeError(".CloudLark.StartNewVrStreamRequest.headsetController: object expected");t.headsetController=c.CloudLark.HeadSetControllerDesc.fromObject(e.headsetController)}if(e.network!=null){if(typeof e.network!="object")throw TypeError(".CloudLark.StartNewVrStreamRequest.network: object expected");t.network=c.CloudLark.XRNetworkControl.fromObject(e.network)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.videoDesc=null,r.headsetController=null,r.network=null),e.videoDesc!=null&&e.hasOwnProperty("videoDesc")&&(r.videoDesc=c.CloudLark.VideoDesc.toObject(e.videoDesc,t)),e.headsetController!=null&&e.hasOwnProperty("headsetController")&&(r.headsetController=c.CloudLark.HeadSetControllerDesc.toObject(e.headsetController,t)),e.network!=null&&e.hasOwnProperty("network")&&(r.network=c.CloudLark.XRNetworkControl.toObject(e.network,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.IceServer=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.uri="",i.prototype.username="",i.prototype.password="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.uri!=null&&Object.hasOwnProperty.call(e,"uri")&&t.uint32(10).string(e.uri),e.username!=null&&Object.hasOwnProperty.call(e,"username")&&t.uint32(18).string(e.username),e.password!=null&&Object.hasOwnProperty.call(e,"password")&&t.uint32(26).string(e.password),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.IceServer;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.uri=e.string();break;case 2:d.username=e.string();break;case 3:d.password=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.uri!=null&&e.hasOwnProperty("uri")&&!v.isString(e.uri)?"uri: string expected":e.username!=null&&e.hasOwnProperty("username")&&!v.isString(e.username)?"username: string expected":e.password!=null&&e.hasOwnProperty("password")&&!v.isString(e.password)?"password: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.IceServer)return e;var t=new c.CloudLark.IceServer;return e.uri!=null&&(t.uri=String(e.uri)),e.username!=null&&(t.username=String(e.username)),e.password!=null&&(t.password=String(e.password)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.uri="",r.username="",r.password=""),e.uri!=null&&e.hasOwnProperty("uri")&&(r.uri=e.uri),e.username!=null&&e.hasOwnProperty("username")&&(r.username=e.username),e.password!=null&&e.hasOwnProperty("password")&&(r.password=e.password),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.RTCConfiguration=function(){function i(e){if(this.servers=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.servers=v.emptyArray,i.prototype.type=0,i.create=function(e){return new i(e)},i.encode=function(e,t){if(t||(t=m.create()),e.servers!=null&&e.servers.length)for(var r=0;r<e.servers.length;++r)c.CloudLark.IceServer.encode(e.servers[r],t.uint32(10).fork()).ldelim();return e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(16).uint32(e.type),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.RTCConfiguration;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.servers&&d.servers.length||(d.servers=[]),d.servers.push(c.CloudLark.IceServer.decode(e,e.uint32()));break;case 2:d.type=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.servers!=null&&e.hasOwnProperty("servers")){if(!Array.isArray(e.servers))return"servers: array expected";for(var t=0;t<e.servers.length;++t){var r=c.CloudLark.IceServer.verify(e.servers[t]);if(r)return"servers."+r}}return e.type!=null&&e.hasOwnProperty("type")&&!v.isInteger(e.type)?"type: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.RTCConfiguration)return e;var t=new c.CloudLark.RTCConfiguration;if(e.servers){if(!Array.isArray(e.servers))throw TypeError(".CloudLark.RTCConfiguration.servers: array expected");t.servers=[];for(var r=0;r<e.servers.length;++r){if(typeof e.servers[r]!="object")throw TypeError(".CloudLark.RTCConfiguration.servers: object expected");t.servers[r]=c.CloudLark.IceServer.fromObject(e.servers[r])}}return e.type!=null&&(t.type=e.type>>>0),t},i.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.servers=[]),t.defaults&&(r.type=0),e.servers&&e.servers.length){r.servers=[];for(var d=0;d<e.servers.length;++d)r.servers[d]=c.CloudLark.IceServer.toObject(e.servers[d],t)}return e.type!=null&&e.hasOwnProperty("type")&&(r.type=e.type),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.StartStreamResponse=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.response=0,i.prototype.configuration=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),e.configuration!=null&&Object.hasOwnProperty.call(e,"configuration")&&c.CloudLark.RTCConfiguration.encode(e.configuration,t.uint32(18).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StartStreamResponse;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.response=e.int32();break;case 2:d.configuration=c.CloudLark.RTCConfiguration.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.response!=null&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}if(e.configuration!=null&&e.hasOwnProperty("configuration")){var t=c.CloudLark.RTCConfiguration.verify(e.configuration);if(t)return"configuration."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.StartStreamResponse)return e;var t=new c.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}if(e.configuration!=null){if(typeof e.configuration!="object")throw TypeError(".CloudLark.StartStreamResponse.configuration: object expected");t.configuration=c.CloudLark.RTCConfiguration.fromObject(e.configuration)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0,r.configuration=null),e.response!=null&&e.hasOwnProperty("response")&&(r.response=t.enums===String?c.CloudLark.StartStreamResponse.Response[e.response]:e.response),e.configuration!=null&&e.hasOwnProperty("configuration")&&(r.configuration=c.CloudLark.RTCConfiguration.toObject(e.configuration,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.StartVrStreamResponse=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.response=0,i.prototype.port=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),e.port!=null&&Object.hasOwnProperty.call(e,"port")&&t.uint32(16).uint32(e.port),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StartVrStreamResponse;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.response=e.int32();break;case 2:d.port=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.response!=null&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:case 3:case 4:}return e.port!=null&&e.hasOwnProperty("port")&&!v.isInteger(e.port)?"port: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.StartVrStreamResponse)return e;var t=new c.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 e.port!=null&&(t.port=e.port>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"START_SUCCESS":0,r.port=0),e.response!=null&&e.hasOwnProperty("response")&&(r.response=t.enums===String?c.CloudLark.StartVrStreamResponse.Response[e.response]:e.response),e.port!=null&&e.hasOwnProperty("port")&&(r.port=e.port),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.WebrtcOfferAnswer=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.type="",i.prototype.sdp="",i.prototype.index=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(10).string(e.type),e.sdp!=null&&Object.hasOwnProperty.call(e,"sdp")&&t.uint32(18).string(e.sdp),e.index!=null&&Object.hasOwnProperty.call(e,"index")&&t.uint32(24).uint32(e.index),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.WebrtcOfferAnswer;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.type=e.string();break;case 2:d.sdp=e.string();break;case 3:d.index=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.type!=null&&e.hasOwnProperty("type")&&!v.isString(e.type)?"type: string expected":e.sdp!=null&&e.hasOwnProperty("sdp")&&!v.isString(e.sdp)?"sdp: string expected":e.index!=null&&e.hasOwnProperty("index")&&!v.isInteger(e.index)?"index: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.WebrtcOfferAnswer)return e;var t=new c.CloudLark.WebrtcOfferAnswer;return e.type!=null&&(t.type=String(e.type)),e.sdp!=null&&(t.sdp=String(e.sdp)),e.index!=null&&(t.index=e.index>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.type="",r.sdp="",r.index=0),e.type!=null&&e.hasOwnProperty("type")&&(r.type=e.type),e.sdp!=null&&e.hasOwnProperty("sdp")&&(r.sdp=e.sdp),e.index!=null&&e.hasOwnProperty("index")&&(r.index=e.index),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.WebrtcIceCandidate=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.sdpmid="",i.prototype.sdpMlineindex=0,i.prototype.candidate="",i.prototype.username="",i.prototype.index=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.sdpmid!=null&&Object.hasOwnProperty.call(e,"sdpmid")&&t.uint32(10).string(e.sdpmid),e.sdpMlineindex!=null&&Object.hasOwnProperty.call(e,"sdpMlineindex")&&t.uint32(16).uint32(e.sdpMlineindex),e.candidate!=null&&Object.hasOwnProperty.call(e,"candidate")&&t.uint32(26).string(e.candidate),e.username!=null&&Object.hasOwnProperty.call(e,"username")&&t.uint32(34).string(e.username),e.index!=null&&Object.hasOwnProperty.call(e,"index")&&t.uint32(40).uint32(e.index),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.WebrtcIceCandidate;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.sdpmid=e.string();break;case 2:d.sdpMlineindex=e.uint32();break;case 3:d.candidate=e.string();break;case 4:d.username=e.string();break;case 5:d.index=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.sdpmid!=null&&e.hasOwnProperty("sdpmid")&&!v.isString(e.sdpmid)?"sdpmid: string expected":e.sdpMlineindex!=null&&e.hasOwnProperty("sdpMlineindex")&&!v.isInteger(e.sdpMlineindex)?"sdpMlineindex: integer expected":e.candidate!=null&&e.hasOwnProperty("candidate")&&!v.isString(e.candidate)?"candidate: string expected":e.username!=null&&e.hasOwnProperty("username")&&!v.isString(e.username)?"username: string expected":e.index!=null&&e.hasOwnProperty("index")&&!v.isInteger(e.index)?"index: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.WebrtcIceCandidate)return e;var t=new c.CloudLark.WebrtcIceCandidate;return e.sdpmid!=null&&(t.sdpmid=String(e.sdpmid)),e.sdpMlineindex!=null&&(t.sdpMlineindex=e.sdpMlineindex>>>0),e.candidate!=null&&(t.candidate=String(e.candidate)),e.username!=null&&(t.username=String(e.username)),e.index!=null&&(t.index=e.index>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.sdpmid="",r.sdpMlineindex=0,r.candidate="",r.username="",r.index=0),e.sdpmid!=null&&e.hasOwnProperty("sdpmid")&&(r.sdpmid=e.sdpmid),e.sdpMlineindex!=null&&e.hasOwnProperty("sdpMlineindex")&&(r.sdpMlineindex=e.sdpMlineindex),e.candidate!=null&&e.hasOwnProperty("candidate")&&(r.candidate=e.candidate),e.username!=null&&e.hasOwnProperty("username")&&(r.username=e.username),e.index!=null&&e.hasOwnProperty("index")&&(r.index=e.index),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.WebrtcError=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.WebrtcError;e.pos<r;){var R=e.uint32();e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":null},i.fromObject=function(e){return e instanceof c.CloudLark.WebrtcError?e:new c.CloudLark.WebrtcError},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppProcessControl=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.request=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.request!=null&&Object.hasOwnProperty.call(e,"request")&&t.uint32(8).int32(e.request),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppProcessControl;e.pos<r;){var R=e.uint32();R>>>3==1?d.request=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.request!=null&&e.hasOwnProperty("request")&&e.request!==0?"request: enum value expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppProcessControl)return e;var t=new c.CloudLark.AppProcessControl;switch(e.request){case"ProcessRestart":case 0:t.request=0}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.request=t.enums===String?"ProcessRestart":0),e.request!=null&&e.hasOwnProperty("request")&&(r.request=t.enums===String?c.CloudLark.AppProcessControl.Type[e.request]:e.request),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Type=function(){var e={},t=Object.create(e);return t[e[0]="ProcessRestart"]=0,t}(),i}(),b.AppQuit=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.reStartStream=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.reStartStream!=null&&Object.hasOwnProperty.call(e,"reStartStream")&&t.uint32(8).bool(e.reStartStream),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppQuit;e.pos<r;){var R=e.uint32();R>>>3==1?d.reStartStream=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.reStartStream!=null&&e.hasOwnProperty("reStartStream")&&typeof e.reStartStream!="boolean"?"reStartStream: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppQuit)return e;var t=new c.CloudLark.AppQuit;return e.reStartStream!=null&&(t.reStartStream=!!e.reStartStream),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.reStartStream=!1),e.reStartStream!=null&&e.hasOwnProperty("reStartStream")&&(r.reStartStream=e.reStartStream),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppProcessNotification=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.appQuit=null,Object.defineProperty(i.prototype,"AppNotify",{get:v.oneOfGetter(e=["appQuit"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.appQuit!=null&&Object.hasOwnProperty.call(t,"appQuit")&&c.CloudLark.AppQuit.encode(t.appQuit,r.uint32(10).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.AppProcessNotification;t.pos<d;){var x=t.uint32();x>>>3==1?R.appQuit=c.CloudLark.AppQuit.decode(t,t.uint32()):t.skipType(7&x)}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";if(t.appQuit!=null&&t.hasOwnProperty("appQuit")){var r=c.CloudLark.AppQuit.verify(t.appQuit);if(r)return"appQuit."+r}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.AppProcessNotification)return t;var r=new c.CloudLark.AppProcessNotification;if(t.appQuit!=null){if(typeof t.appQuit!="object")throw TypeError(".CloudLark.AppProcessNotification.appQuit: object expected");r.appQuit=c.CloudLark.AppQuit.fromObject(t.appQuit)}return r},i.toObject=function(t,r){r||(r={});var d={};return t.appQuit!=null&&t.hasOwnProperty("appQuit")&&(d.appQuit=c.CloudLark.AppQuit.toObject(t.appQuit,r),r.oneofs&&(d.AppNotify="appQuit")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.NotifyClientLogout=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.logoutType=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.logoutType!=null&&Object.hasOwnProperty.call(e,"logoutType")&&t.uint32(8).int32(e.logoutType),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.NotifyClientLogout;e.pos<r;){var R=e.uint32();R>>>3==1?d.logoutType=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.logoutType!=null&&e.hasOwnProperty("logoutType")&&e.logoutType!==0?"logoutType: enum value expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.NotifyClientLogout)return e;var t=new c.CloudLark.NotifyClientLogout;switch(e.logoutType){case"PLAYER_LOGOUT":case 0:t.logoutType=0}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.logoutType=t.enums===String?"PLAYER_LOGOUT":0),e.logoutType!=null&&e.hasOwnProperty("logoutType")&&(r.logoutType=t.enums===String?c.CloudLark.NotifyClientLogout.Type[e.logoutType]:e.logoutType),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Type=function(){var e={},t=Object.create(e);return t[e[0]="PLAYER_LOGOUT"]=0,t}(),i}(),b.VrMonitorRequest=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.taskid="",i.prototype.width=0,i.prototype.height=0,i.prototype.fps=0,i.prototype.bitrateKbps=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.taskid!=null&&Object.hasOwnProperty.call(e,"taskid")&&t.uint32(10).string(e.taskid),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(16).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(24).uint32(e.height),e.fps!=null&&Object.hasOwnProperty.call(e,"fps")&&t.uint32(32).uint32(e.fps),e.bitrateKbps!=null&&Object.hasOwnProperty.call(e,"bitrateKbps")&&t.uint32(40).uint32(e.bitrateKbps),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.VrMonitorRequest;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.taskid=e.string();break;case 2:d.width=e.uint32();break;case 3:d.height=e.uint32();break;case 4:d.fps=e.uint32();break;case 5:d.bitrateKbps=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.taskid!=null&&e.hasOwnProperty("taskid")&&!v.isString(e.taskid)?"taskid: string expected":e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":e.fps!=null&&e.hasOwnProperty("fps")&&!v.isInteger(e.fps)?"fps: integer expected":e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&!v.isInteger(e.bitrateKbps)?"bitrateKbps: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.VrMonitorRequest)return e;var t=new c.CloudLark.VrMonitorRequest;return e.taskid!=null&&(t.taskid=String(e.taskid)),e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.fps!=null&&(t.fps=e.fps>>>0),e.bitrateKbps!=null&&(t.bitrateKbps=e.bitrateKbps>>>0),t},i.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),e.taskid!=null&&e.hasOwnProperty("taskid")&&(r.taskid=e.taskid),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.fps!=null&&e.hasOwnProperty("fps")&&(r.fps=e.fps),e.bitrateKbps!=null&&e.hasOwnProperty("bitrateKbps")&&(r.bitrateKbps=e.bitrateKbps),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.VrMonitorResponse=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.response=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.response!=null&&Object.hasOwnProperty.call(e,"response")&&t.uint32(8).int32(e.response),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.VrMonitorResponse;e.pos<r;){var R=e.uint32();R>>>3==1?d.response=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.response!=null&&e.hasOwnProperty("response"))switch(e.response){default:return"response: enum value expected";case 0:case 1:case 2:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.VrMonitorResponse)return e;var t=new c.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},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.response=t.enums===String?"MONITOR_SUCCESS":0),e.response!=null&&e.hasOwnProperty("response")&&(r.response=t.enums===String?c.CloudLark.VrMonitorResponse.Response[e.response]:e.response),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.LarkXRDataChannelState=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.state=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.LarkXRDataChannelState;e.pos<r;){var R=e.uint32();R>>>3==1?d.state=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.LarkXRDataChannelState)return e;var t=new c.CloudLark.LarkXRDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),e.state!=null&&e.hasOwnProperty("state")&&(r.state=t.enums===String?c.CloudLark.LarkXRDataChannelState.State[e.state]:e.state),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),i}(),b.LarkXRChannelMessage=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.type=0,i.prototype.data=v.newBuffer([]),i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.LarkXRChannelMessage;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.type=e.int32();break;case 2:d.data=e.bytes();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||v.isString(e.data))?"data: buffer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.LarkXRChannelMessage)return e;var t=new c.CloudLark.LarkXRChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return e.data!=null&&(typeof e.data=="string"?v.base64.decode(e.data,t.data=v.newBuffer(v.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},i.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=v.newBuffer(r.data)))),e.type!=null&&e.hasOwnProperty("type")&&(r.type=t.enums===String?c.CloudLark.LarkXRChannelMessage.Type[e.type]:e.type),e.data!=null&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?v.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),i}(),b.LarkXRPlayerDesc=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.id=0,i.prototype.nickName="",i.prototype.taskOwner=!1,i.prototype.controller=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),e.nickName!=null&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),e.taskOwner!=null&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),e.controller!=null&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.LarkXRPlayerDesc;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.id=e.uint32();break;case 2:d.nickName=e.string();break;case 3:d.taskOwner=e.bool();break;case 4:d.controller=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!v.isInteger(e.id)?"id: integer expected":e.nickName!=null&&e.hasOwnProperty("nickName")&&!v.isString(e.nickName)?"nickName: string expected":e.taskOwner!=null&&e.hasOwnProperty("taskOwner")&&typeof e.taskOwner!="boolean"?"taskOwner: boolean expected":e.controller!=null&&e.hasOwnProperty("controller")&&typeof e.controller!="boolean"?"controller: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.LarkXRPlayerDesc)return e;var t=new c.CloudLark.LarkXRPlayerDesc;return e.id!=null&&(t.id=e.id>>>0),e.nickName!=null&&(t.nickName=String(e.nickName)),e.taskOwner!=null&&(t.taskOwner=!!e.taskOwner),e.controller!=null&&(t.controller=!!e.controller),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),e.id!=null&&e.hasOwnProperty("id")&&(r.id=e.id),e.nickName!=null&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),e.taskOwner!=null&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),e.controller!=null&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.LarkXRUpdatePlayersDesc=function(){function i(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.descs=v.emptyArray,i.create=function(e){return new i(e)},i.encode=function(e,t){if(t||(t=m.create()),e.descs!=null&&e.descs.length)for(var r=0;r<e.descs.length;++r)c.CloudLark.LarkXRPlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.LarkXRUpdatePlayersDesc;e.pos<r;){var R=e.uint32();R>>>3==1?(d.descs&&d.descs.length||(d.descs=[]),d.descs.push(c.CloudLark.LarkXRPlayerDesc.decode(e,e.uint32()))):e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.descs!=null&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=c.CloudLark.LarkXRPlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.LarkXRUpdatePlayersDesc)return e;var t=new c.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(typeof e.descs[r]!="object")throw TypeError(".CloudLark.LarkXRUpdatePlayersDesc.descs: object expected");t.descs[r]=c.CloudLark.LarkXRPlayerDesc.fromObject(e.descs[r])}}return t},i.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var d=0;d<e.descs.length;++d)r.descs[d]=c.CloudLark.LarkXRPlayerDesc.toObject(e.descs[d],t)}return r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.LarkXRDispatchController=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.id=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.LarkXRDispatchController;e.pos<r;){var R=e.uint32();R>>>3==1?d.id=e.uint32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!v.isInteger(e.id)?"id: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.LarkXRDispatchController)return e;var t=new c.CloudLark.LarkXRDispatchController;return e.id!=null&&(t.id=e.id>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),e.id!=null&&e.hasOwnProperty("id")&&(r.id=e.id),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ToServerMessage=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.magic=0,i.prototype.versionCheckRequest=null,i.prototype.taskRequest=null,i.prototype.startStreamRequest=null,i.prototype.webrtcOfferAnswer=null,i.prototype.webrtcIcecandidate=null,i.prototype.processControl=null,i.prototype.startVrsteamRequest=null,i.prototype.vrMonitorRequest=null,i.prototype.startNewVrstreamRequest=null,i.prototype.datachannelData=null,i.prototype.dispatchController=null,i.prototype.clientMediaOfferanswer=null,i.prototype.clientMediaIcecandidate=null,Object.defineProperty(i.prototype,"msg",{get:v.oneOfGetter(e=["versionCheckRequest","taskRequest","startStreamRequest","webrtcOfferAnswer","webrtcIcecandidate","processControl","startVrsteamRequest","vrMonitorRequest","startNewVrstreamRequest","datachannelData","dispatchController","clientMediaOfferanswer","clientMediaIcecandidate"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.magic!=null&&Object.hasOwnProperty.call(t,"magic")&&r.uint32(8).uint32(t.magic),t.versionCheckRequest!=null&&Object.hasOwnProperty.call(t,"versionCheckRequest")&&c.CloudLark.VersionCheck.encode(t.versionCheckRequest,r.uint32(18).fork()).ldelim(),t.taskRequest!=null&&Object.hasOwnProperty.call(t,"taskRequest")&&c.CloudLark.TaskRequest.encode(t.taskRequest,r.uint32(26).fork()).ldelim(),t.startStreamRequest!=null&&Object.hasOwnProperty.call(t,"startStreamRequest")&&c.CloudLark.StartStreamRequest.encode(t.startStreamRequest,r.uint32(34).fork()).ldelim(),t.webrtcOfferAnswer!=null&&Object.hasOwnProperty.call(t,"webrtcOfferAnswer")&&c.CloudLark.WebrtcOfferAnswer.encode(t.webrtcOfferAnswer,r.uint32(42).fork()).ldelim(),t.webrtcIcecandidate!=null&&Object.hasOwnProperty.call(t,"webrtcIcecandidate")&&c.CloudLark.WebrtcIceCandidate.encode(t.webrtcIcecandidate,r.uint32(50).fork()).ldelim(),t.processControl!=null&&Object.hasOwnProperty.call(t,"processControl")&&c.CloudLark.AppProcessControl.encode(t.processControl,r.uint32(58).fork()).ldelim(),t.startVrsteamRequest!=null&&Object.hasOwnProperty.call(t,"startVrsteamRequest")&&c.CloudLark.StartVrStreamRequest.encode(t.startVrsteamRequest,r.uint32(66).fork()).ldelim(),t.vrMonitorRequest!=null&&Object.hasOwnProperty.call(t,"vrMonitorRequest")&&c.CloudLark.VrMonitorRequest.encode(t.vrMonitorRequest,r.uint32(74).fork()).ldelim(),t.startNewVrstreamRequest!=null&&Object.hasOwnProperty.call(t,"startNewVrstreamRequest")&&c.CloudLark.StartNewVrStreamRequest.encode(t.startNewVrstreamRequest,r.uint32(82).fork()).ldelim(),t.datachannelData!=null&&Object.hasOwnProperty.call(t,"datachannelData")&&c.CloudLark.LarkXRChannelMessage.encode(t.datachannelData,r.uint32(90).fork()).ldelim(),t.dispatchController!=null&&Object.hasOwnProperty.call(t,"dispatchController")&&c.CloudLark.LarkXRDispatchController.encode(t.dispatchController,r.uint32(98).fork()).ldelim(),t.clientMediaOfferanswer!=null&&Object.hasOwnProperty.call(t,"clientMediaOfferanswer")&&c.CloudLark.WebrtcOfferAnswer.encode(t.clientMediaOfferanswer,r.uint32(106).fork()).ldelim(),t.clientMediaIcecandidate!=null&&Object.hasOwnProperty.call(t,"clientMediaIcecandidate")&&c.CloudLark.WebrtcIceCandidate.encode(t.clientMediaIcecandidate,r.uint32(114).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.ToServerMessage;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.magic=t.uint32();break;case 2:R.versionCheckRequest=c.CloudLark.VersionCheck.decode(t,t.uint32());break;case 3:R.taskRequest=c.CloudLark.TaskRequest.decode(t,t.uint32());break;case 4:R.startStreamRequest=c.CloudLark.StartStreamRequest.decode(t,t.uint32());break;case 5:R.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.decode(t,t.uint32());break;case 6:R.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.decode(t,t.uint32());break;case 7:R.processControl=c.CloudLark.AppProcessControl.decode(t,t.uint32());break;case 8:R.startVrsteamRequest=c.CloudLark.StartVrStreamRequest.decode(t,t.uint32());break;case 9:R.vrMonitorRequest=c.CloudLark.VrMonitorRequest.decode(t,t.uint32());break;case 10:R.startNewVrstreamRequest=c.CloudLark.StartNewVrStreamRequest.decode(t,t.uint32());break;case 11:R.datachannelData=c.CloudLark.LarkXRChannelMessage.decode(t,t.uint32());break;case 12:R.dispatchController=c.CloudLark.LarkXRDispatchController.decode(t,t.uint32());break;case 13:R.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.decode(t,t.uint32());break;case 14:R.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.magic!=null&&t.hasOwnProperty("magic")&&!v.isInteger(t.magic))return"magic: integer expected";if(t.versionCheckRequest!=null&&t.hasOwnProperty("versionCheckRequest")&&(r.msg=1,d=c.CloudLark.VersionCheck.verify(t.versionCheckRequest)))return"versionCheckRequest."+d;if(t.taskRequest!=null&&t.hasOwnProperty("taskRequest")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.TaskRequest.verify(t.taskRequest))return"taskRequest."+d}if(t.startStreamRequest!=null&&t.hasOwnProperty("startStreamRequest")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.StartStreamRequest.verify(t.startStreamRequest))return"startStreamRequest."+d}if(t.webrtcOfferAnswer!=null&&t.hasOwnProperty("webrtcOfferAnswer")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcOfferAnswer.verify(t.webrtcOfferAnswer))return"webrtcOfferAnswer."+d}if(t.webrtcIcecandidate!=null&&t.hasOwnProperty("webrtcIcecandidate")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcIceCandidate.verify(t.webrtcIcecandidate))return"webrtcIcecandidate."+d}if(t.processControl!=null&&t.hasOwnProperty("processControl")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.AppProcessControl.verify(t.processControl))return"processControl."+d}if(t.startVrsteamRequest!=null&&t.hasOwnProperty("startVrsteamRequest")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.StartVrStreamRequest.verify(t.startVrsteamRequest))return"startVrsteamRequest."+d}if(t.vrMonitorRequest!=null&&t.hasOwnProperty("vrMonitorRequest")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.VrMonitorRequest.verify(t.vrMonitorRequest))return"vrMonitorRequest."+d}if(t.startNewVrstreamRequest!=null&&t.hasOwnProperty("startNewVrstreamRequest")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.StartNewVrStreamRequest.verify(t.startNewVrstreamRequest))return"startNewVrstreamRequest."+d}if(t.datachannelData!=null&&t.hasOwnProperty("datachannelData")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.LarkXRChannelMessage.verify(t.datachannelData))return"datachannelData."+d}if(t.dispatchController!=null&&t.hasOwnProperty("dispatchController")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.LarkXRDispatchController.verify(t.dispatchController))return"dispatchController."+d}if(t.clientMediaOfferanswer!=null&&t.hasOwnProperty("clientMediaOfferanswer")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcOfferAnswer.verify(t.clientMediaOfferanswer))return"clientMediaOfferanswer."+d}if(t.clientMediaIcecandidate!=null&&t.hasOwnProperty("clientMediaIcecandidate")){if(r.msg===1)return"msg: multiple values";var d;if(r.msg=1,d=c.CloudLark.WebrtcIceCandidate.verify(t.clientMediaIcecandidate))return"clientMediaIcecandidate."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.ToServerMessage)return t;var r=new c.CloudLark.ToServerMessage;if(t.magic!=null&&(r.magic=t.magic>>>0),t.versionCheckRequest!=null){if(typeof t.versionCheckRequest!="object")throw TypeError(".CloudLark.ToServerMessage.versionCheckRequest: object expected");r.versionCheckRequest=c.CloudLark.VersionCheck.fromObject(t.versionCheckRequest)}if(t.taskRequest!=null){if(typeof t.taskRequest!="object")throw TypeError(".CloudLark.ToServerMessage.taskRequest: object expected");r.taskRequest=c.CloudLark.TaskRequest.fromObject(t.taskRequest)}if(t.startStreamRequest!=null){if(typeof t.startStreamRequest!="object")throw TypeError(".CloudLark.ToServerMessage.startStreamRequest: object expected");r.startStreamRequest=c.CloudLark.StartStreamRequest.fromObject(t.startStreamRequest)}if(t.webrtcOfferAnswer!=null){if(typeof t.webrtcOfferAnswer!="object")throw TypeError(".CloudLark.ToServerMessage.webrtcOfferAnswer: object expected");r.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.fromObject(t.webrtcOfferAnswer)}if(t.webrtcIcecandidate!=null){if(typeof t.webrtcIcecandidate!="object")throw TypeError(".CloudLark.ToServerMessage.webrtcIcecandidate: object expected");r.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.fromObject(t.webrtcIcecandidate)}if(t.processControl!=null){if(typeof t.processControl!="object")throw TypeError(".CloudLark.ToServerMessage.processControl: object expected");r.processControl=c.CloudLark.AppProcessControl.fromObject(t.processControl)}if(t.startVrsteamRequest!=null){if(typeof t.startVrsteamRequest!="object")throw TypeError(".CloudLark.ToServerMessage.startVrsteamRequest: object expected");r.startVrsteamRequest=c.CloudLark.StartVrStreamRequest.fromObject(t.startVrsteamRequest)}if(t.vrMonitorRequest!=null){if(typeof t.vrMonitorRequest!="object")throw TypeError(".CloudLark.ToServerMessage.vrMonitorRequest: object expected");r.vrMonitorRequest=c.CloudLark.VrMonitorRequest.fromObject(t.vrMonitorRequest)}if(t.startNewVrstreamRequest!=null){if(typeof t.startNewVrstreamRequest!="object")throw TypeError(".CloudLark.ToServerMessage.startNewVrstreamRequest: object expected");r.startNewVrstreamRequest=c.CloudLark.StartNewVrStreamRequest.fromObject(t.startNewVrstreamRequest)}if(t.datachannelData!=null){if(typeof t.datachannelData!="object")throw TypeError(".CloudLark.ToServerMessage.datachannelData: object expected");r.datachannelData=c.CloudLark.LarkXRChannelMessage.fromObject(t.datachannelData)}if(t.dispatchController!=null){if(typeof t.dispatchController!="object")throw TypeError(".CloudLark.ToServerMessage.dispatchController: object expected");r.dispatchController=c.CloudLark.LarkXRDispatchController.fromObject(t.dispatchController)}if(t.clientMediaOfferanswer!=null){if(typeof t.clientMediaOfferanswer!="object")throw TypeError(".CloudLark.ToServerMessage.clientMediaOfferanswer: object expected");r.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.fromObject(t.clientMediaOfferanswer)}if(t.clientMediaIcecandidate!=null){if(typeof t.clientMediaIcecandidate!="object")throw TypeError(".CloudLark.ToServerMessage.clientMediaIcecandidate: object expected");r.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.fromObject(t.clientMediaIcecandidate)}return r},i.toObject=function(t,r){r||(r={});var d={};return r.defaults&&(d.magic=0),t.magic!=null&&t.hasOwnProperty("magic")&&(d.magic=t.magic),t.versionCheckRequest!=null&&t.hasOwnProperty("versionCheckRequest")&&(d.versionCheckRequest=c.CloudLark.VersionCheck.toObject(t.versionCheckRequest,r),r.oneofs&&(d.msg="versionCheckRequest")),t.taskRequest!=null&&t.hasOwnProperty("taskRequest")&&(d.taskRequest=c.CloudLark.TaskRequest.toObject(t.taskRequest,r),r.oneofs&&(d.msg="taskRequest")),t.startStreamRequest!=null&&t.hasOwnProperty("startStreamRequest")&&(d.startStreamRequest=c.CloudLark.StartStreamRequest.toObject(t.startStreamRequest,r),r.oneofs&&(d.msg="startStreamRequest")),t.webrtcOfferAnswer!=null&&t.hasOwnProperty("webrtcOfferAnswer")&&(d.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.toObject(t.webrtcOfferAnswer,r),r.oneofs&&(d.msg="webrtcOfferAnswer")),t.webrtcIcecandidate!=null&&t.hasOwnProperty("webrtcIcecandidate")&&(d.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.toObject(t.webrtcIcecandidate,r),r.oneofs&&(d.msg="webrtcIcecandidate")),t.processControl!=null&&t.hasOwnProperty("processControl")&&(d.processControl=c.CloudLark.AppProcessControl.toObject(t.processControl,r),r.oneofs&&(d.msg="processControl")),t.startVrsteamRequest!=null&&t.hasOwnProperty("startVrsteamRequest")&&(d.startVrsteamRequest=c.CloudLark.StartVrStreamRequest.toObject(t.startVrsteamRequest,r),r.oneofs&&(d.msg="startVrsteamRequest")),t.vrMonitorRequest!=null&&t.hasOwnProperty("vrMonitorRequest")&&(d.vrMonitorRequest=c.CloudLark.VrMonitorRequest.toObject(t.vrMonitorRequest,r),r.oneofs&&(d.msg="vrMonitorRequest")),t.startNewVrstreamRequest!=null&&t.hasOwnProperty("startNewVrstreamRequest")&&(d.startNewVrstreamRequest=c.CloudLark.StartNewVrStreamRequest.toObject(t.startNewVrstreamRequest,r),r.oneofs&&(d.msg="startNewVrstreamRequest")),t.datachannelData!=null&&t.hasOwnProperty("datachannelData")&&(d.datachannelData=c.CloudLark.LarkXRChannelMessage.toObject(t.datachannelData,r),r.oneofs&&(d.msg="datachannelData")),t.dispatchController!=null&&t.hasOwnProperty("dispatchController")&&(d.dispatchController=c.CloudLark.LarkXRDispatchController.toObject(t.dispatchController,r),r.oneofs&&(d.msg="dispatchController")),t.clientMediaOfferanswer!=null&&t.hasOwnProperty("clientMediaOfferanswer")&&(d.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.toObject(t.clientMediaOfferanswer,r),r.oneofs&&(d.msg="clientMediaOfferanswer")),t.clientMediaIcecandidate!=null&&t.hasOwnProperty("clientMediaIcecandidate")&&(d.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.toObject(t.clientMediaIcecandidate,r),r.oneofs&&(d.msg="clientMediaIcecandidate")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ToClientMessage=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.magic=0,i.prototype.versionCheckResponse=null,i.prototype.taskResponse=null,i.prototype.startStreamResponse=null,i.prototype.webrtcOfferAnswer=null,i.prototype.webrtcIcecandidate=null,i.prototype.webrtcError=null,i.prototype.processNotifi=null,i.prototype.logout=null,i.prototype.startVrstreamResponse=null,i.prototype.vrMonitorResponse=null,i.prototype.datachannelState=null,i.prototype.datachannelData=null,i.prototype.updatePlayers=null,i.prototype.clientMediaOfferanswer=null,i.prototype.clientMediaIcecandidate=null,i.prototype.clientWebrtcError=null,Object.defineProperty(i.prototype,"msg",{get:v.oneOfGetter(e=["versionCheckResponse","taskResponse","startStreamResponse","webrtcOfferAnswer","webrtcIcecandidate","webrtcError","processNotifi","logout","startVrstreamResponse","vrMonitorResponse","datachannelState","datachannelData","updatePlayers","clientMediaOfferanswer","clientMediaIcecandidate","clientWebrtcError"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.magic!=null&&Object.hasOwnProperty.call(t,"magic")&&r.uint32(8).uint32(t.magic),t.versionCheckResponse!=null&&Object.hasOwnProperty.call(t,"versionCheckResponse")&&c.CloudLark.VersionCheckResponse.encode(t.versionCheckResponse,r.uint32(18).fork()).ldelim(),t.taskResponse!=null&&Object.hasOwnProperty.call(t,"taskResponse")&&c.CloudLark.TaskResponse.encode(t.taskResponse,r.uint32(26).fork()).ldelim(),t.startStreamResponse!=null&&Object.hasOwnProperty.call(t,"startStreamResponse")&&c.CloudLark.StartStreamResponse.encode(t.startStreamResponse,r.uint32(34).fork()).ldelim(),t.webrtcOfferAnswer!=null&&Object.hasOwnProperty.call(t,"webrtcOfferAnswer")&&c.CloudLark.WebrtcOfferAnswer.encode(t.webrtcOfferAnswer,r.uint32(42).fork()).ldelim(),t.webrtcIcecandidate!=null&&Object.hasOwnProperty.call(t,"webrtcIcecandidate")&&c.CloudLark.WebrtcIceCandidate.encode(t.webrtcIcecandidate,r.uint32(50).fork()).ldelim(),t.webrtcError!=null&&Object.hasOwnProperty.call(t,"webrtcError")&&c.CloudLark.WebrtcError.encode(t.webrtcError,r.uint32(58).fork()).ldelim(),t.processNotifi!=null&&Object.hasOwnProperty.call(t,"processNotifi")&&c.CloudLark.AppProcessNotification.encode(t.processNotifi,r.uint32(66).fork()).ldelim(),t.logout!=null&&Object.hasOwnProperty.call(t,"logout")&&c.CloudLark.NotifyClientLogout.encode(t.logout,r.uint32(74).fork()).ldelim(),t.startVrstreamResponse!=null&&Object.hasOwnProperty.call(t,"startVrstreamResponse")&&c.CloudLark.StartVrStreamResponse.encode(t.startVrstreamResponse,r.uint32(82).fork()).ldelim(),t.vrMonitorResponse!=null&&Object.hasOwnProperty.call(t,"vrMonitorResponse")&&c.CloudLark.VrMonitorResponse.encode(t.vrMonitorResponse,r.uint32(90).fork()).ldelim(),t.datachannelState!=null&&Object.hasOwnProperty.call(t,"datachannelState")&&c.CloudLark.LarkXRDataChannelState.encode(t.datachannelState,r.uint32(98).fork()).ldelim(),t.datachannelData!=null&&Object.hasOwnProperty.call(t,"datachannelData")&&c.CloudLark.LarkXRChannelMessage.encode(t.datachannelData,r.uint32(106).fork()).ldelim(),t.updatePlayers!=null&&Object.hasOwnProperty.call(t,"updatePlayers")&&c.CloudLark.LarkXRUpdatePlayersDesc.encode(t.updatePlayers,r.uint32(114).fork()).ldelim(),t.clientMediaOfferanswer!=null&&Object.hasOwnProperty.call(t,"clientMediaOfferanswer")&&c.CloudLark.WebrtcOfferAnswer.encode(t.clientMediaOfferanswer,r.uint32(122).fork()).ldelim(),t.clientMediaIcecandidate!=null&&Object.hasOwnProperty.call(t,"clientMediaIcecandidate")&&c.CloudLark.WebrtcIceCandidate.encode(t.clientMediaIcecandidate,r.uint32(130).fork()).ldelim(),t.clientWebrtcError!=null&&Object.hasOwnProperty.call(t,"clientWebrtcError")&&c.CloudLark.WebrtcError.encode(t.clientWebrtcError,r.uint32(138).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.ToClientMessage;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.magic=t.uint32();break;case 2:R.versionCheckResponse=c.CloudLark.VersionCheckResponse.decode(t,t.uint32());break;case 3:R.taskResponse=c.CloudLark.TaskResponse.decode(t,t.uint32());break;case 4:R.startStreamResponse=c.CloudLark.StartStreamResponse.decode(t,t.uint32());break;case 5:R.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.decode(t,t.uint32());break;case 6:R.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.decode(t,t.uint32());break;case 7:R.webrtcError=c.CloudLark.WebrtcError.decode(t,t.uint32());break;case 8:R.processNotifi=c.CloudLark.AppProcessNotification.decode(t,t.uint32());break;case 9:R.logout=c.CloudLark.NotifyClientLogout.decode(t,t.uint32());break;case 10:R.startVrstreamResponse=c.CloudLark.StartVrStreamResponse.decode(t,t.uint32());break;case 11:R.vrMonitorResponse=c.CloudLark.VrMonitorResponse.decode(t,t.uint32());break;case 12:R.datachannelState=c.CloudLark.LarkXRDataChannelState.decode(t,t.uint32());break;case 13:R.datachannelData=c.CloudLark.LarkXRChannelMessage.decode(t,t.uint32());break;case 14:R.updatePlayers=c.CloudLark.LarkXRUpdatePlayersDesc.decode(t,t.uint32());break;case 15:R.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.decode(t,t.uint32());break;case 16:R.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.decode(t,t.uint32());break;case 17:R.clientWebrtcError=c.CloudLark.WebrtcError.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.magic!=null&&t.hasOwnProperty("magic")&&!v.isInteger(t.magic))return"magic: integer expected";if(t.versionCheckResponse!=null&&t.hasOwnProperty("versionCheckResponse")&&(r.msg=1,d=c.CloudLark.VersionCheckResponse.verify(t.versionCheckResponse)))return"versionCheckResponse."+d;if(t.taskResponse!=null&&t.hasOwnProperty("taskResponse")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.TaskResponse.verify(t.taskResponse))return"taskResponse."+d}if(t.startStreamResponse!=null&&t.hasOwnProperty("startStreamResponse")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.StartStreamResponse.verify(t.startStreamResponse))return"startStreamResponse."+d}if(t.webrtcOfferAnswer!=null&&t.hasOwnProperty("webrtcOfferAnswer")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcOfferAnswer.verify(t.webrtcOfferAnswer))return"webrtcOfferAnswer."+d}if(t.webrtcIcecandidate!=null&&t.hasOwnProperty("webrtcIcecandidate")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcIceCandidate.verify(t.webrtcIcecandidate))return"webrtcIcecandidate."+d}if(t.webrtcError!=null&&t.hasOwnProperty("webrtcError")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcError.verify(t.webrtcError))return"webrtcError."+d}if(t.processNotifi!=null&&t.hasOwnProperty("processNotifi")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.AppProcessNotification.verify(t.processNotifi))return"processNotifi."+d}if(t.logout!=null&&t.hasOwnProperty("logout")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.NotifyClientLogout.verify(t.logout))return"logout."+d}if(t.startVrstreamResponse!=null&&t.hasOwnProperty("startVrstreamResponse")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.StartVrStreamResponse.verify(t.startVrstreamResponse))return"startVrstreamResponse."+d}if(t.vrMonitorResponse!=null&&t.hasOwnProperty("vrMonitorResponse")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.VrMonitorResponse.verify(t.vrMonitorResponse))return"vrMonitorResponse."+d}if(t.datachannelState!=null&&t.hasOwnProperty("datachannelState")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.LarkXRDataChannelState.verify(t.datachannelState))return"datachannelState."+d}if(t.datachannelData!=null&&t.hasOwnProperty("datachannelData")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.LarkXRChannelMessage.verify(t.datachannelData))return"datachannelData."+d}if(t.updatePlayers!=null&&t.hasOwnProperty("updatePlayers")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.LarkXRUpdatePlayersDesc.verify(t.updatePlayers))return"updatePlayers."+d}if(t.clientMediaOfferanswer!=null&&t.hasOwnProperty("clientMediaOfferanswer")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcOfferAnswer.verify(t.clientMediaOfferanswer))return"clientMediaOfferanswer."+d}if(t.clientMediaIcecandidate!=null&&t.hasOwnProperty("clientMediaIcecandidate")){if(r.msg===1)return"msg: multiple values";if(r.msg=1,d=c.CloudLark.WebrtcIceCandidate.verify(t.clientMediaIcecandidate))return"clientMediaIcecandidate."+d}if(t.clientWebrtcError!=null&&t.hasOwnProperty("clientWebrtcError")){if(r.msg===1)return"msg: multiple values";var d;if(r.msg=1,d=c.CloudLark.WebrtcError.verify(t.clientWebrtcError))return"clientWebrtcError."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.ToClientMessage)return t;var r=new c.CloudLark.ToClientMessage;if(t.magic!=null&&(r.magic=t.magic>>>0),t.versionCheckResponse!=null){if(typeof t.versionCheckResponse!="object")throw TypeError(".CloudLark.ToClientMessage.versionCheckResponse: object expected");r.versionCheckResponse=c.CloudLark.VersionCheckResponse.fromObject(t.versionCheckResponse)}if(t.taskResponse!=null){if(typeof t.taskResponse!="object")throw TypeError(".CloudLark.ToClientMessage.taskResponse: object expected");r.taskResponse=c.CloudLark.TaskResponse.fromObject(t.taskResponse)}if(t.startStreamResponse!=null){if(typeof t.startStreamResponse!="object")throw TypeError(".CloudLark.ToClientMessage.startStreamResponse: object expected");r.startStreamResponse=c.CloudLark.StartStreamResponse.fromObject(t.startStreamResponse)}if(t.webrtcOfferAnswer!=null){if(typeof t.webrtcOfferAnswer!="object")throw TypeError(".CloudLark.ToClientMessage.webrtcOfferAnswer: object expected");r.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.fromObject(t.webrtcOfferAnswer)}if(t.webrtcIcecandidate!=null){if(typeof t.webrtcIcecandidate!="object")throw TypeError(".CloudLark.ToClientMessage.webrtcIcecandidate: object expected");r.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.fromObject(t.webrtcIcecandidate)}if(t.webrtcError!=null){if(typeof t.webrtcError!="object")throw TypeError(".CloudLark.ToClientMessage.webrtcError: object expected");r.webrtcError=c.CloudLark.WebrtcError.fromObject(t.webrtcError)}if(t.processNotifi!=null){if(typeof t.processNotifi!="object")throw TypeError(".CloudLark.ToClientMessage.processNotifi: object expected");r.processNotifi=c.CloudLark.AppProcessNotification.fromObject(t.processNotifi)}if(t.logout!=null){if(typeof t.logout!="object")throw TypeError(".CloudLark.ToClientMessage.logout: object expected");r.logout=c.CloudLark.NotifyClientLogout.fromObject(t.logout)}if(t.startVrstreamResponse!=null){if(typeof t.startVrstreamResponse!="object")throw TypeError(".CloudLark.ToClientMessage.startVrstreamResponse: object expected");r.startVrstreamResponse=c.CloudLark.StartVrStreamResponse.fromObject(t.startVrstreamResponse)}if(t.vrMonitorResponse!=null){if(typeof t.vrMonitorResponse!="object")throw TypeError(".CloudLark.ToClientMessage.vrMonitorResponse: object expected");r.vrMonitorResponse=c.CloudLark.VrMonitorResponse.fromObject(t.vrMonitorResponse)}if(t.datachannelState!=null){if(typeof t.datachannelState!="object")throw TypeError(".CloudLark.ToClientMessage.datachannelState: object expected");r.datachannelState=c.CloudLark.LarkXRDataChannelState.fromObject(t.datachannelState)}if(t.datachannelData!=null){if(typeof t.datachannelData!="object")throw TypeError(".CloudLark.ToClientMessage.datachannelData: object expected");r.datachannelData=c.CloudLark.LarkXRChannelMessage.fromObject(t.datachannelData)}if(t.updatePlayers!=null){if(typeof t.updatePlayers!="object")throw TypeError(".CloudLark.ToClientMessage.updatePlayers: object expected");r.updatePlayers=c.CloudLark.LarkXRUpdatePlayersDesc.fromObject(t.updatePlayers)}if(t.clientMediaOfferanswer!=null){if(typeof t.clientMediaOfferanswer!="object")throw TypeError(".CloudLark.ToClientMessage.clientMediaOfferanswer: object expected");r.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.fromObject(t.clientMediaOfferanswer)}if(t.clientMediaIcecandidate!=null){if(typeof t.clientMediaIcecandidate!="object")throw TypeError(".CloudLark.ToClientMessage.clientMediaIcecandidate: object expected");r.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.fromObject(t.clientMediaIcecandidate)}if(t.clientWebrtcError!=null){if(typeof t.clientWebrtcError!="object")throw TypeError(".CloudLark.ToClientMessage.clientWebrtcError: object expected");r.clientWebrtcError=c.CloudLark.WebrtcError.fromObject(t.clientWebrtcError)}return r},i.toObject=function(t,r){r||(r={});var d={};return r.defaults&&(d.magic=0),t.magic!=null&&t.hasOwnProperty("magic")&&(d.magic=t.magic),t.versionCheckResponse!=null&&t.hasOwnProperty("versionCheckResponse")&&(d.versionCheckResponse=c.CloudLark.VersionCheckResponse.toObject(t.versionCheckResponse,r),r.oneofs&&(d.msg="versionCheckResponse")),t.taskResponse!=null&&t.hasOwnProperty("taskResponse")&&(d.taskResponse=c.CloudLark.TaskResponse.toObject(t.taskResponse,r),r.oneofs&&(d.msg="taskResponse")),t.startStreamResponse!=null&&t.hasOwnProperty("startStreamResponse")&&(d.startStreamResponse=c.CloudLark.StartStreamResponse.toObject(t.startStreamResponse,r),r.oneofs&&(d.msg="startStreamResponse")),t.webrtcOfferAnswer!=null&&t.hasOwnProperty("webrtcOfferAnswer")&&(d.webrtcOfferAnswer=c.CloudLark.WebrtcOfferAnswer.toObject(t.webrtcOfferAnswer,r),r.oneofs&&(d.msg="webrtcOfferAnswer")),t.webrtcIcecandidate!=null&&t.hasOwnProperty("webrtcIcecandidate")&&(d.webrtcIcecandidate=c.CloudLark.WebrtcIceCandidate.toObject(t.webrtcIcecandidate,r),r.oneofs&&(d.msg="webrtcIcecandidate")),t.webrtcError!=null&&t.hasOwnProperty("webrtcError")&&(d.webrtcError=c.CloudLark.WebrtcError.toObject(t.webrtcError,r),r.oneofs&&(d.msg="webrtcError")),t.processNotifi!=null&&t.hasOwnProperty("processNotifi")&&(d.processNotifi=c.CloudLark.AppProcessNotification.toObject(t.processNotifi,r),r.oneofs&&(d.msg="processNotifi")),t.logout!=null&&t.hasOwnProperty("logout")&&(d.logout=c.CloudLark.NotifyClientLogout.toObject(t.logout,r),r.oneofs&&(d.msg="logout")),t.startVrstreamResponse!=null&&t.hasOwnProperty("startVrstreamResponse")&&(d.startVrstreamResponse=c.CloudLark.StartVrStreamResponse.toObject(t.startVrstreamResponse,r),r.oneofs&&(d.msg="startVrstreamResponse")),t.vrMonitorResponse!=null&&t.hasOwnProperty("vrMonitorResponse")&&(d.vrMonitorResponse=c.CloudLark.VrMonitorResponse.toObject(t.vrMonitorResponse,r),r.oneofs&&(d.msg="vrMonitorResponse")),t.datachannelState!=null&&t.hasOwnProperty("datachannelState")&&(d.datachannelState=c.CloudLark.LarkXRDataChannelState.toObject(t.datachannelState,r),r.oneofs&&(d.msg="datachannelState")),t.datachannelData!=null&&t.hasOwnProperty("datachannelData")&&(d.datachannelData=c.CloudLark.LarkXRChannelMessage.toObject(t.datachannelData,r),r.oneofs&&(d.msg="datachannelData")),t.updatePlayers!=null&&t.hasOwnProperty("updatePlayers")&&(d.updatePlayers=c.CloudLark.LarkXRUpdatePlayersDesc.toObject(t.updatePlayers,r),r.oneofs&&(d.msg="updatePlayers")),t.clientMediaOfferanswer!=null&&t.hasOwnProperty("clientMediaOfferanswer")&&(d.clientMediaOfferanswer=c.CloudLark.WebrtcOfferAnswer.toObject(t.clientMediaOfferanswer,r),r.oneofs&&(d.msg="clientMediaOfferanswer")),t.clientMediaIcecandidate!=null&&t.hasOwnProperty("clientMediaIcecandidate")&&(d.clientMediaIcecandidate=c.CloudLark.WebrtcIceCandidate.toObject(t.clientMediaIcecandidate,r),r.oneofs&&(d.msg="clientMediaIcecandidate")),t.clientWebrtcError!=null&&t.hasOwnProperty("clientWebrtcError")&&(d.clientWebrtcError=c.CloudLark.WebrtcError.toObject(t.clientWebrtcError,r),r.oneofs&&(d.msg="clientWebrtcError")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.MouseMove=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.DeltaX=0,i.prototype.DeltaY=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.DeltaX!=null&&Object.hasOwnProperty.call(e,"DeltaX")&&t.uint32(24).sint32(e.DeltaX),e.DeltaY!=null&&Object.hasOwnProperty.call(e,"DeltaY")&&t.uint32(32).sint32(e.DeltaY),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.MouseMove;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.DeltaX=e.sint32();break;case 4:d.DeltaY=e.sint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX)?"PosX: integer expected":e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY)?"PosY: integer expected":e.DeltaX!=null&&e.hasOwnProperty("DeltaX")&&!v.isInteger(e.DeltaX)?"DeltaX: integer expected":e.DeltaY!=null&&e.hasOwnProperty("DeltaY")&&!v.isInteger(e.DeltaY)?"DeltaY: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.MouseMove)return e;var t=new c.CloudLark.MouseMove;return e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(t.PosY=e.PosY>>>0),e.DeltaX!=null&&(t.DeltaX=0|e.DeltaX),e.DeltaY!=null&&(t.DeltaY=0|e.DeltaY),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.DeltaX=0,r.DeltaY=0),e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.DeltaX!=null&&e.hasOwnProperty("DeltaX")&&(r.DeltaX=e.DeltaX),e.DeltaY!=null&&e.hasOwnProperty("DeltaY")&&(r.DeltaY=e.DeltaY),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.MouseKey=function(){var i={},e=Object.create(i);return e[i[0]="LEFT"]=0,e[i[1]="RIGHT"]=1,e[i[2]="MIDDLE"]=2,e}(),b.MouseDown=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.key=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.key!=null&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.MouseDown;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.key=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX))return"PosX: integer expected";if(e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY))return"PosY: integer expected";if(e.key!=null&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.MouseDown)return e;var t=new c.CloudLark.MouseDown;switch(e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(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},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.key!=null&&e.hasOwnProperty("key")&&(r.key=t.enums===String?c.CloudLark.MouseKey[e.key]:e.key),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.MouseUp=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.key=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.key!=null&&Object.hasOwnProperty.call(e,"key")&&t.uint32(24).int32(e.key),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.MouseUp;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.key=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX))return"PosX: integer expected";if(e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY))return"PosY: integer expected";if(e.key!=null&&e.hasOwnProperty("key"))switch(e.key){default:return"key: enum value expected";case 0:case 1:case 2:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.MouseUp)return e;var t=new c.CloudLark.MouseUp;switch(e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(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},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.key=t.enums===String?"LEFT":0),e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.key!=null&&e.hasOwnProperty("key")&&(r.key=t.enums===String?c.CloudLark.MouseKey[e.key]:e.key),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.MouseWheel=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.Delata=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.Delata!=null&&Object.hasOwnProperty.call(e,"Delata")&&t.uint32(24).sint32(e.Delata),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.MouseWheel;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.Delata=e.sint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX)?"PosX: integer expected":e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY)?"PosY: integer expected":e.Delata!=null&&e.hasOwnProperty("Delata")&&!v.isInteger(e.Delata)?"Delata: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.MouseWheel)return e;var t=new c.CloudLark.MouseWheel;return e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(t.PosY=e.PosY>>>0),e.Delata!=null&&(t.Delata=0|e.Delata),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.PosX=0,r.PosY=0,r.Delata=0),e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.Delata!=null&&e.hasOwnProperty("Delata")&&(r.Delata=e.Delata),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.KeyDown=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.key=0,i.prototype.isRepeat=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.key!=null&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),e.isRepeat!=null&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(16).bool(e.isRepeat),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.KeyDown;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.key=e.int32();break;case 2:d.isRepeat=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.key!=null&&e.hasOwnProperty("key")&&!v.isInteger(e.key)?"key: integer expected":e.isRepeat!=null&&e.hasOwnProperty("isRepeat")&&typeof e.isRepeat!="boolean"?"isRepeat: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.KeyDown)return e;var t=new c.CloudLark.KeyDown;return e.key!=null&&(t.key=0|e.key),e.isRepeat!=null&&(t.isRepeat=!!e.isRepeat),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0,r.isRepeat=!1),e.key!=null&&e.hasOwnProperty("key")&&(r.key=e.key),e.isRepeat!=null&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.KeyUp=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.key=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.key!=null&&Object.hasOwnProperty.call(e,"key")&&t.uint32(8).int32(e.key),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.KeyUp;e.pos<r;){var R=e.uint32();R>>>3==1?d.key=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.key!=null&&e.hasOwnProperty("key")&&!v.isInteger(e.key)?"key: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.KeyUp)return e;var t=new c.CloudLark.KeyUp;return e.key!=null&&(t.key=0|e.key),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.key=0),e.key!=null&&e.hasOwnProperty("key")&&(r.key=e.key),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ClientEnter=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.CapsLockState=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.CapsLockState!=null&&Object.hasOwnProperty.call(e,"CapsLockState")&&t.uint32(8).bool(e.CapsLockState),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ClientEnter;e.pos<r;){var R=e.uint32();R>>>3==1?d.CapsLockState=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.CapsLockState!=null&&e.hasOwnProperty("CapsLockState")&&typeof e.CapsLockState!="boolean"?"CapsLockState: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.ClientEnter)return e;var t=new c.CloudLark.ClientEnter;return e.CapsLockState!=null&&(t.CapsLockState=!!e.CapsLockState),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.CapsLockState=!1),e.CapsLockState!=null&&e.hasOwnProperty("CapsLockState")&&(r.CapsLockState=e.CapsLockState),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ClientLeave=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ClientLeave;e.pos<r;){var R=e.uint32();e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":null},i.fromObject=function(e){return e instanceof c.CloudLark.ClientLeave?e:new c.CloudLark.ClientLeave},i.toObject=function(){return{}},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TouchUp=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.time=v.Long?v.Long.fromBits(0,0,!0):0,i.prototype.ID=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.time!=null&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),e.ID!=null&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TouchUp;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.time=e.uint64();break;case 4:d.ID=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX)?"PosX: integer expected":e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY)?"PosY: integer expected":e.time!=null&&e.hasOwnProperty("time")&&!(v.isInteger(e.time)||e.time&&v.isInteger(e.time.low)&&v.isInteger(e.time.high))?"time: integer|Long expected":e.ID!=null&&e.hasOwnProperty("ID")&&!v.isInteger(e.ID)?"ID: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TouchUp)return e;var t=new c.CloudLark.TouchUp;return e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(t.PosY=e.PosY>>>0),e.time!=null&&(v.Long?(t.time=v.Long.fromValue(e.time)).unsigned=!0:typeof e.time=="string"?t.time=parseInt(e.time,10):typeof e.time=="number"?t.time=e.time:typeof e.time=="object"&&(t.time=new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),e.ID!=null&&(t.ID=e.ID>>>0),t},i.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,v.Long){var d=new v.Long(0,0,!0);r.time=t.longs===String?d.toString():t.longs===Number?d.toNumber():d}else r.time=t.longs===String?"0":0;r.ID=0}return e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.time!=null&&e.hasOwnProperty("time")&&(typeof e.time=="number"?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?v.Long.prototype.toString.call(e.time):t.longs===Number?new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),e.ID!=null&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TouchDown=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.time=v.Long?v.Long.fromBits(0,0,!0):0,i.prototype.ID=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.time!=null&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),e.ID!=null&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TouchDown;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.time=e.uint64();break;case 4:d.ID=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX)?"PosX: integer expected":e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY)?"PosY: integer expected":e.time!=null&&e.hasOwnProperty("time")&&!(v.isInteger(e.time)||e.time&&v.isInteger(e.time.low)&&v.isInteger(e.time.high))?"time: integer|Long expected":e.ID!=null&&e.hasOwnProperty("ID")&&!v.isInteger(e.ID)?"ID: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TouchDown)return e;var t=new c.CloudLark.TouchDown;return e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(t.PosY=e.PosY>>>0),e.time!=null&&(v.Long?(t.time=v.Long.fromValue(e.time)).unsigned=!0:typeof e.time=="string"?t.time=parseInt(e.time,10):typeof e.time=="number"?t.time=e.time:typeof e.time=="object"&&(t.time=new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),e.ID!=null&&(t.ID=e.ID>>>0),t},i.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,v.Long){var d=new v.Long(0,0,!0);r.time=t.longs===String?d.toString():t.longs===Number?d.toNumber():d}else r.time=t.longs===String?"0":0;r.ID=0}return e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.time!=null&&e.hasOwnProperty("time")&&(typeof e.time=="number"?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?v.Long.prototype.toString.call(e.time):t.longs===Number?new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),e.ID!=null&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TouchMove=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.PosX=0,i.prototype.PosY=0,i.prototype.time=v.Long?v.Long.fromBits(0,0,!0):0,i.prototype.ID=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.PosX!=null&&Object.hasOwnProperty.call(e,"PosX")&&t.uint32(8).uint32(e.PosX),e.PosY!=null&&Object.hasOwnProperty.call(e,"PosY")&&t.uint32(16).uint32(e.PosY),e.time!=null&&Object.hasOwnProperty.call(e,"time")&&t.uint32(24).uint64(e.time),e.ID!=null&&Object.hasOwnProperty.call(e,"ID")&&t.uint32(32).uint32(e.ID),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TouchMove;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.PosX=e.uint32();break;case 2:d.PosY=e.uint32();break;case 3:d.time=e.uint64();break;case 4:d.ID=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.PosX!=null&&e.hasOwnProperty("PosX")&&!v.isInteger(e.PosX)?"PosX: integer expected":e.PosY!=null&&e.hasOwnProperty("PosY")&&!v.isInteger(e.PosY)?"PosY: integer expected":e.time!=null&&e.hasOwnProperty("time")&&!(v.isInteger(e.time)||e.time&&v.isInteger(e.time.low)&&v.isInteger(e.time.high))?"time: integer|Long expected":e.ID!=null&&e.hasOwnProperty("ID")&&!v.isInteger(e.ID)?"ID: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TouchMove)return e;var t=new c.CloudLark.TouchMove;return e.PosX!=null&&(t.PosX=e.PosX>>>0),e.PosY!=null&&(t.PosY=e.PosY>>>0),e.time!=null&&(v.Long?(t.time=v.Long.fromValue(e.time)).unsigned=!0:typeof e.time=="string"?t.time=parseInt(e.time,10):typeof e.time=="number"?t.time=e.time:typeof e.time=="object"&&(t.time=new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0))),e.ID!=null&&(t.ID=e.ID>>>0),t},i.toObject=function(e,t){t||(t={});var r={};if(t.defaults){if(r.PosX=0,r.PosY=0,v.Long){var d=new v.Long(0,0,!0);r.time=t.longs===String?d.toString():t.longs===Number?d.toNumber():d}else r.time=t.longs===String?"0":0;r.ID=0}return e.PosX!=null&&e.hasOwnProperty("PosX")&&(r.PosX=e.PosX),e.PosY!=null&&e.hasOwnProperty("PosY")&&(r.PosY=e.PosY),e.time!=null&&e.hasOwnProperty("time")&&(typeof e.time=="number"?r.time=t.longs===String?String(e.time):e.time:r.time=t.longs===String?v.Long.prototype.toString.call(e.time):t.longs===Number?new v.LongBits(e.time.low>>>0,e.time.high>>>0).toNumber(!0):e.time),e.ID!=null&&e.hasOwnProperty("ID")&&(r.ID=e.ID),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppResize=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.width=0,i.prototype.height=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppResize;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.width=e.uint32();break;case 2:d.height=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppResize)return e;var t=new c.CloudLark.AppResize;return e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.width=0,r.height=0),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.MouseLockRect=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.top=0,i.prototype.left=0,i.prototype.right=0,i.prototype.bottom=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.top!=null&&Object.hasOwnProperty.call(e,"top")&&t.uint32(8).int32(e.top),e.left!=null&&Object.hasOwnProperty.call(e,"left")&&t.uint32(16).int32(e.left),e.right!=null&&Object.hasOwnProperty.call(e,"right")&&t.uint32(24).int32(e.right),e.bottom!=null&&Object.hasOwnProperty.call(e,"bottom")&&t.uint32(32).int32(e.bottom),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.MouseLockRect;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.top=e.int32();break;case 2:d.left=e.int32();break;case 3:d.right=e.int32();break;case 4:d.bottom=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.top!=null&&e.hasOwnProperty("top")&&!v.isInteger(e.top)?"top: integer expected":e.left!=null&&e.hasOwnProperty("left")&&!v.isInteger(e.left)?"left: integer expected":e.right!=null&&e.hasOwnProperty("right")&&!v.isInteger(e.right)?"right: integer expected":e.bottom!=null&&e.hasOwnProperty("bottom")&&!v.isInteger(e.bottom)?"bottom: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.MouseLockRect)return e;var t=new c.CloudLark.MouseLockRect;return e.top!=null&&(t.top=0|e.top),e.left!=null&&(t.left=0|e.left),e.right!=null&&(t.right=0|e.right),e.bottom!=null&&(t.bottom=0|e.bottom),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.top=0,r.left=0,r.right=0,r.bottom=0),e.top!=null&&e.hasOwnProperty("top")&&(r.top=e.top),e.left!=null&&e.hasOwnProperty("left")&&(r.left=e.left),e.right!=null&&e.hasOwnProperty("right")&&(r.right=e.right),e.bottom!=null&&e.hasOwnProperty("bottom")&&(r.bottom=e.bottom),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppMouseMode=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.mouseShow=!1,i.prototype.mouseLock=!1,i.prototype.mouseRelative=!1,i.prototype.rect=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.mouseShow!=null&&Object.hasOwnProperty.call(e,"mouseShow")&&t.uint32(8).bool(e.mouseShow),e.mouseLock!=null&&Object.hasOwnProperty.call(e,"mouseLock")&&t.uint32(16).bool(e.mouseLock),e.mouseRelative!=null&&Object.hasOwnProperty.call(e,"mouseRelative")&&t.uint32(24).bool(e.mouseRelative),e.rect!=null&&Object.hasOwnProperty.call(e,"rect")&&c.CloudLark.MouseLockRect.encode(e.rect,t.uint32(34).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppMouseMode;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.mouseShow=e.bool();break;case 2:d.mouseLock=e.bool();break;case 3:d.mouseRelative=e.bool();break;case 4:d.rect=c.CloudLark.MouseLockRect.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.mouseShow!=null&&e.hasOwnProperty("mouseShow")&&typeof e.mouseShow!="boolean")return"mouseShow: boolean expected";if(e.mouseLock!=null&&e.hasOwnProperty("mouseLock")&&typeof e.mouseLock!="boolean")return"mouseLock: boolean expected";if(e.mouseRelative!=null&&e.hasOwnProperty("mouseRelative")&&typeof e.mouseRelative!="boolean")return"mouseRelative: boolean expected";if(e.rect!=null&&e.hasOwnProperty("rect")){var t=c.CloudLark.MouseLockRect.verify(e.rect);if(t)return"rect."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppMouseMode)return e;var t=new c.CloudLark.AppMouseMode;if(e.mouseShow!=null&&(t.mouseShow=!!e.mouseShow),e.mouseLock!=null&&(t.mouseLock=!!e.mouseLock),e.mouseRelative!=null&&(t.mouseRelative=!!e.mouseRelative),e.rect!=null){if(typeof e.rect!="object")throw TypeError(".CloudLark.AppMouseMode.rect: object expected");t.rect=c.CloudLark.MouseLockRect.fromObject(e.rect)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.mouseShow=!1,r.mouseLock=!1,r.mouseRelative=!1,r.rect=null),e.mouseShow!=null&&e.hasOwnProperty("mouseShow")&&(r.mouseShow=e.mouseShow),e.mouseLock!=null&&e.hasOwnProperty("mouseLock")&&(r.mouseLock=e.mouseLock),e.mouseRelative!=null&&e.hasOwnProperty("mouseRelative")&&(r.mouseRelative=e.mouseRelative),e.rect!=null&&e.hasOwnProperty("rect")&&(r.rect=c.CloudLark.MouseLockRect.toObject(e.rect,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.PlayerDesc=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.id=0,i.prototype.nickName="",i.prototype.taskOwner=!1,i.prototype.controller=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),e.nickName!=null&&Object.hasOwnProperty.call(e,"nickName")&&t.uint32(18).string(e.nickName),e.taskOwner!=null&&Object.hasOwnProperty.call(e,"taskOwner")&&t.uint32(24).bool(e.taskOwner),e.controller!=null&&Object.hasOwnProperty.call(e,"controller")&&t.uint32(32).bool(e.controller),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.PlayerDesc;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.id=e.uint32();break;case 2:d.nickName=e.string();break;case 3:d.taskOwner=e.bool();break;case 4:d.controller=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!v.isInteger(e.id)?"id: integer expected":e.nickName!=null&&e.hasOwnProperty("nickName")&&!v.isString(e.nickName)?"nickName: string expected":e.taskOwner!=null&&e.hasOwnProperty("taskOwner")&&typeof e.taskOwner!="boolean"?"taskOwner: boolean expected":e.controller!=null&&e.hasOwnProperty("controller")&&typeof e.controller!="boolean"?"controller: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.PlayerDesc)return e;var t=new c.CloudLark.PlayerDesc;return e.id!=null&&(t.id=e.id>>>0),e.nickName!=null&&(t.nickName=String(e.nickName)),e.taskOwner!=null&&(t.taskOwner=!!e.taskOwner),e.controller!=null&&(t.controller=!!e.controller),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0,r.nickName="",r.taskOwner=!1,r.controller=!1),e.id!=null&&e.hasOwnProperty("id")&&(r.id=e.id),e.nickName!=null&&e.hasOwnProperty("nickName")&&(r.nickName=e.nickName),e.taskOwner!=null&&e.hasOwnProperty("taskOwner")&&(r.taskOwner=e.taskOwner),e.controller!=null&&e.hasOwnProperty("controller")&&(r.controller=e.controller),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.UpdatePlayersDesc=function(){function i(e){if(this.descs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.descs=v.emptyArray,i.create=function(e){return new i(e)},i.encode=function(e,t){if(t||(t=m.create()),e.descs!=null&&e.descs.length)for(var r=0;r<e.descs.length;++r)c.CloudLark.PlayerDesc.encode(e.descs[r],t.uint32(10).fork()).ldelim();return t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.UpdatePlayersDesc;e.pos<r;){var R=e.uint32();R>>>3==1?(d.descs&&d.descs.length||(d.descs=[]),d.descs.push(c.CloudLark.PlayerDesc.decode(e,e.uint32()))):e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.descs!=null&&e.hasOwnProperty("descs")){if(!Array.isArray(e.descs))return"descs: array expected";for(var t=0;t<e.descs.length;++t){var r=c.CloudLark.PlayerDesc.verify(e.descs[t]);if(r)return"descs."+r}}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.UpdatePlayersDesc)return e;var t=new c.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(typeof e.descs[r]!="object")throw TypeError(".CloudLark.UpdatePlayersDesc.descs: object expected");t.descs[r]=c.CloudLark.PlayerDesc.fromObject(e.descs[r])}}return t},i.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.descs=[]),e.descs&&e.descs.length){r.descs=[];for(var d=0;d<e.descs.length;++d)r.descs[d]=c.CloudLark.PlayerDesc.toObject(e.descs[d],t)}return r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppRequestInput=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.inputmethodenable=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.inputmethodenable!=null&&Object.hasOwnProperty.call(e,"inputmethodenable")&&t.uint32(8).bool(e.inputmethodenable),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppRequestInput;e.pos<r;){var R=e.uint32();R>>>3==1?d.inputmethodenable=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.inputmethodenable!=null&&e.hasOwnProperty("inputmethodenable")&&typeof e.inputmethodenable!="boolean"?"inputmethodenable: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppRequestInput)return e;var t=new c.CloudLark.AppRequestInput;return e.inputmethodenable!=null&&(t.inputmethodenable=!!e.inputmethodenable),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.inputmethodenable=!1),e.inputmethodenable!=null&&e.hasOwnProperty("inputmethodenable")&&(r.inputmethodenable=e.inputmethodenable),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.DispatchController=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.id=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.id!=null&&Object.hasOwnProperty.call(e,"id")&&t.uint32(8).uint32(e.id),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.DispatchController;e.pos<r;){var R=e.uint32();R>>>3==1?d.id=e.uint32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.id!=null&&e.hasOwnProperty("id")&&!v.isInteger(e.id)?"id: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.DispatchController)return e;var t=new c.CloudLark.DispatchController;return e.id!=null&&(t.id=e.id>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.id=0),e.id!=null&&e.hasOwnProperty("id")&&(r.id=e.id),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.RequestController=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.enable=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.enable!=null&&Object.hasOwnProperty.call(e,"enable")&&t.uint32(8).bool(e.enable),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.RequestController;e.pos<r;){var R=e.uint32();R>>>3==1?d.enable=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.enable!=null&&e.hasOwnProperty("enable")&&typeof e.enable!="boolean"?"enable: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.RequestController)return e;var t=new c.CloudLark.RequestController;return e.enable!=null&&(t.enable=!!e.enable),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.enable=!1),e.enable!=null&&e.hasOwnProperty("enable")&&(r.enable=e.enable),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TextInput=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.content="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.content!=null&&Object.hasOwnProperty.call(e,"content")&&t.uint32(10).string(e.content),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TextInput;e.pos<r;){var R=e.uint32();R>>>3==1?d.content=e.string():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.content!=null&&e.hasOwnProperty("content")&&!v.isString(e.content)?"content: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TextInput)return e;var t=new c.CloudLark.TextInput;return e.content!=null&&(t.content=String(e.content)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.content=""),e.content!=null&&e.hasOwnProperty("content")&&(r.content=e.content),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.GamepadInputButtonDown=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.userIndex=0,i.prototype.button=0,i.prototype.isRepeat=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.userIndex!=null&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),e.button!=null&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),e.isRepeat!=null&&Object.hasOwnProperty.call(e,"isRepeat")&&t.uint32(24).bool(e.isRepeat),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.GamepadInputButtonDown;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.userIndex=e.int32();break;case 2:d.button=e.uint32();break;case 3:d.isRepeat=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.userIndex!=null&&e.hasOwnProperty("userIndex")&&!v.isInteger(e.userIndex)?"userIndex: integer expected":e.button!=null&&e.hasOwnProperty("button")&&!v.isInteger(e.button)?"button: integer expected":e.isRepeat!=null&&e.hasOwnProperty("isRepeat")&&typeof e.isRepeat!="boolean"?"isRepeat: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.GamepadInputButtonDown)return e;var t=new c.CloudLark.GamepadInputButtonDown;return e.userIndex!=null&&(t.userIndex=0|e.userIndex),e.button!=null&&(t.button=e.button>>>0),e.isRepeat!=null&&(t.isRepeat=!!e.isRepeat),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0,r.isRepeat=!1),e.userIndex!=null&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),e.button!=null&&e.hasOwnProperty("button")&&(r.button=e.button),e.isRepeat!=null&&e.hasOwnProperty("isRepeat")&&(r.isRepeat=e.isRepeat),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.GamepadInputButtonUp=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.userIndex=0,i.prototype.button=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.userIndex!=null&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),e.button!=null&&Object.hasOwnProperty.call(e,"button")&&t.uint32(16).uint32(e.button),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.GamepadInputButtonUp;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.userIndex=e.int32();break;case 2:d.button=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.userIndex!=null&&e.hasOwnProperty("userIndex")&&!v.isInteger(e.userIndex)?"userIndex: integer expected":e.button!=null&&e.hasOwnProperty("button")&&!v.isInteger(e.button)?"button: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.GamepadInputButtonUp)return e;var t=new c.CloudLark.GamepadInputButtonUp;return e.userIndex!=null&&(t.userIndex=0|e.userIndex),e.button!=null&&(t.button=e.button>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.button=0),e.userIndex!=null&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),e.button!=null&&e.hasOwnProperty("button")&&(r.button=e.button),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.GamepadInputJoyStickStates=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.userIndex=0,i.prototype.thumblx=0,i.prototype.thumbly=0,i.prototype.thumbrx=0,i.prototype.thumbry=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.userIndex!=null&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),e.thumblx!=null&&Object.hasOwnProperty.call(e,"thumblx")&&t.uint32(16).int32(e.thumblx),e.thumbly!=null&&Object.hasOwnProperty.call(e,"thumbly")&&t.uint32(24).int32(e.thumbly),e.thumbrx!=null&&Object.hasOwnProperty.call(e,"thumbrx")&&t.uint32(32).int32(e.thumbrx),e.thumbry!=null&&Object.hasOwnProperty.call(e,"thumbry")&&t.uint32(40).int32(e.thumbry),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.GamepadInputJoyStickStates;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.userIndex=e.int32();break;case 2:d.thumblx=e.int32();break;case 3:d.thumbly=e.int32();break;case 4:d.thumbrx=e.int32();break;case 5:d.thumbry=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.userIndex!=null&&e.hasOwnProperty("userIndex")&&!v.isInteger(e.userIndex)?"userIndex: integer expected":e.thumblx!=null&&e.hasOwnProperty("thumblx")&&!v.isInteger(e.thumblx)?"thumblx: integer expected":e.thumbly!=null&&e.hasOwnProperty("thumbly")&&!v.isInteger(e.thumbly)?"thumbly: integer expected":e.thumbrx!=null&&e.hasOwnProperty("thumbrx")&&!v.isInteger(e.thumbrx)?"thumbrx: integer expected":e.thumbry!=null&&e.hasOwnProperty("thumbry")&&!v.isInteger(e.thumbry)?"thumbry: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.GamepadInputJoyStickStates)return e;var t=new c.CloudLark.GamepadInputJoyStickStates;return e.userIndex!=null&&(t.userIndex=0|e.userIndex),e.thumblx!=null&&(t.thumblx=0|e.thumblx),e.thumbly!=null&&(t.thumbly=0|e.thumbly),e.thumbrx!=null&&(t.thumbrx=0|e.thumbrx),e.thumbry!=null&&(t.thumbry=0|e.thumbry),t},i.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),e.userIndex!=null&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),e.thumblx!=null&&e.hasOwnProperty("thumblx")&&(r.thumblx=e.thumblx),e.thumbly!=null&&e.hasOwnProperty("thumbly")&&(r.thumbly=e.thumbly),e.thumbrx!=null&&e.hasOwnProperty("thumbrx")&&(r.thumbrx=e.thumbrx),e.thumbry!=null&&e.hasOwnProperty("thumbry")&&(r.thumbry=e.thumbry),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.GamepadInputTriger=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.userIndex=0,i.prototype.isleft=!1,i.prototype.value=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.userIndex!=null&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),e.isleft!=null&&Object.hasOwnProperty.call(e,"isleft")&&t.uint32(16).bool(e.isleft),e.value!=null&&Object.hasOwnProperty.call(e,"value")&&t.uint32(24).int32(e.value),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.GamepadInputTriger;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.userIndex=e.int32();break;case 2:d.isleft=e.bool();break;case 3:d.value=e.int32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.userIndex!=null&&e.hasOwnProperty("userIndex")&&!v.isInteger(e.userIndex)?"userIndex: integer expected":e.isleft!=null&&e.hasOwnProperty("isleft")&&typeof e.isleft!="boolean"?"isleft: boolean expected":e.value!=null&&e.hasOwnProperty("value")&&!v.isInteger(e.value)?"value: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.GamepadInputTriger)return e;var t=new c.CloudLark.GamepadInputTriger;return e.userIndex!=null&&(t.userIndex=0|e.userIndex),e.isleft!=null&&(t.isleft=!!e.isleft),e.value!=null&&(t.value=0|e.value),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.isleft=!1,r.value=0),e.userIndex!=null&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),e.isleft!=null&&e.hasOwnProperty("isleft")&&(r.isleft=e.isleft),e.value!=null&&e.hasOwnProperty("value")&&(r.value=e.value),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.GamepadOutput=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.userIndex=0,i.prototype.leftmotorspeed=0,i.prototype.rightmotorspeed=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.userIndex!=null&&Object.hasOwnProperty.call(e,"userIndex")&&t.uint32(8).int32(e.userIndex),e.leftmotorspeed!=null&&Object.hasOwnProperty.call(e,"leftmotorspeed")&&t.uint32(16).uint32(e.leftmotorspeed),e.rightmotorspeed!=null&&Object.hasOwnProperty.call(e,"rightmotorspeed")&&t.uint32(24).uint32(e.rightmotorspeed),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.GamepadOutput;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.userIndex=e.int32();break;case 2:d.leftmotorspeed=e.uint32();break;case 3:d.rightmotorspeed=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.userIndex!=null&&e.hasOwnProperty("userIndex")&&!v.isInteger(e.userIndex)?"userIndex: integer expected":e.leftmotorspeed!=null&&e.hasOwnProperty("leftmotorspeed")&&!v.isInteger(e.leftmotorspeed)?"leftmotorspeed: integer expected":e.rightmotorspeed!=null&&e.hasOwnProperty("rightmotorspeed")&&!v.isInteger(e.rightmotorspeed)?"rightmotorspeed: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.GamepadOutput)return e;var t=new c.CloudLark.GamepadOutput;return e.userIndex!=null&&(t.userIndex=0|e.userIndex),e.leftmotorspeed!=null&&(t.leftmotorspeed=e.leftmotorspeed>>>0),e.rightmotorspeed!=null&&(t.rightmotorspeed=e.rightmotorspeed>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.userIndex=0,r.leftmotorspeed=0,r.rightmotorspeed=0),e.userIndex!=null&&e.hasOwnProperty("userIndex")&&(r.userIndex=e.userIndex),e.leftmotorspeed!=null&&e.hasOwnProperty("leftmotorspeed")&&(r.leftmotorspeed=e.leftmotorspeed),e.rightmotorspeed!=null&&e.hasOwnProperty("rightmotorspeed")&&(r.rightmotorspeed=e.rightmotorspeed),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppDataChannelState=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.state=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppDataChannelState;e.pos<r;){var R=e.uint32();R>>>3==1?d.state=e.int32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppDataChannelState)return e;var t=new c.CloudLark.AppDataChannelState;switch(e.state){case"OPEN":case 0:t.state=0;break;case"CLOSE":case 1:t.state=1}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"OPEN":0),e.state!=null&&e.hasOwnProperty("state")&&(r.state=t.enums===String?c.CloudLark.AppDataChannelState.State[e.state]:e.state),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.State=function(){var e={},t=Object.create(e);return t[e[0]="OPEN"]=0,t[e[1]="CLOSE"]=1,t}(),i}(),b.AppDataChannelMessage=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.type=0,i.prototype.data=v.newBuffer([]),i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppDataChannelMessage;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.type=e.int32();break;case 2:d.data=e.bytes();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.type!=null&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 0:case 1:}return e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||v.isString(e.data))?"data: buffer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppDataChannelMessage)return e;var t=new c.CloudLark.AppDataChannelMessage;switch(e.type){case"STRING":case 0:t.type=0;break;case"BIN":case 1:t.type=1}return e.data!=null&&(typeof e.data=="string"?v.base64.decode(e.data,t.data=v.newBuffer(v.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},i.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=v.newBuffer(r.data)))),e.type!=null&&e.hasOwnProperty("type")&&(r.type=t.enums===String?c.CloudLark.AppDataChannelMessage.Type[e.type]:e.type),e.data!=null&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?v.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Type=function(){var e={},t=Object.create(e);return t[e[0]="STRING"]=0,t[e[1]="BIN"]=1,t}(),i}(),b.SyncCursorStyle=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.type=0,i.prototype.hotX=0,i.prototype.hotY=0,i.prototype.width=0,i.prototype.height=0,i.prototype.customBase64="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.type!=null&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),e.hotX!=null&&Object.hasOwnProperty.call(e,"hotX")&&t.uint32(16).int32(e.hotX),e.hotY!=null&&Object.hasOwnProperty.call(e,"hotY")&&t.uint32(24).int32(e.hotY),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(32).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(40).uint32(e.height),e.customBase64!=null&&Object.hasOwnProperty.call(e,"customBase64")&&t.uint32(50).string(e.customBase64),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.SyncCursorStyle;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.type=e.int32();break;case 2:d.hotX=e.int32();break;case 3:d.hotY=e.int32();break;case 4:d.width=e.uint32();break;case 5:d.height=e.uint32();break;case 6:d.customBase64=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.type!=null&&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 e.hotX!=null&&e.hasOwnProperty("hotX")&&!v.isInteger(e.hotX)?"hotX: integer expected":e.hotY!=null&&e.hasOwnProperty("hotY")&&!v.isInteger(e.hotY)?"hotY: integer expected":e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":e.customBase64!=null&&e.hasOwnProperty("customBase64")&&!v.isString(e.customBase64)?"customBase64: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.SyncCursorStyle)return e;var t=new c.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 e.hotX!=null&&(t.hotX=0|e.hotX),e.hotY!=null&&(t.hotY=0|e.hotY),e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.customBase64!=null&&(t.customBase64=String(e.customBase64)),t},i.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=""),e.type!=null&&e.hasOwnProperty("type")&&(r.type=t.enums===String?c.CloudLark.SyncCursorStyle.CursorType[e.type]:e.type),e.hotX!=null&&e.hasOwnProperty("hotX")&&(r.hotX=e.hotX),e.hotY!=null&&e.hasOwnProperty("hotY")&&(r.hotY=e.hotY),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.customBase64!=null&&e.hasOwnProperty("customBase64")&&(r.customBase64=e.customBase64),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.AiVoiceServiceStatus=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.success=!1,i.prototype.reason="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.success!=null&&Object.hasOwnProperty.call(e,"success")&&t.uint32(8).bool(e.success),e.reason!=null&&Object.hasOwnProperty.call(e,"reason")&&t.uint32(18).string(e.reason),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceServiceStatus;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.success=e.bool();break;case 2:d.reason=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.success!=null&&e.hasOwnProperty("success")&&typeof e.success!="boolean"?"success: boolean expected":e.reason!=null&&e.hasOwnProperty("reason")&&!v.isString(e.reason)?"reason: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceServiceStatus)return e;var t=new c.CloudLark.AiVoiceServiceStatus;return e.success!=null&&(t.success=!!e.success),e.reason!=null&&(t.reason=String(e.reason)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.success=!1,r.reason=""),e.success!=null&&e.hasOwnProperty("success")&&(r.success=e.success),e.reason!=null&&e.hasOwnProperty("reason")&&(r.reason=e.reason),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceStreamStart=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceStreamStart;e.pos<r;){var R=e.uint32();R>>>3==1?d.voiceId=e.uint32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceStreamStart)return e;var t=new c.CloudLark.AiVoiceStreamStart;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceStreamSlice=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.prototype.sliceId=0,i.prototype.audio=v.newBuffer([]),i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),e.sliceId!=null&&Object.hasOwnProperty.call(e,"sliceId")&&t.uint32(16).uint32(e.sliceId),e.audio!=null&&Object.hasOwnProperty.call(e,"audio")&&t.uint32(26).bytes(e.audio),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceStreamSlice;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.voiceId=e.uint32();break;case 2:d.sliceId=e.uint32();break;case 3:d.audio=e.bytes();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":e.sliceId!=null&&e.hasOwnProperty("sliceId")&&!v.isInteger(e.sliceId)?"sliceId: integer expected":e.audio!=null&&e.hasOwnProperty("audio")&&!(e.audio&&typeof e.audio.length=="number"||v.isString(e.audio))?"audio: buffer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceStreamSlice)return e;var t=new c.CloudLark.AiVoiceStreamSlice;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),e.sliceId!=null&&(t.sliceId=e.sliceId>>>0),e.audio!=null&&(typeof e.audio=="string"?v.base64.decode(e.audio,t.audio=v.newBuffer(v.base64.length(e.audio)),0):e.audio.length&&(t.audio=e.audio)),t},i.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=v.newBuffer(r.audio)))),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),e.sliceId!=null&&e.hasOwnProperty("sliceId")&&(r.sliceId=e.sliceId),e.audio!=null&&e.hasOwnProperty("audio")&&(r.audio=t.bytes===String?v.base64.encode(e.audio,0,e.audio.length):t.bytes===Array?Array.prototype.slice.call(e.audio):e.audio),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceStreamStop=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceStreamStop;e.pos<r;){var R=e.uint32();R>>>3==1?d.voiceId=e.uint32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceStreamStop)return e;var t=new c.CloudLark.AiVoiceStreamStop;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceText=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.prototype.text="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),e.text!=null&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceText;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.voiceId=e.uint32();break;case 2:d.text=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":e.text!=null&&e.hasOwnProperty("text")&&!v.isString(e.text)?"text: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceText)return e;var t=new c.CloudLark.AiVoiceText;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),e.text!=null&&(t.text=String(e.text)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),e.text!=null&&e.hasOwnProperty("text")&&(r.text=e.text),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceStreamReset=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceStreamReset;e.pos<r;){var R=e.uint32();R>>>3==1?d.voiceId=e.uint32():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceStreamReset)return e;var t=new c.CloudLark.AiVoiceStreamReset;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceRealTimeParseResult=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.prototype.text="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),e.text!=null&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceRealTimeParseResult;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.voiceId=e.uint32();break;case 2:d.text=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":e.text!=null&&e.hasOwnProperty("text")&&!v.isString(e.text)?"text: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceRealTimeParseResult)return e;var t=new c.CloudLark.AiVoiceRealTimeParseResult;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),e.text!=null&&(t.text=String(e.text)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),e.text!=null&&e.hasOwnProperty("text")&&(r.text=e.text),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AiVoiceResult=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.prototype.text="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),e.text!=null&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AiVoiceResult;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.voiceId=e.uint32();break;case 2:d.text=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":e.text!=null&&e.hasOwnProperty("text")&&!v.isString(e.text)?"text: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AiVoiceResult)return e;var t=new c.CloudLark.AiVoiceResult;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),e.text!=null&&(t.text=String(e.text)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),e.text!=null&&e.hasOwnProperty("text")&&(r.text=e.text),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AivoiceError=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.voiceId=0,i.prototype.text="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.voiceId!=null&&Object.hasOwnProperty.call(e,"voiceId")&&t.uint32(8).uint32(e.voiceId),e.text!=null&&Object.hasOwnProperty.call(e,"text")&&t.uint32(18).string(e.text),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AivoiceError;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.voiceId=e.uint32();break;case 2:d.text=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.voiceId!=null&&e.hasOwnProperty("voiceId")&&!v.isInteger(e.voiceId)?"voiceId: integer expected":e.text!=null&&e.hasOwnProperty("text")&&!v.isString(e.text)?"text: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AivoiceError)return e;var t=new c.CloudLark.AivoiceError;return e.voiceId!=null&&(t.voiceId=e.voiceId>>>0),e.text!=null&&(t.text=String(e.text)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.voiceId=0,r.text=""),e.voiceId!=null&&e.hasOwnProperty("voiceId")&&(r.voiceId=e.voiceId),e.text!=null&&e.hasOwnProperty("text")&&(r.text=e.text),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.Rtmp_Start=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.width=0,i.prototype.height=0,i.prototype.framerate=0,i.prototype.bitrate=0,i.prototype.path="",i.prototype.key="",i.prototype.reconnect=!1,i.prototype.reconnectRetries=0,i.prototype.voice=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(8).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(16).uint32(e.height),e.framerate!=null&&Object.hasOwnProperty.call(e,"framerate")&&t.uint32(24).uint32(e.framerate),e.bitrate!=null&&Object.hasOwnProperty.call(e,"bitrate")&&t.uint32(32).uint32(e.bitrate),e.path!=null&&Object.hasOwnProperty.call(e,"path")&&t.uint32(42).string(e.path),e.key!=null&&Object.hasOwnProperty.call(e,"key")&&t.uint32(50).string(e.key),e.reconnect!=null&&Object.hasOwnProperty.call(e,"reconnect")&&t.uint32(56).bool(e.reconnect),e.reconnectRetries!=null&&Object.hasOwnProperty.call(e,"reconnectRetries")&&t.uint32(64).uint32(e.reconnectRetries),e.voice!=null&&Object.hasOwnProperty.call(e,"voice")&&t.uint32(72).bool(e.voice),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.Rtmp_Start;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.width=e.uint32();break;case 2:d.height=e.uint32();break;case 3:d.framerate=e.uint32();break;case 4:d.bitrate=e.uint32();break;case 5:d.path=e.string();break;case 6:d.key=e.string();break;case 7:d.reconnect=e.bool();break;case 8:d.reconnectRetries=e.uint32();break;case 9:d.voice=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":e.framerate!=null&&e.hasOwnProperty("framerate")&&!v.isInteger(e.framerate)?"framerate: integer expected":e.bitrate!=null&&e.hasOwnProperty("bitrate")&&!v.isInteger(e.bitrate)?"bitrate: integer expected":e.path!=null&&e.hasOwnProperty("path")&&!v.isString(e.path)?"path: string expected":e.key!=null&&e.hasOwnProperty("key")&&!v.isString(e.key)?"key: string expected":e.reconnect!=null&&e.hasOwnProperty("reconnect")&&typeof e.reconnect!="boolean"?"reconnect: boolean expected":e.reconnectRetries!=null&&e.hasOwnProperty("reconnectRetries")&&!v.isInteger(e.reconnectRetries)?"reconnectRetries: integer expected":e.voice!=null&&e.hasOwnProperty("voice")&&typeof e.voice!="boolean"?"voice: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.Rtmp_Start)return e;var t=new c.CloudLark.Rtmp_Start;return e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.framerate!=null&&(t.framerate=e.framerate>>>0),e.bitrate!=null&&(t.bitrate=e.bitrate>>>0),e.path!=null&&(t.path=String(e.path)),e.key!=null&&(t.key=String(e.key)),e.reconnect!=null&&(t.reconnect=!!e.reconnect),e.reconnectRetries!=null&&(t.reconnectRetries=e.reconnectRetries>>>0),e.voice!=null&&(t.voice=!!e.voice),t},i.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),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.framerate!=null&&e.hasOwnProperty("framerate")&&(r.framerate=e.framerate),e.bitrate!=null&&e.hasOwnProperty("bitrate")&&(r.bitrate=e.bitrate),e.path!=null&&e.hasOwnProperty("path")&&(r.path=e.path),e.key!=null&&e.hasOwnProperty("key")&&(r.key=e.key),e.reconnect!=null&&e.hasOwnProperty("reconnect")&&(r.reconnect=e.reconnect),e.reconnectRetries!=null&&e.hasOwnProperty("reconnectRetries")&&(r.reconnectRetries=e.reconnectRetries),e.voice!=null&&e.hasOwnProperty("voice")&&(r.voice=e.voice),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.Rtmp_Stop=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.flag=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.flag!=null&&Object.hasOwnProperty.call(e,"flag")&&t.uint32(8).bool(e.flag),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.Rtmp_Stop;e.pos<r;){var R=e.uint32();R>>>3==1?d.flag=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.flag!=null&&e.hasOwnProperty("flag")&&typeof e.flag!="boolean"?"flag: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.Rtmp_Stop)return e;var t=new c.CloudLark.Rtmp_Stop;return e.flag!=null&&(t.flag=!!e.flag),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.flag=!1),e.flag!=null&&e.hasOwnProperty("flag")&&(r.flag=e.flag),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.Rtmp_State=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.state=0,i.prototype.desc="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.state!=null&&Object.hasOwnProperty.call(e,"state")&&t.uint32(8).int32(e.state),e.desc!=null&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.Rtmp_State;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.state=e.int32();break;case 2:d.desc=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.state!=null&&e.hasOwnProperty("state"))switch(e.state){default:return"state: enum value expected";case 0:case 1:case 2:case 3:case 4:}return e.desc!=null&&e.hasOwnProperty("desc")&&!v.isString(e.desc)?"desc: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.Rtmp_State)return e;var t=new c.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 e.desc!=null&&(t.desc=String(e.desc)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.state=t.enums===String?"CONNECTING":0,r.desc=""),e.state!=null&&e.hasOwnProperty("state")&&(r.state=t.enums===String?c.CloudLark.Rtmp_State.STATE[e.state]:e.state),e.desc!=null&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.Rtmp_Error=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.error=0,i.prototype.desc="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.error!=null&&Object.hasOwnProperty.call(e,"error")&&t.uint32(8).int32(e.error),e.desc!=null&&Object.hasOwnProperty.call(e,"desc")&&t.uint32(18).string(e.desc),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.Rtmp_Error;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.error=e.int32();break;case 2:d.desc=e.string();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.error!=null&&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 e.desc!=null&&e.hasOwnProperty("desc")&&!v.isString(e.desc)?"desc: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.Rtmp_Error)return e;var t=new c.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 e.desc!=null&&(t.desc=String(e.desc)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.error=t.enums===String?"PROCESS":0,r.desc=""),e.error!=null&&e.hasOwnProperty("error")&&(r.error=t.enums===String?c.CloudLark.Rtmp_Error.ERR[e.error]:e.error),e.desc!=null&&e.hasOwnProperty("desc")&&(r.desc=e.desc),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.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}(),i}(),b.VideoReconfigure=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.bitrate=null,i.prototype.fps=null,i.prototype.forceidr=null,Object.defineProperty(i.prototype,"video",{get:v.oneOfGetter(e=["bitrate","fps","forceidr"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.bitrate!=null&&Object.hasOwnProperty.call(t,"bitrate")&&r.uint32(8).uint32(t.bitrate),t.fps!=null&&Object.hasOwnProperty.call(t,"fps")&&r.uint32(16).uint32(t.fps),t.forceidr!=null&&Object.hasOwnProperty.call(t,"forceidr")&&r.uint32(24).bool(t.forceidr),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.VideoReconfigure;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.bitrate=t.uint32();break;case 2:R.fps=t.uint32();break;case 3:R.forceidr=t.bool();break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.bitrate!=null&&t.hasOwnProperty("bitrate")&&(r.video=1,!v.isInteger(t.bitrate)))return"bitrate: integer expected";if(t.fps!=null&&t.hasOwnProperty("fps")){if(r.video===1)return"video: multiple values";if(r.video=1,!v.isInteger(t.fps))return"fps: integer expected"}if(t.forceidr!=null&&t.hasOwnProperty("forceidr")){if(r.video===1)return"video: multiple values";if(r.video=1,typeof t.forceidr!="boolean")return"forceidr: boolean expected"}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.VideoReconfigure)return t;var r=new c.CloudLark.VideoReconfigure;return t.bitrate!=null&&(r.bitrate=t.bitrate>>>0),t.fps!=null&&(r.fps=t.fps>>>0),t.forceidr!=null&&(r.forceidr=!!t.forceidr),r},i.toObject=function(t,r){r||(r={});var d={};return t.bitrate!=null&&t.hasOwnProperty("bitrate")&&(d.bitrate=t.bitrate,r.oneofs&&(d.video="bitrate")),t.fps!=null&&t.hasOwnProperty("fps")&&(d.fps=t.fps,r.oneofs&&(d.video="fps")),t.forceidr!=null&&t.hasOwnProperty("forceidr")&&(d.forceidr=t.forceidr,r.oneofs&&(d.video="forceidr")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ClientStatics=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.bytesReceivedInSecond=0,i.prototype.rtt=0,i.prototype.packageLostInSecond=0,i.prototype.decodeDelay=0,i.prototype.totalProcessDelay=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.bytesReceivedInSecond!=null&&Object.hasOwnProperty.call(e,"bytesReceivedInSecond")&&t.uint32(13).float(e.bytesReceivedInSecond),e.rtt!=null&&Object.hasOwnProperty.call(e,"rtt")&&t.uint32(21).float(e.rtt),e.packageLostInSecond!=null&&Object.hasOwnProperty.call(e,"packageLostInSecond")&&t.uint32(29).float(e.packageLostInSecond),e.decodeDelay!=null&&Object.hasOwnProperty.call(e,"decodeDelay")&&t.uint32(37).float(e.decodeDelay),e.totalProcessDelay!=null&&Object.hasOwnProperty.call(e,"totalProcessDelay")&&t.uint32(45).float(e.totalProcessDelay),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ClientStatics;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.bytesReceivedInSecond=e.float();break;case 2:d.rtt=e.float();break;case 3:d.packageLostInSecond=e.float();break;case 4:d.decodeDelay=e.float();break;case 5:d.totalProcessDelay=e.float();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.bytesReceivedInSecond!=null&&e.hasOwnProperty("bytesReceivedInSecond")&&typeof e.bytesReceivedInSecond!="number"?"bytesReceivedInSecond: number expected":e.rtt!=null&&e.hasOwnProperty("rtt")&&typeof e.rtt!="number"?"rtt: number expected":e.packageLostInSecond!=null&&e.hasOwnProperty("packageLostInSecond")&&typeof e.packageLostInSecond!="number"?"packageLostInSecond: number expected":e.decodeDelay!=null&&e.hasOwnProperty("decodeDelay")&&typeof e.decodeDelay!="number"?"decodeDelay: number expected":e.totalProcessDelay!=null&&e.hasOwnProperty("totalProcessDelay")&&typeof e.totalProcessDelay!="number"?"totalProcessDelay: number expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.ClientStatics)return e;var t=new c.CloudLark.ClientStatics;return e.bytesReceivedInSecond!=null&&(t.bytesReceivedInSecond=Number(e.bytesReceivedInSecond)),e.rtt!=null&&(t.rtt=Number(e.rtt)),e.packageLostInSecond!=null&&(t.packageLostInSecond=Number(e.packageLostInSecond)),e.decodeDelay!=null&&(t.decodeDelay=Number(e.decodeDelay)),e.totalProcessDelay!=null&&(t.totalProcessDelay=Number(e.totalProcessDelay)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.bytesReceivedInSecond=0,r.rtt=0,r.packageLostInSecond=0,r.decodeDelay=0,r.totalProcessDelay=0),e.bytesReceivedInSecond!=null&&e.hasOwnProperty("bytesReceivedInSecond")&&(r.bytesReceivedInSecond=t.json&&!isFinite(e.bytesReceivedInSecond)?String(e.bytesReceivedInSecond):e.bytesReceivedInSecond),e.rtt!=null&&e.hasOwnProperty("rtt")&&(r.rtt=t.json&&!isFinite(e.rtt)?String(e.rtt):e.rtt),e.packageLostInSecond!=null&&e.hasOwnProperty("packageLostInSecond")&&(r.packageLostInSecond=t.json&&!isFinite(e.packageLostInSecond)?String(e.packageLostInSecond):e.packageLostInSecond),e.decodeDelay!=null&&e.hasOwnProperty("decodeDelay")&&(r.decodeDelay=t.json&&!isFinite(e.decodeDelay)?String(e.decodeDelay):e.decodeDelay),e.totalProcessDelay!=null&&e.hasOwnProperty("totalProcessDelay")&&(r.totalProcessDelay=t.json&&!isFinite(e.totalProcessDelay)?String(e.totalProcessDelay):e.totalProcessDelay),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ServerStatics=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.captureDelay=0,i.prototype.captureFramerate=0,i.prototype.renderDelay=0,i.prototype.renderFramerate=0,i.prototype.encoderDelay=0,i.prototype.encoderFramerate=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.captureDelay!=null&&Object.hasOwnProperty.call(e,"captureDelay")&&t.uint32(13).float(e.captureDelay),e.captureFramerate!=null&&Object.hasOwnProperty.call(e,"captureFramerate")&&t.uint32(21).float(e.captureFramerate),e.renderDelay!=null&&Object.hasOwnProperty.call(e,"renderDelay")&&t.uint32(29).float(e.renderDelay),e.renderFramerate!=null&&Object.hasOwnProperty.call(e,"renderFramerate")&&t.uint32(37).float(e.renderFramerate),e.encoderDelay!=null&&Object.hasOwnProperty.call(e,"encoderDelay")&&t.uint32(45).float(e.encoderDelay),e.encoderFramerate!=null&&Object.hasOwnProperty.call(e,"encoderFramerate")&&t.uint32(53).float(e.encoderFramerate),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ServerStatics;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.captureDelay=e.float();break;case 2:d.captureFramerate=e.float();break;case 3:d.renderDelay=e.float();break;case 4:d.renderFramerate=e.float();break;case 5:d.encoderDelay=e.float();break;case 6:d.encoderFramerate=e.float();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.captureDelay!=null&&e.hasOwnProperty("captureDelay")&&typeof e.captureDelay!="number"?"captureDelay: number expected":e.captureFramerate!=null&&e.hasOwnProperty("captureFramerate")&&typeof e.captureFramerate!="number"?"captureFramerate: number expected":e.renderDelay!=null&&e.hasOwnProperty("renderDelay")&&typeof e.renderDelay!="number"?"renderDelay: number expected":e.renderFramerate!=null&&e.hasOwnProperty("renderFramerate")&&typeof e.renderFramerate!="number"?"renderFramerate: number expected":e.encoderDelay!=null&&e.hasOwnProperty("encoderDelay")&&typeof e.encoderDelay!="number"?"encoderDelay: number expected":e.encoderFramerate!=null&&e.hasOwnProperty("encoderFramerate")&&typeof e.encoderFramerate!="number"?"encoderFramerate: number expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.ServerStatics)return e;var t=new c.CloudLark.ServerStatics;return e.captureDelay!=null&&(t.captureDelay=Number(e.captureDelay)),e.captureFramerate!=null&&(t.captureFramerate=Number(e.captureFramerate)),e.renderDelay!=null&&(t.renderDelay=Number(e.renderDelay)),e.renderFramerate!=null&&(t.renderFramerate=Number(e.renderFramerate)),e.encoderDelay!=null&&(t.encoderDelay=Number(e.encoderDelay)),e.encoderFramerate!=null&&(t.encoderFramerate=Number(e.encoderFramerate)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.captureDelay=0,r.captureFramerate=0,r.renderDelay=0,r.renderFramerate=0,r.encoderDelay=0,r.encoderFramerate=0),e.captureDelay!=null&&e.hasOwnProperty("captureDelay")&&(r.captureDelay=t.json&&!isFinite(e.captureDelay)?String(e.captureDelay):e.captureDelay),e.captureFramerate!=null&&e.hasOwnProperty("captureFramerate")&&(r.captureFramerate=t.json&&!isFinite(e.captureFramerate)?String(e.captureFramerate):e.captureFramerate),e.renderDelay!=null&&e.hasOwnProperty("renderDelay")&&(r.renderDelay=t.json&&!isFinite(e.renderDelay)?String(e.renderDelay):e.renderDelay),e.renderFramerate!=null&&e.hasOwnProperty("renderFramerate")&&(r.renderFramerate=t.json&&!isFinite(e.renderFramerate)?String(e.renderFramerate):e.renderFramerate),e.encoderDelay!=null&&e.hasOwnProperty("encoderDelay")&&(r.encoderDelay=t.json&&!isFinite(e.encoderDelay)?String(e.encoderDelay):e.encoderDelay),e.encoderFramerate!=null&&e.hasOwnProperty("encoderFramerate")&&(r.encoderFramerate=t.json&&!isFinite(e.encoderFramerate)?String(e.encoderFramerate):e.encoderFramerate),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ShowDebugLayout=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.open=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.open!=null&&Object.hasOwnProperty.call(e,"open")&&t.uint32(8).bool(e.open),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.ShowDebugLayout;e.pos<r;){var R=e.uint32();R>>>3==1?d.open=e.bool():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.open!=null&&e.hasOwnProperty("open")&&typeof e.open!="boolean"?"open: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.ShowDebugLayout)return e;var t=new c.CloudLark.ShowDebugLayout;return e.open!=null&&(t.open=!!e.open),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.open=!1),e.open!=null&&e.hasOwnProperty("open")&&(r.open=e.open),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AerialViewBox=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.minx=0,i.prototype.maxx=0,i.prototype.miny=0,i.prototype.maxy=0,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.minx!=null&&Object.hasOwnProperty.call(e,"minx")&&t.uint32(8).uint32(e.minx),e.maxx!=null&&Object.hasOwnProperty.call(e,"maxx")&&t.uint32(16).uint32(e.maxx),e.miny!=null&&Object.hasOwnProperty.call(e,"miny")&&t.uint32(24).uint32(e.miny),e.maxy!=null&&Object.hasOwnProperty.call(e,"maxy")&&t.uint32(32).uint32(e.maxy),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AerialViewBox;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.minx=e.uint32();break;case 2:d.maxx=e.uint32();break;case 3:d.miny=e.uint32();break;case 4:d.maxy=e.uint32();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.minx!=null&&e.hasOwnProperty("minx")&&!v.isInteger(e.minx)?"minx: integer expected":e.maxx!=null&&e.hasOwnProperty("maxx")&&!v.isInteger(e.maxx)?"maxx: integer expected":e.miny!=null&&e.hasOwnProperty("miny")&&!v.isInteger(e.miny)?"miny: integer expected":e.maxy!=null&&e.hasOwnProperty("maxy")&&!v.isInteger(e.maxy)?"maxy: integer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AerialViewBox)return e;var t=new c.CloudLark.AerialViewBox;return e.minx!=null&&(t.minx=e.minx>>>0),e.maxx!=null&&(t.maxx=e.maxx>>>0),e.miny!=null&&(t.miny=e.miny>>>0),e.maxy!=null&&(t.maxy=e.maxy>>>0),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.minx=0,r.maxx=0,r.miny=0,r.maxy=0),e.minx!=null&&e.hasOwnProperty("minx")&&(r.minx=e.minx),e.maxx!=null&&e.hasOwnProperty("maxx")&&(r.maxx=e.maxx),e.miny!=null&&e.hasOwnProperty("miny")&&(r.miny=e.miny),e.maxy!=null&&e.hasOwnProperty("maxy")&&(r.maxy=e.maxy),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AerialViewMode=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.open=!1,i.prototype.interval=0,i.prototype.thumbnailWidth=0,i.prototype.thumbnailHeight=0,i.prototype.viewbox=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.open!=null&&Object.hasOwnProperty.call(e,"open")&&t.uint32(8).bool(e.open),e.interval!=null&&Object.hasOwnProperty.call(e,"interval")&&t.uint32(16).uint32(e.interval),e.thumbnailWidth!=null&&Object.hasOwnProperty.call(e,"thumbnailWidth")&&t.uint32(24).uint32(e.thumbnailWidth),e.thumbnailHeight!=null&&Object.hasOwnProperty.call(e,"thumbnailHeight")&&t.uint32(32).uint32(e.thumbnailHeight),e.viewbox!=null&&Object.hasOwnProperty.call(e,"viewbox")&&c.CloudLark.AerialViewBox.encode(e.viewbox,t.uint32(42).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AerialViewMode;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.open=e.bool();break;case 2:d.interval=e.uint32();break;case 3:d.thumbnailWidth=e.uint32();break;case 4:d.thumbnailHeight=e.uint32();break;case 5:d.viewbox=c.CloudLark.AerialViewBox.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.open!=null&&e.hasOwnProperty("open")&&typeof e.open!="boolean")return"open: boolean expected";if(e.interval!=null&&e.hasOwnProperty("interval")&&!v.isInteger(e.interval))return"interval: integer expected";if(e.thumbnailWidth!=null&&e.hasOwnProperty("thumbnailWidth")&&!v.isInteger(e.thumbnailWidth))return"thumbnailWidth: integer expected";if(e.thumbnailHeight!=null&&e.hasOwnProperty("thumbnailHeight")&&!v.isInteger(e.thumbnailHeight))return"thumbnailHeight: integer expected";if(e.viewbox!=null&&e.hasOwnProperty("viewbox")){var t=c.CloudLark.AerialViewBox.verify(e.viewbox);if(t)return"viewbox."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.AerialViewMode)return e;var t=new c.CloudLark.AerialViewMode;if(e.open!=null&&(t.open=!!e.open),e.interval!=null&&(t.interval=e.interval>>>0),e.thumbnailWidth!=null&&(t.thumbnailWidth=e.thumbnailWidth>>>0),e.thumbnailHeight!=null&&(t.thumbnailHeight=e.thumbnailHeight>>>0),e.viewbox!=null){if(typeof e.viewbox!="object")throw TypeError(".CloudLark.AerialViewMode.viewbox: object expected");t.viewbox=c.CloudLark.AerialViewBox.fromObject(e.viewbox)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.open=!1,r.interval=0,r.thumbnailWidth=0,r.thumbnailHeight=0,r.viewbox=null),e.open!=null&&e.hasOwnProperty("open")&&(r.open=e.open),e.interval!=null&&e.hasOwnProperty("interval")&&(r.interval=e.interval),e.thumbnailWidth!=null&&e.hasOwnProperty("thumbnailWidth")&&(r.thumbnailWidth=e.thumbnailWidth),e.thumbnailHeight!=null&&e.hasOwnProperty("thumbnailHeight")&&(r.thumbnailHeight=e.thumbnailHeight),e.viewbox!=null&&e.hasOwnProperty("viewbox")&&(r.viewbox=c.CloudLark.AerialViewBox.toObject(e.viewbox,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AerialViewStatus=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.status=!1,i.prototype.currentBox=null,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.status!=null&&Object.hasOwnProperty.call(e,"status")&&t.uint32(8).bool(e.status),e.currentBox!=null&&Object.hasOwnProperty.call(e,"currentBox")&&c.CloudLark.AerialViewBox.encode(e.currentBox,t.uint32(18).fork()).ldelim(),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AerialViewStatus;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.status=e.bool();break;case 2:d.currentBox=c.CloudLark.AerialViewBox.decode(e,e.uint32());break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.status!=null&&e.hasOwnProperty("status")&&typeof e.status!="boolean")return"status: boolean expected";if(e.currentBox!=null&&e.hasOwnProperty("currentBox")){var t=c.CloudLark.AerialViewBox.verify(e.currentBox);if(t)return"currentBox."+t}return null},i.fromObject=function(e){if(e instanceof c.CloudLark.AerialViewStatus)return e;var t=new c.CloudLark.AerialViewStatus;if(e.status!=null&&(t.status=!!e.status),e.currentBox!=null){if(typeof e.currentBox!="object")throw TypeError(".CloudLark.AerialViewStatus.currentBox: object expected");t.currentBox=c.CloudLark.AerialViewBox.fromObject(e.currentBox)}return t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.status=!1,r.currentBox=null),e.status!=null&&e.hasOwnProperty("status")&&(r.status=e.status),e.currentBox!=null&&e.hasOwnProperty("currentBox")&&(r.currentBox=c.CloudLark.AerialViewBox.toObject(e.currentBox,t)),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AerialViewFullScreen=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.image="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.image!=null&&Object.hasOwnProperty.call(e,"image")&&t.uint32(10).string(e.image),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AerialViewFullScreen;e.pos<r;){var R=e.uint32();R>>>3==1?d.image=e.string():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.image!=null&&e.hasOwnProperty("image")&&!v.isString(e.image)?"image: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AerialViewFullScreen)return e;var t=new c.CloudLark.AerialViewFullScreen;return e.image!=null&&(t.image=String(e.image)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.image=""),e.image!=null&&e.hasOwnProperty("image")&&(r.image=e.image),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ApplicationControl=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.resize=null,i.prototype.restart=null,i.prototype.aerialview=null,i.prototype.aerialviewBox=null,Object.defineProperty(i.prototype,"app",{get:v.oneOfGetter(e=["resize","restart","aerialview","aerialviewBox"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.resize!=null&&Object.hasOwnProperty.call(t,"resize")&&c.CloudLark.AppResize.encode(t.resize,r.uint32(10).fork()).ldelim(),t.restart!=null&&Object.hasOwnProperty.call(t,"restart")&&r.uint32(16).bool(t.restart),t.aerialview!=null&&Object.hasOwnProperty.call(t,"aerialview")&&c.CloudLark.AerialViewMode.encode(t.aerialview,r.uint32(26).fork()).ldelim(),t.aerialviewBox!=null&&Object.hasOwnProperty.call(t,"aerialviewBox")&&c.CloudLark.AerialViewBox.encode(t.aerialviewBox,r.uint32(34).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.ApplicationControl;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.resize=c.CloudLark.AppResize.decode(t,t.uint32());break;case 2:R.restart=t.bool();break;case 3:R.aerialview=c.CloudLark.AerialViewMode.decode(t,t.uint32());break;case 4:R.aerialviewBox=c.CloudLark.AerialViewBox.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.resize!=null&&t.hasOwnProperty("resize")&&(r.app=1,d=c.CloudLark.AppResize.verify(t.resize)))return"resize."+d;if(t.restart!=null&&t.hasOwnProperty("restart")){if(r.app===1)return"app: multiple values";if(r.app=1,typeof t.restart!="boolean")return"restart: boolean expected"}if(t.aerialview!=null&&t.hasOwnProperty("aerialview")){if(r.app===1)return"app: multiple values";if(r.app=1,d=c.CloudLark.AerialViewMode.verify(t.aerialview))return"aerialview."+d}if(t.aerialviewBox!=null&&t.hasOwnProperty("aerialviewBox")){if(r.app===1)return"app: multiple values";var d;if(r.app=1,d=c.CloudLark.AerialViewBox.verify(t.aerialviewBox))return"aerialviewBox."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.ApplicationControl)return t;var r=new c.CloudLark.ApplicationControl;if(t.resize!=null){if(typeof t.resize!="object")throw TypeError(".CloudLark.ApplicationControl.resize: object expected");r.resize=c.CloudLark.AppResize.fromObject(t.resize)}if(t.restart!=null&&(r.restart=!!t.restart),t.aerialview!=null){if(typeof t.aerialview!="object")throw TypeError(".CloudLark.ApplicationControl.aerialview: object expected");r.aerialview=c.CloudLark.AerialViewMode.fromObject(t.aerialview)}if(t.aerialviewBox!=null){if(typeof t.aerialviewBox!="object")throw TypeError(".CloudLark.ApplicationControl.aerialviewBox: object expected");r.aerialviewBox=c.CloudLark.AerialViewBox.fromObject(t.aerialviewBox)}return r},i.toObject=function(t,r){r||(r={});var d={};return t.resize!=null&&t.hasOwnProperty("resize")&&(d.resize=c.CloudLark.AppResize.toObject(t.resize,r),r.oneofs&&(d.app="resize")),t.restart!=null&&t.hasOwnProperty("restart")&&(d.restart=t.restart,r.oneofs&&(d.app="restart")),t.aerialview!=null&&t.hasOwnProperty("aerialview")&&(d.aerialview=c.CloudLark.AerialViewMode.toObject(t.aerialview,r),r.oneofs&&(d.app="aerialview")),t.aerialviewBox!=null&&t.hasOwnProperty("aerialviewBox")&&(d.aerialviewBox=c.CloudLark.AerialViewBox.toObject(t.aerialviewBox,r),r.oneofs&&(d.app="aerialviewBox")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ApplicationControlResult=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.aerialviewStatus=null,i.prototype.aerialviewScreen=null,Object.defineProperty(i.prototype,"app",{get:v.oneOfGetter(e=["aerialviewStatus","aerialviewScreen"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.aerialviewStatus!=null&&Object.hasOwnProperty.call(t,"aerialviewStatus")&&c.CloudLark.AerialViewStatus.encode(t.aerialviewStatus,r.uint32(10).fork()).ldelim(),t.aerialviewScreen!=null&&Object.hasOwnProperty.call(t,"aerialviewScreen")&&c.CloudLark.AerialViewFullScreen.encode(t.aerialviewScreen,r.uint32(18).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.ApplicationControlResult;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.aerialviewStatus=c.CloudLark.AerialViewStatus.decode(t,t.uint32());break;case 2:R.aerialviewScreen=c.CloudLark.AerialViewFullScreen.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.aerialviewStatus!=null&&t.hasOwnProperty("aerialviewStatus")&&(r.app=1,d=c.CloudLark.AerialViewStatus.verify(t.aerialviewStatus)))return"aerialviewStatus."+d;if(t.aerialviewScreen!=null&&t.hasOwnProperty("aerialviewScreen")){if(r.app===1)return"app: multiple values";var d;if(r.app=1,d=c.CloudLark.AerialViewFullScreen.verify(t.aerialviewScreen))return"aerialviewScreen."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.ApplicationControlResult)return t;var r=new c.CloudLark.ApplicationControlResult;if(t.aerialviewStatus!=null){if(typeof t.aerialviewStatus!="object")throw TypeError(".CloudLark.ApplicationControlResult.aerialviewStatus: object expected");r.aerialviewStatus=c.CloudLark.AerialViewStatus.fromObject(t.aerialviewStatus)}if(t.aerialviewScreen!=null){if(typeof t.aerialviewScreen!="object")throw TypeError(".CloudLark.ApplicationControlResult.aerialviewScreen: object expected");r.aerialviewScreen=c.CloudLark.AerialViewFullScreen.fromObject(t.aerialviewScreen)}return r},i.toObject=function(t,r){r||(r={});var d={};return t.aerialviewStatus!=null&&t.hasOwnProperty("aerialviewStatus")&&(d.aerialviewStatus=c.CloudLark.AerialViewStatus.toObject(t.aerialviewStatus,r),r.oneofs&&(d.app="aerialviewStatus")),t.aerialviewScreen!=null&&t.hasOwnProperty("aerialviewScreen")&&(d.aerialviewScreen=c.CloudLark.AerialViewFullScreen.toObject(t.aerialviewScreen,r),r.oneofs&&(d.app="aerialviewScreen")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.StreamVideoFrame=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.codec=0,i.prototype.width=0,i.prototype.height=0,i.prototype.isKeyFrame=!1,i.prototype.frameId=0,i.prototype.packetCounter=0,i.prototype.packetTotalSize=0,i.prototype.packetIndex=0,i.prototype.packetSize=0,i.prototype.data=v.newBuffer([]),i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.codec!=null&&Object.hasOwnProperty.call(e,"codec")&&t.uint32(8).int32(e.codec),e.width!=null&&Object.hasOwnProperty.call(e,"width")&&t.uint32(16).uint32(e.width),e.height!=null&&Object.hasOwnProperty.call(e,"height")&&t.uint32(24).uint32(e.height),e.isKeyFrame!=null&&Object.hasOwnProperty.call(e,"isKeyFrame")&&t.uint32(32).bool(e.isKeyFrame),e.frameId!=null&&Object.hasOwnProperty.call(e,"frameId")&&t.uint32(40).uint32(e.frameId),e.packetCounter!=null&&Object.hasOwnProperty.call(e,"packetCounter")&&t.uint32(48).uint32(e.packetCounter),e.packetTotalSize!=null&&Object.hasOwnProperty.call(e,"packetTotalSize")&&t.uint32(56).uint32(e.packetTotalSize),e.packetIndex!=null&&Object.hasOwnProperty.call(e,"packetIndex")&&t.uint32(64).uint32(e.packetIndex),e.packetSize!=null&&Object.hasOwnProperty.call(e,"packetSize")&&t.uint32(72).uint32(e.packetSize),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&t.uint32(82).bytes(e.data),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.StreamVideoFrame;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.codec=e.int32();break;case 2:d.width=e.uint32();break;case 3:d.height=e.uint32();break;case 4:d.isKeyFrame=e.bool();break;case 5:d.frameId=e.uint32();break;case 6:d.packetCounter=e.uint32();break;case 7:d.packetTotalSize=e.uint32();break;case 8:d.packetIndex=e.uint32();break;case 9:d.packetSize=e.uint32();break;case 10:d.data=e.bytes();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){if(typeof e!="object"||e===null)return"object expected";if(e.codec!=null&&e.hasOwnProperty("codec"))switch(e.codec){default:return"codec: enum value expected";case 0:case 1:case 2:}return e.width!=null&&e.hasOwnProperty("width")&&!v.isInteger(e.width)?"width: integer expected":e.height!=null&&e.hasOwnProperty("height")&&!v.isInteger(e.height)?"height: integer expected":e.isKeyFrame!=null&&e.hasOwnProperty("isKeyFrame")&&typeof e.isKeyFrame!="boolean"?"isKeyFrame: boolean expected":e.frameId!=null&&e.hasOwnProperty("frameId")&&!v.isInteger(e.frameId)?"frameId: integer expected":e.packetCounter!=null&&e.hasOwnProperty("packetCounter")&&!v.isInteger(e.packetCounter)?"packetCounter: integer expected":e.packetTotalSize!=null&&e.hasOwnProperty("packetTotalSize")&&!v.isInteger(e.packetTotalSize)?"packetTotalSize: integer expected":e.packetIndex!=null&&e.hasOwnProperty("packetIndex")&&!v.isInteger(e.packetIndex)?"packetIndex: integer expected":e.packetSize!=null&&e.hasOwnProperty("packetSize")&&!v.isInteger(e.packetSize)?"packetSize: integer expected":e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||v.isString(e.data))?"data: buffer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.StreamVideoFrame)return e;var t=new c.CloudLark.StreamVideoFrame;switch(e.codec){case"HEVC":case 0:t.codec=0;break;case"AV1":case 1:t.codec=1;break;case"H264":case 2:t.codec=2}return e.width!=null&&(t.width=e.width>>>0),e.height!=null&&(t.height=e.height>>>0),e.isKeyFrame!=null&&(t.isKeyFrame=!!e.isKeyFrame),e.frameId!=null&&(t.frameId=e.frameId>>>0),e.packetCounter!=null&&(t.packetCounter=e.packetCounter>>>0),e.packetTotalSize!=null&&(t.packetTotalSize=e.packetTotalSize>>>0),e.packetIndex!=null&&(t.packetIndex=e.packetIndex>>>0),e.packetSize!=null&&(t.packetSize=e.packetSize>>>0),e.data!=null&&(typeof e.data=="string"?v.base64.decode(e.data,t.data=v.newBuffer(v.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.codec=t.enums===String?"HEVC":0,r.width=0,r.height=0,r.isKeyFrame=!1,r.frameId=0,r.packetCounter=0,r.packetTotalSize=0,r.packetIndex=0,r.packetSize=0,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=v.newBuffer(r.data)))),e.codec!=null&&e.hasOwnProperty("codec")&&(r.codec=t.enums===String?c.CloudLark.StreamVideoFrame.Codec[e.codec]:e.codec),e.width!=null&&e.hasOwnProperty("width")&&(r.width=e.width),e.height!=null&&e.hasOwnProperty("height")&&(r.height=e.height),e.isKeyFrame!=null&&e.hasOwnProperty("isKeyFrame")&&(r.isKeyFrame=e.isKeyFrame),e.frameId!=null&&e.hasOwnProperty("frameId")&&(r.frameId=e.frameId),e.packetCounter!=null&&e.hasOwnProperty("packetCounter")&&(r.packetCounter=e.packetCounter),e.packetTotalSize!=null&&e.hasOwnProperty("packetTotalSize")&&(r.packetTotalSize=e.packetTotalSize),e.packetIndex!=null&&e.hasOwnProperty("packetIndex")&&(r.packetIndex=e.packetIndex),e.packetSize!=null&&e.hasOwnProperty("packetSize")&&(r.packetSize=e.packetSize),e.data!=null&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?v.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i.Codec=function(){var e={},t=Object.create(e);return t[e[0]="HEVC"]=0,t[e[1]="AV1"]=1,t[e[2]="H264"]=2,t}(),i}(),b.BigDataPacket=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.sessionId=0,i.prototype.packetId=0,i.prototype.packetCount=0,i.prototype.totalSize=0,i.prototype.packetSize=0,i.prototype.isLast=!1,i.prototype.data=v.newBuffer([]),i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.sessionId!=null&&Object.hasOwnProperty.call(e,"sessionId")&&t.uint32(8).uint32(e.sessionId),e.packetId!=null&&Object.hasOwnProperty.call(e,"packetId")&&t.uint32(16).uint32(e.packetId),e.packetCount!=null&&Object.hasOwnProperty.call(e,"packetCount")&&t.uint32(24).uint32(e.packetCount),e.totalSize!=null&&Object.hasOwnProperty.call(e,"totalSize")&&t.uint32(32).uint32(e.totalSize),e.packetSize!=null&&Object.hasOwnProperty.call(e,"packetSize")&&t.uint32(40).uint32(e.packetSize),e.isLast!=null&&Object.hasOwnProperty.call(e,"isLast")&&t.uint32(48).bool(e.isLast),e.data!=null&&Object.hasOwnProperty.call(e,"data")&&t.uint32(58).bytes(e.data),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.BigDataPacket;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.sessionId=e.uint32();break;case 2:d.packetId=e.uint32();break;case 3:d.packetCount=e.uint32();break;case 4:d.totalSize=e.uint32();break;case 5:d.packetSize=e.uint32();break;case 6:d.isLast=e.bool();break;case 7:d.data=e.bytes();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.sessionId!=null&&e.hasOwnProperty("sessionId")&&!v.isInteger(e.sessionId)?"sessionId: integer expected":e.packetId!=null&&e.hasOwnProperty("packetId")&&!v.isInteger(e.packetId)?"packetId: integer expected":e.packetCount!=null&&e.hasOwnProperty("packetCount")&&!v.isInteger(e.packetCount)?"packetCount: integer expected":e.totalSize!=null&&e.hasOwnProperty("totalSize")&&!v.isInteger(e.totalSize)?"totalSize: integer expected":e.packetSize!=null&&e.hasOwnProperty("packetSize")&&!v.isInteger(e.packetSize)?"packetSize: integer expected":e.isLast!=null&&e.hasOwnProperty("isLast")&&typeof e.isLast!="boolean"?"isLast: boolean expected":e.data!=null&&e.hasOwnProperty("data")&&!(e.data&&typeof e.data.length=="number"||v.isString(e.data))?"data: buffer expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.BigDataPacket)return e;var t=new c.CloudLark.BigDataPacket;return e.sessionId!=null&&(t.sessionId=e.sessionId>>>0),e.packetId!=null&&(t.packetId=e.packetId>>>0),e.packetCount!=null&&(t.packetCount=e.packetCount>>>0),e.totalSize!=null&&(t.totalSize=e.totalSize>>>0),e.packetSize!=null&&(t.packetSize=e.packetSize>>>0),e.isLast!=null&&(t.isLast=!!e.isLast),e.data!=null&&(typeof e.data=="string"?v.base64.decode(e.data,t.data=v.newBuffer(v.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.sessionId=0,r.packetId=0,r.packetCount=0,r.totalSize=0,r.packetSize=0,r.isLast=!1,t.bytes===String?r.data="":(r.data=[],t.bytes!==Array&&(r.data=v.newBuffer(r.data)))),e.sessionId!=null&&e.hasOwnProperty("sessionId")&&(r.sessionId=e.sessionId),e.packetId!=null&&e.hasOwnProperty("packetId")&&(r.packetId=e.packetId),e.packetCount!=null&&e.hasOwnProperty("packetCount")&&(r.packetCount=e.packetCount),e.totalSize!=null&&e.hasOwnProperty("totalSize")&&(r.totalSize=e.totalSize),e.packetSize!=null&&e.hasOwnProperty("packetSize")&&(r.packetSize=e.packetSize),e.isLast!=null&&e.hasOwnProperty("isLast")&&(r.isLast=e.isLast),e.data!=null&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?v.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.TooltipInfo=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.text="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.text!=null&&Object.hasOwnProperty.call(e,"text")&&t.uint32(10).string(e.text),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.TooltipInfo;e.pos<r;){var R=e.uint32();R>>>3==1?d.text=e.string():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.text!=null&&e.hasOwnProperty("text")&&!v.isString(e.text)?"text: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.TooltipInfo)return e;var t=new c.CloudLark.TooltipInfo;return e.text!=null&&(t.text=String(e.text)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.text=""),e.text!=null&&e.hasOwnProperty("text")&&(r.text=e.text),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.ClientInput=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.mouseMove=null,i.prototype.mouseDown=null,i.prototype.mouseUp=null,i.prototype.mouseWheel=null,i.prototype.keyDown=null,i.prototype.keyUp=null,i.prototype.clientEnter=null,i.prototype.clientLeave=null,i.prototype.dispatchController=null,i.prototype.requesController=null,i.prototype.textInput=null,i.prototype.gamepadInputJoystickStates=null,i.prototype.gamepadInputButtonDown=null,i.prototype.gamepadInputButtonUp=null,i.prototype.gamepadInputTriger=null,i.prototype.clientDcMsg=null,i.prototype.touchMove=null,i.prototype.touchDown=null,i.prototype.touchUp=null,i.prototype.aiVoicestreamStart=null,i.prototype.aiVoicestreamSlice=null,i.prototype.aiVoicestreamStop=null,i.prototype.aiVoicestreamReset=null,i.prototype.aiVoiceText=null,i.prototype.rtmpStart=null,i.prototype.rtmpStop=null,i.prototype.videoConfigure=null,i.prototype.clientStatics=null,i.prototype.showDebuglayout=null,i.prototype.appControl=null,i.prototype.bigDataPacket=null,Object.defineProperty(i.prototype,"input",{get:v.oneOfGetter(e=["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","videoConfigure","clientStatics","showDebuglayout","appControl","bigDataPacket"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.mouseMove!=null&&Object.hasOwnProperty.call(t,"mouseMove")&&c.CloudLark.MouseMove.encode(t.mouseMove,r.uint32(10).fork()).ldelim(),t.mouseDown!=null&&Object.hasOwnProperty.call(t,"mouseDown")&&c.CloudLark.MouseDown.encode(t.mouseDown,r.uint32(18).fork()).ldelim(),t.mouseUp!=null&&Object.hasOwnProperty.call(t,"mouseUp")&&c.CloudLark.MouseUp.encode(t.mouseUp,r.uint32(26).fork()).ldelim(),t.mouseWheel!=null&&Object.hasOwnProperty.call(t,"mouseWheel")&&c.CloudLark.MouseWheel.encode(t.mouseWheel,r.uint32(34).fork()).ldelim(),t.keyDown!=null&&Object.hasOwnProperty.call(t,"keyDown")&&c.CloudLark.KeyDown.encode(t.keyDown,r.uint32(42).fork()).ldelim(),t.keyUp!=null&&Object.hasOwnProperty.call(t,"keyUp")&&c.CloudLark.KeyUp.encode(t.keyUp,r.uint32(50).fork()).ldelim(),t.clientEnter!=null&&Object.hasOwnProperty.call(t,"clientEnter")&&c.CloudLark.ClientEnter.encode(t.clientEnter,r.uint32(58).fork()).ldelim(),t.clientLeave!=null&&Object.hasOwnProperty.call(t,"clientLeave")&&c.CloudLark.ClientLeave.encode(t.clientLeave,r.uint32(66).fork()).ldelim(),t.dispatchController!=null&&Object.hasOwnProperty.call(t,"dispatchController")&&c.CloudLark.DispatchController.encode(t.dispatchController,r.uint32(74).fork()).ldelim(),t.requesController!=null&&Object.hasOwnProperty.call(t,"requesController")&&c.CloudLark.RequestController.encode(t.requesController,r.uint32(82).fork()).ldelim(),t.textInput!=null&&Object.hasOwnProperty.call(t,"textInput")&&c.CloudLark.TextInput.encode(t.textInput,r.uint32(90).fork()).ldelim(),t.gamepadInputJoystickStates!=null&&Object.hasOwnProperty.call(t,"gamepadInputJoystickStates")&&c.CloudLark.GamepadInputJoyStickStates.encode(t.gamepadInputJoystickStates,r.uint32(98).fork()).ldelim(),t.gamepadInputButtonDown!=null&&Object.hasOwnProperty.call(t,"gamepadInputButtonDown")&&c.CloudLark.GamepadInputButtonDown.encode(t.gamepadInputButtonDown,r.uint32(106).fork()).ldelim(),t.gamepadInputButtonUp!=null&&Object.hasOwnProperty.call(t,"gamepadInputButtonUp")&&c.CloudLark.GamepadInputButtonUp.encode(t.gamepadInputButtonUp,r.uint32(114).fork()).ldelim(),t.gamepadInputTriger!=null&&Object.hasOwnProperty.call(t,"gamepadInputTriger")&&c.CloudLark.GamepadInputTriger.encode(t.gamepadInputTriger,r.uint32(122).fork()).ldelim(),t.clientDcMsg!=null&&Object.hasOwnProperty.call(t,"clientDcMsg")&&c.CloudLark.AppDataChannelMessage.encode(t.clientDcMsg,r.uint32(130).fork()).ldelim(),t.touchMove!=null&&Object.hasOwnProperty.call(t,"touchMove")&&c.CloudLark.TouchMove.encode(t.touchMove,r.uint32(138).fork()).ldelim(),t.touchDown!=null&&Object.hasOwnProperty.call(t,"touchDown")&&c.CloudLark.TouchDown.encode(t.touchDown,r.uint32(146).fork()).ldelim(),t.touchUp!=null&&Object.hasOwnProperty.call(t,"touchUp")&&c.CloudLark.TouchUp.encode(t.touchUp,r.uint32(154).fork()).ldelim(),t.aiVoicestreamStart!=null&&Object.hasOwnProperty.call(t,"aiVoicestreamStart")&&c.CloudLark.AiVoiceStreamStart.encode(t.aiVoicestreamStart,r.uint32(162).fork()).ldelim(),t.aiVoicestreamSlice!=null&&Object.hasOwnProperty.call(t,"aiVoicestreamSlice")&&c.CloudLark.AiVoiceStreamSlice.encode(t.aiVoicestreamSlice,r.uint32(170).fork()).ldelim(),t.aiVoicestreamStop!=null&&Object.hasOwnProperty.call(t,"aiVoicestreamStop")&&c.CloudLark.AiVoiceStreamStop.encode(t.aiVoicestreamStop,r.uint32(178).fork()).ldelim(),t.aiVoicestreamReset!=null&&Object.hasOwnProperty.call(t,"aiVoicestreamReset")&&c.CloudLark.AiVoiceStreamReset.encode(t.aiVoicestreamReset,r.uint32(186).fork()).ldelim(),t.aiVoiceText!=null&&Object.hasOwnProperty.call(t,"aiVoiceText")&&c.CloudLark.AiVoiceText.encode(t.aiVoiceText,r.uint32(194).fork()).ldelim(),t.rtmpStart!=null&&Object.hasOwnProperty.call(t,"rtmpStart")&&c.CloudLark.Rtmp_Start.encode(t.rtmpStart,r.uint32(202).fork()).ldelim(),t.rtmpStop!=null&&Object.hasOwnProperty.call(t,"rtmpStop")&&c.CloudLark.Rtmp_Stop.encode(t.rtmpStop,r.uint32(210).fork()).ldelim(),t.videoConfigure!=null&&Object.hasOwnProperty.call(t,"videoConfigure")&&c.CloudLark.VideoReconfigure.encode(t.videoConfigure,r.uint32(218).fork()).ldelim(),t.clientStatics!=null&&Object.hasOwnProperty.call(t,"clientStatics")&&c.CloudLark.ClientStatics.encode(t.clientStatics,r.uint32(226).fork()).ldelim(),t.showDebuglayout!=null&&Object.hasOwnProperty.call(t,"showDebuglayout")&&c.CloudLark.ShowDebugLayout.encode(t.showDebuglayout,r.uint32(234).fork()).ldelim(),t.appControl!=null&&Object.hasOwnProperty.call(t,"appControl")&&c.CloudLark.ApplicationControl.encode(t.appControl,r.uint32(242).fork()).ldelim(),t.bigDataPacket!=null&&Object.hasOwnProperty.call(t,"bigDataPacket")&&c.CloudLark.BigDataPacket.encode(t.bigDataPacket,r.uint32(250).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.ClientInput;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.mouseMove=c.CloudLark.MouseMove.decode(t,t.uint32());break;case 2:R.mouseDown=c.CloudLark.MouseDown.decode(t,t.uint32());break;case 3:R.mouseUp=c.CloudLark.MouseUp.decode(t,t.uint32());break;case 4:R.mouseWheel=c.CloudLark.MouseWheel.decode(t,t.uint32());break;case 5:R.keyDown=c.CloudLark.KeyDown.decode(t,t.uint32());break;case 6:R.keyUp=c.CloudLark.KeyUp.decode(t,t.uint32());break;case 7:R.clientEnter=c.CloudLark.ClientEnter.decode(t,t.uint32());break;case 8:R.clientLeave=c.CloudLark.ClientLeave.decode(t,t.uint32());break;case 9:R.dispatchController=c.CloudLark.DispatchController.decode(t,t.uint32());break;case 10:R.requesController=c.CloudLark.RequestController.decode(t,t.uint32());break;case 11:R.textInput=c.CloudLark.TextInput.decode(t,t.uint32());break;case 12:R.gamepadInputJoystickStates=c.CloudLark.GamepadInputJoyStickStates.decode(t,t.uint32());break;case 13:R.gamepadInputButtonDown=c.CloudLark.GamepadInputButtonDown.decode(t,t.uint32());break;case 14:R.gamepadInputButtonUp=c.CloudLark.GamepadInputButtonUp.decode(t,t.uint32());break;case 15:R.gamepadInputTriger=c.CloudLark.GamepadInputTriger.decode(t,t.uint32());break;case 16:R.clientDcMsg=c.CloudLark.AppDataChannelMessage.decode(t,t.uint32());break;case 17:R.touchMove=c.CloudLark.TouchMove.decode(t,t.uint32());break;case 18:R.touchDown=c.CloudLark.TouchDown.decode(t,t.uint32());break;case 19:R.touchUp=c.CloudLark.TouchUp.decode(t,t.uint32());break;case 20:R.aiVoicestreamStart=c.CloudLark.AiVoiceStreamStart.decode(t,t.uint32());break;case 21:R.aiVoicestreamSlice=c.CloudLark.AiVoiceStreamSlice.decode(t,t.uint32());break;case 22:R.aiVoicestreamStop=c.CloudLark.AiVoiceStreamStop.decode(t,t.uint32());break;case 23:R.aiVoicestreamReset=c.CloudLark.AiVoiceStreamReset.decode(t,t.uint32());break;case 24:R.aiVoiceText=c.CloudLark.AiVoiceText.decode(t,t.uint32());break;case 25:R.rtmpStart=c.CloudLark.Rtmp_Start.decode(t,t.uint32());break;case 26:R.rtmpStop=c.CloudLark.Rtmp_Stop.decode(t,t.uint32());break;case 27:R.videoConfigure=c.CloudLark.VideoReconfigure.decode(t,t.uint32());break;case 28:R.clientStatics=c.CloudLark.ClientStatics.decode(t,t.uint32());break;case 29:R.showDebuglayout=c.CloudLark.ShowDebugLayout.decode(t,t.uint32());break;case 30:R.appControl=c.CloudLark.ApplicationControl.decode(t,t.uint32());break;case 31:R.bigDataPacket=c.CloudLark.BigDataPacket.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.mouseMove!=null&&t.hasOwnProperty("mouseMove")&&(r.input=1,d=c.CloudLark.MouseMove.verify(t.mouseMove)))return"mouseMove."+d;if(t.mouseDown!=null&&t.hasOwnProperty("mouseDown")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.MouseDown.verify(t.mouseDown))return"mouseDown."+d}if(t.mouseUp!=null&&t.hasOwnProperty("mouseUp")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.MouseUp.verify(t.mouseUp))return"mouseUp."+d}if(t.mouseWheel!=null&&t.hasOwnProperty("mouseWheel")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.MouseWheel.verify(t.mouseWheel))return"mouseWheel."+d}if(t.keyDown!=null&&t.hasOwnProperty("keyDown")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.KeyDown.verify(t.keyDown))return"keyDown."+d}if(t.keyUp!=null&&t.hasOwnProperty("keyUp")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.KeyUp.verify(t.keyUp))return"keyUp."+d}if(t.clientEnter!=null&&t.hasOwnProperty("clientEnter")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.ClientEnter.verify(t.clientEnter))return"clientEnter."+d}if(t.clientLeave!=null&&t.hasOwnProperty("clientLeave")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.ClientLeave.verify(t.clientLeave))return"clientLeave."+d}if(t.dispatchController!=null&&t.hasOwnProperty("dispatchController")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.DispatchController.verify(t.dispatchController))return"dispatchController."+d}if(t.requesController!=null&&t.hasOwnProperty("requesController")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.RequestController.verify(t.requesController))return"requesController."+d}if(t.textInput!=null&&t.hasOwnProperty("textInput")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.TextInput.verify(t.textInput))return"textInput."+d}if(t.gamepadInputJoystickStates!=null&&t.hasOwnProperty("gamepadInputJoystickStates")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.GamepadInputJoyStickStates.verify(t.gamepadInputJoystickStates))return"gamepadInputJoystickStates."+d}if(t.gamepadInputButtonDown!=null&&t.hasOwnProperty("gamepadInputButtonDown")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.GamepadInputButtonDown.verify(t.gamepadInputButtonDown))return"gamepadInputButtonDown."+d}if(t.gamepadInputButtonUp!=null&&t.hasOwnProperty("gamepadInputButtonUp")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.GamepadInputButtonUp.verify(t.gamepadInputButtonUp))return"gamepadInputButtonUp."+d}if(t.gamepadInputTriger!=null&&t.hasOwnProperty("gamepadInputTriger")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.GamepadInputTriger.verify(t.gamepadInputTriger))return"gamepadInputTriger."+d}if(t.clientDcMsg!=null&&t.hasOwnProperty("clientDcMsg")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AppDataChannelMessage.verify(t.clientDcMsg))return"clientDcMsg."+d}if(t.touchMove!=null&&t.hasOwnProperty("touchMove")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.TouchMove.verify(t.touchMove))return"touchMove."+d}if(t.touchDown!=null&&t.hasOwnProperty("touchDown")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.TouchDown.verify(t.touchDown))return"touchDown."+d}if(t.touchUp!=null&&t.hasOwnProperty("touchUp")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.TouchUp.verify(t.touchUp))return"touchUp."+d}if(t.aiVoicestreamStart!=null&&t.hasOwnProperty("aiVoicestreamStart")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AiVoiceStreamStart.verify(t.aiVoicestreamStart))return"aiVoicestreamStart."+d}if(t.aiVoicestreamSlice!=null&&t.hasOwnProperty("aiVoicestreamSlice")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AiVoiceStreamSlice.verify(t.aiVoicestreamSlice))return"aiVoicestreamSlice."+d}if(t.aiVoicestreamStop!=null&&t.hasOwnProperty("aiVoicestreamStop")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AiVoiceStreamStop.verify(t.aiVoicestreamStop))return"aiVoicestreamStop."+d}if(t.aiVoicestreamReset!=null&&t.hasOwnProperty("aiVoicestreamReset")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AiVoiceStreamReset.verify(t.aiVoicestreamReset))return"aiVoicestreamReset."+d}if(t.aiVoiceText!=null&&t.hasOwnProperty("aiVoiceText")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.AiVoiceText.verify(t.aiVoiceText))return"aiVoiceText."+d}if(t.rtmpStart!=null&&t.hasOwnProperty("rtmpStart")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.Rtmp_Start.verify(t.rtmpStart))return"rtmpStart."+d}if(t.rtmpStop!=null&&t.hasOwnProperty("rtmpStop")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.Rtmp_Stop.verify(t.rtmpStop))return"rtmpStop."+d}if(t.videoConfigure!=null&&t.hasOwnProperty("videoConfigure")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.VideoReconfigure.verify(t.videoConfigure))return"videoConfigure."+d}if(t.clientStatics!=null&&t.hasOwnProperty("clientStatics")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.ClientStatics.verify(t.clientStatics))return"clientStatics."+d}if(t.showDebuglayout!=null&&t.hasOwnProperty("showDebuglayout")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.ShowDebugLayout.verify(t.showDebuglayout))return"showDebuglayout."+d}if(t.appControl!=null&&t.hasOwnProperty("appControl")){if(r.input===1)return"input: multiple values";if(r.input=1,d=c.CloudLark.ApplicationControl.verify(t.appControl))return"appControl."+d}if(t.bigDataPacket!=null&&t.hasOwnProperty("bigDataPacket")){if(r.input===1)return"input: multiple values";var d;if(r.input=1,d=c.CloudLark.BigDataPacket.verify(t.bigDataPacket))return"bigDataPacket."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.ClientInput)return t;var r=new c.CloudLark.ClientInput;if(t.mouseMove!=null){if(typeof t.mouseMove!="object")throw TypeError(".CloudLark.ClientInput.mouseMove: object expected");r.mouseMove=c.CloudLark.MouseMove.fromObject(t.mouseMove)}if(t.mouseDown!=null){if(typeof t.mouseDown!="object")throw TypeError(".CloudLark.ClientInput.mouseDown: object expected");r.mouseDown=c.CloudLark.MouseDown.fromObject(t.mouseDown)}if(t.mouseUp!=null){if(typeof t.mouseUp!="object")throw TypeError(".CloudLark.ClientInput.mouseUp: object expected");r.mouseUp=c.CloudLark.MouseUp.fromObject(t.mouseUp)}if(t.mouseWheel!=null){if(typeof t.mouseWheel!="object")throw TypeError(".CloudLark.ClientInput.mouseWheel: object expected");r.mouseWheel=c.CloudLark.MouseWheel.fromObject(t.mouseWheel)}if(t.keyDown!=null){if(typeof t.keyDown!="object")throw TypeError(".CloudLark.ClientInput.keyDown: object expected");r.keyDown=c.CloudLark.KeyDown.fromObject(t.keyDown)}if(t.keyUp!=null){if(typeof t.keyUp!="object")throw TypeError(".CloudLark.ClientInput.keyUp: object expected");r.keyUp=c.CloudLark.KeyUp.fromObject(t.keyUp)}if(t.clientEnter!=null){if(typeof t.clientEnter!="object")throw TypeError(".CloudLark.ClientInput.clientEnter: object expected");r.clientEnter=c.CloudLark.ClientEnter.fromObject(t.clientEnter)}if(t.clientLeave!=null){if(typeof t.clientLeave!="object")throw TypeError(".CloudLark.ClientInput.clientLeave: object expected");r.clientLeave=c.CloudLark.ClientLeave.fromObject(t.clientLeave)}if(t.dispatchController!=null){if(typeof t.dispatchController!="object")throw TypeError(".CloudLark.ClientInput.dispatchController: object expected");r.dispatchController=c.CloudLark.DispatchController.fromObject(t.dispatchController)}if(t.requesController!=null){if(typeof t.requesController!="object")throw TypeError(".CloudLark.ClientInput.requesController: object expected");r.requesController=c.CloudLark.RequestController.fromObject(t.requesController)}if(t.textInput!=null){if(typeof t.textInput!="object")throw TypeError(".CloudLark.ClientInput.textInput: object expected");r.textInput=c.CloudLark.TextInput.fromObject(t.textInput)}if(t.gamepadInputJoystickStates!=null){if(typeof t.gamepadInputJoystickStates!="object")throw TypeError(".CloudLark.ClientInput.gamepadInputJoystickStates: object expected");r.gamepadInputJoystickStates=c.CloudLark.GamepadInputJoyStickStates.fromObject(t.gamepadInputJoystickStates)}if(t.gamepadInputButtonDown!=null){if(typeof t.gamepadInputButtonDown!="object")throw TypeError(".CloudLark.ClientInput.gamepadInputButtonDown: object expected");r.gamepadInputButtonDown=c.CloudLark.GamepadInputButtonDown.fromObject(t.gamepadInputButtonDown)}if(t.gamepadInputButtonUp!=null){if(typeof t.gamepadInputButtonUp!="object")throw TypeError(".CloudLark.ClientInput.gamepadInputButtonUp: object expected");r.gamepadInputButtonUp=c.CloudLark.GamepadInputButtonUp.fromObject(t.gamepadInputButtonUp)}if(t.gamepadInputTriger!=null){if(typeof t.gamepadInputTriger!="object")throw TypeError(".CloudLark.ClientInput.gamepadInputTriger: object expected");r.gamepadInputTriger=c.CloudLark.GamepadInputTriger.fromObject(t.gamepadInputTriger)}if(t.clientDcMsg!=null){if(typeof t.clientDcMsg!="object")throw TypeError(".CloudLark.ClientInput.clientDcMsg: object expected");r.clientDcMsg=c.CloudLark.AppDataChannelMessage.fromObject(t.clientDcMsg)}if(t.touchMove!=null){if(typeof t.touchMove!="object")throw TypeError(".CloudLark.ClientInput.touchMove: object expected");r.touchMove=c.CloudLark.TouchMove.fromObject(t.touchMove)}if(t.touchDown!=null){if(typeof t.touchDown!="object")throw TypeError(".CloudLark.ClientInput.touchDown: object expected");r.touchDown=c.CloudLark.TouchDown.fromObject(t.touchDown)}if(t.touchUp!=null){if(typeof t.touchUp!="object")throw TypeError(".CloudLark.ClientInput.touchUp: object expected");r.touchUp=c.CloudLark.TouchUp.fromObject(t.touchUp)}if(t.aiVoicestreamStart!=null){if(typeof t.aiVoicestreamStart!="object")throw TypeError(".CloudLark.ClientInput.aiVoicestreamStart: object expected");r.aiVoicestreamStart=c.CloudLark.AiVoiceStreamStart.fromObject(t.aiVoicestreamStart)}if(t.aiVoicestreamSlice!=null){if(typeof t.aiVoicestreamSlice!="object")throw TypeError(".CloudLark.ClientInput.aiVoicestreamSlice: object expected");r.aiVoicestreamSlice=c.CloudLark.AiVoiceStreamSlice.fromObject(t.aiVoicestreamSlice)}if(t.aiVoicestreamStop!=null){if(typeof t.aiVoicestreamStop!="object")throw TypeError(".CloudLark.ClientInput.aiVoicestreamStop: object expected");r.aiVoicestreamStop=c.CloudLark.AiVoiceStreamStop.fromObject(t.aiVoicestreamStop)}if(t.aiVoicestreamReset!=null){if(typeof t.aiVoicestreamReset!="object")throw TypeError(".CloudLark.ClientInput.aiVoicestreamReset: object expected");r.aiVoicestreamReset=c.CloudLark.AiVoiceStreamReset.fromObject(t.aiVoicestreamReset)}if(t.aiVoiceText!=null){if(typeof t.aiVoiceText!="object")throw TypeError(".CloudLark.ClientInput.aiVoiceText: object expected");r.aiVoiceText=c.CloudLark.AiVoiceText.fromObject(t.aiVoiceText)}if(t.rtmpStart!=null){if(typeof t.rtmpStart!="object")throw TypeError(".CloudLark.ClientInput.rtmpStart: object expected");r.rtmpStart=c.CloudLark.Rtmp_Start.fromObject(t.rtmpStart)}if(t.rtmpStop!=null){if(typeof t.rtmpStop!="object")throw TypeError(".CloudLark.ClientInput.rtmpStop: object expected");r.rtmpStop=c.CloudLark.Rtmp_Stop.fromObject(t.rtmpStop)}if(t.videoConfigure!=null){if(typeof t.videoConfigure!="object")throw TypeError(".CloudLark.ClientInput.videoConfigure: object expected");r.videoConfigure=c.CloudLark.VideoReconfigure.fromObject(t.videoConfigure)}if(t.clientStatics!=null){if(typeof t.clientStatics!="object")throw TypeError(".CloudLark.ClientInput.clientStatics: object expected");r.clientStatics=c.CloudLark.ClientStatics.fromObject(t.clientStatics)}if(t.showDebuglayout!=null){if(typeof t.showDebuglayout!="object")throw TypeError(".CloudLark.ClientInput.showDebuglayout: object expected");r.showDebuglayout=c.CloudLark.ShowDebugLayout.fromObject(t.showDebuglayout)}if(t.appControl!=null){if(typeof t.appControl!="object")throw TypeError(".CloudLark.ClientInput.appControl: object expected");r.appControl=c.CloudLark.ApplicationControl.fromObject(t.appControl)}if(t.bigDataPacket!=null){if(typeof t.bigDataPacket!="object")throw TypeError(".CloudLark.ClientInput.bigDataPacket: object expected");r.bigDataPacket=c.CloudLark.BigDataPacket.fromObject(t.bigDataPacket)}return r},i.toObject=function(t,r){r||(r={});var d={};return t.mouseMove!=null&&t.hasOwnProperty("mouseMove")&&(d.mouseMove=c.CloudLark.MouseMove.toObject(t.mouseMove,r),r.oneofs&&(d.input="mouseMove")),t.mouseDown!=null&&t.hasOwnProperty("mouseDown")&&(d.mouseDown=c.CloudLark.MouseDown.toObject(t.mouseDown,r),r.oneofs&&(d.input="mouseDown")),t.mouseUp!=null&&t.hasOwnProperty("mouseUp")&&(d.mouseUp=c.CloudLark.MouseUp.toObject(t.mouseUp,r),r.oneofs&&(d.input="mouseUp")),t.mouseWheel!=null&&t.hasOwnProperty("mouseWheel")&&(d.mouseWheel=c.CloudLark.MouseWheel.toObject(t.mouseWheel,r),r.oneofs&&(d.input="mouseWheel")),t.keyDown!=null&&t.hasOwnProperty("keyDown")&&(d.keyDown=c.CloudLark.KeyDown.toObject(t.keyDown,r),r.oneofs&&(d.input="keyDown")),t.keyUp!=null&&t.hasOwnProperty("keyUp")&&(d.keyUp=c.CloudLark.KeyUp.toObject(t.keyUp,r),r.oneofs&&(d.input="keyUp")),t.clientEnter!=null&&t.hasOwnProperty("clientEnter")&&(d.clientEnter=c.CloudLark.ClientEnter.toObject(t.clientEnter,r),r.oneofs&&(d.input="clientEnter")),t.clientLeave!=null&&t.hasOwnProperty("clientLeave")&&(d.clientLeave=c.CloudLark.ClientLeave.toObject(t.clientLeave,r),r.oneofs&&(d.input="clientLeave")),t.dispatchController!=null&&t.hasOwnProperty("dispatchController")&&(d.dispatchController=c.CloudLark.DispatchController.toObject(t.dispatchController,r),r.oneofs&&(d.input="dispatchController")),t.requesController!=null&&t.hasOwnProperty("requesController")&&(d.requesController=c.CloudLark.RequestController.toObject(t.requesController,r),r.oneofs&&(d.input="requesController")),t.textInput!=null&&t.hasOwnProperty("textInput")&&(d.textInput=c.CloudLark.TextInput.toObject(t.textInput,r),r.oneofs&&(d.input="textInput")),t.gamepadInputJoystickStates!=null&&t.hasOwnProperty("gamepadInputJoystickStates")&&(d.gamepadInputJoystickStates=c.CloudLark.GamepadInputJoyStickStates.toObject(t.gamepadInputJoystickStates,r),r.oneofs&&(d.input="gamepadInputJoystickStates")),t.gamepadInputButtonDown!=null&&t.hasOwnProperty("gamepadInputButtonDown")&&(d.gamepadInputButtonDown=c.CloudLark.GamepadInputButtonDown.toObject(t.gamepadInputButtonDown,r),r.oneofs&&(d.input="gamepadInputButtonDown")),t.gamepadInputButtonUp!=null&&t.hasOwnProperty("gamepadInputButtonUp")&&(d.gamepadInputButtonUp=c.CloudLark.GamepadInputButtonUp.toObject(t.gamepadInputButtonUp,r),r.oneofs&&(d.input="gamepadInputButtonUp")),t.gamepadInputTriger!=null&&t.hasOwnProperty("gamepadInputTriger")&&(d.gamepadInputTriger=c.CloudLark.GamepadInputTriger.toObject(t.gamepadInputTriger,r),r.oneofs&&(d.input="gamepadInputTriger")),t.clientDcMsg!=null&&t.hasOwnProperty("clientDcMsg")&&(d.clientDcMsg=c.CloudLark.AppDataChannelMessage.toObject(t.clientDcMsg,r),r.oneofs&&(d.input="clientDcMsg")),t.touchMove!=null&&t.hasOwnProperty("touchMove")&&(d.touchMove=c.CloudLark.TouchMove.toObject(t.touchMove,r),r.oneofs&&(d.input="touchMove")),t.touchDown!=null&&t.hasOwnProperty("touchDown")&&(d.touchDown=c.CloudLark.TouchDown.toObject(t.touchDown,r),r.oneofs&&(d.input="touchDown")),t.touchUp!=null&&t.hasOwnProperty("touchUp")&&(d.touchUp=c.CloudLark.TouchUp.toObject(t.touchUp,r),r.oneofs&&(d.input="touchUp")),t.aiVoicestreamStart!=null&&t.hasOwnProperty("aiVoicestreamStart")&&(d.aiVoicestreamStart=c.CloudLark.AiVoiceStreamStart.toObject(t.aiVoicestreamStart,r),r.oneofs&&(d.input="aiVoicestreamStart")),t.aiVoicestreamSlice!=null&&t.hasOwnProperty("aiVoicestreamSlice")&&(d.aiVoicestreamSlice=c.CloudLark.AiVoiceStreamSlice.toObject(t.aiVoicestreamSlice,r),r.oneofs&&(d.input="aiVoicestreamSlice")),t.aiVoicestreamStop!=null&&t.hasOwnProperty("aiVoicestreamStop")&&(d.aiVoicestreamStop=c.CloudLark.AiVoiceStreamStop.toObject(t.aiVoicestreamStop,r),r.oneofs&&(d.input="aiVoicestreamStop")),t.aiVoicestreamReset!=null&&t.hasOwnProperty("aiVoicestreamReset")&&(d.aiVoicestreamReset=c.CloudLark.AiVoiceStreamReset.toObject(t.aiVoicestreamReset,r),r.oneofs&&(d.input="aiVoicestreamReset")),t.aiVoiceText!=null&&t.hasOwnProperty("aiVoiceText")&&(d.aiVoiceText=c.CloudLark.AiVoiceText.toObject(t.aiVoiceText,r),r.oneofs&&(d.input="aiVoiceText")),t.rtmpStart!=null&&t.hasOwnProperty("rtmpStart")&&(d.rtmpStart=c.CloudLark.Rtmp_Start.toObject(t.rtmpStart,r),r.oneofs&&(d.input="rtmpStart")),t.rtmpStop!=null&&t.hasOwnProperty("rtmpStop")&&(d.rtmpStop=c.CloudLark.Rtmp_Stop.toObject(t.rtmpStop,r),r.oneofs&&(d.input="rtmpStop")),t.videoConfigure!=null&&t.hasOwnProperty("videoConfigure")&&(d.videoConfigure=c.CloudLark.VideoReconfigure.toObject(t.videoConfigure,r),r.oneofs&&(d.input="videoConfigure")),t.clientStatics!=null&&t.hasOwnProperty("clientStatics")&&(d.clientStatics=c.CloudLark.ClientStatics.toObject(t.clientStatics,r),r.oneofs&&(d.input="clientStatics")),t.showDebuglayout!=null&&t.hasOwnProperty("showDebuglayout")&&(d.showDebuglayout=c.CloudLark.ShowDebugLayout.toObject(t.showDebuglayout,r),r.oneofs&&(d.input="showDebuglayout")),t.appControl!=null&&t.hasOwnProperty("appControl")&&(d.appControl=c.CloudLark.ApplicationControl.toObject(t.appControl,r),r.oneofs&&(d.input="appControl")),t.bigDataPacket!=null&&t.hasOwnProperty("bigDataPacket")&&(d.bigDataPacket=c.CloudLark.BigDataPacket.toObject(t.bigDataPacket,r),r.oneofs&&(d.input="bigDataPacket")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.NotifyFeatures=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.gamePad=!1,i.prototype.aivoice=!1,i.prototype.vcam=!1,i.prototype.rtmp=!1,i.prototype.audioInput=!1,i.prototype.offScreen=!1,i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.gamePad!=null&&Object.hasOwnProperty.call(e,"gamePad")&&t.uint32(8).bool(e.gamePad),e.aivoice!=null&&Object.hasOwnProperty.call(e,"aivoice")&&t.uint32(16).bool(e.aivoice),e.vcam!=null&&Object.hasOwnProperty.call(e,"vcam")&&t.uint32(24).bool(e.vcam),e.rtmp!=null&&Object.hasOwnProperty.call(e,"rtmp")&&t.uint32(32).bool(e.rtmp),e.audioInput!=null&&Object.hasOwnProperty.call(e,"audioInput")&&t.uint32(40).bool(e.audioInput),e.offScreen!=null&&Object.hasOwnProperty.call(e,"offScreen")&&t.uint32(48).bool(e.offScreen),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.NotifyFeatures;e.pos<r;){var R=e.uint32();switch(R>>>3){case 1:d.gamePad=e.bool();break;case 2:d.aivoice=e.bool();break;case 3:d.vcam=e.bool();break;case 4:d.rtmp=e.bool();break;case 5:d.audioInput=e.bool();break;case 6:d.offScreen=e.bool();break;default:e.skipType(7&R)}}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.gamePad!=null&&e.hasOwnProperty("gamePad")&&typeof e.gamePad!="boolean"?"gamePad: boolean expected":e.aivoice!=null&&e.hasOwnProperty("aivoice")&&typeof e.aivoice!="boolean"?"aivoice: boolean expected":e.vcam!=null&&e.hasOwnProperty("vcam")&&typeof e.vcam!="boolean"?"vcam: boolean expected":e.rtmp!=null&&e.hasOwnProperty("rtmp")&&typeof e.rtmp!="boolean"?"rtmp: boolean expected":e.audioInput!=null&&e.hasOwnProperty("audioInput")&&typeof e.audioInput!="boolean"?"audioInput: boolean expected":e.offScreen!=null&&e.hasOwnProperty("offScreen")&&typeof e.offScreen!="boolean"?"offScreen: boolean expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.NotifyFeatures)return e;var t=new c.CloudLark.NotifyFeatures;return e.gamePad!=null&&(t.gamePad=!!e.gamePad),e.aivoice!=null&&(t.aivoice=!!e.aivoice),e.vcam!=null&&(t.vcam=!!e.vcam),e.rtmp!=null&&(t.rtmp=!!e.rtmp),e.audioInput!=null&&(t.audioInput=!!e.audioInput),e.offScreen!=null&&(t.offScreen=!!e.offScreen),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.gamePad=!1,r.aivoice=!1,r.vcam=!1,r.rtmp=!1,r.audioInput=!1,r.offScreen=!1),e.gamePad!=null&&e.hasOwnProperty("gamePad")&&(r.gamePad=e.gamePad),e.aivoice!=null&&e.hasOwnProperty("aivoice")&&(r.aivoice=e.aivoice),e.vcam!=null&&e.hasOwnProperty("vcam")&&(r.vcam=e.vcam),e.rtmp!=null&&e.hasOwnProperty("rtmp")&&(r.rtmp=e.rtmp),e.audioInput!=null&&e.hasOwnProperty("audioInput")&&(r.audioInput=e.audioInput),e.offScreen!=null&&e.hasOwnProperty("offScreen")&&(r.offScreen=e.offScreen),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppOpenUrl=function(){function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)e[t[r]]!=null&&(this[t[r]]=e[t[r]])}return i.prototype.url="",i.create=function(e){return new i(e)},i.encode=function(e,t){return t||(t=m.create()),e.url!=null&&Object.hasOwnProperty.call(e,"url")&&t.uint32(10).string(e.url),t},i.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},i.decode=function(e,t){e instanceof y||(e=y.create(e));for(var r=t===void 0?e.len:e.pos+t,d=new c.CloudLark.AppOpenUrl;e.pos<r;){var R=e.uint32();R>>>3==1?d.url=e.string():e.skipType(7&R)}return d},i.decodeDelimited=function(e){return e instanceof y||(e=new y(e)),this.decode(e,e.uint32())},i.verify=function(e){return typeof e!="object"||e===null?"object expected":e.url!=null&&e.hasOwnProperty("url")&&!v.isString(e.url)?"url: string expected":null},i.fromObject=function(e){if(e instanceof c.CloudLark.AppOpenUrl)return e;var t=new c.CloudLark.AppOpenUrl;return e.url!=null&&(t.url=String(e.url)),t},i.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.url=""),e.url!=null&&e.hasOwnProperty("url")&&(r.url=e.url),r},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b.AppNotification=function(){function i(t){if(t)for(var r=Object.keys(t),d=0;d<r.length;++d)t[r[d]]!=null&&(this[r[d]]=t[r[d]])}var e;return i.prototype.resize=null,i.prototype.mousemode=null,i.prototype.updatePlayers=null,i.prototype.requestInput=null,i.prototype.gamepadOutput=null,i.prototype.datachannelState=null,i.prototype.appDcMsg=null,i.prototype.cursorStyle=null,i.prototype.aiVoiceRealtimeParseresult=null,i.prototype.aiVoiceResult=null,i.prototype.aiVoiceServiceStatus=null,i.prototype.aiVoiceErr=null,i.prototype.rtmpState=null,i.prototype.rtmpError=null,i.prototype.notifyFeatures=null,i.prototype.serverStatics=null,i.prototype.appControlResult=null,i.prototype.videoFrame=null,i.prototype.tooltipInfo=null,i.prototype.bigDataPacket=null,i.prototype.openUrl=null,Object.defineProperty(i.prototype,"notify",{get:v.oneOfGetter(e=["resize","mousemode","updatePlayers","requestInput","gamepadOutput","datachannelState","appDcMsg","cursorStyle","aiVoiceRealtimeParseresult","aiVoiceResult","aiVoiceServiceStatus","aiVoiceErr","rtmpState","rtmpError","notifyFeatures","serverStatics","appControlResult","videoFrame","tooltipInfo","bigDataPacket","openUrl"]),set:v.oneOfSetter(e)}),i.create=function(t){return new i(t)},i.encode=function(t,r){return r||(r=m.create()),t.resize!=null&&Object.hasOwnProperty.call(t,"resize")&&c.CloudLark.AppResize.encode(t.resize,r.uint32(10).fork()).ldelim(),t.mousemode!=null&&Object.hasOwnProperty.call(t,"mousemode")&&c.CloudLark.AppMouseMode.encode(t.mousemode,r.uint32(18).fork()).ldelim(),t.updatePlayers!=null&&Object.hasOwnProperty.call(t,"updatePlayers")&&c.CloudLark.UpdatePlayersDesc.encode(t.updatePlayers,r.uint32(26).fork()).ldelim(),t.requestInput!=null&&Object.hasOwnProperty.call(t,"requestInput")&&c.CloudLark.AppRequestInput.encode(t.requestInput,r.uint32(34).fork()).ldelim(),t.gamepadOutput!=null&&Object.hasOwnProperty.call(t,"gamepadOutput")&&c.CloudLark.GamepadOutput.encode(t.gamepadOutput,r.uint32(42).fork()).ldelim(),t.datachannelState!=null&&Object.hasOwnProperty.call(t,"datachannelState")&&c.CloudLark.AppDataChannelState.encode(t.datachannelState,r.uint32(50).fork()).ldelim(),t.appDcMsg!=null&&Object.hasOwnProperty.call(t,"appDcMsg")&&c.CloudLark.AppDataChannelMessage.encode(t.appDcMsg,r.uint32(58).fork()).ldelim(),t.cursorStyle!=null&&Object.hasOwnProperty.call(t,"cursorStyle")&&c.CloudLark.SyncCursorStyle.encode(t.cursorStyle,r.uint32(66).fork()).ldelim(),t.aiVoiceRealtimeParseresult!=null&&Object.hasOwnProperty.call(t,"aiVoiceRealtimeParseresult")&&c.CloudLark.AiVoiceRealTimeParseResult.encode(t.aiVoiceRealtimeParseresult,r.uint32(74).fork()).ldelim(),t.aiVoiceResult!=null&&Object.hasOwnProperty.call(t,"aiVoiceResult")&&c.CloudLark.AiVoiceResult.encode(t.aiVoiceResult,r.uint32(82).fork()).ldelim(),t.aiVoiceServiceStatus!=null&&Object.hasOwnProperty.call(t,"aiVoiceServiceStatus")&&c.CloudLark.AiVoiceServiceStatus.encode(t.aiVoiceServiceStatus,r.uint32(90).fork()).ldelim(),t.aiVoiceErr!=null&&Object.hasOwnProperty.call(t,"aiVoiceErr")&&c.CloudLark.AivoiceError.encode(t.aiVoiceErr,r.uint32(98).fork()).ldelim(),t.rtmpState!=null&&Object.hasOwnProperty.call(t,"rtmpState")&&c.CloudLark.Rtmp_State.encode(t.rtmpState,r.uint32(106).fork()).ldelim(),t.rtmpError!=null&&Object.hasOwnProperty.call(t,"rtmpError")&&c.CloudLark.Rtmp_Error.encode(t.rtmpError,r.uint32(114).fork()).ldelim(),t.notifyFeatures!=null&&Object.hasOwnProperty.call(t,"notifyFeatures")&&c.CloudLark.NotifyFeatures.encode(t.notifyFeatures,r.uint32(122).fork()).ldelim(),t.serverStatics!=null&&Object.hasOwnProperty.call(t,"serverStatics")&&c.CloudLark.ServerStatics.encode(t.serverStatics,r.uint32(130).fork()).ldelim(),t.appControlResult!=null&&Object.hasOwnProperty.call(t,"appControlResult")&&c.CloudLark.ApplicationControlResult.encode(t.appControlResult,r.uint32(138).fork()).ldelim(),t.videoFrame!=null&&Object.hasOwnProperty.call(t,"videoFrame")&&c.CloudLark.StreamVideoFrame.encode(t.videoFrame,r.uint32(146).fork()).ldelim(),t.tooltipInfo!=null&&Object.hasOwnProperty.call(t,"tooltipInfo")&&c.CloudLark.TooltipInfo.encode(t.tooltipInfo,r.uint32(154).fork()).ldelim(),t.bigDataPacket!=null&&Object.hasOwnProperty.call(t,"bigDataPacket")&&c.CloudLark.BigDataPacket.encode(t.bigDataPacket,r.uint32(162).fork()).ldelim(),t.openUrl!=null&&Object.hasOwnProperty.call(t,"openUrl")&&c.CloudLark.AppOpenUrl.encode(t.openUrl,r.uint32(170).fork()).ldelim(),r},i.encodeDelimited=function(t,r){return this.encode(t,r).ldelim()},i.decode=function(t,r){t instanceof y||(t=y.create(t));for(var d=r===void 0?t.len:t.pos+r,R=new c.CloudLark.AppNotification;t.pos<d;){var x=t.uint32();switch(x>>>3){case 1:R.resize=c.CloudLark.AppResize.decode(t,t.uint32());break;case 2:R.mousemode=c.CloudLark.AppMouseMode.decode(t,t.uint32());break;case 3:R.updatePlayers=c.CloudLark.UpdatePlayersDesc.decode(t,t.uint32());break;case 4:R.requestInput=c.CloudLark.AppRequestInput.decode(t,t.uint32());break;case 5:R.gamepadOutput=c.CloudLark.GamepadOutput.decode(t,t.uint32());break;case 6:R.datachannelState=c.CloudLark.AppDataChannelState.decode(t,t.uint32());break;case 7:R.appDcMsg=c.CloudLark.AppDataChannelMessage.decode(t,t.uint32());break;case 8:R.cursorStyle=c.CloudLark.SyncCursorStyle.decode(t,t.uint32());break;case 9:R.aiVoiceRealtimeParseresult=c.CloudLark.AiVoiceRealTimeParseResult.decode(t,t.uint32());break;case 10:R.aiVoiceResult=c.CloudLark.AiVoiceResult.decode(t,t.uint32());break;case 11:R.aiVoiceServiceStatus=c.CloudLark.AiVoiceServiceStatus.decode(t,t.uint32());break;case 12:R.aiVoiceErr=c.CloudLark.AivoiceError.decode(t,t.uint32());break;case 13:R.rtmpState=c.CloudLark.Rtmp_State.decode(t,t.uint32());break;case 14:R.rtmpError=c.CloudLark.Rtmp_Error.decode(t,t.uint32());break;case 15:R.notifyFeatures=c.CloudLark.NotifyFeatures.decode(t,t.uint32());break;case 16:R.serverStatics=c.CloudLark.ServerStatics.decode(t,t.uint32());break;case 17:R.appControlResult=c.CloudLark.ApplicationControlResult.decode(t,t.uint32());break;case 18:R.videoFrame=c.CloudLark.StreamVideoFrame.decode(t,t.uint32());break;case 19:R.tooltipInfo=c.CloudLark.TooltipInfo.decode(t,t.uint32());break;case 20:R.bigDataPacket=c.CloudLark.BigDataPacket.decode(t,t.uint32());break;case 21:R.openUrl=c.CloudLark.AppOpenUrl.decode(t,t.uint32());break;default:t.skipType(7&x)}}return R},i.decodeDelimited=function(t){return t instanceof y||(t=new y(t)),this.decode(t,t.uint32())},i.verify=function(t){if(typeof t!="object"||t===null)return"object expected";var r={};if(t.resize!=null&&t.hasOwnProperty("resize")&&(r.notify=1,d=c.CloudLark.AppResize.verify(t.resize)))return"resize."+d;if(t.mousemode!=null&&t.hasOwnProperty("mousemode")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AppMouseMode.verify(t.mousemode))return"mousemode."+d}if(t.updatePlayers!=null&&t.hasOwnProperty("updatePlayers")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.UpdatePlayersDesc.verify(t.updatePlayers))return"updatePlayers."+d}if(t.requestInput!=null&&t.hasOwnProperty("requestInput")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AppRequestInput.verify(t.requestInput))return"requestInput."+d}if(t.gamepadOutput!=null&&t.hasOwnProperty("gamepadOutput")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.GamepadOutput.verify(t.gamepadOutput))return"gamepadOutput."+d}if(t.datachannelState!=null&&t.hasOwnProperty("datachannelState")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AppDataChannelState.verify(t.datachannelState))return"datachannelState."+d}if(t.appDcMsg!=null&&t.hasOwnProperty("appDcMsg")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AppDataChannelMessage.verify(t.appDcMsg))return"appDcMsg."+d}if(t.cursorStyle!=null&&t.hasOwnProperty("cursorStyle")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.SyncCursorStyle.verify(t.cursorStyle))return"cursorStyle."+d}if(t.aiVoiceRealtimeParseresult!=null&&t.hasOwnProperty("aiVoiceRealtimeParseresult")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AiVoiceRealTimeParseResult.verify(t.aiVoiceRealtimeParseresult))return"aiVoiceRealtimeParseresult."+d}if(t.aiVoiceResult!=null&&t.hasOwnProperty("aiVoiceResult")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AiVoiceResult.verify(t.aiVoiceResult))return"aiVoiceResult."+d}if(t.aiVoiceServiceStatus!=null&&t.hasOwnProperty("aiVoiceServiceStatus")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AiVoiceServiceStatus.verify(t.aiVoiceServiceStatus))return"aiVoiceServiceStatus."+d}if(t.aiVoiceErr!=null&&t.hasOwnProperty("aiVoiceErr")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.AivoiceError.verify(t.aiVoiceErr))return"aiVoiceErr."+d}if(t.rtmpState!=null&&t.hasOwnProperty("rtmpState")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.Rtmp_State.verify(t.rtmpState))return"rtmpState."+d}if(t.rtmpError!=null&&t.hasOwnProperty("rtmpError")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.Rtmp_Error.verify(t.rtmpError))return"rtmpError."+d}if(t.notifyFeatures!=null&&t.hasOwnProperty("notifyFeatures")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.NotifyFeatures.verify(t.notifyFeatures))return"notifyFeatures."+d}if(t.serverStatics!=null&&t.hasOwnProperty("serverStatics")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.ServerStatics.verify(t.serverStatics))return"serverStatics."+d}if(t.appControlResult!=null&&t.hasOwnProperty("appControlResult")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.ApplicationControlResult.verify(t.appControlResult))return"appControlResult."+d}if(t.videoFrame!=null&&t.hasOwnProperty("videoFrame")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.StreamVideoFrame.verify(t.videoFrame))return"videoFrame."+d}if(t.tooltipInfo!=null&&t.hasOwnProperty("tooltipInfo")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.TooltipInfo.verify(t.tooltipInfo))return"tooltipInfo."+d}if(t.bigDataPacket!=null&&t.hasOwnProperty("bigDataPacket")){if(r.notify===1)return"notify: multiple values";if(r.notify=1,d=c.CloudLark.BigDataPacket.verify(t.bigDataPacket))return"bigDataPacket."+d}if(t.openUrl!=null&&t.hasOwnProperty("openUrl")){if(r.notify===1)return"notify: multiple values";var d;if(r.notify=1,d=c.CloudLark.AppOpenUrl.verify(t.openUrl))return"openUrl."+d}return null},i.fromObject=function(t){if(t instanceof c.CloudLark.AppNotification)return t;var r=new c.CloudLark.AppNotification;if(t.resize!=null){if(typeof t.resize!="object")throw TypeError(".CloudLark.AppNotification.resize: object expected");r.resize=c.CloudLark.AppResize.fromObject(t.resize)}if(t.mousemode!=null){if(typeof t.mousemode!="object")throw TypeError(".CloudLark.AppNotification.mousemode: object expected");r.mousemode=c.CloudLark.AppMouseMode.fromObject(t.mousemode)}if(t.updatePlayers!=null){if(typeof t.updatePlayers!="object")throw TypeError(".CloudLark.AppNotification.updatePlayers: object expected");r.updatePlayers=c.CloudLark.UpdatePlayersDesc.fromObject(t.updatePlayers)}if(t.requestInput!=null){if(typeof t.requestInput!="object")throw TypeError(".CloudLark.AppNotification.requestInput: object expected");r.requestInput=c.CloudLark.AppRequestInput.fromObject(t.requestInput)}if(t.gamepadOutput!=null){if(typeof t.gamepadOutput!="object")throw TypeError(".CloudLark.AppNotification.gamepadOutput: object expected");r.gamepadOutput=c.CloudLark.GamepadOutput.fromObject(t.gamepadOutput)}if(t.datachannelState!=null){if(typeof t.datachannelState!="object")throw TypeError(".CloudLark.AppNotification.datachannelState: object expected");r.datachannelState=c.CloudLark.AppDataChannelState.fromObject(t.datachannelState)}if(t.appDcMsg!=null){if(typeof t.appDcMsg!="object")throw TypeError(".CloudLark.AppNotification.appDcMsg: object expected");r.appDcMsg=c.CloudLark.AppDataChannelMessage.fromObject(t.appDcMsg)}if(t.cursorStyle!=null){if(typeof t.cursorStyle!="object")throw TypeError(".CloudLark.AppNotification.cursorStyle: object expected");r.cursorStyle=c.CloudLark.SyncCursorStyle.fromObject(t.cursorStyle)}if(t.aiVoiceRealtimeParseresult!=null){if(typeof t.aiVoiceRealtimeParseresult!="object")throw TypeError(".CloudLark.AppNotification.aiVoiceRealtimeParseresult: object expected");r.aiVoiceRealtimeParseresult=c.CloudLark.AiVoiceRealTimeParseResult.fromObject(t.aiVoiceRealtimeParseresult)}if(t.aiVoiceResult!=null){if(typeof t.aiVoiceResult!="object")throw TypeError(".CloudLark.AppNotification.aiVoiceResult: object expected");r.aiVoiceResult=c.CloudLark.AiVoiceResult.fromObject(t.aiVoiceResult)}if(t.aiVoiceServiceStatus!=null){if(typeof t.aiVoiceServiceStatus!="object")throw TypeError(".CloudLark.AppNotification.aiVoiceServiceStatus: object expected");r.aiVoiceServiceStatus=c.CloudLark.AiVoiceServiceStatus.fromObject(t.aiVoiceServiceStatus)}if(t.aiVoiceErr!=null){if(typeof t.aiVoiceErr!="object")throw TypeError(".CloudLark.AppNotification.aiVoiceErr: object expected");r.aiVoiceErr=c.CloudLark.AivoiceError.fromObject(t.aiVoiceErr)}if(t.rtmpState!=null){if(typeof t.rtmpState!="object")throw TypeError(".CloudLark.AppNotification.rtmpState: object expected");r.rtmpState=c.CloudLark.Rtmp_State.fromObject(t.rtmpState)}if(t.rtmpError!=null){if(typeof t.rtmpError!="object")throw TypeError(".CloudLark.AppNotification.rtmpError: object expected");r.rtmpError=c.CloudLark.Rtmp_Error.fromObject(t.rtmpError)}if(t.notifyFeatures!=null){if(typeof t.notifyFeatures!="object")throw TypeError(".CloudLark.AppNotification.notifyFeatures: object expected");r.notifyFeatures=c.CloudLark.NotifyFeatures.fromObject(t.notifyFeatures)}if(t.serverStatics!=null){if(typeof t.serverStatics!="object")throw TypeError(".CloudLark.AppNotification.serverStatics: object expected");r.serverStatics=c.CloudLark.ServerStatics.fromObject(t.serverStatics)}if(t.appControlResult!=null){if(typeof t.appControlResult!="object")throw TypeError(".CloudLark.AppNotification.appControlResult: object expected");r.appControlResult=c.CloudLark.ApplicationControlResult.fromObject(t.appControlResult)}if(t.videoFrame!=null){if(typeof t.videoFrame!="object")throw TypeError(".CloudLark.AppNotification.videoFrame: object expected");r.videoFrame=c.CloudLark.StreamVideoFrame.fromObject(t.videoFrame)}if(t.tooltipInfo!=null){if(typeof t.tooltipInfo!="object")throw TypeError(".CloudLark.AppNotification.tooltipInfo: object expected");r.tooltipInfo=c.CloudLark.TooltipInfo.fromObject(t.tooltipInfo)}if(t.bigDataPacket!=null){if(typeof t.bigDataPacket!="object")throw TypeError(".CloudLark.AppNotification.bigDataPacket: object expected");r.bigDataPacket=c.CloudLark.BigDataPacket.fromObject(t.bigDataPacket)}if(t.openUrl!=null){if(typeof t.openUrl!="object")throw TypeError(".CloudLark.AppNotification.openUrl: object expected");r.openUrl=c.CloudLark.AppOpenUrl.fromObject(t.openUrl)}return r},i.toObject=function(t,r){r||(r={});var d={};return t.resize!=null&&t.hasOwnProperty("resize")&&(d.resize=c.CloudLark.AppResize.toObject(t.resize,r),r.oneofs&&(d.notify="resize")),t.mousemode!=null&&t.hasOwnProperty("mousemode")&&(d.mousemode=c.CloudLark.AppMouseMode.toObject(t.mousemode,r),r.oneofs&&(d.notify="mousemode")),t.updatePlayers!=null&&t.hasOwnProperty("updatePlayers")&&(d.updatePlayers=c.CloudLark.UpdatePlayersDesc.toObject(t.updatePlayers,r),r.oneofs&&(d.notify="updatePlayers")),t.requestInput!=null&&t.hasOwnProperty("requestInput")&&(d.requestInput=c.CloudLark.AppRequestInput.toObject(t.requestInput,r),r.oneofs&&(d.notify="requestInput")),t.gamepadOutput!=null&&t.hasOwnProperty("gamepadOutput")&&(d.gamepadOutput=c.CloudLark.GamepadOutput.toObject(t.gamepadOutput,r),r.oneofs&&(d.notify="gamepadOutput")),t.datachannelState!=null&&t.hasOwnProperty("datachannelState")&&(d.datachannelState=c.CloudLark.AppDataChannelState.toObject(t.datachannelState,r),r.oneofs&&(d.notify="datachannelState")),t.appDcMsg!=null&&t.hasOwnProperty("appDcMsg")&&(d.appDcMsg=c.CloudLark.AppDataChannelMessage.toObject(t.appDcMsg,r),r.oneofs&&(d.notify="appDcMsg")),t.cursorStyle!=null&&t.hasOwnProperty("cursorStyle")&&(d.cursorStyle=c.CloudLark.SyncCursorStyle.toObject(t.cursorStyle,r),r.oneofs&&(d.notify="cursorStyle")),t.aiVoiceRealtimeParseresult!=null&&t.hasOwnProperty("aiVoiceRealtimeParseresult")&&(d.aiVoiceRealtimeParseresult=c.CloudLark.AiVoiceRealTimeParseResult.toObject(t.aiVoiceRealtimeParseresult,r),r.oneofs&&(d.notify="aiVoiceRealtimeParseresult")),t.aiVoiceResult!=null&&t.hasOwnProperty("aiVoiceResult")&&(d.aiVoiceResult=c.CloudLark.AiVoiceResult.toObject(t.aiVoiceResult,r),r.oneofs&&(d.notify="aiVoiceResult")),t.aiVoiceServiceStatus!=null&&t.hasOwnProperty("aiVoiceServiceStatus")&&(d.aiVoiceServiceStatus=c.CloudLark.AiVoiceServiceStatus.toObject(t.aiVoiceServiceStatus,r),r.oneofs&&(d.notify="aiVoiceServiceStatus")),t.aiVoiceErr!=null&&t.hasOwnProperty("aiVoiceErr")&&(d.aiVoiceErr=c.CloudLark.AivoiceError.toObject(t.aiVoiceErr,r),r.oneofs&&(d.notify="aiVoiceErr")),t.rtmpState!=null&&t.hasOwnProperty("rtmpState")&&(d.rtmpState=c.CloudLark.Rtmp_State.toObject(t.rtmpState,r),r.oneofs&&(d.notify="rtmpState")),t.rtmpError!=null&&t.hasOwnProperty("rtmpError")&&(d.rtmpError=c.CloudLark.Rtmp_Error.toObject(t.rtmpError,r),r.oneofs&&(d.notify="rtmpError")),t.notifyFeatures!=null&&t.hasOwnProperty("notifyFeatures")&&(d.notifyFeatures=c.CloudLark.NotifyFeatures.toObject(t.notifyFeatures,r),r.oneofs&&(d.notify="notifyFeatures")),t.serverStatics!=null&&t.hasOwnProperty("serverStatics")&&(d.serverStatics=c.CloudLark.ServerStatics.toObject(t.serverStatics,r),r.oneofs&&(d.notify="serverStatics")),t.appControlResult!=null&&t.hasOwnProperty("appControlResult")&&(d.appControlResult=c.CloudLark.ApplicationControlResult.toObject(t.appControlResult,r),r.oneofs&&(d.notify="appControlResult")),t.videoFrame!=null&&t.hasOwnProperty("videoFrame")&&(d.videoFrame=c.CloudLark.StreamVideoFrame.toObject(t.videoFrame,r),r.oneofs&&(d.notify="videoFrame")),t.tooltipInfo!=null&&t.hasOwnProperty("tooltipInfo")&&(d.tooltipInfo=c.CloudLark.TooltipInfo.toObject(t.tooltipInfo,r),r.oneofs&&(d.notify="tooltipInfo")),t.bigDataPacket!=null&&t.hasOwnProperty("bigDataPacket")&&(d.bigDataPacket=c.CloudLark.BigDataPacket.toObject(t.bigDataPacket,r),r.oneofs&&(d.notify="bigDataPacket")),t.openUrl!=null&&t.hasOwnProperty("openUrl")&&(d.openUrl=c.CloudLark.AppOpenUrl.toObject(t.openUrl,r),r.oneofs&&(d.notify="openUrl")),d},i.prototype.toJSON=function(){return this.constructor.toObject(this,u.util.toJSONOptions)},i}(),b),p.exports=c},731:function(p){p.exports=JSON.parse('{"button":{"status":"連接狀態","mouseMode":"當前鼠標模式","mouseModeAuto":"自动判断","mosueModeLock":"全局鎖定","scale":"鋪滿","scaleToNormal":"還原","scaleAuto":"適應","lock":"全局鎖定","fullScreen":"全屏","exit":"退出","setup":"設置","show":"顯示","hide":"隱藏","hideVMouse":"隱藏虛擬鼠標","showVMouse":"顯示虛擬鼠標","hideVKeyboard":"隱藏虛擬鍵盤","showVKeyboard":"顯示虛擬鍵盤","playerMode":"模式","playerMode_Normal":"普通模式","playerMode_Interactive":"交互模式","userType":"角色","userType_Observer":"觀看者","userType_Player":"操作者","requireNickName":"請輸入暱稱","requireInputChinese":"是否需要輸入中文?","buttonSubmit":"確定","buttonCancel":"取消","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":"應用啓動時間過長,如果長時間未進入,請聯繫管理員檢查雲端應用。","LOCK_POINTER_FAILED":"鎖定滑鼠失敗,切換為非鎖定模式","LOCK_POINTER_FAILED_SECURITY_ERROR":"鎖定滑鼠失敗. 請確認使用HTTPS訪問."}}')},824:function(p,A,s){var h=s(8793).navigator,g=h&&h.userAgent;p.exports=g?String(g):""},848:function(p,A,s){var h=s(8793),g=s(9200);p.exports=function(b,u){return arguments.length<2?(y=h[b],g(y)?y:void 0):h[b]&&h[b][u];var y}},876:function(p,A,s){s(7231),s(4202),s(8098),s(9267),s(7234),s(702),s(1111),s(1724),s(985),s(3143),s(296),s(9066),s(1690),s(544),s(2895),s(2892),s(567),s(686),s(8642),s(4131);var h=s(7596);p.exports=h.Symbol},890:function(p,A,s){var h=s(7315),g=Function.prototype,b=g.apply,u=g.call;p.exports=typeof Reflect=="object"&&Reflect.apply||(h?u.bind(b):function(){return u.apply(b,arguments)})},906:function(p,A,s){var h=s(7133),g=s(9323),b=s(9200),u=s(5589),y=s(7830),m=h([].push);p.exports=function(v){if(b(v))return v;if(g(v)){for(var c=v.length,i=[],e=0;e<c;e++){var t=v[e];typeof t=="string"?m(i,t):typeof t!="number"&&u(t)!=="Number"&&u(t)!=="String"||m(i,y(t))}var r=i.length,d=!0;return function(R,x){if(d)return d=!1,x;if(g(this))return x;for(var P=0;P<r;P++)if(i[P]===R)return x}}}},917:function(p,A,s){var h={};h[s(4702)("toStringTag")]="z",p.exports=String(h)==="[object z]"},942:function(p){p.exports=function(A){try{return!!A()}catch{return!0}}},985:function(p,A,s){s(9656)("match")},1008:function(p,A){A.A="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="},1111:function(p,A,s){s(9656)("isConcatSpreadable")},1264:function(p,A){A.f=Object.getOwnPropertySymbols},1427:function(p,A,s){var h=s(492),g=s(9200),b=s(9131),u=TypeError;p.exports=function(y,m){var v,c;if(m==="string"&&g(v=y.toString)&&!b(c=h(v,y))||g(v=y.valueOf)&&!b(c=h(v,y))||m!=="string"&&g(v=y.toString)&&!b(c=h(v,y)))return c;throw new u("Can't convert object to primitive value")}},1466:function(p,A,s){var h=s(8793),g=s(9131),b=h.document,u=g(b)&&g(b.createElement);p.exports=function(y){return u?b.createElement(y):{}}},1497:function(p,A,s){var h=s(3353),g=s(9158),b=s(460),u=s(7938),y=s(6014),m=s(6325),v=y("symbol-to-string-registry");h({target:"Symbol",stat:!0,forced:!m},{keyFor:function(c){if(!b(c))throw new TypeError(u(c)+" is not a symbol");if(g(v,c))return v[c]}})},1507:function(p,A,s){var h=A;function g(){h.util._configure(),h.Writer._configure(h.BufferWriter),h.Reader._configure(h.BufferReader)}h.build="minimal",h.Writer=s(8118),h.BufferWriter=s(6135),h.Reader=s(5478),h.BufferReader=s(6407),h.util=s(393),h.rpc=s(490),h.roots=s(108),h.configure=g,g()},1514:function(p,A,s){var h,g,b,u=s(3125),y=s(8793),m=s(9131),v=s(5044),c=s(9158),i=s(5210),e=s(2316),t=s(640),r="Object already initialized",d=y.TypeError,R=y.WeakMap;if(u||i.state){var x=i.state||(i.state=new R);x.get=x.get,x.has=x.has,x.set=x.set,h=function(I,M){if(x.has(I))throw new d(r);return M.facade=I,x.set(I,M),M},g=function(I){return x.get(I)||{}},b=function(I){return x.has(I)}}else{var P=e("state");t[P]=!0,h=function(I,M){if(c(I,P))throw new d(r);return M.facade=I,v(I,P,M),M},g=function(I){return c(I,P)?I[P]:{}},b=function(I){return c(I,P)}}p.exports={set:h,get:g,has:b,enforce:function(I){return b(I)?g(I):h(I,{})},getterFor:function(I){return function(M){var N;if(!m(M)||(N=g(M)).type!==I)throw new d("Incompatible receiver, "+I+" required");return N}}}},1606:function(p,A,s){var h=s(4446).f,g=s(9158),b=s(4702)("toStringTag");p.exports=function(u,y,m){u&&!m&&(u=u.prototype),u&&!g(u,b)&&h(u,b,{configurable:!0,value:y})}},1690:function(p,A,s){s(9656)("species")},1696:function(p,A){A.A="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=="},1707:function(p,A){A.A="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="},1724:function(p,A,s){s(9656)("iterator")},1734:function(module){function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(p){}return null}module.exports=inquire},1818:function(p){p.exports=!1},1821:function(p){p.exports=function(A,s,h,g,b){return A.config=s,h&&(A.code=h),A.request=g,A.response=b,A.isAxiosError=!0,A.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}},A}},1982:function(p,A,s){var h,g,b,u=s(942),y=s(9200),m=s(9131),v=s(2909),c=s(5270),i=s(8521),e=s(4702),t=s(1818),r=e("iterator"),d=!1;[].keys&&("next"in(b=[].keys())?(g=c(c(b)))!==Object.prototype&&(h=g):d=!0),!m(h)||u(function(){var R={};return h[r].call(R)!==R})?h={}:t&&(h=v(h)),y(h[r])||i(h,r,function(){return this}),p.exports={IteratorPrototype:h,BUGGY_SAFARI_ITERATORS:d}},2007:function(p){p.exports=function(A,s){return{enumerable:!(1&A),configurable:!(2&A),writable:!(4&A),value:s}}},2015:function(p){p.exports=function(A,s){return s?A.replace(/\/+$/,"")+"/"+s.replace(/^\/+/,""):A}},2018:function(p,A,s){var h=s(9279);p.exports=function(g,b){b=b||{};var u={};function y(t,r){return h.isPlainObject(t)&&h.isPlainObject(r)?h.merge(t,r):h.isPlainObject(r)?h.merge({},r):h.isArray(r)?r.slice():r}function m(t){return h.isUndefined(b[t])?h.isUndefined(g[t])?void 0:y(void 0,g[t]):y(g[t],b[t])}function v(t){if(!h.isUndefined(b[t]))return y(void 0,b[t])}function c(t){return h.isUndefined(b[t])?h.isUndefined(g[t])?void 0:y(void 0,g[t]):y(void 0,b[t])}function i(t){return t in b?y(g[t],b[t]):t in g?y(void 0,g[t]):void 0}var e={url:v,method:v,data:v,baseURL:c,transformRequest:c,transformResponse:c,paramsSerializer:c,timeout:c,timeoutMessage:c,withCredentials:c,adapter:c,responseType:c,xsrfCookieName:c,xsrfHeaderName:c,onUploadProgress:c,onDownloadProgress:c,decompress:c,maxContentLength:c,maxBodyLength:c,transport:c,httpAgent:c,httpsAgent:c,cancelToken:c,socketPath:c,responseEncoding:c,validateStatus:i};return h.forEach(Object.keys(g).concat(Object.keys(b)),function(t){var r=e[t]||m,d=r(t);h.isUndefined(d)&&r!==i||(u[t]=d)}),u}},2030:function(p){p.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2062:function(p,A,s){var h=s(3353),g=s(260),b=s(942),u=s(1264),y=s(9272);h({target:"Object",stat:!0,forced:!g||b(function(){u.f(1)})},{getOwnPropertySymbols:function(m){var v=u.f;return v?v(y(m)):[]}})},2066:function(p,A,s){var h=s(6857),g=s(335),b=s(4446),u=s(4398),y=s(4360),m=s(3733);A.f=h&&!g?Object.defineProperties:function(v,c){u(v);for(var i,e=y(c),t=m(c),r=t.length,d=0;r>d;)b.f(v,i=t[d++],e[i]);return v}},2178:function(p){p.exports=function(A){return A==null}},2225:function(p){p.exports=function(A){return function(s){return A.apply(null,s)}}},2316:function(p,A,s){var h=s(6014),g=s(685),b=h("keys");p.exports=function(u){return b[u]||(b[u]=g(u))}},2365:function(p,A,s){var h=s(9200),g=s(7938),b=TypeError;p.exports=function(u){if(h(u))return u;throw new b(g(u)+" is not a function")}},2370:function(p,A,s){var h=s(6532).version,g={};["object","boolean","number","function","string","symbol"].forEach(function(u,y){g[u]=function(m){return typeof m===u||"a"+(y<1?"n ":" ")+u}});var b={};g.transitional=function(u,y,m){function v(c,i){return"[Axios v"+h+"] Transitional option '"+c+"'"+i+(m?". "+m:"")}return function(c,i,e){if(u===!1)throw new Error(v(i," has been removed"+(y?" in "+y:"")));return y&&!b[i]&&(b[i]=!0,console.warn(v(i," has been deprecated since v"+y+" and will be removed in the near future"))),!u||u(c,i,e)}},p.exports={assertOptions:function(u,y,m){if(typeof u!="object")throw new TypeError("options must be an object");for(var v=Object.keys(u),c=v.length;c-- >0;){var i=v[c],e=y[i];if(e){var t=u[i],r=t===void 0||e(t,i,u);if(r!==!0)throw new TypeError("option "+i+" must be "+r)}else if(m!==!0)throw Error("Unknown option "+i)}},validators:g}},2428:function(p,A,s){var h=s(6857),g=s(492),b=s(6732),u=s(2007),y=s(4360),m=s(2548),v=s(9158),c=s(5842),i=Object.getOwnPropertyDescriptor;A.f=h?i:function(e,t){if(e=y(e),t=m(t),c)try{return i(e,t)}catch{}if(v(e,t))return u(!g(b.f,e,t),e[t])}},2430:function(p,A,s){var h=s(7133);p.exports=h({}.isPrototypeOf)},2446:function(p){p.exports=function(A){return typeof A=="object"&&A.isAxiosError===!0}},2485:function(p,A,s){var h=s(7133);p.exports=h([].slice)},2548:function(p,A,s){var h=s(9422),g=s(460);p.exports=function(b){var u=h(b,"string");return g(u)?u:u+""}},2585:function(p,A,s){var h=s(9279),g=s(3769),b=s(8595),u=s(9275),y=s(7090),m=s(177),v=s(5077),c=s(7774),i=s(2962),e=s(6279);p.exports=function(t){return new Promise(function(r,d){var R,x=t.data,P=t.headers,I=t.responseType;function M(){t.cancelToken&&t.cancelToken.unsubscribe(R),t.signal&&t.signal.removeEventListener("abort",R)}h.isFormData(x)&&delete P["Content-Type"];var N=new XMLHttpRequest;if(t.auth){var K=t.auth.username||"",j=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";P.Authorization="Basic "+btoa(K+":"+j)}var le=y(t.baseURL,t.url);function fe(){if(N){var W="getAllResponseHeaders"in N?m(N.getAllResponseHeaders()):null,me={data:I&&I!=="text"&&I!=="json"?N.response:N.responseText,status:N.status,statusText:N.statusText,headers:W,config:t,request:N};g(function(be){r(be),M()},function(be){d(be),M()},me),N=null}}if(N.open(t.method.toUpperCase(),u(le,t.params,t.paramsSerializer),!0),N.timeout=t.timeout,"onloadend"in N?N.onloadend=fe:N.onreadystatechange=function(){N&&N.readyState===4&&(N.status!==0||N.responseURL&&N.responseURL.indexOf("file:")===0)&&setTimeout(fe)},N.onabort=function(){N&&(d(c("Request aborted",t,"ECONNABORTED",N)),N=null)},N.onerror=function(){d(c("Network Error",t,null,N)),N=null},N.ontimeout=function(){var W=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",me=t.transitional||i.transitional;t.timeoutErrorMessage&&(W=t.timeoutErrorMessage),d(c(W,t,me.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",N)),N=null},h.isStandardBrowserEnv()){var k=(t.withCredentials||v(le))&&t.xsrfCookieName?b.read(t.xsrfCookieName):void 0;k&&(P[t.xsrfHeaderName]=k)}"setRequestHeader"in N&&h.forEach(P,function(W,me){x===void 0&&me.toLowerCase()==="content-type"?delete P[me]:N.setRequestHeader(me,W)}),h.isUndefined(t.withCredentials)||(N.withCredentials=!!t.withCredentials),I&&I!=="json"&&(N.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&N.addEventListener("progress",t.onDownloadProgress),typeof t.onUploadProgress=="function"&&N.upload&&N.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(R=function(W){N&&(d(!W||W&&W.type?new e("canceled"):W),N.abort(),N=null)},t.cancelToken&&t.cancelToken.subscribe(R),t.signal&&(t.signal.aborted?R():t.signal.addEventListener("abort",R))),x||(x=null),N.send(x)})}},2695:function(p,A,s){var h=s(4932),g=Math.min;p.exports=function(b){var u=h(b);return u>0?g(u,9007199254740991):0}},2892:function(p,A,s){var h=s(848),g=s(9656),b=s(1606);g("toStringTag"),b(h("Symbol"),"Symbol")},2895:function(p,A,s){var h=s(9656),g=s(6689);h("toPrimitive"),g()},2909:function(p,A,s){var h,g=s(4398),b=s(2066),u=s(2030),y=s(640),m=s(4510),v=s(1466),c=s(2316),i="prototype",e="script",t=c("IE_PROTO"),r=function(){},d=function(P){return"<"+e+">"+P+"</"+e+">"},R=function(P){P.write(d("")),P.close();var I=P.parentWindow.Object;return P=null,I},x=function(){try{h=new ActiveXObject("htmlfile")}catch{}var P,I,M;x=typeof document<"u"?document.domain&&h?R(h):(I=v("iframe"),M="java"+e+":",I.style.display="none",m.appendChild(I),I.src=String(M),(P=I.contentWindow.document).open(),P.write(d("document.F=Object")),P.close(),P.F):R(h);for(var N=u.length;N--;)delete x[i][u[N]];return x()};y[t]=!0,p.exports=Object.create||function(P,I){var M;return P!==null?(r[i]=g(P),M=new r,r[i]=null,M[t]=P):M=x(),I===void 0?M:b.f(M,I)}},2962:function(p,A,s){var h=s(9279),g=s(3661),b=s(1821),u={"Content-Type":"application/x-www-form-urlencoded"};function y(c,i){!h.isUndefined(c)&&h.isUndefined(c["Content-Type"])&&(c["Content-Type"]=i)}var m,v={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:((typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(m=s(2585)),m),transformRequest:[function(c,i){return g(i,"Accept"),g(i,"Content-Type"),h.isFormData(c)||h.isArrayBuffer(c)||h.isBuffer(c)||h.isStream(c)||h.isFile(c)||h.isBlob(c)?c:h.isArrayBufferView(c)?c.buffer:h.isURLSearchParams(c)?(y(i,"application/x-www-form-urlencoded;charset=utf-8"),c.toString()):h.isObject(c)||i&&i["Content-Type"]==="application/json"?(y(i,"application/json"),function(e,t,r){if(h.isString(e))try{return(t||JSON.parse)(e),h.trim(e)}catch(d){if(d.name!=="SyntaxError")throw d}return(r||JSON.stringify)(e)}(c)):c}],transformResponse:[function(c){var i=this.transitional||v.transitional,e=i&&i.silentJSONParsing,t=i&&i.forcedJSONParsing,r=!e&&this.responseType==="json";if(r||t&&h.isString(c)&&c.length)try{return JSON.parse(c)}catch(d){if(r)throw d.name==="SyntaxError"?b(d,this,"E_JSON_PARSE"):d}return c}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(c){return c>=200&&c<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};h.forEach(["delete","get","head"],function(c){v.headers[c]={}}),h.forEach(["post","put","patch"],function(c){v.headers[c]=h.merge(u)}),p.exports=v},2971:function(p,A){A.A="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="},3125:function(p,A,s){var h=s(8793),g=s(9200),b=h.WeakMap;p.exports=g(b)&&/native code/.test(String(b))},3129:function(p,A,s){var h=s(4174),g=s(4446);p.exports=function(b,u,y){return y.get&&h(y.get,u,{getter:!0}),y.set&&h(y.set,u,{setter:!0}),g.f(b,u,y)}},3143:function(p,A,s){s(9656)("matchAll")},3217:function(p){p.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}},3353:function(p,A,s){var h=s(8793),g=s(2428).f,b=s(5044),u=s(8521),y=s(8466),m=s(4085),v=s(7453);p.exports=function(c,i){var e,t,r,d,R,x=c.target,P=c.global,I=c.stat;if(e=P?h:I?h[x]||y(x,{}):h[x]&&h[x].prototype)for(t in i){if(d=i[t],r=c.dontCallGetSet?(R=g(e,t))&&R.value:e[t],!v(P?t:x+(I?".":"#")+t,c.forced)&&r!==void 0){if(typeof d==typeof r)continue;m(d,r)}(c.sham||r&&r.sham)&&b(d,"sham",!0),u(e,t,d,c)}}},3358:function(p,A,s){var h=s(942),g=s(4702),b=s(9140),u=g("species");p.exports=function(y){return b>=51||!h(function(){var m=[];return(m.constructor={})[u]=function(){return{foo:1}},m[y](Boolean).foo!==1})}},3614:function(p,A,s){var h=s(7133),g=s(942),b=s(9200),u=s(3650),y=s(848),m=s(7217),v=function(){},c=y("Reflect","construct"),i=/^\s*(?:class|function)\b/,e=h(i.exec),t=!i.test(v),r=function(R){if(!b(R))return!1;try{return c(v,[],R),!0}catch{return!1}},d=function(R){if(!b(R))return!1;switch(u(R)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return t||!!e(i,m(R))}catch{return!0}};d.sham=!0,p.exports=!c||g(function(){var R;return r(r.call)||!r(Object)||!r(function(){R=!0})||R})?d:r},3650:function(p,A,s){var h=s(917),g=s(9200),b=s(5589),u=s(4702)("toStringTag"),y=Object,m=b(function(){return arguments}())==="Arguments";p.exports=h?b:function(v){var c,i,e;return v===void 0?"Undefined":v===null?"Null":typeof(i=function(t,r){try{return t[r]}catch{}}(c=y(v),u))=="string"?i:m?b(c):(e=b(c))==="Object"&&g(c.callee)?"Arguments":e}},3661:function(p,A,s){var h=s(9279);p.exports=function(g,b){h.forEach(g,function(u,y){y!==b&&y.toUpperCase()===b.toUpperCase()&&(g[b]=u,delete g[y])})}},3733:function(p,A,s){var h=s(8959),g=s(2030);p.exports=Object.keys||function(b){return h(b,g)}},3765:function(p){function A(u){return typeof Float32Array<"u"?function(){var y=new Float32Array([-0]),m=new Uint8Array(y.buffer),v=m[3]===128;function c(r,d,R){y[0]=r,d[R]=m[0],d[R+1]=m[1],d[R+2]=m[2],d[R+3]=m[3]}function i(r,d,R){y[0]=r,d[R]=m[3],d[R+1]=m[2],d[R+2]=m[1],d[R+3]=m[0]}function e(r,d){return m[0]=r[d],m[1]=r[d+1],m[2]=r[d+2],m[3]=r[d+3],y[0]}function t(r,d){return m[3]=r[d],m[2]=r[d+1],m[1]=r[d+2],m[0]=r[d+3],y[0]}u.writeFloatLE=v?c:i,u.writeFloatBE=v?i:c,u.readFloatLE=v?e:t,u.readFloatBE=v?t:e}():function(){function y(v,c,i,e){var t=c<0?1:0;if(t&&(c=-c),c===0)v(1/c>0?0:2147483648,i,e);else if(isNaN(c))v(2143289344,i,e);else if(c>34028234663852886e22)v((t<<31|2139095040)>>>0,i,e);else if(c<11754943508222875e-54)v((t<<31|Math.round(c/1401298464324817e-60))>>>0,i,e);else{var r=Math.floor(Math.log(c)/Math.LN2);v((t<<31|r+127<<23|8388607&Math.round(c*Math.pow(2,-r)*8388608))>>>0,i,e)}}function m(v,c,i){var e=v(c,i),t=2*(e>>31)+1,r=e>>>23&255,d=8388607&e;return r===255?d?NaN:t*(1/0):r===0?1401298464324817e-60*t*d:t*Math.pow(2,r-150)*(d+8388608)}u.writeFloatLE=y.bind(null,s),u.writeFloatBE=y.bind(null,h),u.readFloatLE=m.bind(null,g),u.readFloatBE=m.bind(null,b)}(),typeof Float64Array<"u"?function(){var y=new Float64Array([-0]),m=new Uint8Array(y.buffer),v=m[7]===128;function c(r,d,R){y[0]=r,d[R]=m[0],d[R+1]=m[1],d[R+2]=m[2],d[R+3]=m[3],d[R+4]=m[4],d[R+5]=m[5],d[R+6]=m[6],d[R+7]=m[7]}function i(r,d,R){y[0]=r,d[R]=m[7],d[R+1]=m[6],d[R+2]=m[5],d[R+3]=m[4],d[R+4]=m[3],d[R+5]=m[2],d[R+6]=m[1],d[R+7]=m[0]}function e(r,d){return m[0]=r[d],m[1]=r[d+1],m[2]=r[d+2],m[3]=r[d+3],m[4]=r[d+4],m[5]=r[d+5],m[6]=r[d+6],m[7]=r[d+7],y[0]}function t(r,d){return m[7]=r[d],m[6]=r[d+1],m[5]=r[d+2],m[4]=r[d+3],m[3]=r[d+4],m[2]=r[d+5],m[1]=r[d+6],m[0]=r[d+7],y[0]}u.writeDoubleLE=v?c:i,u.writeDoubleBE=v?i:c,u.readDoubleLE=v?e:t,u.readDoubleBE=v?t:e}():function(){function y(v,c,i,e,t,r){var d=e<0?1:0;if(d&&(e=-e),e===0)v(0,t,r+c),v(1/e>0?0:2147483648,t,r+i);else if(isNaN(e))v(0,t,r+c),v(2146959360,t,r+i);else if(e>17976931348623157e292)v(0,t,r+c),v((d<<31|2146435072)>>>0,t,r+i);else{var R;if(e<22250738585072014e-324)v((R=e/5e-324)>>>0,t,r+c),v((d<<31|R/4294967296)>>>0,t,r+i);else{var x=Math.floor(Math.log(e)/Math.LN2);x===1024&&(x=1023),v(4503599627370496*(R=e*Math.pow(2,-x))>>>0,t,r+c),v((d<<31|x+1023<<20|1048576*R&1048575)>>>0,t,r+i)}}}function m(v,c,i,e,t){var r=v(e,t+c),d=v(e,t+i),R=2*(d>>31)+1,x=d>>>20&2047,P=4294967296*(1048575&d)+r;return x===2047?P?NaN:R*(1/0):x===0?5e-324*R*P:R*Math.pow(2,x-1075)*(P+4503599627370496)}u.writeDoubleLE=y.bind(null,s,0,4),u.writeDoubleBE=y.bind(null,h,4,0),u.readDoubleLE=m.bind(null,g,0,4),u.readDoubleBE=m.bind(null,b,4,0)}(),u}function s(u,y,m){y[m]=255&u,y[m+1]=u>>>8&255,y[m+2]=u>>>16&255,y[m+3]=u>>>24}function h(u,y,m){y[m]=u>>>24,y[m+1]=u>>>16&255,y[m+2]=u>>>8&255,y[m+3]=255&u}function g(u,y){return(u[y]|u[y+1]<<8|u[y+2]<<16|u[y+3]<<24)>>>0}function b(u,y){return(u[y]<<24|u[y+1]<<16|u[y+2]<<8|u[y+3])>>>0}p.exports=A(A)},3769:function(p,A,s){var h=s(7774);p.exports=function(g,b,u){var y=u.config.validateStatus;u.status&&y&&!y(u.status)?b(h("Request failed with status code "+u.status,u.config,null,u.request,u)):g(u)}},3977:function(p,A,s){var h=s(2178),g=TypeError;p.exports=function(b){if(h(b))throw new g("Can't call method on "+b);return b}},3996:function(p){p.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":"雲端應用斷開,重新啓動中","LK_APP_PROCESS_NOTIFI_APP_QUIT_2":"雲端應用退出,請重新進入該應用","WAIT_QUEUE_COUNT":"系統已啓用排隊功能,當前隊列前有等待用戶: "}}')},4059:function(p,A){A.A="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"},4085:function(p,A,s){var h=s(9158),g=s(4540),b=s(2428),u=s(4446);p.exports=function(y,m,v){for(var c=g(m),i=u.f,e=b.f,t=0;t<c.length;t++){var r=c[t];h(y,r)||v&&h(v,r)||i(y,r,e(m,r))}}},4106:function(p,A){A.A="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="},4131:function(p,A,s){var h=s(3353),g=s(8793),b=s(1606);h({global:!0},{Reflect:{}}),b(g.Reflect,"Reflect",!0)},4145:function(p,A){A.A="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=="},4174:function(p,A,s){var h=s(7133),g=s(942),b=s(9200),u=s(9158),y=s(6857),m=s(7403).CONFIGURABLE,v=s(7217),c=s(1514),i=c.enforce,e=c.get,t=String,r=Object.defineProperty,d=h("".slice),R=h("".replace),x=h([].join),P=y&&!g(function(){return r(function(){},"length",{value:8}).length!==8}),I=String(String).split("String"),M=p.exports=function(N,K,j){d(t(K),0,7)==="Symbol("&&(K="["+R(t(K),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),j&&j.getter&&(K="get "+K),j&&j.setter&&(K="set "+K),(!u(N,"name")||m&&N.name!==K)&&(y?r(N,"name",{value:K,configurable:!0}):N.name=K),P&&j&&u(j,"arity")&&N.length!==j.arity&&r(N,"length",{value:j.arity});try{j&&u(j,"constructor")&&j.constructor?y&&r(N,"prototype",{writable:!1}):N.prototype&&(N.prototype=void 0)}catch{}var le=i(N);return u(le,"source")||(le.source=x(I,typeof K=="string"?K:"")),N};Function.prototype.toString=M(function(){return b(this)&&e(this).source||v(this)},"toString")},4198:function(p){p.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...","WAIT_QUEUE_COUNT":"Wait count before me: "}}')},4202:function(p,A,s){var h=s(917),g=s(8521),b=s(6952);h||g(Object.prototype,"toString",b,{unsafe:!0})},4238:function(p){p.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},4331:function(p){function A(){this._listeners={}}p.exports=A,A.prototype.on=function(s,h,g){return(this._listeners[s]||(this._listeners[s]=[])).push({fn:h,ctx:g||this}),this},A.prototype.off=function(s,h){if(s===void 0)this._listeners={};else if(h===void 0)this._listeners[s]=[];else for(var g=this._listeners[s],b=0;b<g.length;)g[b].fn===h?g.splice(b,1):++b;return this},A.prototype.emit=function(s){var h=this._listeners[s];if(h){for(var g=[],b=1;b<arguments.length;)g.push(arguments[b++]);for(b=0;b<h.length;)h[b].fn.apply(h[b++].ctx,g)}return this}},4360:function(p,A,s){var h=s(8060),g=s(3977);p.exports=function(b){return h(g(b))}},4398:function(p,A,s){var h=s(9131),g=String,b=TypeError;p.exports=function(u){if(h(u))return u;throw new b(g(u)+" is not an object")}},4446:function(p,A,s){var h=s(6857),g=s(5842),b=s(335),u=s(4398),y=s(2548),m=TypeError,v=Object.defineProperty,c=Object.getOwnPropertyDescriptor,i="enumerable",e="configurable",t="writable";A.f=h?b?function(r,d,R){if(u(r),d=y(d),u(R),typeof r=="function"&&d==="prototype"&&"value"in R&&t in R&&!R[t]){var x=c(r,d);x&&x[t]&&(r[d]=R.value,R={configurable:e in R?R[e]:x[e],enumerable:i in R?R[i]:x[i],writable:!1})}return v(r,d,R)}:v:function(r,d,R){if(u(r),d=y(d),u(R),g)try{return v(r,d,R)}catch{}if("get"in R||"set"in R)throw new m("Accessors not supported");return"value"in R&&(r[d]=R.value),r}},4510:function(p,A,s){var h=s(848);p.exports=h("document","documentElement")},4540:function(p,A,s){var h=s(848),g=s(7133),b=s(5809),u=s(1264),y=s(4398),m=g([].concat);p.exports=h("Reflect","ownKeys")||function(v){var c=b.f(y(v)),i=u.f;return i?m(c,i(v)):c}},4635:function(p,A,s){var h=s(1982).IteratorPrototype,g=s(2909),b=s(2007),u=s(1606),y=s(488),m=function(){return this};p.exports=function(v,c,i,e){var t=c+" Iterator";return v.prototype=g(h,{next:b(+!e,i)}),u(v,t,!1,!0),y[t]=m,v}},4686:function(p){var A=TypeError;p.exports=function(s){if(s>9007199254740991)throw A("Maximum allowed index exceeded");return s}},4690:function(p,A){A.A="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="},4702:function(p,A,s){var h=s(8793),g=s(6014),b=s(9158),u=s(685),y=s(260),m=s(6253),v=h.Symbol,c=g("wks"),i=m?v.for||v:v&&v.withoutSetter||u;p.exports=function(e){return b(c,e)||(c[e]=y&&b(v,e)?v[e]:i("Symbol."+e)),c[e]}},4932:function(p,A,s){var h=s(8226);p.exports=function(g){var b=+g;return b!=b||b===0?0:h(b)}},4990:function(p,A,s){var h=s(4702);A.f=h},5044:function(p,A,s){var h=s(6857),g=s(4446),b=s(2007);p.exports=h?function(u,y,m){return g.f(u,y,b(1,m))}:function(u,y,m){return u[y]=m,u}},5077:function(p,A,s){var h=s(9279);p.exports=h.isStandardBrowserEnv()?function(){var g,b=/(msie|trident)/i.test(navigator.userAgent),u=document.createElement("a");function y(m){var v=m;return b&&(u.setAttribute("href",v),v=u.href),u.setAttribute("href",v),{href:u.href,protocol:u.protocol?u.protocol.replace(/:$/,""):"",host:u.host,search:u.search?u.search.replace(/^\?/,""):"",hash:u.hash?u.hash.replace(/^#/,""):"",hostname:u.hostname,port:u.port,pathname:u.pathname.charAt(0)==="/"?u.pathname:"/"+u.pathname}}return g=y(window.location.href),function(m){var v=h.isString(m)?y(m):m;return v.protocol===g.protocol&&v.host===g.host}}():function(){return!0}},5132:function(p,A,s){var h=s(9279);function g(){this.handlers=[]}g.prototype.use=function(b,u,y){return this.handlers.push({fulfilled:b,rejected:u,synchronous:!!y&&y.synchronous,runWhen:y?y.runWhen:null}),this.handlers.length-1},g.prototype.eject=function(b){this.handlers[b]&&(this.handlers[b]=null)},g.prototype.forEach=function(b){h.forEach(this.handlers,function(u){u!==null&&b(u)})},p.exports=g},5210:function(p,A,s){var h=s(1818),g=s(8793),b=s(8466),u="__core-js_shared__",y=p.exports=g[u]||b(u,{});(y.versions||(y.versions=[])).push({version:"3.42.0",mode:h?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})},5230:function(p,A){var s=A;s.length=function(h){for(var g=0,b=0,u=0;u<h.length;++u)(b=h.charCodeAt(u))<128?g+=1:b<2048?g+=2:(64512&b)==55296&&(64512&h.charCodeAt(u+1))==56320?(++u,g+=4):g+=3;return g},s.read=function(h,g,b){if(b-g<1)return"";for(var u,y=null,m=[],v=0;g<b;)(u=h[g++])<128?m[v++]=u:u>191&&u<224?m[v++]=(31&u)<<6|63&h[g++]:u>239&&u<365?(u=((7&u)<<18|(63&h[g++])<<12|(63&h[g++])<<6|63&h[g++])-65536,m[v++]=55296+(u>>10),m[v++]=56320+(1023&u)):m[v++]=(15&u)<<12|(63&h[g++])<<6|63&h[g++],v>8191&&((y||(y=[])).push(String.fromCharCode.apply(String,m)),v=0);return y?(v&&y.push(String.fromCharCode.apply(String,m.slice(0,v))),y.join("")):String.fromCharCode.apply(String,m.slice(0,v))},s.write=function(h,g,b){for(var u,y,m=b,v=0;v<h.length;++v)(u=h.charCodeAt(v))<128?g[b++]=u:u<2048?(g[b++]=u>>6|192,g[b++]=63&u|128):(64512&u)==55296&&(64512&(y=h.charCodeAt(v+1)))==56320?(u=65536+((1023&u)<<10)+(1023&y),++v,g[b++]=u>>18|240,g[b++]=u>>12&63|128,g[b++]=u>>6&63|128,g[b++]=63&u|128):(g[b++]=u>>12|224,g[b++]=u>>6&63|128,g[b++]=63&u|128);return b-m}},5249:function(p,A,s){var h=s(5589),g=s(4360),b=s(5809).f,u=s(2485),y=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];p.exports.f=function(m){return y&&h(m)==="Window"?function(v){try{return b(v)}catch{return u(y)}}(m):b(g(m))}},5270:function(p,A,s){var h=s(9158),g=s(9200),b=s(9272),u=s(2316),y=s(6308),m=u("IE_PROTO"),v=Object,c=v.prototype;p.exports=y?v.getPrototypeOf:function(i){var e=b(i);if(h(e,m))return e[m];var t=e.constructor;return g(t)&&e instanceof t?t.prototype:e instanceof v?c:null}},5457:function(p,A,s){var h=s(527),g=s(2365),b=s(7315),u=h(h.bind);p.exports=function(y,m){return g(y),m===void 0?y:b?u(y,m):function(){return y.apply(m,arguments)}}},5478:function(p,A,s){p.exports=m;var h,g=s(393),b=g.LongBits,u=g.utf8;function y(d,R){return RangeError("index out of range: "+d.pos+" + "+(R||1)+" > "+d.len)}function m(d){this.buf=d,this.pos=0,this.len=d.length}var v,c=typeof Uint8Array<"u"?function(d){if(d instanceof Uint8Array||Array.isArray(d))return new m(d);throw Error("illegal buffer")}:function(d){if(Array.isArray(d))return new m(d);throw Error("illegal buffer")},i=function(){return g.Buffer?function(d){return(m.create=function(R){return g.Buffer.isBuffer(R)?new h(R):c(R)})(d)}:c};function e(){var d=new b(0,0),R=0;if(!(this.len-this.pos>4)){for(;R<3;++R){if(this.pos>=this.len)throw y(this);if(d.lo=(d.lo|(127&this.buf[this.pos])<<7*R)>>>0,this.buf[this.pos++]<128)return d}return d.lo=(d.lo|(127&this.buf[this.pos++])<<7*R)>>>0,d}for(;R<4;++R)if(d.lo=(d.lo|(127&this.buf[this.pos])<<7*R)>>>0,this.buf[this.pos++]<128)return d;if(d.lo=(d.lo|(127&this.buf[this.pos])<<28)>>>0,d.hi=(d.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return d;if(R=0,this.len-this.pos>4){for(;R<5;++R)if(d.hi=(d.hi|(127&this.buf[this.pos])<<7*R+3)>>>0,this.buf[this.pos++]<128)return d}else for(;R<5;++R){if(this.pos>=this.len)throw y(this);if(d.hi=(d.hi|(127&this.buf[this.pos])<<7*R+3)>>>0,this.buf[this.pos++]<128)return d}throw Error("invalid varint encoding")}function t(d,R){return(d[R-4]|d[R-3]<<8|d[R-2]<<16|d[R-1]<<24)>>>0}function r(){if(this.pos+8>this.len)throw y(this,8);return new b(t(this.buf,this.pos+=4),t(this.buf,this.pos+=4))}m.create=i(),m.prototype._slice=g.Array.prototype.subarray||g.Array.prototype.slice,m.prototype.uint32=(v=4294967295,function(){if(v=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128||(v=(v|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)||(v=(v|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)||(v=(v|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)||(v=(v|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128))return v;if((this.pos+=5)>this.len)throw this.pos=this.len,y(this,10);return v}),m.prototype.int32=function(){return 0|this.uint32()},m.prototype.sint32=function(){var d=this.uint32();return d>>>1^-(1&d)},m.prototype.bool=function(){return this.uint32()!==0},m.prototype.fixed32=function(){if(this.pos+4>this.len)throw y(this,4);return t(this.buf,this.pos+=4)},m.prototype.sfixed32=function(){if(this.pos+4>this.len)throw y(this,4);return 0|t(this.buf,this.pos+=4)},m.prototype.float=function(){if(this.pos+4>this.len)throw y(this,4);var d=g.float.readFloatLE(this.buf,this.pos);return this.pos+=4,d},m.prototype.double=function(){if(this.pos+8>this.len)throw y(this,4);var d=g.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,d},m.prototype.bytes=function(){var d=this.uint32(),R=this.pos,x=this.pos+d;if(x>this.len)throw y(this,d);return this.pos+=d,Array.isArray(this.buf)?this.buf.slice(R,x):R===x?new this.buf.constructor(0):this._slice.call(this.buf,R,x)},m.prototype.string=function(){var d=this.bytes();return u.read(d,0,d.length)},m.prototype.skip=function(d){if(typeof d=="number"){if(this.pos+d>this.len)throw y(this,d);this.pos+=d}else do if(this.pos>=this.len)throw y(this);while(128&this.buf[this.pos++]);return this},m.prototype.skipType=function(d){switch(d){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(d=7&this.uint32())!=4;)this.skipType(d);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+d+" at offset "+this.pos)}return this},m._configure=function(d){h=d,m.create=i(),h._configure();var R=g.Long?"toLong":"toNumber";g.merge(m.prototype,{int64:function(){return e.call(this)[R](!1)},uint64:function(){return e.call(this)[R](!0)},sint64:function(){return e.call(this).zzDecode()[R](!1)},fixed64:function(){return r.call(this)[R](!0)},sfixed64:function(){return r.call(this)[R](!1)}})}},5566:function(p){p.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."}]}]}')},5589:function(p,A,s){var h=s(7133),g=h({}.toString),b=h("".slice);p.exports=function(u){return b(g(u),8,-1)}},5636:function(p,A,s){var h=s(9279),g=s(2962);p.exports=function(b,u,y){var m=this||g;return h.forEach(y,function(v){b=v.call(m,b,u)}),b}},5809:function(p,A,s){var h=s(8959),g=s(2030).concat("length","prototype");A.f=Object.getOwnPropertyNames||function(b){return h(b,g)}},5827:function(p,A,s){var h=s(1466)("span").classList,g=h&&h.constructor&&h.constructor.prototype;p.exports=g===Object.prototype?void 0:g},5842:function(p,A,s){var h=s(6857),g=s(942),b=s(1466);p.exports=!h&&!g(function(){return Object.defineProperty(b("div"),"a",{get:function(){return 7}}).a!==7})},5909:function(p,A,s){var h=s(6857),g=s(4446),b=s(2007);p.exports=function(u,y,m){h?g.f(u,y,b(0,m)):u[y]=m}},5957:function(p,A){A.A="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="},6014:function(p,A,s){var h=s(5210);p.exports=function(g,b){return h[g]||(h[g]=b||{})}},6131:function(p){var A;A=typeof window=="object"&&window,p.exports=function(s,h){var g,b,u,y,m,v,c,i,e,t,r,d,R,x,P,I,M,N,K,j,le,fe;if(s)return s.jWeixin?s.jWeixin:(g={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"},b=function(){var T,F={};for(T in g)F[g[T]]=T;return F}(),u=s.document,y=u.title,m=navigator.userAgent.toLowerCase(),d=navigator.platform.toLowerCase(),v=!(!d.match("mac")&&!d.match("win")),c=m.indexOf("wxdebugger")!=-1,i=m.indexOf("micromessenger")!=-1,e=m.indexOf("android")!=-1,t=m.indexOf("iphone")!=-1||m.indexOf("ipad")!=-1,r=(d=m.match(/micromessenger\/(\d+\.\d+\.\d+)/)||m.match(/micromessenger\/(\d+\.\d+)/))?d[1]:"",R={initStartTime:Be(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},x={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:t?1:e?2:-1,clientVersion:r,url:encodeURIComponent(location.href)},P={},I={_completes:[]},M={state:0,data:{}},Ve(function(){R.initEndTime=Be()}),N=!1,K=[],j={config:function(T){_e("config",P=T);var F=P.check!==!1;Ve(function(){if(F)k(g.config,{verifyJsApiList:Se(P.jsApiList),verifyOpenTagList:Se(P.openTagList)},(I._complete=function(we){R.preVerifyEndTime=Be(),M.state=1,M.data=we},I.success=function(we){x.isPreVerifyOk=0},I.fail=function(we){I._fail?I._fail(we):M.state=-1},(ye=I._completes).push(function(){je()}),I.complete=function(we){for(var ae=0,$e=ye.length;ae<$e;++ae)ye[ae]();I._completes=[]},I)),R.preVerifyStartTime=Be();else{M.state=1;for(var Z=I._completes,G=0,ie=Z.length;G<ie;++G)Z[G]();I._completes=[]}var ye}),j.invoke||(j.invoke=function(Z,G,ie){s.WeixinJSBridge&&WeixinJSBridge.invoke(Z,me(G),ie)},j.on=function(Z,G){s.WeixinJSBridge&&WeixinJSBridge.on(Z,G)})},ready:function(T){(M.state!=0||(I._completes.push(T),!i&&P.debug))&&T()},error:function(T){r<"6.0.2"||(M.state==-1?T(M.data):I._fail=T)},checkJsApi:function(T){k("checkJsApi",{jsApiList:Se(T.jsApiList)},(T._complete=function(F){e&&(G=F.checkResult)&&(F.checkResult=JSON.parse(G));var Z,G=F,ie=G.checkResult;for(Z in ie){var ye=b[Z];ye&&(ie[ye]=ie[Z],delete ie[Z])}},T))},onMenuShareTimeline:function(T){W(g.onMenuShareTimeline,{complete:function(){k("shareTimeline",{title:T.title||y,desc:T.title||y,img_url:T.imgUrl||"",link:T.link||location.href,type:T.type||"link",data_url:T.dataUrl||""},T)}},T)},onMenuShareAppMessage:function(T){W(g.onMenuShareAppMessage,{complete:function(F){F.scene==="favorite"?k("sendAppMessage",{title:T.title||y,desc:T.desc||"",link:T.link||location.href,img_url:T.imgUrl||"",type:T.type||"link",data_url:T.dataUrl||""}):k("sendAppMessage",{title:T.title||y,desc:T.desc||"",link:T.link||location.href,img_url:T.imgUrl||"",type:T.type||"link",data_url:T.dataUrl||""},T)}},T)},onMenuShareQQ:function(T){W(g.onMenuShareQQ,{complete:function(){k("shareQQ",{title:T.title||y,desc:T.desc||"",img_url:T.imgUrl||"",link:T.link||location.href},T)}},T)},onMenuShareWeibo:function(T){W(g.onMenuShareWeibo,{complete:function(){k("shareWeiboApp",{title:T.title||y,desc:T.desc||"",img_url:T.imgUrl||"",link:T.link||location.href},T)}},T)},onMenuShareQZone:function(T){W(g.onMenuShareQZone,{complete:function(){k("shareQZone",{title:T.title||y,desc:T.desc||"",img_url:T.imgUrl||"",link:T.link||location.href},T)}},T)},updateTimelineShareData:function(T){k("updateTimelineShareData",{title:T.title,link:T.link,imgUrl:T.imgUrl},T)},updateAppMessageShareData:function(T){k("updateAppMessageShareData",{title:T.title,desc:T.desc,link:T.link,imgUrl:T.imgUrl},T)},startRecord:function(T){k("startRecord",{},T)},stopRecord:function(T){k("stopRecord",{},T)},onVoiceRecordEnd:function(T){W("onVoiceRecordEnd",T)},playVoice:function(T){k("playVoice",{localId:T.localId},T)},pauseVoice:function(T){k("pauseVoice",{localId:T.localId},T)},stopVoice:function(T){k("stopVoice",{localId:T.localId},T)},onVoicePlayEnd:function(T){W("onVoicePlayEnd",T)},uploadVoice:function(T){k("uploadVoice",{localId:T.localId,isShowProgressTips:T.isShowProgressTips==0?0:1},T)},downloadVoice:function(T){k("downloadVoice",{serverId:T.serverId,isShowProgressTips:T.isShowProgressTips==0?0:1},T)},translateVoice:function(T){k("translateVoice",{localId:T.localId,isShowProgressTips:T.isShowProgressTips==0?0:1},T)},chooseImage:function(T){k("chooseImage",{scene:"1|2",count:T.count||9,sizeType:T.sizeType||["original","compressed"],sourceType:T.sourceType||["album","camera"]},(T._complete=function(F){if(e){var Z=F.localIds;try{Z&&(F.localIds=JSON.parse(Z))}catch{}}},T))},getLocation:function(T){T=T||{},k(g.getLocation,{type:T.type||"wgs84"},(T._complete=function(F){delete F.type},T))},previewImage:function(T){k(g.previewImage,{current:T.current,urls:T.urls},T)},uploadImage:function(T){k("uploadImage",{localId:T.localId,isShowProgressTips:T.isShowProgressTips==0?0:1},T)},downloadImage:function(T){k("downloadImage",{serverId:T.serverId,isShowProgressTips:T.isShowProgressTips==0?0:1},T)},getLocalImgData:function(T){N===!1?(N=!0,k("getLocalImgData",{localId:T.localId},(T._complete=function(F){var Z;N=!1,0<K.length&&(Z=K.shift(),wx.getLocalImgData(Z))},T))):K.push(T)},getNetworkType:function(T){k("getNetworkType",{},(T._complete=function(F){var Z=F,G=(F=Z.errMsg,Z.errMsg="getNetworkType:ok",Z.subtype);if(delete Z.subtype,G)Z.networkType=G;else{G=F.indexOf(":");var ie=F.substring(G+1);switch(ie){case"wifi":case"edge":case"wwan":Z.networkType=ie;break;default:Z.errMsg="getNetworkType:fail"}}},T))},openLocation:function(T){k("openLocation",{latitude:T.latitude,longitude:T.longitude,name:T.name||"",address:T.address||"",scale:T.scale||28,infoUrl:T.infoUrl||""},T)},hideOptionMenu:function(T){k("hideOptionMenu",{},T)},showOptionMenu:function(T){k("showOptionMenu",{},T)},closeWindow:function(T){k("closeWindow",{},T=T||{})},hideMenuItems:function(T){k("hideMenuItems",{menuList:T.menuList},T)},showMenuItems:function(T){k("showMenuItems",{menuList:T.menuList},T)},hideAllNonBaseMenuItem:function(T){k("hideAllNonBaseMenuItem",{},T)},showAllNonBaseMenuItem:function(T){k("showAllNonBaseMenuItem",{},T)},scanQRCode:function(T){k("scanQRCode",{needResult:(T=T||{}).needResult||0,scanType:T.scanType||["qrCode","barCode"]},(T._complete=function(F){var Z;t&&(Z=F.resultStr)&&(Z=JSON.parse(Z),F.resultStr=Z&&Z.scan_code&&Z.scan_code.scan_result)},T))},openAddress:function(T){k(g.openAddress,{},(T._complete=function(F){F.postalCode=F.addressPostalCode,delete F.addressPostalCode,F.provinceName=F.proviceFirstStageName,delete F.proviceFirstStageName,F.cityName=F.addressCitySecondStageName,delete F.addressCitySecondStageName,F.countryName=F.addressCountiesThirdStageName,delete F.addressCountiesThirdStageName,F.detailInfo=F.addressDetailInfo,delete F.addressDetailInfo},T))},openProductSpecificView:function(T){k(g.openProductSpecificView,{pid:T.productId,view_type:T.viewType||0,ext_info:T.extInfo},T)},addCard:function(T){for(var F=T.cardList,Z=[],G=0,ie=F.length;G<ie;++G){var ye={card_id:(ye=F[G]).cardId,card_ext:ye.cardExt};Z.push(ye)}k(g.addCard,{card_list:Z},(T._complete=function(we){if(ae=we.card_list){for(var ae,$e=0,ze=(ae=JSON.parse(ae)).length;$e<ze;++$e){var De=ae[$e];De.cardId=De.card_id,De.cardExt=De.card_ext,De.isSuccess=!!De.is_succ,delete De.card_id,delete De.card_ext,delete De.is_succ}we.cardList=ae,delete we.card_list}},T))},chooseCard:function(T){k("chooseCard",{app_id:P.appId,location_id:T.shopId||"",sign_type:T.signType||"SHA1",card_id:T.cardId||"",card_type:T.cardType||"",card_sign:T.cardSign,time_stamp:T.timestamp+"",nonce_str:T.nonceStr},(T._complete=function(F){F.cardList=F.choose_card_info,delete F.choose_card_info},T))},openCard:function(T){for(var F=T.cardList,Z=[],G=0,ie=F.length;G<ie;++G){var ye={card_id:(ye=F[G]).cardId,code:ye.code};Z.push(ye)}k(g.openCard,{card_list:Z},T)},consumeAndShareCard:function(T){k(g.consumeAndShareCard,{consumedCardId:T.cardId,consumedCode:T.code},T)},chooseWXPay:function(T){k(g.chooseWXPay,be(T),T),je({jsApiName:"chooseWXPay"})},openEnterpriseRedPacket:function(T){k(g.openEnterpriseRedPacket,be(T),T)},startSearchBeacons:function(T){k(g.startSearchBeacons,{ticket:T.ticket},T)},stopSearchBeacons:function(T){k(g.stopSearchBeacons,{},T)},onSearchBeacons:function(T){W(g.onSearchBeacons,T)},openEnterpriseChat:function(T){k("openEnterpriseChat",{useridlist:T.userIds,chatname:T.groupName},T)},launchMiniProgram:function(T){k("launchMiniProgram",{targetAppId:T.targetAppId,path:function(F){var Z;if(typeof F=="string"&&0<F.length)return Z=F.split("?")[0],Z+=".html",(F=F.split("?")[1])!==void 0?Z+"?"+F:Z}(T.path),envVersion:T.envVersion},T)},openBusinessView:function(T){k("openBusinessView",{businessType:T.businessType,queryString:T.queryString||"",envVersion:T.envVersion},(T._complete=function(F){if(e){var Z=F.extraData;if(Z)try{F.extraData=JSON.parse(Z)}catch{F.extraData={}}}},T))},miniProgram:{navigateBack:function(T){T=T||{},Ve(function(){k("invokeMiniProgramAPI",{name:"navigateBack",arg:{delta:T.delta||1}},T)})},navigateTo:function(T){Ve(function(){k("invokeMiniProgramAPI",{name:"navigateTo",arg:{url:T.url}},T)})},redirectTo:function(T){Ve(function(){k("invokeMiniProgramAPI",{name:"redirectTo",arg:{url:T.url}},T)})},switchTab:function(T){Ve(function(){k("invokeMiniProgramAPI",{name:"switchTab",arg:{url:T.url}},T)})},reLaunch:function(T){Ve(function(){k("invokeMiniProgramAPI",{name:"reLaunch",arg:{url:T.url}},T)})},postMessage:function(T){Ve(function(){k("invokeMiniProgramAPI",{name:"postMessage",arg:T.data||{}},T)})},getEnv:function(T){Ve(function(){T({miniprogram:s.__wxjs_environment==="miniprogram"})})}}},le=1,fe={},u.addEventListener("error",function(T){var F,Z,G;e||(G=(F=T.target).tagName,Z=F.src,G!="IMG"&&G!="VIDEO"&&G!="AUDIO"&&G!="SOURCE")||Z.indexOf("wxlocalresource://")!=-1&&(T.preventDefault(),T.stopPropagation(),(G=F["wx-id"])||(G=le++,F["wx-id"]=G),fe[G]||(fe[G]=!0,wx.ready(function(){wx.getLocalImgData({localId:Z,success:function(ie){F.src=ie.localData}})})))},!0),u.addEventListener("load",function(T){var F;e||(F=(T=T.target).tagName,T.src,F!="IMG"&&F!="VIDEO"&&F!="AUDIO"&&F!="SOURCE")||(F=T["wx-id"])&&(fe[F]=!1)},!0),j);function k(T,F,Z){s.WeixinJSBridge?WeixinJSBridge.invoke(T,me(F),function(G){Re(T,G,Z)}):_e(T,Z)}function W(T,F,Z){s.WeixinJSBridge?WeixinJSBridge.on(T,function(G){Z&&Z.trigger&&Z.trigger(G),Re(T,G,F)}):_e(T,Z||F)}function me(T){return(T=T||{}).appId=P.appId,T.verifyAppId=P.appId,T.verifySignType="sha1",T.verifyTimestamp=P.timestamp+"",T.verifyNonceStr=P.nonceStr,T.verifySignature=P.signature,T}function be(T){return{timeStamp:T.timestamp+"",nonceStr:T.nonceStr,package:T.package,paySign:T.paySign,signType:T.signType||"SHA1"}}function Re(T,F,Z){T!="openEnterpriseChat"&&T!=="openBusinessView"||(F.errCode=F.err_code),delete F.err_code,delete F.err_desc,delete F.err_detail;var G=F.errMsg;switch(G||(G=F.err_msg,delete F.err_msg,G=function(ie,ye){var we,ae=b[ie];return ae&&(ie=ae),ae="ok",ye&&(we=ye.indexOf(":"),(ae=(ae=(ae=(ae=(ae=(ae=(ae=ye.substring(we+1))=="confirm"?"ok":ae)=="failed"?"fail":ae).indexOf("failed_")!=-1?ae.substring(7):ae).indexOf("fail_")!=-1?ae.substring(5):ae).replace(/_/g," ")).toLowerCase())!="access denied"&&ae!="no permission to execute"||(ae="permission denied"),(ae=ie=="config"&&ae=="function not exist"?"ok":ae)=="")&&(ae="fail"),ie+":"+ae}(T,G),F.errMsg=G),(Z=Z||{})._complete&&(Z._complete(F),delete Z._complete),G=F.errMsg||"",P.debug&&!Z.isInnerInvoke&&alert(JSON.stringify(F)),T=G.indexOf(":"),G.substring(T+1)){case"ok":Z.success&&Z.success(F);break;case"cancel":Z.cancel&&Z.cancel(F);break;default:Z.fail&&Z.fail(F)}Z.complete&&Z.complete(F)}function Se(T){if(T){for(var F=0,Z=T.length;F<Z;++F){var G=T[F];(G=g[G])&&(T[F]=G)}return T}}function _e(T,F){var Z;!P.debug||F&&F.isInnerInvoke||((Z=b[T])&&(T=Z),F&&F._complete&&delete F._complete,console.log('"'+T+'",',F||""))}function je(T){var F;v||c||P.debug||r<"6.0.2"||x.systemType<0||(F=new Image,x.appId=P.appId,x.initTime=R.initEndTime-R.initStartTime,x.preVerifyTime=R.preVerifyEndTime-R.preVerifyStartTime,j.getNetworkType({isInnerInvoke:!0,success:function(Z){x.networkType=Z.networkType,Z="https://open.weixin.qq.com/sdk/report?v="+x.version+"&o="+x.isPreVerifyOk+"&s="+x.systemType+"&c="+x.clientVersion+"&a="+x.appId+"&n="+x.networkType+"&i="+x.initTime+"&p="+x.preVerifyTime+"&u="+x.url+"&jsapi_name="+(T?T.jsApiName:""),F.src=Z}}))}function Be(){return new Date().getTime()}function Ve(T){i&&(s.WeixinJSBridge?T():u.addEventListener&&u.addEventListener("WeixinJSBridgeReady",T,!1))}console.warn("can't use weixin-js-sdk in server side")}(A)},6134:function(p,A,s){var h=s(4360),g=s(8479),b=s(7457),u=function(y){return function(m,v,c){var i=h(m),e=b(i);if(e===0)return!y&&-1;var t,r=g(c,e);if(y&&v!=v){for(;e>r;)if((t=i[r++])!=t)return!0}else for(;e>r;r++)if((y||r in i)&&i[r]===v)return y||r||0;return!y&&-1}};p.exports={includes:u(!0),indexOf:u(!1)}},6135:function(p,A,s){p.exports=b;var h=s(8118);(b.prototype=Object.create(h.prototype)).constructor=b;var g=s(393);function b(){h.call(this)}function u(y,m,v){y.length<40?g.utf8.write(y,m,v):m.utf8Write?m.utf8Write(y,v):m.write(y,v)}b._configure=function(){b.alloc=g._Buffer_allocUnsafe,b.writeBytesBuffer=g.Buffer&&g.Buffer.prototype instanceof Uint8Array&&g.Buffer.prototype.set.name==="set"?function(y,m,v){m.set(y,v)}:function(y,m,v){if(y.copy)y.copy(m,v,0,y.length);else for(var c=0;c<y.length;)m[v++]=y[c++]}},b.prototype.bytes=function(y){g.isString(y)&&(y=g._Buffer_from(y,"base64"));var m=y.length>>>0;return this.uint32(m),m&&this._push(b.writeBytesBuffer,m,y),this},b.prototype.string=function(y){var m=g.Buffer.byteLength(y);return this.uint32(m),m&&this._push(u,m,y),this},b._configure()},6253:function(p,A,s){var h=s(260);p.exports=h&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},6279:function(p){function A(s){this.message=s}A.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},A.prototype.__CANCEL__=!0,p.exports=A},6290:function(p,A,s){p.exports=g;var h=s(393);function g(m,v){this.lo=m>>>0,this.hi=v>>>0}var b=g.zero=new g(0,0);b.toNumber=function(){return 0},b.zzEncode=b.zzDecode=function(){return this},b.length=function(){return 1};var u=g.zeroHash="\0\0\0\0\0\0\0\0";g.fromNumber=function(m){if(m===0)return b;var v=m<0;v&&(m=-m);var c=m>>>0,i=(m-c)/4294967296>>>0;return v&&(i=~i>>>0,c=~c>>>0,++c>4294967295&&(c=0,++i>4294967295&&(i=0))),new g(c,i)},g.from=function(m){if(typeof m=="number")return g.fromNumber(m);if(h.isString(m)){if(!h.Long)return g.fromNumber(parseInt(m,10));m=h.Long.fromString(m)}return m.low||m.high?new g(m.low>>>0,m.high>>>0):b},g.prototype.toNumber=function(m){if(!m&&this.hi>>>31){var v=1+~this.lo>>>0,c=~this.hi>>>0;return v||(c=c+1>>>0),-(v+4294967296*c)}return this.lo+4294967296*this.hi},g.prototype.toLong=function(m){return h.Long?new h.Long(0|this.lo,0|this.hi,!!m):{low:0|this.lo,high:0|this.hi,unsigned:!!m}};var y=String.prototype.charCodeAt;g.fromHash=function(m){return m===u?b:new g((y.call(m,0)|y.call(m,1)<<8|y.call(m,2)<<16|y.call(m,3)<<24)>>>0,(y.call(m,4)|y.call(m,5)<<8|y.call(m,6)<<16|y.call(m,7)<<24)>>>0)},g.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)},g.prototype.zzEncode=function(){var m=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^m)>>>0,this.lo=(this.lo<<1^m)>>>0,this},g.prototype.zzDecode=function(){var m=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^m)>>>0,this.hi=(this.hi>>>1^m)>>>0,this},g.prototype.length=function(){var m=this.lo,v=(this.lo>>>28|this.hi<<4)>>>0,c=this.hi>>>24;return c===0?v===0?m<16384?m<128?1:2:m<2097152?3:4:v<16384?v<128?5:6:v<2097152?7:8:c<128?9:10}},6293:function(p,A){A.A="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=="},6308:function(p,A,s){var h=s(942);p.exports=!h(function(){function g(){}return g.prototype.constructor=null,Object.getPrototypeOf(new g)!==g.prototype})},6325:function(p,A,s){var h=s(260);p.exports=h&&!!Symbol.for&&!!Symbol.keyFor},6376:function(p,A){A.A="data:image/png;base64,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"},6391:function(p,A,s){var h=s(3353),g=s(848),b=s(9158),u=s(7830),y=s(6014),m=s(6325),v=y("string-to-symbol-registry"),c=y("symbol-to-string-registry");h({target:"Symbol",stat:!0,forced:!m},{for:function(i){var e=u(i);if(b(v,e))return v[e];var t=g("Symbol")(e);return v[e]=t,c[t]=e,t}})},6407:function(p,A,s){p.exports=b;var h=s(5478);(b.prototype=Object.create(h.prototype)).constructor=b;var g=s(393);function b(u){h.call(this,u)}b._configure=function(){g.Buffer&&(b.prototype._slice=g.Buffer.prototype.slice)},b.prototype.string=function(){var u=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+u,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+u,this.len))},b._configure()},6511:function(p,A,s){p.exports=s(1507)},6532:function(p){p.exports={version:"0.24.0"}},6654:function(p,A,s){s.r(A),A.default="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI5ODNFRTY2MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI5ODNFRTY1MTdGOTExRUI5Rjk0RjFDQzYzNzhDOEIwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1NEE3RjA2NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1NEE3RjA3NzNFRDExRUFCOTQ4QkQxMDZERkQxN0Q1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"},6686:function(p,A,s){var h=s(4702),g=s(2909),b=s(4446).f,u=h("unscopables"),y=Array.prototype;y[u]===void 0&&b(y,u,{configurable:!0,value:g(null)}),p.exports=function(m){y[u][m]=!0}},6689:function(p,A,s){var h=s(492),g=s(848),b=s(4702),u=s(8521);p.exports=function(){var y=g("Symbol"),m=y&&y.prototype,v=m&&m.valueOf,c=b("toPrimitive");m&&!m[c]&&u(m,c,function(i){return h(v,this)},{arity:1})}},6732:function(p,A){var s={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,g=h&&!s.call({1:2},1);A.f=g?function(b){var u=h(this,b);return!!u&&u.enumerable}:s},6747:function(p){p.exports=function(A){return!(!A||!A.__CANCEL__)}},6760:function(p,A,s){var h=s(9323),g=s(3614),b=s(9131),u=s(4702)("species"),y=Array;p.exports=function(m){var v;return h(m)&&(v=m.constructor,(g(v)&&(v===y||h(v.prototype))||b(v)&&(v=v[u])===null)&&(v=void 0)),v===void 0?y:v}},6818:function(p){p.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":"应用启动时间过长,如果长时间未进入,请联系管理员检查云端应用。","LOCK_POINTER_FAILED":"锁定鼠标失败,切换为非锁定模式","LOCK_POINTER_FAILED_SECURITY_ERROR":"锁定鼠标失败. 请确认使用HTTPS访问."}}')},6839:function(p,A,s){var h=s(9279),g=s(5636),b=s(6747),u=s(2962),y=s(6279);function m(v){if(v.cancelToken&&v.cancelToken.throwIfRequested(),v.signal&&v.signal.aborted)throw new y("canceled")}p.exports=function(v){return m(v),v.headers=v.headers||{},v.data=g.call(v,v.data,v.headers,v.transformRequest),v.headers=h.merge(v.headers.common||{},v.headers[v.method]||{},v.headers),h.forEach(["delete","get","head","post","put","patch","common"],function(c){delete v.headers[c]}),(v.adapter||u.adapter)(v).then(function(c){return m(v),c.data=g.call(v,c.data,c.headers,v.transformResponse),c},function(c){return b(c)||(m(v),c&&c.response&&(c.response.data=g.call(v,c.response.data,c.response.headers,v.transformResponse))),Promise.reject(c)})}},6857:function(p,A,s){var h=s(942);p.exports=!h(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},6952:function(p,A,s){var h=s(917),g=s(3650);p.exports=h?{}.toString:function(){return"[object "+g(this)+"]"}},7090:function(p,A,s){var h=s(4238),g=s(2015);p.exports=function(b,u){return b&&!h(u)?g(b,u):u}},7133:function(p,A,s){var h=s(7315),g=Function.prototype,b=g.call,u=h&&g.bind.bind(b,b);p.exports=h?u:function(y){return function(){return b.apply(y,arguments)}}},7217:function(p,A,s){var h=s(7133),g=s(9200),b=s(5210),u=h(Function.toString);g(b.inspectSource)||(b.inspectSource=function(y){return u(y)}),p.exports=b.inspectSource},7231:function(p,A,s){var h=s(3353),g=s(942),b=s(9323),u=s(9131),y=s(9272),m=s(7457),v=s(4686),c=s(5909),i=s(9498),e=s(3358),t=s(4702),r=s(9140),d=t("isConcatSpreadable"),R=r>=51||!g(function(){var P=[];return P[d]=!1,P.concat()[0]!==P}),x=function(P){if(!u(P))return!1;var I=P[d];return I!==void 0?!!I:b(P)};h({target:"Array",proto:!0,arity:1,forced:!R||!e("concat")},{concat:function(P){var I,M,N,K,j,le=y(this),fe=i(le,0),k=0;for(I=-1,N=arguments.length;I<N;I++)if(x(j=I===-1?le:arguments[I]))for(K=m(j),v(k+K),M=0;M<K;M++,k++)M in j&&c(fe,k,j[M]);else v(k+1),c(fe,k++,j);return fe.length=k,fe}})},7234:function(p,A,s){var h=s(3353),g=s(6857),b=s(8793),u=s(7133),y=s(9158),m=s(9200),v=s(2430),c=s(7830),i=s(3129),e=s(4085),t=b.Symbol,r=t&&t.prototype;if(g&&m(t)&&(!("description"in r)||t().description!==void 0)){var d={},R=function(){var j=arguments.length<1||arguments[0]===void 0?void 0:c(arguments[0]),le=v(r,this)?new t(j):j===void 0?t():t(j);return j===""&&(d[le]=!0),le};e(R,t),R.prototype=r,r.constructor=R;var x=String(t("description detection"))==="Symbol(description detection)",P=u(r.valueOf),I=u(r.toString),M=/^Symbol\((.*)\)[^)]+$/,N=u("".replace),K=u("".slice);i(r,"description",{configurable:!0,get:function(){var j=P(this);if(y(d,j))return"";var le=I(j),fe=x?K(le,7,-1):N(le,M,"$1");return fe===""?void 0:fe}}),h({global:!0,constructor:!0,forced:!0},{Symbol:R})}},7236:function(p){p.exports=function(A,s){return{value:A,done:s}}},7315:function(p,A,s){var h=s(942);p.exports=!h(function(){var g=(function(){}).bind();return typeof g!="function"||g.hasOwnProperty("prototype")})},7403:function(p,A,s){var h=s(6857),g=s(9158),b=Function.prototype,u=h&&Object.getOwnPropertyDescriptor,y=g(b,"name"),m=y&&(function(){}).name==="something",v=y&&(!h||h&&u(b,"name").configurable);p.exports={EXISTS:y,PROPER:m,CONFIGURABLE:v}},7453:function(p,A,s){var h=s(942),g=s(9200),b=/#|\.prototype\./,u=function(i,e){var t=m[y(i)];return t===c||t!==v&&(g(e)?h(e):!!e)},y=u.normalize=function(i){return String(i).replace(b,".").toLowerCase()},m=u.data={},v=u.NATIVE="N",c=u.POLYFILL="P";p.exports=u},7455:function(p){p.exports=function(A,s,h){var g=h||8192,b=g>>>1,u=null,y=g;return function(m){if(m<1||m>b)return A(m);y+m>g&&(u=A(g),y=0);var v=s.call(u,y,y+=m);return 7&y&&(y=1+(7|y)),v}}},7457:function(p,A,s){var h=s(2695);p.exports=function(g){return h(g.length)}},7580:function(p){const A={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};A.localCName=A.generateIdentifier(),A.splitLines=function(s){return s.trim().split(`
|
|
3
|
-
`).map(h=>h.trim())},A.splitSections=function(s){return s.split(`
|
|
4
|
-
m=`).map((h,g)=>(g>0?"m="+h:h).trim()+`\r
|
|
5
|
-
`)},A.getDescription=function(s){const h=A.splitSections(s);return h&&h[0]},A.getMediaSections=function(s){const h=A.splitSections(s);return h.shift(),h},A.matchPrefix=function(s,h){return A.splitLines(s).filter(g=>g.indexOf(h)===0)},A.parseCandidate=function(s){let h;h=s.indexOf("a=candidate:")===0?s.substring(12).split(" "):s.substring(10).split(" ");const g={foundation:h[0],component:{1:"rtp",2:"rtcp"}[h[1]]||h[1],protocol:h[2].toLowerCase(),priority:parseInt(h[3],10),ip:h[4],address:h[4],port:parseInt(h[5],10),type:h[7]};for(let b=8;b<h.length;b+=2)switch(h[b]){case"raddr":g.relatedAddress=h[b+1];break;case"rport":g.relatedPort=parseInt(h[b+1],10);break;case"tcptype":g.tcpType=h[b+1];break;case"ufrag":g.ufrag=h[b+1],g.usernameFragment=h[b+1];break;default:g[h[b]]===void 0&&(g[h[b]]=h[b+1])}return g},A.writeCandidate=function(s){const h=[];h.push(s.foundation);const g=s.component;g==="rtp"?h.push(1):g==="rtcp"?h.push(2):h.push(g),h.push(s.protocol.toUpperCase()),h.push(s.priority),h.push(s.address||s.ip),h.push(s.port);const b=s.type;return h.push("typ"),h.push(b),b!=="host"&&s.relatedAddress&&s.relatedPort&&(h.push("raddr"),h.push(s.relatedAddress),h.push("rport"),h.push(s.relatedPort)),s.tcpType&&s.protocol.toLowerCase()==="tcp"&&(h.push("tcptype"),h.push(s.tcpType)),(s.usernameFragment||s.ufrag)&&(h.push("ufrag"),h.push(s.usernameFragment||s.ufrag)),"candidate:"+h.join(" ")},A.parseIceOptions=function(s){return s.substring(14).split(" ")},A.parseRtpMap=function(s){let h=s.substring(9).split(" ");const g={payloadType:parseInt(h.shift(),10)};return h=h[0].split("/"),g.name=h[0],g.clockRate=parseInt(h[1],10),g.channels=h.length===3?parseInt(h[2],10):1,g.numChannels=g.channels,g},A.writeRtpMap=function(s){let h=s.payloadType;s.preferredPayloadType!==void 0&&(h=s.preferredPayloadType);const g=s.channels||s.numChannels||1;return"a=rtpmap:"+h+" "+s.name+"/"+s.clockRate+(g!==1?"/"+g:"")+`\r
|
|
6
|
-
`},A.parseExtmap=function(s){const h=s.substring(9).split(" ");return{id:parseInt(h[0],10),direction:h[0].indexOf("/")>0?h[0].split("/")[1]:"sendrecv",uri:h[1],attributes:h.slice(2).join(" ")}},A.writeExtmap=function(s){return"a=extmap:"+(s.id||s.preferredId)+(s.direction&&s.direction!=="sendrecv"?"/"+s.direction:"")+" "+s.uri+(s.attributes?" "+s.attributes:"")+`\r
|
|
7
|
-
`},A.parseFmtp=function(s){const h={};let g;const b=s.substring(s.indexOf(" ")+1).split(";");for(let u=0;u<b.length;u++)g=b[u].trim().split("="),h[g[0].trim()]=g[1];return h},A.writeFmtp=function(s){let h="",g=s.payloadType;if(s.preferredPayloadType!==void 0&&(g=s.preferredPayloadType),s.parameters&&Object.keys(s.parameters).length){const b=[];Object.keys(s.parameters).forEach(u=>{s.parameters[u]!==void 0?b.push(u+"="+s.parameters[u]):b.push(u)}),h+="a=fmtp:"+g+" "+b.join(";")+`\r
|
|
8
|
-
`}return h},A.parseRtcpFb=function(s){const h=s.substring(s.indexOf(" ")+1).split(" ");return{type:h.shift(),parameter:h.join(" ")}},A.writeRtcpFb=function(s){let h="",g=s.payloadType;return s.preferredPayloadType!==void 0&&(g=s.preferredPayloadType),s.rtcpFeedback&&s.rtcpFeedback.length&&s.rtcpFeedback.forEach(b=>{h+="a=rtcp-fb:"+g+" "+b.type+(b.parameter&&b.parameter.length?" "+b.parameter:"")+`\r
|
|
9
|
-
`}),h},A.parseSsrcMedia=function(s){const h=s.indexOf(" "),g={ssrc:parseInt(s.substring(7,h),10)},b=s.indexOf(":",h);return b>-1?(g.attribute=s.substring(h+1,b),g.value=s.substring(b+1)):g.attribute=s.substring(h+1),g},A.parseSsrcGroup=function(s){const h=s.substring(13).split(" ");return{semantics:h.shift(),ssrcs:h.map(g=>parseInt(g,10))}},A.getMid=function(s){const h=A.matchPrefix(s,"a=mid:")[0];if(h)return h.substring(6)},A.parseFingerprint=function(s){const h=s.substring(14).split(" ");return{algorithm:h[0].toLowerCase(),value:h[1].toUpperCase()}},A.getDtlsParameters=function(s,h){return{role:"auto",fingerprints:A.matchPrefix(s+h,"a=fingerprint:").map(A.parseFingerprint)}},A.writeDtlsParameters=function(s,h){let g="a=setup:"+h+`\r
|
|
10
|
-
`;return s.fingerprints.forEach(b=>{g+="a=fingerprint:"+b.algorithm+" "+b.value+`\r
|
|
11
|
-
`}),g},A.parseCryptoLine=function(s){const h=s.substring(9).split(" ");return{tag:parseInt(h[0],10),cryptoSuite:h[1],keyParams:h[2],sessionParams:h.slice(3)}},A.writeCryptoLine=function(s){return"a=crypto:"+s.tag+" "+s.cryptoSuite+" "+(typeof s.keyParams=="object"?A.writeCryptoKeyParams(s.keyParams):s.keyParams)+(s.sessionParams?" "+s.sessionParams.join(" "):"")+`\r
|
|
12
|
-
`},A.parseCryptoKeyParams=function(s){if(s.indexOf("inline:")!==0)return null;const h=s.substring(7).split("|");return{keyMethod:"inline",keySalt:h[0],lifeTime:h[1],mkiValue:h[2]?h[2].split(":")[0]:void 0,mkiLength:h[2]?h[2].split(":")[1]:void 0}},A.writeCryptoKeyParams=function(s){return s.keyMethod+":"+s.keySalt+(s.lifeTime?"|"+s.lifeTime:"")+(s.mkiValue&&s.mkiLength?"|"+s.mkiValue+":"+s.mkiLength:"")},A.getCryptoParameters=function(s,h){return A.matchPrefix(s+h,"a=crypto:").map(A.parseCryptoLine)},A.getIceParameters=function(s,h){const g=A.matchPrefix(s+h,"a=ice-ufrag:")[0],b=A.matchPrefix(s+h,"a=ice-pwd:")[0];return g&&b?{usernameFragment:g.substring(12),password:b.substring(10)}:null},A.writeIceParameters=function(s){let h="a=ice-ufrag:"+s.usernameFragment+`\r
|
|
13
|
-
a=ice-pwd:`+s.password+`\r
|
|
14
|
-
`;return s.iceLite&&(h+=`a=ice-lite\r
|
|
15
|
-
`),h},A.parseRtpParameters=function(s){const h={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},g=A.splitLines(s)[0].split(" ");h.profile=g[2];for(let u=3;u<g.length;u++){const y=g[u],m=A.matchPrefix(s,"a=rtpmap:"+y+" ")[0];if(m){const v=A.parseRtpMap(m),c=A.matchPrefix(s,"a=fmtp:"+y+" ");switch(v.parameters=c.length?A.parseFmtp(c[0]):{},v.rtcpFeedback=A.matchPrefix(s,"a=rtcp-fb:"+y+" ").map(A.parseRtcpFb),h.codecs.push(v),v.name.toUpperCase()){case"RED":case"ULPFEC":h.fecMechanisms.push(v.name.toUpperCase())}}}A.matchPrefix(s,"a=extmap:").forEach(u=>{h.headerExtensions.push(A.parseExtmap(u))});const b=A.matchPrefix(s,"a=rtcp-fb:* ").map(A.parseRtcpFb);return h.codecs.forEach(u=>{b.forEach(y=>{u.rtcpFeedback.find(m=>m.type===y.type&&m.parameter===y.parameter)||u.rtcpFeedback.push(y)})}),h},A.writeRtpDescription=function(s,h){let g="";g+="m="+s+" ",g+=h.codecs.length>0?"9":"0",g+=" "+(h.profile||"UDP/TLS/RTP/SAVPF")+" ",g+=h.codecs.map(u=>u.preferredPayloadType!==void 0?u.preferredPayloadType:u.payloadType).join(" ")+`\r
|
|
16
|
-
`,g+=`c=IN IP4 0.0.0.0\r
|
|
17
|
-
`,g+=`a=rtcp:9 IN IP4 0.0.0.0\r
|
|
18
|
-
`,h.codecs.forEach(u=>{g+=A.writeRtpMap(u),g+=A.writeFmtp(u),g+=A.writeRtcpFb(u)});let b=0;return h.codecs.forEach(u=>{u.maxptime>b&&(b=u.maxptime)}),b>0&&(g+="a=maxptime:"+b+`\r
|
|
19
|
-
`),h.headerExtensions&&h.headerExtensions.forEach(u=>{g+=A.writeExtmap(u)}),g},A.parseRtpEncodingParameters=function(s){const h=[],g=A.parseRtpParameters(s),b=g.fecMechanisms.indexOf("RED")!==-1,u=g.fecMechanisms.indexOf("ULPFEC")!==-1,y=A.matchPrefix(s,"a=ssrc:").map(e=>A.parseSsrcMedia(e)).filter(e=>e.attribute==="cname"),m=y.length>0&&y[0].ssrc;let v;const c=A.matchPrefix(s,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(t=>parseInt(t,10)));c.length>0&&c[0].length>1&&c[0][0]===m&&(v=c[0][1]),g.codecs.forEach(e=>{if(e.name.toUpperCase()==="RTX"&&e.parameters.apt){let t={ssrc:m,codecPayloadType:parseInt(e.parameters.apt,10)};m&&v&&(t.rtx={ssrc:v}),h.push(t),b&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:m,mechanism:u?"red+ulpfec":"red"},h.push(t))}}),h.length===0&&m&&h.push({ssrc:m});let i=A.matchPrefix(s,"b=");return i.length&&(i=i[0].indexOf("b=TIAS:")===0?parseInt(i[0].substring(7),10):i[0].indexOf("b=AS:")===0?1e3*parseInt(i[0].substring(5),10)*.95-16e3:void 0,h.forEach(e=>{e.maxBitrate=i})),h},A.parseRtcpParameters=function(s){const h={},g=A.matchPrefix(s,"a=ssrc:").map(y=>A.parseSsrcMedia(y)).filter(y=>y.attribute==="cname")[0];g&&(h.cname=g.value,h.ssrc=g.ssrc);const b=A.matchPrefix(s,"a=rtcp-rsize");h.reducedSize=b.length>0,h.compound=b.length===0;const u=A.matchPrefix(s,"a=rtcp-mux");return h.mux=u.length>0,h},A.writeRtcpParameters=function(s){let h="";return s.reducedSize&&(h+=`a=rtcp-rsize\r
|
|
20
|
-
`),s.mux&&(h+=`a=rtcp-mux\r
|
|
21
|
-
`),s.ssrc!==void 0&&s.cname&&(h+="a=ssrc:"+s.ssrc+" cname:"+s.cname+`\r
|
|
22
|
-
`),h},A.parseMsid=function(s){let h;const g=A.matchPrefix(s,"a=msid:");if(g.length===1)return h=g[0].substring(7).split(" "),{stream:h[0],track:h[1]};const b=A.matchPrefix(s,"a=ssrc:").map(u=>A.parseSsrcMedia(u)).filter(u=>u.attribute==="msid");return b.length>0?(h=b[0].value.split(" "),{stream:h[0],track:h[1]}):void 0},A.parseSctpDescription=function(s){const h=A.parseMLine(s),g=A.matchPrefix(s,"a=max-message-size:");let b;g.length>0&&(b=parseInt(g[0].substring(19),10)),isNaN(b)&&(b=65536);const u=A.matchPrefix(s,"a=sctp-port:");if(u.length>0)return{port:parseInt(u[0].substring(12),10),protocol:h.fmt,maxMessageSize:b};const y=A.matchPrefix(s,"a=sctpmap:");if(y.length>0){const m=y[0].substring(10).split(" ");return{port:parseInt(m[0],10),protocol:m[1],maxMessageSize:b}}},A.writeSctpDescription=function(s,h){let g=[];return g=s.protocol!=="DTLS/SCTP"?["m="+s.kind+" 9 "+s.protocol+" "+h.protocol+`\r
|
|
23
|
-
`,`c=IN IP4 0.0.0.0\r
|
|
24
|
-
`,"a=sctp-port:"+h.port+`\r
|
|
25
|
-
`]:["m="+s.kind+" 9 "+s.protocol+" "+h.port+`\r
|
|
26
|
-
`,`c=IN IP4 0.0.0.0\r
|
|
27
|
-
`,"a=sctpmap:"+h.port+" "+h.protocol+` 65535\r
|
|
28
|
-
`],h.maxMessageSize!==void 0&&g.push("a=max-message-size:"+h.maxMessageSize+`\r
|
|
29
|
-
`),g.join("")},A.generateSessionId=function(){return Math.random().toString().substr(2,22)},A.writeSessionBoilerplate=function(s,h,g){let b;const u=h!==void 0?h:2;return b=s||A.generateSessionId(),`v=0\r
|
|
30
|
-
o=`+(g||"thisisadapterortc")+" "+b+" "+u+` IN IP4 127.0.0.1\r
|
|
31
|
-
s=-\r
|
|
32
|
-
t=0 0\r
|
|
33
|
-
`},A.getDirection=function(s,h){const g=A.splitLines(s);for(let b=0;b<g.length;b++)switch(g[b]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return g[b].substring(2)}return h?A.getDirection(h):"sendrecv"},A.getKind=function(s){return A.splitLines(s)[0].split(" ")[0].substring(2)},A.isRejected=function(s){return s.split(" ",2)[1]==="0"},A.parseMLine=function(s){const h=A.splitLines(s)[0].substring(2).split(" ");return{kind:h[0],port:parseInt(h[1],10),protocol:h[2],fmt:h.slice(3).join(" ")}},A.parseOLine=function(s){const h=A.matchPrefix(s,"o=")[0].substring(2).split(" ");return{username:h[0],sessionId:h[1],sessionVersion:parseInt(h[2],10),netType:h[3],addressType:h[4],address:h[5]}},A.isValidSDP=function(s){if(typeof s!="string"||s.length===0)return!1;const h=A.splitLines(s);for(let g=0;g<h.length;g++)if(h[g].length<2||h[g].charAt(1)!=="=")return!1;return!0},p.exports=A},7596:function(p,A,s){var h=s(8793);p.exports=h},7645:function(p,A,s){var h=s(3353),g=s(492),b=s(1818),u=s(7403),y=s(9200),m=s(4635),v=s(5270),c=s(8018),i=s(1606),e=s(5044),t=s(8521),r=s(4702),d=s(488),R=s(1982),x=u.PROPER,P=u.CONFIGURABLE,I=R.IteratorPrototype,M=R.BUGGY_SAFARI_ITERATORS,N=r("iterator"),K="keys",j="values",le="entries",fe=function(){return this};p.exports=function(k,W,me,be,Re,Se,_e){m(me,W,be);var je,Be,Ve,T=function(ae){if(ae===Re&&ye)return ye;if(!M&&ae&&ae in G)return G[ae];switch(ae){case K:case j:case le:return function(){return new me(this,ae)}}return function(){return new me(this)}},F=W+" Iterator",Z=!1,G=k.prototype,ie=G[N]||G["@@iterator"]||Re&&G[Re],ye=!M&&ie||T(Re),we=W==="Array"&&G.entries||ie;if(we&&(je=v(we.call(new k)))!==Object.prototype&&je.next&&(b||v(je)===I||(c?c(je,I):y(je[N])||t(je,N,fe)),i(je,F,!0,!0),b&&(d[F]=fe)),x&&Re===j&&ie&&ie.name!==j&&(!b&&P?e(G,"name",j):(Z=!0,ye=function(){return g(ie,this)})),Re)if(Be={values:T(j),keys:Se?ye:T(K),entries:T(le)},_e)for(Ve in Be)(M||Z||!(Ve in G))&&t(G,Ve,Be[Ve]);else h({target:W,proto:!0,forced:M||Z},Be);return b&&!_e||G[N]===ye||t(G,N,ye,{name:Re}),d[W]=ye,Be}},7774:function(p,A,s){var h=s(1821);p.exports=function(g,b,u,y,m){var v=new Error(g);return h(v,b,u,y,m)}},7830:function(p,A,s){var h=s(3650),g=String;p.exports=function(b){if(h(b)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return g(b)}},7889:function(p){p.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":"三指长按屏幕,出现鼠标中键按下提示后拖拽即可。三指离开屏幕鼠标中键抬起。"}]}]}')},7933:function(p,A,s){var h=s(4360),g=s(6686),b=s(488),u=s(1514),y=s(4446).f,m=s(7645),v=s(7236),c=s(1818),i=s(6857),e="Array Iterator",t=u.set,r=u.getterFor(e);p.exports=m(Array,"Array",function(R,x){t(this,{type:e,target:h(R),index:0,kind:x})},function(){var R=r(this),x=R.target,P=R.index++;if(!x||P>=x.length)return R.target=null,v(void 0,!0);switch(R.kind){case"keys":return v(P,!1);case"values":return v(x[P],!1)}return v([P,x[P]],!1)},"values");var d=b.Arguments=b.Array;if(g("keys"),g("values"),g("entries"),!c&&i&&d.name!=="values")try{y(d,"name",{value:"values"})}catch{}},7938:function(p){var A=String;p.exports=function(s){try{return A(s)}catch{return"Object"}}},7961:function(p){p.exports=function(){function A(s,h,g){function b(m,v){if(!h[m]){if(!s[m]){if(u)return u(m,!0);var c=new Error("Cannot find module '"+m+"'");throw c.code="MODULE_NOT_FOUND",c}var i=h[m]={exports:{}};s[m][0].call(i.exports,function(e){return b(s[m][1][e]||e)},i,i.exports,A,s,h,g)}return h[m].exports}for(var u=void 0,y=0;y<g.length;y++)b(g[y]);return b}return A}()({1:[function(A,s,h){s.exports=function(){if(typeof window>"u"||typeof navigator>"u")return function(){return 0};if(!navigator.userAgent.match(/iphone|ipod|ipad/i))return function(){return window.innerHeight};var g,b=Math.abs(window.orientation),u={w:0,h:0};return(g=document.createElement("div")).style.position="fixed",g.style.height="100vh",g.style.width=0,g.style.top=0,document.documentElement.appendChild(g),u.w=b===90?g.offsetHeight:window.innerWidth,u.h=b===90?window.innerWidth:g.offsetHeight,document.documentElement.removeChild(g),g=null,function(){return Math.abs(window.orientation)!==90?u.h:u.w}}()},{}]},{},[1])(1)},8018:function(p,A,s){var h=s(9229),g=s(9131),b=s(3977),u=s(9677);p.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y,m=!1,v={};try{(y=h(Object.prototype,"__proto__","set"))(v,[]),m=v instanceof Array}catch{}return function(c,i){return b(c),u(i),g(c)&&(m?y(c,i):c.__proto__=i),c}}():void 0)},8060:function(p,A,s){var h=s(7133),g=s(942),b=s(5589),u=Object,y=h("".split);p.exports=g(function(){return!u("z").propertyIsEnumerable(0)})?function(m){return b(m)==="String"?y(m,""):u(m)}:u},8062:function(p,A,s){var h=s(9279),g=s(9275),b=s(5132),u=s(6839),y=s(2018),m=s(2370),v=m.validators;function c(i){this.defaults=i,this.interceptors={request:new b,response:new b}}c.prototype.request=function(i){typeof i=="string"?(i=arguments[1]||{}).url=arguments[0]:i=i||{},(i=y(this.defaults,i)).method?i.method=i.method.toLowerCase():this.defaults.method?i.method=this.defaults.method.toLowerCase():i.method="get";var e=i.transitional;e!==void 0&&m.assertOptions(e,{silentJSONParsing:v.transitional(v.boolean),forcedJSONParsing:v.transitional(v.boolean),clarifyTimeoutError:v.transitional(v.boolean)},!1);var t=[],r=!0;this.interceptors.request.forEach(function(N){typeof N.runWhen=="function"&&N.runWhen(i)===!1||(r=r&&N.synchronous,t.unshift(N.fulfilled,N.rejected))});var d,R=[];if(this.interceptors.response.forEach(function(N){R.push(N.fulfilled,N.rejected)}),!r){var x=[u,void 0];for(Array.prototype.unshift.apply(x,t),x=x.concat(R),d=Promise.resolve(i);x.length;)d=d.then(x.shift(),x.shift());return d}for(var P=i;t.length;){var I=t.shift(),M=t.shift();try{P=I(P)}catch(N){M(N);break}}try{d=u(P)}catch(N){return Promise.reject(N)}for(;R.length;)d=d.then(R.shift(),R.shift());return d},c.prototype.getUri=function(i){return i=y(this.defaults,i),g(i.url,i.params,i.paramsSerializer).replace(/^\?/,"")},h.forEach(["delete","get","head","options"],function(i){c.prototype[i]=function(e,t){return this.request(y(t||{},{method:i,url:e,data:(t||{}).data}))}}),h.forEach(["post","put","patch"],function(i){c.prototype[i]=function(e,t,r){return this.request(y(r||{},{method:i,url:e,data:t}))}}),p.exports=c},8067:function(p,A,s){var h=s(3353),g=s(848),b=s(890),u=s(492),y=s(7133),m=s(942),v=s(9200),c=s(460),i=s(2485),e=s(906),t=s(260),r=String,d=g("JSON","stringify"),R=y(/./.exec),x=y("".charAt),P=y("".charCodeAt),I=y("".replace),M=y(1 .toString),N=/[\uD800-\uDFFF]/g,K=/^[\uD800-\uDBFF]$/,j=/^[\uDC00-\uDFFF]$/,le=!t||m(function(){var me=g("Symbol")("stringify detection");return d([me])!=="[null]"||d({a:me})!=="{}"||d(Object(me))!=="{}"}),fe=m(function(){return d("\uDF06\uD834")!=='"\\udf06\\ud834"'||d("\uDEAD")!=='"\\udead"'}),k=function(me,be){var Re=i(arguments),Se=e(be);if(v(Se)||me!==void 0&&!c(me))return Re[1]=function(_e,je){if(v(Se)&&(je=u(Se,this,r(_e),je)),!c(je))return je},b(d,null,Re)},W=function(me,be,Re){var Se=x(Re,be-1),_e=x(Re,be+1);return R(K,me)&&!R(j,_e)||R(j,me)&&!R(K,Se)?"\\u"+M(P(me,0),16):me};d&&h({target:"JSON",stat:!0,arity:3,forced:le||fe},{stringify:function(me,be,Re){var Se=i(arguments),_e=b(le?k:d,null,Se);return fe&&typeof _e=="string"?I(_e,N,W):_e}})},8070:function(p,A,s){var h=s(8793),g=s(3217),b=s(5827),u=s(7933),y=s(5044),m=s(1606),v=s(4702)("iterator"),c=u.values,i=function(t,r){if(t){if(t[v]!==c)try{y(t,v,c)}catch{t[v]=c}if(m(t,r,!0),g[r]){for(var d in u)if(t[d]!==u[d])try{y(t,d,u[d])}catch{t[d]=u[d]}}}};for(var e in g)i(h[e]&&h[e].prototype,e);i(b,"DOMTokenList")},8098:function(p,A,s){s(404),s(6391),s(1497),s(8067),s(2062)},8118:function(p,A,s){p.exports=i;var h,g=s(393),b=g.LongBits,u=g.base64,y=g.utf8;function m(P,I,M){this.fn=P,this.len=I,this.next=void 0,this.val=M}function v(){}function c(P){this.head=P.head,this.tail=P.tail,this.len=P.len,this.next=P.states}function i(){this.len=0,this.head=new m(v,0,0),this.tail=this.head,this.states=null}var e=function(){return g.Buffer?function(){return(i.create=function(){return new h})()}:function(){return new i}};function t(P,I,M){I[M]=255&P}function r(P,I){this.len=P,this.next=void 0,this.val=I}function d(P,I,M){for(;P.hi;)I[M++]=127&P.lo|128,P.lo=(P.lo>>>7|P.hi<<25)>>>0,P.hi>>>=7;for(;P.lo>127;)I[M++]=127&P.lo|128,P.lo=P.lo>>>7;I[M++]=P.lo}function R(P,I,M){I[M]=255&P,I[M+1]=P>>>8&255,I[M+2]=P>>>16&255,I[M+3]=P>>>24}i.create=e(),i.alloc=function(P){return new g.Array(P)},g.Array!==Array&&(i.alloc=g.pool(i.alloc,g.Array.prototype.subarray)),i.prototype._push=function(P,I,M){return this.tail=this.tail.next=new m(P,I,M),this.len+=I,this},r.prototype=Object.create(m.prototype),r.prototype.fn=function(P,I,M){for(;P>127;)I[M++]=127&P|128,P>>>=7;I[M]=P},i.prototype.uint32=function(P){return this.len+=(this.tail=this.tail.next=new r((P>>>=0)<128?1:P<16384?2:P<2097152?3:P<268435456?4:5,P)).len,this},i.prototype.int32=function(P){return P<0?this._push(d,10,b.fromNumber(P)):this.uint32(P)},i.prototype.sint32=function(P){return this.uint32((P<<1^P>>31)>>>0)},i.prototype.uint64=function(P){var I=b.from(P);return this._push(d,I.length(),I)},i.prototype.int64=i.prototype.uint64,i.prototype.sint64=function(P){var I=b.from(P).zzEncode();return this._push(d,I.length(),I)},i.prototype.bool=function(P){return this._push(t,1,P?1:0)},i.prototype.fixed32=function(P){return this._push(R,4,P>>>0)},i.prototype.sfixed32=i.prototype.fixed32,i.prototype.fixed64=function(P){var I=b.from(P);return this._push(R,4,I.lo)._push(R,4,I.hi)},i.prototype.sfixed64=i.prototype.fixed64,i.prototype.float=function(P){return this._push(g.float.writeFloatLE,4,P)},i.prototype.double=function(P){return this._push(g.float.writeDoubleLE,8,P)};var x=g.Array.prototype.set?function(P,I,M){I.set(P,M)}:function(P,I,M){for(var N=0;N<P.length;++N)I[M+N]=P[N]};i.prototype.bytes=function(P){var I=P.length>>>0;if(!I)return this._push(t,1,0);if(g.isString(P)){var M=i.alloc(I=u.length(P));u.decode(P,M,0),P=M}return this.uint32(I)._push(x,I,P)},i.prototype.string=function(P){var I=y.length(P);return I?this.uint32(I)._push(y.write,I,P):this._push(t,1,0)},i.prototype.fork=function(){return this.states=new c(this),this.head=this.tail=new m(v,0,0),this.len=0,this},i.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 m(v,0,0),this.len=0),this},i.prototype.ldelim=function(){var P=this.head,I=this.tail,M=this.len;return this.reset().uint32(M),M&&(this.tail.next=P.next,this.tail=I,this.len+=M),this},i.prototype.finish=function(){for(var P=this.head.next,I=this.constructor.alloc(this.len),M=0;P;)P.fn(P.val,I,M),M+=P.len,P=P.next;return I},i._configure=function(P){h=P,i.create=e(),h._configure()}},8226:function(p){var A=Math.ceil,s=Math.floor;p.exports=Math.trunc||function(h){var g=+h;return(g>0?s:A)(g)}},8266:function(p,A,s){p.exports=s(9092)},8294:function(p,A,s){var h=s(6279);function g(b){if(typeof b!="function")throw new TypeError("executor must be a function.");var u;this.promise=new Promise(function(m){u=m});var y=this;this.promise.then(function(m){if(y._listeners){var v,c=y._listeners.length;for(v=0;v<c;v++)y._listeners[v](m);y._listeners=null}}),this.promise.then=function(m){var v,c=new Promise(function(i){y.subscribe(i),v=i}).then(m);return c.cancel=function(){y.unsubscribe(v)},c},b(function(m){y.reason||(y.reason=new h(m),u(y.reason))})}g.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},g.prototype.subscribe=function(b){this.reason?b(this.reason):this._listeners?this._listeners.push(b):this._listeners=[b]},g.prototype.unsubscribe=function(b){if(this._listeners){var u=this._listeners.indexOf(b);u!==-1&&this._listeners.splice(u,1)}},g.source=function(){var b;return{token:new g(function(u){b=u}),cancel:b}},p.exports=g},8337:function(p){p.exports=function(A,s){return function(){for(var h=new Array(arguments.length),g=0;g<h.length;g++)h[g]=arguments[g];return A.apply(s,h)}}},8466:function(p,A,s){var h=s(8793),g=Object.defineProperty;p.exports=function(b,u){try{g(h,b,{value:u,configurable:!0,writable:!0})}catch{h[b]=u}return u}},8479:function(p,A,s){var h=s(4932),g=Math.max,b=Math.min;p.exports=function(u,y){var m=h(u);return m<0?g(m+y,0):b(m,y)}},8521:function(p,A,s){var h=s(9200),g=s(4446),b=s(4174),u=s(8466);p.exports=function(y,m,v,c){c||(c={});var i=c.enumerable,e=c.name!==void 0?c.name:m;if(h(v)&&b(v,e,c),c.global)i?y[m]=v:u(m,v);else{try{c.unsafe?y[m]&&(i=!0):delete y[m]}catch{}i?y[m]=v:g.f(y,m,{value:v,enumerable:!1,configurable:!c.nonConfigurable,writable:!c.nonWritable})}return y}},8595:function(p,A,s){var h=s(9279);p.exports=h.isStandardBrowserEnv()?{write:function(g,b,u,y,m,v){var c=[];c.push(g+"="+encodeURIComponent(b)),h.isNumber(u)&&c.push("expires="+new Date(u).toGMTString()),h.isString(y)&&c.push("path="+y),h.isString(m)&&c.push("domain="+m),v===!0&&c.push("secure"),document.cookie=c.join("; ")},read:function(g){var b=document.cookie.match(new RegExp("(^|;\\s*)("+g+")=([^;]*)"));return b?decodeURIComponent(b[3]):null},remove:function(g){this.write(g,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},8642:function(p,A,s){s(1606)(Math,"Math",!0)},8793:function(p,A,s){var h=function(g){return g&&g.Math===Math&&g};p.exports=h(typeof globalThis=="object"&&globalThis)||h(typeof window=="object"&&window)||h(typeof self=="object"&&self)||h(typeof s.g=="object"&&s.g)||h(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},8890:function(p,A,s){p.exports=g;var h=s(393);function g(b,u,y){if(typeof b!="function")throw TypeError("rpcImpl must be a function");h.EventEmitter.call(this),this.rpcImpl=b,this.requestDelimited=!!u,this.responseDelimited=!!y}(g.prototype=Object.create(h.EventEmitter.prototype)).constructor=g,g.prototype.rpcCall=function b(u,y,m,v,c){if(!v)throw TypeError("request must be specified");var i=this;if(!c)return h.asPromise(b,i,u,y,m,v);if(i.rpcImpl)try{return i.rpcImpl(u,y[i.requestDelimited?"encodeDelimited":"encode"](v).finish(),function(e,t){if(e)return i.emit("error",e,u),c(e);if(t!==null){if(!(t instanceof m))try{t=m[i.responseDelimited?"decodeDelimited":"decode"](t)}catch(r){return i.emit("error",r,u),c(r)}return i.emit("data",t,u),c(null,t)}i.end(!0)})}catch(e){return i.emit("error",e,u),void setTimeout(function(){c(e)},0)}else setTimeout(function(){c(Error("already ended"))},0)},g.prototype.end=function(b){return this.rpcImpl&&(b||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},8959:function(p,A,s){var h=s(7133),g=s(9158),b=s(4360),u=s(6134).indexOf,y=s(640),m=h([].push);p.exports=function(v,c){var i,e=b(v),t=0,r=[];for(i in e)!g(y,i)&&g(e,i)&&m(r,i);for(;c.length>t;)g(e,i=c[t++])&&(~u(r,i)||m(r,i));return r}},9033:function(p){p.exports=function(A){var s={};function h(g){if(s[g])return s[g].exports;var b=s[g]={i:g,l:!1,exports:{}};return A[g].call(b.exports,b,b.exports,h),b.l=!0,b.exports}return h.m=A,h.c=s,h.d=function(g,b,u){h.o(g,b)||Object.defineProperty(g,b,{enumerable:!0,get:u})},h.r=function(g){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(g,"__esModule",{value:!0})},h.t=function(g,b){if(1&b&&(g=h(g)),8&b||4&b&&typeof g=="object"&&g&&g.__esModule)return g;var u=Object.create(null);if(h.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:g}),2&b&&typeof g!="string")for(var y in g)h.d(u,y,(function(m){return g[m]}).bind(null,y));return u},h.n=function(g){var b=g&&g.__esModule?function(){return g.default}:function(){return g};return h.d(b,"a",b),b},h.o=function(g,b){return Object.prototype.hasOwnProperty.call(g,b)},h.p="",h(h.s=90)}({17:function(A,s,h){s.__esModule=!0,s.default=void 0;var g=h(18),b=function(){function u(){}return u.getFirstMatch=function(y,m){var v=m.match(y);return v&&v.length>0&&v[1]||""},u.getSecondMatch=function(y,m){var v=m.match(y);return v&&v.length>1&&v[2]||""},u.matchAndReturnConst=function(y,m,v){if(y.test(m))return v},u.getWindowsVersionName=function(y){switch(y){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}},u.getMacOSVersionName=function(y){var m=y.split(".").splice(0,2).map(function(v){return parseInt(v,10)||0});if(m.push(0),m[0]===10)switch(m[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}},u.getAndroidVersionName=function(y){var m=y.split(".").splice(0,2).map(function(v){return parseInt(v,10)||0});if(m.push(0),!(m[0]===1&&m[1]<5))return m[0]===1&&m[1]<6?"Cupcake":m[0]===1&&m[1]>=6?"Donut":m[0]===2&&m[1]<2?"Eclair":m[0]===2&&m[1]===2?"Froyo":m[0]===2&&m[1]>2?"Gingerbread":m[0]===3?"Honeycomb":m[0]===4&&m[1]<1?"Ice Cream Sandwich":m[0]===4&&m[1]<4?"Jelly Bean":m[0]===4&&m[1]>=4?"KitKat":m[0]===5?"Lollipop":m[0]===6?"Marshmallow":m[0]===7?"Nougat":m[0]===8?"Oreo":m[0]===9?"Pie":void 0},u.getVersionPrecision=function(y){return y.split(".").length},u.compareVersions=function(y,m,v){v===void 0&&(v=!1);var c=u.getVersionPrecision(y),i=u.getVersionPrecision(m),e=Math.max(c,i),t=0,r=u.map([y,m],function(d){var R=e-u.getVersionPrecision(d),x=d+new Array(R+1).join(".0");return u.map(x.split("."),function(P){return new Array(20-P.length).join("0")+P}).reverse()});for(v&&(t=e-Math.min(c,i)),e-=1;e>=t;){if(r[0][e]>r[1][e])return 1;if(r[0][e]===r[1][e]){if(e===t)return 0;e-=1}else if(r[0][e]<r[1][e])return-1}},u.map=function(y,m){var v,c=[];if(Array.prototype.map)return Array.prototype.map.call(y,m);for(v=0;v<y.length;v+=1)c.push(m(y[v]));return c},u.find=function(y,m){var v,c;if(Array.prototype.find)return Array.prototype.find.call(y,m);for(v=0,c=y.length;v<c;v+=1){var i=y[v];if(m(i,v))return i}},u.assign=function(y){for(var m,v,c=y,i=arguments.length,e=new Array(i>1?i-1:0),t=1;t<i;t++)e[t-1]=arguments[t];if(Object.assign)return Object.assign.apply(Object,[y].concat(e));var r=function(){var d=e[m];typeof d=="object"&&d!==null&&Object.keys(d).forEach(function(R){c[R]=d[R]})};for(m=0,v=e.length;m<v;m+=1)r();return y},u.getBrowserAlias=function(y){return g.BROWSER_ALIASES_MAP[y]},u.getBrowserTypeByAlias=function(y){return g.BROWSER_MAP[y]||""},u}();s.default=b,A.exports=s.default},18:function(A,s,h){s.__esModule=!0,s.ENGINE_MAP=s.OS_MAP=s.PLATFORMS_MAP=s.BROWSER_MAP=s.BROWSER_ALIASES_MAP=void 0,s.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"},s.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"},s.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},s.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"},s.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(A,s,h){s.__esModule=!0,s.default=void 0;var g,b=(g=h(91))&&g.__esModule?g:{default:g},u=h(18);function y(v,c){for(var i=0;i<c.length;i++){var e=c[i];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(v,e.key,e)}}var m=function(){function v(){}var c,i,e;return v.getParser=function(t,r){if(r===void 0&&(r=!1),typeof t!="string")throw new Error("UserAgent should be a string");return new b.default(t,r)},v.parse=function(t){return new b.default(t).getResult()},c=v,e=[{key:"BROWSER_MAP",get:function(){return u.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return u.ENGINE_MAP}},{key:"OS_MAP",get:function(){return u.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return u.PLATFORMS_MAP}}],(i=null)&&y(c.prototype,i),e&&y(c,e),v}();s.default=m,A.exports=s.default},91:function(A,s,h){s.__esModule=!0,s.default=void 0;var g=v(h(92)),b=v(h(93)),u=v(h(94)),y=v(h(95)),m=v(h(17));function v(i){return i&&i.__esModule?i:{default:i}}var c=function(){function i(t,r){if(r===void 0&&(r=!1),t==null||t==="")throw new Error("UserAgent parameter can't be empty");this._ua=t,this.parsedResult={},r!==!0&&this.parse()}var e=i.prototype;return e.getUA=function(){return this._ua},e.test=function(t){return t.test(this._ua)},e.parseBrowser=function(){var t=this;this.parsedResult.browser={};var r=m.default.find(g.default,function(d){if(typeof d.test=="function")return d.test(t);if(d.test instanceof Array)return d.test.some(function(R){return t.test(R)});throw new Error("Browser's test function is not valid")});return r&&(this.parsedResult.browser=r.describe(this.getUA())),this.parsedResult.browser},e.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},e.getBrowserName=function(t){return t?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},e.getBrowserVersion=function(){return this.getBrowser().version},e.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},e.parseOS=function(){var t=this;this.parsedResult.os={};var r=m.default.find(b.default,function(d){if(typeof d.test=="function")return d.test(t);if(d.test instanceof Array)return d.test.some(function(R){return t.test(R)});throw new Error("Browser's test function is not valid")});return r&&(this.parsedResult.os=r.describe(this.getUA())),this.parsedResult.os},e.getOSName=function(t){var r=this.getOS().name;return t?String(r).toLowerCase()||"":r||""},e.getOSVersion=function(){return this.getOS().version},e.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},e.getPlatformType=function(t){t===void 0&&(t=!1);var r=this.getPlatform().type;return t?String(r).toLowerCase()||"":r||""},e.parsePlatform=function(){var t=this;this.parsedResult.platform={};var r=m.default.find(u.default,function(d){if(typeof d.test=="function")return d.test(t);if(d.test instanceof Array)return d.test.some(function(R){return t.test(R)});throw new Error("Browser's test function is not valid")});return r&&(this.parsedResult.platform=r.describe(this.getUA())),this.parsedResult.platform},e.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},e.getEngineName=function(t){return t?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},e.parseEngine=function(){var t=this;this.parsedResult.engine={};var r=m.default.find(y.default,function(d){if(typeof d.test=="function")return d.test(t);if(d.test instanceof Array)return d.test.some(function(R){return t.test(R)});throw new Error("Browser's test function is not valid")});return r&&(this.parsedResult.engine=r.describe(this.getUA())),this.parsedResult.engine},e.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},e.getResult=function(){return m.default.assign({},this.parsedResult)},e.satisfies=function(t){var r=this,d={},R=0,x={},P=0;if(Object.keys(t).forEach(function(k){var W=t[k];typeof W=="string"?(x[k]=W,P+=1):typeof W=="object"&&(d[k]=W,R+=1)}),R>0){var I=Object.keys(d),M=m.default.find(I,function(k){return r.isOS(k)});if(M){var N=this.satisfies(d[M]);if(N!==void 0)return N}var K=m.default.find(I,function(k){return r.isPlatform(k)});if(K){var j=this.satisfies(d[K]);if(j!==void 0)return j}}if(P>0){var le=Object.keys(x),fe=m.default.find(le,function(k){return r.isBrowser(k,!0)});if(fe!==void 0)return this.compareVersion(x[fe])}},e.isBrowser=function(t,r){r===void 0&&(r=!1);var d=this.getBrowserName().toLowerCase(),R=t.toLowerCase(),x=m.default.getBrowserTypeByAlias(R);return r&&x&&(R=x.toLowerCase()),R===d},e.compareVersion=function(t){var r=[0],d=t,R=!1,x=this.getBrowserVersion();if(typeof x=="string")return t[0]===">"||t[0]==="<"?(d=t.substr(1),t[1]==="="?(R=!0,d=t.substr(2)):r=[],t[0]===">"?r.push(1):r.push(-1)):t[0]==="="?d=t.substr(1):t[0]==="~"&&(R=!0,d=t.substr(1)),r.indexOf(m.default.compareVersions(x,d,R))>-1},e.isOS=function(t){return this.getOSName(!0)===String(t).toLowerCase()},e.isPlatform=function(t){return this.getPlatformType(!0)===String(t).toLowerCase()},e.isEngine=function(t){return this.getEngineName(!0)===String(t).toLowerCase()},e.is=function(t,r){return r===void 0&&(r=!1),this.isBrowser(t,r)||this.isOS(t)||this.isPlatform(t)},e.some=function(t){var r=this;return t===void 0&&(t=[]),t.some(function(d){return r.is(d)})},i}();s.default=c,A.exports=s.default},92:function(A,s,h){s.__esModule=!0,s.default=void 0;var g,b=(g=h(17))&&g.__esModule?g:{default:g},u=/version\/(\d+(\.?_?\d+)+)/i,y=[{test:[/googlebot/i],describe:function(m){var v={name:"Googlebot"},c=b.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/opera/i],describe:function(m){var v={name:"Opera"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/opr\/|opios/i],describe:function(m){var v={name:"Opera"},c=b.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/SamsungBrowser/i],describe:function(m){var v={name:"Samsung Internet for Android"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/Whale/i],describe:function(m){var v={name:"NAVER Whale Browser"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/MZBrowser/i],describe:function(m){var v={name:"MZ Browser"},c=b.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/focus/i],describe:function(m){var v={name:"Focus"},c=b.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/swing/i],describe:function(m){var v={name:"Swing"},c=b.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/coast/i],describe:function(m){var v={name:"Opera Coast"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(m){var v={name:"Opera Touch"},c=b.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/yabrowser/i],describe:function(m){var v={name:"Yandex Browser"},c=b.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/ucbrowser/i],describe:function(m){var v={name:"UC Browser"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/Maxthon|mxios/i],describe:function(m){var v={name:"Maxthon"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/epiphany/i],describe:function(m){var v={name:"Epiphany"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/puffin/i],describe:function(m){var v={name:"Puffin"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/sleipnir/i],describe:function(m){var v={name:"Sleipnir"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/k-meleon/i],describe:function(m){var v={name:"K-Meleon"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/micromessenger/i],describe:function(m){var v={name:"WeChat"},c=b.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/qqbrowser/i],describe:function(m){var v={name:/qqbrowserlite/i.test(m)?"QQ Browser Lite":"QQ Browser"},c=b.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/msie|trident/i],describe:function(m){var v={name:"Internet Explorer"},c=b.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/\sedg\//i],describe:function(m){var v={name:"Microsoft Edge"},c=b.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/edg([ea]|ios)/i],describe:function(m){var v={name:"Microsoft Edge"},c=b.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/vivaldi/i],describe:function(m){var v={name:"Vivaldi"},c=b.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/seamonkey/i],describe:function(m){var v={name:"SeaMonkey"},c=b.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/sailfish/i],describe:function(m){var v={name:"Sailfish"},c=b.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,m);return c&&(v.version=c),v}},{test:[/silk/i],describe:function(m){var v={name:"Amazon Silk"},c=b.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/phantom/i],describe:function(m){var v={name:"PhantomJS"},c=b.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/slimerjs/i],describe:function(m){var v={name:"SlimerJS"},c=b.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(m){var v={name:"BlackBerry"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/(web|hpw)[o0]s/i],describe:function(m){var v={name:"WebOS Browser"},c=b.default.getFirstMatch(u,m)||b.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/bada/i],describe:function(m){var v={name:"Bada"},c=b.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/tizen/i],describe:function(m){var v={name:"Tizen"},c=b.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/qupzilla/i],describe:function(m){var v={name:"QupZilla"},c=b.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/firefox|iceweasel|fxios/i],describe:function(m){var v={name:"Firefox"},c=b.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/electron/i],describe:function(m){var v={name:"Electron"},c=b.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/MiuiBrowser/i],describe:function(m){var v={name:"Miui"},c=b.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/chromium/i],describe:function(m){var v={name:"Chromium"},c=b.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,m)||b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/chrome|crios|crmo/i],describe:function(m){var v={name:"Chrome"},c=b.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/GSA/i],describe:function(m){var v={name:"Google Search"},c=b.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:function(m){var v=!m.test(/like android/i),c=m.test(/android/i);return v&&c},describe:function(m){var v={name:"Android Browser"},c=b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/playstation 4/i],describe:function(m){var v={name:"PlayStation 4"},c=b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/safari|applewebkit/i],describe:function(m){var v={name:"Safari"},c=b.default.getFirstMatch(u,m);return c&&(v.version=c),v}},{test:[/.*/i],describe:function(m){var v=m.search("\\(")!==-1?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:b.default.getFirstMatch(v,m),version:b.default.getSecondMatch(v,m)}}}];s.default=y,A.exports=s.default},93:function(A,s,h){s.__esModule=!0,s.default=void 0;var g,b=(g=h(17))&&g.__esModule?g:{default:g},u=h(18),y=[{test:[/Roku\/DVP/],describe:function(m){var v=b.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,m);return{name:u.OS_MAP.Roku,version:v}}},{test:[/windows phone/i],describe:function(m){var v=b.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,m);return{name:u.OS_MAP.WindowsPhone,version:v}}},{test:[/windows /i],describe:function(m){var v=b.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,m),c=b.default.getWindowsVersionName(v);return{name:u.OS_MAP.Windows,version:v,versionName:c}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(m){var v={name:u.OS_MAP.iOS},c=b.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,m);return c&&(v.version=c),v}},{test:[/macintosh/i],describe:function(m){var v=b.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,m).replace(/[_\s]/g,"."),c=b.default.getMacOSVersionName(v),i={name:u.OS_MAP.MacOS,version:v};return c&&(i.versionName=c),i}},{test:[/(ipod|iphone|ipad)/i],describe:function(m){var v=b.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,m).replace(/[_\s]/g,".");return{name:u.OS_MAP.iOS,version:v}}},{test:function(m){var v=!m.test(/like android/i),c=m.test(/android/i);return v&&c},describe:function(m){var v=b.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,m),c=b.default.getAndroidVersionName(v),i={name:u.OS_MAP.Android,version:v};return c&&(i.versionName=c),i}},{test:[/(web|hpw)[o0]s/i],describe:function(m){var v=b.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,m),c={name:u.OS_MAP.WebOS};return v&&v.length&&(c.version=v),c}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(m){var v=b.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,m)||b.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,m)||b.default.getFirstMatch(/\bbb(\d+)/i,m);return{name:u.OS_MAP.BlackBerry,version:v}}},{test:[/bada/i],describe:function(m){var v=b.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,m);return{name:u.OS_MAP.Bada,version:v}}},{test:[/tizen/i],describe:function(m){var v=b.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,m);return{name:u.OS_MAP.Tizen,version:v}}},{test:[/linux/i],describe:function(){return{name:u.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:u.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(m){var v=b.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,m);return{name:u.OS_MAP.PlayStation4,version:v}}}];s.default=y,A.exports=s.default},94:function(A,s,h){s.__esModule=!0,s.default=void 0;var g,b=(g=h(17))&&g.__esModule?g:{default:g},u=h(18),y=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(m){var v=b.default.getFirstMatch(/(can-l01)/i,m)&&"Nova",c={type:u.PLATFORMS_MAP.mobile,vendor:"Huawei"};return v&&(c.model=v),c}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:u.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:u.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:u.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:u.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:u.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:u.PLATFORMS_MAP.tablet}}},{test:function(m){var v=m.test(/ipod|iphone/i),c=m.test(/like (ipod|iphone)/i);return v&&!c},describe:function(m){var v=b.default.getFirstMatch(/(ipod|iphone)/i,m);return{type:u.PLATFORMS_MAP.mobile,vendor:"Apple",model:v}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:u.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:u.PLATFORMS_MAP.mobile}}},{test:function(m){return m.getBrowserName(!0)==="blackberry"},describe:function(){return{type:u.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(m){return m.getBrowserName(!0)==="bada"},describe:function(){return{type:u.PLATFORMS_MAP.mobile}}},{test:function(m){return m.getBrowserName()==="windows phone"},describe:function(){return{type:u.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(m){var v=Number(String(m.getOSVersion()).split(".")[0]);return m.getOSName(!0)==="android"&&v>=3},describe:function(){return{type:u.PLATFORMS_MAP.tablet}}},{test:function(m){return m.getOSName(!0)==="android"},describe:function(){return{type:u.PLATFORMS_MAP.mobile}}},{test:function(m){return m.getOSName(!0)==="macos"},describe:function(){return{type:u.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(m){return m.getOSName(!0)==="windows"},describe:function(){return{type:u.PLATFORMS_MAP.desktop}}},{test:function(m){return m.getOSName(!0)==="linux"},describe:function(){return{type:u.PLATFORMS_MAP.desktop}}},{test:function(m){return m.getOSName(!0)==="playstation 4"},describe:function(){return{type:u.PLATFORMS_MAP.tv}}},{test:function(m){return m.getOSName(!0)==="roku"},describe:function(){return{type:u.PLATFORMS_MAP.tv}}}];s.default=y,A.exports=s.default},95:function(A,s,h){s.__esModule=!0,s.default=void 0;var g,b=(g=h(17))&&g.__esModule?g:{default:g},u=h(18),y=[{test:function(m){return m.getBrowserName(!0)==="microsoft edge"},describe:function(m){if(/\sedg\//i.test(m))return{name:u.ENGINE_MAP.Blink};var v=b.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,m);return{name:u.ENGINE_MAP.EdgeHTML,version:v}}},{test:[/trident/i],describe:function(m){var v={name:u.ENGINE_MAP.Trident},c=b.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:function(m){return m.test(/presto/i)},describe:function(m){var v={name:u.ENGINE_MAP.Presto},c=b.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:function(m){var v=m.test(/gecko/i),c=m.test(/like gecko/i);return v&&!c},describe:function(m){var v={name:u.ENGINE_MAP.Gecko},c=b.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:u.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(m){var v={name:u.ENGINE_MAP.WebKit},c=b.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,m);return c&&(v.version=c),v}}];s.default=y,A.exports=s.default}})},9066:function(p,A,s){s(9656)("search")},9092:function(p,A,s){var h=s(9279),g=s(8337),b=s(8062),u=s(2018),y=function m(v){var c=new b(v),i=g(b.prototype.request,c);return h.extend(i,b.prototype,c),h.extend(i,c),i.create=function(e){return m(u(v,e))},i}(s(2962));y.Axios=b,y.Cancel=s(6279),y.CancelToken=s(8294),y.isCancel=s(6747),y.VERSION=s(6532).version,y.all=function(m){return Promise.all(m)},y.spread=s(2225),y.isAxiosError=s(2446),p.exports=y,p.exports.default=y},9131:function(p,A,s){var h=s(9200);p.exports=function(g){return typeof g=="object"?g!==null:h(g)}},9140:function(p,A,s){var h,g,b=s(8793),u=s(824),y=b.process,m=b.Deno,v=y&&y.versions||m&&m.version,c=v&&v.v8;c&&(g=(h=c.split("."))[0]>0&&h[0]<4?1:+(h[0]+h[1])),!g&&u&&(!(h=u.match(/Edge\/(\d+)/))||h[1]>=74)&&(h=u.match(/Chrome\/(\d+)/))&&(g=+h[1]),p.exports=g},9158:function(p,A,s){var h=s(7133),g=s(9272),b=h({}.hasOwnProperty);p.exports=Object.hasOwn||function(u,y){return b(g(u),y)}},9200:function(p){var A=typeof document=="object"&&document.all;p.exports=A===void 0&&A!==void 0?function(s){return typeof s=="function"||s===A}:function(s){return typeof s=="function"}},9206:function(p,A){var s=A;s.length=function(y){var m=y.length;if(!m)return 0;for(var v=0;--m%4>1&&y.charAt(m)==="=";)++v;return Math.ceil(3*y.length)/4-v};for(var h=new Array(64),g=new Array(123),b=0;b<64;)g[h[b]=b<26?b+65:b<52?b+71:b<62?b-4:b-59|43]=b++;s.encode=function(y,m,v){for(var c,i=null,e=[],t=0,r=0;m<v;){var d=y[m++];switch(r){case 0:e[t++]=h[d>>2],c=(3&d)<<4,r=1;break;case 1:e[t++]=h[c|d>>4],c=(15&d)<<2,r=2;break;case 2:e[t++]=h[c|d>>6],e[t++]=h[63&d],r=0}t>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,e)),t=0)}return r&&(e[t++]=h[c],e[t++]=61,r===1&&(e[t++]=61)),i?(t&&i.push(String.fromCharCode.apply(String,e.slice(0,t))),i.join("")):String.fromCharCode.apply(String,e.slice(0,t))};var u="invalid encoding";s.decode=function(y,m,v){for(var c,i=v,e=0,t=0;t<y.length;){var r=y.charCodeAt(t++);if(r===61&&e>1)break;if((r=g[r])===void 0)throw Error(u);switch(e){case 0:c=r,e=1;break;case 1:m[v++]=c<<2|(48&r)>>4,c=r,e=2;break;case 2:m[v++]=(15&c)<<4|(60&r)>>2,c=r,e=3;break;case 3:m[v++]=(3&c)<<6|r,e=0}}if(e===1)throw Error(u);return v-i},s.test=function(y){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(y)}},9229:function(p,A,s){var h=s(7133),g=s(2365);p.exports=function(b,u,y){try{return h(g(Object.getOwnPropertyDescriptor(b,u)[y]))}catch{}}},9257:function(p,A,s){var h=s(876);s(8070),p.exports=h},9267:function(p,A,s){s(9656)("asyncIterator")},9272:function(p,A,s){var h=s(3977),g=Object;p.exports=function(b){return g(h(b))}},9275:function(p,A,s){var h=s(9279);function g(b){return encodeURIComponent(b).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}p.exports=function(b,u,y){if(!u)return b;var m;if(y)m=y(u);else if(h.isURLSearchParams(u))m=u.toString();else{var v=[];h.forEach(u,function(i,e){i!=null&&(h.isArray(i)?e+="[]":i=[i],h.forEach(i,function(t){h.isDate(t)?t=t.toISOString():h.isObject(t)&&(t=JSON.stringify(t)),v.push(g(e)+"="+g(t))}))}),m=v.join("&")}if(m){var c=b.indexOf("#");c!==-1&&(b=b.slice(0,c)),b+=(b.indexOf("?")===-1?"?":"&")+m}return b}},9279:function(p,A,s){var h=s(8337),g=Object.prototype.toString;function b(i){return g.call(i)==="[object Array]"}function u(i){return i===void 0}function y(i){return i!==null&&typeof i=="object"}function m(i){if(g.call(i)!=="[object Object]")return!1;var e=Object.getPrototypeOf(i);return e===null||e===Object.prototype}function v(i){return g.call(i)==="[object Function]"}function c(i,e){if(i!=null)if(typeof i!="object"&&(i=[i]),b(i))for(var t=0,r=i.length;t<r;t++)e.call(null,i[t],t,i);else for(var d in i)Object.prototype.hasOwnProperty.call(i,d)&&e.call(null,i[d],d,i)}p.exports={isArray:b,isArrayBuffer:function(i){return g.call(i)==="[object ArrayBuffer]"},isBuffer:function(i){return i!==null&&!u(i)&&i.constructor!==null&&!u(i.constructor)&&typeof i.constructor.isBuffer=="function"&&i.constructor.isBuffer(i)},isFormData:function(i){return typeof FormData<"u"&&i instanceof FormData},isArrayBufferView:function(i){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(i):i&&i.buffer&&i.buffer instanceof ArrayBuffer},isString:function(i){return typeof i=="string"},isNumber:function(i){return typeof i=="number"},isObject:y,isPlainObject:m,isUndefined:u,isDate:function(i){return g.call(i)==="[object Date]"},isFile:function(i){return g.call(i)==="[object File]"},isBlob:function(i){return g.call(i)==="[object Blob]"},isFunction:v,isStream:function(i){return y(i)&&v(i.pipe)},isURLSearchParams:function(i){return typeof URLSearchParams<"u"&&i instanceof URLSearchParams},isStandardBrowserEnv:function(){return(typeof navigator>"u"||navigator.product!=="ReactNative"&&navigator.product!=="NativeScript"&&navigator.product!=="NS")&&typeof window<"u"&&typeof document<"u"},forEach:c,merge:function i(){var e={};function t(R,x){m(e[x])&&m(R)?e[x]=i(e[x],R):m(R)?e[x]=i({},R):b(R)?e[x]=R.slice():e[x]=R}for(var r=0,d=arguments.length;r<d;r++)c(arguments[r],t);return e},extend:function(i,e,t){return c(e,function(r,d){i[d]=t&&typeof r=="function"?h(r,t):r}),i},trim:function(i){return i.trim?i.trim():i.replace(/^\s+|\s+$/g,"")},stripBOM:function(i){return i.charCodeAt(0)===65279&&(i=i.slice(1)),i}}},9293:function(p){p.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":"prepare 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.","LOCK_POINTER_FAILED":"lock pointer failed switch to unlock mode.","LOCK_POINTER_FAILED_SECURITY_ERROR":"lock pointer failed switch to unlock mode. please check https is enable."}}')},9323:function(p,A,s){var h=s(5589);p.exports=Array.isArray||function(g){return h(g)==="Array"}},9325:function(p,A,s){var h=s(2365),g=s(2178);p.exports=function(b,u){var y=b[u];return g(y)?void 0:h(y)}},9422:function(p,A,s){var h=s(492),g=s(9131),b=s(460),u=s(9325),y=s(1427),m=s(4702),v=TypeError,c=m("toPrimitive");p.exports=function(i,e){if(!g(i)||b(i))return i;var t,r=u(i,c);if(r){if(e===void 0&&(e="default"),t=h(r,i,e),!g(t)||b(t))return t;throw new v("Can't convert object to primitive value")}return e===void 0&&(e="number"),y(i,e)}},9498:function(p,A,s){var h=s(6760);p.exports=function(g,b){return new(h(g))(b===0?0:b)}},9656:function(p,A,s){var h=s(7596),g=s(9158),b=s(4990),u=s(4446).f;p.exports=function(y){var m=h.Symbol||(h.Symbol={});g(m,y)||u(m,y,{value:b.f(y)})}},9677:function(p,A,s){var h=s(100),g=String,b=TypeError;p.exports=function(u){if(h(u))return u;throw new b("Can't set "+g(u)+" as a prototype")}},9744:function(p){p.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":"三指長按屏幕,出現鼠標中鍵按下提示後拖拽即可。三指離開屏幕鼠標中鍵擡起。"}]}]}')},9819:function(p){p.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":"云端应用断开,重新启动中","WAIT_QUEUE_COUNT":"系统已启用排队功能,当前队列前有等待用户: "}}')},9966:function(p){p.exports=function(A,s){for(var h=new Array(arguments.length-1),g=0,b=2,u=!0;b<arguments.length;)h[g++]=arguments[b++];return new Promise(function(y,m){h[g]=function(v){if(u)if(u=!1,v)m(v);else{for(var c=new Array(arguments.length-1),i=0;i<c.length;)c[i++]=arguments[i];y.apply(null,c)}};try{A.apply(s||null,h)}catch(v){u&&(u=!1,m(v))}})}}},__webpack_module_cache__={};function __webpack_require__(p){var A=__webpack_module_cache__[p];if(A!==void 0)return A.exports;var s=__webpack_module_cache__[p]={exports:{}};return __webpack_modules__[p].call(s.exports,s,s.exports,__webpack_require__),s.exports}__webpack_require__.n=function(p){var A=p&&p.__esModule?function(){return p.default}:function(){return p};return __webpack_require__.d(A,{a:A}),A},__webpack_require__.d=function(p,A){for(var s in A)__webpack_require__.o(A,s)&&!__webpack_require__.o(p,s)&&Object.defineProperty(p,s,{enumerable:!0,get:A[s]})},__webpack_require__.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),__webpack_require__.o=function(p,A){return Object.prototype.hasOwnProperty.call(p,A)},__webpack_require__.r=function(p){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(p,"__esModule",{value:!0})};var __webpack_exports__={};return function(){__webpack_require__.d(__webpack_exports__,{default:function(){return Ji}});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{fixNegotiationNeeded:function(){return Wt},shimAddTrackRemoveTrack:function(){return Yt},shimAddTrackRemoveTrackWithNative:function(){return Jt},shimGetDisplayMedia:function(){return we},shimGetSendersWithDtmf:function(){return ze},shimGetStats:function(){return De},shimGetUserMedia:function(){return ye},shimMediaStream:function(){return ae},shimOnTrack:function(){return $e},shimPeerConnection:function(){return mt},shimSenderReceiverGetStats:function(){return ft}});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{shimAddTransceiver:function(){return _t},shimCreateAnswer:function(){return yt},shimCreateOffer:function(){return Tt},shimGetDisplayMedia:function(){return Ht},shimGetParameters:function(){return Lt},shimGetUserMedia:function(){return nt},shimOnTrack:function(){return Qt},shimPeerConnection:function(){return Et},shimRTCDataChannel:function(){return Ct},shimReceiverGetStats:function(){return ut},shimRemoveStream:function(){return $t},shimSenderGetStats:function(){return He}});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{shimAudioContext:function(){return ge},shimCallbacksAPI:function(){return jt},shimConstraints:function(){return zt},shimCreateOfferLegacy:function(){return de},shimGetUserMedia:function(){return Ft},shimLocalStreamsAPI:function(){return kt},shimRTCIceServerUrls:function(){return oe},shimRemoteStreamsAPI:function(){return wt},shimTrackEventTransceiver:function(){return ce}});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{removeExtmapAllowMixed:function(){return Sn},shimAddIceCandidateNullOrEmpty:function(){return nn},shimConnectionState:function(){return bn},shimMaxMessageSize:function(){return en},shimParameterlessSetLocalDescription:function(){return rn},shimRTCIceCandidate:function(){return vt},shimRTCIceCandidateRelayProtocol:function(){return gn},shimSendThrowTypeError:function(){return tn}}),__webpack_require__(9257);class g{constructor(){this.listeners=new Map}on(n,a,l){this.listeners.has(n)||this.listeners.set(n,[]);const f=this.listeners.get(n);f!==void 0&&(f.push({callback:a,target:l||this}),this.listeners.set(n,f))}off(n,a,l){if(!this.listeners.has(n))return;const f=l||this,S=this.listeners.get(n);if(S!==void 0){for(let O=0,E=S.length;O<E;O++)if(S[O].callback===a&&S[O].target===f)return void S.splice(O,1)}}emit(n,...a){if(!this.listeners.has(n.type))return;const l=this.listeners.get(n.type);if(l!==void 0)for(let f=0,S=l.length;f<S;f++)l[f].callback.call(l[f].target,n,...a)}}class b{static getLevelIndex(n){switch(n){case b.INFO:return 0;case b.WARN:return 1;case b.ERR:return 2;case b.TRACE:return 3;default:return 4}}}b.INFO="INFO",b.WARN="WARN",b.ERR="ERROR",b.TRACE="TRACE";class u{static get logLevel(){return this._logLevel}static set logLevel(n){this._logLevel=n.toUpperCase()}static info(...n){this.log(b.INFO,...n)}static warn(...n){this.log(b.WARN,...n)}static err(...n){this.log(b.ERR,...n)}static trace(...n){this.log(b.TRACE,...n)}static setObserver(n){this._observer=n}static log(n,...a){if(b.getLevelIndex(n)<b.getLevelIndex(u._logLevel))return;const l=new Date().toLocaleTimeString()+" ["+n+"]:";switch(n){case b.INFO:console.info(...a);break;case b.WARN:console.warn(...a);break;case b.ERR:console.error(...a);break;case b.TRACE:console.trace(...a)}this._observer&&this._observer.onLog(l+a.toString())}}u._logLevel=b.INFO,u._observer=null;var y,m=__webpack_require__(704);(function(o){o[o.CN=0]="CN",o[o.EN=1]="EN",o[o.TW=2]="TW"})(y||(y={}));class v{constructor(){this.mType="",this.mLoaded=!1}get type(){return this.mType}get data(){return this.mData}loadData(n){this.mData=n,this.mData!=null&&(this.mLoaded=!0)}}const c={message:__webpack_require__(4198),gestureIns:__webpack_require__(5566),ui:__webpack_require__(9293)},i={message:__webpack_require__(9819),gestureIns:__webpack_require__(7889),ui:__webpack_require__(6818)},e={message:__webpack_require__(3996),gestureIns:__webpack_require__(9744),ui:__webpack_require__(731)};class t{static getPrePath(){const n="../assets/localization/zh/";switch(this.mLanguageCode){case y.CN:return n;case y.EN:return"../assets/localization/en/";case y.TW:return"../assets/localization/tw/";default:return n}}static init(n){var a;this.mLanguageCode=(a=n)==="zh-CN"?y.CN:a==="tw-CH"||a==="zh-TW"?y.TW:y.EN,this.mLanguageCode===y.CN?(this.message.loadData(i.message),this.gestureIns.loadData(i.gestureIns),this.ui.loadData(i.ui)):this.mLanguageCode===y.TW?(this.message.loadData(e.message),this.gestureIns.loadData(e.gestureIns),this.ui.loadData(e.ui)):(this.message.loadData(c.message),this.gestureIns.loadData(c.gestureIns),this.ui.loadData(c.ui))}static get message(){return this.mMessage}static get gestureIns(){return this.mGestureIns}static get ui(){return this.mUI}}var r,d;t.mLanguageCode=y.CN,t.mMessage=new class extends v{constructor(){super(...arguments),this.mType="message"}getLevel(o){return this.mLoaded?this.mData.level[o]:""}getMessage(o){return this.mLoaded?this.mData.msg[o]:""}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")}get WAIT_QUEUE_COUNT(){return this.getMessage("WAIT_QUEUE_COUNT")}},t.mGestureIns=new class extends v{constructor(){super(...arguments),this.mType="gestureIns"}},t.mUI=new class extends v{constructor(){super(...arguments),this.mType="ui"}getButton(o){return this.mLoaded?this.mData.button[o]:""}getNotice(o){return this.mLoaded?this.mData.notice[o]:""}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")}get LOCK_POINTER_FAILED(){return this.getNotice("LOCK_POINTER_FAILED")}get LOCK_POINTER_FAILED_SECURITY_ERROR(){return this.getNotice("LOCK_POINTER_FAILED_SECURITY_ERROR")}},function(o){o[o.LK_WEB_CLIENT_LOAD_SUCCESS=1]="LK_WEB_CLIENT_LOAD_SUCCESS",o[o.LK_TASK_CREATE_SUCCESS=10]="LK_TASK_CREATE_SUCCESS",o[o.LK_TASK_CREATE_FAILED=11]="LK_TASK_CREATE_FAILED",o[o.LK_RESOURCE_NOT_ENOUGH=12]="LK_RESOURCE_NOT_ENOUGH",o[o.LK_TASK_SYNC_APP=20]="LK_TASK_SYNC_APP",o[o.LK_TASK_SYNC_APP_FAILED=21]="LK_TASK_SYNC_APP_FAILED",o[o.LK_RENDER_SERVER_CONNECTED=100]="LK_RENDER_SERVER_CONNECTED",o[o.LK_RENDER_SERVER_FAILED=101]="LK_RENDER_SERVER_FAILED",o[o.LK_RENDER_SERVER_CLOSE=102]="LK_RENDER_SERVER_CLOSE",o[o.LK_RENDER_SERVER_ERROR=103]="LK_RENDER_SERVER_ERROR",o[o.LK_PROXY_SERVER_CONNECTED=200]="LK_PROXY_SERVER_CONNECTED",o[o.LK_PROXY_SERVER_FAILED=201]="LK_PROXY_SERVER_FAILED",o[o.LK_PROXY_SERVER_CLOSE=202]="LK_PROXY_SERVER_CLOSE",o[o.LK_PROXY_SERVER_ERROR=203]="LK_PROXY_SERVER_ERROR",o[o.LK_VERSION_CHECK_SUCCESS=300]="LK_VERSION_CHECK_SUCCESS",o[o.LK_VERSION_CHECK_FAILED=301]="LK_VERSION_CHECK_FAILED",o[o.LK_TASK_SUCCESS=400]="LK_TASK_SUCCESS",o[o.LK_TASK_NOTFOUND=401]="LK_TASK_NOTFOUND",o[o.LK_TASK_SERVER_ERROR=402]="LK_TASK_SERVER_ERROR",o[o.LK_TASK_APP_WRONGPARAM=403]="LK_TASK_APP_WRONGPARAM",o[o.LK_TASK_NO_GPU_RESOURCE=404]="LK_TASK_NO_GPU_RESOURCE",o[o.LK_START_STREAM_SUCCESS=500]="LK_START_STREAM_SUCCESS",o[o.LK_START_STREAM_PROCESS_START_FAILED=501]="LK_START_STREAM_PROCESS_START_FAILED",o[o.LK_START_STREAM_PROCESS_START_TIMEOUT=502]="LK_START_STREAM_PROCESS_START_TIMEOUT",o[o.LK_START_STREAM_NOT_STREAMING=503]="LK_START_STREAM_NOT_STREAMING",o[o.LK_START_STREAM_ENCODER_ERROR=504]="LK_START_STREAM_ENCODER_ERROR",o[o.LK_RTC_EVENT_PEERCONNECTION_CONNECTED=600]="LK_RTC_EVENT_PEERCONNECTION_CONNECTED",o[o.LK_RTC_EVENT_PEERCONNECTION_CLOSED=601]="LK_RTC_EVENT_PEERCONNECTION_CLOSED",o[o.LK_RTC_EVENT_PEERCONNECTION_ERROR=602]="LK_RTC_EVENT_PEERCONNECTION_ERROR",o[o.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED=603]="LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED",o[o.LK_RTC_EVENT_PEERCONNECTION_STATE=610]="LK_RTC_EVENT_PEERCONNECTION_STATE",o[o.LK_RTC_EVENT_PEERCONNECTION_RETRY=611]="LK_RTC_EVENT_PEERCONNECTION_RETRY",o[o.LK_VIDEO_LOADED=700]="LK_VIDEO_LOADED",o[o.LK_VIDEO_PLAY_FAILED=701]="LK_VIDEO_PLAY_FAILED",o[o.LK_GOT_REMOTE_STREAM=710]="LK_GOT_REMOTE_STREAM",o[o.LK_VIDEO_PLAY_SUCCSS=711]="LK_VIDEO_PLAY_SUCCSS",o[o.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT=800]="LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT",o[o.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT=801]="LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT",o[o.LK_APP_PROCESS_NOTIFI_APP_QUIT=900]="LK_APP_PROCESS_NOTIFI_APP_QUIT",o[o.LK_NO_OPERATION_TIMEOUT=901]="LK_NO_OPERATION_TIMEOUT",o[o.LK_LOADING_TIMEOUT=902]="LK_LOADING_TIMEOUT",o[o.LK_APP_RESIZE=910]="LK_APP_RESIZE",o[o.LK_APP_MOUSE_MODE=911]="LK_APP_MOUSE_MODE",o[o.LK_APP_PLAER_LIST=912]="LK_APP_PLAER_LIST",o[o.LK_APP_REQUEST_TEXT=913]="LK_APP_REQUEST_TEXT",o[o.LK_APP_CURSOR_STYLE=914]="LK_APP_CURSOR_STYLE",o[o.LK_USER_REQUEST_QUIT=920]="LK_USER_REQUEST_QUIT",o[o.LK_UI_RESIZE=930]="LK_UI_RESIZE",o[o.LK_STARTVRSTREAM_SUCCESS=1e3]="LK_STARTVRSTREAM_SUCCESS",o[o.LK_STARTVRSTREAM_START_PROCESS_FAILED=1001]="LK_STARTVRSTREAM_START_PROCESS_FAILED",o[o.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT=1002]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT",o[o.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR=1003]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR",o[o.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR=1004]="LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR",o[o.LK_WEBCLIENT_NOTIFY_ALERT=1100]="LK_WEBCLIENT_NOTIFY_ALERT",o[o.LK_WEBCLIENT_NOTIFY_CONFIRM=1101]="LK_WEBCLIENT_NOTIFY_CONFIRM",o[o.LK_WEBCLIENT_TOAST_MSG=1102]="LK_WEBCLIENT_TOAST_MSG",o[o.LK_USER_CAPTURE_FRAME=2e3]="LK_USER_CAPTURE_FRAME",o[o.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA=2001]="LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA",o[o.LK_REQUEST_CAPTURE_FRAME=3e3]="LK_REQUEST_CAPTURE_FRAME",o[o.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA=3001]="LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",o[o.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE=1e4]="LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE",o[o.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN=10001]="LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN",o[o.LK_IFRAME_POSTER_OPERATE_MOUSE_UP=10002]="LK_IFRAME_POSTER_OPERATE_MOUSE_UP",o[o.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL=10003]="LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL",o[o.LK_IFRAME_POSTER_OPERATE_KEY_DOWN=10010]="LK_IFRAME_POSTER_OPERATE_KEY_DOWN",o[o.LK_IFRAME_POSTER_OPERATE_KEY_UP=10011]="LK_IFRAME_POSTER_OPERATE_KEY_UP",o[o.LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN=10020]="LK_IFRAME_POSTER_OPERATE_TOUCH_DOWN",o[o.LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE=10021]="LK_IFRAME_POSTER_OPERATE_TOUCH_MOVE",o[o.LK_IFRAME_POSTER_OPERATE_TOUCH_UP=10022]="LK_IFRAME_POSTER_OPERATE_TOUCH_UP",o[o.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN=10030]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_DOWN",o[o.LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP=10031]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_BUTTON_UP",o[o.LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE=10032]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_TRIGGER_VALUE",o[o.LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES=10033]="LK_IFRAME_POSTER_OPERATE_GAMEPAD_JOYSTICK_STATES",o[o.LK_IFRAME_POSTER_OPENAUDIO_INPUT=10040]="LK_IFRAME_POSTER_OPENAUDIO_INPUT",o[o.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT=10041]="LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT",o[o.LK_IFRAME_POSTER_FUNC_MOUSE_MODE=10100]="LK_IFRAME_POSTER_FUNC_MOUSE_MODE",o[o.LK_IFRAME_POSTER_FUNC_SCALE_MODE=10101]="LK_IFRAME_POSTER_FUNC_SCALE_MODE",o[o.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP=10102]="LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP",o[o.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY=10103]="LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY",o[o.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO=10104]="LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO",o[o.LK_IFRAME_POSTER_UI_CONTROLLER_BAR=10200]="LK_IFRAME_POSTER_UI_CONTROLLER_BAR",o[o.LK_IFRAME_POSTER_UI_PLAYER_LIST=10201]="LK_IFRAME_POSTER_UI_PLAYER_LIST",o[o.LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL=10202]="LK_IFRAME_POSTER_UI_PLAYER_SHARE_URL",o[o.LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL=10203]="LK_IFRAME_POSTER_UI_MOBILE_CONTROL_BALL",o[o.LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK=10204]="LK_IFRMAE_POSTER_UI_MOBILE_JOYSTICK",o[o.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD=10205]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_KEYBOARD",o[o.LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE=10206]="LK_IFRAME_POSTER_UI_MOBILE_VIRTUAL_MOUSE",o[o.LK_IFRAME_POSTER_UI_MOBILE_MENU=10207]="LK_IFRAME_POSTER_UI_MOBILE_MENU",o[o.LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE=10208]="LK_IFRAME_POSTER_UI_MOBILE_FORCE_LANDSCAPE",o[o.LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT=10209]="LK_IFRAME_POSTER_UI_MOBILE_TOUCH_POINT",o[o.LK_IFRAME_POSTER_UI_TOAST_LEVEL=10210]="LK_IFRAME_POSTER_UI_TOAST_LEVEL",o[o.LK_IFRAME_POSTER_UI_ALERT=10211]="LK_IFRAME_POSTER_UI_ALERT",o[o.LK_IFRAME_POSTER_UI_CONFIRM=10212]="LK_IFRAME_POSTER_UI_CONFIRM",o[o.LK_DATA_CHANNEL_ESTABLISHED=2e4]="LK_DATA_CHANNEL_ESTABLISHED",o[o.LK_DATA_CHANNEL_RETYING=20001]="LK_DATA_CHANNEL_RETYING",o[o.LK_DATA_CHANNEL_CLOSE=20002]="LK_DATA_CHANNEL_CLOSE",o[o.LK_DATA_CHANNEL_ERROR=20003]="LK_DATA_CHANNEL_ERROR",o[o.LK_DATA_CHANNEL_BINARY_MESSAGE=20004]="LK_DATA_CHANNEL_BINARY_MESSAGE",o[o.LK_DATA_CHANNEL_TEXT_MESSAGE=20005]="LK_DATA_CHANNEL_TEXT_MESSAGE",o[o.LK_RE_CONNECT_DATA_CHANNEL=20100]="LK_RE_CONNECT_DATA_CHANNEL",o[o.LK_CLOSE_DATA_CHANNEL=20101]="LK_CLOSE_DATA_CHANNEL",o[o.LK_DATA_CHANNEL_SEND_TEXT=20102]="LK_DATA_CHANNEL_SEND_TEXT",o[o.LK_DATA_CHANNEL_SEND_BINARY=20103]="LK_DATA_CHANNEL_SEND_BINARY",o[o.LK_DATA_CHANNEL_RENDERSERVER_OPEN=20200]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",o[o.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=20201]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",o[o.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=20202]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=20203]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT=20300]="LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT",o[o.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY=20301]="LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY"}(r||(r={}));class R{static GetEventMessageByType(n){switch(n){case r.LK_WEB_CLIENT_LOAD_SUCCESS:return"webclient load success";case r.LK_RENDER_SERVER_CONNECTED:return t.message.RENDER_SERVER_CONNECTED;case r.LK_RENDER_SERVER_FAILED:return t.message.RENDER_SERVER_FAILED;case r.LK_RENDER_SERVER_CLOSE:return t.message.RENDER_SERVER_CLOSE;case r.LK_RENDER_SERVER_ERROR:return t.message.RENDER_SERVER_ERROR;case r.LK_PROXY_SERVER_CONNECTED:return t.message.PROXY_SERVER_CONNECTED;case r.LK_PROXY_SERVER_FAILED:return t.message.PROXY_SERVER_FAILED;case r.LK_PROXY_SERVER_CLOSE:return t.message.PROXY_SERVER_CLOSE;case r.LK_PROXY_SERVER_ERROR:return t.message.PROXY_SERVER_ERROR;case r.LK_VERSION_CHECK_SUCCESS:return t.message.VERSION_CHECK_SUCCESS;case r.LK_VERSION_CHECK_FAILED:return t.message.VERSION_CHECK_FAILED;case r.LK_TASK_SUCCESS:return t.message.taskSuccess;case r.LK_TASK_NOTFOUND:return t.message.taskNotFound;case r.LK_TASK_SERVER_ERROR:return t.message.taskError;case r.LK_TASK_APP_WRONGPARAM:return t.message.taskAppWrongParam;case r.LK_TASK_NO_GPU_RESOURCE:return t.message.taskNoGpuResource;case r.LK_RTC_EVENT_PEERCONNECTION_CONNECTED:return t.message.RTC_EVENT_PEERCONNECTION_CONNECTED;case r.LK_RTC_EVENT_PEERCONNECTION_CLOSED:return t.message.RTC_EVENT_PEERCONNECTION_CLOSED;case r.LK_RTC_EVENT_PEERCONNECTION_ERROR:return t.message.RTC_EVENT_PEERCONNECTION_ERROR;case r.LK_START_STREAM_SUCCESS:return t.message.startSuccess;case r.LK_START_STREAM_PROCESS_START_FAILED:return t.message.startStreamProcessStartFailed;case r.LK_START_STREAM_PROCESS_START_TIMEOUT:return t.message.startStreamProcessStartTimeout;case r.LK_START_STREAM_NOT_STREAMING:return t.message.startStreamNotStreaming;case r.LK_START_STREAM_ENCODER_ERROR:return t.message.startStreamEncodeError;case r.LK_VIDEO_LOADED:return t.message.VIDEO_LOADED;case r.LK_USER_CAPTURE_FRAME:return"user capture a render frame.";default:return""}}}(function(o){o[o.OPEN=0]="OPEN",o[o.CLOSE=1]="CLOSE",o[o.ERROR=2]="ERROR",o[o.CLIENT_MSG=3]="CLIENT_MSG"})(d||(d={}));class x extends g{get wsServer(){if(this.config.proxyBasePath){let n=window.location.protocol.indexOf("s")>-1,a=n?"wss://":"ws://",l=n&&this.config.renderSSLServerPort?this.config.renderSSLServerPort:this.config.port;return`${a}${this.config.ip}:${l}/${this.config.path?this.config.path:""}`}{let n=new URL(this.config.serverAddress).protocol.indexOf("s")>-1,a=n?"wss://":"ws://",l=n&&this.config.renderSSLServerPort?this.config.renderSSLServerPort:this.config.port;return`${a}${this.config.ip}:${l}/${this.config.path?this.config.path:""}`}}constructor(n,a){super(),this.connection=null,this.keepAliveTimeout=-1,u.info("初始化 WebSocketet"+JSON.stringify(n)),this.config=n,this.larksr=a,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)}connect(){return new Promise((n,a)=>{u.info("连接 websocket 服务器",this.config.ip,this.wsServer),this.config.ip||(u.warn("server uri error:",this.config.ip),a("server uri error:"+this.config.ip));const l=this.wsServer;this.connection=new WebSocket(l),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.connection.addEventListener("open",()=>{n(this),this.larksr.$emit(r.LK_RENDER_SERVER_CONNECTED),this.onOpen()}),this.connection.addEventListener("error",f=>{u.info("connection error"),this.larksr.$emit(r.LK_RENDER_SERVER_ERROR,"","ws connect to "+l+" failed. code "+r.LK_RENDER_SERVER_ERROR),a("ws connect to "+l+" failed. code "+r.LK_RENDER_SERVER_ERROR),this.onWSError(f)}),this.connection.addEventListener("close",f=>{u.info("websocket connection close",f),this.larksr.$emit(r.LK_RENDER_SERVER_CLOSE,"","ws failed:"+JSON.stringify(f)+". code "+r.LK_RENDER_SERVER_CLOSE),a("ws failed: ws event code "+f.code+". reason "+f.reason+". code "+r.LK_RENDER_SERVER_CLOSE),this.onWSClose(f)})})}close(){return new Promise((n,a)=>{if(this.connection){const l=this;this.connection.addEventListener("close",f=>{l.connection=null,u.info("CLOSE PROMISE 关闭 websocket 连接"),n()}),this.connection.addEventListener("error",f=>{a(f)}),u.warn("主动关闭 websocket 连接"),this.connection.close()}else u.warn("主动关闭连接,但是当前 websocket 连接为null"),n()})}sendMsg(n){this.sendBuffer(m.CloudLark.ToServerMessage.encode(n).finish())}sendBuffer(n){this.connection&&this.isOpen()&&this.connection.send(n)}sendKeepAlive(){this.connection&&this.isOpen()&&this.connection.send("1000")}isOpen(){return!!this.connection&&this.connection.readyState===1}startKeepAlive(){u.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout(()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()},1e4)}stopKeepAlive(){u.info("proxy stopKeepAlive"),this.keepAliveTimeout&&window.clearTimeout(this.keepAliveTimeout)}onMessage(n){if(u.info("websocket channel",n,typeof n),n.data)try{const a=m.CloudLark.ToClientMessage.decode(new Uint8Array(n.data));this.$emit(d.CLIENT_MSG,a)}catch(a){u.warn("Protobuf MSG decode failed:"+JSON.stringify(a))}}onOpen(){u.info("websocket 服务器连接成功"),this.startKeepAlive(),this.$emit(d.OPEN)}onWSError(n){u.info("websocket 连接错误:"+JSON.stringify(n)),this.stopKeepAlive(),this.$emit(d.ERROR)}onWSClose(n){u.info("websocket 连接关闭: "+JSON.stringify(n)),this.stopKeepAlive(),this.$emit(d.CLOSE)}$emit(n,a){this.emit(this.createEvent(n,a))}createEvent(n,a){return{type:n,target:this,data:a}}}class P{static get language(){return P.$language}static get isMobile(){return P.$isMobile}static get isWeChat(){return P.$isWeChat}static get isQQ(){return P.$isQQ}static get isHuawei(){return P.$isHuawei}static get os(){return P.$os}static get isIOSSafari(){return P.$isIOSSafari}}P.$language="zh-CN",P.$os="Unknown",P.$os=function(){const o=navigator.userAgent;return o.indexOf("Android")>-1||o.indexOf("Adr")>-1?"Android":o.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)||o.indexOf("Safari")!=-1&&o.indexOf("Version")!=-1&&"ontouchend"in document?"iOS":o.match(/macintosh|mac os x/i)?"Mac OS":o.match(/windows|win32/i)?"Windows PC":"PC"}(),P.$isMobile=function(){const o=navigator.userAgent.toLowerCase(),n=o.indexOf("mobile")!==-1,a=o.indexOf("android")!==-1,l="ontouchend"in document,f=o.indexOf("safari")!=-1&&o.indexOf("version")!=-1,S=o.indexOf("iphone")!=-1,O=o.indexOf("ipad")!=-1;return n||a||f&&l||S||O}(),P.$isWeChat=/micromessenger/i.test(navigator.userAgent),P.$isHuawei=navigator.userAgent.toLowerCase().indexOf("huaweibrowser")>-1,P.$isQQ=navigator.userAgent.toLowerCase().indexOf("mqqbrowser")>-1,P.$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 I=P;class M{}M.FIT_SCREEN="fit",M.CONTAIN_VIDEO="cover",M.CONTAIN_APP="contain",M.FILL_CLIP="fill_clip",M.FILL_STRETCH="fill_stretch",M.SCROLL_AUTO="scroll_auto",M.SCROLL_X_FILL_Y="scroll_x_fill_y",M.SCROLL_X_CLIP_Y="scroll_x_clip_y",M.SCROLL_X_CONTAIN_Y="scroll_x_contain_y",M.SCROLL_X_OVERFLOW_SCROLL_FILL_Y="scroll_x_overflow_scroll_contain_y",M.SCROLL_X_FILL_Y_ASPECT="scroll_x_fill_y_aspect",M.SCROLL_Y_FILL_X="scroll_y_fill_x",M.SCROLL_Y_CLIP_X="scroll_y_clip_x",M.SCROLL_Y_CONTAIN_X="scroll_y_contain_x",M.SCROLL_Y_OVERFLOW_SCROLL_FILL_X="scroll_y_overflow_scroll_contain_x",M.SCROLL_Y_FILL_X_ASPECT="scroll_y_fill_x_aspect",M.OFFSET=30;class N{}function K(o=""){const n=navigator.userAgent,a=n.indexOf(o);if(a>-1){const l=a+o.length+1,f=n.slice(l,l+2);return parseInt(f,10)}return-1}N.BuildType="local",N.LocalHomepagePath="cloudlark/webclient",N.VersionMarjor=3,N.VersionMinorr=2,N.VersionRevise=3,N.VersionBuild=29,N.RetryTime=3,N.OriginW=2e4,N.OriginH=1e4,N.CodeRate=8e3,N.AudioCodeRate=128,N.FrameRate=60,N.ScaleMode=M.CONTAIN_APP,N.Network="local",N.MouseMode=1,N.ForceIceAddr=!1,N.DisableVPX=!1,N.RelativeMouseMove=!1,N.VirtualRackerScale=1,N.ErrChromeAndroidVersion=[];class j{static getBrowserType(){const n=navigator.userAgent;return n.indexOf(j.Type.IE)>-1?j.Type.IE:n.indexOf(j.Type.Opera)>-1?j.Type.Opera:n.indexOf(j.Type.Edge)>-1?j.Type.Edge:n.indexOf(j.Type.Firefox)>-1?j.Type.Firefox:n.indexOf(j.Type.Safari)>-1&&n.indexOf("Version")>-1?j.Type.Safari:n.indexOf(j.Type.Chrome)>-1?j.Type.Chrome:""}static checkSupport(){const n=navigator.userAgent;if(I.isMobile){for(const a of N.ErrChromeAndroidVersion)if(n.indexOf(a)>-1)return-1;return K(j.Type.Chrome)>j.SupportMobile.Chrome||K(j.Type.Firefox)>j.SupportMobile.Firefox?1:0}{const a=j.getBrowserType(),l=K(j.Type.Edge),f=a!==j.Type.Edge?K(j.Type.Chrome):-1,S=K(j.Type.Firefox);return a!==j.Type.IE&&l>=j.AdviseSupportVersion.Edge||f>=j.AdviseSupportVersion.Chrome||S>=j.AdviseSupportVersion.Firefox?1:a!==j.Type.IE&&l>j.Support.Edge||f>j.Support.Chrome||S>j.Support.Firefox?-2:0}}static getBrowserVersion(n=""){return K(n)}}j.Type={Chrome:"Chrome",iOSChrome:"CriOS",Firefox:"Firefox",Edge:"Edge",Opera:"OPR",IE:"MSIE",Safari:"Safari"},j.Support={Chrome:33,Firefox:30,Edge:1e5},j.AdviseSupportVersion={Chrome:56,Firefox:44,Edge:1e5},j.SupportMobile={Chrome:58,iOSChrome:58,Firefox:53,Edge:1e5};var le=__webpack_require__(7961),fe=__webpack_require__.n(le);class k{static queryString(n){const a=new RegExp("(^|&)"+n+"=([^&]*)(&|$)","i");let l=window.location.search.substr(1);if(l=l.replace("/",""),l===""){const S=window.location.hash.substr(1).split("?");S&&S.length>1&&(l=S[1])}const f=l.match(a);return f!=null?encodeURI(f[2]):""}static queryURL(n,a){const l=new RegExp("(^|&)"+a+"=([^&]*)(&|$)","i");let f=n.search.substr(1);f=f.replace("/","");const S=f.match(l);return S!=null?encodeURI(S[2]):""}static deepCopy(n){const a={};for(const l in n)l&&(a[l]=n[l]);return a}static deepCopyArray(n){const a=[];for(const l of n)a.push(l);return a}static getElementViewport(n,a=1){const{left:l,right:f,top:S,bottom:O}=n.getBoundingClientRect();return u.info("getElementViewport ",l,f,S,O),{width:(f-l)/a,height:(O-S)/a}}static elementTop(n){let a=n.offsetTop,l=n.offsetParent;for(;l!==null;)a+=l.offsetTop,l=l.offsetParent;return a}static elementLeft(n){let a=n.offsetLeft,l=n.offsetParent;for(;l!==null;)a+=l.offsetLeft,l=l.offsetParent;return a}static singlePointRelativePosition(n,a){const l=k.getOffsetViewport(a);return{x:n.clientX-l.offsetX,y:n.clientY-l.offsetY}}static touchRelativePosition(n,a){if(n.changedTouches.length>0&&a){const l=[];for(const f in n.targetTouches)f&&l.push({x:n.targetTouches[f].clientX-a.offsetX,y:n.targetTouches[f].clientY-a.offsetY});return l}return[]}static pointsDistance(n,a){const l=a.x-n.x,f=a.y-n.y;return Math.sqrt(l*l+f*f)}static vector(n,a){return{x:a.x-n.x,y:a.y-n.y,startPoint:n,endPoint:a}}static vectorModule(n){return Math.sqrt(n.x*n.x+n.y*n.y)}static vectorCosAngle(n,a){const l=k.vectorModule(n)*k.vectorModule(a);return l===0?0:k.vectorDotProduct(n,a)/l}static vectorDotProduct(n,a){return n.x*a.x+n.y*a.y}static vectorDet(n,a){return n.x*a.y-a.x*n.y}static midpointCoordinate(n){if(n.length===0)return{x:0,y:0};if(n.length===1)return n[0];{const a={x:0,y:0};for(const l of n)a.x+=l.x,a.y+=l.y;return{x:a.x/n.length,y:a.y/n.length}}}static formatTimeString(n=0){const a=Math.floor(n/3600),l=n%3600,f=Math.floor(l/60),S=Math.floor(l%60);return(a<10?"0"+a:a+"")+":"+(f<10?"0"+f:f+"")+":"+(S<10?"0"+S:S+"")}static formatMinTimeString(n=0){const a=Math.floor(n/1440),l=n%1440,f=Math.floor(l/60),S=l%60;return a+" 天 "+(f<10?"0"+f:f+"")+" 小时 "+(S<10?"0"+S:S+"")+"分"}static sign(n){return n===0?1/n<0?-1:1:Math.sign(n)}static coverPointToCssPosition(n){return{top:n.y,left:n.x}}static coverCssPositionToPoint(n){return{x:n.left,y:n.top}}static getViewport(){return u.info("innerHeight for ios",fe()()),I.isIOSSafari?{width:window.innerWidth,height:window.innerHeight}:document.compatMode==="BackCompat"?{width:document.body.clientWidth,height:document.body.clientHeight}:{width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}static getElementTop(n){let a=n.offsetTop,l=n.offsetParent;for(;l!==null;)a+=l.offsetTop,l=l.offsetParent;return a}static getElementLeft(n){let a=n.offsetLeft,l=n.offsetParent;for(;l!==null;)a+=l.offsetLeft,l=l.offsetParent;return a}static getOffsetViewport(n){const a=n.getBoundingClientRect();if(a)return{offsetX:a.left,offsetY:a.top};{const l=k.getElementLeft(n),f=k.getElementTop(n);return{offsetX:l-window.pageXOffset,offsetY:f-window.pageYOffset}}}static getBoundingClientRect(n){if(n.getBoundingClientRect){const a=n.getBoundingClientRect();return{top:a.top,left:a.left,right:a.right,bottom:a.bottom}}return{top:0,left:0,right:0,bottom:0}}static getBoundingClientRectSize(n){const a=k.getBoundingClientRect(n);return{width:a.right-a.left,height:a.bottom-a.top}}static getMousePositon(n,a){const l=k.getOffsetViewport(a);return{x:n.clientX-l.offsetX,y:n.clientY-l.offsetY}}static fresh(){window.location.reload()}static ab2str(n){const a=new Uint16Array(n);return String.fromCharCode.apply(null,a)}static strToU8Arraybuf(n){const a=new ArrayBuffer(n.length),l=new Uint8Array(a);for(let f=0,S=n.length;f<S;f++)l[f]=n.charCodeAt(f);return a}static bytesEqual(n,a){if(n.byteLength!==a.byteLength)return!1;const l=new Uint8Array(n),f=new Uint8Array(a);for(let S=0;S<l.byteLength;S++)if(l[S]!==f[S])return!1;return!0}static getMobliePixelWidth(n,a){return n/1340*100*a}static IsIframe(){return self!==top}static evenNumber(n){const a=Math.ceil(n);return a%2!=0?a+1:a}static floorevenNumber(n){const a=Math.floor(n);return a%2!=0?a-1:a}}class W{static isLoopIpAddress(n){return n==="127.0.0.1"||n==="localhost"}static getRtpmapRegByMode(n){switch(n){case"VP8":default:return this.vp8;case"VP9":return this.vp9;case"H264":return this.h264;case"AV1":return this.av1;case"AV1X":return this.av1x;case"H265":return this.h265;case"HEVC":return this.hevc;case"SVAC":return this.svac}}static hasVp8(n){return this.hasMode(n,"VP8")}static hasVp9(n){return this.hasMode(n,"VP9")}static hasH264(n){return this.hasMode(n,"H264")}static hasAV1(n){return this.hasMode(n,"AV1")}static hasAV1X(n){return this.hasMode(n,"AV1X")}static hasH265(n){return this.hasMode(n,"H265")}static hasHEVC(n){return this.hasMode(n,"HEVC")}static hasSVAC(n){return this.hasMode(n,"SVAC")}static hasMode(n,a){const l=this.getRtpmapRegByMode(a),f=n.match(l);return!!(f&&f.length>0)}static setAudioBitrate(n,a){return n.replace("useinbandfec=1",`useinbandfec=1; maxaveragebitrate=${a}; stereo=1; sprop-stereo=1 ; cbr=1`)}static setBitRate(n,a,l,f){return["VP8","VP9","H264","AV1"].map(S=>{n=this.setModeBitRate(n,a,l,f,S)}),n}static setModeBitRate(n,a,l,f,S){const O=this.getRtpmapRegByMode(S),E=[],C=`x-google-start-bitrate=${a};x-google-max-bitrate=${l};x-google-min-bitrate=${f}`;n.replace(O,L=>{const w=L.split(":");return w.length>0&&E.push(w[1].split(" ")[0]),L});for(const L of E){const w=new RegExp("a=fmtp:"+L+this.tail,this.config);u.info("find fmtp",w,n.match(w)),n=n.match(w)?n.replace(w,V=>{const _=this.getAttrName(V)+" "+this.sdpGooAttrLine(...this.getBlankAttrs(V),C);return u.info("replace sdp bitrite res:",_),_}):n.replace(O,V=>(V+="a=fmtp:"+L+" "+C+`\r
|
|
34
|
-
`,u.warn("cant find fmtp "+L+" in sdp. need add",V),V))}return n}static removeVp8(n){return this.sdpFilter(n,"VP8")}static removeVp9(n){return this.sdpFilter(n,"VP9")}static removeH264(n){return this.sdpFilter(n,"H264")}static removeAV1(n){return this.sdpFilter(n,"AV1")}static removeAV1X(n){return this.sdpFilter(n,"AV1X")}static removeH265(n){return this.hasH265(n)?this.sdpFilter(n,"H265"):n}static removeHEVC(n){return this.hasHEVC(n)?this.sdpFilter(n,"HEVC"):n}static removeSVAC(n){return this.hasSVAC(n)?this.sdpFilter(n,"SVAC"):n}static sdpFilter(n,a){const l=this.getRtpmapRegByMode(a),f=[];n=n.replace(l,C=>{const L=C.split(":");return L.length>0&&f.push(L[1].split(" ")[0]),""});const S=this.tail,O=this.config,E=[];for(const C of f){const L=new RegExp("a=rtcp-fb:"+C+S,O);u.info("replace rtcp-fb",L),n=n.replace(L,z=>(u.info("replace rtcp-fb",z),""));const w=new RegExp("a=fmtp:.*apt="+C+S,O);let V="";if(n=n.replace(w,z=>{const B=z.split(":");return B.length>0&&(V=B[1].split(" ")[0],E.push(V)),u.info("fmtp apt",z,V),""}),V){const z=new RegExp("a=rtpmap:"+V+S,O);n=n.replace(z,B=>(u.info("remove rtpmap",B),""))}const _=new RegExp("a=fmtp:.*"+C+S,O);n=n.replace(_,z=>(u.info("remove fmtp ",z),""))}return n=n.replace(/m=video 9 UDP\/TLS\/RTP\/SAVPF.*/g,C=>{if(f.length>0)for(const L of f)C=C.replace(L+" ","");if(E.length>0)for(const L of E)C=C.replace(L+" ","");return C})}static sdpGooAttrLine(...n){return n.join(";")+`\r
|
|
35
|
-
`}static sdpBlankAttrLine(...n){return n.join(" ")+`\r
|
|
36
|
-
`}static getBlankAttrs(n){return n.split(" ").slice(1).map(a=>a.trim())}static getAttrName(n){return n.split(" ")[0].trim()}}W.vp8=/a=rtpmap:.* VP8.*[.\n\r]*/g,W.vp9=/a=rtpmap:.* VP9.*[.\n\r]*/g,W.h264=/a=rtpmap:.* H264.*[.\n\r]*/g,W.av1x=/a=rtpmap:.* AV1X.*[.\n\r]*/g,W.av1=/a=rtpmap:.* AV1.*[.\n\r]*/g,W.h265=/a=rtpmap:.* H265.*[.\n\r]*/g,W.hevc=/a=rtpmap:.* HEVC.*[.\n\r]*/g,W.svac=/a=rtpmap:.* SVAC.*[.\n\r]*/g,W.tail=`.*[.
|
|
37
|
-
\r]*`,W.config="g";let me=!0,be=!0;function Re(o,n,a){const l=o.match(n);return l&&l.length>=a&&parseFloat(l[a],10)}function Se(o,n,a){if(!o.RTCPeerConnection)return;const l=o.RTCPeerConnection.prototype,f=l.addEventListener;l.addEventListener=function(O,E){if(O!==n)return f.apply(this,arguments);const C=L=>{const w=a(L);w&&(E.handleEvent?E.handleEvent(w):E(w))};return this._eventMap=this._eventMap||{},this._eventMap[n]||(this._eventMap[n]=new Map),this._eventMap[n].set(E,C),f.apply(this,[O,C])};const S=l.removeEventListener;l.removeEventListener=function(O,E){if(O!==n||!this._eventMap||!this._eventMap[n])return S.apply(this,arguments);if(!this._eventMap[n].has(E))return S.apply(this,arguments);const C=this._eventMap[n].get(E);return this._eventMap[n].delete(E),this._eventMap[n].size===0&&delete this._eventMap[n],Object.keys(this._eventMap).length===0&&delete this._eventMap,S.apply(this,[O,C])},Object.defineProperty(l,"on"+n,{get(){return this["_on"+n]},set(O){this["_on"+n]&&(this.removeEventListener(n,this["_on"+n]),delete this["_on"+n]),O&&this.addEventListener(n,this["_on"+n]=O)},enumerable:!0,configurable:!0})}function _e(o){return typeof o!="boolean"?new Error("Argument type: "+typeof o+". Please use a boolean."):(me=o,o?"adapter.js logging disabled":"adapter.js logging enabled")}function je(o){return typeof o!="boolean"?new Error("Argument type: "+typeof o+". Please use a boolean."):(be=!o,"adapter.js deprecation warnings "+(o?"disabled":"enabled"))}function Be(){if(typeof window=="object"){if(me)return;typeof console<"u"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function Ve(o,n){be&&console.warn(o+" is deprecated, please use "+n+" instead.")}function T(o){return Object.prototype.toString.call(o)==="[object Object]"}function F(o){return T(o)?Object.keys(o).reduce(function(n,a){const l=T(o[a]),f=l?F(o[a]):o[a],S=l&&!Object.keys(f).length;return f===void 0||S?n:Object.assign(n,{[a]:f})},{}):o}function Z(o,n,a){n&&!a.has(n.id)&&(a.set(n.id,n),Object.keys(n).forEach(l=>{l.endsWith("Id")?Z(o,o.get(n[l]),a):l.endsWith("Ids")&&n[l].forEach(f=>{Z(o,o.get(f),a)})}))}function G(o,n,a){const l=a?"outbound-rtp":"inbound-rtp",f=new Map;if(n===null)return f;const S=[];return o.forEach(O=>{O.type==="track"&&O.trackIdentifier===n.id&&S.push(O)}),S.forEach(O=>{o.forEach(E=>{E.type===l&&E.trackId===O.id&&Z(o,E,f)})}),f}const ie=Be;function ye(o,n){const a=o&&o.navigator;if(!a.mediaDevices)return;const l=function(O){if(typeof O!="object"||O.mandatory||O.optional)return O;const E={};return Object.keys(O).forEach(C=>{if(C==="require"||C==="advanced"||C==="mediaSource")return;const L=typeof O[C]=="object"?O[C]:{ideal:O[C]};L.exact!==void 0&&typeof L.exact=="number"&&(L.min=L.max=L.exact);const w=function(V,_){return V?V+_.charAt(0).toUpperCase()+_.slice(1):_==="deviceId"?"sourceId":_};if(L.ideal!==void 0){E.optional=E.optional||[];let V={};typeof L.ideal=="number"?(V[w("min",C)]=L.ideal,E.optional.push(V),V={},V[w("max",C)]=L.ideal,E.optional.push(V)):(V[w("",C)]=L.ideal,E.optional.push(V))}L.exact!==void 0&&typeof L.exact!="number"?(E.mandatory=E.mandatory||{},E.mandatory[w("",C)]=L.exact):["min","max"].forEach(V=>{L[V]!==void 0&&(E.mandatory=E.mandatory||{},E.mandatory[w(V,C)]=L[V])})}),O.advanced&&(E.optional=(E.optional||[]).concat(O.advanced)),E},f=function(O,E){if(n.version>=61)return E(O);if((O=JSON.parse(JSON.stringify(O)))&&typeof O.audio=="object"){const C=function(L,w,V){w in L&&!(V in L)&&(L[V]=L[w],delete L[w])};C((O=JSON.parse(JSON.stringify(O))).audio,"autoGainControl","googAutoGainControl"),C(O.audio,"noiseSuppression","googNoiseSuppression"),O.audio=l(O.audio)}if(O&&typeof O.video=="object"){let C=O.video.facingMode;C=C&&(typeof C=="object"?C:{ideal:C});const L=n.version<66;if(C&&(C.exact==="user"||C.exact==="environment"||C.ideal==="user"||C.ideal==="environment")&&(!a.mediaDevices.getSupportedConstraints||!a.mediaDevices.getSupportedConstraints().facingMode||L)){let w;if(delete O.video.facingMode,C.exact==="environment"||C.ideal==="environment"?w=["back","rear"]:C.exact!=="user"&&C.ideal!=="user"||(w=["front"]),w)return a.mediaDevices.enumerateDevices().then(V=>{let _=(V=V.filter(z=>z.kind==="videoinput")).find(z=>w.some(B=>z.label.toLowerCase().includes(B)));return!_&&V.length&&w.includes("back")&&(_=V[V.length-1]),_&&(O.video.deviceId=C.exact?{exact:_.deviceId}:{ideal:_.deviceId}),O.video=l(O.video),ie("chrome: "+JSON.stringify(O)),E(O)})}O.video=l(O.video)}return ie("chrome: "+JSON.stringify(O)),E(O)},S=function(O){return n.version>=64?O:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[O.name]||O.name,message:O.message,constraint:O.constraint||O.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(a.getUserMedia=(function(O,E,C){f(O,L=>{a.webkitGetUserMedia(L,E,w=>{C&&C(S(w))})})}).bind(a),a.mediaDevices.getUserMedia){const O=a.mediaDevices.getUserMedia.bind(a.mediaDevices);a.mediaDevices.getUserMedia=function(E){return f(E,C=>O(C).then(L=>{if(C.audio&&!L.getAudioTracks().length||C.video&&!L.getVideoTracks().length)throw L.getTracks().forEach(w=>{w.stop()}),new DOMException("","NotFoundError");return L},L=>Promise.reject(S(L))))}}}function we(o,n){o.navigator.mediaDevices&&"getDisplayMedia"in o.navigator.mediaDevices||o.navigator.mediaDevices&&(typeof n=="function"?o.navigator.mediaDevices.getDisplayMedia=function(a){return n(a).then(l=>{const f=a.video&&a.video.width,S=a.video&&a.video.height,O=a.video&&a.video.frameRate;return a.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:l,maxFrameRate:O||3}},f&&(a.video.mandatory.maxWidth=f),S&&(a.video.mandatory.maxHeight=S),o.navigator.mediaDevices.getUserMedia(a)})}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}function ae(o){o.MediaStream=o.MediaStream||o.webkitMediaStream}function $e(o){if(typeof o=="object"&&o.RTCPeerConnection&&!("ontrack"in o.RTCPeerConnection.prototype)){Object.defineProperty(o.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(a){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=a)},enumerable:!0,configurable:!0});const n=o.RTCPeerConnection.prototype.setRemoteDescription;o.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=a=>{a.stream.addEventListener("addtrack",l=>{let f;f=o.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(O=>O.track&&O.track.id===l.track.id):{track:l.track};const S=new Event("track");S.track=l.track,S.receiver=f,S.transceiver={receiver:f},S.streams=[a.stream],this.dispatchEvent(S)}),a.stream.getTracks().forEach(l=>{let f;f=o.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(O=>O.track&&O.track.id===l.id):{track:l};const S=new Event("track");S.track=l,S.receiver=f,S.transceiver={receiver:f},S.streams=[a.stream],this.dispatchEvent(S)})},this.addEventListener("addstream",this._ontrackpoly)),n.apply(this,arguments)}}else Se(o,"track",n=>(n.transceiver||Object.defineProperty(n,"transceiver",{value:{receiver:n.receiver}}),n))}function ze(o){if(typeof o=="object"&&o.RTCPeerConnection&&!("getSenders"in o.RTCPeerConnection.prototype)&&"createDTMFSender"in o.RTCPeerConnection.prototype){const n=function(f,S){return{track:S,get dtmf(){return this._dtmf===void 0&&(S.kind==="audio"?this._dtmf=f.createDTMFSender(S):this._dtmf=null),this._dtmf},_pc:f}};if(!o.RTCPeerConnection.prototype.getSenders){o.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const f=o.RTCPeerConnection.prototype.addTrack;o.RTCPeerConnection.prototype.addTrack=function(O,E){let C=f.apply(this,arguments);return C||(C=n(this,O),this._senders.push(C)),C};const S=o.RTCPeerConnection.prototype.removeTrack;o.RTCPeerConnection.prototype.removeTrack=function(O){S.apply(this,arguments);const E=this._senders.indexOf(O);E!==-1&&this._senders.splice(E,1)}}const a=o.RTCPeerConnection.prototype.addStream;o.RTCPeerConnection.prototype.addStream=function(f){this._senders=this._senders||[],a.apply(this,[f]),f.getTracks().forEach(S=>{this._senders.push(n(this,S))})};const l=o.RTCPeerConnection.prototype.removeStream;o.RTCPeerConnection.prototype.removeStream=function(f){this._senders=this._senders||[],l.apply(this,[f]),f.getTracks().forEach(S=>{const O=this._senders.find(E=>E.track===S);O&&this._senders.splice(this._senders.indexOf(O),1)})}}else if(typeof o=="object"&&o.RTCPeerConnection&&"getSenders"in o.RTCPeerConnection.prototype&&"createDTMFSender"in o.RTCPeerConnection.prototype&&o.RTCRtpSender&&!("dtmf"in o.RTCRtpSender.prototype)){const n=o.RTCPeerConnection.prototype.getSenders;o.RTCPeerConnection.prototype.getSenders=function(){const a=n.apply(this,[]);return a.forEach(l=>l._pc=this),a},Object.defineProperty(o.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function De(o){if(!o.RTCPeerConnection)return;const n=o.RTCPeerConnection.prototype.getStats;o.RTCPeerConnection.prototype.getStats=function(){const[a,l,f]=arguments;if(arguments.length>0&&typeof a=="function")return n.apply(this,arguments);if(n.length===0&&(arguments.length===0||typeof a!="function"))return n.apply(this,[]);const S=function(E){const C={};return E.result().forEach(L=>{const w={id:L.id,timestamp:L.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[L.type]||L.type};L.names().forEach(V=>{w[V]=L.stat(V)}),C[w.id]=w}),C},O=function(E){return new Map(Object.keys(E).map(C=>[C,E[C]]))};if(arguments.length>=2){const E=function(C){l(O(S(C)))};return n.apply(this,[E,a])}return new Promise((E,C)=>{n.apply(this,[function(L){E(O(S(L)))},C])}).then(l,f)}}function ft(o){if(!(typeof o=="object"&&o.RTCPeerConnection&&o.RTCRtpSender&&o.RTCRtpReceiver))return;if(!("getStats"in o.RTCRtpSender.prototype)){const a=o.RTCPeerConnection.prototype.getSenders;a&&(o.RTCPeerConnection.prototype.getSenders=function(){const f=a.apply(this,[]);return f.forEach(S=>S._pc=this),f});const l=o.RTCPeerConnection.prototype.addTrack;l&&(o.RTCPeerConnection.prototype.addTrack=function(){const f=l.apply(this,arguments);return f._pc=this,f}),o.RTCRtpSender.prototype.getStats=function(){const f=this;return this._pc.getStats().then(S=>G(S,f.track,!0))}}if(!("getStats"in o.RTCRtpReceiver.prototype)){const a=o.RTCPeerConnection.prototype.getReceivers;a&&(o.RTCPeerConnection.prototype.getReceivers=function(){const l=a.apply(this,[]);return l.forEach(f=>f._pc=this),l}),Se(o,"track",l=>(l.receiver._pc=l.srcElement,l)),o.RTCRtpReceiver.prototype.getStats=function(){const l=this;return this._pc.getStats().then(f=>G(f,l.track,!1))}}if(!("getStats"in o.RTCRtpSender.prototype)||!("getStats"in o.RTCRtpReceiver.prototype))return;const n=o.RTCPeerConnection.prototype.getStats;o.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof o.MediaStreamTrack){const a=arguments[0];let l,f,S;return this.getSenders().forEach(O=>{O.track===a&&(l?S=!0:l=O)}),this.getReceivers().forEach(O=>(O.track===a&&(f?S=!0:f=O),O.track===a)),S||l&&f?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):l?l.getStats():f?f.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return n.apply(this,arguments)}}function Jt(o){o.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(S=>this._shimmedLocalStreams[S][0])};const n=o.RTCPeerConnection.prototype.addTrack;o.RTCPeerConnection.prototype.addTrack=function(S,O){if(!O)return n.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const E=n.apply(this,arguments);return this._shimmedLocalStreams[O.id]?this._shimmedLocalStreams[O.id].indexOf(E)===-1&&this._shimmedLocalStreams[O.id].push(E):this._shimmedLocalStreams[O.id]=[O,E],E};const a=o.RTCPeerConnection.prototype.addStream;o.RTCPeerConnection.prototype.addStream=function(S){this._shimmedLocalStreams=this._shimmedLocalStreams||{},S.getTracks().forEach(C=>{if(this.getSenders().find(L=>L.track===C))throw new DOMException("Track already exists.","InvalidAccessError")});const O=this.getSenders();a.apply(this,arguments);const E=this.getSenders().filter(C=>O.indexOf(C)===-1);this._shimmedLocalStreams[S.id]=[S].concat(E)};const l=o.RTCPeerConnection.prototype.removeStream;o.RTCPeerConnection.prototype.removeStream=function(S){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[S.id],l.apply(this,arguments)};const f=o.RTCPeerConnection.prototype.removeTrack;o.RTCPeerConnection.prototype.removeTrack=function(S){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},S&&Object.keys(this._shimmedLocalStreams).forEach(O=>{const E=this._shimmedLocalStreams[O].indexOf(S);E!==-1&&this._shimmedLocalStreams[O].splice(E,1),this._shimmedLocalStreams[O].length===1&&delete this._shimmedLocalStreams[O]}),f.apply(this,arguments)}}function Yt(o,n){if(!o.RTCPeerConnection)return;if(o.RTCPeerConnection.prototype.addTrack&&n.version>=65)return Jt(o);const a=o.RTCPeerConnection.prototype.getLocalStreams;o.RTCPeerConnection.prototype.getLocalStreams=function(){const C=a.apply(this);return this._reverseStreams=this._reverseStreams||{},C.map(L=>this._reverseStreams[L.id])};const l=o.RTCPeerConnection.prototype.addStream;o.RTCPeerConnection.prototype.addStream=function(C){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},C.getTracks().forEach(L=>{if(this.getSenders().find(w=>w.track===L))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[C.id]){const L=new o.MediaStream(C.getTracks());this._streams[C.id]=L,this._reverseStreams[L.id]=C,C=L}l.apply(this,[C])};const f=o.RTCPeerConnection.prototype.removeStream;function S(C,L){let w=L.sdp;return Object.keys(C._reverseStreams||[]).forEach(V=>{const _=C._reverseStreams[V],z=C._streams[_.id];w=w.replace(new RegExp(z.id,"g"),_.id)}),new RTCSessionDescription({type:L.type,sdp:w})}o.RTCPeerConnection.prototype.removeStream=function(C){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},f.apply(this,[this._streams[C.id]||C]),delete this._reverseStreams[this._streams[C.id]?this._streams[C.id].id:C.id],delete this._streams[C.id]},o.RTCPeerConnection.prototype.addTrack=function(C,L){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const w=[].slice.call(arguments,1);if(w.length!==1||!w[0].getTracks().find(_=>_===C))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(_=>_.track===C))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const V=this._streams[L.id];if(V)V.addTrack(C),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const _=new o.MediaStream([C]);this._streams[L.id]=_,this._reverseStreams[_.id]=L,this.addStream(_)}return this.getSenders().find(_=>_.track===C)},["createOffer","createAnswer"].forEach(function(C){const L=o.RTCPeerConnection.prototype[C],w={[C](){const V=arguments;return arguments.length&&typeof arguments[0]=="function"?L.apply(this,[_=>{const z=S(this,_);V[0].apply(null,[z])},_=>{V[1]&&V[1].apply(null,_)},arguments[2]]):L.apply(this,arguments).then(_=>S(this,_))}};o.RTCPeerConnection.prototype[C]=w[C]});const O=o.RTCPeerConnection.prototype.setLocalDescription;o.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(C,L){let w=L.sdp;return Object.keys(C._reverseStreams||[]).forEach(V=>{const _=C._reverseStreams[V],z=C._streams[_.id];w=w.replace(new RegExp(_.id,"g"),z.id)}),new RTCSessionDescription({type:L.type,sdp:w})}(this,arguments[0]),O.apply(this,arguments)):O.apply(this,arguments)};const E=Object.getOwnPropertyDescriptor(o.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(o.RTCPeerConnection.prototype,"localDescription",{get(){const C=E.get.apply(this);return C.type===""?C:S(this,C)}}),o.RTCPeerConnection.prototype.removeTrack=function(C){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!C._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(C._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let L;this._streams=this._streams||{},Object.keys(this._streams).forEach(w=>{this._streams[w].getTracks().find(V=>C.track===V)&&(L=this._streams[w])}),L&&(L.getTracks().length===1?this.removeStream(this._reverseStreams[L.id]):L.removeTrack(C.track),this.dispatchEvent(new Event("negotiationneeded")))}}function mt(o,n){!o.RTCPeerConnection&&o.webkitRTCPeerConnection&&(o.RTCPeerConnection=o.webkitRTCPeerConnection),o.RTCPeerConnection&&n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){const l=o.RTCPeerConnection.prototype[a],f={[a](){return arguments[0]=new(a==="addIceCandidate"?o.RTCIceCandidate:o.RTCSessionDescription)(arguments[0]),l.apply(this,arguments)}};o.RTCPeerConnection.prototype[a]=f[a]})}function Wt(o,n){Se(o,"negotiationneeded",a=>{const l=a.target;if(!(n.version<72||l.getConfiguration&&l.getConfiguration().sdpSemantics==="plan-b")||l.signalingState==="stable")return a})}function nt(o,n){const a=o&&o.navigator,l=o&&o.MediaStreamTrack;if(a.getUserMedia=function(f,S,O){Ve("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),a.mediaDevices.getUserMedia(f).then(S,O)},!(n.version>55&&"autoGainControl"in a.mediaDevices.getSupportedConstraints())){const f=function(O,E,C){E in O&&!(C in O)&&(O[C]=O[E],delete O[E])},S=a.mediaDevices.getUserMedia.bind(a.mediaDevices);if(a.mediaDevices.getUserMedia=function(O){return typeof O=="object"&&typeof O.audio=="object"&&(O=JSON.parse(JSON.stringify(O)),f(O.audio,"autoGainControl","mozAutoGainControl"),f(O.audio,"noiseSuppression","mozNoiseSuppression")),S(O)},l&&l.prototype.getSettings){const O=l.prototype.getSettings;l.prototype.getSettings=function(){const E=O.apply(this,arguments);return f(E,"mozAutoGainControl","autoGainControl"),f(E,"mozNoiseSuppression","noiseSuppression"),E}}if(l&&l.prototype.applyConstraints){const O=l.prototype.applyConstraints;l.prototype.applyConstraints=function(E){return this.kind==="audio"&&typeof E=="object"&&(E=JSON.parse(JSON.stringify(E)),f(E,"autoGainControl","mozAutoGainControl"),f(E,"noiseSuppression","mozNoiseSuppression")),O.apply(this,[E])}}}}function Ht(o,n){o.navigator.mediaDevices&&"getDisplayMedia"in o.navigator.mediaDevices||o.navigator.mediaDevices&&(o.navigator.mediaDevices.getDisplayMedia=function(a){if(!a||!a.video){const l=new DOMException("getDisplayMedia without video constraints is undefined");return l.name="NotFoundError",l.code=8,Promise.reject(l)}return a.video===!0?a.video={mediaSource:n}:a.video.mediaSource=n,o.navigator.mediaDevices.getUserMedia(a)})}function Qt(o){typeof o=="object"&&o.RTCTrackEvent&&"receiver"in o.RTCTrackEvent.prototype&&!("transceiver"in o.RTCTrackEvent.prototype)&&Object.defineProperty(o.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Et(o,n){if(typeof o!="object"||!o.RTCPeerConnection&&!o.mozRTCPeerConnection)return;!o.RTCPeerConnection&&o.mozRTCPeerConnection&&(o.RTCPeerConnection=o.mozRTCPeerConnection),n.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(f){const S=o.RTCPeerConnection.prototype[f],O={[f](){return arguments[0]=new(f==="addIceCandidate"?o.RTCIceCandidate:o.RTCSessionDescription)(arguments[0]),S.apply(this,arguments)}};o.RTCPeerConnection.prototype[f]=O[f]});const a={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},l=o.RTCPeerConnection.prototype.getStats;o.RTCPeerConnection.prototype.getStats=function(){const[f,S,O]=arguments;return l.apply(this,[f||null]).then(E=>{if(n.version<53&&!S)try{E.forEach(C=>{C.type=a[C.type]||C.type})}catch(C){if(C.name!=="TypeError")throw C;E.forEach((L,w)=>{E.set(w,Object.assign({},L,{type:a[L.type]||L.type}))})}return E}).then(S,O)}}function He(o){if(typeof o!="object"||!o.RTCPeerConnection||!o.RTCRtpSender||o.RTCRtpSender&&"getStats"in o.RTCRtpSender.prototype)return;const n=o.RTCPeerConnection.prototype.getSenders;n&&(o.RTCPeerConnection.prototype.getSenders=function(){const l=n.apply(this,[]);return l.forEach(f=>f._pc=this),l});const a=o.RTCPeerConnection.prototype.addTrack;a&&(o.RTCPeerConnection.prototype.addTrack=function(){const l=a.apply(this,arguments);return l._pc=this,l}),o.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function ut(o){if(typeof o!="object"||!o.RTCPeerConnection||!o.RTCRtpSender||o.RTCRtpSender&&"getStats"in o.RTCRtpReceiver.prototype)return;const n=o.RTCPeerConnection.prototype.getReceivers;n&&(o.RTCPeerConnection.prototype.getReceivers=function(){const a=n.apply(this,[]);return a.forEach(l=>l._pc=this),a}),Se(o,"track",a=>(a.receiver._pc=a.srcElement,a)),o.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function $t(o){o.RTCPeerConnection&&!("removeStream"in o.RTCPeerConnection.prototype)&&(o.RTCPeerConnection.prototype.removeStream=function(n){Ve("removeStream","removeTrack"),this.getSenders().forEach(a=>{a.track&&n.getTracks().includes(a.track)&&this.removeTrack(a)})})}function Ct(o){o.DataChannel&&!o.RTCDataChannel&&(o.RTCDataChannel=o.DataChannel)}function _t(o){if(typeof o!="object"||!o.RTCPeerConnection)return;const n=o.RTCPeerConnection.prototype.addTransceiver;n&&(o.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let a=arguments[1]&&arguments[1].sendEncodings;a===void 0&&(a=[]),a=[...a];const l=a.length>0;l&&a.forEach(S=>{if("rid"in S&&!/^[a-z0-9]{0,16}$/i.test(S.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in S&&!(parseFloat(S.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in S&&!(parseFloat(S.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});const f=n.apply(this,arguments);if(l){const{sender:S}=f,O=S.getParameters();(!("encodings"in O)||O.encodings.length===1&&Object.keys(O.encodings[0]).length===0)&&(O.encodings=a,S.sendEncodings=a,this.setParametersPromises.push(S.setParameters(O).then(()=>{delete S.sendEncodings}).catch(()=>{delete S.sendEncodings})))}return f})}function Lt(o){if(typeof o!="object"||!o.RTCRtpSender)return;const n=o.RTCRtpSender.prototype.getParameters;n&&(o.RTCRtpSender.prototype.getParameters=function(){const a=n.apply(this,arguments);return"encodings"in a||(a.encodings=[].concat(this.sendEncodings||[{}])),a})}function Tt(o){if(typeof o!="object"||!o.RTCPeerConnection)return;const n=o.RTCPeerConnection.prototype.createOffer;o.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function yt(o){if(typeof o!="object"||!o.RTCPeerConnection)return;const n=o.RTCPeerConnection.prototype.createAnswer;o.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>n.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):n.apply(this,arguments)}}function kt(o){if(typeof o=="object"&&o.RTCPeerConnection){if("getLocalStreams"in o.RTCPeerConnection.prototype||(o.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in o.RTCPeerConnection.prototype)){const n=o.RTCPeerConnection.prototype.addTrack;o.RTCPeerConnection.prototype.addStream=function(a){this._localStreams||(this._localStreams=[]),this._localStreams.includes(a)||this._localStreams.push(a),a.getAudioTracks().forEach(l=>n.call(this,l,a)),a.getVideoTracks().forEach(l=>n.call(this,l,a))},o.RTCPeerConnection.prototype.addTrack=function(a,...l){return l&&l.forEach(f=>{this._localStreams?this._localStreams.includes(f)||this._localStreams.push(f):this._localStreams=[f]}),n.apply(this,arguments)}}"removeStream"in o.RTCPeerConnection.prototype||(o.RTCPeerConnection.prototype.removeStream=function(n){this._localStreams||(this._localStreams=[]);const a=this._localStreams.indexOf(n);if(a===-1)return;this._localStreams.splice(a,1);const l=n.getTracks();this.getSenders().forEach(f=>{l.includes(f.track)&&this.removeTrack(f)})})}}function wt(o){if(typeof o=="object"&&o.RTCPeerConnection&&("getRemoteStreams"in o.RTCPeerConnection.prototype||(o.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in o.RTCPeerConnection.prototype))){Object.defineProperty(o.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(a){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=a),this.addEventListener("track",this._onaddstreampoly=l=>{l.streams.forEach(f=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(f))return;this._remoteStreams.push(f);const S=new Event("addstream");S.stream=f,this.dispatchEvent(S)})})}});const n=o.RTCPeerConnection.prototype.setRemoteDescription;o.RTCPeerConnection.prototype.setRemoteDescription=function(){const a=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(l){l.streams.forEach(f=>{if(a._remoteStreams||(a._remoteStreams=[]),a._remoteStreams.indexOf(f)>=0)return;a._remoteStreams.push(f);const S=new Event("addstream");S.stream=f,a.dispatchEvent(S)})}),n.apply(a,arguments)}}}function jt(o){if(typeof o!="object"||!o.RTCPeerConnection)return;const n=o.RTCPeerConnection.prototype,a=n.createOffer,l=n.createAnswer,f=n.setLocalDescription,S=n.setRemoteDescription,O=n.addIceCandidate;n.createOffer=function(C,L){const w=arguments.length>=2?arguments[2]:arguments[0],V=a.apply(this,[w]);return L?(V.then(C,L),Promise.resolve()):V},n.createAnswer=function(C,L){const w=arguments.length>=2?arguments[2]:arguments[0],V=l.apply(this,[w]);return L?(V.then(C,L),Promise.resolve()):V};let E=function(C,L,w){const V=f.apply(this,[C]);return w?(V.then(L,w),Promise.resolve()):V};n.setLocalDescription=E,E=function(C,L,w){const V=S.apply(this,[C]);return w?(V.then(L,w),Promise.resolve()):V},n.setRemoteDescription=E,E=function(C,L,w){const V=O.apply(this,[C]);return w?(V.then(L,w),Promise.resolve()):V},n.addIceCandidate=E}function Ft(o){const n=o&&o.navigator;if(n.mediaDevices&&n.mediaDevices.getUserMedia){const a=n.mediaDevices,l=a.getUserMedia.bind(a);n.mediaDevices.getUserMedia=f=>l(zt(f))}!n.getUserMedia&&n.mediaDevices&&n.mediaDevices.getUserMedia&&(n.getUserMedia=(function(a,l,f){n.mediaDevices.getUserMedia(a).then(l,f)}).bind(n))}function zt(o){return o&&o.video!==void 0?Object.assign({},o,{video:F(o.video)}):o}function oe(o){if(!o.RTCPeerConnection)return;const n=o.RTCPeerConnection;o.RTCPeerConnection=function(a,l){if(a&&a.iceServers){const f=[];for(let S=0;S<a.iceServers.length;S++){let O=a.iceServers[S];O.urls===void 0&&O.url?(Ve("RTCIceServer.url","RTCIceServer.urls"),O=JSON.parse(JSON.stringify(O)),O.urls=O.url,delete O.url,f.push(O)):f.push(a.iceServers[S])}a.iceServers=f}return new n(a,l)},o.RTCPeerConnection.prototype=n.prototype,"generateCertificate"in n&&Object.defineProperty(o.RTCPeerConnection,"generateCertificate",{get(){return n.generateCertificate}})}function ce(o){typeof o=="object"&&o.RTCTrackEvent&&"receiver"in o.RTCTrackEvent.prototype&&!("transceiver"in o.RTCTrackEvent.prototype)&&Object.defineProperty(o.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function de(o){const n=o.RTCPeerConnection.prototype.createOffer;o.RTCPeerConnection.prototype.createOffer=function(a){if(a){a.offerToReceiveAudio!==void 0&&(a.offerToReceiveAudio=!!a.offerToReceiveAudio);const l=this.getTransceivers().find(S=>S.receiver.track.kind==="audio");a.offerToReceiveAudio===!1&&l?l.direction==="sendrecv"?l.setDirection?l.setDirection("sendonly"):l.direction="sendonly":l.direction==="recvonly"&&(l.setDirection?l.setDirection("inactive"):l.direction="inactive"):a.offerToReceiveAudio!==!0||l||this.addTransceiver("audio",{direction:"recvonly"}),a.offerToReceiveVideo!==void 0&&(a.offerToReceiveVideo=!!a.offerToReceiveVideo);const f=this.getTransceivers().find(S=>S.receiver.track.kind==="video");a.offerToReceiveVideo===!1&&f?f.direction==="sendrecv"?f.setDirection?f.setDirection("sendonly"):f.direction="sendonly":f.direction==="recvonly"&&(f.setDirection?f.setDirection("inactive"):f.direction="inactive"):a.offerToReceiveVideo!==!0||f||this.addTransceiver("video",{direction:"recvonly"})}return n.apply(this,arguments)}}function ge(o){typeof o!="object"||o.AudioContext||(o.AudioContext=o.webkitAudioContext)}var Ne=__webpack_require__(7580),ct=__webpack_require__.n(Ne);function vt(o){if(!o.RTCIceCandidate||o.RTCIceCandidate&&"foundation"in o.RTCIceCandidate.prototype)return;const n=o.RTCIceCandidate;o.RTCIceCandidate=function(a){if(typeof a=="object"&&a.candidate&&a.candidate.indexOf("a=")===0&&((a=JSON.parse(JSON.stringify(a))).candidate=a.candidate.substring(2)),a.candidate&&a.candidate.length){const l=new n(a),f=ct().parseCandidate(a.candidate);for(const S in f)S in l||Object.defineProperty(l,S,{value:f[S]});return l.toJSON=function(){return{candidate:l.candidate,sdpMid:l.sdpMid,sdpMLineIndex:l.sdpMLineIndex,usernameFragment:l.usernameFragment}},l}return new n(a)},o.RTCIceCandidate.prototype=n.prototype,Se(o,"icecandidate",a=>(a.candidate&&Object.defineProperty(a,"candidate",{value:new o.RTCIceCandidate(a.candidate),writable:"false"}),a))}function gn(o){!o.RTCIceCandidate||o.RTCIceCandidate&&"relayProtocol"in o.RTCIceCandidate.prototype||Se(o,"icecandidate",n=>{if(n.candidate){const a=ct().parseCandidate(n.candidate.candidate);a.type==="relay"&&(n.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[a.priority>>24])}return n})}function en(o,n){if(!o.RTCPeerConnection)return;"sctp"in o.RTCPeerConnection.prototype||Object.defineProperty(o.RTCPeerConnection.prototype,"sctp",{get(){return this._sctp===void 0?null:this._sctp}});const a=o.RTCPeerConnection.prototype.setRemoteDescription;o.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,n.browser==="chrome"&&n.version>=76){const{sdpSemantics:l}=this.getConfiguration();l==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return this._sctp===void 0?null:this._sctp},enumerable:!0,configurable:!0})}if(function(l){if(!l||!l.sdp)return!1;const f=ct().splitSections(l.sdp);return f.shift(),f.some(S=>{const O=ct().parseMLine(S);return O&&O.kind==="application"&&O.protocol.indexOf("SCTP")!==-1})}(arguments[0])){const l=function(C){const L=C.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(L===null||L.length<2)return-1;const w=parseInt(L[1],10);return w!=w?-1:w}(arguments[0]),f=function(C){let L=65536;return n.browser==="firefox"&&(L=n.version<57?C===-1?16384:2147483637:n.version<60?n.version===57?65535:65536:2147483637),L}(l),S=function(C,L){let w=65536;n.browser==="firefox"&&n.version===57&&(w=65535);const V=ct().matchPrefix(C.sdp,"a=max-message-size:");return V.length>0?w=parseInt(V[0].substring(19),10):n.browser==="firefox"&&L!==-1&&(w=2147483637),w}(arguments[0],l);let O;O=f===0&&S===0?Number.POSITIVE_INFINITY:f===0||S===0?Math.max(f,S):Math.min(f,S);const E={};Object.defineProperty(E,"maxMessageSize",{get(){return O}}),this._sctp=E}return a.apply(this,arguments)}}function tn(o){if(!o.RTCPeerConnection||!("createDataChannel"in o.RTCPeerConnection.prototype))return;function n(l,f){const S=l.send;l.send=function(){const O=arguments[0],E=O.length||O.size||O.byteLength;if(l.readyState==="open"&&f.sctp&&E>f.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+f.sctp.maxMessageSize+" bytes)");return S.apply(l,arguments)}}const a=o.RTCPeerConnection.prototype.createDataChannel;o.RTCPeerConnection.prototype.createDataChannel=function(){const l=a.apply(this,arguments);return n(l,this),l},Se(o,"datachannel",l=>(n(l.channel,l.target),l))}function bn(o){if(!o.RTCPeerConnection||"connectionState"in o.RTCPeerConnection.prototype)return;const n=o.RTCPeerConnection.prototype;Object.defineProperty(n,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(n,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(a){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),a&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=a)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(a=>{const l=n[a];n[a]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=f=>{const S=f.target;if(S._lastConnectionState!==S.connectionState){S._lastConnectionState=S.connectionState;const O=new Event("connectionstatechange",f);S.dispatchEvent(O)}return f},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),l.apply(this,arguments)}})}function Sn(o,n){if(!o.RTCPeerConnection||n.browser==="chrome"&&n.version>=71||n.browser==="safari"&&n._safariVersion>=13.1)return;const a=o.RTCPeerConnection.prototype.setRemoteDescription;o.RTCPeerConnection.prototype.setRemoteDescription=function(l){if(l&&l.sdp&&l.sdp.indexOf(`
|
|
38
|
-
a=extmap-allow-mixed`)!==-1){const f=l.sdp.split(`
|
|
39
|
-
`).filter(S=>S.trim()!=="a=extmap-allow-mixed").join(`
|
|
40
|
-
`);o.RTCSessionDescription&&l instanceof o.RTCSessionDescription?arguments[0]=new o.RTCSessionDescription({type:l.type,sdp:f}):l.sdp=f}return a.apply(this,arguments)}}function nn(o,n){if(!o.RTCPeerConnection||!o.RTCPeerConnection.prototype)return;const a=o.RTCPeerConnection.prototype.addIceCandidate;a&&a.length!==0&&(o.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(n.browser==="chrome"&&n.version<78||n.browser==="firefox"&&n.version<68||n.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():a.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function rn(o,n){if(!o.RTCPeerConnection||!o.RTCPeerConnection.prototype)return;const a=o.RTCPeerConnection.prototype.setLocalDescription;a&&a.length!==0&&(o.RTCPeerConnection.prototype.setLocalDescription=function(){let l=arguments[0]||{};if(typeof l!="object"||l.type&&l.sdp)return a.apply(this,arguments);if(l={type:l.type,sdp:l.sdp},!l.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":l.type="offer";break;default:l.type="answer"}return l.sdp||l.type!=="offer"&&l.type!=="answer"?a.apply(this,[l]):(l.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(f=>a.apply(this,[f]))})}var Pn=function({window:o}={},n={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const a=Be,l=function(S){const O={browser:null,version:null};if(S===void 0||!S.navigator||!S.navigator.userAgent)return O.browser="Not a browser.",O;const{navigator:E}=S;if(E.mozGetUserMedia)O.browser="firefox",O.version=parseInt(Re(E.userAgent,/Firefox\/(\d+)\./,1));else if(E.webkitGetUserMedia||S.isSecureContext===!1&&S.webkitRTCPeerConnection)O.browser="chrome",O.version=parseInt(Re(E.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!S.RTCPeerConnection||!E.userAgent.match(/AppleWebKit\/(\d+)\./))return O.browser="Not a supported browser.",O;O.browser="safari",O.version=parseInt(Re(E.userAgent,/AppleWebKit\/(\d+)\./,1)),O.supportsUnifiedPlan=S.RTCRtpTransceiver&&"currentDirection"in S.RTCRtpTransceiver.prototype,O._safariVersion=Re(E.userAgent,/Version\/(\d+(\.?\d+))/,1)}return O}(o),f={browserDetails:l,commonShim:h,extractVersion:Re,disableLog:_e,disableWarnings:je,sdp:Ne};switch(l.browser){case"chrome":if(!p||!mt||!n.shimChrome)return a("Chrome shim is not included in this adapter release."),f;if(l.version===null)return a("Chrome shim can not determine version, not shimming."),f;a("adapter.js shimming chrome."),f.browserShim=p,nn(o,l),rn(o),ye(o,l),ae(o),mt(o,l),$e(o),Yt(o,l),ze(o),De(o),ft(o),Wt(o,l),vt(o),gn(o),bn(o),en(o,l),tn(o),Sn(o,l);break;case"firefox":if(!A||!Et||!n.shimFirefox)return a("Firefox shim is not included in this adapter release."),f;a("adapter.js shimming firefox."),f.browserShim=A,nn(o,l),rn(o),nt(o,l),Et(o,l),Qt(o),$t(o),He(o),ut(o),Ct(o),_t(o),Lt(o),Tt(o),yt(o),vt(o),bn(o),en(o,l),tn(o);break;case"safari":if(!s||!n.shimSafari)return a("Safari shim is not included in this adapter release."),f;a("adapter.js shimming safari."),f.browserShim=s,nn(o,l),rn(o),oe(o),de(o),jt(o),kt(o),wt(o),ce(o),Ft(o),ge(o),vt(o),gn(o),en(o,l),tn(o),Sn(o,l);break;default:a("Unsupported browser!")}return f}({window:typeof window>"u"?void 0:window});class In{constructor(n){if(this.header="",this.props=[],this.sdpMLineIndex=n.sdpMLineIndex!=null?n.sdpMLineIndex:null,this.sdpMid=n.sdpMid!=null?n.sdpMid:null,this.usernameFragment=n.usernameFragment!=null?n.usernameFragment:null,n.candidate){const a=n.candidate.split(":");a.length>1?(this.header=a[0],this.props=a[1].split(" ")):u.warn("parse candiate failed formate error",n.candidate)}else u.warn("parse candiate failed. candidate empty",n)}get foundation(){return this.props.length>0?this.props[0]:""}set foundation(n){this.props.length>0&&(this.props[0]=n)}get component(){return this.props.length>1?this.props[1]:""}set component(n){this.props.length>1&&(this.props[1]=n)}get protocol(){return this.props.length>2?this.props[2]:""}set protocol(n){this.props.length>2&&(this.props[2]=n)}get priority(){return this.props.length>3?this.props[3]:""}set priority(n){this.props.length>3&&(this.props[3]=n)}get ip(){return this.props.length>4?this.props[4]:""}set ip(n){this.props.length>4&&(this.props[4]=n)}get port(){return this.props.length>5?this.props[5]:""}set port(n){this.props.length>5&&(this.props[5]=n)}get type(){return this.props.length>7?this.props[7]:""}get candidate(){return`${this.header}:${this.props.join(" ")}`}genNewIceCandidateInit(){let n={};return this.sdpMid!=null&&(n.sdpMid=this.sdpMid),this.sdpMLineIndex!=null&&(n.sdpMLineIndex=this.sdpMLineIndex),this.usernameFragment!=null&&(n.usernameFragment=this.usernameFragment),n.candidate=this.candidate,n}genNewIceCandidate(){return new RTCIceCandidate(this.genNewIceCandidateInit())}}var qe,X,on=__webpack_require__(9033),br=__webpack_require__.n(on);class Mn{get canvas(){return this._canvas}set canvas(n){this._canvas=n}constructor(n){this._canvas=null,this.context=null,this.width=1280,this.height=720,this.video=null,this.drawFrames=-1,this.stream=null,this.hasDeviceOrientationEvent=!1,this.alpha=0,this.beta=0,this.gamma=0,this.isFront=!1,this.currentRotateClock=0,this.draw=this.draw.bind(this),this.screenState=n,n.on(0,()=>{u.info("CanvasRender resize ",this.screenState.screenOrientation,this.screenState.wechatFullScreen),this.screenState.screenOrientation==="landscape"?this.setupRotateWithDeivce():this.clearRotate()}),window.DeviceOrientationEvent&&window.addEventListener("deviceorientation",a=>{this.hasDeviceOrientationEvent=!0,this.alpha=a.alpha!=null?a.alpha:0,this.beta=a.beta!=null?a.beta:0,this.gamma=a.gamma!=null?a.gamma:0,this.setupRotateWithDeivce()},!0)}init(n){return this.clearRotate(),this.clear(),this.screenState.screenOrientation,new Promise((a,l)=>{var f;this.stream=n;let S=document.createElement("video");const O=(f=n.getVideoTracks()[0])===null||f===void 0?void 0:f.getConstraints();let E=1280;O&&O.width&&(E=typeof O.width=="number"?O.width:O.width.max);let C=720;O&&O.height&&(C=typeof O.height=="number"?O.height:O.height.max),O&&O.facingMode?typeof O.facingMode=="string"?this.isFront=this.checkFront(O.facingMode):O.facingMode instanceof Array?O.facingMode.length>0&&(this.isFront=this.checkFront(O.facingMode[0])):O.facingMode.exact&&(O.facingMode.exact instanceof Array?this.isFront=this.checkFront(O.facingMode.exact[0]):this.isFront=this.checkFront(O.facingMode.exact)):this.isFront=!0,S.srcObject=n,S.width=E,S.height=C,S.autoplay=!0,S.playsInline=!0,S.muted=!0,S.play(),S.onloadedmetadata=()=>{S.play(),u.info("on local video stream loaded",S.width,S.height,O);let L=document.createElement("canvas");L.width=S.width,L.height=S.height;let w=L.getContext("2d");this.canvas=L,this.context=w,this.setupRotateWithDeivce(),this.draw(),a(L)},this.video=S})}draw(){const n=this.context;if(!n)return void u.warn("draw call without context");if(!this.video)return void u.warn("draw call without videoElement");const a=this.video.width,l=this.video.height;n.clearRect(0,0,a,l),n.drawImage(this.video,0,0,a,l),this.drawFrames=window.requestAnimationFrame(this.draw)}stopDrawing(){this.drawFrames!=-1&&(window.cancelAnimationFrame(this.drawFrames),this.drawFrames=-1)}clear(){this.drawFrames!=-1&&(window.cancelAnimationFrame(this.drawFrames),this.drawFrames=-1),this.context=null,this.canvas=null,this.video=null}setRotate(n){var a,l,f,S;if(this.canvas&&this.video){if(n&&this.currentRotateClock==1||!n&&this.currentRotateClock==-1)return;this.canvas.width=this.video.height,this.canvas.height=this.video.width,n?((a=this.context)===null||a===void 0||a.setTransform(1,0,0,1,this.video.height,0),(l=this.context)===null||l===void 0||l.rotate(Math.PI/2),this.currentRotateClock=1):((f=this.context)===null||f===void 0||f.setTransform(1,0,0,1,0,this.video.width),(S=this.context)===null||S===void 0||S.rotate(-Math.PI/2),this.currentRotateClock=-1)}}clearRotate(){var n,a;this.canvas&&this.video&&(this.canvas.width=this.video.width,this.canvas.height=this.video.height),(n=this.context)===null||n===void 0||n.setTransform(1,0,0,1,0,0),(a=this.context)===null||a===void 0||a.rotate(0),this.currentRotateClock=0}setupRotateWithDeivce(){if(this.screenState.wechatFullScreen)u.warn("微信自动旋转屏幕方向,单独设置旋转");else if(this.screenState.screenOrientation!=="portrait")if(this.hasDeviceOrientationEvent){if(Math.abs(this.beta)>30&&Math.abs(this.gamma)<30)this.setRotate(!1);else if(Math.abs(this.beta)<30&&Math.abs(this.gamma)>30){let n=!!this.isFront;this.setRotate(n)}}else{let n=!!this.isFront;this.setRotate(n)}else I.isMobile&&(u.warn("clear orientation when screen not lock"),this.currentRotateClock!=0&&this.clearRotate())}checkFront(n){return n!=="environment"}}(function(o){o[o.DISCONNECT=1]="DISCONNECT",o[o.BAD=2]="BAD",o[o.CONNECT=3]="CONNECT",o[o.GOOD=4]="GOOD"})(qe||(qe={})),function(o){o[o.GOT_REMOTE_STREAM=0]="GOT_REMOTE_STREAM",o[o.GOT_REMOTE_AUDIO_STREAM=1]="GOT_REMOTE_AUDIO_STREAM",o[o.ICE_STATE_CHANGE=2]="ICE_STATE_CHANGE",o[o.LK_APP_RESIZE=3]="LK_APP_RESIZE",o[o.LK_APP_MOUSE_MODE=4]="LK_APP_MOUSE_MODE",o[o.LK_APP_PLAER_LIST=5]="LK_APP_PLAER_LIST",o[o.LK_APP_REQUEST_TEXT=6]="LK_APP_REQUEST_TEXT",o[o.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=7]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=8]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_OPEN=9]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",o[o.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=10]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",o[o.LK_RTC_EVENT_PEERCONNECTION_STATE=11]="LK_RTC_EVENT_PEERCONNECTION_STATE",o[o.NET_STATE=12]="NET_STATE",o[o.SYNC_CURSORSTYLE=13]="SYNC_CURSORSTYLE",o[o.BAD_NETWORK=14]="BAD_NETWORK",o[o.ERROR=15]="ERROR",o[o.RTC_SDP=16]="RTC_SDP",o[o.RTC_ICECANDIDATE=17]="RTC_ICECANDIDATE",o[o.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",o[o.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",o[o.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",o[o.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",o[o.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",o[o.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR",o[o.INFO=24]="INFO",o[o.AerialViewStatus=25]="AerialViewStatus",o[o.AerialViewScreen=26]="AerialViewScreen",o[o.VideoFrame=27]="VideoFrame",o[o.TooltipInfo=28]="TooltipInfo",o[o.OPEN_URL=29]="OPEN_URL"}(X||(X={}));const Sr=/(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 Nn;(function(o){o[o.VP8=1]="VP8",o[o.VP9=2]="VP9",o[o.H264=3]="H264",o[o.DEFAULT=4]="DEFAULT"})(Nn||(Nn={}));class On{constructor(){this.isFinish=!1,this.sessionId=0,this.packetTotalSize=0,this.frameData=new Uint8Array(0),this.dataOffset=0}static CreateDataPacket(n){var a;if(!n.bigDataPacket)return;let l=new On;return l.frameData=new Uint8Array((a=n.bigDataPacket)===null||a===void 0?void 0:a.totalSize),l.dataOffset=0,l.packetTotalSize=n.bigDataPacket.totalSize,l.sessionId=n.bigDataPacket.sessionId,l.pushData(n),l}pushData(n){n.bigDataPacket&&(this.isFinish?u.warn("data already finished",n):(this.frameData.set(n.bigDataPacket.data,this.dataOffset),this.dataOffset+=n.bigDataPacket.packetSize,this.isFinish=n.bigDataPacket.isLast,u.info("set bitDataPacket data",this.sessionId,n.bigDataPacket.sessionId,this.dataOffset,this.isFinish,n.bigDataPacket)))}}class Or extends g{get audioDeviceId(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.deviceId}get audioTrack(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.track}get videoDeviceId(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.deviceId}get videoTrack(){var n;return(n=this.videoBinding)===null||n===void 0?void 0:n.track}get audioPaused(){return!this.audioBinding||this.audioBinding.paused}get videoPaused(){return!this.videoBinding||this.videoBinding.paused}get serverFeatures(){return this._serverFeatures}get serverStatics(){return this._serverStatics}get currentAppSize(){return this._currentAppSize}constructor(n,a,l){super(),this.pc=null,this.dataChannel=null,this.pcConfig=null,this.netTestTimeout=null,this.aggregatedStats=null,this.lastThrowBadNetork=0,this.lastPacktetsLost=0,this.lastPacktetsReceived=0,this.audioStream=null,this.videoStream=null,this.audioBinding=null,this.videoBinding=null,this.sendStream=new MediaStream,this.sdpCreateSuccess=!1,this._serverFeatures=null,this._serverStatics=null,this._currentAppSize=null,this.bitDataMap=new Map,this.nextSessionId=1,this.sendPacketTimer=-1,this.packetQueue=[],this.larksr=n,this.config=a,this.webcodec=l,this.offerOptions={offerToReceiveAudio:!0,offerToReceiveVideo:!0,iceRestart:!0},this.canvasRender=new Mn(n.screenState),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),Pn.disableLog(!0),u.info("adapter",Pn.browserDetails)}async create(n=void 0,a=void 0){var l,f;let S;u.info("createPeerConnection config: ",this.pcConfig,a),a&&(this.pcConfig=a),this.pcConfig&&(S={iceServers:[]},(l=this.pcConfig.servers)===null||l===void 0||l.forEach(C=>{var L;(L=S==null?void 0:S.iceServers)===null||L===void 0||L.push({urls:C.uri?C.uri:"",username:C.username?C.username:"",credential:C.password?C.password:""})}),this.pcConfig.type===1?S.iceTransportPolicy="relay":S.iceTransportPolicy="all");const O=new RTCPeerConnection(S);n&&n.getTracks().forEach(C=>{O.addTrack(C)}),u.info("Created loacl peer connection"),O.onicecandidate=this.onIceCandidate,O.oniceconnectionstatechange=this.onIceStateChange,O.ontrack=this.ontrack,O.onconnectionstatechange=C=>{u.info("onconnectionstatechange",C)},O.onnegotiationneeded=C=>{u.info("onnegotiationneeded",C)},this.pc=O,this.creatDataChannel();const E=(f=this.pc)===null||f===void 0?void 0:f.getReceivers();if(E)for(const C of E)u.info("create pc receiver",C),C&&(C.playoutDelayHint=0);this.createOffer()}creatDataChannel(){if(!this.pc)return void u.warn("create data channel faied. peerconnection empty");const{pc:n}=this,a=n.createDataChannel("PXY_DATACHANNEL");a.binaryType="arraybuffer",a.onopen=l=>{u.info("on datachannel open",a.readyState,a.bufferedAmount,a.bufferedAmountLowThreshold),this.sendPacketTimer!=-1&&(window.clearInterval(this.sendPacketTimer),this.sendPacketTimer=-1),this.sendPacketTimer=window.setInterval(()=>{var f;if(this.dataChannel&&((f=this.dataChannel)===null||f===void 0?void 0:f.readyState)=="open"){if(this.dataChannel.bufferedAmount>262144)return;const S=this.packetQueue.shift();if(!S)return;const O=m.CloudLark.ClientInput.create({bigDataPacket:S});this.dataChannel.send(m.CloudLark.ClientInput.encode(O).finish())}},1)},a.onclose=l=>{u.info("on datachannel close",a.readyState,a.bufferedAmount,a.bufferedAmountLowThreshold),this.sendPacketTimer!=-1&&(window.clearInterval(this.sendPacketTimer),this.sendPacketTimer=-1),this.creatDataChannel(),this.createOffer()},a.onerror=l=>{u.info("on datachannel error",l),this.sendPacketTimer!=-1&&(window.clearInterval(this.sendPacketTimer),this.sendPacketTimer=-1),this.creatDataChannel(),this.createOffer()},a.onmessage=this.onDataChannelMessage,this.dataChannel=a}closeDataChannel(){this.dataChannel&&this.dataChannel.close()}createOffer(){if(this.pc){u.info("createOffer start");const n=on.getParser(window.navigator.userAgent),a=n.getOSName(),l=parseFloat(n.getOSVersion());a=="iOS"&&l<15&&this.sdpCreateSuccess?u.err("iOS 15 以下系统不支持重新接收 SDP"):this.pc.createOffer(this.offerOptions).then(this.onCreateOfferSuccess).catch(f=>{u.warn("createOffer error:",f)})}}close(){var n;this.closeAudio(),this.closeVideo(),this.pc&&(u.info("关闭点对点连接"),this.iceStateChange(qe.DISCONNECT),(n=this.pc)===null||n===void 0||n.close(),this.pc=null),this.dataChannel&&(u.info("关闭datachannel"),this.dataChannel.close(),this.dataChannel=null),this.audioStream=null,this.videoStream=null,this.stopNetTest(),this.sdpCreateSuccess=!1}setAudioEnable(n){this.audioBinding&&(this.audioBinding.track.enabled=n)}setVideoEnable(n){this.videoBinding&&(this.videoBinding.track.enabled=n)}setShareEnable(n){this.videoBinding&&(this.videoBinding.track.enabled=n)}stopLocalAudio(){this.stopLocalTrackBing(this.audioBinding),this.createOffer()}stopLocalVideo(){this.stopLocalTrackBing(this.videoBinding),this.createOffer()}stopLocalShare(){this.stopLocalTrackBing(this.videoBinding),this.createOffer()}pauseAudioSending(){if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.audioBinding.transceiver.direction="inactive",this.audioBinding.paused=!0,this.createOffer()}resumeAudioSending(){if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.audioBinding.transceiver.direction="sendonly",this.audioBinding.paused=!1,this.createOffer()}pauseVideoSending(){if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.videoBinding.transceiver.direction="inactive",this.videoBinding.paused=!0,this.createOffer()}resumeVideoSending(){if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.videoBinding.transceiver.direction="sendonly",this.videoBinding.paused=!1,this.createOffer()}closeAudio(){var n;if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.audioBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.audioBinding.transceiver.sender),this.audioBinding.transceiver.stop(),this.audioBinding=null,this.createOffer()}closeVideo(){var n;if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.videoBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.videoBinding.transceiver.sender),this.videoBinding.transceiver.stop(),this.videoBinding=null,this.createOffer()}closeShare(){var n;if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.videoBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.videoBinding.transceiver.sender),this.videoBinding.transceiver.stop(),this.videoBinding=null,this.createOffer()}stopLocalTrackBing(n){return n&&n.transceiver?(n==null||n.track.stop(),n.transceiver.sender&&n.transceiver.sender.replaceTrack(null),!0):(u.warn("no local binding find"),!1)}async openAudio(n=""){return n?await this.openAudioDevice(n):await this.openUserMeida({video:!1,audio:!0})}async openVideo(n=!1,a="",l=0,f=0,S){return await this.openCamera(a,l,f,n,S)}async openDefaultMedia(n=!0,a=!0){const l=await this.openUserMeida({video:n,audio:a});return u.info("openDefaultMedia ",l,this.videoBinding,this.audioBinding),l}async openShareMediaDevice(){if(!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");this.pc||this.create();const n=await navigator.mediaDevices.getDisplayMedia();if(n.getVideoTracks().length==0)throw new Error("打开屏幕分享失败");this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,n.getVideoTracks()[0]),this.createOffer()}async getConnectedAudioinputDevices(){const n=await this.getConnectedDevices("audioinput");return u.info("getConnectedAudioinputDevices",n),n}async getConnectedAudioOutputDevices(){return await this.getConnectedDevices("audiooutput")}async getConnectedVideoinputDevices(){return await this.getConnectedDevices("videoinput")}async getConnectedDevices(n){return(await navigator.mediaDevices.enumerateDevices()).filter(a=>a.kind===n)}async openAudioDevice(n,a="audioinput"){const l={audio:{deviceId:n,echoCancellation:!0,kind:a},video:!1};return await this.openUserMeida(l)}async openCamera(n,a=0,l=0,f=!0,S){let O={audio:!!f&&{echoCancellation:!0},video:{}};return n&&(O.video.deviceId=n),a&&a>0&&(O.video.width={ideal:a,min:a,max:a}),l&&l>0&&(O.video.height={ideal:l,min:l,max:l}),S!==void 0&&(O.video.facingMode=S?"user":{exact:"environment"}),S!==void 0||n||(O.video=!0),await this.openUserMeida(O)}async openUserMeida(n,a=!1){var l,f;if(n!=null&&n.video){if(!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");if(this.larksr.serverFeatures&&!this.larksr.serverFeatures.vcam)throw u.err("服务端不支持摄像头输入功能, 请联系管理员"),new Error("服务端不支持摄像头输入功能, 请联系管理员")}else if(n!=null&&n.audio){if(!this.larksr.params.audioInput)throw new Error("请在后台应用管理中打开音频输入功能");if(this.larksr.serverFeatures&&!this.larksr.serverFeatures.audioInput)throw u.err("服务端不支持麦克风输入功能, 请联系管理员"),new Error("服务端不支持麦克风输入功能, 请联系管理员")}if(!this.larksr.isTaskOwner)throw new Error("互动模式观看者不支持上传音视频");const S=await navigator.mediaDevices.getUserMedia(n);n!=null&&n.video&&this.larksr.screenState.screenOrientation=="landscape"&&this.$emit(X.INFO,"请开启手机自动旋转以支持摄像头横屏"),this.pc?a&&(this.close(),this.create()):this.create();const O=S.getVideoTracks();if(O.length>0){if(I.isMobile){this.canvasRender.clear();const L=(await this.canvasRender.init(S)).captureStream().getVideoTracks()[0];this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,L)}else this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,O[0]);n&&n.video&&n.video.deviceId&&(this.videoBinding.deviceId=n.video.deviceId)}const E=S.getAudioTracks();E.length>0&&(this.audioBinding=this.resumeOrCreateBinding(this.audioBinding,E[0]),n&&n.audio&&n.audio.deviceId&&(this.audioBinding.deviceId=n.audio.deviceId));const C=[];return this.videoBinding&&C.push({deviceId:this.videoBinding.deviceId,sender:(l=this.videoBinding.transceiver)===null||l===void 0?void 0:l.sender,track:this.videoBinding.track}),this.audioBinding&&C.push({deviceId:this.audioBinding.deviceId,sender:(f=this.audioBinding.transceiver)===null||f===void 0?void 0:f.sender,track:this.audioBinding.track}),this.createOffer(),{streams:S,rtcRtpSenders:C}}resumeOrCreateBinding(n,a){var l,f;return n?(n.paused&&(n.paused=!1,n.transceiver&&(n.transceiver.direction="sendonly")),(l=n.transceiver)===null||l===void 0||l.sender.replaceTrack(a)):n={deviceId:"",transceiver:(f=this.pc)===null||f===void 0?void 0:f.addTransceiver(a,{direction:"sendonly",streams:[this.sendStream]}),track:a,paused:!1,peerid:0},n}addMediaTrack(n,...a){return!!this.pc&&(this.pc.addTrack(n,...a),!0)}removeMediaTrack(n){return!!this.pc&&(this.pc.removeTrack(n),!0)}requestUserMediaPermission(n){return new Promise((a,l)=>{navigator.mediaDevices.getUserMedia(n).then(f=>{f.getTracks().forEach(S=>{S.stop(),S.enabled=!1}),a(f)}).catch(l)})}onRemoteDescription(n){var a,l;if(n&&this.pc){if(u.info(`Answer from remote \r
|
|
41
|
-
`,n.sdp),((a=this.pc)===null||a===void 0?void 0:a.signalingState)==="stable")return void u.err("signalingState stable. no local offer found.",(l=this.pc)===null||l===void 0?void 0:l.signalingState);const f=new RTCSessionDescription(n);this.pc.setRemoteDescription(f).then(S=>{u.info("set remote des success",S)}).catch(S=>{var O,E;u.err("set remote des error",S),u.err("onRemoteDescription error",S),((O=this.pc)===null||O===void 0?void 0:O.signalingState)!=="have-local-offer"&&((E=this.pc)===null||E===void 0?void 0:E.signalingState)!=="have-remote-offer"?u.err("onRemoteDescription signalingState error",S):this.$emit(X.ERROR,"set remote des error:"+JSON.stringify(S))})}}onReceiveCandidate(n){if(this.pc===null)return;u.info("onReceiveCandidate"+JSON.stringify(n),n);const{serverIP:a,preferPubOutIp:l}=this.config;if(n.candidate&&n.candidate.indexOf("relay")!==-1&&u.info("on turn candateInit.candidate ",n),n.candidate&&n.candidate.indexOf("host")!==-1&&u.info("on host candateInit.candidate ",n),n.candidate&&n.candidate.indexOf("relay")==-1&&n.candidate.indexOf("srflx")==-1){if(l!==""){u.info("手动替换 ICE Candidate 地址为公共地址",a,n.candidate);const S=Sr,O=k.deepCopy(n),E=n.candidate;O.candidate=E.replace(S,C=>l),this.addIceCandidate(new RTCIceCandidate(O)),u.info("replace server ip finished::",n.candidate)}const f=new In(n);if(a!==""&&a!=f.ip&&(f.ip=a,u.info("Add New ice candidate with render server ip",a,f.candidate)),this.addIceCandidate(f.genNewIceCandidate()),this.larksr.config.publicPortMapping&&this.larksr.config.publicPortMapping[a+":"+f.port]){const S=this.larksr.config.publicPortMapping[a+":"+f.port].split(":");S.length>1?(f.ip=S[0],f.port=S[1],this.addIceCandidate(f.genNewIceCandidate()),u.info("Add Publich ice candidate with render server ip",f.candidate)):u.warn("setup port mapping formate error",this.larksr.config.publicPortMapping[a+":"+f.port])}}this.addIceCandidate(new RTCIceCandidate(n))}startNetTest(){this.netTestTimeout=window.setTimeout(()=>{this.getStats(),this.startNetTest()},1e3)}stopNetTest(){this.netTestTimeout&&clearTimeout(this.netTestTimeout)}sendInput(n,a=!1){this.larksr.isPixelStreaming?u.err("wrong input proto when use pixel streaming"):!a||this.larksr.remoteScreenReady?this.sendBuffer(m.CloudLark.ClientInput.encode(n).finish()):u.warn("remote screen not ready skip event.")}sendBuffer(n){if(this.pc&&this.dataChannel&&this.dataChannel.readyState=="open")if(n.byteLength>16384){const l=this.nextSessionId++,f=n.byteLength,S=Math.ceil(f/16384);for(let O=0;O<S;O++){const E=O*16384,C=Math.min(E+16384,f),L=n.slice(E,C),w=O===S-1,V=m.CloudLark.BigDataPacket.create({sessionId:l,packetId:O,packetCount:S,totalSize:f,packetSize:C-E,isLast:w,data:new Uint8Array(L)});u.info("send bigDataPacket",V),this.packetQueue.push(V)}}else this.dataChannel.send(n)}sendToAppTextMsg(n){const a=new TextEncoder().encode(n),l=new m.CloudLark.ClientInput({clientDcMsg:{type:m.CloudLark.AppDataChannelMessage.Type.STRING,data:a}});u.info("sendToAppTextMsg",n,a),this.sendInput(l)}sendToAppBinaryMsg(n){const a=new m.CloudLark.ClientInput({clientDcMsg:{type:m.CloudLark.AppDataChannelMessage.Type.BIN,data:n}});this.sendInput(a)}StartCloudLiveStreaming(n){return new Promise((a,l)=>{if(!this.larksr.params.liveStreaming)return void l("请在后台开启云端推流功能");if(this.larksr.appState<Y.MEDIA_LOADED)return void l("Must connect cloud success before start cloud live streaming");if(!n.path)return void l("live stream path must not empty");if(this.larksr.serverFeatures&&!this.larksr.serverFeatures.rtmp)return void l("服务端不支持云端推流功能");n.key||(n.key=""),n.voice!=null&&n.voice!=null||!this.larksr.params.audioInput||(n.voice=!0),n.reconnectRetries&&(n.reconnectRetries=3),n.reconnect!=null&&n.reconnect!=null||(n.reconnect=!0),n.framerate||(n.framerate=30),n.bitrate||(n.bitrate=2048),n.width||(n.width=1280),n.height||(n.height=720);const f=new m.CloudLark.ClientInput({rtmpStart:n});this.sendBuffer(m.CloudLark.ClientInput.encode(f).finish()),a()})}StopLiveStreaming(){const n=new m.CloudLark.ClientInput({rtmpStop:{flag:!1}});this.sendBuffer(m.CloudLark.ClientInput.encode(n).finish())}changeOperater(n){u.info("onOperateChange",n);let a=m.CloudLark.ClientInput.create({dispatchController:{id:n}});this.sendBuffer(m.CloudLark.ClientInput.encode(a).finish())}inputText(n){u.info("on input txt",n);const a=m.CloudLark.ClientInput.create({textInput:{content:n}});this.sendBuffer(m.CloudLark.ClientInput.encode(a).finish())}getStats(){if(this.pc)if(j.getBrowserType()===j.Type.Chrome||j.getBrowserType()===j.Type.Safari||I.os==="iOS")this.getStateChrome();else{const n={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,avgDecodeDelay:0,avgProcessDelay:0,serverStatics:this.serverStatics},a=this;this.pc.getStats().then(l=>{if(l){if(l.forEach(f=>{if(f.id&&f.id.indexOf("RTCIceCandidatePair")>-1&&f.hasOwnProperty("totalRoundTripTime")&&f.hasOwnProperty("responsesReceived")&&f.responsesReceived!==0){const S=f.totalRoundTripTime/f.responsesReceived*1e3;n.currentRoundTripTime=S}f.id&&f.id.indexOf("RTCInboundRTPVideoStream")>-1&&f.hasOwnProperty("packetsLost")&&(n.packetsLost=f.packetsLost)}),a.aggregatedStats=n,this.webcodec.inited){let f=k.deepCopy(n),S=this.webcodec.stats();f.frameWidth=this.webcodec.width,f.frameHeight=this.webcodec.height,f.avgBitrate=S.bitrateKbps,f.bitrate=S.bitrateKbps,f.avgDecodeDelay=S.decode,f.avgProcessDelay=S.decode+S.render+S.package,f.framesDecoded=S.fps,f.framerate=S.fps,f.avgframerate=S.fps,f.highFramerate=S.fps,f.lowFramerate=S.fps,this.$emit(X.NET_STATE,f),this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_STATE,k.deepCopy(f),"UPDATE PEERCONNECTION STATE")}else this.$emit(X.NET_STATE,n),this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_STATE,k.deepCopy(n),"UPDATE PEERCONNECTION STATE");this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_STATE,k.deepCopy(n),"UPDATE PEERCONNECTION STATE")}}).catch(l=>{u.warn("peerconnection getStats failed",l)})}else u.warn("get stats without peerconnection")}getStateChrome(){if(!this.pc)return;const n=this;this.pc.getStats(null).then(a=>{const l={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,avgDecodeDelay:0,avgProcessDelay:0,serverStatics:this.serverStatics};if(a.forEach(f=>{if(f.type!="inbound-rtp"||f.isRemote||f.mediaType!="video"&&!f.id.toLowerCase().includes("video")||(l.timestamp=f.timestamp,l.bytesReceived=f.bytesReceived,l.framesDecoded=f.framesDecoded,l.packetsLost=f.packetsLost,l.bytesReceivedStart=n.aggregatedStats&&n.aggregatedStats.bytesReceivedStart?n.aggregatedStats.bytesReceivedStart:f.bytesReceived,l.framesDecodedStart=n.aggregatedStats&&n.aggregatedStats.framesDecodedStart?n.aggregatedStats.framesDecodedStart:f.framesDecoded,l.timestampStart=n.aggregatedStats&&n.aggregatedStats.timestampStart?n.aggregatedStats.timestampStart:f.timestamp,f.totalDecodeTime&&f.framesDecoded&&(l.avgDecodeDelay=f.totalDecodeTime/f.framesDecoded*1e3),f.totalProcessingDelay&&f.framesDecoded&&(l.avgProcessDelay=f.totalProcessingDelay/f.framesDecoded*1e3),n.aggregatedStats&&n.aggregatedStats.timestamp&&(n.aggregatedStats.bytesReceived&&(l.bitrate=8*(l.bytesReceived-n.aggregatedStats.bytesReceived)/(l.timestamp-n.aggregatedStats.timestamp),l.bitrate=Math.round(l.bitrate),l.lowBitrate=n.aggregatedStats.lowBitrate&&n.aggregatedStats.lowBitrate<l.bitrate?n.aggregatedStats.lowBitrate:l.bitrate,l.highBitrate=n.aggregatedStats.highBitrate&&n.aggregatedStats.highBitrate>l.bitrate?n.aggregatedStats.highBitrate:l.bitrate),n.aggregatedStats.bytesReceivedStart&&(l.avgBitrate=8*(l.bytesReceived-n.aggregatedStats.bytesReceivedStart)/(l.timestamp-n.aggregatedStats.timestampStart),l.avgBitrate=Math.round(l.avgBitrate)),n.aggregatedStats.framesDecoded&&(l.framerate=(l.framesDecoded-n.aggregatedStats.framesDecoded)/((l.timestamp-n.aggregatedStats.timestamp)/1e3),l.framerate=parseFloat(l.framerate.toFixed(2)),l.lowFramerate=n.aggregatedStats.lowFramerate&&n.aggregatedStats.lowFramerate<l.framerate?n.aggregatedStats.lowFramerate:l.framerate,l.highFramerate=n.aggregatedStats.highFramerate&&n.aggregatedStats.highFramerate>l.framerate?n.aggregatedStats.highFramerate:l.framerate),n.aggregatedStats.framesDecodedStart&&(l.avgframerate=(l.framesDecoded-n.aggregatedStats.framesDecodedStart)/((l.timestamp-n.aggregatedStats.timestampStart)/1e3),l.avgframerate=Math.round(l.avgframerate)))),f.hasOwnProperty("frameWidth")&&f.hasOwnProperty("frameHeight")&&(l.framesDropped=f.framesDropped,l.framesReceived=f.framesReceived,l.framesDroppedPercentage=f.framesDropped/f.framesReceived*100,l.frameHeight=f.frameHeight,l.frameWidth=f.frameWidth,l.frameHeightStart=n.aggregatedStats&&n.aggregatedStats.frameHeightStart?n.aggregatedStats.frameHeightStart:f.frameHeight,l.frameWidthStart=n.aggregatedStats&&n.aggregatedStats.frameWidthStart?n.aggregatedStats.frameWidthStart:f.frameWidth),f.id&&f.id.indexOf("RTCInboundRTPVideoStream")>-1&&f.hasOwnProperty("packetsLost")){let S=f.packetsReceived-this.lastPacktetsReceived,O=f.packetsLost-this.lastPacktetsLost,E=O/(O+S)*100;isNaN(E)||(l.packetsLostPerc=E),this.lastPacktetsLost=f.packetsLost,this.lastPacktetsReceived=f.packetsReceived}f.type=="candidate-pair"&&f.hasOwnProperty("currentRoundTripTime")&&(l.currentRoundTripTime=f.currentRoundTripTime)}),this.webcodec.inited){let f=k.deepCopy(l),S=this.webcodec.stats();if(f.frameWidth=this.webcodec.width,f.frameHeight=this.webcodec.height,f.avgBitrate=S.bitrateKbps,f.bitrate=S.bitrateKbps,f.avgDecodeDelay=S.decode,f.avgProcessDelay=S.decode+S.render+S.package,f.framesDecoded=S.fps,f.framerate=S.fps,f.avgframerate=S.fps,f.highFramerate=S.fps,f.lowFramerate=S.fps,u.info("webcodec state ",S,f),n.aggregatedStats){const O=m.CloudLark.ClientInput.create({clientStatics:{bytesReceivedInSecond:1e3*f.avgBitrate,rtt:1e3*l.currentRoundTripTime,packageLostInSecond:l.packetsLostPerc,decodeDelay:f.avgDecodeDelay,totalProcessDelay:f.avgProcessDelay}});this.sendInput(O),u.info("video stat",O,l.avgDecodeDelay,l.avgProcessDelay)}this.$emit(X.NET_STATE,f),this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_STATE,k.deepCopy(f),"UPDATE PEERCONNECTION STATE")}else{if(n.aggregatedStats){const f=m.CloudLark.ClientInput.create({clientStatics:{bytesReceivedInSecond:8*(l.bytesReceived-n.aggregatedStats.bytesReceived),rtt:1e3*l.currentRoundTripTime,packageLostInSecond:l.packetsLostPerc,decodeDelay:l.avgDecodeDelay,totalProcessDelay:l.avgProcessDelay}});this.sendInput(f),u.info("video stat",f,l.avgDecodeDelay,l.avgProcessDelay)}this.$emit(X.NET_STATE,l),this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_STATE,k.deepCopy(l),"UPDATE PEERCONNECTION STATE")}n.aggregatedStats=l,l.currentRoundTripTime!=0&&1e3*l.currentRoundTripTime>this.larksr.params.rttLimit&&n.onBadNetWork()}).catch(a=>{u.warn("get states failed:"+a)})}onBadNetWork(){if(I.isMobile)return;let n=Date.now();n-this.lastThrowBadNetork>1e3*this.larksr.params.rttLimitInterval&&(this.$emit(X.BAD_NETWORK,""),this.lastThrowBadNetork=n)}onDataChannelMessage(n){this.processDataChannelMessage(n.data)}processDataChannelMessage(n){var a,l,f,S,O,E,C,L,w,V,_,z,B,J,te,$,ke,ve,Le,Fe,Xe,Ue,ue;if(this.larksr.isPixelStreaming)return void u.warn("pxiel streaming datachannel proto not support yet.");let D;try{D=m.CloudLark.AppNotification.decode(new Uint8Array(n))}catch(Ae){return void u.warn("Protobuf Input MSG decode failed:"+JSON.stringify(Ae),n)}if(D.resize){u.info("收到 DataChannelMessage resize",D.resize);let Ae=this.larksr.remoteScreenReady;this.larksr.remoteScreenReady=!0;const Me={width:D.resize.width,height:D.resize.height};this._currentAppSize=D.resize,this.$emit(X.LK_APP_RESIZE,Me),this.larksr.$emit(r.LK_APP_RESIZE,Me,"APP RESIZE"),Ae||this.larksr.onFirstAppsize(D.resize.width,D.resize.height)}else if(D.mousemode){u.info("收到 DataChannelMessage mousemode"),u.warn("on mouse mode",D.mousemode);const Ae={mouseShow:D.mousemode.mouseShow,mouseLock:D.mousemode.mouseLock,mouseRelative:D.mousemode.mouseRelative,rect:D.mousemode.rect};this.$emit(X.LK_APP_MOUSE_MODE,Ae),this.larksr.$emit(r.LK_APP_MOUSE_MODE,Ae,"APP MOUSEMODE")}else if(D.updatePlayers)u.info("收到 updatePlayers",D.updatePlayers),D.updatePlayers.descs?(this.$emit(X.LK_APP_PLAER_LIST,k.deepCopyArray(D.updatePlayers.descs)),this.larksr.$emit(r.LK_APP_PLAER_LIST,k.deepCopyArray(D.updatePlayers.descs),"PLAYER_LIST")):u.warn("receive update players but no descs found");else if(D.requestInput)u.info("request input:",D.requestInput.inputmethodenable),this.$emit(X.LK_APP_REQUEST_TEXT,D.requestInput.inputmethodenable),this.larksr.$emit(r.LK_APP_REQUEST_TEXT,D.requestInput.inputmethodenable,"APP REQUEST INPUT TEXT");else if(D.appDcMsg)if(D.appDcMsg.type==m.CloudLark.AppDataChannelMessage.Type.STRING){if(!((a=D.appDcMsg)===null||a===void 0)&&a.data){u.info("on str msg ",D.appDcMsg.data,D.appDcMsg.data.length);const Ae=new TextDecoder;let Me="";Me=D.appDcMsg.data.length>0&&D.appDcMsg.data[D.appDcMsg.data.length-1]==0?Ae.decode((l=D.appDcMsg)===null||l===void 0?void 0:l.data.subarray(0,D.appDcMsg.data.length-1)):Ae.decode((f=D.appDcMsg)===null||f===void 0?void 0:f.data);const We=Ae.decode((S=D.appDcMsg)===null||S===void 0?void 0:S.data);this.$emit(X.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,{string:Me,rawString:We}),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,Me)}}else this.$emit(X.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,(O=D.appDcMsg)===null||O===void 0?void 0:O.data),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,(E=D.appDcMsg)===null||E===void 0?void 0:E.data);else if(D.datachannelState)u.info("on datachannelState msg",D.datachannelState),D.datachannelState.state==m.CloudLark.AppDataChannelState.State.OPEN?(this.$emit(X.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_OPEN)):(this.$emit(X.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_CLOSE));else if(D.cursorStyle)u.info("on cursor style",D.cursorStyle),this.$emit(X.SYNC_CURSORSTYLE,D.cursorStyle);else if(D.aiVoiceServiceStatus)u.info("on aivoice status",D.aiVoiceServiceStatus),this.$emit(X.AI_VOICE_STATUS,D.aiVoiceServiceStatus);else if(D.aiVoiceRealtimeParseresult)u.info("on aivoice RealtimeParseresult",D.aiVoiceRealtimeParseresult),this.$emit(X.AI_VOICE_ASR_RESULT,D.aiVoiceRealtimeParseresult);else if(D.aiVoiceResult)u.info("on aivoice Result",D.aiVoiceResult),this.$emit(X.AI_VOICE_DM_RESULT,D.aiVoiceResult);else if(D.aiVoiceErr)u.info("on aivoice error",D.aiVoiceErr),this.$emit(X.AI_VOICE_ERROR,D.aiVoiceErr);else if(D.rtmpState)this.$emit(X.RTMP_STREAM_STATE,D.rtmpState);else if(D.rtmpError)this.$emit(X.RTMP_STREAM_ERROR,D.rtmpError);else if(D.notifyFeatures)u.info("收到 notifyFeatures",D.notifyFeatures),D.notifyFeatures.gamePad||u.err("服务端不支持手柄输入。请管理员注意。"),D.notifyFeatures.offScreen||u.err("服务端不支持离屏渲染功能。请管理员注意。"),D.notifyFeatures.aivoice||u.err("服务端不支持智能语音输入。请管理员注意。"),D.notifyFeatures.audioInput||u.err("服务端不支持麦克风输入。请管理员注意。"),D.notifyFeatures.rtmp||u.err("服务端不支持直播推流。请管理员注意。"),D.notifyFeatures.vcam||u.err("服务端不支持摄像头输入。请管理员注意。"),this._serverFeatures=D.notifyFeatures;else if(D.serverStatics)this._serverStatics=D.serverStatics;else if(D.appControlResult)if(D.appControlResult.aerialviewStatus)if(this.$emit(X.AerialViewStatus,D.appControlResult.aerialviewStatus),D.appControlResult.aerialviewStatus.status)if(u.info("收到 aerialviewStatus resize",D.appControlResult.aerialviewStatus),D.appControlResult.aerialviewStatus.currentBox&&((C=D.appControlResult.aerialviewStatus.currentBox)===null||C===void 0?void 0:C.maxx)!=null&&((L=D.appControlResult.aerialviewStatus.currentBox)===null||L===void 0?void 0:L.maxx)!=null&&((w=D.appControlResult.aerialviewStatus.currentBox)===null||w===void 0?void 0:w.minx)!=null&&((V=D.appControlResult.aerialviewStatus.currentBox)===null||V===void 0?void 0:V.minx)!=null&&((_=D.appControlResult.aerialviewStatus.currentBox)===null||_===void 0?void 0:_.miny)!=null&&((z=D.appControlResult.aerialviewStatus.currentBox)===null||z===void 0?void 0:z.miny)!=null&&((B=D.appControlResult.aerialviewStatus.currentBox)===null||B===void 0?void 0:B.maxy)!=null&&((J=D.appControlResult.aerialviewStatus.currentBox)===null||J===void 0?void 0:J.maxy)!=null){const Ae={width:((te=D.appControlResult.aerialviewStatus.currentBox)===null||te===void 0?void 0:te.maxx)-(($=D.appControlResult.aerialviewStatus.currentBox)===null||$===void 0?void 0:$.minx),height:((ke=D.appControlResult.aerialviewStatus.currentBox)===null||ke===void 0?void 0:ke.maxy)-((ve=D.appControlResult.aerialviewStatus.currentBox)===null||ve===void 0?void 0:ve.miny)};this.$emit(X.LK_APP_RESIZE,Ae),this.larksr.$emit(r.LK_APP_RESIZE,Ae,"APP RESIZE")}else u.warn("illegal aerialviewStatus size",D.appControlResult.aerialviewStatus);else{const Ae={width:(Le=this.currentAppSize)===null||Le===void 0?void 0:Le.width,height:(Fe=this.currentAppSize)===null||Fe===void 0?void 0:Fe.height};this.$emit(X.LK_APP_RESIZE,Ae),this.larksr.$emit(r.LK_APP_RESIZE,Ae,"APP RESIZE")}else D.appControlResult.aerialviewScreen&&(u.info("got aerialviewScreen"),this.$emit(X.AerialViewScreen,D.appControlResult.aerialviewScreen.image));else if(D.videoFrame)this.$emit(X.VideoFrame,D.videoFrame);else if(D.tooltipInfo)this.$emit(X.TooltipInfo,D.tooltipInfo);else if(D.bigDataPacket){u.info("got bitDataPacket",D.bigDataPacket);const Ae=D.bigDataPacket.sessionId;if(this.bitDataMap.has(Ae))(Xe=this.bitDataMap.get(Ae))===null||Xe===void 0||Xe.pushData(D),!((Ue=this.bitDataMap.get(Ae))===null||Ue===void 0)&&Ue.isFinish&&(this.processDataChannelMessage((ue=this.bitDataMap.get(Ae))===null||ue===void 0?void 0:ue.frameData),this.bitDataMap.delete(Ae));else{let Me=On.CreateDataPacket(D);Me&&(Me.isFinish?this.processDataChannelMessage(Me.frameData):this.bitDataMap.set(Ae,Me))}}else D.openUrl&&(u.info("got openUrl",D.openUrl),D.openUrl.url&&this.$emit(X.OPEN_URL,D.openUrl.url))}onCreateOfferSuccess(n){const a=n;u.info(`创建 Off 成功
|
|
42
|
-
`+a.sdp);let l=a.sdp;if(this.pc===null||l==null)return;this.larksr.isPixelStreaming?(l=l.replace("useinbandfec=1","useinbandfec=1;stereo=1;sprop-maxcapturerate=48000"),l=l.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,S=>(u.info("remove a=extmap-allow-mixed",S),""))):(this.larksr.params.preferDecoder!=="auto"&&j.checkSupport()!==-2&&(this.larksr.params.preferDecoder==="vp8"?W.hasVp8(l)?(l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1(l)):u.err("要求使用VP8解码器但该浏览器未发现"):this.larksr.params.preferDecoder==="vp9"?W.hasVp9(l)?(l=W.removeVp8(l),l=W.removeH264(l),l=W.removeAV1(l)):u.err("要求使用VP9解码器但该浏览器未发现"):this.larksr.params.preferDecoder==="h264"?W.hasH264(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeAV1(l)):u.err("要求使用H264解码器但该浏览器未发现"):this.larksr.params.preferDecoder==="av1"||this.larksr.params.preferDecoder==="av1x"?W.hasAV1X(l)&&(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l)):this.larksr.params.preferDecoder==="hevc"?W.hasHEVC(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1(l),l=W.removeH265(l),l=W.removeSVAC(l)):u.err("要求使用hevc解码器但该浏览器未发现"):this.larksr.params.preferDecoder==="h265"?W.hasH265(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1(l),l=W.removeHEVC(l),l=W.removeSVAC(l)):u.err("要求使用h265解码器但该浏览器未发现"):this.larksr.params.preferDecoder==="svac"&&(W.hasSVAC(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1(l),l=W.removeH265(l),l=W.removeHEVC(l)):u.err("要求使用svac解码器但该浏览器未发现"))),l=l.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,S=>(u.info("remove a=extmap-allow-mixed",S),"")),this.config.codeRate&&this.config.codeRate>1e3&&this.sdpCreateSuccess&&u.warn("recreate sdp.",this.audioBinding,this.videoBinding),this.larksr.params.audioCodeRate&&(l=W.setAudioBitrate(l,1e3*this.larksr.params.audioCodeRate)));const f={type:a.type,sdp:l};u.info(`发送 offer sdp
|
|
43
|
-
`+f.sdp),this.pc.setLocalDescription(f).then(()=>{u.info("设置本地 SDP 成功"),this.sdpCreateSuccess=!0,this.$emit(X.RTC_SDP,f)}).catch(S=>{u.err("设置本地SDP失败: "+S.toString()),this.sdpCreateSuccess=!1,this.$emit(X.ERROR,"Failed to set session description: "+S.toString())})}onIceCandidate(n){u.info("Local onIceCandidate",n,JSON.stringify(n),JSON.stringify(n.candidate)),n.candidate&&n.candidate.candidate.indexOf("host")!==-1&&u.info("on host candateInit.candidate ",n.candidate,JSON.stringify(n.candidate)),this.$emit(X.RTC_ICECANDIDATE,n.candidate)}onIceStateChange(n){if(this.pc!==null)switch(u.info("ICE state: "+this.pc.iceConnectionState),this.pc.iceConnectionState){case"disconnected":u.warn("ICE 断开连接"),this.iceStateChange(qe.DISCONNECT);break;case"closed":u.warn("ICE 关闭"),this.iceStateChange(qe.DISCONNECT);break;case"failed":u.warn("ICE 连接失败"),this.close(),this.iceStateChange(qe.BAD);break;case"checking":this.iceStateChange(qe.CONNECT),u.info("ICE 连接中");break;case"connected":case"completed":this.iceStateChange(qe.GOOD),u.info("ICE 连接成功")}}ontrack(n){var a;n.track&&u.info("Got track",n.track,n.streams[0]);const l=(a=this.pc)===null||a===void 0?void 0:a.getReceivers();if(l)for(const S of l)u.info("on track receiver",S),S&&(S.playoutDelayHint=0,S.jitterBufferDelayHint=0,S.playoutDelay=0,S.jitterBufferDelay=0);for(const S of n.streams)u.info("streams ",S);const f=n.streams[0];return n.track.kind=="audio"?(this.audioStream=f,void(this.videoStream&&f.id!=this.videoStream.id&&(u.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(X.GOT_REMOTE_AUDIO_STREAM,this.audioStream)))):(n.track.kind,this.videoStream=f,this.audioStream&&f.id!=this.audioStream.id&&(u.info("Got seprate audio stream",this.audioStream,this.videoStream),this.$emit(X.GOT_REMOTE_AUDIO_STREAM,this.audioStream)),u.info("获取到远端视频流:",f),this.$emit(X.GOT_REMOTE_STREAM,f),void this.startNetTest())}addIceCandidate(n){this.pc!==null&&this.pc.addIceCandidate(n).then(()=>{u.info("addIceCandidate OK")}).catch(a=>{u.err("addIceCandidate error:"+JSON.stringify(a))})}iceStateChange(n){this.$emit(X.ICE_STATE_CHANGE,n)}$emit(n,a){this.emit(this.createEvent(n,a))}createEvent(n,a){return{type:n,target:this,data:a}}}class Pe{static emptyMsg(n=!1){const a=new m.CloudLark.ToServerMessage;return a.magic=n?539037986:538317090,a}static versionCheckRequest(n){const a=this.emptyMsg(n),l=new m.CloudLark.VersionCheck({clientVer:{versionMarjor:N.VersionMarjor,versionMinor:N.VersionMinorr,versionRevise:N.VersionRevise,versionBuild:N.VersionBuild}});return a.versionCheckRequest=l,a}static taskRequest(n,a,l,f,S){const O=this.emptyMsg(S);let E;return E=a?new m.CloudLark.TaskRequest({type:l?m.CloudLark.TaskRequest.Type.OB:m.CloudLark.TaskRequest.Type.PLAYER,taskid:n,nickname:f}):new m.CloudLark.TaskRequest({type:m.CloudLark.TaskRequest.Type.PLAYER,taskid:n}),u.info("taskRequest",E.toJSON()),O.taskRequest=E,O}static startStreamReqeuest(n,a){const l=this.emptyMsg(a),f=new m.CloudLark.StartStreamRequest(n);return l.startStreamRequest=f,l}static startNewVrStreamReqeuest(n,a){const l=this.emptyMsg(a),f=new m.CloudLark.StartNewVrStreamRequest(n);return l.startNewVrstreamRequest=f,l}static startMonitorStreamReqeuest(n){const a=this.emptyMsg(),l=new m.CloudLark.VrMonitorRequest(n);return a.vrMonitorRequest=l,a}static rtcOfferMsg(n,a){const l=this.emptyMsg(),f=new m.CloudLark.WebrtcOfferAnswer({sdp:a,type:n});return l.webrtcOfferAnswer=f,l}static iceMsg(n,a,l,f){const S=this.emptyMsg(),O=new m.CloudLark.WebrtcIceCandidate({sdpmid:n,sdpMlineindex:a,candidate:l,username:f});return S.webrtcIcecandidate=O,S}static mediaShareRtcOfferMsg(n,a,l){const f=this.emptyMsg(),S=new m.CloudLark.WebrtcOfferAnswer({sdp:a,type:n,index:l});return f.clientMediaOfferanswer=S,f}static mediaShareIceMsg(n,a,l,f){const S=this.emptyMsg(),O=new m.CloudLark.WebrtcIceCandidate({sdpmid:n,sdpMlineindex:a,candidate:l,index:f});return S.clientMediaIcecandidate=O,S}static restartApp(){const n=this.emptyMsg(),a=new m.CloudLark.AppProcessControl({request:m.CloudLark.AppProcessControl.Type.ProcessRestart});return n.processControl=a,n}static getTaskResponseMsg(n){let a=";"+t.message.connectToAdmin;switch(n){case m.CloudLark.TaskResponse.Response.TASK_SUCCESS:return t.message.taskSuccess;case m.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return"Code:"+n+". "+t.message.taskNotFound+a;case m.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return"Code:"+n+". "+t.message.taskServerError+a;case m.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return"Code:"+n+". "+t.message.taskAppWrongParam+a;case m.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return"Code:"+n+". "+t.message.taskNoGpuResource+a;default:return""}}static getStartStreamResponseMsg(n){let a=t.message.startFailed+":",l=";"+t.message.connectToAdmin;switch(n){case m.CloudLark.StartStreamResponse.Response.START_SUCCESS:return t.message.startSuccess;case m.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return"Code:"+n+". "+a+t.message.startStreamProcessStartFailed+l;case m.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return"Code:"+n+". "+a+t.message.startStreamProcessStartTimeout+l;case m.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return"Code:"+n+". "+a+t.message.startStreamNotStreaming+l;default:return""}}static getCloudlarkTaskEvent(n){switch(n){case m.CloudLark.TaskResponse.Response.TASK_SUCCESS:return r.LK_TASK_SUCCESS;case m.CloudLark.TaskResponse.Response.TASK_NOTFOUND:return r.LK_TASK_NOTFOUND;case m.CloudLark.TaskResponse.Response.TASK_SERVER_ERROR:return r.LK_TASK_SERVER_ERROR;case m.CloudLark.TaskResponse.Response.TASK_APP_WRONGPARAM:return r.LK_TASK_APP_WRONGPARAM;case m.CloudLark.TaskResponse.Response.TASK_NO_GPU_RESOURCE:return r.LK_TASK_NO_GPU_RESOURCE}}static getCloudlarkStartStreamEvent(n){switch(n){case m.CloudLark.StartStreamResponse.Response.START_SUCCESS:return r.LK_START_STREAM_SUCCESS;case m.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_FAILED:return r.LK_START_STREAM_PROCESS_START_FAILED;case m.CloudLark.StartStreamResponse.Response.START_STREAM_PROCESS_START_TIMEOUT:return r.LK_START_STREAM_PROCESS_START_TIMEOUT;case m.CloudLark.StartStreamResponse.Response.START_STREAM_NOT_STREAMING:return r.LK_START_STREAM_NOT_STREAMING;case m.CloudLark.StartStreamResponse.Response.START_STREAM_ENCODER_ERROR:return r.LK_START_STREAM_ENCODER_ERROR}}static getCloudlarkTaskEventMsg(n,a=""){const l=a||R.GetEventMessageByType(n);return n===r.LK_TASK_SUCCESS?l:"Code: "+n+". "+l+(". "+t.message.connectToAdmin)}static getCloudlarkStartStreamingEventMsg(n){const a=R.GetEventMessageByType(n);return n===r.LK_START_STREAM_SUCCESS?a:"Code: "+n+". "+t.message.startFailed+a+(". "+t.message.connectToAdmin)}}var Ge;(function(o){o[o.OPEN=0]="OPEN",o[o.CLOSE=1]="CLOSE",o[o.ERROR=2]="ERROR",o[o.CLIENT_MSG=3]="CLIENT_MSG"})(Ge||(Ge={}));const xn="websocket";class Rr extends g{get wsServer(){if(this.config.proxyBasePath)return`${window.location.protocol.indexOf("s")>-1?"wss://":"ws://"}${window.location.host}${this.config.proxyBasePath}/${xn}/${this.config.appServer}/${this.config.appPort}`;{const n=new URL(this.config.serverAddress);return`${n.protocol.indexOf("s")>-1?"wss://":"ws://"}${n.host}/${xn}/${this.config.appServer}/${this.config.appPort}`}}constructor(n,a){super(),this.connection=null,this.keepAliveTimeout=-1,this.timerWorker=null,u.info("初始化 WebSocketet"+JSON.stringify(n)),this.config=n,this.larksr=a,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)}connect(){return new Promise((n,a)=>{u.info("连接 websocket proxy 服务器",this.config),this.config.appServer||(u.warn("server uri error:",this.config.appServer),a("server uri error:"+this.config.appServer));const l=this.wsServer;this.connection=new WebSocket(l),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",this.onMessage),this.on(Ge.OPEN,()=>{this.larksr.$emit(r.LK_PROXY_SERVER_CONNECTED),n(this)},this),this.connection.addEventListener("error",f=>{u.info("connection error"),this.larksr.$emit(r.LK_PROXY_SERVER_ERROR),a("ws connect to "+l+" failed. code "+r.LK_PROXY_SERVER_ERROR),this.onWSError(f)}),this.connection.addEventListener("close",f=>{u.info("websocekt proxy connection close",f),this.larksr.$emit(r.LK_PROXY_SERVER_CLOSE),a("ws failed:"+f.code+". reason "+f.reason+". code "+r.LK_PROXY_SERVER_CLOSE),this.onWSClose(f)})})}close(){return new Promise((n,a)=>{if(this.connection){const l=this;this.connection.addEventListener("close",f=>{l.connection=null,u.info("CLOSE PROMISE 关闭 websocket 连接"),n()}),this.connection.addEventListener("error",f=>{a(f)}),u.warn("主动关闭 websocket 连接"),this.connection.close()}else u.warn("主动关闭连接,但是当前 websocket 连接为null"),n()})}isOpen(){return!!this.connection&&this.connection.readyState===1}sendMsg(n){this.sendBuffer(m.CloudLark.ToServerMessage.encode(n).finish())}sendBuffer(n){this.connection&&this.isOpen()&&this.connection.send(n)}sendKeepAlive(){this.connection&&this.isOpen()&&this.connection.send("1000")}startKeepAlive(){u.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout(()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()},1e4)}stopKeepAlive(){u.info("proxy stopKeepAlive"),this.keepAliveTimeout&&(window.clearTimeout(this.keepAliveTimeout),this.keepAliveTimeout=0)}onMessage(n){if(n.data)if(typeof n.data=="string")switch(n.data){case"200":u.info("===========websocket proxy on open 200"),this.onOpen();break;case"500":u.info("===========websocket proxy on close 500"),this.onWSError("appserver 连接出错");break;default:u.info("got known proxy message",n.data)}else try{const a=m.CloudLark.ToClientMessage.decode(new Uint8Array(n.data));this.$emit(Ge.CLIENT_MSG,a)}catch(a){u.warn("Protobuf MSG decode failed:"+JSON.stringify(a))}}onOpen(){u.info("websocket 代理服务器连接成功"),this.startKeepAlive(),this.$emit(Ge.OPEN)}onWSError(n){u.info("websocket proxy 连接错误:"+JSON.stringify(n)),this.stopKeepAlive(),this.$emit(Ge.ERROR)}onWSClose(n){u.info("websocket 连接关闭: "+JSON.stringify(n)),this.stopKeepAlive(),this.$emit(Ge.CLOSE)}$emit(n,a){this.emit(this.createEvent(n,a))}createEvent(n,a){return{type:n,target:this,data:a}}}var Vn,gt;(function(o){o[o.OPEN=0]="OPEN",o[o.CLOSE=1]="CLOSE",o[o.ERROR=2]="ERROR",o[o.CLIENT_MSG=3]="CLIENT_MSG"})(Vn||(Vn={})),function(o){o[o.READY=0]="READY",o[o.RECORDING=1]="RECORDING"}(gt||(gt={}));const Pt={sampleRate:16e3,sampleBits:16,bufferSize:4096};var Xt,Ze;(function(o){o[o.DATA=0]="DATA"})(Xt||(Xt={}));class Er extends g{get state(){return this._state}get voiceId(){return this._voiceId}updateVoiceId(){return++this._voiceId}constructor({bufferSize:n=Pt.bufferSize,sampleRate:a=Pt.sampleRate,sampleBits:l=Pt.sampleBits}=Pt){super(),this._state=gt.READY,this.ctx=new(window.AudioContext||window.webkitAudioContext),this.sampleRate=Pt.sampleRate,this.sampleBits=Pt.sampleBits,this.source=null,this.stream=null,this.buffer=[],this.bufferSize=0,this._voiceId=0;const{ctx:f}=this,S=f.createScriptProcessor||f.createJavaScriptNode;this.recorder=S.call(f,n,1,1),this.sampleRate=a,this.sampleBits=l}start(){return this.ctx.resume(),new Promise((n,a)=>{navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(l=>{const f=this.ctx.createMediaStreamSource(l);this.stream=l,this.source=f;let S=0;this.recorder.onaudioprocess=O=>{let E=O.inputBuffer.getChannelData(0);const C=this.ctx.sampleRate;let L=this.sampleRate<C;const w=L?this.sampleRate:C;L&&(E=this.compress(E,C,w));const V=this.encodeToPCM(E,this.sampleBits);this.emit({type:Xt.DATA,voiceId:this.voiceId,sliceId:S++,data:new Uint8Array(V)})},f.connect(this.recorder),this.recorder.connect(this.ctx.destination),this._state=gt.RECORDING,this._voiceId++,n(this._voiceId)}).catch(l=>{a(l)})})}pause(){var n,a;(n=this.stream)===null||n===void 0||n.getAudioTracks()[0].stop(),this.recorder.disconnect(),(a=this.source)===null||a===void 0||a.disconnect(),this.ctx.suspend(),this._state=gt.READY}clear(){this.buffer=[],this.bufferSize=0}getRecord(){let n=this.merge(this.buffer,this.bufferSize);const a=this.ctx.sampleRate;let l=this.sampleRate<a;const f=l?this.sampleRate:a;return l&&(n=this.compress(n,a,f)),this.encodeToPCM(n,this.sampleBits)}merge(n,a){const l=new Float32Array(a);for(let f=0,S=0;f<n.length;S+=n[f].length,f+=1)l.set(n[f],S);return l}compress(n,a,l){if(a<l)throw new Error('Invalid parameter: "inputSampleRate" must be greater than "outputSampleRate"');const f=n.length,S=(a+=0)/(l+=0),O=Math.ceil(f*l/a),E=new Float32Array(O);let C=0;for(let L=0;L<O;L+=1)E[L]=n[Math.floor(C)],C+=S;return E}encodeToPCM(n,a){if([8,16].indexOf(a)===-1)throw new Error('Invalid parameter: "sampleBits" must be 8 or 16');const l=n.length*(a/8),f=new ArrayBuffer(l),S=new DataView(f);for(let O=0,E=0;O<n.length;O+=1,E+=a/8){const C=Math.max(-1,Math.min(1,n[O])),L=C<0?32768*C:32767*C;a===8?S.setInt8(E,Math.trunc(255/(65535/(L+32768)))):S.setInt16(E,L,!0)}return S.buffer}}window!==void 0&&navigator!==void 0&&(navigator.mediaDevices===void 0&&(navigator.mediaDevices={}),navigator.mediaDevices.getUserMedia===void 0&&(navigator.mediaDevices.getUserMedia=o=>{const n=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;return n?new Promise((a,l)=>{n.call(navigator,o,a,l)}):Promise.reject(new Error("getUserMedia is not implemented in this environment"))})),function(o){o.RTC_SDP="rtc_sdp",o.RTC_ICECANDIDATE="rtc_icecandidate",o.ICE_STATE_CHANGE="rtc_state_change",o.ERROR="rtc_error",o.INFO="rtc_info"}(Ze||(Ze={}));const Cr=/(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 Lr extends g{get audioDeviceId(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.deviceId}get audioTrack(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.track}get videoDeviceId(){var n;return(n=this.audioBinding)===null||n===void 0?void 0:n.deviceId}get videoTrack(){var n;return(n=this.videoBinding)===null||n===void 0?void 0:n.track}get audioPaused(){return!this.audioBinding||this.audioBinding.paused}get videoPaused(){return!this.videoBinding||this.videoBinding.paused}set pcConfig(n){this._pcConfig=n}get pcConfig(){return this._pcConfig}get canvasRender(){return this._canvasRender}get aggregatedStats(){return this._aggregatedStats}set aggregatedStats(n){this._aggregatedStats=n}set preferVideoCode(n){this._preferDecoder=n}get preferVideoCode(){return this._preferDecoder}set codeRate(n){this._codeRate=n}get codeRate(){return this._codeRate}get id(){return this._id}set forceRenderToCanvas(n){this._forceRenderToCanvas=n}get forceRenderToCanvas(){return this._forceRenderToCanvas}constructor(n,a){super(),this._pcConfig=null,this.pc=null,this.audioBinding=null,this.videoBinding=null,this.sdpCreateSuccess=!1,this.sendStream=new MediaStream,this.netTestTimeout=null,this._aggregatedStats=null,this.lastThrowBadNetork=0,this.lastPacktetsLost=0,this.lastPacktetsReceived=0,this._preferDecoder="auto",this._codeRate={start:2e3,min:500,max:2e4},this._forceRenderToCanvas=!1,this.larksr=n,this._id=a,this.offerOptions={offerToReceiveAudio:!1,offerToReceiveVideo:!1,iceRestart:!0},this._canvasRender=new Mn(n.screenState),this.onIceCandidate=this.onIceCandidate.bind(this),this.onIceStateChange=this.onIceStateChange.bind(this),this.onCreateOfferSuccess=this.onCreateOfferSuccess.bind(this),this.createOffer=this.createOffer.bind(this),this.getStats=this.getStats.bind(this),this.getStateChrome=this.getStateChrome.bind(this)}async create(n=void 0){var a;let l;u.info("createPeerConnection config: ",this.pcConfig),this.pcConfig&&(l={iceServers:[]},(a=this.pcConfig.servers)===null||a===void 0||a.forEach(S=>{var O;(O=l==null?void 0:l.iceServers)===null||O===void 0||O.push({urls:S.uri?S.uri:"",username:S.username?S.username:"",credential:S.password?S.password:""})}),this.pcConfig.type===1?l.iceTransportPolicy="relay":l.iceTransportPolicy="all");const f=new RTCPeerConnection(l);f.addEventListener("icecandidate",this.onIceCandidate),f.addEventListener("iceconnectionstatechange",this.onIceStateChange),this.pc=f,u.info("Created loacl peer connection")}createOffer(){if(this.pc){u.info("createOffer start");const n=on.getParser(window.navigator.userAgent),a=n.getOSName(),l=parseFloat(n.getOSVersion());a=="iOS"&&l<15&&this.sdpCreateSuccess?u.err("iOS 15 以下系统不支持重新接收 SDP, 请尝试使用 closeMediaChannel 关闭再重新开启"):this.pc.createOffer(this.offerOptions).then(this.onCreateOfferSuccess).catch(f=>{u.warn("createOffer error:",f)})}}close(){var n;this.closeAudio(),this.closeVideo(),this.pc&&(u.info("关闭点对点连接"),this.iceStateChange(qe.DISCONNECT),this.pc.removeEventListener("icecandidate",this.onIceCandidate),this.pc.removeEventListener("iceconnectionstatechange",this.onIceStateChange),this.pc.removeEventListener("negotiationneeded",this.createOffer),(n=this.pc)===null||n===void 0||n.close(),this.pc=null),this.sdpCreateSuccess=!1}getStats(){return this.pc?j.getBrowserType()===j.Type.Chrome||j.getBrowserType()===j.Type.Safari||I.os==="iOS"?this.getStateChrome():new Promise((n,a)=>{var l;const f={timestamp:0,bytesSent:0,framesEncoded:0,packetsLost:0,bytesSentStart:0,framesEncodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesSent:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0},S=this;(l=this.pc)===null||l===void 0||l.getStats().then(O=>{O&&(O.forEach(E=>{if(E.id&&E.id.indexOf("RTCIceCandidatePair")>-1&&E.hasOwnProperty("totalRoundTripTime")&&E.hasOwnProperty("responsesReceived")&&E.responsesReceived!==0){const C=E.totalRoundTripTime/E.responsesReceived*1e3;f.currentRoundTripTime=C}E.id&&E.id.indexOf("RTCOutboundRTPVideoStream")>-1&&E.hasOwnProperty("packetsLost")&&(f.packetsLost=E.packetsLost)}),S.aggregatedStats=f,n(f))}).catch(O=>{u.warn("peerconnection getStats failed",O),a(O)})}):(u.warn("get stats without peerconnection"),new Promise((n,a)=>{a("get stats without peerconnection")}))}getStateChrome(){return new Promise((n,a)=>{if(!this.pc)return void a("get stats without peerconnection");const l=this;this.pc.getStats(null).then(f=>{const S={timestamp:0,bytesSent:0,framesEncoded:0,packetsLost:0,bytesSentStart:0,framesEncodedStart:0,timestampStart:0,bitrate:0,lowBitrate:0,highBitrate:0,avgBitrate:0,framerate:0,lowFramerate:0,highFramerate:0,avgframerate:0,framesSent:0,frameHeight:0,frameWidth:0,frameHeightStart:0,frameWidthStart:0,currentRoundTripTime:0,packetsLostPerc:0};f.forEach(O=>{if(O.type!="outbound-rtp"||O.isRemote||O.mediaType!="video"&&!O.id.toLowerCase().includes("video")||(S.timestamp=O.timestamp,S.bytesSent=O.bytesSent,S.framesEncoded=O.framesEncoded,S.packetsLost=O.packetsLost,S.bytesSentStart=l.aggregatedStats&&l.aggregatedStats.bytesSentStart?l.aggregatedStats.bytesSentStart:O.bytesSent,S.framesEncodedStart=l.aggregatedStats&&l.aggregatedStats.framesEncodedStart?l.aggregatedStats.framesEncodedStart:O.framesEncoded,S.timestampStart=l.aggregatedStats&&l.aggregatedStats.timestampStart?l.aggregatedStats.timestampStart:O.timestamp,l.aggregatedStats&&l.aggregatedStats.timestamp&&(l.aggregatedStats.bytesSent&&(S.bitrate=8*(S.bytesSent-l.aggregatedStats.bytesSent)/(S.timestamp-l.aggregatedStats.timestamp),S.bitrate=Math.round(S.bitrate),S.lowBitrate=l.aggregatedStats.lowBitrate&&l.aggregatedStats.lowBitrate<S.bitrate?l.aggregatedStats.lowBitrate:S.bitrate,S.highBitrate=l.aggregatedStats.highBitrate&&l.aggregatedStats.highBitrate>S.bitrate?l.aggregatedStats.highBitrate:S.bitrate),l.aggregatedStats.bytesSentStart&&(S.avgBitrate=8*(S.bytesSent-l.aggregatedStats.bytesSentStart)/(S.timestamp-l.aggregatedStats.timestampStart),S.avgBitrate=Math.round(S.avgBitrate)),l.aggregatedStats.framesEncoded&&(S.framerate=(S.framesEncoded-l.aggregatedStats.framesEncoded)/((S.timestamp-l.aggregatedStats.timestamp)/1e3),S.framerate=parseFloat(S.framerate.toFixed(2)),S.lowFramerate=l.aggregatedStats.lowFramerate&&l.aggregatedStats.lowFramerate<S.framerate?l.aggregatedStats.lowFramerate:S.framerate,S.highFramerate=l.aggregatedStats.highFramerate&&l.aggregatedStats.highFramerate>S.framerate?l.aggregatedStats.highFramerate:S.framerate),l.aggregatedStats.framesEncodedStart&&(S.avgframerate=(S.framesEncoded-l.aggregatedStats.framesEncodedStart)/((S.timestamp-l.aggregatedStats.timestampStart)/1e3),S.avgframerate=Math.round(S.avgframerate)))),O.hasOwnProperty("frameWidth")&&O.hasOwnProperty("frameHeight")&&(S.framesSent=O.framesSent,S.frameHeight=O.frameHeight,S.frameWidth=O.frameWidth,S.frameHeightStart=l.aggregatedStats&&l.aggregatedStats.frameHeightStart?l.aggregatedStats.frameHeightStart:O.frameHeight,S.frameWidthStart=l.aggregatedStats&&l.aggregatedStats.frameWidthStart?l.aggregatedStats.frameWidthStart:O.frameWidth),O.id&&O.id.indexOf("RTCOutboundRTPVideoStream")>-1&&O.hasOwnProperty("packetsLost")){let E=O.packetsReceived-this.lastPacktetsReceived,C=O.packetsLost-this.lastPacktetsLost,L=C/(C+E)*100;isNaN(L)||(S.packetsLostPerc=L),this.lastPacktetsLost=O.packetsLost,this.lastPacktetsReceived=O.packetsReceived}O.type=="candidate-pair"&&O.hasOwnProperty("currentRoundTripTime")&&(S.currentRoundTripTime=O.currentRoundTripTime)}),l.aggregatedStats=S,n(S)}).catch(f=>{u.warn("get states failed:"+f),a(f)})})}setAudioEnable(n){this.audioBinding&&(this.audioBinding.track.enabled=n)}setVideoEnable(n){this.videoBinding&&(this.videoBinding.track.enabled=n)}setShareEnable(n){this.videoBinding&&(this.videoBinding.track.enabled=n)}stopLocalAudio(){this.stopLocalTrackBing(this.audioBinding),this.createOffer()}stopLocalVideo(){this.stopLocalTrackBing(this.videoBinding),this.createOffer()}stopLocalShare(){this.stopLocalTrackBing(this.videoBinding),this.createOffer()}pauseAudioSending(){if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.audioBinding.transceiver.direction="inactive",this.audioBinding.paused=!0,this.createOffer()}resumeAudioSending(){if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.audioBinding.transceiver.direction="sendonly",this.audioBinding.paused=!1,this.createOffer()}pauseVideoSending(){if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.videoBinding.transceiver.direction="inactive",this.videoBinding.paused=!0,this.createOffer()}resumeVideoSending(){if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;this.videoBinding.transceiver.direction="sendonly",this.videoBinding.paused=!1,this.createOffer()}closeAudio(){var n,a,l;if(!this.audioBinding||!this.audioBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.audioBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.audioBinding.transceiver.sender),(a=this.audioBinding.transceiver)===null||a===void 0||a.stop(),(l=this.audioBinding.track)===null||l===void 0||l.stop(),this.audioBinding=null,this.createOffer()}closeVideo(){var n,a,l;if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.videoBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.videoBinding.transceiver.sender),(a=this.videoBinding.transceiver)===null||a===void 0||a.stop(),(l=this.videoBinding.track)===null||l===void 0||l.stop(),this.videoBinding=null,this.createOffer()}closeShare(){var n,a,l;if(!this.videoBinding||!this.videoBinding.transceiver)return u.warn("no local binding find. maybe already released"),!1;(n=this.videoBinding.transceiver)===null||n===void 0||n.sender.replaceTrack(null),this.removeMediaTrack(this.videoBinding.transceiver.sender),(a=this.videoBinding.transceiver)===null||a===void 0||a.stop(),(l=this.videoBinding.track)===null||l===void 0||l.stop(),this.videoBinding=null,this.createOffer()}stopLocalTrackBing(n){return n&&n.transceiver?(n==null||n.track.stop(),n.transceiver.sender&&n.transceiver.sender.replaceTrack(null),!0):(u.warn("no local binding find"),!1)}async openAudio(n=""){return n?await this.openAudioDevice(n):await this.openUserMeida({video:!1,audio:!0})}async openVideo(n=!1,a="",l=0,f=0,S){return await this.openCamera(a,l,f,n,S)}async openDefaultMedia(n=!0,a=!0){const l=await this.openUserMeida({video:n,audio:a});return u.info("openDefaultMedia ",l,this.videoBinding,this.audioBinding),l}async openShareMediaDevice(){if(!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");this.pc||this.create();const n=await navigator.mediaDevices.getDisplayMedia();if(n.getVideoTracks().length==0)throw new Error("打开屏幕分享失败");this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,n.getVideoTracks()[0]),this.createOffer()}async getConnectedAudioinputDevices(){const n=await this.getConnectedDevices("audioinput");return u.info("getConnectedAudioinputDevices",n),n}async getConnectedAudioOutputDevices(){return await this.getConnectedDevices("audiooutput")}async getConnectedVideoinputDevices(){return await this.getConnectedDevices("videoinput")}async getConnectedDevices(n){return(await navigator.mediaDevices.enumerateDevices()).filter(a=>a.kind===n)}async openAudioDevice(n,a="audioinput"){const l={audio:{deviceId:n,echoCancellation:!0,kind:a},video:!1};return await this.openUserMeida(l)}async openCamera(n,a=0,l=0,f=!0,S){let O={audio:!!f&&{echoCancellation:!0},video:{}};return n&&(O.video.deviceId=n),a&&a>0&&(O.video.width={ideal:a,min:a,max:a}),l&&l>0&&(O.video.height={ideal:l,min:l,max:l}),S!==void 0&&(O.video.facingMode=S?"user":{exact:"environment"}),S!==void 0||n||(O.video=!0),await this.openUserMeida(O)}async openUserMeida(n,a=!1){var l,f,S,O;if(n!=null&&n.video){if(!this.larksr.params.videoInput)throw new Error("请在后台应用管理中打开视频输入功能");if(this.larksr.serverFeatures&&!this.larksr.serverFeatures.vcam)throw u.err("服务端不支持摄像头输入功能, 请联系管理员"),new Error("服务端不支持摄像头输入功能, 请联系管理员")}else if(n!=null&&n.audio){if(!this.larksr.params.audioInput)throw new Error("请在后台应用管理中打开音频输入功能");if(this.larksr.serverFeatures&&!this.larksr.serverFeatures.audioInput)throw u.err("服务端不支持麦克风输入功能, 请联系管理员"),new Error("服务端不支持麦克风输入功能, 请联系管理员")}if(!this.larksr.isTaskOwner)throw new Error("互动模式观看者不支持上传音视频");u.info("openUserMeida constraints",n);const E=await navigator.mediaDevices.getUserMedia(n);n!=null&&n.video&&this.larksr.screenState.screenOrientation=="landscape"&&this.$emit(Ze.INFO,"请开启手机自动旋转以支持摄像头横屏"),this.pc?a&&(this.close(),this.create()):this.create();const C=E.getVideoTracks();if(C.length>0){if(I.isMobile||this.forceRenderToCanvas){this.canvasRender.clear();const V=(await this.canvasRender.init(E)).captureStream().getVideoTracks()[0];this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,V)}else this.videoBinding=this.resumeOrCreateBinding(this.videoBinding,C[0]);n&&n.video&&n.video.deviceId&&(this.videoBinding.deviceId=n.video.deviceId)}const L=E.getAudioTracks();L.length>0&&(this.audioBinding=this.resumeOrCreateBinding(this.audioBinding,L[0]),n&&n.audio&&n.audio.deviceId&&(this.audioBinding.deviceId=n.audio.deviceId));const w=[];return this.videoBinding&&w.push({deviceId:this.videoBinding.deviceId,sender:(l=this.videoBinding.transceiver)===null||l===void 0?void 0:l.sender,track:this.videoBinding.track}),this.audioBinding&&w.push({deviceId:this.audioBinding.deviceId,sender:(f=this.audioBinding.transceiver)===null||f===void 0?void 0:f.sender,track:this.audioBinding.track}),this.createOffer(),u.info("openUserMeida iceConnectionState ",(S=this.pc)===null||S===void 0?void 0:S.iceConnectionState),u.info("openUserMeida signalingState ",(O=this.pc)===null||O===void 0?void 0:O.signalingState),{streams:E,rtcRtpSenders:w}}resumeOrCreateBinding(n,a){var l,f;return n?(n.paused&&(n.paused=!1,n.transceiver&&(n.transceiver.direction="sendonly")),(l=n.transceiver)===null||l===void 0||l.sender.replaceTrack(a)):n={deviceId:"",transceiver:(f=this.pc)===null||f===void 0?void 0:f.addTransceiver(a,{direction:"sendonly",streams:[this.sendStream]}),track:a,paused:!1,peerid:this.id},n}addMediaTrack(n,...a){return!!this.pc&&(this.pc.addTrack(n,...a),!0)}removeMediaTrack(n){return!!this.pc&&(this.pc.removeTrack(n),!0)}requestUserMediaPermission(n){return new Promise((a,l)=>{navigator.mediaDevices.getUserMedia(n).then(f=>{f.getTracks().forEach(S=>{S.stop(),S.enabled=!1}),a(f)}).catch(l)})}onRemoteDescription(n){var a,l,f,S;if(n&&this.pc){if(u.info(`Answer from remote \r
|
|
44
|
-
`,n.sdp),u.info("onRemoteDescription iceConnectionState ",(a=this.pc)===null||a===void 0?void 0:a.iceConnectionState),u.info("onRemoteDescription signalingState ",(l=this.pc)===null||l===void 0?void 0:l.signalingState),((f=this.pc)===null||f===void 0?void 0:f.signalingState)==="stable")return void u.err("signalingState stable. no local offer found.",(S=this.pc)===null||S===void 0?void 0:S.signalingState);const O=new RTCSessionDescription(n);this.pc.setRemoteDescription(O).then(E=>{u.info("onRemoteDescription success",E)}).catch(E=>{var C,L;u.err("onRemoteDescription error",E),((C=this.pc)===null||C===void 0?void 0:C.signalingState)!=="have-local-offer"&&((L=this.pc)===null||L===void 0?void 0:L.signalingState)!=="have-remote-offer"?u.err("onRemoteDescription signalingState error",E):this.$emit(Ze.ERROR,"set remote des error:"+JSON.stringify(E))})}}onReceiveCandidate(n){if(this.pc===null)return;u.info("onReceiveCandidate"+JSON.stringify(n));const a=this.larksr.params.appServer,l=this.larksr.params.preferPubOutIp;if(n.candidate&&n.candidate.indexOf("relay")!==-1&&u.info("on turn candateInit.candidate ",n),n.candidate&&n.candidate.indexOf("relay")==-1&&n.candidate.indexOf("srflx")==-1){if(l!==""){u.info("手动替换 ICE Candidate 地址为公共地址",a,n.candidate);const S=Cr,O=k.deepCopy(n),E=n.candidate;O.candidate=E.replace(S,C=>l),this.addIceCandidate(new RTCIceCandidate(O)),u.info("replace server ip finished::",n.candidate)}const f=new In(n);if(a!==""&&a!=f.ip&&(f.ip=a,u.info("Add New ice candidate with render server ip",a,f.candidate)),this.addIceCandidate(f.genNewIceCandidate()),this.larksr.config.publicPortMapping&&this.larksr.config.publicPortMapping[a+":"+f.port]){const S=this.larksr.config.publicPortMapping[a+":"+f.port].split(":");S.length>1?(f.ip=S[0],f.port=S[1],this.addIceCandidate(f.genNewIceCandidate()),u.info("Add Publich ice candidate with render server ip",f.candidate)):u.warn("setup port mapping formate error",this.larksr.config.publicPortMapping[a+":"+f.port])}}this.addIceCandidate(new RTCIceCandidate(n))}addIceCandidate(n){this.pc!==null&&this.pc.addIceCandidate(n).then(()=>{u.info("addIceCandidate OK")}).catch(a=>{u.err("addIceCandidate error:"+JSON.stringify(a))})}onCreateOfferSuccess(n){const a=n;u.info(`创建 Off 成功
|
|
45
|
-
`+a.sdp);let l=a.sdp;if(this.pc===null||l==null)return;l=l.replace(/a=extmap-allow-mixed.*[.\n\r]*/g,S=>(u.info("remove a=extmap-allow-mixed",S),"")),this.preferVideoCode!=="auto"&&j.checkSupport()!==-2&&(this.preferVideoCode==="vp8"?W.hasVp8(l)?(l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1X(l)):u.err("要求使用VP8解码器但该浏览器未发现"):this.preferVideoCode==="vp9"?W.hasVp9(l)?(l=W.removeVp8(l),l=W.removeH264(l),l=W.removeAV1X(l)):u.err("要求使用VP9解码器但该浏览器未发现"):this.preferVideoCode==="h264"?W.hasH264(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeAV1X(l)):u.err("要求使用H264解码器但该浏览器未发现"):this.preferVideoCode==="av1x"?W.hasAV1X(l)&&(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l)):this.preferVideoCode==="hevc"?W.hasHEVC(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1X(l),l=W.removeH265(l),l=W.removeSVAC(l)):u.err("要求使用hevc解码器但该浏览器未发现"):this.preferVideoCode==="h265"?W.hasH265(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1X(l),l=W.removeHEVC(l),l=W.removeSVAC(l)):u.err("要求使用h265解码器但该浏览器未发现"):this.preferVideoCode==="svac"&&(W.hasSVAC(l)?(l=W.removeVp8(l),l=W.removeVp9(l),l=W.removeH264(l),l=W.removeAV1X(l),l=W.removeH265(l),l=W.removeHEVC(l)):u.err("要求使用svac解码器但该浏览器未发现"))),this.codeRate&&(l=W.setBitRate(l,this.codeRate.start,this.codeRate.max,this.codeRate.min));const f={type:a.type,sdp:l};u.info(`发送 offer sdp
|
|
46
|
-
`+f.sdp),this.pc.setLocalDescription(f).then(()=>{u.info("设置本地 SDP 成功"),this.$emit(Ze.RTC_SDP,f),this.sdpCreateSuccess=!0}).catch(S=>{u.err("设置本地SDP失败: "+S.toString()),this.$emit(Ze.ERROR,"Failed to set session description: "+S.toString()),this.sdpCreateSuccess=!1})}onIceCandidate(n){u.info("share media Local onIceCandidate",n),this.$emit(Ze.RTC_ICECANDIDATE,n.candidate)}onIceStateChange(n){var a;if(this.pc!==null)switch(u.info("ICE iceConnectionState: "+this.id+" "+this.pc.iceConnectionState),u.info("onIceStateChange signalingState "+this.id,(a=this.pc)===null||a===void 0?void 0:a.signalingState,this.pc.iceConnectionState),this.pc.iceConnectionState){case"disconnected":u.warn("MEDIA SHARE ICE 断开连接"),this.close(),this.iceStateChange(qe.DISCONNECT);break;case"closed":u.warn("MEDIA SHARE ICE 关闭"),this.close(),this.iceStateChange(qe.DISCONNECT);break;case"failed":u.warn("MEDIA SHARE ICE 连接失败"),this.close(),this.iceStateChange(qe.BAD);break;case"checking":this.iceStateChange(qe.CONNECT),u.info("MEDIA SHARE ICE 连接中");break;case"connected":case"completed":this.iceStateChange(qe.GOOD),u.info("ICE 连接成功")}}iceStateChange(n){this.$emit(Ze.ICE_STATE_CHANGE,n)}$emit(n,a){this.emit(this.createEvent(n,a))}createEvent(n,a){return{type:n,target:this,data:a,id:this._id}}}var ot,an,Y,H;(function(o){o.WebCodecTypeH264="h264",o.WebCodecTypeH265="h265",o.WebCodecTypeNone="none"})(ot||(ot={})),function(o){o[o.PLAYED=0]="PLAYED"}(an||(an={}));class et extends g{static async checkSupport(n,a=1920,l=1080){if(!window.VideoDecoder)throw new Error("WebCodec not support on this browser");const f={codec:et.getProfileName(n),codedWidth:a,codedHeight:l};u.info("checkSupport ",f);const{supported:S}=await VideoDecoder.isConfigSupported(f);return S===void 0||S}static toWebCodecType(n){switch(n){case m.CloudLark.StreamVideoFrame.Codec.H264:return ot.WebCodecTypeH264;case m.CloudLark.StreamVideoFrame.Codec.HEVC:return ot.WebCodecTypeH265}return ot.WebCodecTypeNone}static getProfileName(n){switch(n){case ot.WebCodecTypeH264:return et.AVC_High_PROFILE;case ot.WebCodecTypeH265:return et.HEVC_MAIN_PROFILE}return""}get width(){return this._width}get height(){return this._height}get inited(){return this._inited}constructor(n){super(),this.decoder=null,this.codec=ot.WebCodecTypeH265,this._width=1920,this._height=1080,this.canvas=null,this.context=null,this.frameData=new Uint8Array(0),this.dataOffset=0,this.firstFrame=!1,this._inited=!1,this.decodeCost=0,this.decodeCosts=[],this.renderCost=0,this.renderCosts=[],this.firstPackage=0,this.packageCost=0,this.packageCosts=[],this.frameCount=0,this.dataCount=0,this.lastState=0,this.larksr=n,this.onFrameDecode=this.onFrameDecode.bind(this),this.onFrameError=this.onFrameError.bind(this)}setCanvas(n,a){this.canvas=n,this.context=a,u.info("setCanvas",n,this.canvas,this.context)}async init(n){if(n.codec===null&&n.codec===void 0||!n.width||!n.height)return u.err("init webcodec frame failed. param empty",n),!1;this.codec=et.toWebCodecType(n.codec),this._width=n.width,this._height=n.height,this.canvas&&(this.canvas.width=n.width,this.canvas.height=n.height),this.frameData=new Uint8Array(0),this.dataOffset=0;const a={codec:et.getProfileName(this.codec),codedWidth:this.width,codedHeight:this.height};u.info("config",a);const{supported:l}=await VideoDecoder.isConfigSupported(a);return l?(this.decoder=new VideoDecoder({output:this.onFrameDecode,error:this.onFrameError}),this.decoder.configure(a),u.info("webcodec decoder support ",l,this.decoder)):u.err("decoder not support"),this._inited=!0,l}async onStreamVideoFrame(n){var a;if((this.decoder===null||!this.checkConfig(n))&&!await this.init(n))return void u.err("init webcodec failed.");if(n.packetIndex==0&&(this.frameData=new Uint8Array(n.packetTotalSize),this.dataOffset=0),this.frameData.set(n.data,this.dataOffset),this.dataOffset+=n.packetSize,this.dataCount+=n.packetSize,n.packetIndex==0&&(this.firstPackage=Date.now()),n.packetIndex==n.packetCounter-1){const l=new EncodedVideoChunk({timestamp:Date.now(),type:n.isKeyFrame?"key":"delta",data:this.frameData});(a=this.decoder)===null||a===void 0||a.decode(l),this.frameData=new Uint8Array(0),this.dataOffset=0,this.frameCount++,this.packageCost=Date.now()-this.firstPackage,this.packageCosts.push(this.packageCost),this.firstPackage=0}}stats(){const n=Date.now()-this.lastState,a=Math.round(this.frameCount/n*1e3),l=Math.round(this.dataCount/n*8);let f=0;for(const w of this.packageCosts)f+=w;const S=f/this.packageCosts.length;let O=0;for(const w of this.decodeCosts)O+=w;const E=O/this.decodeCosts.length;let C=0;for(const w of this.renderCosts)C+=w;let L={fps:a,bitrateKbps:l,package:S,decode:E,render:C/this.renderCosts.length};return this.frameCount=0,this.dataCount=0,this.packageCosts=[],this.decodeCosts=[],this.renderCosts=[],this.lastState=Date.now(),L}checkConfig(n){return et.toWebCodecType(n.codec)===this.codec&&n.width==this.width&&n.height==this.height}onFrameDecode(n){if(!this.context)return u.warn("webcodec render context empey"),void n.close();let a=Date.now();this.decodeCost=a-n.timestamp,this.decodeCosts.push(this.decodeCost),this.firstFrame||(this.$emit(an.PLAYED),this.firstFrame=!0),this.context.clearRect(0,0,this.width,this.height),this.context.drawImage(n,0,0,this.width,this.height),n.close(),this.renderCost=Date.now()-a,this.renderCosts.push(this.renderCost)}onFrameError(n){u.err("webcodec decode error ",n)}$emit(n,a){this.emit(this.createAppEvent(n,a))}createAppEvent(n,a){return{type:n,target:this,data:a}}}et.AVC_High_PROFILE="avc1.640028",et.HEVC_MAIN_PROFILE="hev1.1.6.L123.B0",function(o){o[o.BEFORE_CREATE=0]="BEFORE_CREATE",o[o.INITED=1]="INITED",o[o.WEBSOCKET_CHANNEL_OPEN=2]="WEBSOCKET_CHANNEL_OPEN",o[o.LOGIN_SUCCESS=3]="LOGIN_SUCCESS",o[o.RTC_CONNECTED=4]="RTC_CONNECTED",o[o.MEDIA_LOADED=5]="MEDIA_LOADED",o[o.MEDIA_PLAYED=6]="MEDIA_PLAYED",o[o.RTC_RETRY=7]="RTC_RETRY",o[o.APP_RETRY=8]="APP_RETRY",o[o.BEFORE_DESTORY=9]="BEFORE_DESTORY",o[o.WEBSOCKET_CLOSED=10]="WEBSOCKET_CLOSED",o[o.RTC_CLOSED=11]="RTC_CLOSED",o[o.DESTROYED=12]="DESTROYED"}(Y||(Y={})),function(o){o[o.CONNECT=0]="CONNECT",o[o.LOGIN=1]="LOGIN",o[o.ERROR=2]="ERROR",o[o.INFO=3]="INFO",o[o.APP_CLOSE=4]="APP_CLOSE",o[o.REMOTE_STREAM=5]="REMOTE_STREAM",o[o.REMOTE_AUDIO_STREAM=6]="REMOTE_AUDIO_STREAM",o[o.SYNC_CURSORSTYLE=7]="SYNC_CURSORSTYLE",o[o.APP_STATE_CHANGE=8]="APP_STATE_CHANGE",o[o.NET_STATE=9]="NET_STATE",o[o.LK_APP_RESIZE=10]="LK_APP_RESIZE",o[o.LK_APP_MOUSE_MODE=11]="LK_APP_MOUSE_MODE",o[o.LK_APP_PLAER_LIST=12]="LK_APP_PLAER_LIST",o[o.LK_APP_REQUEST_TEXT=13]="LK_APP_REQUEST_TEXT",o[o.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE=14]="LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE=15]="LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE",o[o.LK_DATA_CHANNEL_RENDERSERVER_OPEN=16]="LK_DATA_CHANNEL_RENDERSERVER_OPEN",o[o.LK_DATA_CHANNEL_RENDERSERVER_CLOSE=17]="LK_DATA_CHANNEL_RENDERSERVER_CLOSE",o[o.AI_VOICE_STATUS=18]="AI_VOICE_STATUS",o[o.AI_VOICE_ASR_RESULT=19]="AI_VOICE_ASR_RESULT",o[o.AI_VOICE_DM_RESULT=20]="AI_VOICE_DM_RESULT",o[o.AI_VOICE_ERROR=21]="AI_VOICE_ERROR",o[o.RTMP_STREAM_STATE=22]="RTMP_STREAM_STATE",o[o.RTMP_STREAM_ERROR=23]="RTMP_STREAM_ERROR",o[o.RTC_RETRY_SUCCESS=24]="RTC_RETRY_SUCCESS",o[o.AerialViewStatus=25]="AerialViewStatus",o[o.AerialViewScreen=26]="AerialViewScreen",o[o.START_XR_STREAM_RESPONSE=27]="START_XR_STREAM_RESPONSE",o[o.TooltipInfo=28]="TooltipInfo",o[o.OPEN_URL=29]="OPEN_URL"}(H||(H={}));class Tr extends g{getMediaSharePeerConnection(n){return this.mediaSharePeerConnectionImp[n]}get peerConnectionCreated(){return this.peerConnection!=null}get state(){return this._state}set state(n){this.appStateChange(n)}get audioDeviceId(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.audioDeviceId}get audioTrack(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.audioTrack}get videoDeviceId(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.videoDeviceId}get videoTrack(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.videoTrack}get audioPaused(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.audioPaused}get videoPaused(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.videoPaused}get serverFeatures(){var n;return(n=this.peerConnection)===null||n===void 0?void 0:n.serverFeatures}get serverStatics(){var n;return(n=this.peerConnection)===null||n===void 0?void 0:n.serverStatics}get sharePeerConnection(){return this.larksr.params.useSeparateMediaSharePeer?this.getMediaSharePeerConnection(0):this.peerConnection}get voiceId(){return this.recoder.voiceId}get recodeState(){return this.recoder.state}get currentAppSize(){var n;return(n=this.peerConnection)===null||n===void 0?void 0:n.currentAppSize}get webcodecDecoder(){return this._webcodecDecoder}constructor(n){super(),this.MAX_MEDIA_SHARE_PEERCONNECTION=6,this.websocketChannel=null,this.websocketProxy=null,this.testPixelStreaming=null,this.peerConnection=null,this.mediaSharePeerConnectionImp=[],this._state=Y.BEFORE_CREATE,this.retryTime=0,this.rtcConfig=null,this.larksr=n,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.onShareMediaError=this.onShareMediaError.bind(this),this.onShareMediaInfo=this.onShareMediaInfo.bind(this),this.onShareMediaOffer=this.onShareMediaOffer.bind(this),this.onShareMediaIce=this.onShareMediaIce.bind(this),this.onAerialViewStatus=this.onAerialViewStatus.bind(this),this.onAerialViewScreen=this.onAerialViewScreen.bind(this),this.onVideoFrame=this.onVideoFrame.bind(this),this.onToolTipinfo=this.onToolTipinfo.bind(this),this.recoder=new Er,this.onRecoderData=this.onRecoderData.bind(this),this._webcodecDecoder=new et(this.larksr)}init(){this.larksr.params.wsProxy?(this.websocketProxy=new Rr({serverAddress:this.larksr.serverAddress,proxyBasePath:this.larksr.config.proxyWsBasePath,appServer:this.larksr.params.appServer,appPort:this.larksr.params.appPort},this.larksr),this.websocketProxy.on(Ge.OPEN,this.onChannelOpen,this),this.websocketProxy.on(Ge.CLOSE,this.onClose,this),this.websocketProxy.on(Ge.ERROR,this.onClose,this),this.websocketProxy.on(Ge.CLIENT_MSG,this.onChannelMsg,this)):(this.websocketChannel=new x({serverAddress:this.larksr.serverAddress,proxyBasePath:this.larksr.config.proxyWsBasePath,ip:this.larksr.params.appServer,port:this.larksr.params.appPort,path:"",renderSSLServerPort:this.larksr.params.renderSSLServerPort},this.larksr),this.websocketChannel.on(d.OPEN,this.onChannelOpen,this),this.websocketChannel.on(d.CLOSE,this.onClose,this),this.websocketChannel.on(d.ERROR,this.onClose,this),this.websocketChannel.on(d.CLIENT_MSG,this.onChannelMsg,this)),this.initPc(),this.initSharePc(),this.recoder.on(Xt.DATA,this.onRecoderData,this),this.appStateChange(Y.INITED)}initSharePc(){for(let n=0;n<this.MAX_MEDIA_SHARE_PEERCONNECTION;n++){let a=new Lr(this.larksr,n);a.on(Ze.ERROR,this.onShareMediaError),a.on(Ze.INFO,this.onShareMediaInfo,this),a.on(Ze.RTC_SDP,this.onShareMediaOffer,this),a.on(Ze.RTC_ICECANDIDATE,this.onShareMediaIce,this),a.pcConfig=this.rtcConfig,this.mediaSharePeerConnectionImp.push(a)}}initPc(){this.peerConnection=new Or(this.larksr,{serverIP:this.larksr.params.appServer,preferPubOutIp:this.larksr.params.preferPubOutIp,codeRate:this.larksr.params.codeRate,network:this.larksr.params.network},this.webcodecDecoder),this.peerConnection.on(X.RTC_SDP,this.onLocalSdp,this),this.peerConnection.on(X.RTC_ICECANDIDATE,this.onLoacalIce,this),this.peerConnection.on(X.GOT_REMOTE_STREAM,this.onRemoteStream,this),this.peerConnection.on(X.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),this.peerConnection.on(X.ERROR,this.onRtcError,this),this.peerConnection.on(X.ICE_STATE_CHANGE,this.onIceStateChange,this),this.peerConnection.on(X.BAD_NETWORK,this.onBadNetwork,this),this.peerConnection.on(X.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.peerConnection.on(X.NET_STATE,this.onPeerConnectionState,this),this.peerConnection.on(X.LK_APP_RESIZE,this.onAppResize,this),this.peerConnection.on(X.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.peerConnection.on(X.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.peerConnection.on(X.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.peerConnection.on(X.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.peerConnection.on(X.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.peerConnection.on(X.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.peerConnection.on(X.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.peerConnection.on(X.AI_VOICE_STATUS,this.onAiVoiceStatus,this),this.peerConnection.on(X.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),this.peerConnection.on(X.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),this.peerConnection.on(X.AI_VOICE_ERROR,this.onAiVoiceError,this),this.peerConnection.on(X.INFO,this.onRtcInfo,this),this.peerConnection.on(X.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),this.peerConnection.on(X.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this),this.peerConnection.on(X.AerialViewStatus,this.onAerialViewStatus,this),this.peerConnection.on(X.AerialViewScreen,this.onAerialViewScreen,this),this.peerConnection.on(X.VideoFrame,this.onVideoFrame,this),this.peerConnection.on(X.TooltipInfo,this.onToolTipinfo,this),this.peerConnection.on(X.OPEN_URL,this.onOpenUrl,this)}releasePc(){var n,a,l,f,S,O,E,C,L,w,V,_,z,B,J,te,$,ke,ve,Le,Fe,Xe,Ue,ue,D,Ae,Me,We,ee;(n=this.peerConnection)===null||n===void 0||n.off(X.RTC_SDP,this.onLocalSdp,this),(a=this.peerConnection)===null||a===void 0||a.off(X.RTC_ICECANDIDATE,this.onLoacalIce,this),(l=this.peerConnection)===null||l===void 0||l.off(X.GOT_REMOTE_STREAM,this.onRemoteStream,this),(f=this.peerConnection)===null||f===void 0||f.off(X.GOT_REMOTE_AUDIO_STREAM,this.onAudioRemoteStream,this),(S=this.peerConnection)===null||S===void 0||S.off(X.ERROR,this.onRtcError,this),(O=this.peerConnection)===null||O===void 0||O.off(X.ICE_STATE_CHANGE,this.onIceStateChange,this),(E=this.peerConnection)===null||E===void 0||E.off(X.BAD_NETWORK,this.onBadNetwork,this),(C=this.peerConnection)===null||C===void 0||C.off(X.SYNC_CURSORSTYLE,this.onCursorStyle,this),(L=this.peerConnection)===null||L===void 0||L.off(X.NET_STATE,this.onPeerConnectionState,this),(w=this.peerConnection)===null||w===void 0||w.off(X.LK_APP_RESIZE,this.onAppResize,this),(V=this.peerConnection)===null||V===void 0||V.off(X.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),(_=this.peerConnection)===null||_===void 0||_.off(X.LK_APP_PLAER_LIST,this.onAppPlayerList,this),(z=this.peerConnection)===null||z===void 0||z.off(X.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),(B=this.peerConnection)===null||B===void 0||B.off(X.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),(J=this.peerConnection)===null||J===void 0||J.off(X.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),(te=this.peerConnection)===null||te===void 0||te.off(X.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),($=this.peerConnection)===null||$===void 0||$.off(X.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),(ke=this.peerConnection)===null||ke===void 0||ke.off(X.AI_VOICE_STATUS,this.onAiVoiceStatus,this),(ve=this.peerConnection)===null||ve===void 0||ve.off(X.AI_VOICE_ASR_RESULT,this.onAiVoiceAsrResult,this),(Le=this.peerConnection)===null||Le===void 0||Le.off(X.AI_VOICE_DM_RESULT,this.onAiVoiceDMResult,this),(Fe=this.peerConnection)===null||Fe===void 0||Fe.off(X.AI_VOICE_ERROR,this.onAiVoiceError,this),(Xe=this.peerConnection)===null||Xe===void 0||Xe.off(X.INFO,this.onRtcInfo,this),(Ue=this.peerConnection)===null||Ue===void 0||Ue.off(X.RTMP_STREAM_STATE,this.onRtmpStreamingState,this),(ue=this.peerConnection)===null||ue===void 0||ue.off(X.RTMP_STREAM_ERROR,this.onRtmpStreamingError,this),(D=this.peerConnection)===null||D===void 0||D.off(X.AerialViewStatus,this.onAerialViewStatus,this),(Ae=this.peerConnection)===null||Ae===void 0||Ae.off(X.AerialViewScreen,this.onAerialViewScreen,this),(Me=this.peerConnection)===null||Me===void 0||Me.off(X.VideoFrame,this.onVideoFrame,this),(We=this.peerConnection)===null||We===void 0||We.off(X.TooltipInfo,this.onToolTipinfo,this),(ee=this.peerConnection)===null||ee===void 0||ee.off(X.OPEN_URL,this.onOpenUrl,this),this.peerConnection=null}releaseSharePc(){for(const n of this.mediaSharePeerConnectionImp)n==null||n.off(Ze.ERROR,this.onShareMediaError),n==null||n.off(Ze.INFO,this.onShareMediaInfo,this),n==null||n.off(Ze.RTC_SDP,this.onShareMediaOffer,this),n==null||n.off(Ze.RTC_ICECANDIDATE,this.onShareMediaIce,this);this.mediaSharePeerConnectionImp=[]}closeSharePc(){this.getMediaSharePeerConnection(0).close()}clear(){var n,a,l,f,S,O,E,C;this.larksr.params.wsProxy?((n=this.websocketProxy)===null||n===void 0||n.off(Ge.OPEN,this.onChannelOpen,this),(a=this.websocketProxy)===null||a===void 0||a.off(Ge.CLOSE,this.onClose,this),(l=this.websocketProxy)===null||l===void 0||l.off(Ge.ERROR,this.onClose,this),(f=this.websocketProxy)===null||f===void 0||f.off(Ge.CLIENT_MSG,this.onChannelMsg,this),this.websocketProxy=null):((S=this.websocketChannel)===null||S===void 0||S.off(d.OPEN,this.onChannelOpen,this),(O=this.websocketChannel)===null||O===void 0||O.off(d.CLOSE,this.onClose,this),(E=this.websocketChannel)===null||E===void 0||E.off(d.ERROR,this.onClose,this),(C=this.websocketChannel)===null||C===void 0||C.off(d.CLIENT_MSG,this.onChannelMsg,this),this.websocketChannel=null),this.recoder.off(Xt.DATA,this.onRecoderData,this),this.releasePc(),this.releaseSharePc(),this.larksr.remoteScreenReady=!1}closeDataChannel(){var n;(n=this.peerConnection)===null||n===void 0||n.closeDataChannel()}changeOperater(n){var a;if(this.larksr.isPixelStreaming){u.info("change operate when pixel streaming",n);let l=Pe.emptyMsg(!0);l.dispatchController={id:n},this.sendToWebsocektChannelBuffer(m.CloudLark.ToServerMessage.encode(l).finish())}else(a=this.peerConnection)===null||a===void 0||a.changeOperater(n)}inputText(n){var a;(a=this.peerConnection)===null||a===void 0||a.inputText(n)}sendTextToDataChannel(n){var a;if(this.larksr.isPixelStreaming){const l=new TextEncoder().encode(n);let f=Pe.emptyMsg(!0);f.datachannelData={type:m.CloudLark.LarkXRChannelMessage.Type.STRING,data:l},u.info("sendToAppTextMsg",n,l),this.sendToWebsocektChannelBuffer(m.CloudLark.ToServerMessage.encode(f).finish())}else(a=this.peerConnection)===null||a===void 0||a.sendToAppTextMsg(n)}sendBinaryToDataChannel(n){var a;if(this.larksr.isPixelStreaming){let l=Pe.emptyMsg(!0);l.datachannelData={type:m.CloudLark.LarkXRChannelMessage.Type.BIN,data:n},this.sendToWebsocektChannelBuffer(m.CloudLark.ToServerMessage.encode(l).finish())}else(a=this.peerConnection)===null||a===void 0||a.sendToAppBinaryMsg(n)}sendReStartApplication(){u.info("sendReStartApplication"),this.sendInput(m.CloudLark.ClientInput.create({appControl:{restart:!0}}),!0)}sendApplicationSize(n,a){u.info("sendApplicationSize",n,a),this.sendInput(m.CloudLark.ClientInput.create({appControl:{resize:{width:n,height:a}}}),!0)}startAerialview(n,a=100,l,f){this.sendInput(m.CloudLark.ClientInput.create({appControl:{aerialview:{open:!0,interval:a,thumbnailWidth:l,thumbnailHeight:f,viewbox:{minx:n.x,miny:n.y,maxx:n.x+n.width,maxy:n.y+n.height}}}}),!0)}updateAerialview(n){this.sendInput(m.CloudLark.ClientInput.create({appControl:{aerialviewBox:{minx:n.x,miny:n.y,maxx:n.x+n.width,maxy:n.y+n.height}}}),!0)}stopAerialview(){this.sendInput(m.CloudLark.ClientInput.create({appControl:{aerialview:{open:!1,interval:33,thumbnailWidth:1280,thumbnailHeight:720,viewbox:{minx:0,miny:0,maxx:100,maxy:100}}}}),!0)}sendShowDebugLayout(n){u.info("sendShowDebugLayout",n),this.sendInput(m.CloudLark.ClientInput.create({showDebuglayout:{open:n}}))}sendVideoBitrateKbps(n){u.info("sendVideoBitrateKbps",n),this.sendInput(m.CloudLark.ClientInput.create({videoConfigure:{bitrate:n}}))}sendVideoFps(n){u.info("sendVideoFps",n),this.sendInput(m.CloudLark.ClientInput.create({videoConfigure:{fps:n}}))}aiDmTextInput(n){let a=this.recoder.updateVoiceId();return this.sendInput(m.CloudLark.ClientInput.create({aiVoiceText:{text:n,voiceId:a}})),u.info("aiDmTextInput",n,a),a}async startAiDmVoiceInput(){this.recoder.state==gt.RECORDING&&(this.recoder.pause(),this.sendInput(m.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})));const n=await this.recoder.start();return this.sendInput(m.CloudLark.ClientInput.create({aiVoicestreamStart:{voiceId:n}})),n}stopAiDmVoiceInput(){return this.recoder.state!=gt.RECORDING?(u.warn("stop recode called but not recoding state"),this.recoder.voiceId):(this.recoder.pause(),this.sendInput(m.CloudLark.ClientInput.create({aiVoicestreamStop:{voiceId:this.recoder.voiceId}})),this.recoder.voiceId)}onRecoderData(n){u.info("onRecoderData",n),this.sendInput(m.CloudLark.ClientInput.create({aiVoicestreamSlice:{voiceId:n.voiceId,sliceId:n.sliceId,audio:n.data}}))}async start(){try{await this.connect()}catch(n){u.err(n),this.errorMsg(JSON.stringify(n)+". "+t.message.connectToAdmin)}}connect(){var n,a;return u.info("app connnect",this.larksr.params,this.websocketProxy,this.websocketChannel),this.larksr.params.wsProxy?(n=this.websocketProxy)===null||n===void 0?void 0:n.connect():(a=this.websocketChannel)===null||a===void 0?void 0:a.connect()}sendKeepAlive(){var n,a;return this.larksr.params.wsProxy?(n=this.websocketProxy)===null||n===void 0?void 0:n.sendKeepAlive():(a=this.websocketChannel)===null||a===void 0?void 0:a.sendKeepAlive()}disConnect(){var n,a,l;this.larksr.appState!==Y.DESTROYED&&(this.appStateChange(Y.BEFORE_DESTORY),(n=this.websocketProxy)===null||n===void 0||n.close(),(a=this.websocketChannel)===null||a===void 0||a.close(),(l=this.peerConnection)===null||l===void 0||l.close(),this.clear(),this.appStateChange(Y.DESTROYED))}closeRtc(){var n;u.info("close webrtc"),(n=this.peerConnection)===null||n===void 0||n.close()}versionCheck(){u.info("send version check"),this.sendToWebsocektChannelMsg(Pe.versionCheckRequest(this.larksr.isPixelStreaming))}task(){u.info("send task requset"),this.sendToWebsocektChannelMsg(Pe.taskRequest(this.larksr.params.taskid,this.larksr.isInteractiveMode,this.larksr.isObMode,this.larksr.params.nickname,this.larksr.isPixelStreaming))}async startSteam(){u.info("start steam request");let n=!1;if(this.larksr.config.enableWebXR)this.sendToWebsocektChannelMsg(Pe.startNewVrStreamReqeuest({videoDesc:{eyeResolutionWidth:1920,eyeResolutionHeight:1080,fps:90,encodeBitrateMbs:10,codec:0,targetEyeResolutionWidth:1920,targetEyeResolutionHeight:1080,secondsFromVsyncToPhotons:1,use10bitEncoder:!1,foveatedRendering:{enableFoveateRendering:!0,foveationStrength:1,foveationShape:1,foveationVerticalOffset:1},colorCorrention:{enableColorCorrection:!1,brightness:1,contrast:1,saturation:1,gamma:1,sharpening:1},stream:0},headsetController:{type:0,forece3dof:!1,controllerposeTimeOffset:1,hapticsIntensity:1}},this.larksr.isPixelStreaming));else{try{if(this.larksr.params.useWebCodec&&(n=await et.checkSupport(ot.WebCodecTypeH265,this.larksr.screenState.syncClientViewport.width,this.larksr.screenState.syncClientViewport.height),!n&&this.larksr.params.useWebCodec))return void this.errorMsg("request use webcodec h265 but browswer not support")}catch{if(n=!1,!n&&this.larksr.params.useWebCodec)return void this.errorMsg("request use webcodec h265 but browswer not support")}u.info("useWebCodec",n,this.larksr.params.useWebCodec),this.sendToWebsocektChannelMsg(Pe.startStreamReqeuest({width:this.larksr.screenState.syncClientViewport.width,height:this.larksr.screenState.syncClientViewport.height,fps:this.larksr.params.frameRate,bitrateKbps:this.larksr.params.codeRate,useWebcodec:n&&this.larksr.params.useWebCodec},this.larksr.isPixelStreaming))}}startMonitorSteam(){u.info("startMonitorSteam"),this.sendToWebsocektChannelMsg(Pe.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(Y.APP_RETRY),this.initPc(),this.startSteam()}restartApp(){var n,a;u.info("restart app"),this.larksr.params.wsProxy?(n=this.websocketProxy)===null||n===void 0||n.sendMsg(Pe.restartApp()):(a=this.websocketChannel)===null||a===void 0||a.sendMsg(Pe.restartApp())}async rtcOffer(){var n;try{await((n=this.peerConnection)===null||n===void 0?void 0:n.create(null,this.rtcConfig))}catch(a){u.info("rtc peerconnection create failed ",a);const l="检测到当前浏览器不支持 WebRTC 推荐使用"+(I.isMobile?"微信或 QQ 浏览器 ":"Chrome 浏览器");this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED,"",l),this.errorMsg(l,r.LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED)}}setAnswer(n){this.onWebRtcOfferAnswer({type:"answer",sdp:n})}setIce(n,a,l){this.onWebRtcIcecandidate({sdpMlineindex:0,sdpmid:"0",candidate:l})}sendInput(n,a=!1){var l;(l=this.peerConnection)===null||l===void 0||l.sendInput(n,a)}sendInputBuffer(n){var a;(a=this.peerConnection)===null||a===void 0||a.sendBuffer(n)}sendToWebsocektChannelBuffer(n){var a,l;this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendBuffer(n):(l=this.websocketChannel)===null||l===void 0||l.sendBuffer(n)}sendToWebsocektChannelMsg(n){var a,l;this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendMsg(n):(l=this.websocketChannel)===null||l===void 0||l.sendMsg(n)}onChannelOpen(n){this.appStateChange(Y.WEBSOCKET_CHANNEL_OPEN),u.info("start version check when channel open"),this.versionCheck()}onClose(n){if(this.state<Y.BEFORE_DESTORY){const a=this.larksr.params.wsProxy?r.LK_PROXY_SERVER_CLOSE:r.LK_RENDER_SERVER_CLOSE;this.errorMsg("Code: "+a+"."+t.message.connectWsClose,a)}this.appStateChange(Y.WEBSOCKET_CLOSED),this.disConnect()}onChannelMsg(n){var a,l;if(n.data){const f=n.data;if(f.versionCheckResponse)this.onVersionCheckResponse(f.versionCheckResponse);else if(f.taskResponse)this.onTaskResponse(f.taskResponse);else if(f.startStreamResponse)this.onStartStreamResponse(f.startStreamResponse);else if(f.webrtcOfferAnswer)this.onWebRtcOfferAnswer(f.webrtcOfferAnswer);else if(f.webrtcIcecandidate)this.onWebRtcIcecandidate(f.webrtcIcecandidate);else if(f.webrtcError)this.onWebRtcError(f.webrtcError);else if(f.processNotifi)this.onAppProcess(f.processNotifi);else if(f.logout)this.onLogout(f.logout);else if(f.vrMonitorResponse)this.onStartMonitorResponse();else if(f.datachannelState)this.onPixelStreamingDataChannelState(f.datachannelState);else if(f.datachannelData)this.onPixelStreamingDataChannelData(f.datachannelData);else if(f.updatePlayers)this.onPixelStreamingPlayerList(f.updatePlayers);else if(f.clientMediaOfferanswer)if(u.info("media share onWebRtcOfferAnswer:"+JSON.stringify(f.clientMediaOfferanswer)),f.clientMediaOfferanswer.type&&f.clientMediaOfferanswer.sdp){let S=f.clientMediaOfferanswer.index!=null||f.clientMediaOfferanswer.index!=null?f.clientMediaOfferanswer.index:0;(a=this.getMediaSharePeerConnection(S))===null||a===void 0||a.onRemoteDescription({type:f.clientMediaOfferanswer.type,sdp:f.clientMediaOfferanswer.sdp})}else this.errorMsg("SDP 格式错误,缺少 type 或 sdp"+JSON.stringify(f.clientMediaOfferanswer));else if(f.clientMediaIcecandidate)if(u.info("media share onWebRtcIcecandidate:",f.clientMediaIcecandidate),f.clientMediaIcecandidate.candidate&&f.clientMediaIcecandidate.sdpMlineindex!=null&&f.clientMediaIcecandidate.sdpMlineindex!=null&&f.clientMediaIcecandidate.sdpmid!=null&&f.clientMediaIcecandidate.sdpmid!=null){let S=f.clientMediaIcecandidate.index!=null&&f.clientMediaIcecandidate.index!=null?f.clientMediaIcecandidate.index:0;(l=this.getMediaSharePeerConnection(S))===null||l===void 0||l.onReceiveCandidate({sdpMid:f.clientMediaIcecandidate.sdpmid,sdpMLineIndex:f.clientMediaIcecandidate.sdpMlineindex,candidate:f.clientMediaIcecandidate.candidate})}else this.errorMsg("ICE 格式错误,缺少数据"+JSON.stringify(f.clientMediaIcecandidate));else f.clientWebrtcError?this.infoMsg("media share webrtc error"):f.startVrstreamResponse?(u.info("start vr stream response",f),this.emit(this.createAppEvent(H.START_XR_STREAM_RESPONSE,f))):u.info("其他类型消息",f)}}onVersionCheckResponse(n){var a,l,f,S,O,E,C,L;u.info("onVersionCheckResponse:"+JSON.stringify(n)),n.response?(this.larksr.config.isMonitor?this.startMonitorSteam():this.task(),this.larksr.$emit(r.LK_VERSION_CHECK_SUCCESS)):(u.warn("version check faied:",n.clientVer,n.serverVer),this.errorMsg("Version check failed. Need client version "+((a=n.clientVer)===null||a===void 0?void 0:a.versionMarjor)+"."+((l=n.clientVer)===null||l===void 0?void 0:l.versionMinor)+"."+((f=n.clientVer)===null||f===void 0?void 0:f.versionRevise)+"."+((S=n.clientVer)===null||S===void 0?void 0:S.versionBuild)+"; Current "+N.VersionMarjor+"."+N.VersionMinorr+"."+N.VersionRevise+"."+N.VersionBuild+"; Server version "+((O=n.serverVer)===null||O===void 0?void 0:O.versionMarjor)+"."+((E=n.serverVer)===null||E===void 0?void 0:E.versionMinor)+"."+((C=n.serverVer)===null||C===void 0?void 0:C.versionRevise)+"."+((L=n.serverVer)===null||L===void 0?void 0:L.versionBuild),r.LK_VERSION_CHECK_FAILED),this.larksr.$emit(r.LK_VERSION_CHECK_FAILED,n))}onTaskResponse(n){if(u.info("onTaskResponse:",n,n.response,n.uid),n.response!=null){const a=Pe.getCloudlarkTaskEvent(n.response),l=Pe.getCloudlarkTaskEventMsg(a,"");n.response==m.CloudLark.TaskResponse.Response.TASK_SUCCESS?(n.desc&&(this.larksr.screenState.originAppSize={width:n.desc.desktopWidth,height:n.desc.desktopHeight},u.info("task desc ",n.desc)),this.larksr.$emit(a,{uid:n.uid,isPrestart:n.prestart},l),this.emit(this.createAppEvent(H.LOGIN,{uid:n.uid,isPrestart:n.prestart})),this.infoMsg(l,a),this.appStateChange(Y.LOGIN_SUCCESS),this.startSteam()):(this.larksr.$emit(a,n.response,l),u.warn("task failed:",n.response,n.reason),this.errorMsg(l,a))}else u.err("task response empty"),this.errorMsg("task response empty")}onStartStreamResponse(n){if(u.info("onStartStreamResponse:"+n.response,n.configuration),n.response!=null){const a=Pe.getCloudlarkStartStreamEvent(n.response),l=Pe.getCloudlarkStartStreamingEventMsg(a);if(this.larksr.$emit(a,n.response,l),n.response==m.CloudLark.StartStreamResponse.Response.START_SUCCESS){this.infoMsg(l,a),this.rtcConfig=n.configuration;for(const f of this.mediaSharePeerConnectionImp)f.pcConfig=this.rtcConfig;this.rtcOffer()}else u.warn("start stream faile:",n.response),this.errorMsg(l,a)}else u.warn("start stream response empty"),this.errorMsg("start stream response empty")}onStartMonitorResponse(){u.info("onStartMonitorResponse"),this.rtcOffer()}onWebRtcOfferAnswer(n){var a;u.info("onWebRtcOfferAnswer:"+JSON.stringify(n)),n.type&&n.sdp?(a=this.peerConnection)===null||a===void 0||a.onRemoteDescription({type:n.type,sdp:n.sdp}):this.errorMsg("SDP 格式错误,缺少 type 或 sdp"+JSON.stringify(n))}onWebRtcIcecandidate(n){var a;u.info("onWebRtcIcecandidate:",n),n.candidate&&n.sdpMlineindex!=null&&n.sdpMlineindex!=null&&n.sdpmid!=null?(a=this.peerConnection)===null||a===void 0||a.onReceiveCandidate({sdpMid:n.sdpmid,sdpMLineIndex:n.sdpMlineindex,candidate:n.candidate,usernameFragment:n.username}):this.errorMsg("ICE 格式错误,缺少数据"+JSON.stringify(n))}onWebRtcError(n){u.warn("onWebRtcError:"+JSON.stringify(n));const a=r.LK_RTC_EVENT_PEERCONNECTION_ERROR;this.larksr.$emit(a),this.errorMsg("Code: "+a+". onWebRtcError "+JSON.stringify(n)+". "+t.message.connectToAdmin,a)}onAppProcess(n){n.appQuit?(u.warn("onAppProcess appQuit retry:"+JSON.stringify(n)),this.releasePc(),this.larksr.$emit(r.LK_APP_PROCESS_NOTIFI_APP_QUIT,!!n.appQuit.reStartStream),this.$emit(H.APP_CLOSE,!!n.appQuit.reStartStream)):u.warn("onAppProcess unknown progress"+JSON.stringify(n))}onLogout(n){u.info("on Logout"+JSON.stringify(n));let a=0,l="";this.larksr.playerModeType==Dt.Interactive?(a=r.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT,l=t.message.LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT):(a=r.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT,l=t.message.LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT),this.larksr.$emit(a),this.errorMsg("Code: "+a+". "+l+". ",a),this.disConnect()}onLocalSdp(n){var a,l;const f=n.data;f&&f.sdp&&(this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendMsg(Pe.rtcOfferMsg(f.type,f.sdp)):(l=this.websocketChannel)===null||l===void 0||l.sendMsg(Pe.rtcOfferMsg(f.type,f.sdp)))}onLoacalIce(n){var a,l;const f=n.data;f&&(u.info("send local ice ",f),this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendMsg(Pe.iceMsg(f.sdpMid,f.sdpMLineIndex,f.candidate,f.usernameFragment)):(l=this.websocketChannel)===null||l===void 0||l.sendMsg(Pe.iceMsg(f.sdpMid,f.sdpMLineIndex,f.candidate,f.usernameFragment)))}onRemoteStream(n){const a=n.data;this.infoMsg(t.message.iceSuccess),this.$emit(H.REMOTE_STREAM,a)}onAudioRemoteStream(n){const a=n.data;this.$emit(H.REMOTE_AUDIO_STREAM,a)}onRtcError(n){const a=n.data;this.larksr.appState<Y.BEFORE_DESTORY&&this.errorMsg(a)}onRtcInfo(n){const a=n.data;this.larksr.appState<Y.BEFORE_DESTORY&&this.infoMsg(a)}onRtmpStreamingState(n){this.$emit(H.RTMP_STREAM_STATE,n.data)}onRtmpStreamingError(n){this.$emit(H.RTMP_STREAM_ERROR,n.data)}onIceStateChange(n){const a=this.state,l=n.data;if(l==qe.DISCONNECT)u.info("BEFORE_DESTORY",this.retryTime,N.RetryTime,a),a<=Y.RTC_CONNECTED?(this.onPeerConnectionDisconnect(),this.appStateChange(Y.RTC_CLOSED)):a<Y.RTC_RETRY?(u.warn("start retrying..."),this.retryPeerconnection(),this.appStateChange(Y.RTC_RETRY)):a==Y.RTC_RETRY?(u.warn("retrying..."),this.retryPeerconnection()):a<Y.BEFORE_DESTORY&&(this.onPeerConnectionDisconnect(),this.appStateChange(Y.RTC_CLOSED));else if(l==qe.GOOD){if(a<Y.MEDIA_LOADED){this.larksr.$emit(r.LK_RTC_EVENT_PEERCONNECTION_CONNECTED),this.appStateChange(Y.RTC_CONNECTED);const f=br().getParser(window.navigator.userAgent).getBrowserName().toLowerCase();I.os==="iOS"&&f!=="chrome"?window.setTimeout(()=>{this.state<Y.MEDIA_PLAYED?this.appStateChange(Y.MEDIA_LOADED):u.info("ios play success. skip update events")},3500):window.setTimeout(()=>{this.state<Y.MEDIA_PLAYED?this.appStateChange(Y.MEDIA_LOADED):u.info("play success. skip update events")},this.larksr.config.playTimeout?1e3*this.larksr.config.playTimeout:2e4)}else this.$emit(H.RTC_RETRY_SUCCESS),this.appStateChange(Y.MEDIA_PLAYED);this.retryTime=0}}retryPeerconnection(){var n;this.retryTime<N.RetryTime?(this.toastMsg(t.message.RTC_RETRY_CONNECTION+". "+this.retryTime),(n=this.peerConnection)===null||n===void 0||n.createOffer(),this.retryTime++):(this.onPeerConnectionDisconnect(),this.appStateChange(Y.RTC_CLOSED))}onAerialViewStatus(n){this.$emit(H.AerialViewStatus,n.data)}onAerialViewScreen(n){this.$emit(H.AerialViewScreen,n.data)}onVideoFrame(n){this.webcodecDecoder.onStreamVideoFrame(n.data)}onToolTipinfo(n){this.$emit(H.TooltipInfo,n.data)}onOpenUrl(n){this.$emit(H.OPEN_URL,n.data)}onShareMediaError(n){this.errorMsg(n.data)}onShareMediaInfo(n){this.infoMsg(n.data)}onShareMediaOffer(n){var a,l;u.info("send share media sdp",n.data,n.id);const f=n.data;f&&(this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendMsg(Pe.mediaShareRtcOfferMsg(f.type,f.sdp,n.id)):(l=this.websocketChannel)===null||l===void 0||l.sendMsg(Pe.mediaShareRtcOfferMsg(f.type,f.sdp,n.id)))}onShareMediaIce(n){var a,l;u.info("send share media ice",n.data);const f=n.data;f&&(this.larksr.params.wsProxy?(a=this.websocketProxy)===null||a===void 0||a.sendMsg(Pe.mediaShareIceMsg(f.sdpMid,f.sdpMLineIndex,f.candidate,n.id)):(l=this.websocketChannel)===null||l===void 0||l.sendMsg(Pe.mediaShareIceMsg(f.sdpMid,f.sdpMLineIndex,f.candidate,n.id)))}setAudioEnable(n){var a;return(a=this.sharePeerConnection)===null||a===void 0?void 0:a.setAudioEnable(n)}setVideoEnable(n){var a;return(a=this.sharePeerConnection)===null||a===void 0?void 0:a.setVideoEnable(n)}setShareEnable(n){var a;return(a=this.sharePeerConnection)===null||a===void 0?void 0:a.setShareEnable(n)}stopLocalAudio(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.stopLocalAudio()}stopLocalVideo(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.stopLocalVideo()}stopLocalShare(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.stopLocalShare()}pauseAudioSending(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.pauseAudioSending()}resumeAudioSending(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.resumeAudioSending()}pauseVideoSending(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.pauseVideoSending()}resumeVideoSending(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.resumeVideoSending()}closeAudio(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.closeAudio()}closeVideo(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.closeVideo()}closeShare(){var n;return(n=this.sharePeerConnection)===null||n===void 0?void 0:n.closeShare()}async openAudio(n=""){var a;return await((a=this.sharePeerConnection)===null||a===void 0?void 0:a.openAudio(n))}async openVideo(n=!1,a="",l=0,f=0,S){var O;return await((O=this.sharePeerConnection)===null||O===void 0?void 0:O.openVideo(n,a,l,f,S))}async openDefaultMedia(n=!0,a=!0){var l;return await((l=this.sharePeerConnection)===null||l===void 0?void 0:l.openDefaultMedia(n,a))}async openShareMediaDevice(){var n;return await((n=this.sharePeerConnection)===null||n===void 0?void 0:n.openShareMediaDevice())}async getConnectedAudioinputDevices(){var n;return await((n=this.sharePeerConnection)===null||n===void 0?void 0:n.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var n;return await((n=this.sharePeerConnection)===null||n===void 0?void 0:n.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var n;return await((n=this.sharePeerConnection)===null||n===void 0?void 0:n.getConnectedVideoinputDevices())}async getConnectedDevices(n){var a;return await((a=this.sharePeerConnection)===null||a===void 0?void 0:a.getConnectedDevices(n))}async openAudioDevice(n,a="audioinput"){var l;return await((l=this.sharePeerConnection)===null||l===void 0?void 0:l.openAudioDevice(n,a))}async openCamera(n,a=0,l=0,f=!0,S){var O;return await((O=this.sharePeerConnection)===null||O===void 0?void 0:O.openCamera(n,a,l,f,S))}async openUserMeida(n,a=!1){var l;return a&&this.sharePeerConnection&&(this.releaseSharePc(),this.initSharePc()),await((l=this.sharePeerConnection)===null||l===void 0?void 0:l.openUserMeida(n,a))}addMediaTrack(n,...a){var l;return(l=this.sharePeerConnection)===null||l===void 0?void 0:l.addMediaTrack(n,...a)}removeMediaTrack(n){var a;return(a=this.sharePeerConnection)===null||a===void 0?void 0:a.removeMediaTrack(n)}requestUserMediaPermission(n){var a;return(a=this.sharePeerConnection)===null||a===void 0?void 0:a.requestUserMediaPermission(n)}StartCloudLiveStreaming(n){var a;return(a=this.peerConnection)===null||a===void 0?void 0:a.StartCloudLiveStreaming(n)}StopLiveStreaming(){var n;return(n=this.peerConnection)===null||n===void 0?void 0:n.StopLiveStreaming()}onPeerConnectionDisconnect(){const n=r.LK_RTC_EVENT_PEERCONNECTION_CLOSED;this.larksr.$emit(n),this.errorMsg(t.message.RTC_EVENT_PEERCONNECTION_CLOSED+". code"+n,n),this.disConnect()}onBadNetwork(n){this.toastMsg(t.ui.badNetwork)}onPixelStreamingPlayerList(n){u.info("on piexl streaming player list",n),this.larksr.isPixelStreaming?n.descs&&(this.larksr.$emit(r.LK_APP_PLAER_LIST,k.deepCopyArray(n.descs),"PLAYER_LIST"),this.$emit(H.LK_APP_PLAER_LIST,n.descs)):u.warn("not in pixelstreaming type")}onPixelStreamingDataChannelState(n){u.info("on onPixelStreamingDataChannelState datachannelState msg",n),this.larksr.isPixelStreaming?n.state==m.CloudLark.LarkXRDataChannelState.State.OPEN?(this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_OPEN),this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_OPEN,n)):(this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_CLOSE),this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,n)):u.warn("not in pixelstreaming type")}onPixelStreamingDataChannelData(n){if(u.info("onPixelStreamingDataChannelData ",n),this.larksr.isPixelStreaming)if(n.type==m.CloudLark.AppDataChannelMessage.Type.STRING){if(n.data){const a=new TextDecoder().decode(n.data.length>0?n.data.subarray(0,n.data.length-1):n.data);this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,a),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,a)}}else this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,n.data),this.larksr.$emit(r.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,n.data);else u.warn("not in pixelstreaming type")}onCursorStyle(n){this.$emit(H.SYNC_CURSORSTYLE,n.data)}onAppResize(n){this.$emit(H.LK_APP_RESIZE,n.data)}onAppMouseMode(n){this.$emit(H.LK_APP_MOUSE_MODE,n.data)}onAppPlayerList(n){this.$emit(H.LK_APP_PLAER_LIST,n.data)}onAppRequestText(n){this.$emit(H.LK_APP_REQUEST_TEXT,n.data)}onDataChannelText(n){this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,n.data)}onDataChannelBinary(n){this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,n.data)}onDataChannelOpen(n){this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_OPEN,n.data)}onDataChannelClose(n){this.$emit(H.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,n.data)}onPeerConnectionState(n){this.$emit(H.NET_STATE,n.data)}onAiVoiceStatus(n){this.$emit(H.AI_VOICE_STATUS,n.data)}onAiVoiceAsrResult(n){this.$emit(H.AI_VOICE_ASR_RESULT,n.data)}onAiVoiceDMResult(n){this.$emit(H.AI_VOICE_DM_RESULT,n.data)}onAiVoiceError(n){this.$emit(H.AI_VOICE_ERROR,n.data)}appStateChange(n){n!==Y.MEDIA_LOADED&&n!=Y.MEDIA_PLAYED||this.peerConnection!=null?(this._state=n,u.info("appStateChange",this._state),this.$emit(H.APP_STATE_CHANGE,n)):u.warn("peerconnection already released")}infoMsg(n,a=0){this.$emit(H.INFO,{message:n,code:a})}errorMsg(n,a=0){this.$emit(H.ERROR,{message:n,code:a})}toastMsg(n,a=0){this.$emit(H.INFO,{message:n,code:a})}$emit(n,a){this.emit(this.createAppEvent(n,a))}createAppEvent(n,a){return{type:n,target:this,data:a,state:this.state}}}var bt;(function(o){o[o.DESKTOP=1]="DESKTOP",o[o.SHARED=2]="SHARED",o[o.PIXEL_STREAMING=13]="PIXEL_STREAMING",o[o.VR=3]="VR",o[o.VR_STEAM=5]="VR_STEAM",o[o.NV_VR=6]="NV_VR",o[o.XR=7]="XR",o[o.PXY_AR=9]="PXY_AR",o[o.NV_AR=11]="NV_AR"})(bt||(bt={}));class dt{constructor(){this.appServer="",this.appPort="",this.renderSSLServerPort="",this.appliType=bt.SHARED,this.wsProxy=!1,this.preferPubOutIp="",this.taskid="",this.appliName="",this.width=N.OriginW,this.height=N.OriginH,this.scaleMode=M.CONTAIN_APP,this.logLevel="warn",this.noOperationTimeout=0,this.waterMark=!1,this.rttLimit=60,this.packetLostLimit=20,this.rttLimitInterval=20,this.codeRate=N.CodeRate,this.audioCodeRate=N.AudioCodeRate,this.frameRate=N.FrameRate,this.network="public",this.language="",this.initCursorMode=0,this.bgColor="",this.fullScreenMode=0,this.mobileFullScreenMode=0,this.playerMode=0,this.userType=1,this.nickname="",this.authCode="",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.wsId="",this.groupId="",this.textInputEventPrompt=!0,this.audioInput=!1,this.audioInputAutoStart=!1,this.videoInput=!1,this.videoInputAutoStart=!1,this.liveStreaming=!1,this.useSeparateMediaSharePeer=!0,this.mobileKeyboardType=0,this.initResolutionType=0,this.useWebCodec=!1,this.mobileWebMenuType=0,this.showWebMenu=1,this.forceResolution=!1,this.ignoreCloudDesktopResolution=!0,this.ignoreScreenOrientation=!0,this.imeFirstNotice=1}get taskId(){return this.taskid}static copyAndCreate(n){return n?Object.assign({},n):new dt}static setUpWithSDKConfig(n,a){const l=Object.assign({},n);return a.codeRate&&(l.codeRate=a.codeRate),a.audioCodeRate&&(l.audioCodeRate=a.audioCodeRate),a.frameRate&&(l.frameRate=a.frameRate),a.loadingTimeout&&(l.loadingTimeout=a.loadingTimeout),a.preferDecoder&&(l.preferDecoder=a.preferDecoder),a.syncLocalToCloudClipboard&&(l.syncLocalToCloudClipboard=a.syncLocalToCloudClipboard),a.logLevel&&(l.logLevel=a.logLevel),a.scaleMode&&(l.scaleMode=a.scaleMode),a.fullScreenMode!=null&&(l.fullScreenMode=a.fullScreenMode),a.mobileFullScreenMode!=null&&(l.mobileFullScreenMode=a.mobileFullScreenMode),a.mobileForceLandscape!=null&&(l.mobileForceLandscape=a.mobileForceLandscape),a.initCursorMode!=null&&(l.initCursorMode=a.initCursorMode),a.textInputEventPrompt!=null&&(l.textInputEventPrompt=a.textInputEventPrompt),a.audioInputAutoStart!=null&&(l.audioInputAutoStart=a.audioInputAutoStart),a.videoInputAutoStart!=null&&(l.videoInputAutoStart=a.videoInputAutoStart),a.touchOperateMode!=null&&(l.touchOperateMode=a.touchOperateMode),a.mouseZoomDirection!=null&&(l.mouseZoomDirection=a.mouseZoomDirection),a.preferPublicIp!=null&&(l.preferPubOutIp=a.preferPublicIp),a.language!=null&&(l.language=a.language),a.useSeparateMediaSharePeer!=null&&(l.useSeparateMediaSharePeer=a.useSeparateMediaSharePeer),a.initResolutionType!=null&&(l.initResolutionType=a.initResolutionType),a.useWebCodec!=null&&(l.useWebCodec=a.useWebCodec),a.audioInputAutoStart!=null&&(l.audioInputAutoStart=a.audioInputAutoStart),a.videoInputAutoStart!=null&&(l.videoInputAutoStart=a.videoInputAutoStart),a.forceResolution!=null&&(l.forceResolution=!0,l.width=a.forceResolution.width,l.height=a.forceResolution.height),a.ignoreCloudDesktopResolution!=null&&(l.ignoreCloudDesktopResolution=a.ignoreCloudDesktopResolution),a.ignoreScreenOrientation!=null&&(l.ignoreScreenOrientation=a.ignoreScreenOrientation),l}}class q{static getScaleMode(n){if(n==null||isNaN(n))return M.CONTAIN_APP;switch(n){case 0:default:return M.CONTAIN_APP;case 1:return M.CONTAIN_VIDEO;case 2:return M.FIT_SCREEN;case 3:return M.FILL_CLIP;case 4:return M.FILL_STRETCH;case 5:return M.SCROLL_AUTO;case 6:return M.SCROLL_X_FILL_Y;case 7:return M.SCROLL_X_CLIP_Y;case 8:return M.SCROLL_X_CONTAIN_Y;case 9:return M.SCROLL_X_OVERFLOW_SCROLL_FILL_Y;case 10:return M.SCROLL_X_FILL_Y_ASPECT;case 11:return M.SCROLL_Y_FILL_X;case 12:return M.SCROLL_Y_CLIP_X;case 13:return M.SCROLL_Y_CONTAIN_X;case 14:return M.SCROLL_Y_OVERFLOW_SCROLL_FILL_X;case 15:return M.SCROLL_Y_FILL_X_ASPECT}}static getNetwork(n){return n==null||isNaN(n)?"public":n===0?"local":"public"}static getLogLevel(n){return n&&n==="info"||n==="warn"?n:"warn"}static getBoolOption(n,a=!1){return n==null||n===""?a:typeof n=="boolean"?n:n!=="false"}static getNumberBoolOption(n,a=!1){return n==null||n===""?a:typeof n=="number"?n!==0:n!=="0"}static getStringOption(n,a=""){return n==null||n===""?a:decodeURI(decodeURI(n))}static getIntOption(n,a=0){if(n==null||n==="")return a;const l=parseInt(n,10);return isNaN(l)?a:l}static getBgColor(n){return n==null||n===""?"":n.indexOf("0x")>-1?n.replace("0x","#"):"#"+n}}function Dn(o){let n=new dt;n.appServer=o.renderServerIp,n.appPort=o.renderServerPort+"",n.renderSSLServerPort=o.renderSSLServerPort?o.renderSSLServerPort+"":"",n.taskid=o.taskId,n.scaleMode=q.getScaleMode(o.initWinSize),n.network=q.getNetwork(parseInt(o.network,10)),n.preferPubOutIp=o.preferPublicIp,n.noOperationTimeout=q.getIntOption(o.noOperationTimeout,0),n.rttLimit=q.getIntOption(o.rttLimit,60),n.rttLimitInterval=q.getIntOption(o.rttLimitInterval,20),n.wsProxy=q.getNumberBoolOption(o.wsProxy),n.initCursorMode=o.initCursorMode,n.bgColor=q.getBgColor(o.bgColor),n.fullScreenMode=o.fullScreenMode,n.mobileFullScreenMode=o.mobileFullScreenMode,n.playerMode=q.getIntOption(o.playerMode+"",0),n.userType=q.getIntOption(o.userType+"",1),o.nickName&&(n.nickname=q.getStringOption(o.nickName)),o.nickname&&(n.nickname=q.getStringOption(o.nickname)),n.authCode=q.getStringOption(o.authCode,""),n.mobileForceLandscape=q.getNumberBoolOption(o.mobileForceLandscape),n.mobileVirtualJoystick=q.getNumberBoolOption(o.mobileVirtualJoystick),n.mouseZoomDirection=o.mouseZoomDirection,n.showPlayerList=q.getNumberBoolOption(o.playerListToggle);let a=q.getStringOption(o.touchOperateMode,"mouse");if(n.touchOperateMode=a==="touch"||a==="touchScreen"?"touchScreen":"mouse",n.appliId=o.appliId,n.language=o.language,n.appliType=o.appliType,n.appliName=decodeURI(o.appliName),n.wsId=o.wsId?o.wsId:"",n.groupId=o.groupId?o.groupId:"",n.initResolutionType=q.getIntOption(o.initResolutionType,0),n.useWebCodec=q.getNumberBoolOption(o.useWebCodec),n.preferDecoder=q.getStringOption(o.preferDecoder,"h264"),n.mobileWebMenuType=q.getIntOption(o.mobileWebMenuType,0),n.showWebMenu=q.getIntOption(o.showWebMenu,1),n.shareUrl=q.getBoolOption(o.shareUrl),n.textInputEventPrompt=q.getNumberBoolOption(o.textInputEventPrompt,!0),n.audioInput=q.getNumberBoolOption(o.audioInput,!1),n.audioInputAutoStart!==null&&n.audioInputAutoStart!==void 0){const f=q.getNumberBoolOption(o.audioInputAutoStart,!1);n.audioInputAutoStart=n.audioInput&&f}if(n.videoInput=q.getNumberBoolOption(o.videoInput,!1),n.videoInputAutoStart!==null&&n.videoInputAutoStart!==void 0){const f=q.getNumberBoolOption(o.videoInputAutoStart,!1);n.videoInputAutoStart=n.videoInput&&f}n.liveStreaming=q.getNumberBoolOption(o.liveStreaming,!1),n.mobileKeyboardType=o.mobileKeyboardType!==void 0?o.mobileKeyboardType:0;const l=q.getIntOption(k.queryString("frameRate"),N.FrameRate);return n.frameRate=q.getIntOption(o.frameRate,l),n}var kr=__webpack_require__(8266),Ye=__webpack_require__.n(kr);class se{static GetUrl(n){return n.proxyBasePath?n.proxyBasePath:n.serverAddress}static async HostAppliGetUrl(n){const a=await Ye().get("https://www.pingxingyun.com/console/api"+se.PocHostApplGetUrl,{params:n});if(a.data!=null){if(a.data.code===1e3){const l=new URL(a.data.result);let f={appliId:n.appliId,wsId:k.queryURL(l,"wsId"),timestamp:k.queryURL(l,"timestamp"),signature:k.queryURL(l,"signature")};return k.queryURL(l,"groupId")&&(f.groupId=k.queryURL(l,"groupId")),{host:l.host,origin:l.origin,params:f}}throw new Error(a.data.message)}throw new Error("获取AppliURl失败, 结果为空")}static GetStartInfo(n,a){const l=n;let f=Object.assign({sdkVersion:`WEB-${N.VersionMarjor}.${N.VersionMinorr}.${N.VersionBuild}.${N.VersionRevise}`,sdkType:"3"},a);return new Promise((S,O)=>{Ye().get(l+se.GetStartInfoPath,{params:f}).then(E=>{E.data!=null?E.data.code===1e3?S(E.data.result):[813,814,815,816,817,820,821,823].filter(C=>C===E.data.code).length>0?(u.info("渲染资源不足"),O(Object.assign({type:0},E.data))):O(Object.assign({type:1,message:"Code: "+E.data.code+". 获取启动应用信息失败;msg: "+E.data.message},E.data)):O(Object.assign({type:1,message:"获取启动应用信息失败. 返回值为空"},E.data))}).catch(E=>{u.warn("获取启动应用信息失败",E),O({type:1,message:"请求启动应用接口失败:"+JSON.stringify(E)})})})}static CheckUTLockInfo(n){const a=se.GetUrl(n);return new Promise((l,f)=>{Ye().get(a+se.CheckUTLockInfoPath).then(S=>{S.data!=null?S.data.code===1e3?S.data.result?l({checkUtLockMessage:S.data.result.checkUtLockMessage,checkUtLockResult:S.data.result.checkUtLockResult,remainMinutes:S.data.result.remainMinutes}):f("读取加密狗信息失败. 结果为空."):f("Code: "+S.data.code+". 读取加密狗信息失败"):f("读取加密狗信息失败. 返回值为空")}).catch(S=>{u.warn("读取加密狗信息失败",S),f(t.message.loadConfigFailed+":"+S.statusText)})})}static GetTask(n,a){const l=se.GetUrl(n);return new Promise((f,S)=>{Ye().get(l+se.GetTaskPATH+"?taskId="+a).then(O=>{O.data!=null?O.data.code===1e3?O.data.result?(u.info("读取Task信息成功",O.data),f(O.data.result)):(u.warn("读取Task信息失败, 结果为空"),S("读取Task信息失败, 结果为空")):S("Code: "+O.data.code+". 读取Task信息失败; msg:"+O.data.message):(u.warn("读取Task信息失败, 结果为空"),S("读取Task信息失败, 结果为空"))}).catch(O=>{u.warn("读取Task信息失败",O),S((O.message,JSON.stringify(O.message)))})})}static LogError(n,a,l,f){const S=se.GetUrl(f);let O=new FormData;O.append("errorCode",n+""),O.append("errorMsg",a),O.append("params",l),Ye().post(S+se.ClientLogErrorPath,O).then(E=>{u.info("request log info success.",E)}).catch(E=>{u.warn("request log error failed ",E)})}static ClientInfo(n,a){const l=se.GetUrl(n),f=on.getParser(window.navigator.userAgent);let S="";const O=f.getPlatform();O.type&&(S+="platform="+O.type+"&"),O.vendor&&(S+="vendor="+O.vendor+"&"),O.model&&(S+="model="+O.model+"&");const E=f.getEngine();E.name&&(S+="engine="+E.name+"&"),E.version&&(S+="engineVersion="+E.version+"&");let C=f.getOSName();f.getOS().versionName&&(C+=" "+f.getOS().versionName),Ye().get(l+"/client/info",{params:{taskId:a.taskid,appliId:a.appliId,startDate:Date.now(),prodType:"SR",clientType:"Web",clientVersion:N.VersionMarjor+"."+N.VersionMinorr+"."+N.VersionRevise+"."+N.VersionBuild,browserType:f.getBrowserName(),browserVersion:f.getBrowserVersion(),osVersion:C,isSdk:"N",deviceInfo:S}}).then(L=>{u.info("update client info success.",L)}).catch(L=>{u.warn("upload client info failed ",L)})}static TaskInfoClientStarted(n,a){const l=se.GetUrl(n);let f=new FormData;f.append("taskId",a.taskid),Ye().post(l+se.TaskInfoClientStartedPath,f).then(S=>{u.info("request log info success.",S)}).catch(S=>{u.warn("request log error failed ",S)})}static PortMappingList(n){const a=se.GetUrl(n);return new Promise((l,f)=>{Ye().get(a+se.PortMappingListPath).then(S=>{S.data&&(S.data.code===1e3?l(S.data.result):f(S.data.message))}).catch(S=>{f(S)})})}static GetTouchCtrMapping(n,a=""){const l=n;return new Promise((f,S)=>{Ye().get(l+se.GetTouchCtrMappingPath,{params:{appliId:a}}).then(O=>{O.data&&(O.data.code===1e3?O.data.result?f(O.data.result):S("do not find touch control mapping"):S(O.data.message))}).catch(O=>{S(O)})})}static GetAppliList(n,a){const l=n;return new Promise((f,S)=>{Ye().get(l+se.GetAppliListPath,{params:a}).then(O=>{O.data&&(O.data.code===1e3&&O.data.result?f(O.data.result):S(O.data.message))}).catch(O=>{S(O)})})}static RegionList(n,a){const l=n;return new Promise((f,S)=>{Ye().get(l+se.RegionListPath,{params:a}).then(O=>{O.data&&(O.data.code===1e3&&O.data.result?f(O.data.result):S(O.data.message))}).catch(O=>{S(O)})})}static IsEnableWaitQueue(n,a){const l=n;return new Promise((f,S)=>{Ye().get(l+se.TestEnableWaitQueue,{params:a}).then(O=>{O.data&&(O.data.code===1e3&&O.data.result?f(O.data.result):S(O.data.message))}).catch(O=>{S(O)})})}static heartbeat(n,a){const l=n;return Ye().defaults.headers.post["Content-Type"]="application/x-www-form-urlencoded",new Promise((f,S)=>{Ye().get(l+"/taskInfo/heartbeat",{params:{taskId:a},withCredentials:!1,headers:{"Content-Type":"multipart/form-data","X-Feign-Request":"True"}}).then(O=>{u.info("task heart beat success",O),f(O)}).catch(O=>{u.warn("task heart beat failed",O)})})}static joinParam(n){var a="";for(const l in n)l&&(a+=l+"="+n[l]+"&");return a}}se.CheckUTLockInfoPath="/checkUTLockInfo",se.GetTaskPATH="/taskInfo/getTask",se.ClientLogErrorPath="/client/log/error",se.GetStartInfoPath="/appli/getSdkStartInfo",se.PocHostApplGetUrl="/poc/hostAppli/getUrl",se.TaskInfoClientStartedPath="/taskInfo/clientStarted",se.PortMappingListPath="/portMapping/list",se.GetTouchCtrMappingPath="/appli/getTouchCtrlMapping",se.GetAppliListPath="/appli/getAppliList",se.RegionListPath="/renderServer/regionList",se.TestEnableWaitQueue="/syssetting/getEnableWaitQueue";const Wn="pxymessage",wr=[r.LK_TASK_CREATE_FAILED,r.LK_RENDER_SERVER_FAILED,r.LK_RENDER_SERVER_CLOSE,r.LK_RENDER_SERVER_ERROR,r.LK_PROXY_SERVER_FAILED,r.LK_PROXY_SERVER_CLOSE,r.LK_PROXY_SERVER_ERROR,r.LK_VERSION_CHECK_FAILED,r.LK_TASK_NOTFOUND,r.LK_TASK_SERVER_ERROR,r.LK_TASK_APP_WRONGPARAM,r.LK_TASK_NO_GPU_RESOURCE,r.LK_START_STREAM_PROCESS_START_FAILED,r.LK_START_STREAM_PROCESS_START_TIMEOUT,r.LK_START_STREAM_NOT_STREAMING,r.LK_START_STREAM_ENCODER_ERROR,r.LK_RTC_EVENT_PEERCONNECTION_CLOSED,r.LK_RTC_EVENT_PEERCONNECTION_ERROR,r.LK_APP_PROCESS_NOTIFI_APP_QUIT,r.LK_STARTVRSTREAM_START_PROCESS_FAILED,r.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_TIMEOUT,r.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_UDPPORT_ERROR,r.LK_STARTVRSTREAM_START_DRIVER_RUNTIME_ENCODER_ERROR,r.LK_DATA_CHANNEL_CLOSE,r.LK_DATA_CHANNEL_ERROR];class Pr{constructor(n){this.larksr=n}listenParent(){k.IsIframe()&&parent!=null&&window.addEventListener("message",n=>{if(u.info("on poster to lark message",n.data),n.data.prex!=Wn)return void u.warn("iframe receive valid message. prex not rigth",n.data);const{type:a,data:l}=n.data;switch(a){case r.LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE:u.info("LK_IFRAME_POSTER_OPERATE_MOUSE_MOVE"),this.larksr.moseMove(l.x,l.y,l.rx,l.ry);break;case r.LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN:u.info("LK_IFRAME_POSTER_OPERATE_MOUSE_DOWN"),this.larksr.mouseDown(l.x,l.y,this.larksr.getMouseButtonType(l.button));break;case r.LK_IFRAME_POSTER_OPERATE_MOUSE_UP:u.info("LK_IFRAME_POSTER_OPERATE_MOUSE_UP"),this.larksr.mouseUp(l.x,l.y,this.larksr.getMouseButtonType(l.button));break;case r.LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL:u.info("LK_IFRAME_POSTER_OPERATE_MOUSE_WHEEL"),this.larksr.mouseWheel(l.x,l.y,l.wheel);break;case r.LK_IFRAME_POSTER_OPERATE_KEY_DOWN:u.info("LK_IFRAME_POSTER_OPERATE_KEY_DOWN"),this.larksr.keyDown(l.key,l.isRepeat);break;case r.LK_IFRAME_POSTER_OPERATE_KEY_UP:u.info("LK_IFRAME_POSTER_OPERATE_KEY_UP"),this.larksr.keyUp(l.key);break;case r.LK_REQUEST_CAPTURE_FRAME:u.info("LK_REQUEST_CAPTURE_FRAME"),this.larksr.captrueFrame("");break;case r.LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA:u.info("LK_REQUEST_CAPTURE_FRAME_WITH_EXTRA_DATA",l),this.larksr.captrueFrame(l);break;case r.LK_IFRAME_POSTER_FUNC_SCALE_MODE:this.larksr.scaleMode=l;break;case r.LK_IFRAME_POSTER_FUNC_MOUSE_MODE:this.larksr.initCursorMode=l;break;case r.LK_IFRAME_POSTER_FUNC_RESTART_CLOUD_APP:this.larksr.restart();break;case r.LK_IFRAME_POSTER_FUNC_WX_JS_BRIDGE_READY:case r.LK_IFRAME_POSTER_FUNC_REQUEST_PLAY_VIDEO:this.larksr.videoComponent.playVideo(),this.larksr.videoComponent.sountPlayout();break;case r.LK_IFRAME_POSTER_OPENAUDIO_INPUT:this.larksr.audioTrack?this.larksr.audioTrack.enabled=!0:this.larksr.openAudio();break;case r.LK_IFRAME_POSTER_CLOSE_AUDIO_INPUT:this.larksr.audioTrack&&(this.larksr.audioTrack.enabled=!1);break;case r.LK_DATA_CHANNEL_RENDERSERVER_SEND_TEXT:this.larksr.sendTextToDataChannel(l);break;case r.LK_DATA_CHANNEL_RENDERSERVER_SEND_BINARY:this.larksr.sendBinaryToDataChannel(l);break;default:u.info("unknown postmessage type ",a)}})}}var Ce,re;(function(o){o[o.ARROW=0]="ARROW",o[o.IBEAM=1]="IBEAM",o[o.WAIT=2]="WAIT",o[o.CROSS=3]="CROSS",o[o.SIZENWSE=4]="SIZENWSE",o[o.SIZENESW=5]="SIZENESW",o[o.SIZEWE=6]="SIZEWE",o[o.SIZENS=7]="SIZENS",o[o.SIZEALL=8]="SIZEALL",o[o.NO=9]="NO",o[o.HAND=10]="HAND",o[o.CUSTOM=11]="CUSTOM",o[o.DEFAULT=1e3]="DEFAULT"})(Ce||(Ce={}));class Ir extends g{get appSize(){return this._appSize}set appSize(n){this._appSize=n,this.resize()}set originAppSize(n){this._originAppSize=n}get originAppSize(){return this._originAppSize}get viewPort(){return this._viewPort}get viewPortStyle(){return`width: ${this.viewPort.width}px; height: ${this.viewPort.height}px; overflow-x: ${this.viewPort.scrollX?"auto":"hidden"}; overflow-y: ${this.viewPort.scrollY?"auto":"hidden"};`}get syncClientViewport(){if(this.larksr.params.forceResolution)return{width:this.larksr.params.width,height:this.larksr.params.height};let n=this.originAppSize.width,a=this.originAppSize.height,l=Math.min(n/this.viewPort.width,a/this.viewPort.height),f=this.viewPort.width*l,S=this.viewPort.height*l,O=this.viewPort.width*window.devicePixelRatio,E=this.viewPort.height*window.devicePixelRatio;return u.info("syncClientViewport",this.originAppSize,this.viewPort,l,f,S),this.larksr.params.ignoreCloudDesktopResolution||O<this.originAppSize.width&&E<this.originAppSize.height?{width:O,height:E}:{width:f,height:S}}get orientationIndexStyle(){const{screenOrientation:n,viewPort:a,bgColor:l}=this;return n=="landscape"?{width:a.width+"px",height:a.height+"px",top:(a.width-a.height)/2+"px",left:0-(a.width-a.height)/2+"px",transform:"rotate(90deg)",transformOrigin:"50% 50%",backgroundColor:l}:{width:a.width+"px",height:a.height+"px",transform:"rotate(0deg)",transformOrigin:"50% 50%",backgroundColor:l}}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(n){this._scaleMode=n,this.resize()}get isFullScreen(){return this._isFullScreen}get cursorStyle(){return this._cursorStyle}set cursorStyle(n){this._cursorStyle=n}get cursorCSSStyle(){if(this.larksr.playerModeType==Dt.Interactive&&this.larksr.userType==At.Observer)return"not-allowed";if(!this.appMouseMode.mouseShow&&!this.appMouseMode.mouseLock)return"none";switch(this.cursorStyle.type){case Ce.ARROW:return"default";case Ce.CROSS:return"crosshair";case Ce.HAND:return"pointer";case Ce.IBEAM:return"text";case Ce.NO:return"no-drop";case Ce.SIZEALL:return"all-scroll";case Ce.SIZENESW:return"nesw-resize";case Ce.SIZENS:return"ns-resize";case Ce.SIZENWSE:return"nwse-resize";case Ce.SIZEWE:return"ew-resize";case Ce.WAIT:return"wait";case Ce.CUSTOM:return`url(${this.cursorStyle.customBase64}) ${this.cursorStyle.hotX} ${this.cursorStyle.hotY}, auto`;default:return"default"}}get appMouseMode(){return this._appMouseMode}set appMouseMode(n){this._appMouseMode=n,this.resize()}get operateScale(){const{container:n,appSize:a}=this,l=a.width?a.width:1920,f=a.height?a.height:1080;return{scaleX:l/n.width,scaleY:f/n.height}}get initCursorMode(){return this._initCursorMode}set initCursorMode(n){this._initCursorMode=n,this.resize()}get isMobile(){return this._isMobile}get isLocalRenderMouse(){const{initCursorMode:n,appMouseMode:a}=this;return n!==2&&(n===1||a.mouseLock)&&a.mouseShow}get isLockMosue(){const{appMouseMode:n,initCursorMode:a}=this;return a!==2&&(a===1||n.mouseLock)}get rootElement(){return this._rootElement}get handleRootElementSize(){return this._handleRootElementSize}get onlyHandleRootElementTransform(){return this._onlyHandleRootElementTransform}get baseElementScale(){return this._baseElementScale}get wechatFullScreen(){return this._wechatFullScreen}constructor(n,a,l,f=!0,S=!1){super(),this._appSize={width:1920,height:1080},this._originAppSize={width:1920,height:1080},this._viewPort={width:1920,height:1080,scrollX:!1,scrollY:!1},this._container={marginTop:0,marginLeft:0,width:0,height:0},this._screenOrientation="portrait",this._scaleMode=M.CONTAIN_APP,this._isFullScreen=!1,this._cursorStyle={type:Ce.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=0,this._isMobile=!1,this._handleRootElementSize=!0,this._onlyHandleRootElementTransform=!1,this._baseElementScale=1,this._wechatFullScreen=!1,this.resize=this.resize.bind(this),this.larksr=l,this._rootElement=n,this._handleRootElementSize=f,this._onlyHandleRootElementTransform=S,this.mobileForceLandScape=a.mobileForceLandscape,this.bgColor=a.bgColor,this.reset(a),window.addEventListener("resize",()=>{I.isIOSSafari?window.setTimeout(()=>{this.resize(this.baseElementScale,!0)},100):this.resize(this.baseElementScale,!0)}),window.addEventListener("orientationchange",()=>{I.isIOSSafari?window.setTimeout(()=>{this.resize(this.baseElementScale,!0)},100):this.resize(this.baseElementScale,!0)}),!S&&f||(u.info("onlyHandleRootElementTransform"),n.addEventListener("resize",()=>{u.info("resize when only handle root element transform"),window.setTimeout(()=>{u.info("timeout resize when only handle root element transform"),this.resize(this.baseElementScale,!0)},100)})),this.resize(this.baseElementScale),window.setTimeout(()=>{this.resize(this.baseElementScale,!0)},200)}reset(n){this._initCursorMode=n.initCursorMode,this._isMobile=I.isMobile,this._scaleMode=n.scaleMode,this.mobileForceLandScape=n.mobileForceLandscape,this.bgColor=n.bgColor,this.resize()}setMobileForceLandScape(n){this.mobileForceLandScape=n,this.resize()}resize(n=1,a=!1){const l=k.getViewport();this._baseElementScale=n;let f=this.viewPort.width,S=this.viewPort.height,O=this.scaleMode,E=0,C=0;this.handleRootElementSize&&!this.onlyHandleRootElementTransform?(E=l.width,C=l.height-0):(E=k.getElementViewport(this.rootElement,n).width,C=k.getElementViewport(this.rootElement,n).height-0,this.onlyHandleRootElementTransform&&u.info("rezie when only handle root element transform",E,C)),E=k.evenNumber(E),C=k.evenNumber(C);let L=1,w=k.deepCopy(this.container),V=1;if(I.isMobile&&this.handleRootElementSize)if(this.mobileForceLandScape)if(u.info("screen.orientation width",E," height ",C),I.isWeChat)if(this.larksr.fullScreen&&this.larksr.fullScreen.isFullScreen)this._screenOrientation="portrait",u.info("wechat full screen",k.getViewport(),window.orientation),this._wechatFullScreen=!0;else{if(E<C){if(!this.onlyHandleRootElementTransform){const te=E;E=C,C=te}this._screenOrientation="landscape",u.info("wx landscape mode",k.getViewport(),E,C,window.orientation)}else this._screenOrientation="portrait",u.info("wx portrait mode",k.getViewport(),E,C,window.orientation);this._wechatFullScreen=!1}else if(this.larksr.params.ignoreScreenOrientation){if(E<C){if(!this.onlyHandleRootElementTransform){const te=E;E=C,C=te}this._screenOrientation="landscape",u.info("ignoreScreenOrientation landscape mode",k.getViewport(),E,C,window.orientation)}else this._screenOrientation="portrait",u.info("ignoreScreenOrientation portrait mode",k.getViewport(),E,C,window.orientation);this._wechatFullScreen=!1}else if(window.orientation!=null&&window.orientation===0){if(!this.onlyHandleRootElementTransform){const te=E;E=C,C=te}this._screenOrientation="landscape",u.info("landscape mode",k.getViewport(),E,C,window.orientation),this._wechatFullScreen=!1}else this._screenOrientation="portrait",u.info("portrait mode",k.getViewport(),window.orientation),this._wechatFullScreen=!1;else this._screenOrientation="portrait",u.info("portrait mode",k.getViewport(),window.orientation);let _=this.appSize.width?this.appSize.width:1920,z=this.appSize.height?this.appSize.height:1080;this.larksr.remoteScreenReady||(_=E,z=C,this.appSize.width=E,this.appSize.height=C),_=2*Math.floor(_/2),z=2*Math.floor(z/2);let B=!1,J=!1;switch(u.info("resize ",this.appSize,_,z,l),O){case M.FIT_SCREEN:u.info("resize scale mode FIT_SCREEN"),L=Math.min(E/_,C/z),w.marginTop=.5*k.evenNumber(C-z*L),w.marginLeft=.5*k.evenNumber(E-_*L),w.width=k.evenNumber(_*L),w.height=k.evenNumber(z*L);break;case M.CONTAIN_VIDEO:u.info("resize scale mode CONTAIN_VIDEO"),L=Math.min(E/f,C/S),L<1&&(f*=L,S*=L),V=Math.min(f/_,S/z),V=V<1?V:1,w.width=k.evenNumber(_*V),w.height=k.evenNumber(z*V),w.marginTop=.5*k.evenNumber(C-w.height),w.marginLeft=.5*k.evenNumber(E-w.width);break;case M.CONTAIN_APP:u.info("resize scale mode CONTAIN_APP"),L=Math.min(E/_,C/z),L=L<1?L:1,w.width=k.evenNumber(_*L),w.height=k.evenNumber(z*L),w.marginTop=.5*k.evenNumber(C-w.height),w.marginLeft=.5*k.evenNumber(E-w.width);break;case M.FILL_CLIP:u.info("resize scale mode FILL_CLIP"),L=Math.max(E/_,C/z),w.width=k.evenNumber(_*L),w.height=k.evenNumber(z*L),w.marginTop=.5*k.evenNumber(C-w.height),w.marginLeft=.5*k.evenNumber(E-w.width);break;case M.FILL_STRETCH:u.info("resize scale mode FILL_STRETCH"),w.width=E,w.height=C,w.marginTop=0,w.marginLeft=0;break;case M.SCROLL_AUTO:u.info("resize scale mode SCROLL_AUTO"),w.width=_,w.height=z,w.marginTop=_>E?0:.5*k.evenNumber(C-w.height),w.marginLeft=z>C?0:.5*k.evenNumber(E-w.width),B=!0,J=!0;break;case M.SCROLL_X_FILL_Y:u.info("resize scale mode SCROLL_X_FILL_Y"),w.width=_,w.height=C,w.marginTop=0,w.marginLeft=z>C?0:.5*k.evenNumber(E-w.width),B=!0,J=!1;break;case M.SCROLL_X_CLIP_Y:u.info("resize scale mode SCROLL_X_CLIP_Y"),w.width=_,w.height=z,w.marginTop=_>E?0:.5*k.evenNumber(C-w.height),w.marginLeft=z>C?0:.5*k.evenNumber(E-w.width),B=!0,J=!1;break;case M.SCROLL_X_CONTAIN_Y:u.info("resize scale mode SCROLL_X_CONTAIN_Y"),L=C/z,w.width=_,w.height=C>z?k.evenNumber(z*L):C,w.marginLeft=0,w.marginTop=C>z?.5*k.evenNumber(C-w.height):0,B=!0,J=!1;break;case M.SCROLL_X_OVERFLOW_SCROLL_FILL_Y:u.info("resize scale mode SCROLL_X_OVERFLOW_SCROLL_FILL_Y"),w.width=_,w.height=C>z?C:z,w.marginTop=0,w.marginLeft=_>E?0:.5*k.evenNumber(E-w.width),B=!0,J=!0;break;case M.SCROLL_X_FILL_Y_ASPECT:u.info("resize scale mode SCROLL_X_FILL_Y_ASPECT"),L=C/z,w.width=_*L,w.height=C,w.marginTop=0,w.marginLeft=w.width>E?0:.5*k.evenNumber(E-w.width),B=!0,J=!1;break;case M.SCROLL_Y_FILL_X:u.info("resize scale mode SCROLL_Y_FILL_X"),w.width=C,w.height=_,w.marginTop=C>z?.5*k.evenNumber(C-w.height):0,w.marginLeft=0,B=!1,J=!0;break;case M.SCROLL_Y_CLIP_X:u.info("resize scale mode SCROLL_Y_CLIP_X"),w.width=_,w.height=z,w.marginTop=C>z?.5*k.evenNumber(C-w.height):0,w.marginLeft=0,B=!1,J=!0;break;case M.SCROLL_Y_CONTAIN_X:u.info("resize scale mode SCROLL_Y_CONTAIN_X"),L=E/_,w.width=E>_?k.evenNumber(_*L):E,w.height=z,w.marginLeft=E>_?.5*k.evenNumber(E-w.width):0,w.marginTop=0,B=!1,J=!0;break;case M.SCROLL_Y_OVERFLOW_SCROLL_FILL_X:u.info("resize scale mode SCROLL_Y_OVERFLOW_SCROLL_FILL_X"),w.width=E>_?E:_,w.height=z,w.marginTop=C>z?.5*k.evenNumber(C-w.height):0,w.marginLeft=0,B=!0,J=!0;break;case M.SCROLL_Y_FILL_X_ASPECT:u.info("resize scale mode SCROLL_Y_FILL_X_ASPECT"),L=E/_,w.width=E,w.height=z*L,w.marginTop=C>z?.5*k.evenNumber(C-w.height):0,w.marginLeft=0,B=!1,J=!0;break;default:u.warn("unsupport scale modle")}this._viewPort={width:E,height:C,scrollX:B,scrollY:J},this._container=w,this.handleRootElementSize&&(this._screenOrientation==="landscape"?(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:w,viewPort:this._viewPort}),a&&this.emit({target:this,type:1,container:w,viewPort:this._viewPort})}scrollToCenter(){let n=this.larksr.viewportElement,a=this.container.width,l=this.container.height,f=this.viewPort.width,S=this.viewPort.height,O=!1,E=0,C=0;switch(this.scaleMode){case M.SCROLL_AUTO:a>f&&(O=!0,E=(a-f)/2),l>S&&(O=!0,C=(l-S)/2),u.info("scrollToCenter scale mode SCROLL_AUTO",n,E,C);break;case M.SCROLL_X_FILL_Y:u.info("scrollToCenter scale mode SCROLL_AUTO"),a>f&&(O=!0,E=(a-f)/2);break;case M.SCROLL_X_CLIP_Y:u.info("scrollToCenter scale mode SCROLL_X_CLIP_Y"),a>f&&(O=!0,E=(a-f)/2);break;case M.SCROLL_X_CONTAIN_Y:u.info("scrollToCenter scale mode SCROLL_X_CONTAIN_Y"),a>f&&(O=!0,E=(a-f)/2);break;case M.SCROLL_X_OVERFLOW_SCROLL_FILL_Y:u.info("scrollToCenter scale mode SCROLL_X_OVERFLOW_SCROLL_FILL_Y"),a>f&&(O=!0,E=(a-f)/2);break;case M.SCROLL_X_FILL_Y_ASPECT:u.info("scrollToCenter scale mode SCROLL_X_FILL_Y_ASPECT"),a>f&&(O=!0,E=(a-f)/2);break;case M.SCROLL_Y_FILL_X:u.info("scrollToCenter scale mode SCROLL_Y_FILL_X"),l>S&&(O=!0,C=(l-S)/2);break;case M.SCROLL_Y_CLIP_X:u.info("scrollToCenter scale mode SCROLL_Y_CLIP_X"),l>S&&(O=!0,C=(l-S)/2);break;case M.SCROLL_Y_CONTAIN_X:u.info("scrollToCenter scale mode SCROLL_Y_CONTAIN_X"),l>S&&(O=!0,C=(l-S)/2);break;case M.SCROLL_Y_OVERFLOW_SCROLL_FILL_X:u.info("scrollToCenter scale mode SCROLL_Y_OVERFLOW_SCROLL_FILL_X"),l>S&&(O=!0,C=(l-S)/2);break;case M.SCROLL_Y_FILL_X_ASPECT:u.info("scrollToCenter scale mode SCROLL_Y_FILL_X_ASPECT"),l>S&&(O=!0,C=(l-S)/2);break;default:u.info("not scroll type")}O&&n.scrollTo(E,C)}}(function(o){o[o.SINGLE_FINGER_TOUCH_START=1]="SINGLE_FINGER_TOUCH_START",o[o.SINGLE_FINGER_TAP=2]="SINGLE_FINGER_TAP",o[o.SINGLE_FINGER_TAP_DOWN=3]="SINGLE_FINGER_TAP_DOWN",o[o.SINGLE_FINGER_TAP_UP=4]="SINGLE_FINGER_TAP_UP",o[o.SINGLE_FINGER_SWIPE=5]="SINGLE_FINGER_SWIPE",o[o.SINGLE_FINGER_SWIPE_START=6]="SINGLE_FINGER_SWIPE_START",o[o.SINGLE_FINGER_SWIPE_END=7]="SINGLE_FINGER_SWIPE_END",o[o.DOUBLE_FINGER_TAP=8]="DOUBLE_FINGER_TAP",o[o.DOUBLE_FINGER_TAP_DOWN=9]="DOUBLE_FINGER_TAP_DOWN",o[o.DOUBLE_FINGER_TAP_UP=10]="DOUBLE_FINGER_TAP_UP",o[o.DOUBLE_FINGER_SWIPE=11]="DOUBLE_FINGER_SWIPE",o[o.DOUBLE_FINGER_SWIPE_START=12]="DOUBLE_FINGER_SWIPE_START",o[o.DOUBLE_FINGER_SWIPE_END=13]="DOUBLE_FINGER_SWIPE_END",o[o.DOUBLE_FINGER_EXPAND=14]="DOUBLE_FINGER_EXPAND",o[o.DOUBLE_FINGER_SHRINK=15]="DOUBLE_FINGER_SHRINK",o[o.DOUBLE_FINGER_SPIN=16]="DOUBLE_FINGER_SPIN",o[o.TRIPLE_FINGER_TAP=17]="TRIPLE_FINGER_TAP",o[o.TRIPLE_FINGER_TAP_DOWN=18]="TRIPLE_FINGER_TAP_DOWN",o[o.TRIPLE_FINGER_TAP_UP=19]="TRIPLE_FINGER_TAP_UP",o[o.TRIPLE_FINGER_SWIPE=20]="TRIPLE_FINGER_SWIPE",o[o.TRIPLE_FINGER_SWIPE_START=21]="TRIPLE_FINGER_SWIPE_START",o[o.TRIPLE_FINGER_SWIPE_END=22]="TRIPLE_FINGER_SWIPE_END",o[o.RELEASE=23]="RELEASE",o[o.NONE=24]="NONE",o[o.TEST=25]="TEST"})(re||(re={}));class _n extends g{setTapLimitRadius(n){this.tapLimit.radius=n}setTapLimitTimeout(n){this.tapLimit.timeout=n}constructor(n=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=n,this.initTouchStatus(),this.tapLimit={radius:20,timeout:200},this.lastTap={position:{x:0,y:0},timeStamp:0},this.onTouch=this.onTouch.bind(this)}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),{passive:!1}),this.root.addEventListener("touchcancel",this.onTouch.bind(this),{passive:!1}))}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(n,a={x:0,y:0},l={x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}},f=0){return{type:0,gestrueType:n,position:a,motion:l,distance:f}}onTouch(n){n.cancelable?n.preventDefault():u.warn("cant cancle touch event",n);let a=Date.now();switch(u.info("gesture on touch",a,n.type),n.type){case"touchstart":if(this.touchStartPoints.length===0&&n.targetTouches.length===1&&this.touchStatus===4)this.touchStartTime=Date.now(),this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[0])),this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[0])),this.tapStart=!0,this.touchStatus=1,this.tapPressTimeout===null&&(this.tapPressTimeout=window.setTimeout(()=>{this.touchStatus===1&&this.touchStartTime!==null&&this.touchStartPoints.length>0&&Date.now()-this.touchStartTime>=this.tapLimit.timeout&&this.tapStart&&this.emit(this.createGestureEvent(re.SINGLE_FINGER_TAP_DOWN,this.touchStartPoints[0]))},this.tapLimit.timeout)),this.emit(this.createGestureEvent(re.SINGLE_FINGER_TOUCH_START,this.touchStartPoints[0]));else if(n.targetTouches.length===2){if(this.touchStatus=2,this.touchStartTime=Date.now(),this.touchChangedPoins.length===1)this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[1]));else for(let l=0;l<n.targetTouches.length;l++)this.touchChangedPoins[l]=this.getTouchStartPointsFromNativeEvent(n.targetTouches[l]);if(this.touchStartPoints.length===1)this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[1]));else for(let l=0;l<n.targetTouches.length;l++)this.touchStartPoints[l]=this.getTouchStartPointsFromNativeEvent(n.targetTouches[l]);this.tapStart=!0,this.emit(this.createGestureEvent(re.DOUBLE_FINGER_TAP_DOWN,k.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=k.midpointCoordinate(this.touchStartPoints)}else if(n.targetTouches.length===3){if(this.touchStatus=3,this.touchStartTime=Date.now(),this.touchStartPoints.length===2)this.touchStartPoints.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[2]));else for(let l=0;l<n.targetTouches.length;l++)this.touchStartPoints[l]=this.getTouchStartPointsFromNativeEvent(n.targetTouches[l]);if(this.touchChangedPoins.length===2)this.touchChangedPoins.push(this.getTouchStartPointsFromNativeEvent(n.targetTouches[2]));else for(let l=0;l<n.targetTouches.length;l++)this.touchChangedPoins[l]=this.getTouchStartPointsFromNativeEvent(n.targetTouches[l]);this.tapStart=!0,this.emit(this.createGestureEvent(re.TRIPLE_FINGER_TAP_DOWN,k.midpointCoordinate(this.touchStartPoints))),this.lastMidPoint=k.midpointCoordinate(this.touchStartPoints)}else u.warn("touchstart unexp touch event",n.targetTouches.length,n);break;case"touchmove":if(n.targetTouches.length===1&&this.touchStartPoints.length>0&&this.touchStatus===1){if(!this.tapStart||this.checkTouchPointMove(n.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let l;this.touchMoveList.length>0&&(l=this.touchMoveList[this.touchMoveList.length-1]);let f,S=this.singlePointRelativePosition(n.targetTouches[0]);l&&(f=k.vector(S,l)),this.tapStart?(this.emit(this.createGestureEvent(re.SINGLE_FINGER_SWIPE_START,S,f)),this.tapStart=!1):this.emit(this.createGestureEvent(re.SINGLE_FINGER_SWIPE,S,f)),this.touchMoveList.push(S),this.tapStart&&(this.tapStart=!1)}}else if(n.targetTouches.length===2&&this.touchStatus===2){if(!this.tapStart||this.checkTouchPointMove(n.changedTouches,this.touchStartPoints,this.tapLimit.radius)){if(n.changedTouches.length===2){let l=this.lastMidPoint,f=k.midpointCoordinate(this.multiPointRelativePosition(n.changedTouches));this.emit(this.createGestureEvent(this.multiFingerGesture(n.changedTouches),f,k.vector(f,l))),this.tapStart&&(this.emit(this.createGestureEvent(re.DOUBLE_FINGER_SWIPE_START,f,k.vector(f,l))),this.tapStart=!1),this.lastMidPoint=f}this.tapStart&&(this.tapStart=!1)}}else if(n.targetTouches.length===3&&this.touchStatus===3){if(!this.tapStart||this.checkTouchPointMove(n.changedTouches,this.touchStartPoints,this.tapLimit.radius)){let l=this.lastMidPoint,f=k.midpointCoordinate(this.multiPointRelativePosition(n.changedTouches));n.changedTouches.length===3?(this.tapStart&&(this.emit(this.createGestureEvent(re.TRIPLE_FINGER_SWIPE_START,f,k.vector(f,l))),this.tapStart=!1),this.emit(this.createGestureEvent(this.multiFingerGesture(n.changedTouches),f,k.vector(f,l))),this.lastMidPoint=f):this.emit(this.createGestureEvent(this.multiFingerGesture(n.changedTouches),f,k.vector(f,l))),this.tapStart&&(this.tapStart=!1)}}else u.warn("touchmove unexp touch move",this.touchStatus,n.targetTouches.length);break;case"touchend":case"touchcancel":if(n.changedTouches.length===1&&n.targetTouches.length===0&&this.touchStartTime&&this.touchStartPoints.length===1&&this.touchStartPoints[0].id===n.changedTouches[0].identifier)if(this.tapStart){let l=this.singlePointRelativePosition(n.changedTouches[0]),f=Date.now();f-this.touchStartTime<this.tapLimit.timeout?(this.emit(this.createGestureEvent(re.SINGLE_FINGER_TAP,l)),this.lastTap={position:l,timeStamp:f}):(this.emit(this.createGestureEvent(re.SINGLE_FINGER_TAP_UP,l)),u.info("touch tap"))}else{let l=this.singlePointRelativePosition(n.changedTouches[0]);this.emit(this.createGestureEvent(re.SINGLE_FINGER_SWIPE_END,l))}else if(n.changedTouches.length>=1&&this.touchStartTime&&n.targetTouches.length===1&&this.touchStartPoints.length===2)if(this.tapStart)Date.now()-this.touchStartTime<this.tapLimit.timeout?this.emit(this.createGestureEvent(re.DOUBLE_FINGER_TAP,k.midpointCoordinate(this.touchStartPoints))):this.emit(this.createGestureEvent(re.DOUBLE_FINGER_TAP_UP,k.midpointCoordinate(this.touchStartPoints)));else{const l=k.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(re.DOUBLE_FINGER_SWIPE_END,l))}else if(n.changedTouches.length>=1&&this.touchStartTime&&this.touchStartPoints.length===3)if(this.tapStart)Date.now()-this.touchStartTime<this.tapLimit.timeout&&(this.emit(this.createGestureEvent(re.TRIPLE_FINGER_TAP,k.midpointCoordinate(this.touchStartPoints))),this.emit(this.createGestureEvent(re.TRIPLE_FINGER_TAP_UP,k.midpointCoordinate(this.touchStartPoints))));else{const l=k.midpointCoordinate(this.touchStartPoints);this.emit(this.createGestureEvent(re.TRIPLE_FINGER_SWIPE_END,l))}else this.emit(this.createGestureEvent(re.RELEASE)),u.warn("touchend unexp touch event",n.changedTouches.length,this.touchStartPoints.length,this.touchStartTime);this.releaseTouchTap(),this.initTouchStatus()}}multiFingerGesture(n){let a=[],l=k.deepCopyArray(this.touchChangedPoins);for(let f=0;f<n.length;f++)for(let S=0;S<l.length;S++)if(n[f].identifier===l[S].id){let O=this.getTouchChangedPoinsFromNativeEvent(n[f]);a.push(k.vector(O,l[S])),this.touchChangedPoins[S]=O}switch(this.touchStatus){case 2:if(a.length!==2)return u.warn("double finger vector not two",a,this.touchChangedPoins),re.NONE;{let f=k.vectorCosAngle(a[0],a[1]);if(f>.5)return re.DOUBLE_FINGER_SWIPE;if(f<-.5){let S=k.vector(a[0].startPoint,a[1].startPoint),O=k.vector(a[0].endPoint,a[1].endPoint),E=k.vectorModule(S),C=k.vectorModule(O);return E-C>0?(u.info("DOUBLE_FINGER distance add"),re.DOUBLE_FINGER_EXPAND):E-C<0?(u.info("DOUBLE_FINGER distance minu"),re.DOUBLE_FINGER_SHRINK):(u.info("DOUBLE_FINGER_SPIN",f),re.DOUBLE_FINGER_SPIN)}}break;case 3:if(a.length===3)return re.TRIPLE_FINGER_SWIPE;break;default:return u.warn("wrong touch status",this.touchStatus),re.NONE}return re.NONE}checkTouchPointMove(n,a,l){let f=k.deepCopyArray(a);for(let S=0;S<n.length;S++)for(let O=0;O<f.length;O++)if(n[S].identifier===f[O].id){let E=this.singlePointRelativePosition(n[S]);if(k.pointsDistance(E,f[O])>l)return!0}return!1}getTouchStartPointsFromNativeEvent(n){let a=this.singlePointRelativePosition(n);return{id:n.identifier,x:a.x,y:a.y}}getTouchChangedPoinsFromNativeEvent(n){return this.getTouchStartPointsFromNativeEvent(n)}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(n){return n.clientX&&n.clientY?{x:n.clientX,y:n.clientY}:{x:0,y:0}}multiPointRelativePosition(n){const a=[];for(let l=0;l<n.length;l++)a.push(this.singlePointRelativePosition(n[l]));return a}}function jn(o,n=!0,a,l){const{container:f,appSize:S,screenOrientation:O}=a,E=a.operateScale;let C={x:0,y:0,rx:0,ry:0,edge:!1};const L=k.getOffsetViewport(l);return O==="landscape"?a.handleRootElementSize?(C.x=o.position.y-f.marginLeft,C.y=Math.abs(o.position.x-f.height-f.marginTop),C.rx=o.motion.y,C.ry=o.motion.x):(C.x=(o.position.y-L.offsetX)/a.baseElementScale,C.y=Math.abs(o.position.x-f.height-L.offsetY)/a.baseElementScale,C.rx=o.motion.y,C.ry=o.motion.x):a.handleRootElementSize?(C.x=o.position.x-f.marginLeft,C.y=o.position.y-f.marginTop,C.rx=o.motion.x,C.ry=o.motion.y):(C.x=(o.position.x-L.offsetX)/a.baseElementScale,C.y=(o.position.y-L.offsetY)/a.baseElementScale,C.rx=o.motion.x,C.ry=o.motion.y),C.x=Math.round(C.x*E.scaleX),C.y=Math.round(C.y*E.scaleY),n?(C.rx=-Math.round(C.rx*E.scaleX),C.ry=-Math.round(C.ry*E.scaleY)):(C.rx=-Math.round(C.rx*E.scaleX),C.ry=Math.round(C.ry*E.scaleY)),C.x<0&&(C.x=0,C.edge=!0),S.width&&C.x>S.width&&(C.x=S.width,C.edge=!0),C.y<0&&(C.y=0,C.edge=!0),S.height&&C.y>S.height&&(C.y=S.height,C.edge=!0),C}class qt{set enable(n){this._enable=n}get enable(){return this._enable}constructor(n){this._enable=!0,this.op=n}}class Mr extends qt{set mouseZoomDirection(n){this._mouseZoomDirection=n}get mouseZoomDirection(){return this._mouseZoomDirection}set tapLimitRadius(n){this.gesture.setTapLimitRadius(n)}set tapLimitTimeout(n){this.gesture.setTapLimitTimeout(n)}set relativeMouseMoveSpeed(n){this._relativeMouseMoveSpeed=n}get relativeMouseMoveSpeed(){return this._relativeMouseMoveSpeed}set gestureCallback(n){this._gestureCallback=n}get gestureCallback(){return this._gestureCallback}constructor(n,a){super(a),this.pressedMouseButtons=[],this._relativeMouseMoveSpeed=2,this._gestureCallback=null,this.rootElement=n,this.gesture=new _n(n),this.gesture.startListening(),this.onGesture=this.onGesture.bind(this),this._mouseZoomDirection=a.larksr.params.mouseZoomDirection}startListening(){this.gesture.on(0,this.onGesture,this)}stopListening(){this.gesture.off(0,this.onGesture,this)}setRootElement(n){this.rootElement=n,this.gesture.stopListening(),this.gesture=new _n(n),this.gesture.startListening()}onGesture(n){if(!this._enable)return;if(this.op.larksr.params.touchOperateMode==="touchScreen")return void u.info("cancle mouse gesture when touchOperateMode not mouse",this.op.larksr.params.touchOperateMode);const a=n,{screenOrientation:l,viewPort:f,container:S}=this.op.larksr.screenState;if(n.position.x!=0&&n.position.y!=0){const E=k.getOffsetViewport(this.rootElement);if(l==="landscape"){const C={x:n.position.x,y:n.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:C.y-S.marginLeft,y:f.height-C.x-S.marginTop}):this.op.$emitCursorMove({x:(C.y-E.offsetX)/this.op.screenState.baseElementScale,y:(f.height-C.x-E.offsetY)/this.op.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:n.position.x-S.marginLeft,y:n.position.y-S.marginTop}):this.op.$emitCursorMove({x:(n.position.x-E.offsetX)/this.op.screenState.baseElementScale,y:(n.position.y-E.offsetY)/this.op.screenState.baseElementScale})}const O=jn(a,l!=="landscape",this.op.larksr.screenState,this.rootElement);if(O.edge)return u.info("release when edge",O,n.gestrueType,n),void this.releaseMouseButtons(O);if(O.rx*=this._relativeMouseMoveSpeed,O.ry*=this._relativeMouseMoveSpeed,this._gestureCallback)this._gestureCallback(Object.assign(Object.assign({type:n.gestrueType},O),{rawEvent:n}));else switch(n.gestrueType){case re.SINGLE_FINGER_TOUCH_START:u.info("SINGLE_FINGER_TOUCH_START"),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry);break;case re.SINGLE_FINGER_TAP:u.info("SINGLE_FINGER_TAP"),this.op.$emitMouseTap(O.x,O.y,m.CloudLark.MouseKey.LEFT);break;case re.SINGLE_FINGER_TAP_DOWN:u.info("SINGLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(O),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry),this.op.$emitMouseDown(O.x,O.y,m.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(m.CloudLark.MouseKey.LEFT);break;case re.SINGLE_FINGER_TAP_UP:u.info("SINGLE_FINGER_TAP_UP"),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry),this.op.$emitMouseUp(O.x,O.y,m.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case re.SINGLE_FINGER_SWIPE:u.info("SINGLE_FINGER_SWIPE"),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry);break;case re.SINGLE_FINGER_SWIPE_START:u.info("SINGLE_FINGER_SWIPE_START"),this.releaseMouseButtons(O),this.op.$emitMouseDown(O.x,O.y,m.CloudLark.MouseKey.LEFT),this.pressedMouseButtons.push(m.CloudLark.MouseKey.LEFT);break;case re.SINGLE_FINGER_SWIPE_END:u.info("SINGLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(O.x,O.y,m.CloudLark.MouseKey.LEFT),this.pressedMouseButtons=[];break;case re.DOUBLE_FINGER_TAP:u.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(O),this.op.$emitMouseTap(O.x,O.y,m.CloudLark.MouseKey.RIGHT);break;case re.DOUBLE_FINGER_TAP_DOWN:u.info("DOUBLE_FINGER_TAP_DOWN"),this.releaseMouseButtons(O),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry),this.op.$emitMouseDown(O.x,O.y,m.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons.push(m.CloudLark.MouseKey.RIGHT);break;case re.DOUBLE_FINGER_TAP_UP:this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry),this.op.$emitMouseUp(O.x,O.y,m.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case re.DOUBLE_FINGER_SWIPE:u.info("DOUBLE_FINGER_SWIPE"+JSON.stringify(O)),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry);break;case re.DOUBLE_FINGER_EXPAND:u.info("DOUBLE_FINGER_EXPAND"),this.releaseMouseButtons(O),this.op.$emitMouseWheel(O.x,O.y,this.mouseZoomDirection==1?120:-120);break;case re.DOUBLE_FINGER_SHRINK:u.info("DOUBLE_FINGER_SHRINK"),this.releaseMouseButtons(O),this.op.$emitMouseWheel(O.x,O.y,this.mouseZoomDirection==1?-120:120);break;case re.DOUBLE_FINGER_SWIPE_END:u.info("DOUBLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(O.x,O.y,m.CloudLark.MouseKey.RIGHT),this.pressedMouseButtons=[];break;case re.TRIPLE_FINGER_TAP:u.info("TRIPLE_FINGER_TAP"),u.info("DOUBLE_FINGER_TAP"),this.releaseMouseButtons(O),this.op.$emitMouseTap(O.x,O.y,m.CloudLark.MouseKey.MIDDLE);break;case re.TRIPLE_FINGER_SWIPE:u.info("TRIPLE_FINGER_SWIPE "+JSON.stringify(O)),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry);break;case re.TRIPLE_FINGER_SWIPE_START:u.info("TRIPLE_FINGER_SWIPE_START"),this.releaseMouseButtons(O),this.op.$emitMoseMove(O.x,O.y,O.rx,O.ry),this.op.$emitMouseDown(O.x,O.y,m.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons.push(m.CloudLark.MouseKey.MIDDLE);break;case re.TRIPLE_FINGER_SWIPE_END:u.info("TRIPLE_FINGER_SWIPE_END"),this.op.$emitMouseUp(O.x,O.y,m.CloudLark.MouseKey.MIDDLE),this.pressedMouseButtons=[];break;case re.RELEASE:this.releaseMouseButtons(O);break;case re.NONE:u.info("gesture type none")}}releaseMouseButtons(n){if(this.pressedMouseButtons.length!==0){for(let a of this.pressedMouseButtons)u.info("release mouse button",a),this.op.$emitMouseUp(n.x,n.y,a);this.pressedMouseButtons=[]}}}const Zt={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:13,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 Nr extends qt{set preventKeys(n){this._preventKeys=n}get preventKeys(){return this._preventKeys}set skipKeys(n){this._skipKeys=n}get skipKeys(){return this._skipKeys}constructor(n){super(n),this.needSyncKeyState=!1,this.fistSyncKeyState=!1,this.pressedKeys=[],this._preventKeys=["F1","F5","F12","Tab","AltLeft","AltRight","ContextMenu"],this._skipKeys=[],this.op=n,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)}startListening(){this.keyboardListenerSetup(document.documentElement,!0),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus);const n=window.navigator;n.keyboard?n.keyboard.lock().then(()=>{u.warn("request keyboard lock success")}).catch(a=>{u.warn("request keyboard lock failed ",a)}):u.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 n=window.navigator;n.keyboard&&n.keyboard.lock?n.keyboard.unlock():u.warn("keyboard unlock failed. func not found."),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(n){u.info("keyboard onLockPointChange",n);const a=n.isLockPointer;u.info("keyboard on lock change",a),a||this.releaseKeys()}keyboardListenerSetup(n,a){n?a?(n.addEventListener("keydown",this.onKeyDown),n.addEventListener("keyup",this.onKeyUp)):(n.removeEventListener("keydown",this.onKeyDown),n.removeEventListener("keyup",this.onKeyUp)):u.warn("add listener on empty element.")}onKeyDown(n){if(!this.enable)return;(this.needSyncKeyState||!this.fistSyncKeyState&&this.op.larksr.remoteScreenReady)&&(u.warn("需要同步按键状态",n.getModifierState("CapsLock")),this.op.$emitInputEvent({clientEnter:{CapsLockState:n.getModifierState("CapsLock")}}),this.needSyncKeyState=!1,this.fistSyncKeyState=!0);let a=n.code;a==="MetaLeft"&&(u.info("change command to contol on mac"),a="ControlLeft"),a==="MetaRight"&&(u.info("change command to contol on mac"),a="ControlRight");let l=Zt[a];if(l){if(this.skipKeys.find(f=>a==f))return void u.info("skip key",a);this.preventKeys.find(f=>a==f)&&n.preventDefault(),this.op.$emitKeyDown(l.vkey,n.repeat),this.pressedKeys.push(l.vkey)}}onKeyUp(n){if(!this.enable)return;let a=n.code;a==="MetaLeft"&&(u.info("change command to contol on mac"),a="ControlLeft"),a==="MetaRight"&&(u.info("change command to contol on mac"),a="ControlRight");const l=Zt[a];if(u.info("onKeyUp",l,a,this.preventKeys),l){if(this.skipKeys.find(f=>a==f))return void u.info("skip key",a);this.preventKeys.find(f=>a==f)&&n.preventDefault(),this.op.$emitKeyUp(l.vkey),this.pressedKeys=[]}}onWindowBlur(){u.info("**onWindowBlur**"),this.releaseKeys(),this.op.$emitInputEvent({clientLeave:{}})}onWindowFocus(){u.info("**onWindowFocus**"),this.needSyncKeyState=!0}onWindowVisibilityChange(){document.hidden?(u.info("**document hidden**"),this.needSyncKeyState=!0):(u.info("**document show**"),this.op.$emitInputEvent({clientLeave:{}}))}releaseKeys(){if(u.info("releaseKeys ",this.pressedKeys),this.pressedKeys.length!==0){for(let n of this.pressedKeys)u.info("releaseKeys up",n),this.op.$emitKeyUp(n);this.pressedKeys=[]}}}class xr extends qt{constructor(n,a){super(a),this.localRenderCursorPosition={x:0,y:0},this.preLockMouse=!1,this.isFocus=!1,this.subscribeUpdatePlayerListFromProtoAction=null,this.pressedMouseButtons=[],this.rootElement=n,this.op=a,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(n){this.localRenderCursorPosition=n}setRootElement(n){this.rootElement=n,this.stopListening(),this.startListening()}startListening(){this.startListenMouse(),window.addEventListener("blur",this.onWindowBlur),window.addEventListener("visibilitychange",this.onWindowVisibilityChange),window.addEventListener("focus",this.onWindowFocus),this.isIFame()&&(u.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(n){this.op.screenState.isMobile?u.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()&&(u.info("is iframe",this.isIFame()),document.body.removeEventListener("mouseenter",this.onMouseenter)),this.op.lockPointer.off(0,this.onLockPointChange,this)}onLockPointChange(n){const a=n.isLockPointer;if(u.info("on lock change",a),a)this.preLockMouse=!1,this.startLockModeListening();else{if(this.op.screenState.isMobile)return void u.info("skip mouse mode setup when user is ob.");this.op.screenState.isLockMosue&&(this.preLockMouse=!0),this.removeLockModeListening()}}initMouseMode(){const{isLockMosue:n,initCursorMode:a,isMobile:l}=this.op.screenState,{isObMode:f,userType:S}=this.op.larksr;if(u.info("initMouseMode",n,a,S),f)return u.info("skip mouse mode setup when user is ob."),void(this.preLockMouse=!1);n?this.op.lockPointer.isLockPointer?u.info("already lock mosue. lock state not change."):(this.preLockMouse=!0,this.toastMsg(t.ui.firstPersion)):(this.preLockMouse=!1,this.op.lockPointer.isLockPointer&&(!l&&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(n,a){if(!n)return void u.warn("add listener on empty element.");["mousedown","mouseup","mousemove","mouseleave","mouseout"].forEach(l=>{a?n.addEventListener(l,this.onMouse,{passive:!1}):n.removeEventListener(l,this.onMouse)}),a?(n.addEventListener("contextmenu",this.onContextmenu,{passive:!1}),n.addEventListener("wheel",this.onMouseWheel,{passive:!1}),n.addEventListener("dblclick",this.onDoubleTap,{passive:!1})):(n.removeEventListener("contextmenu",this.onContextmenu),n.removeEventListener("wheel",this.onMouseWheel),n.removeEventListener("dblclick",this.onDoubleTap))}onMouseenter(){const n=self.frameElement;u.info("on mouse enter",n),this.setFocus()}isIFame(){return self!==top}setFocus(){const n=self.frameElement;u.info("on mouse enter",n),n&&n.contentWindow?n.contentWindow.focus():self.focus(),this.isFocus=!0}onMouse(n){const{isMobile:a}=this.op.screenState,{isLockMosue:l}=this.op.screenState;if(!this.isFocus&&this.isIFame()&&this.setFocus(),!this.enable||a)return;const f=this.getMousePosition(n);if(!f)return void this.releaseMouseButtons(0,0);if(n.preventDefault(),this.preLockMouse&&n.type==="mousedown"&&!this.op.lockPointer.isLockPointer)return;if(this.preLockMouse&&n.type==="mouseup"&&!this.op.lockPointer.isLockPointer)return u.warn("request lock mouse",this.preLockMouse),void this.op.lockPointer.requestLockPointer();if(this.op.$emitCursorMove({x:f.renderX,y:f.renderY}),!a&&l&&!this.op.lockPointer.isLockPointer)return void u.info("request lock mouse but not lock. skip mouse event.",this.preLockMouse);let S=m.CloudLark.MouseKey.LEFT;switch(n.which){case 1:S=m.CloudLark.MouseKey.LEFT;break;case 2:S=m.CloudLark.MouseKey.MIDDLE;break;case 3:S=m.CloudLark.MouseKey.RIGHT}switch(n.type){case"mousedown":this.op.$emitMouseDown(f.x,f.y,S),this.pressedMouseButtons.push(S);break;case"mouseup":this.op.$emitMouseUp(f.x,f.y,S),this.pressedMouseButtons=[];break;case"mousemove":this.op.$emitMoseMove(f.x,f.y,f.rx,f.ry);break;default:return u.info("unknown mouse type",n.type),void this.releaseMouseButtons(f.x,f.y)}}onDoubleTap(n){}onContextmenu(n){n.preventDefault()}onMouseWheel(n){if(!this.enable)return;n.preventDefault();const a=this.getMousePosition(n);if(!a)return;const l=n.deltaY>0?-120:120;this.op.$emitMouseWheel(a.x,a.y,l)}getMousePosition(n){const a=this.op.screenState.operateScale,l=this.op.screenState.appSize,f=this.op.screenState.container,S=this.op.screenState.baseElementScale,O=this.op.screenState.appMouseMode.mouseShow,E=this.op.screenState.appMouseMode.rect,C=k.singlePointRelativePosition(n,this.rootElement);let L=this.op.screenState.handleRootElementSize?C.x:C.x/S,w=this.op.screenState.handleRootElementSize?C.y:C.y/S,V=Math.round(L*a.scaleX),_=Math.round(w*a.scaleY),z=n.movementX*a.scaleX,B=n.movementY*a.scaleX,J=0,te=0;if(this.op.lockPointer.isLockPointer){J=this.localRenderCursorPosition.x+z,te=this.localRenderCursorPosition.y+B;let $=0,ke=0,ve=f.width,Le=f.height;J>ve&&(J=ve,O&&this.toastMsg(t.ui.releaseMouse)),J<ke&&(J=ke,O&&this.toastMsg(t.ui.releaseMouse)),te>Le&&(te=Le,O&&this.toastMsg(t.ui.releaseMouse)),te<$&&(te=$,O&&this.toastMsg(t.ui.releaseMouse)),this.localRenderCursorPosition.x=J,this.localRenderCursorPosition.y=te,V=Math.floor(J*a.scaleX),_=Math.floor(te*a.scaleY)}else J=L,te=w;return V<0||_<0||l.width&&V>l.width||l.height&&_>l.height?(u.info("outside app screen",V,_,l,E,n),null):{x:V,y:_,rx:z,ry:B,lx:L,ly:w,renderX:J,renderY:te}}onWindowBlur(){u.info("**onWindowBlur**"),this.isFocus=!1,this.releaseMouseButtons(0,0)}onWindowFocus(){u.info("**onWindowFocus**"),this.isFocus=!0}onWindowVisibilityChange(){document.hidden?(u.info("**document hidden**"),this.isFocus=!1):u.info("**document show**")}releaseMouseButtons(n=0,a=0){if(this.op.releaseKeys(),this.pressedMouseButtons.length!==0){for(let l of this.pressedMouseButtons)u.info("release mouse button",l),this.op.$emitMouseUp(n,a,l);this.pressedMouseButtons=[]}}toastMsg(n){u.info("toastMsg",n),this.op.larksr.$emit(r.LK_WEBCLIENT_TOAST_MSG,n,n),this.op.larksr.$emitInfo(n)}}const Fn={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},zn=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame;class Vr extends qt{constructor(n){super(n),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 n="GamepadEvent"in window,a="WebKitGamepadEvent"in window;n?(window.addEventListener("gamepadconnected",this.connectHandler),window.addEventListener("gamepaddisconnected",this.disconnectHandler)):a?(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 n="GamepadEvent"in window,a="WebKitGamepadEvent"in window;n?(window.removeEventListener("gamepadconnected",this.connectHandler),window.removeEventListener("gamepaddisconnected",this.disconnectHandler)):a?(window.removeEventListener("webkitgamepadconnected",this.connectHandler),window.removeEventListener("webkitgamepaddisconnected",this.disconnectHandler)):this.scanTimer!=-1&&clearInterval(this.scanTimer),window.removeEventListener("blur",this.onWindowBlur),window.removeEventListener("visibilitychange",this.onWindowVisibilityChange),window.removeEventListener("focus",this.onWindowFocus)}scanGamepads(){const n=window.navigator,a=n.getGamepads?n.getGamepads():n.webkitGetGamepads?n.webkitGetGamepads():[];for(let l=0;l<a.length;l++)a[l]&&this.gamepads.has(a[l].index)&&this.gamepads.set(a[l].index,a[l])}connectHandler(n){this.addGamepad(n.gamepad)}disconnectHandler(n){this.removeGamepad(n.gamepad)}addGamepad(n){u.info("on add gamepad",n),this.gamepads.set(n.index,n),this.deviceIndexMap.set(n.index,this.gamepads.size-1),zn(this.updateStatus)}removeGamepad(n){u.info("on remove gamepad",n),this.gamepads.delete(n.index),this.deviceIndexMap.delete(n.index)}updateStatus(){this.scanGamepads(),this.gamepads.forEach((n,a,l)=>{const f=this.lastGamepadState.get(a);if(!f)return void this.lastGamepadState.set(a,k.deepCopy(n));const S=this.deviceIndexMap.get(a);n.buttons.forEach((O,E,C)=>{const L=f.buttons[E],w=O.pressed||O.touched||O.value==1,V=L.pressed||L.touched||L.value==1;w?this.onButtonDown(S,E,w==V):w!=V&&this.onButtonUp(S,E)});for(let O=0;O<n.axes.length;O++)if(n.axes[O]!=f.axes[O]){this.onAxes(S,n.axes);break}this.lastGamepadState.set(a,k.deepCopy(n))}),zn(this.updateStatus)}onButtonDown(n,a,l){if(!this.pause)if(a==6||a==7)this.op.$emitGamepadTrigger(n,a==6,255);else{const f=Fn[a];f!=-1&&this.op.$emitGamepadButtonDown(n,f,l)}}onButtonUp(n,a){if(!this.pause)if(a==6||a==7)this.op.$emitGamepadTrigger(n,a==6,0);else{const l=Fn[a];l!=-1&&this.op.$emitGamepadButtonUp(n,l)}}onAxes(n,a){if(this.pause)return;const l=[];for(let f of a)l.push(Math.round(32767*f));this.op.$emitJoystick(n,l[0],-l[1],l[2],-l[3])}onWindowBlur(){u.info("**onWindowBlur**"),this.pause=!0}onWindowFocus(){u.info("**onWindowFocus**"),this.pause=!1}onWindowVisibilityChange(){this.pause=document.hidden}}class Dr extends qt{constructor(n,a){super(a),this.touchId=0,this.touchMap=new Map,this.root=n,this.op=a,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(n){if(!this.enable)return void u.info("disable ontouch event",this.enable);n.cancelable?n.preventDefault():u.warn("cant cancle touch event",n);let a=!1;for(const l of n.changedTouches){const f={gestrueType:re.NONE,position:{x:l.clientX,y:l.clientY},motion:{x:0,y:0,startPoint:{x:0,y:0},endPoint:{x:0,y:0}}},S=jn(f,!0,this.op.larksr.screenState,this.root);if(!a){const{screenOrientation:O,viewPort:E,container:C}=this.op.larksr.screenState;if(f.position.x!=0&&f.position.y!=0){const L=k.getOffsetViewport(this.root);if(O==="landscape"){const w={x:f.position.x,y:f.position.y};this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:w.y-C.marginLeft,y:E.height-w.x-C.marginTop}):this.op.$emitCursorMove({x:(w.y-L.offsetX)/this.op.larksr.screenState.baseElementScale,y:(E.height-w.x-L.offsetY)/this.op.larksr.screenState.baseElementScale})}else this.op.larksr.screenState.handleRootElementSize?this.op.$emitCursorMove({x:f.position.x-C.marginLeft,y:f.position.y-C.marginTop}):this.op.$emitCursorMove({x:(f.position.x-L.offsetX)/this.op.larksr.screenState.baseElementScale,y:(f.position.y-L.offsetY)/this.op.larksr.screenState.baseElementScale})}a=!0}switch(n.type){case"touchstart":this.touchId++,this.touchMap.set(l.identifier,this.touchId),this.op.$emitTouchDown(this.touchId,S.x,S.y);break;case"touchmove":{const O=this.touchMap.get(l.identifier);O&&this.op.$emitTouchMove(O,S.x,S.y)}break;case"touchend":case"touchcancel":{const O=this.touchMap.get(l.identifier);O&&(this.op.$emitTouchUp(O,S.x,S.y),this.touchMap.delete(l.identifier))}}}return!0}}class Xn extends g{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(n){this._enableParse=n}get enableParse(){return this._enableParse}get lastOperationTimestampMs(){return this._lastOperationTimestampMs}updateOperation(){this._lastOperationTimestampMs=Date.now()}setRootElement(n){this.gestureHandler.setRootElement(n)}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(n){this.gestureHandler.mouseZoomDirection=n}set aerialviewStatus(n){this._aerialviewStatus=n}get aerialviewStatus(){return this._aerialviewStatus}get aerialViewEnable(){var n,a,l,f,S,O,E,C;return!!(this._aerialviewStatus&&this._aerialviewStatus.status&&this._aerialviewStatus.currentBox&&((n=this._aerialviewStatus.currentBox)===null||n===void 0?void 0:n.maxx)!=null&&((a=this._aerialviewStatus.currentBox)===null||a===void 0?void 0:a.maxx)!=null&&((l=this._aerialviewStatus.currentBox)===null||l===void 0?void 0:l.minx)!=null&&((f=this._aerialviewStatus.currentBox)===null||f===void 0?void 0:f.minx)!=null&&((S=this._aerialviewStatus.currentBox)===null||S===void 0?void 0:S.miny)!=null&&((O=this._aerialviewStatus.currentBox)===null||O===void 0?void 0:O.miny)!=null&&((E=this._aerialviewStatus.currentBox)===null||E===void 0?void 0:E.maxy)!=null&&((C=this._aerialviewStatus.currentBox)===null||C===void 0?void 0:C.maxy)!=null)}get aerialViewBox(){var n;return this.aerialViewEnable&&this._aerialviewStatus&&this._aerialviewStatus.status&&this._aerialviewStatus.currentBox?(n=this._aerialviewStatus)===null||n===void 0?void 0:n.currentBox:{minx:0,maxx:0,miny:0,maxy:0}}constructor(n,a){super(),this._startListen=!1,this._enableParse=!0,this._lastOperationTimestampMs=0,this.operationTimeout=null,this._aerialviewStatus=null,this._larksr=a,this._gestureHandler=new Mr(n,this),this._keyboardHandler=new Nr(this),this._mouseHandler=new xr(n,this),this._gamepadHandler=new Vr(this),this._touchHandler=new Dr(n,this),this.onPaste=this.onPaste.bind(this)}setMouseEnable(n){this.mouseHandler.enable=n}setKeyboardEnable(n){this.keyboardHandler.enable=n}setGamepadEnable(n){this.gamepadHandler.enable=n}setTouchEnable(n){this.touchHandler.enable=n}setGestureEnable(n){this.gestureHandler.enable=n}resetLocalRendreMousePosition(){const{container:n}=this.larksr.screenState,a={x:n.width/2,y:n.height/2};this.mouseHandler.resetLocalRendreMousePosition(a)}setAppMouseMode(n){this.mouseHandler.setAppMouseMode(n)}resetAppMouseLockState(){this.mouseHandler.initMouseMode()}releaseKeys(){this.keyboardHandler.releaseKeys()}startListening(){this._startListen?u.warn("already start listening"):(this._startListen=!0,this.larksr.params.touchOperateMode==="mix"?(u.info("touchOperateMode start mix listening",this.larksr.params.touchOperateMode),this.touchHandler.startListening(),this.gestureHandler.startListening()):this.larksr.params.touchOperateMode==="touchScreen"?(u.info("touchOperateMode start touch listening",this.larksr.params.touchOperateMode),this.touchHandler.startListening()):(u.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,this.larksr.params.touchOperateMode==="mix"?(this.touchHandler.stopListening(),this.gestureHandler.stopListening()):this.larksr.params.touchOperateMode==="touchScreen"?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 n=(Date.now()-this.lastOperationTimestampMs)/1e3;n>this.larksr.params.noOperationTimeout&&(u.warn("无操作超时",n,this.larksr.params.noOperationTimeout),this.stopOperationTimeoutCheck(),this.$emitNoOperationTimeoutEvent())}},5e3)}stopOperationTimeoutCheck(){this.operationTimeout&&window.clearInterval(this.operationTimeout)}onPaste(n){if(u.info("on paste",n),this.keyboardHandler.enable&&this._enableParse&&this.larksr.params.syncLocalToCloudClipboard)if(n.clipboardData&&n.clipboardData.getData("text/plain")){const a=n.clipboardData.getData("text/plain");u.info("paste data",a),this.emit({type:2,target:this,data:a})}else u.info("empty when paste");else u.warn("skip paste event when input start or disable")}createEvent(n,a){return{type:n,target:this,input:a}}$emitMoseMove(n,a,l,f){this.aerialViewEnable&&(n+=this.aerialViewBox.minx,a+=this.aerialViewBox.miny),this.$emitInputEvent({mouseMove:{PosX:n,PosY:a,DeltaX:l,DeltaY:f}})}$emitMouseTap(n,a,l){this.aerialViewEnable&&(n+=this.aerialViewBox.minx,a+=this.aerialViewBox.miny),this.$emitMouseDown(n,a,l),window.setTimeout(()=>{this.$emitMouseUp(n,a,l)},200)}$emitMouseDown(n,a,l){this.aerialViewEnable&&(n+=this.aerialViewBox.minx,a+=this.aerialViewBox.miny),this.$emitInputEvent({mouseDown:{PosX:n,PosY:a,key:l}})}$emitMouseUp(n,a,l){this.aerialViewEnable&&(n+=this.aerialViewBox.minx,a+=this.aerialViewBox.miny),this.$emitInputEvent({mouseUp:{PosX:n,PosY:a,key:l}})}$emitMouseWheel(n,a,l){this.aerialViewEnable&&(n+=this.aerialViewBox.minx,a+=this.aerialViewBox.miny),this.$emitInputEvent({mouseWheel:{PosX:n,PosY:a,Delata:l}}),u.info("emitMouseWheel",n,a,l)}$emitKeyDown(n,a){this.$emitInputEvent({keyDown:{key:n,isRepeat:a}})}$emitKeyUp(n){this.$emitInputEvent({keyUp:{key:n}})}$emitGamepadButtonDown(n,a,l){this.$emitInputEvent({gamepadInputButtonDown:{userIndex:n,button:a,isRepeat:l}})}$emitGamepadButtonUp(n,a){this.$emitInputEvent({gamepadInputButtonUp:{userIndex:n,button:a}})}$emitGamepadTrigger(n,a,l){this.$emitInputEvent({gamepadInputTriger:{userIndex:n,isleft:a,value:l}})}$emitJoystick(n,a,l,f,S){this.$emitInputEvent({gamepadInputJoystickStates:{userIndex:n,thumblx:a,thumbly:l,thumbrx:f,thumbry:S}})}$emitTouchDown(n,a,l){this.aerialViewEnable&&(a+=this.aerialViewBox.minx,l+=this.aerialViewBox.miny),this.$emitInputEvent({touchDown:{ID:n,PosX:a,PosY:l,time:Date.now()}})}$emitTouchMove(n,a,l){this.aerialViewEnable&&(a+=this.aerialViewBox.minx,l+=this.aerialViewBox.miny),this.$emitInputEvent({touchMove:{ID:n,PosX:a,PosY:l,time:Date.now()}})}$emitTouchUp(n,a,l){this.aerialViewEnable&&(a+=this.aerialViewBox.minx,l+=this.aerialViewBox.miny),this.$emitInputEvent({touchUp:{ID:n,PosX:a,PosY:l,time:Date.now()}})}$emitInputEvent(n){this.updateOperation(),this.emit(this.createEvent(0,m.CloudLark.ClientInput.create(n)))}$emitNoOperationTimeoutEvent(){this.emit(this.createEvent(1))}$emitCursorMove(n){this.emit({type:3,target:this,cursorPoint:n})}}class qn extends g{get isFullScreen(){return this._isFullScreen}constructor(){super(),this.element=document.documentElement,this._isFullScreen=!1,this.fullscreenChange=this.fullscreenChange.bind(this),this.fullscreenError=this.fullscreenError.bind(this),this.startListening()}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 n=window.document,a=this.element;n.webkitFullscreenElement===a||n.mozFullscreenElement===a||n.mozFullScreenElement===a?(this._isFullScreen=!0,u.info("on fullscreechange",!0),this.emit(this.createEvent(0,!0))):(u.info("on fullscreenchange",!1),this._isFullScreen=!1,this.emit(this.createEvent(0,!1)))}fullscreenError(n){this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,n)),this._isFullScreen=!1}launchFullScreen(){if(u.info("launchFullScreen"),this.isFullScreen)return void u.info("skip launchFullScreen as fullscreen already launched");const n=this.element;n.requestFullscreen?n.requestFullscreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen?n.webkitRequestFullScreen():n.mozRequestFullscreen?n.mozRequestFullscreen():n.requestFullScreen?n.requestFullScreen():n.webkitRequestFullScreen?n.webkitRequestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():(this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,"not support")),this._isFullScreen=!1)}exitFullscreen(){if(!this.isFullScreen)return void u.info("skip exitFullscreen as fullscreen not launched");const n=window.document;n.exitFullscreen?n.exitFullscreen():n.mozCancelFullScreen?n.mozCancelFullScreen():n.webkitCancelFullScreen&&n.webkitCancelFullScreen()}createEvent(n,a,l=null){return{type:n,target:this,isFullScreen:a,error:l}}}class Zn extends g{get isLockPointer(){return this._isLockPointer}constructor(n){super(),this._isLockPointer=!1,this.element=document.documentElement,this.element=n,this.pointerlockChange=this.pointerlockChange.bind(this),this.lockscreenFailed=this.lockscreenFailed.bind(this),this.listenLockChange()}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 u.info("skip lock pointer as already locked.");const n=this.element;if(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock,n.requestPointerLock!==null&&n.requestPointerLock!==void 0)try{u.info("requestPointerLock"),n.requestPointerLock().catch(a=>{u.err("catch requestPointerLock error name",a.name),u.err("catch requestPointerLock error message",a.message),u.err("catch requestPointerLock error code",a.code),a.name&&a.name==="NotSupportedError"&&this.emit(this.createEvent(2,!1)),a.name&&a.name==="SecurityError"&&(a.message&&a.message.indexOf("The user has exited the lock before this request was completed")!==-1?u.warn("The user has exited the lock before this request was completed. try lock later."):this.emit(this.createEvent(3,!1))),this.lockscreenFailed(a)})}catch(a){u.err("requestPointerLock error",a)}}exitPointerLock(){if(!this.isLockPointer)return void u.info("skip exitPointerLock as not locked now.");const n=document;n.exitPointerLock=n.exitPointerLock||n.mozRequestPointerLock||n.webkitExitPointerLock,n.exitPointerLock!==null&&n.exitPointerLock()}pointerlockChange(n){u.info("lockscreenChange",this._isLockPointer,n,document.pointerLockElement),document.pointerLockElement===this.element||document.mozPointerLockElement===this.element||document.webkitRequestPointerLock===this.element?(u.info("The pointer lock status is now locked"),this._isLockPointer=!0,this.emit(this.createEvent(0,!0))):(u.info("The pointer lock status is now unlocked"),this._isLockPointer=!1,this.emit(this.createEvent(0,!1)))}lockscreenFailed(n){u.info("lockscreenFailed",n),this._isLockPointer=!1,this.emit(this.createEvent(1,!1)),this.emit(this.createEvent(0,!1,n))}createEvent(n,a,l=null){return{type:n,target:this,isLockPointer:a,error:l}}}function tt(){}function Un(o){return o()}function Bn(){return Object.create(null)}function St(o){o.forEach(Un)}function Gn(o){return typeof o=="function"}function sn(o,n){return o!=o?n==n:o!==n||o&&typeof o=="object"||typeof o=="function"}let ln;function Qe(o,n){return ln||(ln=document.createElement("a")),ln.href=n,o===ln.href}function Wr(o){return Object.keys(o).length===0}function It(o){return o??""}function he(o,n){o.appendChild(n)}function un(o,n,a){const l=_r(o);if(!l.getElementById(n)){const f=pe("style");f.id=n,f.textContent=a,jr(l,f)}}function _r(o){if(!o)return document;const n=o.getRootNode?o.getRootNode():o.ownerDocument;return n&&n.host?n:o.ownerDocument}function jr(o,n){return he(o.head||o,n),n.sheet}function Ee(o,n,a){o.insertBefore(n,a||null)}function Oe(o){o.parentNode&&o.parentNode.removeChild(o)}function pe(o){return document.createElement(o)}function rt(o){return document.createTextNode(o)}function Ke(){return rt(" ")}function cn(){return rt("")}function Mt(o,n,a,l){return o.addEventListener(n,a,l),()=>o.removeEventListener(n,a,l)}function U(o,n,a){a==null?o.removeAttribute(n):o.getAttribute(n)!==a&&o.setAttribute(n,a)}function pt(o,n){n=""+n,o.data!==n&&(o.data=n)}function Te(o,n,a,l){a==null?o.style.removeProperty(n):o.style.setProperty(n,a,"")}function Fr(o,n,{bubbles:a=!1,cancelable:l=!1}={}){const f=document.createEvent("CustomEvent");return f.initCustomEvent(o,a,l,n),f}let Ut;function Bt(o){Ut=o}function Rn(){if(!Ut)throw new Error("Function called outside component initialization");return Ut}function dn(o){Rn().$$.on_mount.push(o)}function Kn(){const o=Rn();return(n,a,{cancelable:l=!1}={})=>{const f=o.$$.callbacks[n];if(f){const S=Fr(n,a,{cancelable:l});return f.slice().forEach(O=>{O.call(o,S)}),!S.defaultPrevented}return!0}}const Nt=[],at=[];let xt=[];const Jn=[],zr=Promise.resolve();let En=!1;function Xr(){En||(En=!0,zr.then(xe))}function Cn(o){xt.push(o)}const Ln=new Set;let Vt=0;function xe(){if(Vt!==0)return;const o=Ut;do{try{for(;Vt<Nt.length;){const n=Nt[Vt];Vt++,Bt(n),qr(n.$$)}}catch(n){throw Nt.length=0,Vt=0,n}for(Bt(null),Nt.length=0,Vt=0;at.length;)at.pop()();for(let n=0;n<xt.length;n+=1){const a=xt[n];Ln.has(a)||(Ln.add(a),a())}xt.length=0}while(Nt.length);for(;Jn.length;)Jn.pop()();En=!1,Ln.clear(),Bt(o)}function qr(o){if(o.fragment!==null){o.update(),St(o.before_update);const n=o.dirty;o.dirty=[-1],o.fragment&&o.fragment.p(o.ctx,n),o.after_update.forEach(Cn)}}const pn=new Set;let Ot;function Yn(){Ot={r:0,c:[],p:Ot}}function Hn(){Ot.r||St(Ot.c),Ot=Ot.p}function it(o,n){o&&o.i&&(pn.delete(o),o.i(n))}function Rt(o,n,a,l){if(o&&o.o){if(pn.has(o))return;pn.add(o),Ot.c.push(()=>{pn.delete(o),l&&(a&&o.d(1),l())}),o.o(n)}else l&&l()}function Tn(o){o&&o.c()}function An(o,n,a,l){const{fragment:f,after_update:S}=o.$$;f&&f.m(n,a),l||Cn(()=>{const O=o.$$.on_mount.map(Un).filter(Gn);o.$$.on_destroy?o.$$.on_destroy.push(...O):St(O),o.$$.on_mount=[]}),S.forEach(Cn)}function hn(o,n){const a=o.$$;a.fragment!==null&&(function(l){const f=[],S=[];xt.forEach(O=>l.indexOf(O)===-1?f.push(O):S.push(O)),S.forEach(O=>O()),xt=f}(a.after_update),St(a.on_destroy),a.fragment&&a.fragment.d(n),a.on_destroy=a.fragment=null,a.ctx=[])}function fn(o,n,a,l,f,S,O,E=[-1]){const C=Ut;Bt(o);const L=o.$$={fragment:null,ctx:[],props:S,update:tt,not_equal:f,bound:Bn(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(n.context||(C?C.$$.context:[])),callbacks:Bn(),dirty:E,skip_bound:!1,root:n.target||C.$$.root};O&&O(L.root);let w=!1;if(L.ctx=a?a(o,n.props||{},(_,z,...B)=>{const J=B.length?B[0]:z;return L.ctx&&f(L.ctx[_],L.ctx[_]=J)&&(!L.skip_bound&&L.bound[_]&&L.bound[_](J),w&&function(te,$){te.$$.dirty[0]===-1&&(Nt.push(te),Xr(),te.$$.dirty.fill(0)),te.$$.dirty[$/31|0]|=1<<$%31}(o,_)),z}):[],L.update(),w=!0,St(L.before_update),L.fragment=!!l&&l(L.ctx),n.target){if(n.hydrate){const _=(V=n.target,Array.from(V.childNodes));L.fragment&&L.fragment.l(_),_.forEach(Oe)}else L.fragment&&L.fragment.c();n.intro&&it(o.$$.fragment),An(o,n.target,n.anchor,n.customElement),xe()}var V;Bt(C)}class mn{$destroy(){hn(this,1),this.$destroy=tt}$on(n,a){if(!Gn(a))return tt;const l=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return l.push(a),()=>{const f=l.indexOf(a);f!==-1&&l.splice(f,1)}}$set(n){this.$$set&&!Wr(n)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}}var Qn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMi0wOS0wNVQxNzozNjo1MyswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjItMDktMDVUMjM6MzE6MTQrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNlOWI4ZDAtMTk0MS02ZTRiLWIyNjItZTc2YjcyMjhiMmFkIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MWRhMDU3NWYtYjA0OS03YzQxLTkxOWEtNjRkMTJlYTdmZmIwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZjE1YmQyOS0zNGI2LWU5NDgtOGZmZS03OGJlOTljMTY1ZmQiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMTc6MzY6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpkMzg5ZDU2OC01MjMzLTE0NDktYjA1YS0xMzBmYWNiNmI2MTUiIHN0RXZ0OndoZW49IjIwMjItMDktMDVUMjM6MzA6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjk0NTJkZDUtMmY4ZS1hNDQ5LWJhZjgtNWU5YzA0OTQyMTU0IiBzdEV2dDp3aGVuPSIyMDIyLTA5LTA1VDIzOjMxOjE0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNvbnZlcnRlZCIgc3RFdnQ6cGFyYW1ldGVycz0iZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iZGVyaXZlZCIgc3RFdnQ6cGFyYW1ldGVycz0iY29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzZTliOGQwLTE5NDEtNmU0Yi1iMjYyLWU3NmI3MjI4YjJhZCIgc3RFdnQ6d2hlbj0iMjAyMi0wOS0wNVQyMzozMToxNCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiOTQ1MmRkNS0yZjhlLWE0NDktYmFmOC01ZTljMDQ5NDIxNTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIiBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2YxNWJkMjktMzRiNi1lOTQ4LThmZmUtNzhiZTk5YzE2NWZkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+e7tqHwAACcxJREFUeNrtnb1vFEcchnfgrqMIEpWhAyRL55Mo7M5RoKOJDil/QBCkQWlMQYcr3Icm0BCk/AcYGqggijvcEaSTAIkCqJDigi5rnJljF+7Od/t1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";function Zr(o){un(o,"svelte-ro1nws",'@charset "UTF-8";.loading.svelte-ro1nws.svelte-ro1nws{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-ro1nws .logo.svelte-ro1nws{width:auto;height:125px;transition:all 1s linear 0s}.loading.svelte-ro1nws .logo-footer.svelte-ro1nws{height:32px;position:absolute;bottom:14px;right:31px}.loading.svelte-ro1nws .syncApp.svelte-ro1nws{color:#fff;font-size:24px;padding:30px 0 0}.loading.svelte-ro1nws .syncLoading.svelte-ro1nws{display:inline-block;padding:0 0 0 10px;height:15px}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws{display:inline-block;width:15px;height:100%;margin-right:5px;background:white;transform-origin:right bottom;animation:svelte-ro1nws-load 2s ease infinite}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:last-child{margin-right:0px}@keyframes svelte-ro1nws-load{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:rotate(90deg) scale(0.3)}}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:nth-child(1){animation-delay:0.13s}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:nth-child(2){animation-delay:0.26s}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:nth-child(3){animation-delay:0.39s}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:nth-child(4){animation-delay:0.52s}.loading.svelte-ro1nws .syncLoading span.svelte-ro1nws:nth-child(5){animation-delay:0.65s}.loading.svelte-ro1nws .appState.svelte-ro1nws{color:#fff;font-size:16px;font-weight:lighter;bottom:10%;position:absolute;z-index:2000}@keyframes svelte-ro1nws-fadeIn{0%{opacity:0}100%{opacity:1}}.loading.svelte-ro1nws .play-button.svelte-ro1nws{animation:svelte-ro1nws-fadeIn 2.5s ease 1}')}function $n(o){let n,a=(I.isMobile?Br:Ur)(o);return{c(){a.c(),n=cn()},m(l,f){a.m(l,f),Ee(l,n,f)},p(l,f){a.p(l,f)},d(l){a.d(l),l&&Oe(n)}}}function Ur(o){let n,a,l,f,S;return{c(){n=pe("img"),l=Ke(),f=pe("img"),Qe(n.src,a=o[2]+"/getCstzLogoUrl?logoType=welcome&wsId="+o[4]+"&v="+o[11])||U(n,"src",a),U(n,"alt",""),U(n,"class","logo svelte-ro1nws"),Qe(f.src,S=o[2]+"/images/footer.png?v="+o[11])||U(f,"src",S),U(f,"alt",""),U(f,"class","logo-footer svelte-ro1nws")},m(O,E){Ee(O,n,E),Ee(O,l,E),Ee(O,f,E)},p(O,E){2068&E&&!Qe(n.src,a=O[2]+"/getCstzLogoUrl?logoType=welcome&wsId="+O[4]+"&v="+O[11])&&U(n,"src",a),2052&E&&!Qe(f.src,S=O[2]+"/images/footer.png?v="+O[11])&&U(f,"src",S)},d(O){O&&Oe(n),O&&Oe(l),O&&Oe(f)}}}function Br(o){let n,a,l,f,S;return{c(){n=pe("img"),l=Ke(),f=pe("img"),Qe(n.src,a=o[2]+"/getCstzLogoUrl?logoType=welcome&wsId="+o[4]+"&v="+o[11])||U(n,"src",a),U(n,"alt",""),U(n,"class","logo svelte-ro1nws"),Te(n,"height",o[16](109)+"px"),Qe(f.src,S=o[2]+"/images/footer.png?v="+o[11])||U(f,"src",S),U(f,"alt",""),U(f,"class","logo-footer svelte-ro1nws"),Te(f,"height",o[16](28)+"px"),Te(f,"position","absolute"),Te(f,"bottom",o[16](10)+"px"),Te(f,"right",o[16](20)+"px")},m(O,E){Ee(O,n,E),Ee(O,l,E),Ee(O,f,E)},p(O,E){2068&E&&!Qe(n.src,a=O[2]+"/getCstzLogoUrl?logoType=welcome&wsId="+O[4]+"&v="+O[11])&&U(n,"src",a),2052&E&&!Qe(f.src,S=O[2]+"/images/footer.png?v="+O[11])&&U(f,"src",S)},d(O){O&&Oe(n),O&&Oe(l),O&&Oe(f)}}}function er(o){let n;function a(S,O){return S[6]?Yr:S[5]<Y.MEDIA_LOADED?Jr:S[5]==Y.APP_RETRY?Kr:S[5]==Y.RTC_RETRY?Gr:void 0}let l=a(o),f=l&&l(o);return{c(){f&&f.c(),n=cn()},m(S,O){f&&f.m(S,O),Ee(S,n,O)},p(S,O){l===(l=a(S))&&f?f.p(S,O):(f&&f.d(1),f=l&&l(S),f&&(f.c(),f.m(n.parentNode,n)))},d(S){f&&f.d(S),S&&Oe(n)}}}function Gr(o){let n,a,l,f,S,O=o[1].RTC_RETRY+"";return{c(){n=pe("div"),a=pe("span"),l=rt(O),f=Ke(),S=pe("span"),S.innerHTML=`<span class="svelte-ro1nws"></span>
|
|
47
|
-
<span class="svelte-ro1nws"></span>
|
|
48
|
-
<span class="svelte-ro1nws"></span>`,U(a,"class","svelte-ro1nws"),U(S,"class","syncLoading svelte-ro1nws"),U(n,"class","appState svelte-ro1nws")},m(E,C){Ee(E,n,C),he(n,a),he(a,l),he(n,f),he(n,S)},p(E,C){2&C&&O!==(O=E[1].RTC_RETRY+"")&&pt(l,O)},d(E){E&&Oe(n)}}}function Kr(o){let n,a,l,f,S,O=o[1].APP_RETRY+"";return{c(){n=pe("div"),a=pe("span"),l=rt(O),f=Ke(),S=pe("span"),S.innerHTML=`<span class="svelte-ro1nws"></span>
|
|
49
|
-
<span class="svelte-ro1nws"></span>
|
|
50
|
-
<span class="svelte-ro1nws"></span>`,U(a,"class","svelte-ro1nws"),U(S,"class","syncLoading svelte-ro1nws"),U(n,"class","appState svelte-ro1nws")},m(E,C){Ee(E,n,C),he(n,a),he(a,l),he(n,f),he(n,S)},p(E,C){2&C&&O!==(O=E[1].APP_RETRY+"")&&pt(l,O)},d(E){E&&Oe(n)}}}function Jr(o){let n,a,l;function f(E,C){return E[12]?Qr:Hr}let S=f(o),O=S(o);return{c(){n=pe("div"),O.c(),a=Ke(),l=pe("span"),l.innerHTML=`<span class="svelte-ro1nws"></span>
|
|
51
|
-
<span class="svelte-ro1nws"></span>
|
|
52
|
-
<span class="svelte-ro1nws"></span>`,U(l,"class","syncLoading svelte-ro1nws"),U(n,"class","appState svelte-ro1nws")},m(E,C){Ee(E,n,C),O.m(n,null),he(n,a),he(n,l)},p(E,C){S===(S=f(E))&&O?O.p(E,C):(O.d(1),O=S(E),O&&(O.c(),O.m(n,a)))},d(E){E&&Oe(n),O.d()}}}function Yr(o){let n,a,l,f,S,O=o[1].SYNC_APP+"";return{c(){n=pe("div"),a=pe("span"),l=rt(O),f=Ke(),S=pe("span"),S.innerHTML=`<span class="svelte-ro1nws"></span>
|
|
53
|
-
<span class="svelte-ro1nws"></span>
|
|
54
|
-
<span class="svelte-ro1nws"></span>`,U(a,"class","svelte-ro1nws"),U(S,"class","syncLoading svelte-ro1nws"),U(n,"class","syncApp svelte-ro1nws")},m(E,C){Ee(E,n,C),he(n,a),he(a,l),he(n,f),he(n,S)},p(E,C){2&C&&O!==(O=E[1].SYNC_APP+"")&&pt(l,O)},d(E){E&&Oe(n)}}}function Hr(o){let n,a,l,f,S,O=o[14](o[5])+"",E=o[15](o[5])+"";return{c(){n=pe("span"),a=rt(O),l=Ke(),f=pe("span"),S=rt(E),U(n,"class","svelte-ro1nws"),U(f,"class","svelte-ro1nws")},m(C,L){Ee(C,n,L),he(n,a),Ee(C,l,L),Ee(C,f,L),he(f,S)},p(C,L){32&L&&O!==(O=C[14](C[5])+"")&&pt(a,O),32&L&&E!==(E=C[15](C[5])+"")&&pt(S,E)},d(C){C&&Oe(n),C&&Oe(l),C&&Oe(f)}}}function Qr(o){let n,a;return{c(){n=pe("span"),a=rt(o[12]),U(n,"class","svelte-ro1nws")},m(l,f){Ee(l,n,f),he(n,a)},p(l,f){4096&f&&pt(a,l[12])},d(l){l&&Oe(n)}}}function tr(o){let n,a,l,f=(I.isMobile?ei:$r)(o);function S(C,L){return C[10]?ni:ti}let O=S(o),E=O(o);return{c(){n=pe("div"),f.c(),a=Ke(),l=pe("div"),E.c(),U(l,"class","appState svelte-ro1nws"),U(n,"class","play-button svelte-ro1nws"),Te(n,"width","100%"),Te(n,"height","100%"),Te(n,"background-color","rgba(0,0,0,0.5)"),Te(n,"display","flex"),Te(n,"flex","1"),Te(n,"align-items","center"),Te(n,"justify-content","center")},m(C,L){Ee(C,n,L),f.m(n,null),he(n,a),he(n,l),E.m(l,null)},p(C,L){f.p(C,L),O===(O=S(C))&&E?E.p(C,L):(E.d(1),E=O(C),E&&(E.c(),E.m(l,null)))},d(C){C&&Oe(n),f.d(),E.d()}}}function $r(o){let n,a;return{c(){n=pe("img"),Qe(n.src,a=Qn)||U(n,"src",a),U(n,"alt",""),U(n,"class","logo svelte-ro1nws")},m(l,f){Ee(l,n,f)},p:tt,d(l){l&&Oe(n)}}}function ei(o){let n,a;return{c(){n=pe("img"),Qe(n.src,a=Qn)||U(n,"src",a),U(n,"alt",""),U(n,"class","logo svelte-ro1nws"),Te(n,"height",o[16](109)+"px")},m(l,f){Ee(l,n,f)},p:tt,d(l){l&&Oe(n)}}}function ti(o){let n,a,l=o[1].START+"";return{c(){n=pe("span"),a=rt(l),U(n,"class","svelte-ro1nws")},m(f,S){Ee(f,n,S),he(n,a)},p(f,S){2&S&&l!==(l=f[1].START+"")&&pt(a,l)},d(f){f&&Oe(n)}}}function ni(o){let n,a,l=o[1].PLAY_FAILED+"";return{c(){n=pe("span"),a=rt(l),U(n,"class","svelte-ro1nws")},m(f,S){Ee(f,n,S),he(n,a)},p(f,S){2&S&&l!==(l=f[1].PLAY_FAILED+"")&&pt(a,l)},d(f){f&&Oe(n)}}}function ri(o){let n,a,l,f,S=o[3]&&o[5]<Y.MEDIA_LOADED&&$n(o),O=o[8]&&er(o),E=o[5]==Y.MEDIA_LOADED&&o[9]&&tr(o);return{c(){n=pe("div"),S&&S.c(),a=Ke(),O&&O.c(),l=Ke(),E&&E.c(),U(n,"class","loading svelte-ro1nws"),U(n,"style",f=o[0].viewPortStyle+"; background-image: url("+(o[7]?o[7]:o[13].default)+");")},m(C,L){Ee(C,n,L),S&&S.m(n,null),he(n,a),O&&O.m(n,null),he(n,l),E&&E.m(n,null)},p(C,[L]){C[3]&&C[5]<Y.MEDIA_LOADED?S?S.p(C,L):(S=$n(C),S.c(),S.m(n,a)):S&&(S.d(1),S=null),C[8]?O?O.p(C,L):(O=er(C),O.c(),O.m(n,l)):O&&(O.d(1),O=null),C[5]==Y.MEDIA_LOADED&&C[9]?E?E.p(C,L):(E=tr(C),E.c(),E.m(n,null)):E&&(E.d(1),E=null),129&L&&f!==(f=C[0].viewPortStyle+"; background-image: url("+(C[7]?C[7]:C[13].default)+");")&&U(n,"style",f)},i:tt,o:tt,d(C){C&&Oe(n),S&&S.d(),O&&O.d(),E&&E.d()}}}function ii(o,n,a){const l=__webpack_require__(6654);let{screenState:f}=n,{ui:S}=n,{serverAddress:O}=n,{taskReady:E}=n,{wsId:C}=n,{appState:L}=n,{syncApp:w}=n,{loadingBgUrl:V}=n,{showLoadingStateBar:_=!0}=n,{showPlayButton:z=!0}=n,{tapedPlayButton:B=!1}=n,{loadingLogoVersion:J}=n,{loadingStateMsg:te=""}=n;return u.info(C),dn(()=>{}),o.$$set=$=>{"screenState"in $&&a(0,f=$.screenState),"ui"in $&&a(1,S=$.ui),"serverAddress"in $&&a(2,O=$.serverAddress),"taskReady"in $&&a(3,E=$.taskReady),"wsId"in $&&a(4,C=$.wsId),"appState"in $&&a(5,L=$.appState),"syncApp"in $&&a(6,w=$.syncApp),"loadingBgUrl"in $&&a(7,V=$.loadingBgUrl),"showLoadingStateBar"in $&&a(8,_=$.showLoadingStateBar),"showPlayButton"in $&&a(9,z=$.showPlayButton),"tapedPlayButton"in $&&a(10,B=$.tapedPlayButton),"loadingLogoVersion"in $&&a(11,J=$.loadingLogoVersion),"loadingStateMsg"in $&&a(12,te=$.loadingStateMsg)},[f,S,O,E,C,L,w,V,_,z,B,J,te,l,function($){switch($-Y.BEFORE_CREATE+1){case Y.INITED:return S.INITED;case Y.WEBSOCKET_CHANNEL_OPEN:return S.WEBSOCKET_CHANNEL_OPEN;case Y.LOGIN_SUCCESS:return S.LOGIN_SUCCESS;case Y.RTC_CONNECTED:return S.RTC_CONNECTED;case Y.MEDIA_LOADED:default:return S.MEDIA_LOADED}},function($){return"("+($-Y.BEFORE_CREATE+1)+"/"+(Y.MEDIA_LOADED-Y.BEFORE_CREATE)+")"},function($){return $/1340*100*((f.screenOrientation==="landscape"?k.getViewport().height:k.getViewport().width)/100)}]}var oi=class extends mn{constructor(o){super(),fn(this,o,ii,ri,sn,{screenState:0,ui:1,serverAddress:2,taskReady:3,wsId:4,appState:5,syncApp:6,loadingBgUrl:7,showLoadingStateBar:8,showPlayButton:9,tapedPlayButton:10,loadingLogoVersion:11,loadingStateMsg:12},Zr)}};class Ie{static initfullScreenBuffers(n){const a=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,a),n.bufferData(n.ARRAY_BUFFER,new Float32Array(Ie.fullScreenVertices),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null);const l=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,l),n.bufferData(n.ARRAY_BUFFER,new Float32Array(Ie.fullscreenTextureCoords),n.STATIC_DRAW),n.bindBuffer(n.ARRAY_BUFFER,null);const f=n.createBuffer();return n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,f),n.bufferData(n.ELEMENT_ARRAY_BUFFER,new Uint16Array(Ie.fullscreenIndices),n.STATIC_DRAW),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,null),{position:a,textureCoord:l,indices:f}}static initTexture(n,a=null,l=1,f=1,S=n.RGB){const O=n.createTexture();n.bindTexture(n.TEXTURE_2D,O);const E=n.RGB,C=n.UNSIGNED_BYTE;if(a!=null)n.texImage2D(n.TEXTURE_2D,0,S,E,C,a);else{const L=new Uint8Array([0,0,255,255]);n.texImage2D(n.TEXTURE_2D,0,S,l,f,0,E,C,L)}return n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.bindTexture(n.TEXTURE_2D,null),O}static updateTexture(n,a,l){const f=n.RGB,S=n.RGB,O=n.UNSIGNED_BYTE;n.bindTexture(n.TEXTURE_2D,a),n.texImage2D(n.TEXTURE_2D,0,f,S,O,l),n.bindTexture(n.TEXTURE_2D,null)}static initShaderProgram(n,a,l){const f=Ie.loadShader(n,n.VERTEX_SHADER,a),S=Ie.loadShader(n,n.FRAGMENT_SHADER,l),O=n.createProgram();return O!=null&&(n.attachShader(O,f),n.attachShader(O,S),n.linkProgram(O),n.getProgramParameter(O,n.LINK_STATUS)?O:(u.err(`Unable to initialize the shader program: ${n.getProgramInfoLog(O)}`),!1))}static loadShader(n,a,l){const f=n.createShader(a);return!!f&&(n.shaderSource(f,l),n.compileShader(f),n.getShaderParameter(f,n.COMPILE_STATUS)?f:(alert(`An error occurred compiling the shaders: ${n.getShaderInfoLog(f)}`),n.deleteShader(f),!1))}static setPositionAttribute(n,a,l,f=3,S=0,O=0){const E=n.FLOAT;n.bindBuffer(n.ARRAY_BUFFER,a),n.vertexAttribPointer(l,f,E,!1,S,O),n.enableVertexAttribArray(l),n.bindBuffer(n.ARRAY_BUFFER,null)}static setTextureAttribute(n,a,l,f=2,S=0,O=0){const E=n.FLOAT;n.bindBuffer(n.ARRAY_BUFFER,a),n.vertexAttribPointer(l,f,E,!1,S,O),n.enableVertexAttribArray(l),n.bindBuffer(n.ARRAY_BUFFER,null)}}Ie.fullScreenVertices=[-1,-1,0,1,-1,0,1,1,0,-1,1,0],Ie.fullscreenTextureCoords=[0,1,1,1,1,0,0,0],Ie.fullscreenIndices=[0,1,3,1,2,3],Ie.fullscreenVsSource=`
|
|
55
|
-
attribute vec4 aVertexPosition;
|
|
56
|
-
attribute vec2 aTextureCoord;
|
|
57
|
-
|
|
58
|
-
varying highp vec2 vTextureCoord;
|
|
59
|
-
|
|
60
|
-
void main(void) {
|
|
61
|
-
gl_Position = aVertexPosition;
|
|
62
|
-
vTextureCoord = aTextureCoord;
|
|
63
|
-
}
|
|
64
|
-
`,Ie.fullscreenFsSource=`
|
|
65
|
-
varying highp vec2 vTextureCoord;
|
|
66
|
-
|
|
67
|
-
uniform sampler2D uSampler;
|
|
68
|
-
|
|
69
|
-
void main(void) {
|
|
70
|
-
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
71
|
-
}
|
|
72
|
-
`;class ai{get inited(){return this._inited}get canvas(){return this._canvas}get video(){return this._video}get gl(){return this._gl}get shaderProgram(){return this._shaderProgram}constructor(){this._inited=!1,this._canvas=null,this._video=null,this._gl=null,this._shaderProgram=null,this.vertexPosition=0,this.textureCoord=0,this.uSampler=0,this.buffers=null,this.texture=null,this.drawFrames=0,this.playing=!1,this.timeupdate=!1,this.copyVideo=!1,this.startInternal=!1,this.draw=this.draw.bind(this)}init(n,a){this._inited=!1,this._canvas=n,this._video=a,this._video.addEventListener("playing",()=>{this.playing=!0,this.checkReady()}),this._video.addEventListener("timeupdate",()=>{this.timeupdate=!0,this.checkReady()});const l=n.getContext("webgl");if(l==null)return u.warn("webgl init failed Your browser or machine may not support it",l,n),!1;this._gl=l,l.clearColor(0,0,0,1),l.clear(l.COLOR_BUFFER_BIT);const f=Ie.initShaderProgram(l,Ie.fullscreenVsSource,Ie.fullscreenFsSource);return f?(this._shaderProgram=f,this.vertexPosition=l.getAttribLocation(f,"aVertexPosition"),this.textureCoord=l.getAttribLocation(f,"aTextureCoord"),this.uSampler=l.getUniformLocation(f,"uSampler"),this.buffers=Ie.initfullScreenBuffers(l),this.buffers!=null&&this.buffers.position!=null&&this.buffers.textureCoord&&(Ie.setPositionAttribute(l,this.buffers.position,this.vertexPosition),Ie.setTextureAttribute(l,this.buffers.textureCoord,this.textureCoord),l.bindBuffer(l.ARRAY_BUFFER,this.buffers.position),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,this.buffers.indices),l.bindBuffer(l.ARRAY_BUFFER,this.buffers.textureCoord),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,this.buffers.indices),l.bindBuffer(l.ARRAY_BUFFER,null)),this.texture=Ie.initTexture(l),this._inited=!0,!0):(u.warn("initShaderProgram failed",l,Ie.fullscreenVsSource,Ie.fullscreenFsSource),!1)}checkReady(){this.playing&&this.timeupdate&&(this.copyVideo=!0)}startCanvasRender(){this.stopCanvasRender(),this.startInternal=!0,this.draw()}stopCanvasRender(){this.drawFrames!=-1&&(window.cancelAnimationFrame(this.drawFrames),this.drawFrames=-1),this.startInternal=!1}draw(n=0,a=0,l=1920,f=1080){if(!this.inited||this.gl==null||!(this.gl&&this.texture&&this.video&&this.copyVideo))return;Ie.updateTexture(this.gl,this.texture,this.video);let S=this.gl;S.viewport(n,a,l,f),S.clearColor(0,0,0,1),S.disable(S.DEPTH_TEST),S.clear(S.COLOR_BUFFER_BIT),S.useProgram(this.shaderProgram),S.activeTexture(S.TEXTURE0),S.bindTexture(S.TEXTURE_2D,this.texture),S.uniform1i(this.uSampler,0);{const E=S.UNSIGNED_SHORT;S.drawElements(S.TRIANGLES,6,E,0)}this.startInternal&&(this.drawFrames=window.requestAnimationFrame(this.draw))}updateVideo(n){this._video=n,this.gl&&this.texture&&Ie.updateTexture(this.gl,this.texture,n)}}function si(o){un(o,"svelte-1we6aa5",'@charset "UTF-8";.pxy-render.pxy-render-release.svelte-1we6aa5.svelte-1we6aa5{margin:0;padding:0}.pxy-render.pxy-render-release.svelte-1we6aa5 video.svelte-1we6aa5{transition:none}.pxy-render.pxy-render-release.svelte-1we6aa5 .showVideo.svelte-1we6aa5{position:relative;object-fit:fill;width:100%;min-height:100%}.pxy-render.pxy-render-release.svelte-1we6aa5 .hiddenVideo.svelte-1we6aa5{position:absolute;z-index:-9999;top:-9999px;left:-9999px;object-fit:fill}.pxy-render.pxy-render-release.svelte-1we6aa5 .hiddenRenderCanvas.svelte-1we6aa5{position:absolute;z-index:-9999;top:-9999px;left:-9999px}.pxy-render.pxy-render-release.svelte-1we6aa5 .showRenderCanvas.svelte-1we6aa5{position:relative;object-fit:fill}.pxy-render.pxy-render-release.svelte-1we6aa5 .audio.svelte-1we6aa5{position:absolute;z-index:-9999;top:-9999px;left:-9999px}')}function li(o){let n,a,l,f,S,O,E,C,L,w,V,_,z,B,J,te,$,ke,ve,Le,Fe,Xe,Ue;return{c(){n=pe("div"),a=pe("video"),O=Ke(),E=pe("canvas"),_=Ke(),z=pe("canvas"),ke=Ke(),ve=pe("audio"),U(a,"class",l=It(o[2]?"hiddenVideo":"showVideo")+" svelte-1we6aa5"),U(a,"width",f=o[0].container.width+"px"),U(a,"height",S=o[0].container.height+"px"),a.autoplay=o[1],a.playsInline=!0,U(a,"webkit-playsinline",!0),U(a,"preload","auto"),U(a,"x5-video-player-type","h5"),U(a,"x5-video-player-fullscreen","true"),U(a,"x5-video-orientation","portrait"),U(E,"class",C=It(o[2]&&o[3]?"showRenderCanvas":"hiddenRenderCanvas")+" svelte-1we6aa5"),U(E,"style",L="width:"+o[0].container.width+"px; height:"+o[0].container.height+"px"),U(E,"width",w=o[10](o[0])+"px"),U(E,"height",V=o[11](o[0])+"px"),U(z,"class",B=It(o[2]&&!o[3]?"showRenderCanvas":"hiddenRenderCanvas")+" svelte-1we6aa5"),U(z,"style",J="width:"+o[0].container.width+"px; height:"+o[0].container.height+"px"),U(z,"width",te=o[10](o[0])+"px"),U(z,"height",$=o[11](o[0])+"px"),U(ve,"class","audio svelte-1we6aa5"),ve.controls=!1,ve.autoplay=!0,U(n,"class","pxy-render pxy-render-release svelte-1we6aa5"),U(n,"width",Le=o[0].container.width+"px"),U(n,"height",Fe=o[0].container.height+"px")},m(ue,D){Ee(ue,n,D),he(n,a),o[30](a),he(n,O),he(n,E),o[31](E),he(n,_),he(n,z),o[32](z),he(n,ke),he(n,ve),o[33](ve),Xe||(Ue=[Mt(a,"loadedmetadata",o[8]),Mt(ve,"loadedmetadata",o[9])],Xe=!0)},p(ue,D){4&D[0]&&l!==(l=It(ue[2]?"hiddenVideo":"showVideo")+" svelte-1we6aa5")&&U(a,"class",l),1&D[0]&&f!==(f=ue[0].container.width+"px")&&U(a,"width",f),1&D[0]&&S!==(S=ue[0].container.height+"px")&&U(a,"height",S),2&D[0]&&(a.autoplay=ue[1]),12&D[0]&&C!==(C=It(ue[2]&&ue[3]?"showRenderCanvas":"hiddenRenderCanvas")+" svelte-1we6aa5")&&U(E,"class",C),1&D[0]&&L!==(L="width:"+ue[0].container.width+"px; height:"+ue[0].container.height+"px")&&U(E,"style",L),1&D[0]&&w!==(w=ue[10](ue[0])+"px")&&U(E,"width",w),1&D[0]&&V!==(V=ue[11](ue[0])+"px")&&U(E,"height",V),12&D[0]&&B!==(B=It(ue[2]&&!ue[3]?"showRenderCanvas":"hiddenRenderCanvas")+" svelte-1we6aa5")&&U(z,"class",B),1&D[0]&&J!==(J="width:"+ue[0].container.width+"px; height:"+ue[0].container.height+"px")&&U(z,"style",J),1&D[0]&&te!==(te=ue[10](ue[0])+"px")&&U(z,"width",te),1&D[0]&&$!==($=ue[11](ue[0])+"px")&&U(z,"height",$),1&D[0]&&Le!==(Le=ue[0].container.width+"px")&&U(n,"width",Le),1&D[0]&&Fe!==(Fe=ue[0].container.height+"px")&&U(n,"height",Fe)},i:tt,o:tt,d(ue){ue&&Oe(n),o[30](null),o[31](null),o[32](null),o[33](null),Xe=!1,St(Ue)}}}const kn="mediaPlayedMute",Gt="mediaPlayedFailed";function ui(o,n,a){__webpack_require__(6131);let l,f,S,O,E,C,{screenState:L}=n,{mutePlayWhenFailed:w}=n,{autoPlay:V=!0}=n,{appState:_}=n,{canvasRender:z=!1}=n,{forceCanvas2d:B=!1}=n,{appParams:J}=n,{forceContinuePlayWhenPause:te=!0}=n,$=!1,ke=0;const ve=Kn();async function Le(){if(!l)throw u.warn("play video failed. need video element ref"),new Error("no video found");try{u.info("playVideo"),await l.play(),ve("mediaPlayed"),u.info("playVideo success")}catch(Q){throw u.info("playVideo failed",Q),Q}}function Fe(){l?$?(a(5,f.muted=!1,f),f.play().then(()=>{u.info("audio playout success",f.muted)}).catch(Q=>{u.info("audio playout failed with user confirm.",Q,f.muted)})):a(4,l.muted=!1,l):u.err("no render found")}function Xe(){Fe()}function Ue(){ue(),D()}function ue(){ke!=-1&&(window.clearTimeout(ke),ke=-1)}function D(){if(!B&&C.inited)return C.draw(0,0,Ae(L),Me(L)),void(ke=window.setTimeout(()=>{D()},1e3/J.frameRate));if(!z)return;const Q=O;if(!Q)return void u.warn("draw call without context");if(!l)return void u.warn("draw call without videoElement");const Je=Ae(L),lt=Me(L);Q.clearRect(0,0,Je,lt),Q.drawImage(l,0,0,Je,lt),ke=window.setTimeout(()=>{D()},1e3/J.frameRate)}function Ae(Q){return I.os==="iOS"&&B?Q.container.width:Q.appSize.width?Q.appSize.width:Q.container.width}function Me(Q){return I.os==="iOS"?Q.container.width:Q.appSize.height?Q.appSize.height:Q.container.height}function We(){te&&(Le(),Xe())}var ee;return dn(()=>{C=new ai,C.init(E,l),O=S.getContext("2d"),O==null&&u.err("init capture context failed.",O,S),z&&Ue(),a(4,l.playsInline=!0,l),l.addEventListener("pause",We),document.addEventListener("WeixinJSBridgeReady",()=>{u.warn("WeixinJSBridgeReady play video"),V&&Le().then(()=>{u.info("ios auto play success")}).catch(Q=>{u.warn("ios auto play failed",Q)})},!1),I.os==="iOS"&&V&&(u.info("on mount ios play video"),Le().then(()=>{u.info("ios auto play success")}).catch(Q=>{u.warn("ios auto play failed",Q)}))}),ee=()=>{l.removeEventListener("pause",We),ke!=-1&&(window.clearTimeout(ke),ke=-1),O=null},Rn().$$.on_destroy.push(ee),o.$$set=Q=>{"screenState"in Q&&a(0,L=Q.screenState),"mutePlayWhenFailed"in Q&&a(12,w=Q.mutePlayWhenFailed),"autoPlay"in Q&&a(1,V=Q.autoPlay),"appState"in Q&&a(13,_=Q.appState),"canvasRender"in Q&&a(2,z=Q.canvasRender),"forceCanvas2d"in Q&&a(3,B=Q.forceCanvas2d),"appParams"in Q&&a(14,J=Q.appParams),"forceContinuePlayWhenPause"in Q&&a(15,te=Q.forceContinuePlayWhenPause)},[L,V,z,B,l,f,S,E,function(Q){u.info("onLoadedmetadata");const Je=l;Je?_>=Y.RTC_CLOSED?u.warn("onLoadedmetadata video failed. rtc peerconnection already closed"):(u.info("++++++++++++++onLoadedmetadata+++++++++++++++++"),ve("mediaLoaded"),V?Le().then(()=>{u.info("play video success")}).catch(lt=>{u.info("play video failed. need user confirm",lt),$?I.isMobile&&(I.isQQ||I.isHuawei||I.isWeChat)?ve(Gt):(Je.muted=!0,Le().then(()=>{u.info("play video success")}).catch(ht=>{u.err("play video failed.",ht),ve(Gt)})):w?I.isMobile&&(I.isQQ||I.isHuawei||I.isWeChat)?ve(Gt):(Je.muted=!0,Le().then(()=>{u.info("play video success"),ve(kn)}).catch(ht=>{u.err("play video failed.",ht),ve(Gt)})):ve(Gt)}):u.info("++++++++++++++onLoadedmetadata but not auto play+++++++++++++++++")):u.warn("onLoadedmetadata video failed. need video element ref")},function(){f&&!f.played?f.play().then(()=>{}).catch(Q=>{u.info("auto play audio failed",Q),ve(kn),a(5,f.muted=!0,f),f.play()}):u.info("audio already played")},Ae,Me,w,_,J,te,function(Q){l?(u.info("setVideoSrcObj",Q),a(4,l.srcObject=Q,l)):u.warn("setup video failed. need video element ref")},function(Q){f?(u.info("setAudioSrcObj",Q),a(5,f.srcObject=Q,f),$=!0,f.play().then(()=>{u.info("auto play audio success.")}).catch(Je=>{u.warn("auto play audio failed. mute play",Je),ve(kn)})):u.warn("setup audio failed. need audio element ref")},function(){return l},function(){return f},function(){return $},function(){return S},function(){return O},Le,Fe,Xe,function(){l?(l.pause(),$&&f.pause()):u.warn("stop video failed. need video element ref")},function(Q,Je=void 0){let lt=L.appSize.width?L.appSize.width:L.container.width,ht=L.appSize.height?L.appSize.height:L.container.height;Je&&Je.width&&(lt=Je.width),Je&&Je.height&&(ht=Je.height);const vn=document.createElement("canvas");vn.width=lt,vn.height=ht;const vr=l,wn=vn.getContext("2d");if(!wn)return void u.warn("draw call without context");wn.clearRect(0,0,lt,ht),vr&&wn.drawImage(vr,0,0,lt,ht);const gr=vn.toDataURL("image/jpeg");return ve("pitcureCaptured",{data:Q,base64:gr}),{data:Q,base64:gr}},Ue,ue,function(Q){at[Q?"unshift":"push"](()=>{l=Q,a(4,l)})},function(Q){at[Q?"unshift":"push"](()=>{S=Q,a(6,S)})},function(Q){at[Q?"unshift":"push"](()=>{E=Q,a(7,E)})},function(Q){at[Q?"unshift":"push"](()=>{f=Q,a(5,f)})}]}var ci=class extends mn{constructor(o){super(),fn(this,o,ui,li,sn,{screenState:0,mutePlayWhenFailed:12,autoPlay:1,appState:13,canvasRender:2,forceCanvas2d:3,appParams:14,forceContinuePlayWhenPause:15,setVideoSrcObj:16,setAudioSrcObj:17,getVideo:18,getAudio:19,isSeprateAudioTrack:20,getRenderContext2dElement:21,getRenderContext2d:22,playVideo:23,sountPlayout:24,soundPlayout:25,stopVideo:26,captrueFrame:27,startCanvasRender:28,stopCanvasRender:29},si,[-1,-1])}get setVideoSrcObj(){return this.$$.ctx[16]}get setAudioSrcObj(){return this.$$.ctx[17]}get getVideo(){return this.$$.ctx[18]}get getAudio(){return this.$$.ctx[19]}get isSeprateAudioTrack(){return this.$$.ctx[20]}get getRenderContext2dElement(){return this.$$.ctx[21]}get getRenderContext2d(){return this.$$.ctx[22]}get playVideo(){return this.$$.ctx[23]}get sountPlayout(){return this.$$.ctx[24]}get soundPlayout(){return this.$$.ctx[25]}get stopVideo(){return this.$$.ctx[26]}get captrueFrame(){return this.$$.ctx[27]}get startCanvasRender(){return this.$$.ctx[28]}get stopCanvasRender(){return this.$$.ctx[29]}};function di(o){un(o,"svelte-17ckf92",".cursorContainer.svelte-17ckf92.svelte-17ckf92{pointer-events:none;position:absolute;margin:0;padding:0;display:block;z-index:10;width:24px;height:24px;background-size:contain}.cursorContainer.svelte-17ckf92 img.svelte-17ckf92{width:100%;height:auto}.pointerContainer.svelte-17ckf92.svelte-17ckf92{position:absolute;pointer-events:none;top:0;left:0;z-index:1}.pointerContainer.svelte-17ckf92 .pointer.svelte-17ckf92{width:6px;height:6px;margin-left:-3px;margin-top:-3px;background-color:#32cdcd;border-radius:50%;pointer-events:none}")}function pi(o){let n,a,l;return{c(){n=pe("div"),a=pe("img"),Qe(a.src,l=o[4](o[2].type))||U(a,"src",l),Te(a,"marginLeft",-o[2].hotX+"px"),Te(a,"marginTop",-o[2].hotY+"px"),U(a,"alt",""),U(a,"class","svelte-17ckf92"),U(n,"class","cursorContainer svelte-17ckf92"),U(n,"draggable","false"),Te(n,"left",o[0].x+"px"),Te(n,"top",o[0].y+"px")},m(f,S){Ee(f,n,S),he(n,a)},p(f,S){4&S&&!Qe(a.src,l=f[4](f[2].type))&&U(a,"src",l),4&S&&Te(a,"marginLeft",-f[2].hotX+"px"),4&S&&Te(a,"marginTop",-f[2].hotY+"px"),1&S&&Te(n,"left",f[0].x+"px"),1&S&&Te(n,"top",f[0].y+"px")},d(f){f&&Oe(n)}}}function Ai(o){let n,a=o[3]&&nr(o);return{c(){a&&a.c(),n=cn()},m(l,f){a&&a.m(l,f),Ee(l,n,f)},p(l,f){l[3]?a?a.p(l,f):(a=nr(l),a.c(),a.m(n.parentNode,n)):a&&(a.d(1),a=null)},d(l){a&&a.d(l),l&&Oe(n)}}}function nr(o){let n,a;return{c(){n=pe("div"),a=pe("div"),U(a,"class","pointer svelte-17ckf92"),U(n,"class","pointerContainer svelte-17ckf92"),Te(n,"left",o[0].x+"px"),Te(n,"top",o[0].y+"px")},m(l,f){Ee(l,n,f),he(n,a)},p(l,f){1&f&&Te(n,"left",l[0].x+"px"),1&f&&Te(n,"top",l[0].y+"px")},d(l){l&&Oe(n)}}}function hi(o){let n;function a(S,O){return S[1].isMobile?Ai:pi}let l=a(o),f=l(o);return{c(){f.c(),n=cn()},m(S,O){f.m(S,O),Ee(S,n,O)},p(S,[O]){l===(l=a(S))&&f?f.p(S,O):(f.d(1),f=l(S),f&&(f.c(),f.m(n.parentNode,n)))},i:tt,o:tt,d(S){f.d(S),S&&Oe(n)}}}function fi(o,n,a){let{screenState:l}=n,{syncCursorStyle:f}=n,{cursorPosition:S={x:0,y:0}}=n,{touchPonitEnable:O=!0}=n;const E={CURSOR_ARROR:__webpack_require__(1707).A,CURSOR_EW:__webpack_require__(4690).A,CURSOR_LINK:__webpack_require__(6376).A,CURSOR_MOVE:__webpack_require__(4059).A,CURSOR_NESW:__webpack_require__(289).A,CURSOR_NS:__webpack_require__(4145).A,CURSOR_NWSE:__webpack_require__(5957).A,CURSOR_UNAVAIL:__webpack_require__(1696).A,CURSOR_BEAM_RM:__webpack_require__(1008).A,CURSOR_BUSY_RM:__webpack_require__(4106).A,CURSOR_CROSS_RM:__webpack_require__(2971).A,CURSOR_WAIT:__webpack_require__(6293).A};return dn(()=>{a(0,S={x:l.container.width/2,y:l.container.height/2})}),o.$$set=C=>{"screenState"in C&&a(1,l=C.screenState),"syncCursorStyle"in C&&a(2,f=C.syncCursorStyle),"cursorPosition"in C&&a(0,S=C.cursorPosition),"touchPonitEnable"in C&&a(3,O=C.touchPonitEnable)},[S,l,f,O,function(C){switch(u.info("cursor style ",C),C){case Ce.ARROW:return E.CURSOR_ARROR;case Ce.CROSS:return E.CURSOR_CROSS_RM;case Ce.HAND:return E.CURSOR_LINK;case Ce.IBEAM:return E.CURSOR_BEAM_RM;case Ce.NO:return E.CURSOR_UNAVAIL;case Ce.SIZEALL:return E.CURSOR_MOVE;case Ce.SIZENESW:return E.CURSOR_NESW;case Ce.SIZENS:return E.CURSOR_NS;case Ce.SIZENWSE:return E.CURSOR_NWSE;case Ce.SIZEWE:return E.CURSOR_EW;case Ce.WAIT:return E.CURSOR_WAIT;case Ce.CUSTOM:return f.customBase64!=""?f.customBase64:E.CURSOR_ARROR;default:return E.CURSOR_ARROR}}]}var mi=class extends mn{constructor(o){super(),fn(this,o,fi,hi,sn,{screenState:1,syncCursorStyle:2,cursorPosition:0,touchPonitEnable:3},di)}};function yi(o){un(o,"svelte-98izw4",'@charset "UTF-8";.pxy-view-port.svelte-98izw4.svelte-98izw4{position:absolute;top:0;left:0;padding:0;margin:0;z-index:1;margin:0;padding:0;background-color:rgba(0, 0, 0, 0.05)}.pxy-view-port.svelte-98izw4 .pxy-container.svelte-98izw4{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 rr(o){let n,a;return n=new mi({props:{screenState:o[0],syncCursorStyle:o[1],cursorPosition:o[9],touchPonitEnable:o[10]}}),{c(){Tn(n.$$.fragment)},m(l,f){An(n,l,f),a=!0},p(l,f){const S={};1&f[0]&&(S.screenState=l[0]),2&f[0]&&(S.syncCursorStyle=l[1]),512&f[0]&&(S.cursorPosition=l[9]),1024&f[0]&&(S.touchPonitEnable=l[10]),n.$set(S)},i(l){a||(it(n.$$.fragment,l),a=!0)},o(l){Rt(n.$$.fragment,l),a=!1},d(l){hn(n,l)}}}function ir(o){let n,a;return n=new oi({props:{taskReady:o[6].taskid!="",wsId:o[6].wsId,screenState:o[0],ui:o[2],serverAddress:o[3],appState:o[4],syncApp:o[5],loadingBgUrl:o[7],showLoadingStateBar:o[11],showPlayButton:o[13],tapedPlayButton:o[21],loadingLogoVersion:o[16],loadingStateMsg:o[17]}}),{c(){Tn(n.$$.fragment)},m(l,f){An(n,l,f),a=!0},p(l,f){const S={};64&f[0]&&(S.taskReady=l[6].taskid!=""),64&f[0]&&(S.wsId=l[6].wsId),1&f[0]&&(S.screenState=l[0]),4&f[0]&&(S.ui=l[2]),8&f[0]&&(S.serverAddress=l[3]),16&f[0]&&(S.appState=l[4]),32&f[0]&&(S.syncApp=l[5]),128&f[0]&&(S.loadingBgUrl=l[7]),2048&f[0]&&(S.showLoadingStateBar=l[11]),8192&f[0]&&(S.showPlayButton=l[13]),2097152&f[0]&&(S.tapedPlayButton=l[21]),65536&f[0]&&(S.loadingLogoVersion=l[16]),131072&f[0]&&(S.loadingStateMsg=l[17]),n.$set(S)},i(l){a||(it(n.$$.fragment,l),a=!0)},o(l){Rt(n.$$.fragment,l),a=!1},d(l){hn(n,l)}}}function vi(o){let n,a,l,f,S,O,E,C,L,w,V=o[6].appliType!==bt.PIXEL_STREAMING&&(o[0].isMobile||o[0].isLocalRenderMouse)&&rr(o),_={appState:o[4],screenState:o[0],mutePlayWhenFailed:o[8],autoPlay:o[12],canvasRender:o[14],forceCanvas2d:o[15],appParams:o[6]};f=new ci({props:_}),o[44](f),f.$on("mediaLoaded",o[45]),f.$on("mediaPlayed",o[46]),f.$on("mediaPlayedMute",o[25]),f.$on("mediaPlayedFailed",o[47]),f.$on("pitcureCaptured",o[48]);let z=(o[4]<=Y.MEDIA_LOADED||o[4]>=Y.RTC_RETRY)&&ir(o);return{c(){n=pe("div"),a=pe("div"),V&&V.c(),l=Ke(),Tn(f.$$.fragment),O=Ke(),z&&z.c(),U(a,"class","pxy-container svelte-98izw4"),U(a,"style",S=o[0].containerStyle),U(n,"class","pxy-view-port svelte-98izw4"),U(n,"style",E=o[0].viewPortStyle)},m(B,J){Ee(B,n,J),he(n,a),V&&V.m(a,null),he(a,l),An(f,a,null),o[49](a),he(n,O),z&&z.m(n,null),o[50](n),C=!0,L||(w=[Mt(a,"mouseup",o[23]),Mt(a,"touchend",o[24],{passive:!0}),Mt(n,"mouseup",o[26]),Mt(n,"touchend",o[26],{passive:!0})],L=!0)},p(B,J){B[6].appliType!==bt.PIXEL_STREAMING&&(B[0].isMobile||B[0].isLocalRenderMouse)?V?(V.p(B,J),65&J[0]&&it(V,1)):(V=rr(B),V.c(),it(V,1),V.m(a,l)):V&&(Yn(),Rt(V,1,1,()=>{V=null}),Hn());const te={};16&J[0]&&(te.appState=B[4]),1&J[0]&&(te.screenState=B[0]),256&J[0]&&(te.mutePlayWhenFailed=B[8]),4096&J[0]&&(te.autoPlay=B[12]),16384&J[0]&&(te.canvasRender=B[14]),32768&J[0]&&(te.forceCanvas2d=B[15]),64&J[0]&&(te.appParams=B[6]),f.$set(te),(!C||1&J[0]&&S!==(S=B[0].containerStyle))&&U(a,"style",S),B[4]<=Y.MEDIA_LOADED||B[4]>=Y.RTC_RETRY?z?(z.p(B,J),16&J[0]&&it(z,1)):(z=ir(B),z.c(),it(z,1),z.m(n,null)):z&&(Yn(),Rt(z,1,1,()=>{z=null}),Hn()),(!C||1&J[0]&&E!==(E=B[0].viewPortStyle))&&U(n,"style",E)},i(B){C||(it(V),it(f.$$.fragment,B),it(z),C=!0)},o(B){Rt(V),Rt(f.$$.fragment,B),Rt(z),C=!1},d(B){B&&Oe(n),V&&V.d(),o[44](null),hn(f),o[49](null),z&&z.d(),o[50](null),L=!1,St(w)}}}function gi(o,n,a){let l,f,S,{screenState:O}=n,{syncCursorStyle:E}=n,{ui:C}=n,{serverAddress:L}=n,{appState:w}=n,{syncApp:V}=n,{isMobile:_}=n,{appParams:z}=n,{loadingBgUrl:B}=n,{mutePlayWhenFailed:J}=n,{cursorPosition:te={x:0,y:0}}=n,{touchPonitEnable:$=!0}=n,{showLoadingStateBar:ke=!0}=n,{autoPlay:ve=!0}=n,{showPlayButton:Le=!0}=n,{canvasRender:Fe=!1}=n,{forceCanvas2d:Xe=!1}=n,{loadingLogoVersion:Ue}=n,{loadingStateMsg:ue=""}=n,D=!1,Ae=!1,Me=!1;const We=Kn();return dn(()=>{We("loaded",f)}),o.$$set=ee=>{"screenState"in ee&&a(0,O=ee.screenState),"syncCursorStyle"in ee&&a(1,E=ee.syncCursorStyle),"ui"in ee&&a(2,C=ee.ui),"serverAddress"in ee&&a(3,L=ee.serverAddress),"appState"in ee&&a(4,w=ee.appState),"syncApp"in ee&&a(5,V=ee.syncApp),"isMobile"in ee&&a(27,_=ee.isMobile),"appParams"in ee&&a(6,z=ee.appParams),"loadingBgUrl"in ee&&a(7,B=ee.loadingBgUrl),"mutePlayWhenFailed"in ee&&a(8,J=ee.mutePlayWhenFailed),"cursorPosition"in ee&&a(9,te=ee.cursorPosition),"touchPonitEnable"in ee&&a(10,$=ee.touchPonitEnable),"showLoadingStateBar"in ee&&a(11,ke=ee.showLoadingStateBar),"autoPlay"in ee&&a(12,ve=ee.autoPlay),"showPlayButton"in ee&&a(13,Le=ee.showPlayButton),"canvasRender"in ee&&a(14,Fe=ee.canvasRender),"forceCanvas2d"in ee&&a(15,Xe=ee.forceCanvas2d),"loadingLogoVersion"in ee&&a(16,Ue=ee.loadingLogoVersion),"loadingStateMsg"in ee&&a(17,ue=ee.loadingStateMsg)},[O,E,C,L,w,V,z,B,J,te,$,ke,ve,Le,Fe,Xe,Ue,ue,l,f,S,Me,We,function(){Ae&&(l&&l.sountPlayout(),Ae=!1),z.fullScreenMode==1?D||(We("requestFullScreen"),D=!0):z.fullScreenMode==2&&We("requestFullScreen")},function(){Ae&&(l&&l.sountPlayout(),Ae=!1,_)||(z.mobileFullScreenMode==1?D||(window.setTimeout(()=>{We("requestFullScreen")},100),D=!0):z.mobileFullScreenMode==2&&window.setTimeout(()=>{We("requestFullScreen")},100))},function(){Ae=!0,We("mediaPlayedMute")},function(){w>Y.INITED&&w<Y.MEDIA_PLAYED&&(l==null||l.playVideo().catch(ee=>{u.warn("play video failed with user click",ee)}),window.setTimeout(()=>{w>Y.INITED&&w<Y.MEDIA_PLAYED&&a(21,Me=!0)},1e3))},_,function(){return f},function(){return l},function(){return S},function(ee){l==null||l.setVideoSrcObj(ee)},function(){return l==null?void 0:l.getVideo()},async function(){l==null||l.playVideo()},function(){l.sountPlayout()},function(){l.stopVideo()},function(ee){l==null||l.setAudioSrcObj(ee)},function(){return l.getAudio()},function(){return l.startCanvasRender()},function(){return l.stopCanvasRender()},function(){return l.isSeprateAudioTrack()},function(ee,Q=void 0){return l.captrueFrame(ee,Q)},function(){return l.getRenderContext2dElement()},function(){return l.getRenderContext2d()},function(ee){at[ee?"unshift":"push"](()=>{l=ee,a(18,l)})},()=>We("mediaLoaded"),()=>We("mediaPlayed"),()=>We("mediaPlayedFailed"),ee=>We("pitcureCaptured",ee.detail),function(ee){at[ee?"unshift":"push"](()=>{f=ee,a(19,f)})},function(ee){at[ee?"unshift":"push"](()=>{S=ee,a(20,S)})}]}var bi=class extends mn{constructor(o){super(),fn(this,o,gi,vi,sn,{screenState:0,syncCursorStyle:1,ui:2,serverAddress:3,appState:4,syncApp:5,isMobile:27,appParams:6,loadingBgUrl:7,mutePlayWhenFailed:8,cursorPosition:9,touchPonitEnable:10,showLoadingStateBar:11,autoPlay:12,showPlayButton:13,canvasRender:14,forceCanvas2d:15,loadingLogoVersion:16,loadingStateMsg:17,getContainerComponent:28,getVideoComponent:29,getViewportComponent:30,setVideoSrcObj:31,getVideo:32,playVideo:33,sountPlayout:34,stopVideo:35,setAudioSrcObj:36,getAudio:37,startCanvasRender:38,stopCanvasRender:39,isSeprateAudioTrack:40,captrueFrame:41,getRenderContext2dElement:42,getRenderContext2d:43},yi,[-1,-1])}get screenState(){return this.$$.ctx[0]}set screenState(o){this.$$set({screenState:o}),xe()}get syncCursorStyle(){return this.$$.ctx[1]}set syncCursorStyle(o){this.$$set({syncCursorStyle:o}),xe()}get ui(){return this.$$.ctx[2]}set ui(o){this.$$set({ui:o}),xe()}get serverAddress(){return this.$$.ctx[3]}set serverAddress(o){this.$$set({serverAddress:o}),xe()}get appState(){return this.$$.ctx[4]}set appState(o){this.$$set({appState:o}),xe()}get syncApp(){return this.$$.ctx[5]}set syncApp(o){this.$$set({syncApp:o}),xe()}get isMobile(){return this.$$.ctx[27]}set isMobile(o){this.$$set({isMobile:o}),xe()}get appParams(){return this.$$.ctx[6]}set appParams(o){this.$$set({appParams:o}),xe()}get loadingBgUrl(){return this.$$.ctx[7]}set loadingBgUrl(o){this.$$set({loadingBgUrl:o}),xe()}get mutePlayWhenFailed(){return this.$$.ctx[8]}set mutePlayWhenFailed(o){this.$$set({mutePlayWhenFailed:o}),xe()}get cursorPosition(){return this.$$.ctx[9]}set cursorPosition(o){this.$$set({cursorPosition:o}),xe()}get touchPonitEnable(){return this.$$.ctx[10]}set touchPonitEnable(o){this.$$set({touchPonitEnable:o}),xe()}get showLoadingStateBar(){return this.$$.ctx[11]}set showLoadingStateBar(o){this.$$set({showLoadingStateBar:o}),xe()}get autoPlay(){return this.$$.ctx[12]}set autoPlay(o){this.$$set({autoPlay:o}),xe()}get showPlayButton(){return this.$$.ctx[13]}set showPlayButton(o){this.$$set({showPlayButton:o}),xe()}get canvasRender(){return this.$$.ctx[14]}set canvasRender(o){this.$$set({canvasRender:o}),xe()}get forceCanvas2d(){return this.$$.ctx[15]}set forceCanvas2d(o){this.$$set({forceCanvas2d:o}),xe()}get loadingLogoVersion(){return this.$$.ctx[16]}set loadingLogoVersion(o){this.$$set({loadingLogoVersion:o}),xe()}get loadingStateMsg(){return this.$$.ctx[17]}set loadingStateMsg(o){this.$$set({loadingStateMsg:o}),xe()}get getContainerComponent(){return this.$$.ctx[28]}get getVideoComponent(){return this.$$.ctx[29]}get getViewportComponent(){return this.$$.ctx[30]}get setVideoSrcObj(){return this.$$.ctx[31]}get getVideo(){return this.$$.ctx[32]}get playVideo(){return this.$$.ctx[33]}get sountPlayout(){return this.$$.ctx[34]}get stopVideo(){return this.$$.ctx[35]}get setAudioSrcObj(){return this.$$.ctx[36]}get getAudio(){return this.$$.ctx[37]}get startCanvasRender(){return this.$$.ctx[38]}get stopCanvasRender(){return this.$$.ctx[39]}get isSeprateAudioTrack(){return this.$$.ctx[40]}get captrueFrame(){return this.$$.ctx[41]}get getRenderContext2dElement(){return this.$$.ctx[42]}get getRenderContext2d(){return this.$$.ctx[43]}};const Si=1,Oi=7,Ri=50,Ei=51,or=60,ar=61,Ci=62,Li=70,Ti=71,ki=72,wi=73,Pi=74,Ii=75,Mi=80,Ni=81,xi=82,Vi=90,Di=91,Wi=92,yn=0,sr=1,lr=2,ur=3,cr=4,dr=1,pr=2,Ar=4,hr=8,fr=16,mr=8,_i=16,ji=17,Fi=18,zi=253,Xi=254,qi=255,Zi=0,yr=window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.requestAnimationFrame,Ui="GamepadEvent"in window,Bi="WebKitGamepadEvent"in window,st=(document.createEvent("KeyboardEvent").initKeyboardEvent,{});class Gi extends g{get startListen(){return this._startListen}constructor(n){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=(a,l)=>({x:0,y:0,inRange:!1}),this.normalizeAndQuantizeSigned=(a,l)=>({x:0,y:0}),this.unquantizeAndDenormalizeUnsigned=(a,l)=>({x:0,y:0}),this.inputOptions={controlScheme:Zi,suppressBrowserKeys:!0,fakeMouseWithTouches:!1},this._startListen=!1,this.larksr=n,this.updateStatus=this.updateStatus.bind(this),this.gamepadDisconnectHandler=this.gamepadDisconnectHandler.bind(this)}registerInputs(n){this.registerMouseEnterAndLeaveEvents(n),this.registerTouchEvents(n)}setupMouseAndFreezeFrame(n,a){this.playerElementClientRect=n.getBoundingClientRect(),this.setupNormalizeAndQuantize(n,a)}emitUIInteraction(n){return this.emitDescriptor(Ri,n)}emitCommand(n){return this.emitDescriptor(Ei,n)}requestInitialSettings(){this.sendInputData(new Uint8Array([Oi]).buffer)}requestQualityControl(){this.sendInputData(new Uint8Array([Si]).buffer)}emitMouseMove(n,a,l,f){let S=this.normalizeAndQuantizeUnsigned(n,a),O=this.normalizeAndQuantizeSigned(l,f);u.info("emitMouseMove",S,O);let E=new DataView(new ArrayBuffer(9));E.setUint8(0,Pi),E.setUint16(1,S.x,!0),E.setUint16(3,S.y,!0),E.setInt16(5,O.x,!0),E.setInt16(7,O.y,!0),this.sendInputData(E.buffer)}emitMouseDown(n,a,l){let f=this.normalizeAndQuantizeUnsigned(a,l),S=new DataView(new ArrayBuffer(6));S.setUint8(0,ki),S.setUint8(1,n),S.setUint16(2,f.x,!0),S.setUint16(4,f.y,!0),this.sendInputData(S.buffer)}emitMouseUp(n,a,l){let f=this.normalizeAndQuantizeUnsigned(a,l),S=new DataView(new ArrayBuffer(6));S.setUint8(0,wi),S.setUint8(1,n),S.setUint16(2,f.x,!0),S.setUint16(4,f.y,!0),this.sendInputData(S.buffer)}emitMouseWheel(n,a,l){let f=this.normalizeAndQuantizeUnsigned(a,l),S=new DataView(new ArrayBuffer(7));S.setUint8(0,Ii),S.setInt16(1,n,!0),S.setUint16(3,f.x,!0),S.setUint16(5,f.y,!0),this.sendInputData(S.buffer)}releaseMouseButtons(n,a,l){n&dr&&this.emitMouseUp(yn,a,l),n&pr&&this.emitMouseUp(lr,a,l),n&Ar&&this.emitMouseUp(sr,a,l),n&hr&&this.emitMouseUp(ur,a,l),n&fr&&this.emitMouseUp(cr,a,l)}pressMouseButtons(n,a,l){n&dr&&this.emitMouseDown(yn,a,l),n&pr&&this.emitMouseDown(lr,a,l),n&Ar&&this.emitMouseDown(sr,a,l),n&hr&&this.emitMouseDown(ur,a,l),n&fr&&this.emitMouseDown(cr,a,l)}registerMouseEnterAndLeaveEvents(n){let a=this;n.onmouseenter=function(l){u.info("mouse enter");let f=new DataView(new ArrayBuffer(1));f.setUint8(0,Li),a.sendInputData(f.buffer),n.pressMouseButtons(l.buttons,0,0)},n.onmouseleave=function(l){u.info("mouse leave");let f=new DataView(new ArrayBuffer(1));f.setUint8(0,Ti),a.sendInputData(f.buffer),n.releaseMouseButtons(l.buttons,0,0)}}registerLockedMouseEvents(n){this._startListen=!0;let a=this,l=n.clientWidth/2,f=n.clientHeight/2;function S(){document.pointerLockElement===n||document.mozPointerLockElement===n?(console.log("Pointer locked"),document.addEventListener("mousemove",O,!1)):(console.log("The pointer lock status is now unlocked"),document.removeEventListener("mousemove",O,!1))}function O(E){l+=E.movementX,f+=E.movementY,l>a.larksr.screenState.container.width&&(l-=a.larksr.screenState.container.width),f>a.larksr.screenState.container.height&&(f-=a.larksr.screenState.container.height),l<0&&(l=a.larksr.screenState.container.width+l),f<0&&(f=a.larksr.screenState.container.height-f),a.emitMouseMove(l,f,E.movementX,E.movementY)}n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock,document.exitPointerLock=document.exitPointerLock||n.mozExitPointerLock,n.onclick=function(){a.larksr.isObMode||n.requestPointerLock()},document.addEventListener("pointerlockchange",S,!1),document.addEventListener("mozpointerlockchange",S,!1),n.onmousedown=function(E){a.emitMouseDown(E.button,l,f)},n.onmouseup=function(E){a.emitMouseUp(E.button,l,f)},n.onmousewheel=function(E){a.emitMouseWheel(E.wheelDelta,l,f)},n.pressMouseButtons=function(E){a.pressMouseButtons(E.buttons,l,f)},n.releaseMouseButtons=function(E){a.releaseMouseButtons(E.buttons,l,f)}}registerHoveringMouseEvents(n){let a=this;u.info("registerHoveringMouseEvents",n),n.onmousemove=function(l){a.emitMouseMove(l.offsetX,l.offsetY,l.movementX,l.movementY),u.info("onmousemove",l),l.preventDefault()},n.onmousedown=function(l){a.emitMouseDown(l.button,l.offsetX,l.offsetY),l.preventDefault()},n.onmouseup=function(l){a.emitMouseUp(l.button,l.offsetX,l.offsetY),l.preventDefault()},n.oncontextmenu=function(l){a.emitMouseUp(l.button,l.offsetX,l.offsetY),l.preventDefault()},"onmousewheel"in n?n.onmousewheel=function(l){a.emitMouseWheel(l.wheelDelta,l.offsetX,l.offsetY),l.preventDefault()}:n.addEventListener("DOMMouseScroll",function(l){a.emitMouseWheel(-120*l.detail,l.offsetX,l.offsetY),l.preventDefault()},!1),n.pressMouseButtons=function(l){a.pressMouseButtons(l.buttons,l.offsetX,l.offsetY)},n.releaseMouseButtons=function(l){a.releaseMouseButtons(l.buttons,l.offsetX,l.offsetY)}}registerTouchEvents(n){let a=this,l=[9,8,7,6,5,4,3,2,1,0],f={};function S(E){let C=l.pop();C===void 0&&console.log("exhausted touch indentifiers"),f[E.identifier]=C}function O(E,C){let L=new DataView(new ArrayBuffer(2+7*C.length));L.setUint8(0,E),L.setUint8(1,C.length);let w=2;for(let V=0;V<C.length;V++){let _=C[V];const{screenOrientation:z,viewPort:B}=a.larksr.screenState;let J=_.clientX-n.offsetLeft,te=_.clientY-n.offsetTop;z==="landscape"?(J=_.clientY-n.offsetLeft,te=B.height-_.clientX-n.offsetTop):(J=_.clientX-n.offsetLeft,te=_.clientY-n.offsetTop),u.info(`F${f[_.identifier]}=(${J}, ${te})`);let $=a.normalizeAndQuantizeUnsigned(J,te);L.setUint16(w,$.x,!0),w+=2,L.setUint16(w,$.y,!0),w+=2,L.setUint8(w,f[_.identifier],!0),w+=1,L.setUint8(w,255*_.force,!0),w+=1,L.setUint8(w,$.inRange?1:0,!0),w+=1}a.sendInputData(L.buffer)}if(a.inputOptions.fakeMouseWithTouches){let E;n.ontouchstart=function(C){if(E===void 0){let L=C.changedTouches[0];E={id:L.identifier,x:L.clientX-a.playerElementClientRect.left,y:L.clientY-a.playerElementClientRect.top},n.onmouseenter(C),a.emitMouseDown(yn,E.x,E.y)}C.preventDefault()},n.ontouchend=function(C){for(let L=0;L<C.changedTouches.length;L++){let w=C.changedTouches[L];if(w.identifier===E.id){let V=w.clientX-a.playerElementClientRect.left,_=w.clientY-a.playerElementClientRect.top;a.emitMouseUp(yn,V,_),n.onmouseleave(C),E=void 0;break}}C.preventDefault()},n.ontouchmove=function(C){for(let L=0;L<C.touches.length;L++){let w=C.touches[L];if(w.identifier===E.id){let V=w.clientX-a.playerElementClientRect.left,_=w.clientY-a.playerElementClientRect.top;a.emitMouseMove(V,_,V-E.x,_-E.y),E.x=V,E.y=_;break}}C.preventDefault()}}else n.ontouchstart=function(E){for(let C=0;C<E.changedTouches.length;C++)S(E.changedTouches[C]);u.info("touch start"),O(Mi,E.changedTouches),E.preventDefault()},n.ontouchend=function(E){u.info("touch end"),O(Ni,E.changedTouches);for(let L=0;L<E.changedTouches.length;L++)C=E.changedTouches[L],l.push(f[C.identifier]),delete f[C.identifier];var C;E.preventDefault()},n.ontouchmove=function(E){u.info("touch move"),O(xi,E.touches),E.preventDefault()}}isKeyCodeBrowserKey(n){return n>=112&&n<=123||n===9}getKeyCode(n){return n.keyCode===_i&&n.code==="ShiftRight"?zi:n.keyCode===ji&&n.code==="ControlRight"?Xi:n.keyCode===Fi&&n.code==="AltRight"?qi:n.keyCode}registerKeyboardEvents(){this._startListen=!0;let n=this;document.onkeydown=function(a){u.info(`key down ${a.keyCode}, repeat = ${a.repeat}`),n.sendInputData(new Uint8Array([or,n.getKeyCode(a),a.repeat]).buffer),a.keyCode===mr&&document.onkeypress({charCode:mr}),n.inputOptions.suppressBrowserKeys&&n.isKeyCodeBrowserKey(a.keyCode)&&a.preventDefault()},document.onkeyup=function(a){u.info(`key up ${a.keyCode}`),n.sendInputData(new Uint8Array([ar,n.getKeyCode(a)]).buffer),n.inputOptions.suppressBrowserKeys&&n.isKeyCodeBrowserKey(a.keyCode)&&a.preventDefault()},document.onkeypress=function(a){u.info(`key press ${a.charCode}`);let l=new DataView(new ArrayBuffer(3));l.setUint8(0,Ci),l.setUint16(1,a.charCode,!0),n.sendInputData(l.buffer)}}setupHtmlEvents(){this._startListen=!0,Ui?(window.addEventListener("gamepadconnected",this.gamepadConnectHandler),window.addEventListener("gamepaddisconnected",this.gamepadDisconnectHandler)):Bi&&(window.addEventListener("webkitgamepadconnected",this.gamepadConnectHandler),window.addEventListener("webkitgamepaddisconnected",this.gamepadDisconnectHandler))}gamepadConnectHandler(n){u.info("Gamepad connect handler");const a=n.gamepad;st[a.index]={},st[a.index].currentState=a,st[a.index].prevState=a,u.info("gamepad: "+a.id+" connected"),yr(this.updateStatus)}gamepadDisconnectHandler(n){u.warn("Gamepad disconnect handler"),u.warn("gamepad: "+n.gamepad.id+" disconnected"),delete st[n.gamepad.index]}emitControllerAxisMove(n,a,l){const f=new DataView(new ArrayBuffer(11));f.setUint8(0,Wi),f.setUint8(1,n),f.setUint8(2,a),f.setFloat64(3,l,!0),this.sendInputData(f.buffer)}emitControllerButtonPressed(n,a,l){const f=new DataView(new ArrayBuffer(4));f.setUint8(0,Vi),f.setUint8(1,n),f.setUint8(2,a),f.setUint8(3,l),this.sendInputData(f.buffer)}emitControllerButtonReleased(n,a){const l=new DataView(new ArrayBuffer(3));l.setUint8(0,Di),l.setUint8(1,n),l.setUint8(2,a),this.sendInputData(l.buffer)}scanGamepads(){let n=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():[];for(let a=0;a<n.length;a++)n[a]&&n[a].index in st&&(st[n[a].index].currentState=n[a])}updateStatus(){this.scanGamepads();for(const n in st){let a=st[n],l=a.currentState,f=a.prevState;for(let S=0;S<l.buttons.length;S++){let O=l.buttons[S],E=f.buttons[S];O.pressed&&!E.pressed?S==6?this.emitControllerAxisMove(n,5,O.value):S==7?this.emitControllerAxisMove(n,6,O.value):this.emitControllerButtonPressed(n,S,0):!O.pressed&&E.pressed?S==6?this.emitControllerAxisMove(n,5,0):S==7?this.emitControllerAxisMove(n,6,0):this.emitControllerButtonReleased(n,S):O.pressed&&E.pressed&&(S==6?this.emitControllerAxisMove(n,5,O.value):S==7?this.emitControllerAxisMove(n,6,O.value):this.emitControllerButtonPressed(n,S,1))}for(let S=0;S<l.axes.length;S+=2){let O=parseFloat(l.axes[S].toFixed(4)),E=-parseFloat(l.axes[S+1].toFixed(4));S===0?(this.emitControllerAxisMove(n,1,O),this.emitControllerAxisMove(n,2,E)):S===2&&(this.emitControllerAxisMove(n,3,O),this.emitControllerAxisMove(n,4,E))}st[n].prevState=l}yr(this.updateStatus)}setupNormalizeAndQuantize(n,a){if(n&&a){let l=n.clientHeight/n.clientWidth,f=a.videoHeight/a.videoWidth;if(l>f){u.info("Setup Normalize and Quantize for playerAspectRatio > videoAspectRatio");let S=l/f;this.normalizeAndQuantizeUnsigned=(O,E)=>{let C=O/n.clientWidth,L=S*(E/n.clientHeight-.5)+.5;return C<0||C>1||L<0||L>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*C,y:65536*L}},this.unquantizeAndDenormalizeUnsigned=(O,E)=>{let C=(E/65536-.5)/S+.5;return{x:O/65536*n.clientWidth,y:C*n.clientHeight}},this.normalizeAndQuantizeSigned=(O,E)=>({x:32767*(O/(.5*n.clientWidth)),y:32767*(S*E/(.5*n.clientHeight))})}else{u.info("Setup Normalize and Quantize for playerAspectRatio <= videoAspectRatio");let S=f/l;this.normalizeAndQuantizeUnsigned=(O,E)=>{let C=S*(O/n.clientWidth-.5)+.5,L=E/n.clientHeight;return C<0||C>1||L<0||L>1?{inRange:!1,x:65535,y:65535}:{inRange:!0,x:65536*C,y:65536*L}},this.unquantizeAndDenormalizeUnsigned=(O,E)=>{let C=E/65536;return{x:((O/65536-.5)/S+.5)*n.clientWidth,y:C*n.clientHeight}},this.normalizeAndQuantizeSigned=(O,E)=>({x:32767*(S*O/(.5*n.clientWidth)),y:32767*(E/(.5*n.clientHeight))})}}}emitDescriptor(n,a){let l=JSON.stringify(a),f=new DataView(new ArrayBuffer(3+2*l.length)),S=0;f.setUint8(S,n),S++,f.setUint16(S,l.length,!0),S+=2;for(let O=0;O<l.length;O++)f.setUint16(S,l.charCodeAt(O),!0),S+=2;return this.emit({type:0,intpuBuffer:f.buffer,target:this}),f.buffer}sendInputData(n){this.emit({type:0,intpuBuffer:n,target:this})}}var Kt;(function(o){o[o.OPEN=0]="OPEN",o[o.CLOSE=1]="CLOSE",o[o.ERROR=2]="ERROR",o[o.TRY=3]="TRY",o[o.STAUTS=4]="STAUTS"})(Kt||(Kt={}));class Ki extends g{get wsServer(){let n="";if(this.config.appliId&&(n+="appliId="+this.config.appliId+"&"),this.config.groupId&&(n+="groupId="+this.config.groupId+"&"),this.config.targetServerIp&&(n+="targetServerIp="+this.config.targetServerIp+"&"),this.queueId&&(n+="queueId="+this.queueId+"&"),this.config.proxyBasePath)return`${window.location.protocol.indexOf("s")>-1?"wss://":"ws://"}${window.location.host}${this.config.proxyBasePath}/websocket/waitQueue?`+n;{const a=new URL(this.config.serverAddress);return`${a.protocol.indexOf("s")>-1?"wss://":"ws://"}${a.host}/websocket/waitQueue?`+n}}isOpen(){return!!this.connection&&this.connection.readyState===1}constructor(n){super(),this.connection=null,this.keepAliveTimeout=-1,this.queueId="",u.info("初始化 WaitQueue"+JSON.stringify(n)),this.config=n,this.startKeepAlive=this.startKeepAlive.bind(this),this.stopKeepAlive=this.stopKeepAlive.bind(this)}connect(){return new Promise((n,a)=>{u.info("连接 websocket waitqueue 服务器",this.config,this.wsServer),this.config.serverAddress||(u.warn("server uri error:",this.config.serverAddress),a("server uri error:"+this.config.serverAddress));const l=this.wsServer;this.connection=new WebSocket(l),this.connection.binaryType="arraybuffer",this.connection.addEventListener("message",f=>{try{let S=JSON.parse(f.data);switch(S.type){case"020":u.info("on queue try "+f.data),this.emit({type:Kt.TRY}),n(this),this.close();break;case"021":u.info("on queue id "+f.data),S.value&&(this.queueId=S.value);break;case"022":u.info("on status msg "+f.data,S.waitCntBeforeMe),this.emit({type:Kt.STAUTS,waitCount:S.waitCntBeforeMe})}}catch(S){u.err("parse queue msg failed",S,f.data),a()}}),this.connection.addEventListener("open",()=>{u.info("connection open")}),this.connection.addEventListener("error",f=>{u.info("connection error"),a(f)}),this.connection.addEventListener("close",f=>{u.info("websocket connection close",f),a(f)})})}close(){return new Promise((n,a)=>{if(this.connection){const l=this;this.connection.addEventListener("close",f=>{l.connection=null,u.info("CLOSE PROMISE 关闭 websocket 连接"),n()}),this.connection.addEventListener("error",f=>{a(f)}),u.warn("主动关闭 websocket 连接"),this.connection.close()}else u.warn("主动关闭连接,但是当前 websocket 连接为null"),n()})}startKeepAlive(){u.info("proxy startKeepAlive"),this.keepAliveTimeout=window.setTimeout(()=>{this.connection&&this.isOpen()?(this.connection.send("1000"),this.startKeepAlive()):this.stopKeepAlive()},1e4)}stopKeepAlive(){u.info("proxy stopKeepAlive"),this.keepAliveTimeout&&window.clearTimeout(this.keepAliveTimeout)}}var Dt,At,ne;(function(o){o[o.Normal=0]="Normal",o[o.Interactive=1]="Interactive",o[o.MutiPlayer=2]="MutiPlayer"})(Dt||(Dt={})),function(o){o[o.Observer=0]="Observer",o[o.Player=1]="Player"}(At||(At={})),function(o){o.TASK_CREATE_SUCCESS="taskcreatesuccess",o.TASK_CREATE_FAILED="taskcreatefailed",o.RESOURCE_NOT_ENOUGH="resourcenotenough",o.CONNECT="connect",o.LOGIN_SUCCESS="loginsuccess",o.NO_OPERATION_TIMEOUT="operatetimeout",o.CLOSE="close",o.APP_CLOSE="appclose",o.GOT_REMOTE_STREAM="gotremotestream",o.GOT_REMOTE_AUDIO_STREAM="gotremoteaudiostream",o.MEDIA_LOADED="meidaloaded",o.MEDIA_LOADED2="medialoaded",o.MEDIA_PLAY_SUCCESS="mediaplaysuccess",o.MEDIA_PLAY_FAILED="mediaplayfailed",o.MEDIA_PLAY_MUTE="meidaplaymute",o.APPSTATE_CHANGE="appstatechange",o.APP_RESIZE="appresize",o.APP_MOUSE_MODE="appmousemode",o.APP_CURSOR_MODE="appcursormode",o.PLAYER_LIST="playerlist",o.PEERSTATUS_REPORT="peerstatusreport",o.APP_REQUEST_INPUT="apprequestinput",o.APP_REQUEST_GAMEPAD_OUPUT="apprequestgamepadoutput",o.CAPTURE_FRAME="captureframe",o.DATACHANNEL_OPEN="datachannelopen",o.DATACHANNEL_CLOSE="datachannelclose",o.DATACHANNEL_TEXT="datachanneltext",o.DATACHANNEL_BINARY="datachannelbinary",o.LarkEvent="larkevent",o.ERROR="error",o.INFO="info",o.AI_VOICE_STATUS="aivoicestatus",o.AI_VOICE_ASR_RESULT="aivoiceasrresult",o.AI_VOICE_DM_RESULT="aivoicedmresult",o.AI_VOICE_ERROR="aivoiceerror",o.TOUCH_CTR_MAPPING="touchctrmapping",o.RTMP_STREAM_STATE="rtmpstreamstate",o.RTMP_STREAM_ERROR="rtmpstreamerror",o.AERIAL_VIEW_SCREEN="aerialviewscreen",o.START_XR_STREAM_RESPONSE="startxrstreamresponse",o.TOOLTIP_INFO="tooltipinfo",o.OPEN_URL="openurl",o.WAITQUEUE_STATUS="waitqueuestatus"}(ne||(ne={}));var Ji={LarkSR:class extends g{get params(){return this._params}get playerModeType(){return this._params.playerMode}get userType(){return this._params.userType}get isObMode(){return this.playerModeType!=Dt.Normal&&this.userType==At.Observer}get isInteractiveMode(){return this.playerModeType!=Dt.Normal}get isPixelStreaming(){return this.params.appliType===bt.PIXEL_STREAMING}get appState(){return this._app.state}get app(){return this._app}get remoteScreenReady(){return this._remoteScreenReady}set remoteScreenReady(o){this._remoteScreenReady=o}onFirstAppsize(o,n){this.syncClientViewport&&(u.info("remoteScreenReady ",this.screenState.viewPort,this.params,this.screenState.syncClientViewport),this.setCloudAppSize(this.screenState.syncClientViewport.width,this.screenState.syncClientViewport.height)),window.setTimeout(()=>{this.screenState.scrollToCenter()},100)}get screenState(){return this._screenState}set scaleMode(o){this._screenState.scaleMode=o,this.setCanvasMode()}get mouseZoomDirection(){return this.op.mouseZoomDirection}set mouseZoomDirection(o){this.op.mouseZoomDirection=o}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(o){this._view.$set({touchPonitEnable:o})}set isEnableTouchPoint(o){this._view.$set({touchPonitEnable:o})}set enableCanvasRender(o){this._view.canvasRender=o,o?this._view.startCanvasRender():this._view.stopCanvasRender()}get enableCanvasRender(){return this._view.canvasRender}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(o){this._view.$set({showLoadingStateBar:o})}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(o){this._screenState.initCursorMode=o,this.resetAppMouseLockState(),this.lockPointer.isLockPointer&&this.lockPointer.exitPointerLock()}get initCursorMode(){return this._screenState.initCursorMode}get audioDeviceId(){var o;return(o=this.app)===null||o===void 0?void 0:o.audioDeviceId}get audioTrack(){var o;return(o=this.app)===null||o===void 0?void 0:o.audioTrack}get videoDeviceId(){var o;return(o=this.app)===null||o===void 0?void 0:o.videoDeviceId}get videoTrack(){var o;return(o=this.app)===null||o===void 0?void 0:o.videoTrack}get audioPaused(){var o;return(o=this.app)===null||o===void 0?void 0:o.audioPaused}get videoPaused(){var o;return(o=this.app)===null||o===void 0?void 0:o.videoPaused}getMediaSharePeerConnection(o){var n;return(n=this.app)===null||n===void 0?void 0:n.getMediaSharePeerConnection(o)}get serverFeatures(){var o;return(o=this.app)===null||o===void 0?void 0:o.serverFeatures}get serverStatics(){var o;return(o=this.app)===null||o===void 0?void 0:o.serverStatics}setVideoBitrateKbps(o){var n;(n=this.app)===null||n===void 0||n.sendVideoBitrateKbps(o)}setVideoFps(o){var n;(n=this.app)===null||n===void 0||n.sendVideoFps(o)}setCloudDebugLayout(o){var n;(n=this.app)===null||n===void 0||n.sendShowDebugLayout(o)}restartCloudApp(){var o;(o=this.app)===null||o===void 0||o.sendReStartApplication(),this._remoteScreenReady=!1}setCloudAppSize(o,n){var a;(a=this.app)===null||a===void 0||a.sendApplicationSize(o,n)}get currentAppSize(){var o;return(o=this.app)===null||o===void 0?void 0:o.currentAppSize}startAerialview(o,n=100,a,l){var f;(f=this.app)===null||f===void 0||f.startAerialview(o,n,a,l)}updateAerialview(o){var n;(n=this.app)===null||n===void 0||n.updateAerialview(o)}stopAerialview(){var o;(o=this.app)===null||o===void 0||o.stopAerialview()}get syncClientViewport(){return this.params.initResolutionType!==0}set syncClientViewport(o){o?(this.setCloudAppSize(this.screenState.syncClientViewport.width,this.screenState.syncClientViewport.height),this.params.initResolutionType=1):this.params.initResolutionType=0}constructor(o){super(),this._remoteScreenReady=!1,this.loadingTimeout=0,this._uid=0,this._isPreStart=!1,this._isTaskOwner=!0,this.waitQueue=null,this.onAppStateChange=this.onAppStateChange.bind(this),this.onRTCRetrySuccess=this.onRTCRetrySuccess.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),this.onMediaPlayed=this.onMediaPlayed.bind(this),o.handelRootElementSize==null||o.handelRootElementSize==null||o.handleRootElementSize!=null&&o.handleRootElementSize!=null||(o.handleRootElementSize=o.handelRootElementSize),o.useWebCodec!==void 0&&o.useWebCodec!==null&&o.useWebCodec&&(o.forceCanvas2d=!0),this._config=o,this._config.playTimeout!=null&&this._config.playTimeout!=null||(this._config.playTimeout=20),this._params=dt.setUpWithSDKConfig(dt.copyAndCreate(),o),u.logLevel=this._params.logLevel,u.info("create larksr ",o),this._rootElement=o.rootElement,t.init(this._params.language),this._screenState=new Ir(o.rootElement,this._params,this,o.handleRootElementSize,o.onlyHandleRootElementTransform),this._app=new Tr(this),this.iframeHandler=new Pr(this),this.iframeHandler.listenParent(),this._fullScreen=new qn,this._fullScreen.on(0,()=>{window.setTimeout(()=>{u.info("full screen state change. resize"),this._screenState.resize(this._screenState.baseElementScale)},500)}),this._lockPointer=new Zn(document.documentElement),this._lockPointer.on(2,n=>{u.warn("lock point not support on this platform switch to unlock mode"),this.initCursorMode=2,this.$emitInfo(t.ui.LOCK_POINTER_FAILED)}),this._lockPointer.on(3,n=>{u.warn("lock point not support on this platform switch to unlock mode. please check https."),this.initCursorMode=2,this.$emitInfo(t.ui.LOCK_POINTER_FAILED_SECURITY_ERROR)}),o.handleRootElementSize!=null&&o.handleRootElementSize!=1||function(){const n=document.getElementsByTagName("html")[0];n&&n.style&&(n.style.margin="0",n.style.padding="0",n.style.overflow="hidden",n.style.width="100%",n.style.height="100%");const a=document.body;a&&a.style&&(a.style.margin="0",a.style.padding="0",a.style.overflow="hidden",a.style.width="100%",a.style.height="100%")}(),this._view=new bi({target:o.rootElement,props:{screenState:this.screenState,syncCursorStyle:this.screenState.cursorStyle,ui:t.ui,serverAddress:o.serverAddress?o.serverAddress:"",syncApp:!1,appState:this.appState,isMobile:I.isMobile,appParams:this._params,loadingBgUrl:o.loadingBgUrl?o.loadingBgUrl:"",mutePlayWhenFailed:o.mutePlayWhenFailed==null||o.mutePlayWhenFailed,touchPonitEnable:!0,autoPlay:o.autoPlay==null||o.autoPlay,showPlayButton:o.showPlayButton==null||o.showPlayButton,canvasRender:o.enableCanvasRender!=null&&o.enableCanvasRender!=null&&o.enableCanvasRender,forceCanvas2d:o.forceCanvas2d!=null&&o.forceCanvas2d!=null&&o.forceCanvas2d,loadingLogoVersion:o.loadingLogoVersion==null?"":o.loadingLogoVersion}}),this.app.webcodecDecoder.setCanvas(this._view.getRenderContext2dElement(),this._view.getRenderContext2d()),this._screenState.on(0,n=>{u.info("on resize",n),this._view.$set({screenState:this._screenState}),this.isPixelStreaming&&this.pixelInput.setupMouseAndFreezeFrame(this.containerElement,this.videoElement)}),this._screenState.on(1,n=>{u.info("on ContainerResize",n,this.screenState.syncClientViewport),this.syncClientViewport&&this.setCloudAppSize(this.screenState.syncClientViewport.width,this.screenState.syncClientViewport.height)}),this._op=new Xn(this._view.getContainerComponent(),this),this.pixelInput=new Gi(this),this.setupListener(),this.setCanvasMode()}updateServerAddress(o){this._config.serverAddress=o,this._view.$set({serverAddress:this._config.serverAddress})}initSDKAuthCode(o){return this._config.authCode=o,new Promise((n,a)=>{n()})}async connectWithPxyHost(o){const n=await se.HostAppliGetUrl(o);this._config.serverAddress=n.origin,this._view.$set({serverAddress:this._config.serverAddress}),await this.connect(Object.assign(Object.assign({},o),n.params))}async connect(o){if(!this._config.authCode)throw u.err("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置"),new Error("sdk 授权校验失败. 请通过 new LarkSR({authCode: id}) 或 initSDKAuthCode 设置");if(!this._config.serverAddress&&!this._config.proxyBasePath)throw new Error("服务器地址未设置");try{const n=await se.GetStartInfo(se.GetUrl(this._config),Object.assign({sdkId:this._config.authCode},o));this.waitQueue&&this._view.loadingStateMsg&&this._view.$set({loadingStateMsg:""}),this.setAppliParams(Dn(n)),this.emit({type:ne.TASK_CREATE_SUCCESS,data:Object.assign({},this.params)}),this.$emit(r.LK_TASK_CREATE_SUCCESS,Object.assign({},this.params)),await this.start()}catch(n){if(u.warn("enter app failed",n),n.type===0){n.eventType=ne.RESOURCE_NOT_ENOUGH;let a=!1;this.config.disableWaitQueue!==null&&this.config.disableWaitQueue!==void 0&&(a=this.config.disableWaitQueue);const l=await se.IsEnableWaitQueue(se.GetUrl(this._config),{});if(a||!l.enableWaitQueue||n.code===820&&this.waitQueue===null)this.emit({type:ne.RESOURCE_NOT_ENOUGH,data:n}),this.$emit(r.LK_RESOURCE_NOT_ENOUGH,n,"RESOURCE NOT ENOUGH");else{u.info("enable wait queue"),this.waitQueue===null&&(this.waitQueue=new Ki({serverAddress:this.config.serverAddress?this.config.serverAddress:"",proxyBasePath:this.config.proxyWsBasePath,appliId:o.appliId,groupId:o.groupId,targetServerIp:o.targetServerIp}),this.waitQueue.on(Kt.STAUTS,f=>{u.info("on wait queue status update",f),this._view.$set({loadingStateMsg:t.message.WAIT_QUEUE_COUNT+f.waitCount}),this.emit({type:ne.WAITQUEUE_STATUS,data:f})}));try{return await this.waitQueue.connect(),this.connect(o)}catch(f){u.err("enable wait queue but has error",f),this.emit({type:ne.RESOURCE_NOT_ENOUGH,data:f}),this.$emit(r.LK_RESOURCE_NOT_ENOUGH,f,"RESOURCE NOT ENOUGH"+JSON.stringify(f))}}}else n.eventType=ne.TASK_CREATE_FAILED,this.emit({type:ne.TASK_CREATE_FAILED,data:n}),this.$emit(r.LK_TASK_CREATE_FAILED,n,"TASK CREATE FAILED");throw n}}setNickname(o){this._params.nickname=o}setAppliParams(o){this._params=dt.setUpWithSDKConfig(dt.copyAndCreate(o),this.config),this.screenState.reset(this._params),t.init(this._params.language),this._view.$set({appParams:this._params}),u.logLevel=this._params.logLevel,this.op.mouseZoomDirection=this._params.mouseZoomDirection,this.setCanvasMode()}start(){return new Promise((o,n)=>this.params.taskid?this.params.appServer?this.params.appPort?(se.ClientInfo(this.config,this.params),(this.config.serverAddress||this.config.proxyBasePath)&&se.GetTouchCtrMapping(se.GetUrl(this._config),this.params.appliId).then(a=>{this.emit({type:ne.TOUCH_CTR_MAPPING,data:a,code:0})}).catch(a=>{u.warn(a)}),this.params.debugTask?this.startProcess():this.taskProcess(),void o()):(u.err("启动流程失败,渲染服务器的端口号为空"),void n("启动流程失败,渲染服务器的端口号为空。请确保正确调用接口获取到参数")):(u.err("启动流程失败,渲染服务器的IP地址为空"),void n("启动流程失败,渲染服务器的IP地址为空。请确保正确调用接口获取到参数")):(u.err("启动流程失败,taskID为空"),void n("启动流程失败,taskID为空。请确保正确调用接口获取到参数")))}sendKeepAlive(){var o;(o=this._app)===null||o===void 0||o.sendKeepAlive()}restart(){this._app.restart(),this.remoteScreenReady=!1}restartApp(){this._app.restartApp()}close(){this._app.disConnect()}destroy(){this.close(),this._view.$destroy()}setMobileForceLandScape(o){this.params.mobileForceLandscape=o,this.screenState.setMobileForceLandScape(o)}changeOperater(o){var n;(n=this._app)===null||n===void 0||n.changeOperater(o)}inputText(o){var n;this._op.updateOperation(),(n=this._app)===null||n===void 0||n.inputText(o)}aiDmTextInput(o){var n;return this._op.updateOperation(),(n=this._app)===null||n===void 0?void 0:n.aiDmTextInput(o)}startAiDmVoiceInput(){var o;return this._op.updateOperation(),(o=this._app)===null||o===void 0?void 0:o.startAiDmVoiceInput()}stopAiDmVoiceInput(){var o;return(o=this._app)===null||o===void 0?void 0:o.stopAiDmVoiceInput()}sendTextToDataChannel(o){var n;this._op.updateOperation(),(n=this._app)===null||n===void 0||n.sendTextToDataChannel(o)}sendBinaryToDataChannel(o){this._op.updateOperation(),this._app.sendBinaryToDataChannel(o)}closeDataChannel(){var o;(o=this._app)===null||o===void 0||o.closeDataChannel()}postMsg(o,n="",a=""){k.IsIframe()&&parent!=null&&parent.postMessage({prex:Wn,type:o,data:n,message:a==""?R.GetEventMessageByType(o):a},"*")}quit(){if(k.IsIframe())return u.warn("cant quit in iframe"),window.opener=null,window.open("","_self"),window.close(),void this.postMsg(r.LK_USER_REQUEST_QUIT);const o=window.WeixinJSBridge;o?o.call("closeWindow"):window.history&&window.history.length>1?window.history.back():(window.opener=null,window.open("","_self"),window.close())}resetAppMouseLockState(){this.op.resetAppMouseLockState()}captrueFrame(o,n=void 0){return this._view.captrueFrame(o,n)}sendInput(o){var n;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(n=this._op)===null||n===void 0||n.$emitInputEvent(o)}mouseMove(o,n,a,l){this.moseMove(o,n,a,l)}moseMove(o,n,a,l){var f;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(f=this._op)===null||f===void 0||f.$emitMoseMove(o,n,a,l)}mouseTap(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitMouseTap(o,n,a)}mouseDown(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitMouseDown(o,n,a)}mouseUp(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitMouseUp(o,n,a)}mouseWheel(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitMouseWheel(o,n,a)}keyDown(o,n){const a=Zt[o];a&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([or,a.vkey,n]).buffer):this._op.$emitKeyDown(a.vkey,n))}keyUp(o){const n=Zt[o];n&&(this.isPixelStreaming?this.app.sendInputBuffer(new Uint8Array([ar,n.vkey]).buffer):this._op.$emitKeyUp(n.vkey))}gamepadButtonDown(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitGamepadButtonDown(o,n,a)}gamepadButtonUp(o,n){var a;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(a=this._op)===null||a===void 0||a.$emitGamepadButtonUp(o,n)}gamepadTrigger(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitGamepadTrigger(o,n,a)}joystick(o,n,a,l,f){var S;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(S=this._op)===null||S===void 0||S.$emitJoystick(o,n,a,l,f)}touchDown(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitTouchDown(o,n,a)}touchMove(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitTouchMove(o,n,a)}touchUp(o,n,a){var l;this.isPixelStreaming?u.warn("pixel streaming not support extern input yet."):(l=this._op)===null||l===void 0||l.$emitTouchUp(o,n,a)}getMouseButtonType(o){switch(o){case"left":return m.CloudLark.MouseKey.LEFT;case"mid":return m.CloudLark.MouseKey.MIDDLE;case"right":return m.CloudLark.MouseKey.RIGHT}}setAudioEnable(o){var n;return(n=this.app)===null||n===void 0?void 0:n.setAudioEnable(o)}setVideoEnable(o){var n;return(n=this.app)===null||n===void 0?void 0:n.setVideoEnable(o)}setShareEnable(o){var n;return(n=this.app)===null||n===void 0?void 0:n.setShareEnable(o)}stopLocalAudio(){var o;return(o=this.app)===null||o===void 0?void 0:o.stopLocalAudio()}stopLocalVideo(){var o;return(o=this.app)===null||o===void 0?void 0:o.stopLocalVideo()}stopLocalShare(){var o;return(o=this.app)===null||o===void 0?void 0:o.stopLocalShare()}pauseAudioSending(){var o;return(o=this.app)===null||o===void 0?void 0:o.pauseAudioSending()}resumeAudioSending(){var o;return(o=this.app)===null||o===void 0?void 0:o.resumeAudioSending()}pauseVideoSending(){var o;return(o=this.app)===null||o===void 0?void 0:o.pauseVideoSending()}resumeVideoSending(){var o;return(o=this.app)===null||o===void 0?void 0:o.resumeVideoSending()}closeAudio(){var o;return(o=this.app)===null||o===void 0?void 0:o.closeAudio()}closeVideo(){var o;return(o=this.app)===null||o===void 0?void 0:o.closeVideo()}closeShare(){var o;return(o=this.app)===null||o===void 0?void 0:o.closeShare()}closeMediaChannel(){var o;return(o=this.app)===null||o===void 0?void 0:o.closeSharePc()}async openAudio(o=""){var n;return await((n=this.app)===null||n===void 0?void 0:n.openAudio(o))}async openVideo(o=!1,n="",a=0,l=0,f){var S;return await((S=this.app)===null||S===void 0?void 0:S.openVideo(o,n,a,l,f))}async openDefaultMedia(o=!0,n=!0){var a;return await((a=this.app)===null||a===void 0?void 0:a.openDefaultMedia(o,n))}async openShareMediaDevice(){var o;return await((o=this.app)===null||o===void 0?void 0:o.openShareMediaDevice())}async getConnectedAudioinputDevices(){var o;return await((o=this.app)===null||o===void 0?void 0:o.getConnectedAudioinputDevices())}async getConnectedAudioOutputDevices(){var o;return await((o=this.app)===null||o===void 0?void 0:o.getConnectedAudioOutputDevices())}async getConnectedVideoinputDevices(){var o;return await((o=this.app)===null||o===void 0?void 0:o.getConnectedVideoinputDevices())}async getConnectedDevices(o){var n;return await((n=this.app)===null||n===void 0?void 0:n.getConnectedDevices(o))}async openAudioDevice(o,n="audioinput"){var a;return await((a=this.app)===null||a===void 0?void 0:a.openAudioDevice(o,n))}async openCamera(o,n=0,a=0,l=!0,f){var S;return await((S=this.app)===null||S===void 0?void 0:S.openCamera(o,n,a,l,f))}async openUserMedia(o,n=!1){return await this.openUserMeida(o,n)}async openUserMeida(o,n=!1){var a;return await((a=this.app)===null||a===void 0?void 0:a.openUserMeida(o,n))}addMediaTrack(o,...n){var a;return(a=this.app)===null||a===void 0?void 0:a.addMediaTrack(o,...n)}removeMediaTrack(o){var n;return(n=this.app)===null||n===void 0?void 0:n.removeMediaTrack(o)}requestUserMediaPermission(o){var n;return(n=this.app)===null||n===void 0?void 0:n.requestUserMediaPermission(o)}StartCloudLiveStreaming(o){var n;return(n=this.app)===null||n===void 0?void 0:n.StartCloudLiveStreaming(o)}StopLiveStreaming(){var o;return(o=this.app)===null||o===void 0?void 0:o.StopLiveStreaming()}async getTouchCtrMapping(o=""){if(!this.config.serverAddress)throw new Error("serverAddress not set");return await se.GetTouchCtrMapping(se.GetUrl(this._config),o||this.params.appliId)}$emit(o,n="",a=""){for(const l of wr)if(l==o){se.LogError(o,a+" "+R.GetEventMessageByType(o),"appliId="+this.params.appliId+"&taskId="+this.params.taskid,this.config);break}this.emit(this.createEvent(o,n,a)),this.postMsg(o,n,a)}$emitError(o="",n=0){this.emit({target:this,type:ne.ERROR,message:o,code:n})}$emitInfo(o="",n=0){this.emit({target:this,type:ne.INFO,message:o,code:n})}createEvent(o,n="",a=""){return{type:ne.LarkEvent,target:this,data:n,message:a,larkevent:o}}setupListener(){this.app.on(H.LOGIN,o=>{this._uid=o.data.uid,this._isPreStart=o.data.isPrestart,u.info("login success ",o.data,this.uid,this.isPreStart),this.emit({type:ne.LOGIN_SUCCESS,data:o.data})},this),this.app.on(H.ERROR,o=>{this.emit({type:ne.ERROR,message:o.data.message,code:o.data.code})},this),this.app.on(H.INFO,o=>{this.emit({type:ne.INFO,message:o.data.message,code:o.data.code})},this),this.app.on(H.APP_CLOSE,o=>{this.emit({type:ne.APP_CLOSE,data:o.data,message:o.data})},this),this.app.on(H.REMOTE_STREAM,this.onGotRemoteStream,this),this.app.on(H.REMOTE_AUDIO_STREAM,this.onGotRemoteAudioStream,this),this.app.on(H.APP_STATE_CHANGE,this.onAppStateChange,this),this.app.on(H.RTC_RETRY_SUCCESS,this.onRTCRetrySuccess,this),this.app.on(H.SYNC_CURSORSTYLE,this.onCursorStyle,this),this.app.on(H.LK_APP_RESIZE,this.onAppResize,this),this.app.on(H.LK_APP_MOUSE_MODE,this.onAppMouseMode,this),this.app.on(H.LK_APP_PLAER_LIST,this.onAppPlayerList,this),this.app.on(H.LK_APP_REQUEST_TEXT,this.onAppRequestText,this),this.app.on(H.LK_DATA_CHANNEL_RENDERSERVER_TEXT_MESSAGE,this.onDataChannelText,this),this.app.on(H.LK_DATA_CHANNEL_RENDERSERVER_BINARY_MESSAGE,this.onDataChannelBinary,this),this.app.on(H.LK_DATA_CHANNEL_RENDERSERVER_OPEN,this.onDataChannelOpen,this),this.app.on(H.LK_DATA_CHANNEL_RENDERSERVER_CLOSE,this.onDataChannelClose,this),this.app.on(H.NET_STATE,o=>{this.emit({type:ne.PEERSTATUS_REPORT,data:o.data})}),this.app.on(H.AI_VOICE_STATUS,o=>{this.emit({type:ne.AI_VOICE_STATUS,data:o.data})}),this.app.on(H.AI_VOICE_ASR_RESULT,o=>{this.emit({type:ne.AI_VOICE_ASR_RESULT,data:o.data})}),this.app.on(H.AI_VOICE_DM_RESULT,o=>{this.emit({type:ne.AI_VOICE_DM_RESULT,data:o.data})}),this.app.on(H.AI_VOICE_ERROR,o=>{this.emit({type:ne.AI_VOICE_ERROR,data:o.data})}),this.app.on(H.RTMP_STREAM_STATE,o=>{this.emit({type:ne.RTMP_STREAM_STATE,data:o.data})}),this.app.on(H.RTMP_STREAM_ERROR,o=>{this.emit({type:ne.RTMP_STREAM_ERROR,data:o.data})}),this.app.on(H.AerialViewStatus,o=>{this.op.aerialviewStatus=o.data}),this.app.on(H.AerialViewScreen,o=>{this.emit({type:ne.AERIAL_VIEW_SCREEN,data:o.data})}),this.app.on(H.TooltipInfo,o=>{this.emit({type:ne.TOOLTIP_INFO,data:o.data})}),this.app.on(H.OPEN_URL,o=>{this.emit({type:ne.OPEN_URL,data:o.data})}),this.app.on(H.START_XR_STREAM_RESPONSE,o=>{u.info("START_XR_STREAM_RESPONSE",o,o.data);try{this.emit({type:ne.START_XR_STREAM_RESPONSE,data:o.data})}catch(n){u.info("emit failed",n)}}),this.app.webcodecDecoder.on(an.PLAYED,o=>{this.app.appStateChange(Y.MEDIA_LOADED),this.emit({type:ne.MEDIA_LOADED,target:this}),this.emit({type:ne.MEDIA_LOADED2,target:this}),this.$emit(r.LK_VIDEO_LOADED),this.onMediaPlayed()}),this.op.on(1,this.onOperationTimeout,this),this.op.on(2,o=>{var n;o.data&&((n=this._app)===null||n===void 0||n.inputText(o.data))},this),this.op.on(3,o=>{(I.isMobile||o.cursorPoint&&this.lockPointer.isLockPointer)&&this._view.$set({cursorPosition:o.cursorPoint})}),this._view.$on("pitcureCaptured",o=>{u.info("on capture ",o.detail),this.emit({type:ne.CAPTURE_FRAME,target:this,data:o.detail}),o.detail.data?this.$emit(r.LK_USER_CAPTURE_FRAME_WITH_EXTRA_DATA,o.detail):this.$emit(r.LK_USER_CAPTURE_FRAME,o.detail.base64)}),this._view.$on("mediaLoaded",()=>{this.app.peerConnectionCreated?(this.app.state=Y.MEDIA_LOADED,this.emit({type:ne.MEDIA_LOADED,target:this}),this.emit({type:ne.MEDIA_LOADED2,target:this}),this.$emit(r.LK_VIDEO_LOADED),window.clearTimeout(this.loadingTimeout)):u.warn("peerConnectionCreated already released")}),this._view.$on("mediaPlayed",this.onMediaPlayed),this._view.$on("mediaPlayedMute",()=>{u.info("video play success"),this.emit({type:ne.MEDIA_PLAY_MUTE,target:this})}),this._view.$on("mediaPlayedFailed",()=>{this.$emit(r.LK_VIDEO_PLAY_FAILED),this.emit({type:ne.MEDIA_PLAY_FAILED,target:this})}),this._view.$on("requestFullScreen",()=>{I.os!="iOS"&&this.fullScreen.launchFullScreen()})}async taskProcess(){try{const o=await se.GetTask(this.config,this.params.taskid);if(o.status!=0){if(u.info("task 获取成功",o),this._view.$set({syncApp:!1}),o.shareUrl!==null&&o.shareUrl!==void 0&&(this._params.shareUrl=q.getBoolOption(o.shareUrl)),o.textInputEventPrompt!==null&&o.shareUrl!==void 0&&(this._params.textInputEventPrompt=q.getNumberBoolOption(o.textInputEventPrompt,!0)),o.audioInput!==null&&o.audioInput!==void 0&&(this._params.audioInput=q.getNumberBoolOption(o.audioInput,!1)),o.audioInputAutoStart!==null&&o.audioInputAutoStart!==void 0){const n=q.getNumberBoolOption(o.audioInputAutoStart,!1),a=this._config.audioInputAutoStart==null?n:this._config.audioInputAutoStart;this._params.audioInputAutoStart=this._params.audioInput&&a}if(o.videoInput!==null&&o.videoInput!==void 0&&(this._params.videoInput=q.getNumberBoolOption(o.videoInput,!1)),o.videoInputAutoStart!==null&&o.videoInputAutoStart!==void 0){const n=q.getNumberBoolOption(o.videoInputAutoStart,!1),a=this._config.videoInputAutoStart==null?n:this._config.videoInputAutoStart;this._params.videoInputAutoStart=this._params.videoInput&&a}o.liveStreaming!==null&&o.liveStreaming!==void 0&&(this._params.liveStreaming=q.getNumberBoolOption(o.liveStreaming,!1)),o.mobileKeyboardType!==null&&o.mobileKeyboardType!==void 0&&(this._params.mobileKeyboardType=o.mobileKeyboardType!=null?o.mobileKeyboardType:0),o.imeFirstNotice!==null&&o.imeFirstNotice!==void 0&&(this._params.imeFirstNotice=o.imeFirstNotice!=null?o.imeFirstNotice:1),this.startProcess()}else u.info("task 同步中,重新获取",o.status),this._view.$set({syncApp:!0}),window.setTimeout(()=>{this.taskProcess()},1500)}catch(o){this._view.$set({syncApp:!1}),this.$emitError("获取Task信息失败 "+JSON.stringify(o))}}startProcess(){this.app.init(),this.loadingTimeout=window.setTimeout(()=>{this.appState<Y.MEDIA_LOADED&&(u.warn("LOADING TIMEOUT!",this.params.loadingTimeout),this.app.disConnect(),this.$emitError(t.message.LK_LOADING_TIMEOUT,r.LK_LOADING_TIMEOUT),this.$emit(r.LK_LOADING_TIMEOUT))},1e3*this.params.loadingTimeout),se.PortMappingList(this.config).then(o=>{const n=o;if(this.config.publicPortMapping)for(let a in n)this.config.publicPortMapping.hasOwnProperty(a)||(this.config.publicPortMapping[a]=n[a]);else this.config.publicPortMapping=n;u.info("update public port mapping ",this.config.publicPortMapping)}).catch(o=>{u.warn("get port mapping failed ",o)}).finally(()=>{this.app.start()})}onAppStateChange(o){o.state==Y.MEDIA_LOADED?(u.info("app state change to media ready"),this.loadingTimeout&&window.clearTimeout(this.loadingTimeout),(this.config.handlInput==null||this.config.handlInput)&&(u.info("media ready ",this.params),this.isPixelStreaming?(this.screenState.appSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},this.emit({type:ne.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,n=>{this.isObMode?u.info("skip operation when use mousemode"):n.intpuBuffer&&this.app.sendInputBuffer(n.intpuBuffer)}))):this.op.startListen||(this.op.on(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.startListening()))):o.state>=Y.RTC_RETRY&&(u.info("app state change to before destory"),(this.config.handlInput==null||this.config.handlInput)&&(this.op.off(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.stopListenling())),o.state==Y.WEBSOCKET_CHANNEL_OPEN&&this.emit({type:ne.CONNECT}),o.state!=Y.RTC_CLOSED&&o.state!=Y.WEBSOCKET_CLOSED||this.emit({type:ne.CLOSE}),this._view.appState=o.state,this.emit({type:ne.APPSTATE_CHANGE,data:o.state}),u.info("on appstate change",o.state)}onRTCRetrySuccess(o){u.info("onRTCRetrySuccess",o),this.op.startListen||(this.op.on(0,this.onOperationInput,this),this.op.resetLocalRendreMousePosition(),this.op.startListening())}onGotRemoteStream(o){u.info("onGotRemoteStream",o,o.data.getVideoTracks(),this._view),this._view.setVideoSrcObj(o.data),this.emit({target:this,type:ne.GOT_REMOTE_STREAM,data:o}),I.os==="iOS"&&I.isWeChat&&k.IsIframe()&&this.appState<=Y.MEDIA_PLAYED&&(this._view.playVideo(),this.emit({target:this,type:ne.MEDIA_PLAY_FAILED}),this.$emit(r.LK_VIDEO_PLAY_FAILED))}onGotRemoteAudioStream(o){u.info("onGotAudioRemoteStream",o,o.data.getVideoTracks(),this._view),this._view.setAudioSrcObj(o.data),this.emit({target:this,type:ne.GOT_REMOTE_AUDIO_STREAM,data:o})}onMediaPlayed(){if(this.app.peerConnectionCreated){this.app.state>Y.LOGIN_SUCCESS&&this.app.state<Y.BEFORE_DESTORY&&se.TaskInfoClientStarted(this.config,this.params),this.app.state=Y.MEDIA_PLAYED,this.$emit(r.LK_VIDEO_PLAY_SUCCSS),this.emit({type:ne.MEDIA_PLAY_SUCCESS,target:this});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(o){this.$emitInfo(JSON.stringify(o))}}else u.warn("peerConnectionCreated already released")}onCursorStyle(o){this.emit({type:ne.APP_CURSOR_MODE,data:o.data}),this.screenState.cursorStyle=o.data,this._view.syncCursorStyle=this.screenState.cursorStyle,this._view.screenState=this.screenState,u.info("onCursorStyle",this.screenState.cursorStyle)}onAppResize(o){this.screenState.appSize=o.data,u.info("onAppResize ",o),this.emit({type:ne.APP_RESIZE,data:o.data})}onAppMouseMode(o){this.screenState.appMouseMode=o.data,this.op.setAppMouseMode(o.data),this.emit({type:ne.APP_MOUSE_MODE,data:o.data})}onAppPlayerList(o){let n=o.data,a=[];for(let l of n){let f={isCurrent:l.id===this.uid,userId:l.id?l.id:0,nickName:l.nickName?l.nickName:"",isTaskOwner:!!l.taskOwner,userType:l.controller?At.Player:At.Observer};if(f.isCurrent){if(this.userType!=f.userType){let S=f.userType==At.Player?"您已获得操作权限":"您已失去操作权限";this.$emitInfo(S),this.lockPointer.isLockPointer&&f.userType!=At.Player&&this.lockPointer.exitPointerLock()}this.params.userType=f.userType,this._uid=f.userId,this._isTaskOwner=f.isTaskOwner,this._op.resetAppMouseLockState(),this._view.$set({appParams:this._params}),this.screenState.resize(),u.info("upate current player ",f,this.userType,this.params.userType)}a.push(f)}this.emit({type:ne.PLAYER_LIST,data:a})}onAppRequestText(o){this.params.textInputEventPrompt?this.emit({type:ne.APP_REQUEST_INPUT,data:o.data}):u.warn("app set skip textinput event.")}onDataChannelText(o){this.emit({type:ne.DATACHANNEL_TEXT,data:o.data.string,rawData:o.data.rawString})}onDataChannelBinary(o){this.emit({type:ne.DATACHANNEL_BINARY,data:o.data})}onDataChannelOpen(o){this.emit({type:ne.DATACHANNEL_OPEN,data:o.data})}onDataChannelClose(o){this.emit({type:ne.DATACHANNEL_CLOSE,data:o.data})}onOperationTimeout(){this.isObMode||(u.warn("onOperationTimeout"),this.app&&this.app.disConnect(),this.emit({type:ne.NO_OPERATION_TIMEOUT}),this.emit({type:ne.ERROR,message:t.message.noOperationTimeout}))}onOperationInput(o){this.isObMode?u.info("skip operation when use mousemode"):(u.info("onOperationInput",JSON.stringify(o.input)),this.app&&o.input&&this.app.sendInput(o.input,!0))}async setCanvasMode(){I.os==="iOS"&&(this.screenState.scaleMode!==M.FILL_STRETCH&&this.screenState.scaleMode!==M.FILL_CLIP||(this.syncClientViewport=!0)),(this.config.useWebCodec||this.params.useWebCodec)&&(this._view.stopCanvasRender(),this._view.canvasRender=!0,this._view.forceCanvas2d=!0)}},API:se,AppliParams:dt,LoadAppliParamsFromUrl:function(){let o=q.getStringOption(k.queryString("touchOperateMode"),"mouse");return o=o==="touch"||o==="touchScreen"?"touchScreen":o==="mix"?"mix":"mouse",{appServer:k.queryString("renderServerIp"),appPort:k.queryString("renderServerPort"),renderSSLServerPort:q.getStringOption(k.queryString("renderSSLServerPort"),""),taskid:k.queryString("taskId"),taskId:k.queryString("taskId"),appliType:q.getIntOption(k.queryString("appliType"),bt.SHARED),appliName:decodeURI(k.queryString("appliName")),codeRate:q.getIntOption(k.queryString("codeRate"),N.CodeRate),audioCodeRate:q.getIntOption(k.queryString("audioCodeRate"),128),frameRate:q.getIntOption(k.queryString("frameRate"),N.FrameRate),width:q.getIntOption(k.queryString("width"),N.OriginW),height:q.getIntOption(k.queryString("height"),N.OriginH),scaleMode:q.getScaleMode(parseInt(k.queryString("initWinSize"),10)),network:q.getNetwork(parseInt(k.queryString("network"),10)),preferPubOutIp:q.getStringOption(k.queryString("preferPublicIp"),""),logLevel:q.getLogLevel(k.queryString("logLevel")),noOperationTimeout:q.getIntOption(k.queryString("noOperationTimeout"),0),waterMark:q.getBoolOption(k.queryString("wm"),!1),rttLimit:q.getIntOption(k.queryString("rttLimit"),60),packetLostLimit:q.getIntOption(k.queryString("packetLostLimit"),20),debugTask:q.getBoolOption(k.queryString("debugTask")),wsProxy:q.getNumberBoolOption(k.queryString("wsProxy")),debugWebServer:k.queryString("debugWebServer"),rttLimitInterval:q.getIntOption(k.queryString("rttLimitInterval"),20),initCursorMode:q.getIntOption(k.queryString("initCursorMode"),0),bgColor:q.getBgColor(k.queryString("bgColor")),fullScreenMode:q.getIntOption(k.queryString("fullScreenMode"),0),mobileFullScreenMode:q.getIntOption(k.queryString("mobileFullScreenMode"),1),playerMode:q.getIntOption(k.queryString("playerMode"),0),userType:q.getIntOption(k.queryString("userType"),1),nickname:q.getStringOption(k.queryString("nickname")),authCode:q.getStringOption(k.queryString("authCode"),""),loadingTimeout:q.getIntOption(k.queryString("loadingTimeout"),300),mobileForceLandscape:!!q.getIntOption(k.queryString("mobileForceLandscape"),1),mobileVirtualJoystick:!!q.getIntOption(k.queryString("mobileVirtualJoystick"),1),mouseZoomDirection:q.getIntOption(k.queryString("mouseZoomDirection"),0),showPlayerList:q.getNumberBoolOption(k.queryString("playerListToggle"),!0),preferDecoder:q.getStringOption(k.queryString("preferDecoder"),"h264"),touchOperateMode:o,appliId:q.getStringOption(k.queryString("appliId"),""),syncLocalToCloudClipboard:q.getBoolOption(k.queryString("syncLocalToCloudClipboard"),!0),enableRttIcon:q.getBoolOption(k.queryString("enableRttIcon"),!0),enableSoundRequire:q.getBoolOption(k.queryString("enableSoundRequire"),!0),toastLevel:q.getIntOption(k.queryString("toastLevel"),0),language:k.queryString("language"),wsId:q.getStringOption(k.queryString("wsId"),""),groupId:q.getStringOption(k.queryString("groupId"),""),audioInputAutoStart:q.getBoolOption(k.queryString("audioInputAutoStart"),!1),videoInputAutoStart:q.getBoolOption(k.queryString("videoInputAutoStart"),!1),initResolutionType:q.getIntOption(k.queryString("initResolutionType"),0),shareUrl:q.getBoolOption(k.queryString("audioInput"),!1),textInputEventPrompt:q.getBoolOption(k.queryString("textInputEventPrompt"),!0),audioInput:q.getBoolOption(k.queryString("audioInput"),!1),videoInput:q.getBoolOption(k.queryString("videoInput"),!1),liveStreaming:q.getBoolOption(k.queryString("liveStreaming"),!1),useSeparateMediaSharePeer:!0,mobileKeyboardType:q.getIntOption(k.queryString("mobileKeyboardType"),0),useWebCodec:q.getNumberBoolOption(k.queryString("useWebCodec"),!1),mobileWebMenuType:q.getIntOption(k.queryString("mobileWebMenuType"),0),showWebMenu:q.getIntOption(k.queryString("showWebMenu"),1),forceResolution:q.getBoolOption(k.queryString("forceResolution"),!1),ignoreCloudDesktopResolution:q.getBoolOption(k.queryString("ignoreCloudDesktopResolution"),!0),ignoreScreenOrientation:q.getBoolOption(k.queryString("ignoreScreenOrientation"),!0),imeFirstNotice:q.getIntOption(k.queryString("imeFirstNotice"),0)}},AppliParamsUtils:q,LoadAppliParamsStartAppInfo:Dn,EventBase:g,ScaleMode:M,Capabilities:I,CloudLark:m.CloudLark,FullScreen:qn,LockPointer:Zn,Operation:Xn,LarkSRClientEvent:ne,LarkEventType:r,GESTURE_TYPE:re,KEYMAP:Zt}}(),__webpack_exports__=__webpack_exports__.default,__webpack_exports__}()})})(larksrWebSdk_min);var larksrWebSdk_minExports=larksrWebSdk_min.exports;class LoadStream{constructor(){this._gameApi=null,this._larksr=null}static async createAndInitLarkSR(A,s={}){if(typeof larksrWebSdk_minExports.LarkSR!="function")throw new Error("LarkSR 构造函数未找到,请确保已正确引入 larksr_websdk");setUELogEnabled((A==null?void 0:A.UELogLevel)??!0);const h=loadStream,g=new larksrWebSdk_minExports.LarkSR(A);h._larksr=g,g.on("datachannelopen",s.onDataChannelOpen||(u=>{log("数据通道已连通",u)}));let b=!1;return g.on("datachanneltext",u=>{var v,c,i;let y=null;try{u&&typeof u!="string"&&typeof u.data=="string"?y=JSON.parse(u.data):typeof u=="string"&&(y=JSON.parse(u))}catch{}const m=(y==null?void 0:y.message)||typeof u=="string"&&u||(u==null?void 0:u.message)||((v=u==null?void 0:u.data)==null?void 0:v.message)||((c=u==null?void 0:u.body)==null?void 0:c.message)||((i=u==null?void 0:u.detail)==null?void 0:i.message);!b&&m==="The level has been initialized"&&(b=!0,s.onSceneInitialized?s.onSceneInitialized(u):log("场景初始化加载成功",u)),s.onDatachanneltext?s.onDatachanneltext(u):log("接收数据",u)}),g.on("error",s.onError||(u=>{console.error(u.message)})),g.on("info",s.onInfo||(u=>{log("LarkSRClientEvent info",u)})),await g.connect({appliId:A.appliId}),s.onConnected&&s.onConnected(g),h.init(g),g.audioElement&&(g.audioElement.volume=0),h._gameApi}init(A){try{const s=new CommandManager(A);return this._gameApi=new GameAPI(s),console.log("插件初始化成功"),this._gameApi}catch(s){throw console.error("插件初始化失败",s),s}}async close(){if(this._larksr&&typeof this._larksr.close=="function")try{await this._larksr.close(),console.log("连接关闭成功")}catch(A){console.error("连接关闭失败:",A)}this._gameApi=null,this._larksr=null}getLarkSR(){return this._larksr}}const loadStream=new LoadStream,createAndInitLarkSR=loadStream.constructor.createAndInitLarkSR;function closeGameApi(){return loadStream.close()}function getLarkSR(){return loadStream.getLarkSR()}exports.closeGameApi=closeGameApi,exports.createAndInitLarkSR=createAndInitLarkSR,exports.default=loadStream,exports.getLarkSR=getLarkSR,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|