@zoom/meetingsdk 3.13.0 → 3.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/dist/lib/av/annoter.min.js +1 -1
- package/dist/lib/av/audio.encode.wasm +0 -0
- package/dist/lib/av/audio.simd.wasm +0 -0
- package/dist/lib/av/audio_simd.min.js +1 -1
- package/dist/lib/av/js_audio_process.min.js +1 -1
- package/dist/lib/av/js_media.min.js +2 -2
- package/dist/lib/av/net_thread.min.js +1 -1
- package/dist/lib/av/pako.min.js +1 -1
- package/dist/lib/av/sharing_m.min.js +2 -2
- package/dist/lib/av/sharing_mtsimd.min.js +2 -2
- package/dist/lib/av/sharing_s.min.js +2 -2
- package/dist/lib/av/sharing_simd.min.js +2 -2
- package/dist/lib/av/video.decode.wasm +0 -0
- package/dist/lib/av/video.mt.wasm +0 -0
- package/dist/lib/av/video.mtsimd.js +1 -1
- package/dist/lib/av/video.mtsimd.wasm +0 -0
- package/dist/lib/av/video.simd.js +1 -1
- package/dist/lib/av/video.simd.wasm +0 -0
- package/dist/lib/av/video_m.min.js +2 -2
- package/dist/lib/av/video_mtsimd.min.js +2 -2
- package/dist/lib/av/video_s.min.js +2 -2
- package/dist/lib/av/video_share_mtsimd.min.js +3 -3
- package/dist/lib/av/video_simd.min.js +2 -2
- package/dist/lib/av/wmsc.min.js +1 -1
- package/dist/ui/zoomus-websdk-zoommtgMain.umd.min.js +1 -1
- package/dist/{zoom-meeting-3.13.0.min.js → zoom-meeting-3.13.1.min.js} +2 -2
- package/dist/zoom-meeting-embedded-ES5.min.js +2 -2
- package/dist/zoomus-websdk-embedded.umd.min.js +3 -3
- package/dist/zoomus-websdk.umd.min.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!function(e){var t={};function r(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,r),a.l=!0,a.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(i,a,function(t){return e[t]}.bind(null,a));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=55)}([function(e,t,r){var i=r(40),a=r(33);e.exports=function(e,t){var r=a(e,t,"get");return i(e,r)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var i=r(41),a=r(33);e.exports=function(e,t,r){var s=a(e,t,"set");return i(e,s,r),r},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.d(t,"C",(function(){return i})),r.d(t,"j",(function(){return a})),r.d(t,"t",(function(){return s})),r.d(t,"k",(function(){return n})),r.d(t,"v",(function(){return o})),r.d(t,"x",(function(){return l})),r.d(t,"p",(function(){return h})),r.d(t,"s",(function(){return c})),r.d(t,"q",(function(){return u})),r.d(t,"r",(function(){return d})),r.d(t,"a",(function(){return f})),r.d(t,"b",(function(){return p})),r.d(t,"w",(function(){return g})),r.d(t,"g",(function(){return m})),r.d(t,"y",(function(){return v})),r.d(t,"z",(function(){return b})),r.d(t,"A",(function(){return _})),r.d(t,"B",(function(){return y})),r.d(t,"e",(function(){return w})),r.d(t,"d",(function(){return T})),r.d(t,"c",(function(){return x})),r.d(t,"f",(function(){return R})),r.d(t,"n",(function(){return E})),r.d(t,"o",(function(){return S})),r.d(t,"m",(function(){return M})),r.d(t,"l",(function(){return C})),r.d(t,"h",(function(){return A})),r.d(t,"u",(function(){return P})),r.d(t,"i",(function(){return k}));const i={AVAILABLE:0,NOT_SUPPORTED:1,CANNOT_REQ_ADAPTER:2,CANNOT_REQ_DEVICE:3},a={AUTO:-1,UNDEFINED:0,WEBGL:1,WEBGPU:2,WEBGL_2:3},s={AVAILABLE:0,VIDEO:1,SHARE:2},n={IDLE:0,PENDING:1,READY:2,RENDERING:3},o={UNKNOWN:-1,BASE_LAYER:0,BLEND_LAYER:1},l={UNKNOWN:-1,EXTERNAL_TEX:0,GPU_TEX_YUV:1,GPU_TEX_RGBA:2,CLEAR_COLOR:3},h=0,c=1,u=2,d=3,f=[{u:1,v:0},{u:1,v:1},{u:0,v:1},{u:1,v:0},{u:0,v:0},{u:0,v:1}],p=[{x:1,y:1},{x:1,y:-1},{x:-1,y:-1},{x:1,y:1},{x:-1,y:1},{x:-1,y:-1}],g={VS_BASE:0,CURSOR:1,WATERMARK:2,MASK:3,END:4},m=["intel","nvidia","apple","amd","qualcomm","arm"],v="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n struct FsUniforms {\n rotation: f32,\n };\n \n @group(0) @binding(0) var vfSampler: sampler;\n @group(0) @binding(1) var vfTexture: texture_external;\n @group(0) @binding(2) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(vfTexture, vfSampler, uv);\n return color;\n }\n ",b="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(6) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var vPlaneTex: texture_2d<f32>;\n @group(0) @binding(5) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(7) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n if (uniforms.yuvMode == 1) {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(vPlaneTex, uvPlaneSampler, uv).r;\n } else {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).a;\n }\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n return color;\n }\n ",_="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(5) var<uniform> vertexUniforms: FsUniforms;\n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(5) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).g;\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n // outputBuffer[0] = y;\n // outputBuffer[1] = u;\n // outputBuffer[2] = v;\n // outputBuffer[3] = color.r;\n // outputBuffer[4] = color.g;\n // outputBuffer[5] = color.b;\n // outputBuffer[6] = color.a;\n \n return color;\n }\n ",y="\n @group(0) @binding(0) var watermarkSampler: sampler;\n @group(0) @binding(1) var watermarkTex: texture_2d<f32>;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(watermarkTex, watermarkSampler, uv);\n if (color.r == 0 && color.g == 0 && color.b == 0) {\n color.a = 0;\n }\n return color;\n }\n ",w="\n \n struct FsUniforms {\n cursorFlag: f32,\n cursorInfo: vec4f\n };\n \n @group(0) @binding(0) var cursorSampler: sampler;\n @group(0) @binding(1) var cursorTex: texture_2d<f32>;\n @group(0) @binding(2) var<uniform> uniforms: FsUniforms;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, 1 - uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, uv);\n // if (uniforms.cursorFlag == 1) {\n // if (uniforms.cursorInfo.z > 0.0 \n // && uv.x >= uniforms.cursorInfo.x\n // && uv.y >= uniforms.cursorInfo.y\n // && uv.x < uniforms.cursorInfo.x + uniforms.cursorInfo.z\n // && uv.y < uniforms.cursorInfo.y + uniforms.cursorInfo.w) {\n \n // var cursorCoord: vec2f = uv - uniforms.cursorInfo.xy;\n // cursorCoord = cursorCoord / uniforms.cursorInfo.zw;\n // var cursorColor: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, cursorCoord);\n // color = color * (1.0 - cursorColor.a) + cursorColor * cursorColor.a;\n // }\n // }\n \n return color;\n }\n ",T="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return vec4(0.0, 0.0, 0.0, 1.0);\n }\n ",x="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n struct ClearColorUniforms {\n clearColor: vec4<f32>,\n };\n \n @group(0) @binding(0) var<uniform> uniforms: ClearColorUniforms;\n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return uniforms.clearColor;\n }\n ",R={TEXTURE_BUFFER:0,VERTEX_BUFFER:1,TEXTURE:2},E={LOW:0,MEDIUM:1,HIGH:2,OVERUSE:3},S={LOW:6e4,MEDIUM:45e3,HIGH:3e4,OVERUSE:15e3},M=[60,120,180,360,540,720,1080,2160],C={VIDEO_FRAME:0,YUV_I420:1,YUV_NV12:2,RGBA_WATERMARK:3,RGBA_CURSOR:4,CLEAR_COLOR:5},A=6,P=[180,360,540,720,1080,2160],k=5},function(e,t,r){"use strict";var i=r(5),a=r(16);new Error;const s=new Map;function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"|";return e?e.toString().replaceAll(/[,,]/g,t):""}let o=null,l=null;function h(e,t){var r,i;if(!function(e){const t=performance.now();return(!s.has(e)||t-s.get(e)>5e3)&&(s.set(e,t),!0)}(e))return;let h;try{h=n("object"==typeof t?JSON.stringify(t):t)}catch(e){h=n(t)}null===(r=l)||void 0===r||r("NEM-".concat(e,"-").concat(h)),a.a.error("NotifyUIError,event=".concat(e,",data=").concat(h)),null===(i=o)||void 0===i||i(e,t)}var c=r(15);function u(){return self.GROWABLE_HEAP_I8?self.GROWABLE_HEAP_I8():Module.HEAP8}function d(){return self.GROWABLE_HEAP_U8?self.GROWABLE_HEAP_U8():Module.HEAPU8}function f(){return self.GROWABLE_HEAP_U16?self.GROWABLE_HEAP_U16():Module.HEAPU16}function p(){return self.GROWABLE_HEAP_U32?self.GROWABLE_HEAP_U32():Module.HEAPU32}function g(){return self.GROWABLE_HEAP_F32?self.GROWABLE_HEAP_F32():Module.HEAPF32}async function m(e,t){try{const r=await new Promise((e,t)=>{const r=i=>{let a=i.data;"DOWNLOAD_WASM_FROM_MAIN_THREAD_OK"===a.command?(w("DE"),self.removeEventListener("message",r),e(a.data)):"DOWNLOAD_WASM_FROM_MAIN_THREAD_FAILED"===a.command&&(self.removeEventListener("message",r),t(new Error("Failed to download WASM file: ".concat(wasmUrl," from main thread"))))};self.addEventListener("message",r),w("DS"),postMessage({status:i.E,url:wasmUrl})});let a=await WebAssembly.instantiate(r,e);a.instance?(self.wasmModuleToShare=a.module,t(a.instance)):(self.wasmModuleToShare=r,t(a))}catch(e){w("IF"),_("E:H Failed to download and instantiate WASM file: ".concat(wasmUrl),e)}}r.d(t,"d",(function(){return u})),r.d(t,"g",(function(){return d})),r.d(t,"e",(function(){return f})),r.d(t,"f",(function(){return p})),r.d(t,"c",(function(){return g})),r.d(t,"q",(function(){return m})),r.d(t,"i",(function(){return b})),r.d(t,"u",(function(){return _})),r.d(t,"t",(function(){return y})),r.d(t,"o",(function(){return w})),r.d(t,"n",(function(){return T})),r.d(t,"v",(function(){return x})),r.d(t,"w",(function(){return R})),r.d(t,"p",(function(){return E})),r.d(t,"s",(function(){return M})),r.d(t,"k",(function(){return C})),r.d(t,"m",(function(){return A})),r.d(t,"r",(function(){return L})),r.d(t,"l",(function(){return I})),r.d(t,"x",(function(){return G})),r.d(t,"b",(function(){return V})),r.d(t,"h",(function(){return F})),r.d(t,"y",(function(){return N})),r.d(t,"a",(function(){return j})),r.d(t,"j",(function(){return H}));const v="function"!=typeof importScripts;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;v?a.a.error(e,t):_(e,t)}function _(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var r,a,s,n;(t instanceof Error||t instanceof ErrorEvent)&&(e+=" Message: "+(null===(r=t)||void 0===r?void 0:r.message)+" Stack: "+(null!==(a=null===(s=t)||void 0===s||null===(s=s.error)||void 0===s?void 0:s.stack)&&void 0!==a?a:null===(n=t)||void 0===n?void 0:n.stack),t=null);postMessage({status:i.G,errorMessage:e,errorEvent:t})}function y(e){postMessage({status:i.G,errorMessage:e,level:"low"})}function w(e){postMessage({status:i.zb,data:e})}function T(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(t)return t.postMessage({status:i.f,data:e});postMessage({status:i.f,data:e})}function x(e){postMessage({status:i.M,canvasId:e,replaceCanvas:!1})}function R(e){postMessage({status:i.N,canvasId:e})}function E(e){v?h(c.k,e):postMessage({status:i.Bb,where:e})}function S(){let e=this;this.promise=new Promise((function(t,r){e.reject=r,e.resolve=t}))}function M(e){let t;try{if(t=null==e?void 0:e.getContext("2d",{willReadFrequently:!0}),!t)throw new Error("getContext return null for willReadFrequently, canvas:".concat(e))}catch(r){t=null==e?void 0:e.getContext("2d")}return t||_("get2DContextFromCanvas return null"),t}class C{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15e5;this.uint8Map={},this.availableIndex=[],this.capacity=e,this.bytesPerElement=t,this.avaiableIndexMap={},this.deferedList=[];for(let r=0;r<e;r++)this.uint8Map[r]=new Uint8Array(t),this.availableIndex.push(r),this.avaiableIndexMap[r]=!0}increaseBufferSize(e){let t=this.bytesPerElement+e;this.bytesPerElement=t;for(let e=0;e<this.capacity;e++){let r=this.uint8Map[e],i=new Uint8Array(t);i.set(r,0),this.uint8Map[e]=i}}getCapacity(){return this.capacity}get(){if(this.availableIndex.length>0){let e=this.availableIndex.shift();return this.avaiableIndexMap[e]=!1,new Promise((t,r)=>{t({index:e,uint8s:this.uint8Map[e]})})}{let e=new S;return this.deferedList.push(e),e.promise}}getSync(){if(this.availableIndex.length>0){let e=this.availableIndex.shift();return this.avaiableIndexMap[e]=!1,{index:e,uint8s:this.uint8Map[e]}}return null}recycle(e){if(!0!==this.avaiableIndexMap[e]&&(this.avaiableIndexMap[e]=!0,this.availableIndex.push(e),this.deferedList.length>0)){this.deferedList.shift().resolve(this.get())}}}class A{constructor(e){this.sharedBufferList=e}storeFlexible(e,t){let r=e.byteLength-this.sharedBufferList.bytesPerElement;if(r>0){let e=Math.floor(.1*this.sharedBufferList.bytesPerElement),i=r>e?r:e;if(i+this.sharedBufferList.bytesPerElement>t)return Promise.reject("too big, more than maxBytesPerElement");this.sharedBufferList.increaseBufferSize(i)}return this.store(e)}store(e){return this.sharedBufferList.get().then(t=>{try{return this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0}catch(e){throw e}finally{this.autoRecycle()}})}storeSync(e){let t=this.sharedBufferList.getSync();return null!==t&&(this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0)}autoRecycle(){this.autoRecycleInterval=setTimeout(()=>{console.log("autoRecycle",this.obj.index),this.recycle()},5e3)}recycle(){try{this.autoRecycleInterval&&clearInterval(this.autoRecycleInterval),this.sharedBufferList.recycle(this.obj.index)}catch(e){_("Error in YuvWrap.recycle: ".concat(e))}}}function P(e,t){t>=e.groupSize||(e.openStatusArray[t]?console.warn("group web transport index ".concat(t,", status reopene")):(e.openStatusArray[t]=!0,e.openedCount+=1,e.openedCount>1||e.params.onopen(e)))}function k(e,t){t>=e.groupSize||(e.openStatusArray[t]?(e.openStatusArray[t]=!1,e.openedCount>0&&(e.openedCount-=1,0==e.openedCount&&e.params.onclose(e))):console.warn("group web transport index ".concat(t,", not open")))}const O=["","MOZ_","OP_","WEBKIT_"];function L(e,t){for(var r=0;r<O.length;++r){var i=O[r]+t,a=e.getExtension(i);if(a)return a}}class I{constructor(e){this.params=e,this.label=this.params.label||"",this.id=this.params.id||0,this.groupSize=e.groupSize,this.openedCount=0,this.sendIndex=0,this.transportArray=[],this.openStatusArray=[];for(let e=0;e<this.groupSize;e++)this.transportArray.push(null),this.openStatusArray.push(!1)}async connect(){for(let e=0;e<this.groupSize;e++){let t=this.params.url;e>0&&(t+="&index="+e);let r={url:t,label:this.params.label,id:this.id,onmessage:this.params.onmessage,onopen:P,onclose:k,group:this,index:e},i=new U(r);await i.connect(),this.transportArray[e]=i}}send(e){if(!(this.openedCount<=0))for(let t=0;t<this.groupSize;t++){this.sendIndex+=1;let t=this.sendIndex%this.groupSize;if(this.transportArray[t]&&this.openStatusArray[t]){this.transportArray[t].send(e);break}}}forceClose(){for(let e=0;e<this.groupSize;e++)this.transportArray[e]&&this.transportArray[e].forceClose()}}class U{constructor(e){this.params=e,this.label=this.params.label||"",this.id=this.params.id||0,this.successfulConnectedCount=0,this.connectIndex=0,this.heartbeat=new Uint8Array([104,101,97,114,116,98,101,97,116]),this.transport=null,this.transport_ready=!1,this.isDestroyed=!1,this.inReading=!1,this.heartbeatStarted=!1,this.reader=null}async connect(){this.reconnect()}async reconnect(){if(this.isReconnectNow||this.isTimerExist||this.isDestroyed)return;this.isReconnectNow=!0,this.isTimerExist=!0;let e=Math.pow(2,this.connectIndex)-1;this.connectIndex+=1,setTimeout(async()=>{if(this.isDestroyed)return;this.isTimerExist=!1;let{url:e}=this.params,t=new WebTransport(e);this.transport=t,t.closed.then(()=>{this.reader=null,this.transport_ready=!1,this.params.onclose&&this.params.onclose(this.params.group,this.params.index)}).catch(e=>{this.reader=null,this.transport_ready=!1,this.params.onerror&&this.params.onerror(e),this.params.onclose(this.params.group,this.params.index),this.connectIndex<8&&this.reconnect()});try{if(this.isReconnectNow=!1,await t.ready,this.isDestroyed)return void this.close();this.transport_ready=!0,this.successfulConnectedCount++,t.datagrams.incomingMaxAge=1e3,t.datagrams.outgoingMaxAge=100,t.datagrams.incomingHighWaterMark=800,t.datagrams.outgoingHighWaterMark=800,this.writer=t.datagrams.writable.getWriter(),this.reader=t.datagrams.readable.getReader(),await this.writer.ready,this.params.onopen(this.params.group,this.params.index)}catch(e){return this.params.onerror&&this.params.onerror(e),void this.close()}this.startHeartbeat(),this.read()},1e3*e)}send(e){this.transport_ready&&this.writer.write(e)}async sendAwaitReady(e){this.transport_ready&&await this.writer.ready,this.transport_ready&&await this.writer.write(e)}async startHeartbeat(){if(!this.heartbeatStarted)for(this.heartbeatStarted=!0;;)try{await this.sleep(3e3),await this.sendAwaitReady(this.heartbeat)}catch(e){}}sleep(e){return new Promise(t=>setTimeout(t,e))}localTime(){let e=new Date;return"local time : "+e.getDate()+"/"+(e.getMonth()+1)+"/"+e.getFullYear()+" @ "+e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()+" "}close(){try{this.transport_ready=!1,this.transport&&this.transport.close()}catch(e){}}forceClose(){this.isDestroyed||(this.isDestroyed=!0,this.close())}async read(){if(!this.inReading){for(this.inReading=!0;this.reader;)try{const{value:e,done:t}=await this.reader.read();if(t)break;this.params.onmessage(e)}catch(e){break}this.inReading=!1}}}const D=new Map,B=[90,180,360,720,1080],W=new class{constructor(){this.ssrcInfoMap=new Map,this.timer=null}updateSSRCInfo(e,t){this.ssrcInfoMap.has(e)||this.ssrcInfoMap.set(e,{firstTime:0,lastTime:0,frames:0,fps:0}),this._calculateFPS(e,t),this._removeZeroFPS()}_calculateFPS(e,t){const r=this.ssrcInfoMap.get(e);if(0===r.frames?r.firstTime=t:r.lastTime=t,r.frames+=1,r.frames>2&&r.frames%5==0&&r.lastTime-r.firstTime>=1e3){const t=Math.floor(1e3/((r.lastTime-r.firstTime)/(r.frames-1)));r.fps!==t&&(this._notifyFPS(e,t),r.fps=t),r.firstTime=r.lastTime,r.frames=1}}_removeZeroFPS(){let e=Date.now();this.ssrcInfoMap.forEach((t,r)=>{const i=this.ssrcInfoMap.get(r);i&&e-i.lastTime>2e3&&(this.ssrcInfoMap.delete(r),this._notifyFPS(r,0))})}_notifyFPS(e,t){postMessage({status:i.u,data:{ssrc:e,fps:t}})}_checkIfNewFrameComing(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.timer=setTimeout(()=>{this._removeZeroFPS(),this.timer=null},2500)}};function G(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const{r_w:a,r_h:s,rotation:n,ssrc:o}=e;let l=1==n||3==n,h=l?s:a,c=l?a:s;const u=o>>10<<10,d=B.reduce((e,t)=>Math.abs(e-c)>Math.abs(t-c)?t:e,B[0]),f=B.findIndex(e=>e===d);if(!D.get(u)||D.get(u).width!==h||D.get(u).height!==c){const e={width:h,height:c,ssrc:u,quality:f};D.set(u,e),r?r(e):postMessage({status:i.v,data:e})}t&&W.updateSSRCInfo(u,Date.now())}function V(e,t){return e&&t?Math.abs(e/t-4/3)<.01?2:Math.abs(e/t-16/9)<.01?3:1:1}function F(e,t,r,i,a){if(!a&&!i||1==e)return!1;let s=i&&t>=640,n=a&&t>=1280;return 2!=e||640==t&&480==r?s||n:((s||n)&&b("ratio is 4:3 but wencodec not supported width: ".concat(t,", height: ").concat(r)),!1)}function N(e,t){e?e.send(t):_("websocket is null",new Error("message type ".concat(t[0])))}function j(e){return e&&"undefined"!=typeof atob?Uint8Array.from(atob(e),e=>e.charCodeAt(0)):null}function H(e,t){return t&&(!e||e.websocketaddress!=t)}},function(e,t,r){"use strict";r.d(t,"y",(function(){return i})),r.d(t,"Y",(function(){return a})),r.d(t,"L",(function(){return s})),r.d(t,"K",(function(){return n})),r.d(t,"J",(function(){return o})),r.d(t,"v",(function(){return l})),r.d(t,"q",(function(){return h})),r.d(t,"r",(function(){return c})),r.d(t,"w",(function(){return u})),r.d(t,"x",(function(){return d})),r.d(t,"u",(function(){return f})),r.d(t,"X",(function(){return p})),r.d(t,"P",(function(){return g})),r.d(t,"Q",(function(){return m})),r.d(t,"O",(function(){return v})),r.d(t,"M",(function(){return b})),r.d(t,"s",(function(){return _})),r.d(t,"k",(function(){return y})),r.d(t,"n",(function(){return w})),r.d(t,"l",(function(){return T})),r.d(t,"m",(function(){return x})),r.d(t,"db",(function(){return R})),r.d(t,"B",(function(){return E})),r.d(t,"C",(function(){return S})),r.d(t,"W",(function(){return M})),r.d(t,"ab",(function(){return C})),r.d(t,"V",(function(){return A})),r.d(t,"Z",(function(){return P})),r.d(t,"N",(function(){return k})),r.d(t,"h",(function(){return O})),r.d(t,"g",(function(){return L})),r.d(t,"f",(function(){return I})),r.d(t,"A",(function(){return U})),r.d(t,"z",(function(){return D})),r.d(t,"S",(function(){return B})),r.d(t,"R",(function(){return W})),r.d(t,"e",(function(){return G})),r.d(t,"o",(function(){return V})),r.d(t,"T",(function(){return F})),r.d(t,"U",(function(){return N})),r.d(t,"G",(function(){return j})),r.d(t,"E",(function(){return H})),r.d(t,"H",(function(){return q})),r.d(t,"I",(function(){return X})),r.d(t,"F",(function(){return Y})),r.d(t,"bb",(function(){return z})),r.d(t,"c",(function(){return K})),r.d(t,"b",(function(){return Q})),r.d(t,"cb",(function(){return J})),r.d(t,"d",(function(){return Z})),r.d(t,"t",(function(){return $})),r.d(t,"D",(function(){return ee})),r.d(t,"p",(function(){return te})),r.d(t,"a",(function(){return re})),r.d(t,"j",(function(){return ie})),r.d(t,"i",(function(){return ae}));const i=1e3,a=5,s=43,n=44,o=45,l=0,h=1,c=146,u=2,d=7,f=9,p=17,g=10,m=11,v=12,b=102,_=107,y=0,w=1,T=2,x=3,R=65,E=0,S=1,M=-1,C=0,A=1,P=2,k=3,O=1,L=2,I=3,U={SESSION_TYPE_CONF:0,SESSION_TYPE_AUDIO:1,SESSION_TYPE_DESKSHARE:2,SESSION_TYPE_VIDEO:3,SESSION_TYPE_CHAT:4,SESSION_TYPE_TELEPHONE:5,SESSION_TYPE_ZC_PING:6,SESSION_TYPE_TOTAL_CNT:7},D={CONNECT_TYPE_UDP:0,CONNECT_TYPE_TCP:1},B=24,W=20,G=15,V=10,F=8294400,N=5,j=0,H=1,q=2,X=15,Y=5,z=400,K=7,Q=8,J={DESKTOP:0,MOBILE:1,ANDROID:2,IPHONE:3},Z={DESKTOP_SOURCE:0,UAC_SOURCE:1},$={SHARE_REMOTE_CONTROL_UAC_MOUSE:144,SHARE_REMOTE_CONTROL_UAC_JPEG_FRAME:145},ee=1,te=25,re=1,ie=(new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:48e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]]),new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:"96000",operater:"add"}],["maxplaybackrate",{value:"48000",operater:"add"}],["sprop-maxcapturerate",{value:"48000",operater:"add"}]]),new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:64e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]]),{VIDEO:0,SHARE:1}),ae={PAUSE:0,RESUME:1,STOP:2}},function(e,t,r){"use strict";r.d(t,"j",(function(){return i})),r.d(t,"h",(function(){return a})),r.d(t,"l",(function(){return s})),r.d(t,"sb",(function(){return n})),r.d(t,"qb",(function(){return o})),r.d(t,"ub",(function(){return l})),r.d(t,"Z",(function(){return h})),r.d(t,"d",(function(){return c})),r.d(t,"bb",(function(){return u})),r.d(t,"db",(function(){return d})),r.d(t,"D",(function(){return f})),r.d(t,"ob",(function(){return p})),r.d(t,"H",(function(){return g})),r.d(t,"Eb",(function(){return m})),r.d(t,"n",(function(){return v})),r.d(t,"vb",(function(){return b})),r.d(t,"E",(function(){return _})),r.d(t,"b",(function(){return y})),r.d(t,"zb",(function(){return w})),r.d(t,"S",(function(){return T})),r.d(t,"I",(function(){return x})),r.d(t,"T",(function(){return R})),r.d(t,"xb",(function(){return E})),r.d(t,"f",(function(){return S})),r.d(t,"nb",(function(){return M})),r.d(t,"mb",(function(){return C})),r.d(t,"eb",(function(){return A})),r.d(t,"X",(function(){return P})),r.d(t,"V",(function(){return k})),r.d(t,"a",(function(){return O})),r.d(t,"z",(function(){return L})),r.d(t,"Fb",(function(){return I})),r.d(t,"G",(function(){return U})),r.d(t,"wb",(function(){return D})),r.d(t,"v",(function(){return B})),r.d(t,"u",(function(){return W})),r.d(t,"t",(function(){return G})),r.d(t,"w",(function(){return V})),r.d(t,"U",(function(){return F})),r.d(t,"jb",(function(){return N})),r.d(t,"kb",(function(){return j})),r.d(t,"R",(function(){return H})),r.d(t,"hb",(function(){return q})),r.d(t,"ib",(function(){return X})),r.d(t,"F",(function(){return Y})),r.d(t,"r",(function(){return z})),r.d(t,"q",(function(){return K})),r.d(t,"y",(function(){return Q})),r.d(t,"p",(function(){return J})),r.d(t,"x",(function(){return Z})),r.d(t,"Cb",(function(){return $})),r.d(t,"O",(function(){return ee})),r.d(t,"P",(function(){return te})),r.d(t,"Ab",(function(){return re})),r.d(t,"C",(function(){return ie})),r.d(t,"B",(function(){return ae})),r.d(t,"A",(function(){return se})),r.d(t,"K",(function(){return ne})),r.d(t,"J",(function(){return oe})),r.d(t,"L",(function(){return le})),r.d(t,"o",(function(){return he})),r.d(t,"s",(function(){return ce})),r.d(t,"gb",(function(){return ue})),r.d(t,"fb",(function(){return de})),r.d(t,"Db",(function(){return fe})),r.d(t,"Q",(function(){return pe})),r.d(t,"i",(function(){return ge})),r.d(t,"g",(function(){return me})),r.d(t,"k",(function(){return ve})),r.d(t,"m",(function(){return be})),r.d(t,"rb",(function(){return _e})),r.d(t,"pb",(function(){return ye})),r.d(t,"tb",(function(){return we})),r.d(t,"Y",(function(){return Te})),r.d(t,"cb",(function(){return xe})),r.d(t,"ab",(function(){return Re})),r.d(t,"c",(function(){return Ee})),r.d(t,"M",(function(){return Se})),r.d(t,"Bb",(function(){return Me})),r.d(t,"N",(function(){return Ce})),r.d(t,"yb",(function(){return Ae})),r.d(t,"W",(function(){return Pe})),r.d(t,"lb",(function(){return ke})),r.d(t,"e",(function(){return Oe}));const i=1,a=2,s=3,n=7,o=8,l=9,h=12,c=14,u=15,d=16,f=18,p=20,g=21,m=24,v=26,b=27,_=30,y=31,w=35,T=36,x=37,R=38,E=47,S=48,M=50,C=51,A=52,P=53,k=54,O=56,L=57,I=60,U=61,D=62,B=66.5,W=66.6,G=67,V=68,F=69,N=71,j=72,H=73,q=75,X=76,Y=78,z=105,K=106,Q=107,J=108,Z=109,$=120,ee=121,te=122,re=123,ie=124,ae=125,se=126,ne=127,oe=128,le=129,he=132,ce=133,ue=135,de=136,fe=137,pe=151,ge=-1,me=-2,ve=-3,be=-5,_e=-7,ye=-8,we=-9,Te=-12,xe=-14,Re=-15,Ee=-23,Se=-26,Me=-27,Ce=-28,Ae=-35,Pe=-129,ke=-130,Oe=-131},function(e,t,r){"use strict";r.d(t,"e",(function(){return c})),r.d(t,"b",(function(){return d})),r.d(t,"d",(function(){return f})),r.d(t,"a",(function(){return p})),r.d(t,"c",(function(){return g}));var i=r(7),a=r.n(i),s=r(14),n=r(17),o=r(5),l=r(10),h=r(13);const c={AUDIO_DECODE:1,AUDIO_ENCODE:2,VIDEO_DECODE:4,VIDEO_ENCODE:8,SHARR_DECODE:16,SHARR_ENCODE:32},u=e=>{0};class d{constructor(){this.onmessage=u,this.status=d.CLOSED,this.onopen=u,this.onclose=u,this.onwer=null}send(e){}delete(){this.onmessage=u,this.onopen=u,this.onclose=u,this.close()}sendVideo(e,t){}sendWasm(e){}open(){this.status=d.OPEN,this.onopen()}close(){this.status=d.CLOSED,this.onclose()}}a()(d,"OPEN",1),a()(d,"CLOSED",2);class f extends d{constructor(){super({}),this.sab={},this.port=null,this.onmessage=u,this.sender=u,this.videoSender=u,this.reciver=u,this.wasmSender=u}send(e){this.sender(e)}sendVideo(e,t){this.videoSender(e,t)}sendWasm(e){this.wasmSender(e)}delete(){try{var e,t;this.onmessage=u,this.sender=u,this.videoSender=u,this.reciver=u,this.wasmSender=u;let{consumer:r}=(null===(e=this.sab)||void 0===e?void 0:e.reciver)||{};null==r||r.setDataCallback(u),null==r||r.cancelConsume(),this.sab={},this.port&&(this.port.onmessage=u),null===(t=this.port)||void 0===t||t.close()}catch(e){}}open(){this.status!=d.OPEN||this.onopen()}close(){this.status=d.CLOSED,this.delete(),this.onclose()}_onmessage(e){let{cmd:t,data:r}=e.data;switch(t){case o.J:this.reciver();break;case o.K:this.onmessage(r,0);break;case o.L:this.status=r,this.status==d.OPEN?this.onopen():this.onclose()}}createSendAndReceive(){if(!this.port)return;let{sender:e,reciver:t}=this.sab,{sabqueue:r,interval:i}=e||{};r?i?(this.sender=e=>{r.enqueue(e)},this.wasmSender=e=>{r.enqueue(e)},this.videoSender=(e,t)=>{if(!r.enqueueSafe([e,t],!1)){let i=new Uint8Array(t.length+e.length);i.set(e,0),i.set(t,e.length),r.enqueueSafe(i)}}):(this.sender=e=>{r.enqueue(e),this.port.postMessage({cmd:o.J})},this.wasmSender=e=>{r.enqueue(e),this.port.postMessage({cmd:o.J})},this.videoSender=(e,t)=>{if(!r.enqueueSafe([e,t],!1)){let i=new Uint8Array(t.length+e.length);i.set(e,0),i.set(t,e.length),r.enqueueSafe(i)}this.port.postMessage({cmd:o.J})}):(this.sender=e=>{this.port.postMessage({cmd:o.K,data:e},[e.buffer])},this.wasmSender=e=>{let t=new Uint8Array(e.length);t.set(e,0),this.port.postMessage({cmd:o.K,data:t},[t.buffer])},this.videoSender=(e,t)=>{let r=new Uint8Array(t.length+e.length);r.set(e,0),r.set(t,e.length),this.port.postMessage({cmd:o.K,data:r},[r.buffer])});let{sabqueue:a,consumer:l,useCopy:h,interval:c,offset:u}=t||{};if(l&&(l.cancelConsume(),l=null),a){const e=h?e=>{this.onmessage(e,0)}:u?e=>{this.onmessage(e.uint8s,e.begin)}:e=>{this.onmessage(e.uint8s,0)};let r=null,i=p.dataTransportMgr.monitorlogfn;if(c&&i){var d;let e=new s.b({tag:"WCL_M,VDRB"+(null===(d=this.onwer)||void 0===d?void 0:d.type),interval:1e4,reportcallback:m});r=e.timeoutReport.bind(e)}l=new n.a(a,e,r),t.consumer=l,c?l.consume(c,h):this.reciver=()=>{l.consumeAll(h)}}}setMsgPort(e){e!=this.port&&(this.port&&(this.port.onmessage=u,this.port.close(),this.port=null),this.port=e,this.port&&(this._listeners||(this._listeners=this._onmessage.bind(this)),this.port.onmessage=this._listeners,this.createSendAndReceive()))}setSabBuffer(e,t){if(null!=e&&e.sab){let{sab:t,useCopy:r,interval:i,offset:a,length:s,useOneElement:o}=e,l=new n.b(a>0?t.buffer:t,void 0,void 0,!!o,a,s,a>0?t:null);this.sab.sender={sabqueue:l,interval:i,useCopy:r,offset:a}}if(null!=t&&t.sab){var r;let{sab:e,useCopy:i,interval:a,offset:s,length:o,useOneElement:l}=t,h=new n.b(s>0?e.buffer:e,void 0,void 0,!!l,s,o,s>0?e:null),{consumer:c}=(null===(r=this.sab)||void 0===r?void 0:r.reciver)||{};c&&(c.cancelConsume(),this.sab.reciver.consumer=null,this.sab.reciver.sabqueue=null),this.sab.reciver={sabqueue:h,interval:a,useCopy:i,offset:s}}this.createSendAndReceive()}setStatus(e){this.port?this.status!=e&&(this.status=e,this.port.postMessage({cmd:o.L,data:e})):console.error("MsgQueueSocket not initialized")}}class p{constructor(e){this.onmessage=u,this.onopen=u,this.onclose=u,this.connect_type=e.connect_type||p.UDP,this.type=e.type,this.id=e.id||Math.floor(performance.now())<<10|e.type,this.sock=e.sock||new d,this.mgr=e.mgr,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this),this.sock.onwer=this,this.remote=e.remote,this.sabInfo=null,this.portInfo=null,this.target_thread=l.b.NO_THREAD,this.local=!!e.local,this._create()}_create(){let e=p.dataTransportMgr;e.transportlists.push(this),!this.local&&e&&e.mainThread&&e.type==h.a.THREAD_SUB&&e.createRemoteTransport(this,e.mainThread)}_close(){let e=p.dataTransportMgr,t=e.transportlists.indexOf(this);-1!=t&&e.transportlists.splice(t,1),!this.local&&e&&e.mainThread&&e.type==h.a.THREAD_SUB&&e.closeRemoteTransport(this,e.mainThread)}_onmessage(e,t){this.onmessage(e,t)}_onclose(){this.onclose()}_onopen(){this.onopen()}isReady(){return!0}send(e){this.sock.send(e)}sendVideo(e,t){this.sock.sendVideo(e,t)}sendWasmData(e){this.sock.sendWasm(e)}setSocket(e){let t=this.sock;this.sock=e,this.sock&&(this.sock.onwer=this,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this)),t&&t.delete()}open(){this.sock.open()}close(){this._close(),this.sock.close()}setMsgPort(e){if(!(this.sock instanceof f))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setMsgPort(e)}setSabBuffer(e,t){if(!(this.sock instanceof f))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setSabBuffer(e,t)}setStatus(e){this.sock instanceof f&&this.sock.setStatus(e)}}a()(p,"UDP",0),a()(p,"TCP",1),a()(p,"RLB_UDP",2),a()(p,"dataTransportMgr",null);class g{constructor(e){this.sock=null,this.onmessage=u}isReady(){return!1}send(){u()}setStatus(e){0}}function m(e,t,r,i){var a;null===(a=h.a.monitorlogfn)||void 0===a||a.call(h.a,e,"".concat(t,",").concat(r,",").concat(i))}},function(e,t,r){var i=r(35);e.exports=function(e,t,r){return(t=i(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.d(t,"q",(function(){return i})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return s})),r.d(t,"d",(function(){return n})),r.d(t,"i",(function(){return o})),r.d(t,"j",(function(){return l})),r.d(t,"l",(function(){return h})),r.d(t,"r",(function(){return c})),r.d(t,"s",(function(){return u})),r.d(t,"t",(function(){return d})),r.d(t,"m",(function(){return f})),r.d(t,"o",(function(){return p})),r.d(t,"e",(function(){return g})),r.d(t,"n",(function(){return m})),r.d(t,"p",(function(){return v})),r.d(t,"g",(function(){return b})),r.d(t,"h",(function(){return _})),r.d(t,"a",(function(){return y})),r.d(t,"f",(function(){return w})),r.d(t,"k",(function(){return T}));const i=1,a=2,s=3,n=4,o=5,l=6,h=7,c=8,u=9,d=10,f=11,p=129,g=130,m=131,v=132,b=133,_=134,y=135,w=136,T=137},function(e,t,r){"use strict";r.d(t,"h",(function(){return s})),r.d(t,"e",(function(){return n})),r.d(t,"g",(function(){return o})),r.d(t,"f",(function(){return l})),r.d(t,"d",(function(){return h})),r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return u})),r.d(t,"c",(function(){return d}));var i=r(3),a=r(2);function s(e,t){const r=Math.pow(10,t);return Math.floor(e*r)/r}function n(e,t){const r=Math.pow(10,t);return Math.ceil(e*r)/r}function o(e,t,r){if(!e||t<0||r<0)throw new Error("isDimensionsOverMaxDimension2DSize() invalid parameters. res=".concat(e,", width=").concat(t,", height=").concat(r));let a=!1,s=0;const n=e.acquireGPUFeaturesHelper();return n&&(s=n.queryMaxTextureDimension2D(),s>0&&(a=t>s||r>s)),a&&(console.log("isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(r," max:").concat(s)),Object(i.o)("WGPU isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(r," max:").concat(s))),a}function l(e,t){if(!e||t<0)throw new Error("isBufferSizeOverMaxSize() invalid parameters. res=".concat(e,", bufferSize=").concat(t));let r=!1,a=0;const s=e.acquireGPUFeaturesHelper();return s&&(a=s.queryMaxBufferSize(),a>0&&(r=t>a)),r&&(console.log("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a)),Object(i.o)("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a))),r}function h(e,t){if(!e||null==t)throw new Error("evalCroppingRect() invalid parameters!");return t===a.s||t===a.r?{top:e.top,left:e.left,width:e.height,height:e.width}:e}function c(e,t){let r=0,i=0,a=0,s=0;const n=t.width/t.height;return e.width/e.height>n?(i=e.height,r=i*n,a=(e.width-r)/2,s=0):(r=e.width,i=r/n,a=0,s=(e.height-i)/2),r<=e.canvas.width&&(a=(e.canvas.width-r)/2),i<=e.canvas.height&&(s=(e.canvas.height-i)/2),{x:a,y:s,width:r,height:i}}function u(e,t,r,i){if(!e||!t||!r)return null;const s=t.width/t.height;let n=t.width,o=t.height;if(t.width>e.width||t.height>e.height){const r=e.width/t.width,i=e.height/t.height,a=Math.min(r,i);n*=a,o*=a}let l=0,h=0;e.width/e.height>s?(h=Math.floor(e.height/o)*o,l=Math.floor(h*s/n)*n,l>e.width&&(l=Math.floor(e.width/n)*n,h=Math.floor(l/s/o)*o)):(l=Math.floor(e.width/n)*n,h=Math.floor(l/s/o)*o,h>e.height&&(h=Math.floor(e.height/o)*o,l=Math.floor(h*s/n)*n));let c=0,u=0,d=0,f=0;i==a.p?(c=1-(c+(o-1)/e.height),u=t.left/e.width,f=1-t.top/e.height,d=u+n/e.width):i==a.s?(u=1-(c+(o-1)/e.height),d=1-t.top/e.height,c=t.left/e.width,f=u+n/e.width):i==a.q?(c=t.top/e.height,u=t.left/e.width,f=c+(o-1)/e.height,d=u+n/e.width):i==a.r&&(u=t.top/e.height,d=c+(o-1)/e.height,c=t.left/e.width,f=u+n/e.width);let p=[],g=[{x:d,y:f},{x:d,y:c},{x:u,y:c},{x:d,y:f},{x:u,y:f},{x:u,y:c}];for(let e=0;e<g.length;++e){let t={u:g[e].x,v:g[e].y};p.push(t)}let m=[];for(let e=0;e<p.length;++e){let t=p[e];m.push(t.u),m.push(t.v)}return m}function d(e,t,r,i,o,l){let h=0,c=0,u=0,d=0;if(e){const e=o==a.s||o==a.r?t.height/t.width:t.width/t.height,s=i.left||0,n=i.top||0;if(i.width/i.height>e){const t=i.height*e;h=n/r.height,c=(Math.round((i.width-t)/2)+s)/r.width,d=h+(i.height-1)/r.height,u=c+t/r.width}else{const t=i.width/e;h=(Math.round((i.height-t)/2)+n)/r.height,c=s/r.width,d=h+(t-1)/r.height,u=c+i.width/r.width}o==a.p?(h=1-(h+(i.height-1)/r.height),c=i.left/r.width,d=1-i.top/r.height,u=c+i.width/r.width):o==a.s?(c=1-(h+(i.height-1)/r.height),u=1-i.top/r.height,h=i.left/r.width,d=c+i.width/r.width):o==a.q?(h=i.top/r.height,c=i.left/r.width,d=h+(i.height-1)/r.height,u=c+i.width/r.width):o==a.r&&(c=i.top/r.height,u=h+(i.height-1)/r.height,h=i.left/r.width,d=c+i.width/r.width)}else{const e=i.width/i.height;let t=i.width,l=i.height;if(i.width>r.width||i.height>r.height){const e=r.width/i.width,a=r.height/i.height,s=Math.min(e,a);t*=s,l*=s}let f=0,p=0;r.width/r.height>e?(p=Math.floor(r.height/l)*l,f=Math.floor(p*e/t)*t,f>r.width&&(f=Math.floor(r.width/t)*t,p=Math.floor(f/e/l)*l)):(f=Math.floor(r.width/t)*t,p=Math.floor(f/e/l)*l,p>r.height&&(p=Math.floor(r.height/l)*l,f=Math.floor(p*e/t)*t)),o==a.p?(h=1-(h+(l-1)/r.height),c=i.left/r.width,d=1-i.top/r.height,u=c+t/r.width,i.height>i.width&&(c=n(c,2),u=s(u,2))):o==a.s?(c=1-(h+(l-1)/r.height),u=1-i.top/r.height,h=i.left/r.width,d=c+t/r.width):o==a.q?(h=i.top/r.height,c=i.left/r.width,d=h+(l-1)/r.height,u=c+t/r.width):o==a.r&&(c=i.top/r.height,u=h+(l-1)/r.height,h=i.left/r.width,d=c+t/r.width)}let f=[],p=[{x:u,y:d},{x:u,y:h},{x:c,y:h},{x:u,y:d},{x:c,y:d},{x:c,y:h}];for(let e=0;e<p.length;++e){let t=null;if(l){let r=-1*Math.abs(p[e].x);p[e].x=r,t={u:p[e].x+1,v:p[e].y}}else t={u:p[e].x,v:p[e].y};f.push(t)}let g=[];for(let e=0;e<f.length;++e){let t=f[e];g.push(t.u),g.push(t.v)}return g}},function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return n}));var i=r(7),a=r.n(i);class s{constructor(){this.onmessage=()=>{}}addEventListener(){}close(){}}class n{constructor(e){this.transportMap={},this.netthreadworker=null,this.type=e.type,this.mgr=e,this.transportlistsChnagelinster=[]}addEventListener(e){-1==this.transportlistsChnagelinster.indexOf(e)&&this.transportlistsChnagelinster.push(e)}removeEventListener(e){let t=this.transportlistsChnagelinster.indexOf(e);-1!=t&&this.transportlistsChnagelinster.splice(t,1)}addTransport(e,t){e.id in this.transportMap||(this.transportMap[e.id]=e,this.transportlistsChnagelinster.forEach(r=>{r(e,t,1)}))}removeTransport(e){var t;let r=e.id;r in this.transportMap&&(delete this.transportMap[r],null===(t=e.sock)||void 0===t||t.close(),this.transportlistsChnagelinster.forEach(t=>{t(e,e.channel,0)}))}getTransportByType(e){for(let t in this.transportMap){let r=this.transportMap[t],i=r.target_thread==n.SELF_THREAD;if(r.type==e&&i)return r}return null}}a()(n,"NO_THREAD",0),a()(n,"SELF_THREAD",1)},function(e,t,r){"use strict";function i(){this.a=[],this.b=0,this.residue=null}i.prototype.getLength=function(){return this.a.length-this.b},i.prototype.isEmpty=function(){return 0==this.a.length},i.prototype.enqueue=function(e){this.a.push(e)},i.prototype.dequeue=function(){if(0!=this.a.length){var e=this.a[this.b];return 2*++this.b>=this.a.length&&(this.a=this.a.slice(this.b),this.b=0),e}return null},i.prototype.peek=function(){return 0<this.a.length?this.a[this.b]:void 0},i.prototype.clear=function(){this.a=[],this.b=0},t.a=i},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return s}));const i={AUDIO:1,SHARING:2,VIDEO:3},a={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},s=((()=>{const e={};for(const t in a)e[a[t]]="WCL_"+t})(),{[a.AUDIO_ENCODE]:"audio.encode",[a.AUDIO_DECODE]:"audio.decode",[a.VIDEO_ENCODE]:"video.encode",[a.VIDEO_DECODE]:"video.decode",[a.SHARING_ENCODE]:"share.encode",[a.SHARING_DECODE]:"share.decode"})},function(e,t,r){"use strict";r.d(t,"b",(function(){return h})),r.d(t,"a",(function(){return c}));var i=r(7),a=r.n(i),s=r(5),n=r(10),o=r(6),l=r(22);function h(e,t,r){if(!e)return;let i=o.a.dataTransportMgr;i.type===c.THREAD_MAIN?(i.setSabBuffer(e,t,r),e.remote.postMessage({cmd:s.gb,transportId:e.id,sender:r,reciver:t})):(e.setSabBuffer(t,r),i.mainThread.postMessage({cmd:s.gb,transportId:e.id,sender:r,reciver:t}))}class c{constructor(e){let t=e||{};this.type=t.type||c.THREAD_MAIN,this.refs={},this.transportlists=[],this.mainThread=t.remote,this.subthreadlistner=null,this.channellists=[],this.mediadatachannel=new n.b(this)}_onrecvmainthreadlistener(e){let{cmd:t,transportId:r,data:i}=e.data,a=this.transportlists.find(e=>e.id===r);if(a||t==s.s)switch(t){case s.s:this.addRemoteTransport(e.data,null);break;case s.fb:a.setMsgPort(i||new n.a);break;case s.gb:a.setSabBuffer(e.data.sender,e.data.reciver);break;case s.o:a.remote=null,this.removeTransport(a)}}_onrecvsubthreadlistener(e,t){let{cmd:r,transportId:i,transportType:a}=t.data,n=this.transportlists.find(e=>e.id===i);switch(r){case s.s:this.addRemoteTransport(t.data,e);break;case s.gb:this.setSabBufferInfo(n,t.data.sender,t.data.reciver);break;case s.o:n.remote=null,this.removeTransport(n)}}createRemoteTransport(e,t){let r={cmd:s.s,transportType:e.type,transportId:e.id};e.portInfo?(r.port=e.portInfo,t.postMessage(r,[e.portInfo])):t.postMessage(r)}closeRemoteTransport(e,t){t.postMessage({cmd:s.o,transportType:e.type,transportId:e.id})}setRemoteTransportSABBUffer(e,t){var r,i,a,n;(null!==(r=e.sabInfo)&&void 0!==r&&r.sender||null!==(i=e.sabInfo)&&void 0!==i&&i.reciver)&&t.postMessage({cmd:s.gb,transportId:e.id,sender:null===(a=e.sabInfo)||void 0===a?void 0:a.sender,reciver:null===(n=e.sabInfo)||void 0===n?void 0:n.reciver})}addRemoteTransport(e,t){let{transportId:r,port:i,transportType:a}=e;let s=this.createMsgSocketTransport(a);s.id=r,s.remote=t,s.portInfo=i,i?s.setMsgPort(s.portInfo):this.bindMessageChannel(s),this.addTransport(s)}addTransport(e){let t=this.getChannelByTransportType(e.type);if(!t)return;let r=t.target_thread||n.b.SELF_THREAD;e.target_thread=r,this.bindTransPortForChannel(e,t)}removeTransport(e){let t=this.transportlists.indexOf(e);-1!=t&&(this.transportlists.splice(t,1),e.remote&&this.closeRemoteTransport(e,e.remote),e.target_thread!=n.b.NO_THREAD&&this.unbindTransPortForChannel(e))}createMsgSocketTransport(e){let t=null;return t=new o.a({mgr:this,sock:new o.d,type:e,local:!0}),t}bindMessageChannel(e){if(this.type!=c.THREAD_MAIN)return void console.error("error this call only in main thread");let t=new MessageChannel;e.portInfo=t.port1,e.remote.postMessage({cmd:s.fb,transportId:e.id,data:t.port2},[t.port2])}setSabBufferInfo(e,t,r){this.type==c.THREAD_MAIN?(e.sabInfo||(e.sabInfo={}),r&&(r.useCopy=!0),t&&(t.useCopy=!0),e.sabInfo={sender:t,reciver:r},e.target_thread!=n.b.NO_THREAD&&(e.target_thread!=n.b.SELF_THREAD?this.setRemoteTransportSABBUffer(e,e.target_thread):e.setSabBuffer(t,r))):console.error("<<<<< setSabBufferInfo in sub thread")}addDataChannel(e){if(e instanceof l.a){try{this.checkTransport(e)}catch(e){console.error("addDataChannel error",e)}this.channellists.push(e)}else console.error("channel must be a DataChannelWrapper")}removeDataChannel(e){if(!(e instanceof l.a))return void console.error("channel must be a DataChannelWrapper");let t=this.channellists.indexOf(e);-1!==t&&this.channellists.splice(t,1)}removeTransportByRemote(e){let t=[];for(let r=0;r<this.channellists.length;r++){let i=this.channellists[r];i.remote===e&&t.push(i)}for(let e=0;e<t.length;e++)this.removeTransport(t[e])}reinit(){let e=[...this.transportlists];for(let t=0;t<e.length;t++)this.removeTransport(e[t])}getTransportByType(e){return this.mediadatachannel.getTransportByType(e)}addTransportListChangeListener(e){this.mediadatachannel.addEventListener(e)}remoteTransportListChangeListener(e){this.mediadatachannel.removeEventListener(e)}checkTransport(e){this.transportlists.forEach(t=>{if(!e.transportlists.includes(t.type))return;let r=e.target_thread||n.b.SELF_THREAD;r==t.target_thread||(this.type==c.THREAD_MAIN&&t.target_thread!=n.b.NO_THREAD&&t.target_thread!=r&&(this.unbindTransPortForChannel(t),this.bindMessageChannel(t)),t.target_thread=r,this.bindTransPortForChannel(t,e))})}bindTransPortForChannel(e,t){e.channel=t;let r=e.target_thread;if(r!=n.b.SELF_THREAD)this.createRemoteTransport(e,r),this.setRemoteTransportSABBUffer(e,r);else{var i,a,s,o;if(e.portInfo&&e.setMsgPort(e.portInfo),null!==(i=e.sabInfo)&&void 0!==i&&i.sender||null!==(a=e.sabInfo)&&void 0!==a&&a.reciver)e.setSabBuffer(null===(s=e.sabInfo)||void 0===s?void 0:s.sender,null===(o=e.sabInfo)||void 0===o?void 0:o.reciver);this.mediadatachannel.addTransport(e,t)}}unbindTransPortForChannel(e){e.target_thread!=n.b.SELF_THREAD?this.type==c.THREAD_MAIN&&this.closeRemoteTransport(e,e.target_thread):this.mediadatachannel.removeTransport(e)}getChannelByTransportType(e){for(let t=0;t<this.channellists.length;t++){let r=this.channellists[t];if(r.isReady()&&r.transportlists.includes(e))return r}return null}}a()(c,"THREAD_MAIN",1),a()(c,"THREAD_SUB",2)},function(e,t,r){"use strict";function i(e){return e[0]<<24|e[1]<<16|e[2]<<8|e[3]}r.d(t,"b",(function(){return s})),r.d(t,"c",(function(){return a})),r.d(t,"a",(function(){return n}));const a={IsQosReport:function(e){return 21==e[4]&&0==e[13]},GetQOSSeq:function(e){!function(e){e[0],e[1]}(e.slice(17,19))},GetQOSTime:function(e){return 104==e[0]||16!=e[4]&&1!=e[5]?i(e.slice(19,23)):i(e.slice(15,19))},IsVideoPkg:function(e){return 103==e[0]}};class s{constructor(e){let t=e||{};this.last_report_time=0,this.timeout_count=0,this.interval_report_time=t.interval||3e3,this.tag=t.tag||"monitor",this.max_timeout=0,this.min_timeout=2147483647,this.reportcallback=t.reportcallback,this._timeoutid=0}_report(){this.reportcallback&&this.reportcallback(this.tag,Math.ceil(this.max_timeout),Math.ceil(this.min_timeout),this.timeout_count),this.timeout_count=0,this.max_timeout=0,this.min_timeout=2147483647}timeoutReport(e,t){if(this.timeout_count++,e>this.max_timeout&&(this.max_timeout=e),e<this.min_timeout&&(this.min_timeout=e),this._timeoutid)return;let r=this;this._timeoutid=setTimeout(()=>{r._report(),r._timeoutid=0},this.interval_report_time)}}class n extends class{constructor(e){this._tag=e.tag||"MONITOR",this._base_time=0,this._interval_id=-1,this._timeout=Math.max(1e3,e.timeout||0),this._callback=e.callback}_report(){let e=Date.now(),t=this.getSamples(e);t||(t=[]);let r="".concat(this._base_time,":").concat(e-this._base_time,":").concat(t.join("|"));this._callback&&this._callback(this._tag,r)}getSamples(e){}onStart(){}onStop(){}start(){-1==this._interval_id&&(this._base_time=Date.now(),this._interval_id=setInterval(this._report.bind(this),this._timeout),this.onStart())}stop(){-1!=this._interval_id&&(clearInterval(this._interval_id),this._interval_id=-1,this._report(),this.onStop())}}{constructor(e){super(e),this._count=0}onStart(){this._count=0}sample(){this._count++}getSamples(e){return[this._count]}}},function(e,t,r){"use strict";r.d(t,"c",(function(){return i})),r.d(t,"f",(function(){return a})),r.d(t,"e",(function(){return s})),r.d(t,"a",(function(){return n})),r.d(t,"k",(function(){return o})),r.d(t,"g",(function(){return l})),r.d(t,"h",(function(){return h})),r.d(t,"b",(function(){return c})),r.d(t,"j",(function(){return u})),r.d(t,"i",(function(){return d})),r.d(t,"l",(function(){return f})),r.d(t,"d",(function(){return p}));const i=3,a=6,s=34,n=38,o=-51,l="SHARING_PARAM_INFO_FROM_SOCKET",h=121,c="AUDIO_QOS_DATA",u="VIDEO_QOS_DATA",d="VIDEOSHARE_QOS_DATA",f={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},p="EXPOSE_VB_FRAME"},function(e,t,r){"use strict";const i=e=>0==(e&e-1);let a=new class{constructor(){this._highFrequencyLogs={},this.fixVersion=""}setInstance(e,t){this._instance=e,this.fixVersion=t}getMessageFromErrorOrEvent(e,t){let r=e;return t instanceof ErrorEvent?(t.filename&&(r+=" File: ".concat(t.filename)),(t.lineno||t.colno)&&(r+=" Line: ".concat(t.lineno,":").concat(t.colno)),t.message&&(r+=" Message: ".concat(t.message)),t.error&&(r+="\nStack: ".concat(t.error.stack))):t instanceof Error?(t.fileName&&(r+=" File: ".concat(t.fileName)),(t.lineNumber||t.columnNumber)&&(r+=" Line: ".concat(t.lineNumber,":").concat(t.columnNumber)),t.message&&(r+=" Message: ".concat(t.message)),t.stack&&(r+=" Stack: ".concat(t.stack)),t.name&&(r+=" Name: ".concat(t.name)),t.constraint&&(r+=" Constraint: ".concat(t.constraint))):t instanceof CloseEvent?(t.code&&(r+=" Code: ".concat(t.code)),t.reason&&(r+=" Reason: ".concat(t.reason)),r+=" wasClean: ".concat(t.wasClean)):t instanceof DOMException?(t.message&&(r+=" Message: ".concat(t.message)),t.name&&(r+=" Name: ".concat(t.name))):r+=t?t.toString():"",r}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._highFrequencyLogs[e]?this._highFrequencyLogs[e]+=1:this._highFrequencyLogs[e]=1;const r=i(this._highFrequencyLogs[e]);this._instance&&r&&this._instance.error(e,[this.fixVersion])}severityerror(e,t){this._instance&&this._instance.error(JSON.stringify(e),t)}directReport(e,t){var r,i;this._instance&&(t||(t=["MEDIASDK_INFO"]),null===(r=(i=this._instance).directReport)||void 0===r||r.call(i,{msg:e},t))}warn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._instance&&this._instance.warn(e)}log(e){this._instance&&this._instance.log(e)}clearHighFrequencyLogs(){this._highFrequencyLogs={}}};t.a=a},function(e,t,r){"use strict";r.d(t,"b",(function(){return s})),r.d(t,"a",(function(){return n})),r.d(t,"c",(function(){return o}));var i=r(11),a=r(16);class s{static getStorageForCapacity(){return new SharedArrayBuffer(8+((arguments.length>0&&void 0!==arguments[0]?arguments[0]:80)+1)*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500))}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e.byteLength,n=arguments.length>6?arguments[6]:void 0;this.offset=a,this._BYTES_PER_ELEMENT=t,this.capacity=(s-8)/t,this.usableCapacity=this.capacity-1,this.buf=e,this.write_ptr=new Uint32Array(this.buf,a,1),this.read_ptr=new Uint32Array(this.buf,a+4,1),this.storageUint8sByteOffset=a+8,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,s-8),this.byteLength=s,this.label=r,this.usingOneElementBuffer=i,n&&(this.wasmMemory=n),i&&(this.oneElementBuffer=new ArrayBuffer(t)),this.repushhander=0,this.repushlogcount=0,this.monitorpace=0}checkBuffer(){this.wasmMemory&&this.wasmMemory.buffer!=this.buf&&(console.log("buffer change"),this.buf=this.wasmMemory.buffer,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,this.byteLength-8))}enqueue(e){return this.available_write()>0&&this.push(e),{rd:Atomics.load(this.read_ptr,0),wr:Atomics.load(this.write_ptr,0)}}enqueueSafe(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;for(this.dataBuffer||(this.dataBuffer=new i.a);this.dataBuffer.getLength()>0&&this.available_write()>0;){let e=this.dataBuffer.dequeue();e&&this.push(e)}let s=this.dataBuffer.getLength();if(e){if(this.available_write()>0&&0==s)return this.push(e),!0;if(!t)return!1;this.dataBuffer.enqueue(e),++s}if(s>0&&!this.repushhander&&(this.repushhander=setTimeout(()=>{this.repushlogcount%10==0&&console.warn("<<< retry consume cache data"),this.repushlogcount++,this.repushhander=0,this.enqueueSafe(null)},30)),s>=1e3&&(a.a.warn("Cached data in SAB reached critical value, will be cleared"),this.dataBuffer.clear(),r&&r("vqslclear")),s>0&&r){let e=performance.now();(!this.monitorpace||e-this.monitorpace>2e4)&&(this.monitorpace=e,r&&r("vqsl"+s))}return!0}push(e){return e instanceof Array?this._pushArray(e):this._push(e)}_pushArray(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer();let r=0;e.forEach(e=>{this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4+r),r+=e.byteLength}),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=r;let i=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,i),!0}_push(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer(),this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4,e.byteLength),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=e.byteLength;let r=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,r),!0}addReadPtr(){var e=Atomics.load(this.read_ptr,0);Atomics.store(this.read_ptr,0,(e+1)%this.capacity)}dequeue(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t=Atomics.load(this.read_ptr,0);this.checkBuffer();let r,i,a,s=new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1);if(e){r=this.oneElementBuffer?new Uint8Array(this.oneElementBuffer,0,s[0]):new Uint8Array(s[0]);let e=new Uint8Array(this.storageUint8s.buffer,t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,r.byteLength);r.set(e,0)}else r=this.storageUint8s.subarray(t*this._BYTES_PER_ELEMENT+8+4,t*this._BYTES_PER_ELEMENT+8+4+s[0]),i=t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,a=t*this._BYTES_PER_ELEMENT+8+4+s[0]+this.storageUint8sByteOffset;return e&&Atomics.store(this.read_ptr,0,(t+1)%this.capacity),e?r:{bCopyData:e,uint8s:r,begin:i,end:a}}available_read(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_read(e,t)}available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_write(e,t)}is_available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._is_available_write(e,t)}_available_read(e,t){return(t+this.capacity-e)%this.capacity}_available_write(e,t){return this.usableCapacity-this._available_read(e,t)}_is_available_write(e,t){return this._available_write(e,t)>0}_storage_capacity(){return this.capacity}}class n{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:80;if(!(e instanceof s))throw new Error("RingBuffer required");this.rb=e,this.dataCallback=t,this.interval=null,this.requestID=null,this.timeout_call=r,this.tick_lasted_time=0,this.timeoutMS=i,this.maxCount=a}setDataCallback(e){this.dataCallback=e}consume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.interval||(this.bCopyData=t,this.interval=setInterval(()=>{let e=performance.now();if(this.timeout_call){if(0!=this.tick_lasted_time){let t=e-this.tick_lasted_time;t>=this.timeoutMS&&this.timeout_call(t,e)}this.tick_lasted_time=e}this._dequeue()},e),console.log("consume interval ".concat(this.interval)))}consumeAll(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.bCopyData=e,this._dequeue()}_dequeue(){let e=Math.min(this.rb.available_read(),this.maxCount);for(this.consoume_count=0;this.consoume_count<e;){this.consoume_count++;let e=this.rb.dequeue(this.bCopyData);this.dataCallback(e),this.bCopyData||this.rb.addReadPtr()}}_consumeForAnimationFrame(){this._dequeue(),this.requestID=requestAnimationFrame(this._consumeForAnimationFrame.bind(this))}consumeUsingRequestAnimationFrame(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.requestID||(this.bCopyData=e,this._consumeForAnimationFrame())}cancelConsume(){console.log("cancelConsume interval ".concat(this.interval," requestID ").concat(this.requestID)),this.tick_lasted_time=0,clearInterval(this.interval),this.requestID&&cancelAnimationFrame(this.requestID),this.interval=null,this.requestID=null}}class o{constructor(){this.timeStampKey="video_timestamp",this.keysList=["video_ssrc","video_width","video_height","rendering_x","rendering_y","rendering_w","rendering_h","rotation","yuv_limited"],this.bCopyData=null,this.begin=null,this.end=null}setOBJ(e){this.obj=e,this.yuvUint8s=e.data}setBuffer(e){!1===e.bCopyData?(this.objUint8s=e.uint8s,this.bCopyData=e.bCopyData,this.begin=e.begin,this.end=e.end):(this.objUint8s=e,this.bCopyData=!0,this.begin=0,this.end=e.byteLength)}buffer2Obj(){let e=new Uint32Array(this.objUint8s.buffer,this.begin,9),t=new DataView(this.objUint8s.buffer,this.begin+40,16),r={};this.keysList.forEach((t,i)=>{r[t]=e[i]}),r[this.timeStampKey]=Number(t.getBigUint64(0,!0));let i,a=Number(t.getBigUint64(8,!0)),s=new Uint8Array(this.objUint8s.buffer,this.begin+40+8+8,a);return i=(this.bCopyData,s),r.data=i,r}obj2buffer(){let e=new Uint8Array(56),t=this.keysList,r=new Uint32Array(e.buffer,0,9),i=new DataView(e.buffer,40,16);return t.forEach((e,t)=>{r[t]=this.obj[e]}),i.setBigUint64(0,BigInt(this.obj[this.timeStampKey]),!0),i.setBigUint64(8,BigInt(this.yuvUint8s.byteLength),!0),[e,this.yuvUint8s]}}},,function(e,t,r){"use strict";function i(e,t,r,i){return s(e,t),a(r,"set"),function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,r,i),i}function a(e,t){if(void 0===e)throw new TypeError("attempted to "+t+" private static field before its declaration")}function s(e,t){if(e!==t)throw new TypeError("Private static access of wrong provenance")}class n{static isEnableCanvasCtxOptionsOpt(){return t=o,s(e=n,n),a(t,"get"),function(e,t){return t.get?t.get.call(e):t.value}(e,t);var e,t}static setIsEnableCanvasCtxOptionsOpt(e){i(n,n,o,e)}}var o={writable:!0,value:!1};t.a=n},function(e,t,r){"use strict";var i=r(4),a=r(3),s=r(9),n=r(19);let o=new Map,l=[];function h(e){e.preventDefault()}function c(e,t,r,a,s,n,o){let l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=s,this.textureindex=r||0,this.texturestride=this.textureindex?3:o?4:6,this.initmask=o||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=l,c.prototype.ROTATION_CLOCK0=0,c.prototype.ROTATION_CLOCK90=1,c.prototype.ROTATION_CLOCK180=2,c.prototype.ROTATION_CLOCK270=3,this.webGLResources=n,n||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(n);var h=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(h),this.dummpyWaterMark=new Uint8Array(h),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=i.W,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function u(e,t,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let n=s.canvas.width,o=s.canvas.height;a&&(n=a.width,o=a.height);var l,h,c,u,d=i==e.ROTATION_CLOCK90||i==e.ROTATION_CLOCK270?r:t,f=i==e.ROTATION_CLOCK90||i==e.ROTATION_CLOCK270?t:r,p=d/f*o,g=f/d*n;p>n?(l=0,c=1,u=1-(h=(o-g)/2/o)):(h=0,u=1,c=1-(l=(n-p)/2/n)),l=2*l-1,c=2*c-1,h=1-2*h,u=1-2*u;var m=new Float32Array([c,h,l,h,c,u,l,u,c,h,l,h,c,u,l,u]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function d(e,t,r,i,a){var s=e.contextGL,n=i.top/r,o=i.left/t,l=n+(i.height-1)/r,h=o+i.width/t,c=[o,n,h,n,h,l,o,l];a==e.ROTATION_CLOCK90&&(c.unshift(c[6],c[7]),c=c.slice(0,8)),a==e.ROTATION_CLOCK180&&(c.unshift(c[4],c[5],c[6],c[7]),c=c.slice(0,8)),a==e.ROTATION_CLOCK270&&(c.push(c[0],c[1]),c=c.slice(2));var u=c[0],d=c[1];c[0]=c[2],c[1]=c[3],c[2]=u,c[3]=d;var f=new Float32Array([...c,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}c.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},c.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(a.r)(this.contextGL,"WEBGL_lose_context"))},c.prototype.restoreContext=function(){if(this.contextGL)try{var e,t;if(null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost())this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(a.p)("WebGLRestoreTimeout")},1500),null===(t=this.canvasElement)||void 0===t||t.loseContextExtension.restoreContext()}catch(e){Object(a.i)("webgl restoreContext exception",e)}},c.prototype.webgGLContextLostCallback=function(e){Object(a.t)("webglcontextlost event: canvas listener size=".concat(l.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(l.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},c.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const r=l.indexOf(this.canvasID);l.splice(r,1),o.delete(e)}},c.prototype.webGLContextRestoredCallback=function(e){Object(a.t)("webglcontextrestored event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},c.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(a.r)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=o.get(e);t&&this.removeEventListener(e,t),o.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===l.indexOf(this.canvasID)&&(l.push(this.canvasID),l.length>4&&Object(a.t)("webglcanvas listener size=".concat(l.length,", ids:").concat(l.join())))},c.prototype.isWebGL=function(){return this.contextGL},c.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},c.prototype.initContextGL=function(){for(var e,t,r,i=this.canvasElement,s=null,o=["webgl","experimental-webgl","moz-webgl","webkit-3d"],l=0;!s&&l<o.length;){var h=o[l];try{if(n.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};s=i.getContext(h,t)}else s=i.getContext(h,e)}else s=this.contextOptions?i.getContext(h,this.contextOptions):i.getContext(h)}catch(e){s=null}s&&"function"==typeof s.getParameter||(s=null),++l}if(this.contextGL=s,!s||s.isContextLost())return Object(a.i)("Failed when trying to get WebGLContext on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(s,", lost=").concat(null===(r=s)||void 0===r?void 0:r.isContextLost())),void Object(a.p)("InitWebGLFail");s.glInitSucceed=0},c.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"\n attribute vec4 vertexPos;\n attribute vec4 texturePos;\n attribute vec4 masktexturePos;\n varying vec2 textureCoord;\n varying vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(a.t)("webgl Vertex shader failed to compile: "+e.getShaderInfoLog(t));var r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,"\n precision highp float;\n varying highp vec2 textureCoord;\n varying highp vec2 masktextureCoord;\n \n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n \n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int yuvmode;\n \n const int MAX_ELLIPSE_COUNT = 10;\n uniform int maskFlag; // 0: mask disabled; 1: mask enabled;\n uniform int maskMode; // 0: static mask; 1: dynamic mask;\n uniform vec4 uEllipses[MAX_ELLIPSE_COUNT]; // each ellipse contains (cx, cy, rx, ry) 4-coords\n uniform int uEllipseCount; // how many ellipses will draw\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -0.87078515625,\n 1.1643828125, -0.39176171875, -0.81296875, 0.52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n\n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -0.701,\n 1.0, -0.34413, -0.71414, 0.529135,\n 1.0, 1.772, 0, -0.886,\n 0, 0, 0, 1\n );\n\n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture2D(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n\n if (yuvmode == 1) {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(vSampler, textureCoord).r;\n } else {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(uSampler, textureCoord).a;\n }\n\n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n\n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && \n textureCoord.x >= cursorInfo.x && \n textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x + cursorInfo.z && \n textureCoord.y < cursorInfo.y + cursorInfo.w) {\n \n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture2D(cursorSampler, cursorCoord);\n c = c * (1.0 - cursor.a) + cursor * cursor.a;\n }\n }\n } else {\n c = texture2D(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n } else {\n c = texture2D(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture2D(maskSampler, masktextureCoord);\n if (maskMode == 0) {\n // -- handle static mask --\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n } else if (maskMode == 1) {\n // -- handle dynamic mask -- \n bool inEllipse = false; // variable for checking whether the pixel to be drawn hits ellipse\n for (int i = 0; i < MAX_ELLIPSE_COUNT; i++) {\n if (i > uEllipseCount) break;\n\n vec2 ellipseCenter = uEllipses[i].xy;\n vec2 ellipseRadii = uEllipses[i].zw;\n vec2 ellipsePos = masktextureCoord - ellipseCenter;\n\n float ellipseEq = (ellipsePos.x * ellipsePos.x) / (ellipseRadii.x * ellipseRadii.x) + \n (ellipsePos.y * ellipsePos.y) / (ellipseRadii.y * ellipseRadii.y);\n if (ellipseEq <= 1.0) {\n // the pixel in the ellipse range\n inEllipse = true;\n break;\n }\n }\n\n if (inEllipse) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n }\n }\n\n if (waterMarkFlag != 1) {\n c.a = 1.0;\n }\n\n gl_FragColor = c;\n }\n"),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)||e.isContextLost()||Object(a.t)("webgl Fragment shader failed to compile: "+e.getShaderInfoLog(r));var i=e.createProgram();e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS)||e.isContextLost()||Object(a.t)("webgl Program failed to compile: "+e.getProgramInfoLog(i)),e.useProgram(i),this.shaderProgram=i},c.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var i=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(i),e.vertexAttribPointer(i,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=r;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var n=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,n),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var o=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(o),e.vertexAttribPointer(o,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=n}this.texturePosBuffer=a},c.prototype.initTextures=function(e){var t=this.contextGL,r=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var a=this.initTexture();this.yTextureRef=a,this.oyTextureRef=a;var s=this.initTexture();this.uTextureRef=s,this.ouTextureRef=s;var n=this.initTexture();if(this.vTextureRef=n,this.ovTextureRef=n,e){this.BindTextures(i.V);var o=this.initTexture(),l=t.getUniformLocation(r,"cursorSampler");t.uniform1i(l,this.textureindex*this.texturestride+3),this.cursorTextureRef=o;var h=this.initTexture(),c=t.getUniformLocation(r,"waterMarkSampler");t.uniform1i(c,4),this.waterMarkTextureRef=h;var u=this.initTexture();this.repeatedWaterMarkTextureRef=u;var d=this.initTexture(),f=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=d;var p=t.getUniformLocation(r,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var g=this.initTexture(),m=t.getUniformLocation(r,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=g}var v=t.getUniformLocation(r,"colorRange");this.colorRangeRef=v,this.onlyRGBARef=t.getUniformLocation(r,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(r,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(r,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(r,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(r,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(r,"yuvmode")},c.prototype.BindTextures=function(e){var t=this.contextGL,r=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==i.V){let e=t.getUniformLocation(r,"ySampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"uSampler");t.uniform1i(i,1);let a=t.getUniformLocation(r,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"ySampler");t.uniform1i(i,0);let a=t.getUniformLocation(r,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(r,"vSampler");t.uniform1i(s,0)}else if(e==i.Z){let e=t.getUniformLocation(r,"ySampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"uSampler");t.uniform1i(i,1);let a=t.getUniformLocation(r,"vSampler");t.uniform1i(a,0)}let a=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(a,0);let s=t.getUniformLocation(r,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(s,6)):t.uniform1i(s,0);let n=t.getUniformLocation(r,"cursorSampler");t.uniform1i(n,0);let o=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(o,0)},c.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},c.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},c.prototype.cleanup=function(){let e=this.canvasElement,t=o.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=h,e.addEventListener("webglcontextlost",h,{capture:!1})),this.isAvaiable()){var r=this.contextGL;r.deleteProgram(this.program),r.activeTexture(r.TEXTURE0+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE1+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE2+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),this.textureindex||this.initmask||(r.activeTexture(r.TEXTURE3+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE4+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(this.getRepeatedWatermarkTextureValue(r)),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE5+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null)),r.bindBuffer(r.ARRAY_BUFFER,null),r.deleteTexture(this.yTextureRef),r.deleteTexture(this.uTextureRef),r.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(r.deleteTexture(this.cursorTextureRef),r.deleteTexture(this.waterMarkTextureRef),r.deleteTexture(this.repeatedWaterMarkTextureRef),r.deleteTexture(this.previewVideoTextureRef),r.deleteBuffer(this.vertexPosBuffer),r.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&r.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&r.deleteBuffer(this.masktexturePosBuffer),r.glInitSucceed=0}},c.prototype.drawNextOutputPicture=function(e,t,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,r,i,a):this.drawNextOuptutPictureRGBA(e,t,r,i)},c.prototype.updateVertexInfoForMultiView=function(e,t,r,i,a){var s,n,o,l,h=this.contextGL;if(this.isUseFillMode({width:r,height:i,rotation:a}))s=0,n=0,o=1,l=1;else{var c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,u=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,d=c/u*t;d>e?(s=0,o=1,l=1-(n=(t-u/c*e)/2/t)):(n=0,l=1,o=1-(s=(e-d)/2/e))}s=2*s-1,o=2*o-1,n=1-2*n,l=1-2*l;var f=new Float32Array([o,n,s,n,o,l,s,l,1,1,-1,1,1,-1,-1,-1]);h.bindBuffer(h.ARRAY_BUFFER,this.vertexPosBuffer),h.bufferData(h.ARRAY_BUFFER,f,h.DYNAMIC_DRAW)},c.prototype.updateTextureInfoForMultiView=function(e,t,r,i,a,n,o){var l,h,c,u,d=this.contextGL;if(this.isUseFillMode({width:r.width,height:r.height,rotation:i})){const a=i==this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270?o/n:n/o,s=r.left||0,d=r.top||0;if(r.width/r.height>a){const i=r.height*a;l=d/t,h=(Math.round((r.width-i)/2)+s)/e,c=l+(r.height-1)/t,u=h+i/e}else{const i=r.width/a;c=(l=(Math.round((r.height-i)/2)+d)/t)+(i-1)/t,u=(h=s/e)+r.width/e}}else l=Object(s.e)(r.top/t,2),h=Object(s.e)(r.left/e,2),c=Object(s.h)((r.top+r.height-1)/t,2),u=Object(s.h)((r.width-1+r.left)/e,2);var f=[h,l,u,l,u,c,h,c];i==this.ROTATION_CLOCK90&&(f.unshift(f[6],f[7]),f=f.slice(0,8)),i==this.ROTATION_CLOCK180&&(f.unshift(f[4],f[5],f[6],f[7]),f=f.slice(0,8)),i==this.ROTATION_CLOCK270&&(f.push(f[0],f[1]),f=f.slice(2,10));var p=f[0],g=f[1];if(f[0]=f[2],f[1]=f[3],f[2]=p,f[3]=g,a)if(i==this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270){let e=f[1];f[1]=f[3],f[3]=e,e=f[5],f[5]=f[7],f[7]=e}else f[0]=1-f[0],f[2]=1-f[2],f[4]=1-f[4],f[6]=1-f[6];var m=new Float32Array([...f,1,0,0,0,1,1,0,1]);d.bindBuffer(d.ARRAY_BUFFER,this.texturePosBuffer),d.bufferData(d.ARRAY_BUFFER,m,d.DYNAMIC_DRAW)},c.prototype.drawNextOutputPictureFrame=function(e,t,r,a,s){let n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var h=this.contextGL,c=(this.texturePosBuffer,this.yTextureRef),f=this.uTextureRef,p=this.vTextureRef;h.enable(h.BLEND),h.blendFunc(h.SRC_ALPHA,h.ONE_MINUS_SRC_ALPHA),s=s||this.ROTATION_CLOCK0;var g=(r=r||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||r.height!=this.croppingParams.height,m=r.top!=this.croppingParams.top||r.left!=this.croppingParams.left,v=h.canvas.width!=this.canvasWidth||h.canvas.height!=this.canvasHeight,b=e!=this.textureWidth||t!=this.textureHeight,_=s!=this.picRotation;(g||v||_)&&u(this,r.width,r.height,s,o),(g||m||b||_)&&d(this,e,t,r,s);let y=n?0:1;y!=this.colorRange&&(h.uniform1i(this.colorRangeRef,y),this.colorRange=y),o?h.viewport(o.x,o.y,o.width,o.height):h.viewport(0,0,h.canvas.width,h.canvas.height),h.uniform1i(this.onlyRGBARef,0),h.uniform1i(this.yuvmodeRef,i.V),Object.assign(this.croppingParams,r),this.textureWidth=e,this.textureHeight=t,this.picRotation=s,this.canvasWidth=h.canvas.width,this.canvasHeight=h.canvas.height,h.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),h.clear(h.COLOR_BUFFER_BIT);var w=a,T=e*t;if(h.activeTexture(h.TEXTURE0),h.bindTexture(h.TEXTURE_2D,c),l){var x=w.subarray(0,T);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e,t,0,h.LUMINANCE,h.UNSIGNED_BYTE,x)}var R=e/2*t/2;if(h.activeTexture(h.TEXTURE1),h.bindTexture(h.TEXTURE_2D,f),l){var E=w.subarray(T,T+R);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e/2,t/2,0,h.LUMINANCE,h.UNSIGNED_BYTE,E)}var S=R;if(h.activeTexture(h.TEXTURE2),h.bindTexture(h.TEXTURE_2D,p),l){var M=w.subarray(T+R,T+R+S);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e/2,t/2,0,h.LUMINANCE,h.UNSIGNED_BYTE,M)}h.activeTexture(h.TEXTURE3),h.bindTexture(h.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?h.uniform1i(this.cursorFlagRef,1):l&&h.texImage2D(h.TEXTURE_2D,0,h.RGBA,1,1,0,h.RGBA,h.UNSIGNED_BYTE,this.dummpyCursor),h.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),h.activeTexture(h.TEXTURE5),h.bindTexture(h.TEXTURE_2D,this.previewVideoTextureRef),h.texImage2D(h.TEXTURE_2D,0,h.RGBA,1,1,0,h.RGBA,h.UNSIGNED_BYTE,this.dummpyWaterMark);var C=h.getUniformLocation(this.shaderProgram,"maskSampler");h.uniform1i(C,5),this.render(),this.hasWholeFrame=1},c.prototype.updateTextureBlock=function(e,t,r,i,a){if(this.isAvaiable()){var s=this.contextGL,n=a;if(!(!this.hasWholeFrame||e<=0||t<=0||r<0||i<0||r+e>this.textureWidth||i+t>this.textureHeight)&&a&&a.length==e*t*3/2){var o=this.yTextureRef,l=this.uTextureRef,h=this.vTextureRef,c=e*t,u=n.subarray(0,c);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.texSubImage2D(s.TEXTURE_2D,0,r,i,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,u);var d=e/2*t/2,f=n.subarray(c,c+d);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,l),s.texSubImage2D(s.TEXTURE_2D,0,r/2,i/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=d,g=n.subarray(c+d,c+d+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,h),s.texSubImage2D(s.TEXTURE_2D,0,r/2,i/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,g)}}},c.prototype.updateCursor=function(e,t,r){if(this.isAvaiable()){var i=this.contextGL;e<=0||t<=0||!r||r.length!=e*t*4||(i.activeTexture(i.TEXTURE3),i.bindTexture(i.TEXTURE_2D,this.cursorTextureRef),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,r),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},c.prototype.updateWatermark=function(e,t,r){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!r||r.length!=e*t*4||(this.watermarkData=r,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},c.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},c.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},c.prototype.drawCursor=function(e,t,r,i,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(i<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var n=this.yTextureRef,o=this.uTextureRef,l=this.vTextureRef,h=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,l),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,h),e&&this.hasCursor){let e=t/this.croppingParams.width,n=r/this.croppingParams.height,o=i/this.croppingParams.width,l=a/this.croppingParams.height;this.cx=e,this.cy=n,this.cw=o,this.ch=l,s.uniform4f(this.cursorInfoRef,e,n,o,l)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},c.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},c.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},c.prototype.drawNextOuptutPictureRGBA=function(e,t,r,i){if(this.isAvaiable()){var a=i,s=this.canvasElement.getContext("2d"),n=s.getImageData(0,0,e,t);n.data.set(a),s.putImageData(n,0,0)}},c.prototype.isRGBAMode=function(e){return-1!==[i.ab,i.N].indexOf(e)},c.prototype.updateRemoteVideoTextures=function(e,t,r,a,s){let n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var l=this.contextGL,h=this.yTextureRef,c=this.uTextureRef,u=this.vTextureRef;l.enable(l.BLEND),l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);const d=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!a||!a.length||a.length!=e*t*3/2&&!d||r&&(r.top<0||r.left<0||r.left+r.width>e||r.top+r.height>t))return!1;let f=n?0:1;if(this.colorRange=f,this.rotation=s,Object.assign(this.croppingParams,r),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=l.canvas.width,this.canvasHeight=l.canvas.height,!o)return;if(l.bindTexture(l.TEXTURE_2D,h),d)return void l.texImage2D(l.TEXTURE_2D,0,l.RGBA,e,t,0,l.RGBA,l.UNSIGNED_BYTE,a);var p=a,g=e*t,m=p.subarray(0,g);l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e,t,0,l.LUMINANCE,l.UNSIGNED_BYTE,m);let v=0,b=0;this.videoMode==i.V?(v=e/2*t/2,b=v):this.videoMode==i.Z&&(v=e*t/2,b=0);var _=p.subarray(g,g+v);if(l.bindTexture(l.TEXTURE_2D,c),b){l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e/2,t/2,0,l.LUMINANCE,l.UNSIGNED_BYTE,_);var y=p.subarray(g+v,g+v+b);l.bindTexture(l.TEXTURE_2D,u),l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e/2,t/2,0,l.LUMINANCE,l.UNSIGNED_BYTE,y)}else l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE_ALPHA,e/2,t/2,0,l.LUMINANCE_ALPHA,l.UNSIGNED_BYTE,_);return!0},c.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,r,i,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!r)return;if(!this.isAvaiable())return;var n=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,i),!s)return;n.bindTexture(n.TEXTURE_2D,this.yTextureRef);const o=0,l=n.RGBA,h=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,o,l,h,c,r)},c.prototype.updateSelfMaskImage=function(e,t,r){if(!(e<=0||t<=0)&&r&&r.length==e*t*4&&this.isAvaiable()){var i=this.contextGL;i.bindTexture(i.TEXTURE_2D,this.maskTextureRef),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,r)}},c.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},c.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var r=this.contextGL;let i=this.isRGBAMode(this.videoMode)?1:0;r.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(i,this.hasCursor,this.videoMode),this.initmask&&r.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),r.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),this.render()},c.prototype.readPixelsSyncRequest=function(e,t,r,i){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==r*i*4||(this.destination=new Uint8Array(r*i*4)),a=this.destination,s.flush(),s.readPixels(e,t,r,i,s.RGBA,s.UNSIGNED_BYTE,a),a}},c.prototype.updateSelfVideoTextures=function(e,t,r,i){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&r&&r.length%4==0&&this.isAvaiable()){var n=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,i),a&&(n.bindTexture(n.TEXTURE_2D,this.yTextureRef),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,r))}},c.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var a=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,r,e.width,e.height),a.viewport(e.x,e.y,e.width,e.height),t?(a.enable(a.BLEND),a.blendFunc(a.ZERO,a.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(i.ab),this.render()}},c.prototype.isSetWatermark=function(){return this.hasWaterMark},c.prototype.recoverTextures=function(){},c.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},c.prototype.setUniformFlag=function(e,t,r){if(this.isAvaiable()){var a=this.contextGL;a.uniform1i(this.onlyRGBARef,e),a.uniform1i(this.bgraModeRef,e&&r===i.N?1:0),a.uniform1i(this.cursorFlagRef,t),e||a.uniform1i(this.yuvmodeRef,r)}},c.prototype.setVideoMode=function(e){this.videoMode=e},c.prototype.getVideoMode=function(e){return this.videoMode},c.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},c.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},c.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},c.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},c.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},c.prototype.getWatermarkPosition=function(){return this.watermarkPosition},c.prototype.setMultiView=function(e){return this.isMultiView=e},c.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},c.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},c.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},c.prototype.getFillMode=function(){return this.fillMode},c.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},c.prototype.getTextureIndex=function(){return this.textureindex},c.prototype.getTextureWidth=function(){return this.textureWidth},c.prototype.getTextureHeight=function(){return this.textureHeight},c.prototype.getCroppingParams=function(){return this.croppingParams},c.prototype.getIndex=function(){return this.textureindex},c.prototype.getWatermarkWidth=function(){return this.watermarkWidth},c.prototype.getWatermarkHeight=function(){return this.watermarkHeight},c.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},c.prototype.getAttachedCanvas=function(){return this.canvasElement},c.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},c.prototype.isUseFillMode=function(e){let{width:t,height:r,rotation:i}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!r)return!1;const a=i===this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270?r/t:t/r;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)},t.a=c},function(e,t,r){"use strict";var i=r(4),a=r(3),s=r(9),n=r(19);let o=new Map,l=[];function h(e){e.preventDefault()}function c(e,t,r,a,s,n,o){let l=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=s,this.textureindex=r||0,this.texturestride=this.textureindex?3:o?4:6,this.initmask=o||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=l,c.prototype.ROTATION_CLOCK0=0,c.prototype.ROTATION_CLOCK90=1,c.prototype.ROTATION_CLOCK180=2,c.prototype.ROTATION_CLOCK270=3,this.webGLResources=n,n||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(n);var h=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(h),this.dummpyWaterMark=new Uint8Array(h),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=i.W,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function u(e,t,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let n=s.canvas.width,o=s.canvas.height;a&&(n=a.width,o=a.height);var l,h,c,u,d=i==e.ROTATION_CLOCK90||i==e.ROTATION_CLOCK270?r:t,f=i==e.ROTATION_CLOCK90||i==e.ROTATION_CLOCK270?t:r,p=d/f*o,g=f/d*n;p>n?(l=0,c=1,u=1-(h=(o-g)/2/o)):(h=0,u=1,c=1-(l=(n-p)/2/n)),l=2*l-1,c=2*c-1,h=1-2*h,u=1-2*u;var m=new Float32Array([c,h,l,h,c,u,l,u,c,h,l,h,c,u,l,u]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function d(e,t,r,i,a){var s=e.contextGL,n=i.top/r,o=i.left/t,l=n+(i.height-1)/r,h=o+i.width/t,c=[o,n,h,n,h,l,o,l];a==e.ROTATION_CLOCK90&&(c.unshift(c[6],c[7]),c=c.slice(0,8)),a==e.ROTATION_CLOCK180&&(c.unshift(c[4],c[5],c[6],c[7]),c=c.slice(0,8)),a==e.ROTATION_CLOCK270&&(c.push(c[0],c[1]),c=c.slice(2));var u=c[0],d=c[1];c[0]=c[2],c[1]=c[3],c[2]=u,c[3]=d;var f=new Float32Array([...c,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}c.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},c.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(a.r)(this.contextGL,"WEBGL_lose_context"))},c.prototype.restoreContext=function(){if(this.contextGL)try{var e;null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost()&&(this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(a.p)("WebGL2RestoreTimeout")},1500),this.canvasElement.loseContextExtension.restoreContext())}catch(e){Object(a.i)("webgl restoreContext exception2",e)}},c.prototype.webgGLContextLostCallback=function(e){Object(a.t)("webglcontextlost2 event: canvas listener size=".concat(l.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(l.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},c.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const r=l.indexOf(this.canvasID);l.splice(r,1),o.delete(e)}},c.prototype.webGLContextRestoredCallback=function(e){Object(a.t)("webglcontextrestored2 event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},c.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(a.r)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=o.get(e);t&&this.removeEventListener(e,t),o.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===l.indexOf(this.canvasID)&&(l.push(this.canvasID),l.length>4&&Object(a.t)("webgl2canvas listener size=".concat(l.length,", ids:").concat(l.join())))},c.prototype.isWebGL2=function(){return this.contextGL},c.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},c.prototype.initContextGL=function(){for(var e,t,r,i=this.canvasElement,s=null,o=["webgl2"],l=0;!s&&l<o.length;){var h=o[l];try{if(n.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};s=i.getContext(h,t)}else s=i.getContext(h,e)}else s=this.contextOptions?i.getContext(h,this.contextOptions):i.getContext(h)}catch(e){s=null}s&&"function"==typeof s.getParameter||(s=null),++l}if(this.contextGL=s,!s||s.isContextLost())return Object(a.i)("Failed when trying to get WebGLContext2 on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(s,", lost=").concat(null===(r=s)||void 0===r?void 0:r.isContextLost())),void Object(a.p)("initWebGL2Fail");s.glInitSucceed=0},c.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"#version 300 es\n in vec4 vertexPos;\n in vec4 texturePos;\n in vec4 masktexturePos;\n out vec2 textureCoord;\n out vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(a.t)("webgl2 Vertex shader failed to compile: "+e.getShaderInfoLog(t));var r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,"#version 300 es\n precision highp float;\n in highp vec2 textureCoord;\n in highp vec2 masktextureCoord;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int maskFlag;\n uniform int yuvmode;\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n \n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n\n out vec4 outputColor;\n \n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n if (yuvmode == 1) {\n u = texture(uSampler, textureCoord).r;\n v = texture(vSampler, textureCoord).r;\n } else {\n u = texture(uSampler, textureCoord).r;\n v = texture(uSampler, textureCoord).a;\n }\n \n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n \n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && textureCoord.x >= cursorInfo.x && textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x+cursorInfo.z && textureCoord.y < cursorInfo.y+cursorInfo.w) {\n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture(cursorSampler, cursorCoord);\n c = c*(1.0-cursor.a) + cursor*cursor.a;\n }\n }\n } else {\n c = texture(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n }\n\n if (waterMarkFlag == 1) {\n c = texture(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture(maskSampler, masktextureCoord);\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask* mask.a+ c*(1.0-mask.a);\n }\n }\n\n if (waterMarkFlag!=1) {\n c.a = 1.0;\n }\n\n outputColor = c;\n }\n "),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)||e.isContextLost()||Object(a.t)("webgl2 Fragment shader failed to compile: "+e.getShaderInfoLog(r));var i=e.createProgram();e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS)||e.isContextLost()||Object(a.t)("webgl2 Program failed to compile: "+e.getProgramInfoLog(i)),e.useProgram(i),this.shaderProgram=i},c.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,r=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var i=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(i),e.vertexAttribPointer(i,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=r;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var n=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,n),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var o=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(o),e.vertexAttribPointer(o,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=n}this.texturePosBuffer=a},c.prototype.initTextures=function(e){var t=this.contextGL,r=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var a=this.initTexture();this.yTextureRef=a,this.oyTextureRef=a;var s=this.initTexture();this.uTextureRef=s,this.ouTextureRef=s;var n=this.initTexture();if(this.vTextureRef=n,this.ovTextureRef=n,e){this.BindTextures(i.V);var o=this.initTexture(),l=t.getUniformLocation(r,"cursorSampler");t.uniform1i(l,this.textureindex*this.texturestride+3),this.cursorTextureRef=o;var h=this.initTexture(),c=t.getUniformLocation(r,"waterMarkSampler");t.uniform1i(c,4),this.waterMarkTextureRef=h;var u=this.initTexture();this.repeatedWaterMarkTextureRef=u;var d=this.initTexture(),f=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=d;var p=t.getUniformLocation(r,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var g=this.initTexture(),m=t.getUniformLocation(r,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=g}var v=t.getUniformLocation(r,"colorRange");this.colorRangeRef=v,this.onlyRGBARef=t.getUniformLocation(r,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(r,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(r,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(r,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(r,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(r,"yuvmode")},c.prototype.BindTextures=function(e){var t=this.contextGL,r=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==i.V){let e=t.getUniformLocation(r,"ySampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"uSampler");t.uniform1i(i,1);let a=t.getUniformLocation(r,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"ySampler");t.uniform1i(i,0);let a=t.getUniformLocation(r,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(r,"vSampler");t.uniform1i(s,0)}else if(e==i.Z){let e=t.getUniformLocation(r,"ySampler");t.uniform1i(e,0);let i=t.getUniformLocation(r,"uSampler");t.uniform1i(i,1);let a=t.getUniformLocation(r,"vSampler");t.uniform1i(a,0)}let a=t.getUniformLocation(r,"previewVideoSampler");t.uniform1i(a,0);let s=t.getUniformLocation(r,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(s,6)):t.uniform1i(s,0);let n=t.getUniformLocation(r,"cursorSampler");t.uniform1i(n,0);let o=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(o,0)},c.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},c.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},c.prototype.cleanup=function(){let e=this.canvasElement,t=o.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=h,e.addEventListener("webglcontextlost",h,{capture:!1})),this.isAvaiable()){var r=this.contextGL;r.deleteProgram(this.program),r.activeTexture(r.TEXTURE0+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE1+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE2+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),this.textureindex||this.initmask||(r.activeTexture(r.TEXTURE3+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE4+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(this.getRepeatedWatermarkTextureValue(r)),r.bindTexture(r.TEXTURE_2D,null),r.activeTexture(r.TEXTURE5+this.textureindex*this.texturestride),r.bindTexture(r.TEXTURE_2D,null)),r.bindBuffer(r.ARRAY_BUFFER,null),r.deleteTexture(this.yTextureRef),r.deleteTexture(this.uTextureRef),r.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(r.deleteTexture(this.cursorTextureRef),r.deleteTexture(this.waterMarkTextureRef),r.deleteTexture(this.repeatedWaterMarkTextureRef),r.deleteTexture(this.previewVideoTextureRef),r.deleteBuffer(this.vertexPosBuffer),r.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&r.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&r.deleteBuffer(this.masktexturePosBuffer),r.glInitSucceed=0}},c.prototype.drawNextOutputPicture=function(e,t,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,r,i,a):this.drawNextOuptutPictureRGBA(e,t,r,i)},c.prototype.updateVertexInfoForMultiView=function(e,t,r,i,a){var s,n,o,l,h=this.contextGL;if(this.isUseFillMode({width:r,height:i,rotation:a}))s=0,n=0,o=1,l=1;else{var c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,u=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,d=c/u*t;d>e?(s=0,o=1,l=1-(n=(t-u/c*e)/2/t)):(n=0,l=1,o=1-(s=(e-d)/2/e))}s=2*s-1,o=2*o-1,n=1-2*n,l=1-2*l;var f=new Float32Array([o,n,s,n,o,l,s,l,1,1,-1,1,1,-1,-1,-1]);h.bindBuffer(h.ARRAY_BUFFER,this.vertexPosBuffer),h.bufferData(h.ARRAY_BUFFER,f,h.DYNAMIC_DRAW)},c.prototype.updateTextureInfoForMultiView=function(e,t,r,i,a,n,o){var l,h,c,u,d=this.contextGL;if(this.isUseFillMode({width:r.width,height:r.height,rotation:i})){const a=i==this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270?o/n:n/o,s=r.left||0,d=r.top||0;if(r.width/r.height>a){const i=r.height*a;l=d/t,h=(Math.round((r.width-i)/2)+s)/e,c=l+(r.height-1)/t,u=h+i/e}else{const i=r.width/a;c=(l=(Math.round((r.height-i)/2)+d)/t)+(i-1)/t,u=(h=s/e)+r.width/e}}else l=Object(s.e)(r.top/t,2),h=Object(s.e)(r.left/e,2),c=Object(s.h)((r.top+r.height-1)/t,2),u=Object(s.h)((r.width-1+r.left)/e,2);var f=[h,l,u,l,u,c,h,c];i==this.ROTATION_CLOCK90&&(f.unshift(f[6],f[7]),f=f.slice(0,8)),i==this.ROTATION_CLOCK180&&(f.unshift(f[4],f[5],f[6],f[7]),f=f.slice(0,8)),i==this.ROTATION_CLOCK270&&(f.push(f[0],f[1]),f=f.slice(2,10));var p=f[0],g=f[1];if(f[0]=f[2],f[1]=f[3],f[2]=p,f[3]=g,a)if(i==this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270){let e=f[1];f[1]=f[3],f[3]=e,e=f[5],f[5]=f[7],f[7]=e}else f[0]=1-f[0],f[2]=1-f[2],f[4]=1-f[4],f[6]=1-f[6];var m=new Float32Array([...f,1,0,0,0,1,1,0,1]);d.bindBuffer(d.ARRAY_BUFFER,this.texturePosBuffer),d.bufferData(d.ARRAY_BUFFER,m,d.DYNAMIC_DRAW)},c.prototype.drawNextOutputPictureFrame=function(e,t,r,a,s){let n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var h=this.contextGL,c=(this.texturePosBuffer,this.yTextureRef),f=this.uTextureRef,p=this.vTextureRef;h.enable(h.BLEND),h.blendFunc(h.SRC_ALPHA,h.ONE_MINUS_SRC_ALPHA),s=s||this.ROTATION_CLOCK0;var g=(r=r||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||r.height!=this.croppingParams.height,m=r.top!=this.croppingParams.top||r.left!=this.croppingParams.left,v=h.canvas.width!=this.canvasWidth||h.canvas.height!=this.canvasHeight,b=e!=this.textureWidth||t!=this.textureHeight,_=s!=this.picRotation;(g||v||_)&&u(this,r.width,r.height,s,o),(g||m||b||_)&&d(this,e,t,r,s);let y=n?0:1;y!=this.colorRange&&(h.uniform1i(this.colorRangeRef,y),this.colorRange=y),o?h.viewport(o.x,o.y,o.width,o.height):h.viewport(0,0,h.canvas.width,h.canvas.height),h.uniform1i(this.onlyRGBARef,0),h.uniform1i(this.yuvmodeRef,i.V),Object.assign(this.croppingParams,r),this.textureWidth=e,this.textureHeight=t,this.picRotation=s,this.canvasWidth=h.canvas.width,this.canvasHeight=h.canvas.height,h.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),h.clear(h.COLOR_BUFFER_BIT);var w=a,T=e*t;if(h.activeTexture(h.TEXTURE0),h.bindTexture(h.TEXTURE_2D,c),l){var x=w.subarray(0,T);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e,t,0,h.LUMINANCE,h.UNSIGNED_BYTE,x)}var R=e/2*t/2;if(h.activeTexture(h.TEXTURE1),h.bindTexture(h.TEXTURE_2D,f),l){var E=w.subarray(T,T+R);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e/2,t/2,0,h.LUMINANCE,h.UNSIGNED_BYTE,E)}var S=R;if(h.activeTexture(h.TEXTURE2),h.bindTexture(h.TEXTURE_2D,p),l){var M=w.subarray(T+R,T+R+S);h.texImage2D(h.TEXTURE_2D,0,h.LUMINANCE,e/2,t/2,0,h.LUMINANCE,h.UNSIGNED_BYTE,M)}h.activeTexture(h.TEXTURE3),h.bindTexture(h.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?h.uniform1i(this.cursorFlagRef,1):l&&h.texImage2D(h.TEXTURE_2D,0,h.RGBA,1,1,0,h.RGBA,h.UNSIGNED_BYTE,this.dummpyCursor),h.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),h.activeTexture(h.TEXTURE5),h.bindTexture(h.TEXTURE_2D,this.previewVideoTextureRef),h.texImage2D(h.TEXTURE_2D,0,h.RGBA,1,1,0,h.RGBA,h.UNSIGNED_BYTE,this.dummpyWaterMark);var C=h.getUniformLocation(this.shaderProgram,"maskSampler");h.uniform1i(C,5),this.render(),this.hasWholeFrame=1},c.prototype.updateTextureBlock=function(e,t,r,i,a){if(this.isAvaiable()){var s=this.contextGL,n=a;if(!(!this.hasWholeFrame||e<=0||t<=0||r<0||i<0||r+e>this.textureWidth||i+t>this.textureHeight)&&a&&a.length==e*t*3/2){var o=this.yTextureRef,l=this.uTextureRef,h=this.vTextureRef,c=e*t,u=n.subarray(0,c);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.texSubImage2D(s.TEXTURE_2D,0,r,i,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,u);var d=e/2*t/2,f=n.subarray(c,c+d);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,l),s.texSubImage2D(s.TEXTURE_2D,0,r/2,i/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=d,g=n.subarray(c+d,c+d+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,h),s.texSubImage2D(s.TEXTURE_2D,0,r/2,i/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,g)}}},c.prototype.updateCursor=function(e,t,r){if(this.isAvaiable()){var i=this.contextGL;e<=0||t<=0||!r||r.length!=e*t*4||(i.activeTexture(i.TEXTURE3),i.bindTexture(i.TEXTURE_2D,this.cursorTextureRef),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,r),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},c.prototype.updateWatermark=function(e,t,r){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!r||r.length!=e*t*4||(this.watermarkData=r,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},c.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},c.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},c.prototype.drawCursor=function(e,t,r,i,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(i<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var n=this.yTextureRef,o=this.uTextureRef,l=this.vTextureRef,h=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,l),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,h),e&&this.hasCursor){let e=t/this.croppingParams.width,n=r/this.croppingParams.height,o=i/this.croppingParams.width,l=a/this.croppingParams.height;this.cx=e,this.cy=n,this.cw=o,this.ch=l,s.uniform4f(this.cursorInfoRef,e,n,o,l)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},c.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},c.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},c.prototype.drawNextOuptutPictureRGBA=function(e,t,r,i){if(this.isAvaiable()){var a=i,s=this.canvasElement.getContext("2d"),n=s.getImageData(0,0,e,t);n.data.set(a),s.putImageData(n,0,0)}},c.prototype.isRGBAMode=function(e){return-1!==[i.ab,i.N].indexOf(e)},c.prototype.updateRemoteVideoTextures=function(e,t,r,a,s){let n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var l=this.contextGL,h=this.yTextureRef,c=this.uTextureRef,u=this.vTextureRef;l.enable(l.BLEND),l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA);const d=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!a||!a.length||a.length!=e*t*3/2&&!d||r&&(r.top<0||r.left<0||r.left+r.width>e||r.top+r.height>t))return!1;let f=n?0:1;if(this.colorRange=f,this.rotation=s,Object.assign(this.croppingParams,r),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=l.canvas.width,this.canvasHeight=l.canvas.height,!o)return;if(l.bindTexture(l.TEXTURE_2D,h),d)return void l.texImage2D(l.TEXTURE_2D,0,l.RGBA,e,t,0,l.RGBA,l.UNSIGNED_BYTE,a);var p=a,g=e*t,m=p.subarray(0,g);l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e,t,0,l.LUMINANCE,l.UNSIGNED_BYTE,m);let v=0,b=0;this.videoMode==i.V?(v=e/2*t/2,b=v):this.videoMode==i.Z&&(v=e*t/2,b=0);var _=p.subarray(g,g+v);if(l.bindTexture(l.TEXTURE_2D,c),b){l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e/2,t/2,0,l.LUMINANCE,l.UNSIGNED_BYTE,_);var y=p.subarray(g+v,g+v+b);l.bindTexture(l.TEXTURE_2D,u),l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE,e/2,t/2,0,l.LUMINANCE,l.UNSIGNED_BYTE,y)}else l.texImage2D(l.TEXTURE_2D,0,l.LUMINANCE_ALPHA,e/2,t/2,0,l.LUMINANCE_ALPHA,l.UNSIGNED_BYTE,_);return!0},c.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,r,i,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!r)return;if(!this.isAvaiable())return;var n=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,i),!s)return;n.bindTexture(n.TEXTURE_2D,this.yTextureRef);const o=0,l=n.RGBA,h=n.RGBA,c=n.UNSIGNED_BYTE;n.texImage2D(n.TEXTURE_2D,o,l,h,c,r)},c.prototype.updateSelfMaskImage=function(e,t,r){if(!(e<=0||t<=0)&&r&&r.length==e*t*4&&this.isAvaiable()){var i=this.contextGL;i.bindTexture(i.TEXTURE_2D,this.maskTextureRef),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,r)}},c.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},c.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var r=this.contextGL;let i=this.isRGBAMode(this.videoMode)?1:0;r.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(i,this.hasCursor,this.videoMode),this.initmask&&r.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),r.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),this.render()},c.prototype.readPixelsSyncRequest=function(e,t,r,i){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==r*i*4||(this.destination=new Uint8Array(r*i*4)),a=this.destination,s.flush(),s.readPixels(e,t,r,i,s.RGBA,s.UNSIGNED_BYTE,a),a}},c.prototype.updateSelfVideoTextures=function(e,t,r,i){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&r&&r.length%4==0&&this.isAvaiable()){var n=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,i),a&&(n.bindTexture(n.TEXTURE_2D,this.yTextureRef),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,r))}},c.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var a=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,r,e.width,e.height),a.viewport(e.x,e.y,e.width,e.height),t?(a.enable(a.BLEND),a.blendFunc(a.ZERO,a.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(i.ab),this.render()}},c.prototype.isSetWatermark=function(){return this.hasWaterMark},c.prototype.recoverTextures=function(){},c.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},c.prototype.setUniformFlag=function(e,t,r){if(this.isAvaiable()){var a=this.contextGL;a.uniform1i(this.onlyRGBARef,e),a.uniform1i(this.bgraModeRef,e&&r===i.N?1:0),a.uniform1i(this.cursorFlagRef,t),e||a.uniform1i(this.yuvmodeRef,r)}},c.prototype.setVideoMode=function(e){this.videoMode=e},c.prototype.getVideoMode=function(e){return this.videoMode},c.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},c.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},c.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},c.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},c.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},c.prototype.getWatermarkPosition=function(){return this.watermarkPosition},c.prototype.setMultiView=function(e){return this.isMultiView=e},c.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},c.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},c.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},c.prototype.getFillMode=function(){return this.fillMode},c.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},c.prototype.getTextureIndex=function(){return this.textureindex},c.prototype.getIndex=function(){return this.textureindex},c.prototype.getWatermarkWidth=function(){return this.watermarkWidth},c.prototype.getWatermarkHeight=function(){return this.watermarkHeight},c.prototype.getTextureWidth=function(){return this.textureWidth},c.prototype.getTextureHeight=function(){return this.textureHeight},c.prototype.getCroppingParams=function(){return this.croppingParams},c.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},c.prototype.getAttachedCanvas=function(){return this.canvasElement},c.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},c.prototype.isUseFillMode=function(e){let{width:t,height:r,rotation:i}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!r)return!1;const a=i===this.ROTATION_CLOCK90||i==this.ROTATION_CLOCK270?r/t:t/r;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)},t.a=c},function(e,t,r){"use strict";var i=r(7),a=r.n(i),s=r(14);function n(e){let t=e||{};this._samples=[],this._interval_id=0,this._lasted_update_time=0,this._lasted_group_time=0,this._enable=!1,this._interval_time=t.interval||3e4,this._customer_callback=t.report_call,this._tag=t.tag||"netreport",this._group_interval=t.group_interval||1e3,this._enable_advanced=t.advanced||!1,this._current_count=0,this._qos_report=new s.b({tag:"jitter",interval:3e4,reportcallback:this._qos_report_timeout.bind(this)}),this._qos_report_samples=[],this._cureen_qos_report=0}n.prototype._qos_report_timeout=function(e,t,r,i){if(this._customer_callback){let a="".concat(e,",").concat(t,",").concat(r,",").concat(i);this._customer_callback(this._tag+"TimeOut",a)}},n.prototype._report=function(){let e=(new Date).getTime(),t="".concat(e,"-").concat(this._samples.length,"-").concat(this._samples),r="".concat(e,"-").concat(this._qos_report_samples.length,"-").concat(this._qos_report_samples);t=t.replaceAll(",","|"),r=r.replaceAll(",","|"),this._customer_callback?(this._customer_callback(this._tag,t),this._enable_advanced&&this._customer_callback(this._tag+"QOS",r)):console.error("tag:".concat(this._tag,",").concat(t))},n.prototype._group=function(){let e=performance.now();if(e>=this._lasted_group_time+1700){let t=Math.round((e-this._lasted_group_time)/1e3)-1;for(let e=0;e<t;e++)this._samples.push(-1)}this._lasted_group_time=e,this._samples.push(this._current_count),this._qos_report_samples.push(this._cureen_qos_report),this._cureen_qos_report=0,this._current_count=0,e>=this._lasted_update_time+this._interval_time&&(this._lasted_update_time=e,this._report(),this._samples=[],this._qos_report_samples=[])},n.prototype.start=function(){this._enable||(this._lasted_update_time=performance.now(),this._lasted_group_time=this._lasted_update_time,this._samples=[],this._current_count=0,this._qos_report_samples=[],this._cureen_qos_report=0,this._interval_id=setInterval(this._group.bind(this),this._group_interval),this._enable=!0)},n.prototype.stop=function(){this._enable&&(clearInterval(this._interval_id),this._interval_id=0,this._enable=!1)},n.prototype.sample=function(e){if(this._enable&&(this._current_count++,this._enable_advanced)){if(s.c.IsQosReport(e))return void this._cureen_qos_report++;if(s.c.IsVideoPkg(e)){let t=s.c.GetQOSTime(e),r=performance.now();if(this._lasted_qos_ts){let e=r-this._lasted_sys_ts-(t-this._lasted_qos_ts);e>30&&this._qos_report.timeoutReport(e,r)}this._lasted_qos_ts=t,this._lasted_sys_ts=r,this._lasted_data=e}}};var o=r(8),l=r(12),h=r(5);r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return u}));class c{constructor(e,t){this.type=e,this.transportlists=[],this.transfered=!!t,this.onmessage=()=>{}}send(){}isReady(){return!1}}class u{constructor(e,t,r,i){this.id=e,this.type=t,this.datachannel=r,this._recv_statistic=null,this.onmessageFn=null,this.disconnectedFn=null,this.connectedFn=null,this._status=u.UNINIT,this.target_thread=i,this.transfered=!1,this._listener=null,this.transportlists=[],this._send_statistic=null,this.report_monitor_func=()=>{}}isReady(){return this._status===u.CONNECTED}send(e){this.datachannel.send(e),this._send_statistic.sample(!1)}open(){if(this.target_thread)try{return this.target_thread.postMessage({command:o.h,id:this.id,type:this.type,channel:this.datachannel,transportlists:this.transportlists},[this.datachannel]),this.transfered=!0,this.datachannel=null,this._listener=this._mesagelistener.bind(this),void this.target_thread.addEventListener("message",this._listener)}catch(e){this.target_thread=null}this._addEventListener()}close(){let e=this.disconnectedFn;this.transfered&&this.target_thread&&this._listener&&(this.target_thread.removeEventListener("message",this._listener),this._listener=null,this.target_thread.postMessage({command:o.a,id:this.id,type:this.type})),this._status!=u.DISCONNECT&&this._clear(),this._status=u.DISCONNECT,null==e||e()}onmessage(e){this.onmessageFn=e}onopen(e){this.connectedFn=e}onclose(e){this.disconnectedFn=e}onerror(e){this.errorFn=e}_addEventListener(){this.datachannel.onmessage=this._onmessage.bind(this),this.datachannel.onopen=this._onopen.bind(this),this.datachannel.onclose=this._onclose.bind(this),this.datachannel.onclosing=this._onclose.bind(this),this.datachannel.onerror=this._onerror.bind(this),"open"==this.datachannel.readyState&&this._status==u.UNINIT&&this._onopen()}_onmessage(e){this._recv_statistic.sample(!1),this.onmessageFn(e)}_onopen(e){let t=this._status;var r;(this._status=u.CONNECTED,this.transfered||(this._send_statistic||(this._send_statistic=new n({tag:this.type==l.a.VIDEO?"VDCS":"ADCS",report_call:this.report_monitor_func})),this._recv_statistic||(this._recv_statistic=new n({tag:this.type==l.a.VIDEO?"VDCR":"ADCR",report_call:this.report_monitor_func})),this._send_statistic.start(),this._recv_statistic.start()),t!=u.CONNECTED)&&(null===(r=this.connectedFn)||void 0===r||r.call(this))}_onerror(e){var t;null===(t=this.errorFn)||void 0===t||t.call(this,e),this._onclose(e)}_onclose(e){let t=this._status;this._status=u.DISCONNECT;let r=this.disconnectedFn;this._clear(),t!=u.DISCONNECT&&(null==r||r())}_clear(){var e,t;!this.transfered&&this.datachannel&&(this.datachannel.onmessage=null,this.datachannel.onopen=null,this.datachannel.onclose=null,this.datachannel.onclosing=null,this.datachannel.onerror=null),this.onmessageFn=null,this.connectedFn=null,this.disconnectedFn=null,this.errorFn=null;let r=this.datachannel;this.datachannel=null,null===(e=this._send_statistic)||void 0===e||e.stop(),null===(t=this._recv_statistic)||void 0===t||t.stop(),null==r||r.close()}_mesagelistener(e){let t=e.data;if(t&&t.id==this.id)switch(t.cmd){case h.A:this._onclose();break;case h.C:this._onopen();break;case h.B:this._onerror(t.ev);break;case h.H:this.report_monitor_func(t.tag,t.data)}}}a()(u,"UNINIT",0),a()(u,"CONNECTED",1),a()(u,"DISCONNECT",2)},function(e,t,r){"use strict";r.d(t,"d",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"c",(function(){return h})),r.d(t,"e",(function(){return c})),r.d(t,"a",(function(){return u}));var i=r(12),a=r(6),s=r(13);function n(e){return new a.a({sock:new a.d,type:e,local:!1})}function o(e){try{const t="undefined"!=typeof DedicatedWorkerGlobalScope;if(a.a.dataTransportMgr)return;let r=new s.a({type:t?s.a.THREAD_SUB:s.a.THREAD_MAIN,remote:t?self:null});a.a.dataTransportMgr=r,r.monitorlogfn=e,t&&self.addEventListener("message",r._onrecvmainthreadlistener.bind(r))}catch(e){console.error("<<<< InitDataTransportModule",e)}}function l(e){return a.a.dataTransportMgr.getTransportByType(e)}function h(e){if(!a.a.dataTransportMgr)throw new Error("not InitDataTransportModule");a.a.dataTransportMgr.addDataChannel(e)}function c(e){if(!a.a.dataTransportMgr)throw new Error("not InitDataTransportModule");a.a.dataTransportMgr.removeDataChannel(e)}class u{constructor(){this._listener=this._listenerfn.bind(this),this.isSupportVideoShare=!1}addTransportListiner(){var e;e=this._listener,a.a.dataTransportMgr.addTransportListChangeListener(e)}remoteTransportListener(){var e;e=this._listener,a.a.dataTransportMgr.addTransportListChangeListener(e)}_listenerfn(e,t,r){this.connectSession(t)}setVideoShareModel(e){this.isSupportVideoShare=e}connectSession(e){const{type:t}=e;!e.transfered&&e.isReady()&&(t==i.a.VIDEO&&this.connectVideoSession(e),t==i.a.AUDIO&&this.connectAudioSession(e))}disconnectSession(e){const{type:t}=e;e.transfered||(t==i.a.VIDEO&&this.connectVideoSession(e),t==i.a.AUDIO&&this.connectAudioSession(e))}connectVideoSession(e){let t=new a.c,r=l(a.e.VIDEO_ENCODE)||t,i=l(a.e.VIDEO_DECODE)||t,s=l(a.e.SHARR_DECODE)||t,n=(null==e?void 0:e.isReady())?a.b.OPEN:a.b.CLOSED;r.setStatus(n),i.setStatus(n),this.isSupportVideoShare||s.setStatus(n),e.onmessage(e=>{var t=new Uint8Array(e.data);if((104==t[0]||132==t[0])&&0==t[1]||20==t[0]||130==t[0])r.send(t);else{if(!this.isSupportVideoShare&&(133==t[0]||132==t[0]))return void s.send(t);i.send(t)}});const o=t=>{e.send(t)};r.onmessage=o,i.onmessage=o,s.onmessage=o}connectAudioSession(e){let t=new a.c,r=l(a.e.AUDIO_ENCODE)||t,i=l(a.e.AUDIO_DECODE)||t,s=e.isReady()?a.b.OPEN:a.b.CLOSED;r.setStatus(s),i.setStatus(s),e.onmessage(e=>{var t=new Uint8Array(e.data);108==t[0]&&0==t[1]?r.send(t):i.send(t)});const n=t=>{e.send(t)};r.onmessage=n,i.onmessage=n}notifyTransportStatus(e,t){}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessorManager=void 0;const i=r(38);class a{static hasProcessor(){return this.videoProcessorAgentMap.size>0}static hasMediaStreamFrameProcessor(){return[...this.videoProcessorAgentMap.values()].some(e=>e instanceof i.MediaStreamVideoProcessorAgent)}static addFrameCallback(e,t){this.frameCallbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addFrameCallback(t)}static addCallback(e,t){this.callbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addCallback(t)}static onFrame(e){for(const t of this.videoProcessorAgentMap.values())t.onFrame(e)}static getStream(){return[...this.videoProcessorAgentMap.values()].pop().getStream()}static setStream(e){for(const t of this.videoProcessorAgentMap.values())t.setStream(e)}static removeStream(){for(const e of this.videoProcessorAgentMap.values())e.removeStream()}static getProcessor(e){return this.videoProcessorAgentMap.get(e)}static startProcessor(e,t){t.init();const r=this.frameCallbackMap.get(e);r&&t.addFrameCallback(r);const i=this.callbackMap.get(e);i&&t.addCallback(i),this.videoProcessorAgentMap.set(e,t)}static stopProcessor(e){const t=this.getProcessor(e);t&&(t.removeFrameCallback(),t.removeCallback(),this.frameCallbackMap.delete(e),this.callbackMap.delete(e),t.removeStream(),t.uninit()),this.videoProcessorAgentMap.delete(e)}static resetProcessorManager(){for(const e of this.videoProcessorAgentMap.keys())this.stopProcessor(e)}}t.ProcessorManager=a,a.videoProcessorAgentMap=new Map,a.frameCallbackMap=new Map,a.callbackMap=new Map},function(e,t){function r(t){return e.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,r(t)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var i=r(7),a=r.n(i),s=r(5);function n(e){o.instance||(o.instance=new o),o.instance.start(e)}class o{constructor(){this._interval=-1,this.monitorworkers={},this._lasted_timestamp=-1,this.timeoutcallbackfn=(e,t)=>{}}setTimeoutCallback(e){this.timeoutcallbackfn=e}registerWorker(e,t){if(e in this.monitorworkers){let t=this.monitorworkers[e];t.worker.removeEventListener("message",t.listener),delete this.monitorworkers[e]}let r={id:e,worker:t},i=this._recvheartbeat.bind(this,r);r.listener=i,r.lastedtimestamp=Date.now(),r.worker.addEventListener("message",r.listener),this.monitorworkers[e]=r}unRegisterWorker(e){if(!(e in this.monitorworkers))return;let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}_recvheartbeat(e,t){let r=t.data;r.cmd===s.Db&&(e.lastedtimestamp=r.timestamp)}start(e){const t="undefined"!=typeof DedicatedWorkerGlobalScope&&e&&e instanceof DedicatedWorkerGlobalScope;if(-1!=this._interval)return;if(t)return void(this._interval=setInterval(()=>{e.postMessage({cmd:s.Db,timestamp:Date.now()})},o.INTREVAL_TIME_MS));const r=Math.max(o.INTREVAL_TIME_MS-1e3,500);this._lasted_timestamp=Date.now(),this._interval=setInterval(()=>{let e=o.instance,t=Object.keys(e.monitorworkers),i=Date.now(),a=this._lasted_timestamp;i<a+r||(this._lasted_timestamp=i,i>a+o.HEART_TIMEOUT_MS?e.timeoutcallbackfn("MAIN",i-a):t.forEach(t=>{var r;let a=e.monitorworkers[t],s=a.lastedtimestamp+(null!==(r=document)&&void 0!==r&&r.hidden?o.MAX_HEART_TIMEOUT_MS:o.HEART_TIMEOUT_MS);i>s&&(e.timeoutcallbackfn(a.id,i-a.lastedtimestamp),a.lastedtimestamp=i)}))},o.INTREVAL_TIME_MS)}close(){try{Object.keys(this.monitorworkers).forEach(e=>{let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}),this._interval&&clearInterval(this._interval),this._interval=-1}catch(e){}}}a()(o,"INTREVAL_TIME_MS",3e3),a()(o,"HEART_TIMEOUT_MS",15e3),a()(o,"MAX_HEART_TIMEOUT_MS",3e4),a()(o,"instance",null)},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));class i{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.checkInterval=0,this.hasRTPPackets=!1,this.callBackEvent=e,this.subforme=!1,this.lastsubformetime=0,this.videoType=t,this.paused=!1}startCheck(){this.checkInterval&&(clearInterval(this.checkInterval),this.hasRTPPackets=!1,this.subforme=!1,this.paused=!1),this.checkInterval=setInterval(()=>{if((this.videoType&&this.subforme||!this.videoType)&&!this.hasRTPPackets&&!this.paused){performance.now()-this.lastsubformetime>2e4&&postMessage({status:this.callBackEvent,videoType:this.videoType,subforme:this.subforme,hasRTPPackets:this.hasRTPPackets})}this.hasRTPPackets=!1},3e4)}stopCheck(){this.checkInterval&&clearInterval(this.checkInterval),this.checkSharingInterval=0,this.subforme=!1,this.paused=!1}setRtpPackets(){this.hasRTPPackets=!0}setSubForMe(e){let t=e>=0;this.subforme!==t&&(this.subforme=t,this.lastsubformetime=performance.now())}setPaused(e){e||(this.lastsubformetime=performance.now()),this.paused=e,this.hasRTPPackets=!1}}},function(e,t,r){"use strict";r.d(t,"b",(function(){return o})),r.d(t,"a",(function(){return u}));var i=r(11);function a(){this.ssrcQueueMap=new Map,a.prototype.AddQueue=function(e){var t=new i.a;return this.ssrcQueueMap.set(e,t),t},a.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},a.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},a.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},a.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},a.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return null!==t?t.getLength():0}}var s=function(){this.frames=0,this.ntp=new i.a};s.prototype={UpdateVideoInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetVideoFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,r=0,i=0,a=0,s=0;s<e;s++){var n=this.ntp.dequeue();0==n&&0==i?r++:0!=n?(a=0,0==i&&(i=n),t=n):0!=i&&t!=i&&0==n&&a++}return 0==t||t==i?0:e-r-a-1!=0?(t-i)/(e-r-a-1):0}}};var n=function(){this.ssrcInfoMap=new Map};function o(){this.ssrcQueueMap=new Map,this.ssrcInfo=new n,o.prototype.AddQueue=function(e){var t=new i.a;return this.ssrcQueueMap.set(e,t),t},o.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},o.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},o.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},o.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},o.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},o.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},o.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},o.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}n.prototype={UpdateSSRCInfo:function(e,t){var r=this.ssrcInfoMap.get(e);r||(r=new s,this.ssrcInfoMap.set(e,r)),r.UpdateVideoInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetVideoFpsInfo():0}};!function(){function e(e){let{sessionid:t}=e;this.map=new Map,this.AudioQueueMGR=new a,this.timemap=new Map,this.sessionid=t||0}e.prototype.Add=function(e,t){this.map.set(e,t),this.AudioQueueMGR.AddQueue(e)},e.prototype.Clear=function(){this.map.clear()},e.prototype.Keys=function(){return this.map.keys()},e.prototype.UpdateSSRCTimeMap=function(e){this.timemap=e},e.prototype.GetSSRCTimeMap=function(e){return this.timemap?this.timemap.get(e):null}}();function l(e){let{sessionid:t}=e;this.sessionid=t||0,this.map=new Map,this.VideoQueueMGR=new o}l.prototype.Add=function(e,t){this.map.set(e,t)},l.prototype.Clear=function(){this.map.clear()},l.prototype.Keys=function(){return this.map.keys()};var h=function(){this.frames=0,this.ntp=new i.a};h.prototype={UpdateSharingInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetSharingFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,r=0,i=0,a=0,s=0;s<e;s++){var n=this.ntp.dequeue();0==n&&0==i?r++:0!=n?(a=0,0==i&&(i=n),t=n):0!=i&&t!=i&&0==n&&a++}return 0==t||t==i?0:e-r-a-1!=0?(t-i)/(e-r-a-1):0}}};var c=function(){this.ssrcInfoMap=new Map};function u(){this.ssrcQueueMap=new Map,this.ssrcInfo=new c,u.prototype.AddQueue=function(e){var t=new i.a;return this.ssrcQueueMap.set(e,t),t},u.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},u.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},u.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},u.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},u.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},u.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},u.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},u.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}function d(e){let{sessionid:t}=e;this.map=new Map,this.sQueue=new i.a,this.SharingQueueMGR=new u,this.sessionid=t||0}c.prototype={UpdateSSRCInfo:function(e,t){var r=this.ssrcInfoMap.get(e);r||(r=new h,this.ssrcInfoMap.set(e,r)),r.UpdateSharingInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetSharingFpsInfo():0}},d.prototype.Clear=function(){this.map.clear()},d.prototype.Keys=function(){return this.map.keys()},d.prototype.Add=function(e,t){this.map.set(e,t)},d.prototype.Get=function(e){return this.map.get(e)},d.prototype.PutData=function(e){e&&this.sQueue&&this.sQueue.enqueue(e)},d.prototype.GetData=function(){if(this.sQueue)return this.sQueue.dequeue()},d.prototype.ClearBuffer=function(){this.sQueue&&(this.sQueue=new i.a)}},function(e,t,r){"use strict";r.d(t,"b",(function(){return c}));var i=r(15),a=r(4),s=r(2),n=r(5),o=r(31),l=r(28),h=r(3);const c=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16/9;if(!e||!t)return null;const s=r||0,n=i||0;if(e/t>a){const r=t*a;return{width:r,height:t,left:Math.round((e-r)/2)+s,top:0+n}}{const r=e/a;return{width:e,height:r,left:0+s,top:Math.round((t-r)/2)+n}}};function u(e){this.Notify_APPUI=e.Notify_APPUI,this.isSupportOffscreenCanvas=e.isSupportOffscreenCanvas,this.jsMediaEngine=e.jsMediaEngine,this.threadNumbs=e.videodecodethreadnumb,this.globalTracingLogger=e.globalTracingLogger,this.monitorLoggerFn=e.monitorLoggerFn,this.renderManager=e.renderManager,this.waterMarkCanvas=null,this.videoRenderLevel=10,this.videoRenderLevelCount=1,this.renderPeriodTotal=100,this.renderPeriodCount=0,this.renderPeriodTotalFps=0,this.renderPeriodFpsCount=0,this.lastRenderAudioTimeStamp=0,this.videoBufEmptyCount=0,this.videoBufCount=0,this.videoRenderMaxLevel=15,this.timestamp=0,this.audioPlayTime=0,this.videoTimestamp=0,this.videoWaterMarkName="",this.isCreateVideoWaterMark=!1,this.isWaterMarkRepeatedEnable=!1,this.waterMarkOpacity=.15,this.currentactive=0,this.audioPlaySsrc=0,this.currentVideoHeight=0,this.currentVideoWidth=0,this.videoRenderArray=[],this.WaterMarkRGBA=new o.a,this.vMonitorCount=0,this.videoQueue=new l.b,this.timestart=0,this.rendingFlag=!0,this.rAFID=0,this.rAFIDBack=null,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.ssrcDisplayMap=new Map,this.ssrcHaddataMap=new Map,this.canvasToLocalDisplay=new Map,this.canvasIdSet=new Set,this.selfvideossrc=0,this.localVideoPtr=0,this.sabBuffer=0,this.localvideossrc=0,this.encodedVideoSharedArrayBufferUint8Array=null,this.encodedVideoSharedArrayBufferUint16Array=null,this.encodedVideoSharedArrayWasmMemory=null,this.startCaptureVideo=!1,this.clearColor=new Uint8Array(4),this.videorendercanvas=null,this.keyrender=null,this.renderIndex=0,this.activeSpeakssrc=0,this.needClear=!1,this.renderMode=0,this.intervalHandle,this.croppingParams={top:0,left:0,height:1,width:1},this.coordinate={x:0,y:0,width:640,height:360},this.isSupportVideoTrackReader=!1,this.bWebglContextLostProtectingMap=new Map,this.ismirror=!1,this.lfTimeStamp=0,this.activeFps=0,this.lastActiveSSRC=0,this.disableOriginalRatio=!1,this.onStopDrawCallback=e.onStopDrawCallback,this.onReStoreCallback=e.onReStoreCallback,this.videoRenderWGLFSTOP=!1}u.prototype.clearUseridRender=function(e,t,r){let i=e[0],n=i.display;if(n)if(n.setWatermarkFlag(0),this.renderMode)n.clearCanvas(t);else{let e=i.ssrc;if(!n||!t)return;this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=1,this.croppingParams.width=1,this.clearColor[0]=255*t.R,this.clearColor[1]=255*t.G,this.clearColor[2]=255*t.B,this.clearColor[3]=255*t.A;const o=this.renderManager.getRendererProvider().isWebGLRendererType(),l=this.renderManager.getRendererProvider().isWebGL2RendererType();if(o||l){let e=this.canvasToLocalDisplay.get(i.canvas);if(!e)return void console.log("no clearDisplay");e.setVideoMode(a.ab),e.colorRange=0,e.setFillMode(1,1),e.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===r&&((r={}).x=i.x,r.y=i.y,r.width=i.width,r.height=i.height),e.drawSelfVideo(r,!0)}else{if(!n)return void console.log("no clearDisplay");n.setVideoMode(a.ab),n.setColorRange(0),n.setFillMode(1,1),n.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===r&&((r={}).x=i.x,r.y=i.y,r.width=i.width,r.height=i.height),n.drawSelfVideo(r,!0)}let h=this;this.ssrcDisplayMap.forEach((function(t,r){let i,s;r==h.Get_Logical_SSrc(h.selfvideossrc)&&(i=!0),r==h.Get_Logical_SSrc(e)&&(s=!0),t.forEach(e=>{if(!e.haddata||s)return;let t=e.display;h.coordinate.x=e.x,h.coordinate.y=e.y,h.coordinate.width=e.width,h.coordinate.height=e.height,t&&(!s||o&&l?t.getVideoMode()!=a.W&&(-1==[a.ab,a.N].indexOf(t.getVideoMode())&&i?t.drawSelfVideo(h.coordinate,!1,h.ismirror):i?t.drawRemoteVideo(h.coordinate,h.ismirror):t.drawRemoteVideo(h.coordinate)):t.drawSelfVideo(h.coordinate,!0))})})),this.renderManager.renderFor(s.t.VIDEO)}},u.prototype.Set_Render_Array_rAF=function(e){if(this.videoRenderArray=e,this.ssrcDisplayMap.clear(),this.ssrcHaddataMap.clear(),this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){let t=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc));t?t.push(this.videoRenderArray[e]):(t=[],t.push(this.videoRenderArray[e]),this.ssrcDisplayMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),t),this.ssrcHaddataMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),!1))}},u.prototype.Set_Render_Array=function(e,t){this.renderMode?this.Set_Render_Array_IntervalMode(e,t):this.Set_Render_Array_rAF(e)},u.prototype.ClearQueue=function(){this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},u.prototype.Put_Video_Into_Buffer=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e.ssrc);if(t||(t=this.videoQueue.AddQueue(e.ssrc)),t.enqueue(e),this.videoQueue&&this.videoQueue.ssrcInfo){var r=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(r,e.ntptime)}for(var i=this.videoQueue.GetQueueLength(e.ssrc)-10;i>=0;)i--}},u.prototype.Update_RemoteVideo_Texture=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(this.Check_Request_Animation(),t)if(e&&r){let t=this.Get_Logical_SSrc(r),o=this.FindVideoRenderListFromMap(r);if(!o.length)return void this.renderManager.destroyUnusedVideoFrame(e);let l=this,h=n&&(1==i||3==i);this.ssrcHaddataMap.set(t,!0),s?(this.croppingParams.top=s.y,this.croppingParams.left=s.x,this.croppingParams.height=s.height,this.croppingParams.width=s.width):(this.croppingParams.top=e.visibleRect?0:e.cropTop,this.croppingParams.left=e.visibleRect?0:e.cropLeft,this.croppingParams.height=e.visibleRect?e.visibleRect.height:e.cropHeight,this.croppingParams.width=e.visibleRect?e.visibleRect.width:e.cropWidth);let{width:c,height:u}=e.visibleRect||{};if(c&&u||(u=this.croppingParams.height,c=this.croppingParams.width),h){let e=u;u=c,c=e,e=this.croppingParams.height,this.croppingParams.height=this.croppingParams.width,this.croppingParams.width=e}n&&(i=0),this.canvasIdSet.clear(),o&&o.forEach(t=>{t.haddata=!0;let r=t.display;l.coordinate.x=t.x,l.coordinate.y=t.y,l.coordinate.width=t.width,l.coordinate.height=t.height;let s=!(r&&r.reuse&&t.rendercanvasID&&this.canvasIdSet.has(t.rendercanvasID));r&&(r.setVideoMode(a.ab),l.Should_Update_Watermark(r,t.width,t.height,t.width,t.height)&&l.Update_Display_Watermark(r,t.width,t.height,t.width,t.height),e&&r.updateRemoteVideoTexturesImageBitmap(c,u,e,l.croppingParams,i,s),this.canvasIdSet.add(t.rendercanvasID))})}else this.renderManager.destroyUnusedVideoFrame(e);else{if(e&&e.ssrc){let t,r=this.Get_Logical_SSrc(e.ssrc),i=this.FindVideoRenderListFromMap(e.ssrc);if(!i.length)return e.yuvdataptr&&Module._free(e.yuvdataptr),void this.renderManager.destroyUnusedVideoFrame(e);let s=!1,n=this;this.ssrcHaddataMap.set(r,!0);let o=e;this.croppingParams.top=o.r_y,this.croppingParams.left=o.r_x,this.croppingParams.height=o.r_h,this.croppingParams.width=o.r_w,t=o,t.enableMultiDecodeVideoWithoutSAB?t.yuvdata=t.data:t.yuvdata=Object(h.g)().subarray(t.yuvdataptr,t.yuvdataptr+t.yuvlength),!t.yuvdata.length||t.yuvdata.length!=t.width*t.height*3/2||this.croppingParams.top<0||this.croppingParams.left<0||this.croppingParams.left+this.croppingParams.width>t.width||this.croppingParams.top+this.croppingParams.height>t.height||i&&(this.canvasIdSet.clear(),i.forEach(e=>{e.haddata=!0;let r=e.display;n.coordinate.x=e.x,n.coordinate.y=e.y,n.coordinate.width=e.width,n.coordinate.height=e.height;let i=!(r&&r.reuse&&e.rendercanvasID&&this.canvasIdSet.has(e.rendercanvasID));r&&(r.setVideoMode(a.V),this.Should_Update_Watermark(r,e.width,e.height,e.width,e.height)&&this.Update_Display_Watermark(r,e.width,e.height,e.width,e.height),t&&r.updateRemoteVideoTextures(t.width,t.height,n.croppingParams,t.yuvdata,t.rotation,t.yuv_limited,n.coordinate,s,i),this.canvasIdSet.add(e.rendercanvasID))}))}else this.renderManager.destroyUnusedVideoFrame(e);e.yuvdataptr&&Module._free(e.yuvdataptr)}},u.prototype.Set_Cropping_Mode=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disableOriginalRatio=!!e},u.prototype.Update_Cropping_Params=function(){if(this.disableOriginalRatio){const e=c(this.croppingParams.width,this.croppingParams.height,this.croppingParams.left,this.croppingParams.top);e&&(this.croppingParams={...this.croppingParams,...e})}},u.prototype.Update_SelfVideo_Texture=function(e,t,r,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.ab,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;if(o?(this.croppingParams.top=o.top,this.croppingParams.left=o.left,this.croppingParams.width=o.width,this.croppingParams.height=o.height):(this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=t,this.croppingParams.width=e),this.renderMode){let o=0;this.canvasIdSet.clear();const h=this.FindVideoRenderList(i);for(;o<h.length;o++){this.coordinate.x=h[o].x,this.coordinate.y=h[o].y,this.coordinate.width=h[o].width,this.coordinate.height=h[o].height,this.Update_Cropping_Params(),h[o].display.setVideoMode(n);const{display:i,width:s,height:c}=h[o];this.Should_Update_Watermark(i,s,c,s,c)&&this.Update_Display_Watermark(i,s,c,s,c);let u=!(i&&i.reuse&&h[o].rendercanvasID&&this.canvasIdSet.has(h[o].rendercanvasID));-1!==[a.ab,a.N].indexOf(n)?(h[o].display.updateSelfVideoTextures(e,t,r,this.croppingParams,u,l),h[o].enableMultiDecodeVideoWithoutSAB?h[o].firstFrame=!0:h[o].display.drawSelfVideo(this.coordinate,!1,this.ismirror)):(h[o].display.updateRemoteVideoTextures(e,t,this.croppingParams,r,l,0,this.coordinate,!1,u),h[o].enableMultiDecodeVideoWithoutSAB?h[o].firstFrame=!0:h[o].display.drawRemoteVideo(this.coordinate,this.ismirror)),this.canvasIdSet.add(h[o].rendercanvasID)}this.renderManager.renderFor(s.t.VIDEO)}else if(r&&i){let o=this.FindVideoRenderListFromMap(i);this.ssrcHaddataMap.set(i,!0);let h=this;o.length&&(this.canvasIdSet.clear(),o.forEach(i=>{i.haddata=!0,h.coordinate.x=i.x,h.coordinate.y=i.y,h.coordinate.width=i.width,h.coordinate.height=i.height,h.Update_Cropping_Params();let s=i.display,o=!(s&&s.reuse&&i.rendercanvasID&&this.canvasIdSet.has(i.rendercanvasID));s&&(s.setVideoMode(n),h.Should_Update_Watermark(s,i.width,i.height,i.width,i.height)&&h.Update_Display_Watermark(s,i.width,i.height,i.width,i.height),-1!==[a.ab,a.N].indexOf(n)?s.updateSelfVideoTextures(e,t,r,h.croppingParams,o,l):s.updateRemoteVideoTextures(e,t,h.croppingParams,r,l,!0,h.coordinate,!1,o),this.canvasIdSet.add(i.rendercanvasID))}),this.renderManager.renderFor(s.t.VIDEO))}},u.prototype.Draw_Send_Video_Img=function(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.ab,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.Update_SelfVideo_Texture(t,r,e,i,s,n)},u.prototype.setMirrorMyVideoOption=function(e){this.ismirror=e},u.prototype.Start_Draw=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return this.rendingFlag=!0,this.renderMode=e,e?t?(this.intervalHandle=setInterval(this.JsMediaSDK_VideoRender_interval.bind(this),t),this.intervalHandle):null:(g(this),this.Start_Request_Animation_Frame())},u.prototype.Stop_Draw=function(){this.rendingFlag=!1,this.renderMode?clearInterval(this.intervalHandle):this.Stop_Request_Animation_Frame()},u.prototype.contextLostCallback=function(e){let t=e.currentTarget.canvasId;f&&Object(h.v)(t),e.preventDefault()},u.prototype.contextRestoredCallback=function(e){let t=e.currentTarget,r=t.canvasId,i=t.callback;this.Restored_From_Context_Lost(t,t,r,this.Log_Error.bind(this),i),this.onReStoreCallback&&this.onReStoreCallback(this),f&&Object(h.w)(r)},u.prototype.webGLContextLostProtect=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t&&t!==e&&(t.contextLostHandler&&t.removeEventListener("webglcontextlost",t.contextLostHandler),t.contextRestoredHandler&&t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),e&&!this.bWebglContextLostProtectingMap.get(e)&&(e.canvasId=r,e.callback=i,this.renderMode||((t=this.bWebglContextLostProtectingMap.get(r))&&(t.removeEventListener("webglcontextlost",t.contextLostHandler),t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),this.bWebglContextLostProtectingMap.set(r,e),e.contextLostHandler=this.contextLostCallback.bind(this),e.contextRestoredHandler=this.contextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",e.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",e.contextRestoredHandler,{capture:!1})))},u.prototype._Replace_Video_Render_Array_From_Context_LOST=function(e){let{canvas:t,oldCanvas:r,newDisplayMap:i}=e;for(let e=0;e<this.videoRenderArray.length;e++)if(this.videoRenderArray[e].canvas===r||this.videoRenderArray[e].canvas===t){r!==t&&(this.videoRenderArray[e].canvas=t);const a=this.videoRenderArray[e].display.getFillMode();this.videoRenderArray[e].display=i?i.get(this.videoRenderArray[e].display.getTextureIndex()):this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:t,canvasId:this.videoRenderArray[e].rendercanvasID}),a&&this.videoRenderArray[e].display&&this.videoRenderArray[e].display.setFillMode(a,this.videoRenderArray[e].display.getFillModeForResolution())}},u.prototype.Restored_From_Context_Lost=function(e,t,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(this.renderMode)this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t});else{const s=this.renderManager.onRestoredFromContextLost(r,e,t,this.threadNumbs,i,this.canvasToLocalDisplay);s&&(this.ssrcDisplayMap.forEach((r,i)=>{r.forEach(r=>{if(r.haddata=!1,r.canvas===t){t!==e&&(r.canvas=e);let i=r.display;r.display=s.get(i.getTextureIndex())}})}),this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t,newDisplayMap:s}),null==a||a({canvas:e,oldCanvas:t,newDisplayMap:s}),this.rendingFlag&&this.Start_Request_Animation_Frame())}},u.prototype.Replace_Canvas=function(e,t){let r=null;this.bWebglContextLostProtectingMap.forEach((e,i)=>{i===t&&(r=e)}),r!=e&&(this.bWebglContextLostProtectingMap.delete(t),this.webGLContextLostProtect(e,r,t),this.Restored_From_Context_Lost(e,r,t,this.Log_Error.bind(this))),this.isSupportOffscreenCanvas&&(this.waterMarkCanvas||this.videorendercanvas)&&(this.waterMarkCanvas=this.videorendercanvas=new OffscreenCanvas(640,360))},u.prototype.Get_Display=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=this.renderManager.getRendererProvider().isWebGLRendererType(),s=this.renderManager.getRendererProvider().isWebGL2RendererType();(a||s)&&this.webGLContextLostProtect(e,null,t,i);const n=this.renderManager.getVideoRenderDisplay(e,t,this.threadNumbs,this.Log_Error.bind(this),this.canvasToLocalDisplay);return n},u.prototype.GiveBack_Display=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e[0];r&&r.display&&this.renderManager.recycleRenderDisplay(r.canvas,r.display,t)},u.prototype.Get_Logical_SSrc=function(e){return e?e>>10<<10:-1},u.prototype.Set_LocalVideo_Ptr=function(e){e&&(this.localVideoPtr=e)},u.prototype.Set_LocalVideo_Buffer=function(e){e&&(this.encodedVideoSharedArrayWasmMemory=e,this.sabBuffer=e.buffer,this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.sabBuffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.sabBuffer))},u.prototype.Set_LocalVideo_SSRC=function(e){e&&(this.localvideossrc=e,this.selfvideossrc=e)},u.prototype.Draw_LocalVideo=function(){if(this.localVideoPtr&&this.sabBuffer&&this.localvideossrc){this.encodedVideoSharedArrayWasmMemory&&this.encodedVideoSharedArrayWasmMemory.buffer!=this.sabBuffer&&(this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.sabBuffer=this.encodedVideoSharedArrayWasmMemory.buffer);let e=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr),t=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr+1),r=!0;if(e==t&&(r=!1),e-t==1&&(e=(e+1)%a.U),r){let t=0,r=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e)/2],i=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+2)/2],s=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+4)/2],n=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+6)/2],o=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+8)/2],l=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+10)/2],h=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(a.T+4+8+2)*e+12)/2],c=255&h,u=h>>8&255;t=c&&c!==a.N?r*i*3/2:r*i*4,this.croppingParams.top=s,this.croppingParams.left=n,this.croppingParams.height=l,this.croppingParams.width=o;let d=this.encodedVideoSharedArrayBufferUint8Array.subarray(this.localVideoPtr+4+(a.T+4+8+2)*e+4+8,this.localVideoPtr+4+(a.T+4+8+2)*e+4+8+t);this.Update_SelfVideo_Texture(r,i,d,this.Get_Logical_SSrc(this.localvideossrc),c,this.croppingParams,u),Atomics.store(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr,(e+1)%a.U)}}},u.prototype.Update_LocalVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=this.localvideossrc;if(this.renderMode){let s=0,n=0,o=!1,l=this.FindVideoRenderList(i),h=r&&(1==t||3==t);for(;n<l.length;n++){o=!0;let i=e;this.croppingParams.top=i.visibleRect?0:i.cropTop,this.croppingParams.left=i.visibleRect?0:i.cropLeft,this.croppingParams.height=i.visibleRect?h?i.visibleRect.width:i.visibleRect.height:i.cropHeight,this.croppingParams.width=i.visibleRect?h?i.visibleRect.height:i.visibleRect.width:i.cropWidth,this.coordinate.x=l[n].x,this.coordinate.y=l[n].y,this.coordinate.width=l[n].width,this.coordinate.height=l[n].height,this.Update_Cropping_Params(),l[n].display.setVideoMode(s);const{display:c,width:u,height:d}=l[n];0!=u&&0!=d&&(this.Should_Update_Watermark(c,u,d,u,d)&&this.Update_Display_Watermark(c,u,d,u,d),-1!==[a.ab,a.N].indexOf(s)&&(l[n].display.updateRemoteVideoTexturesImageBitmap(this.croppingParams.width,this.croppingParams.height,i,this.croppingParams,r?0:t),l[n].enableMultiDecodeVideoWithoutSAB?l[n].firstFrame=!0:l[n].display.drawSelfVideo(this.coordinate,!1,this.ismirror)))}o||this.renderManager.destroyUnusedVideoFrame(e)}else this.Update_RemoteVideo_Texture(e,!0,i,t,null,r)},u.prototype.Set_Capture_Video_Flag=function(e){this.startCaptureVideo=e},u.prototype.Get_Capture_Video_Flag=function(){return this.startCaptureVideo},u.prototype.FindVideoRender=function(e){if(!e)return null;for(let t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc&&this.videoRenderArray[t].ssrc>>10==e>>10)return this.videoRenderArray[t];return null},u.prototype.FindVideoRenderList=function(e){let t=this.isActiveSeakerSsrc(e),r=this.FindVideoRender(a.a),i=[e>>10];t&&r&&i.push(a.a>>10);let s=[];for(let e=0;e<this.videoRenderArray.length;e++)this.videoRenderArray[e].ssrc&&i.includes(this.videoRenderArray[e].ssrc>>10)&&s.push(this.videoRenderArray[e]);return s},u.prototype.FindVideoRenderListFromMap=function(e){let t=this.isActiveSeakerSsrc(e),r=[...this.ssrcDisplayMap.get(this.Get_Logical_SSrc(e))||[]];if(t){let e=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(a.a))||[];r.push(...e)}return r},u.prototype.JsMediaSDK_VideoRender_interval=function(){this.startCaptureVideo&&this.Draw_LocalVideo();let e=this.FindVideoRender(a.a),t=this.FindVideoRender(this.activeSpeakssrc);if(0!=this.videoRenderArray.length){for(let s=0;s<this.videoRenderArray.length;s++){const o=this.videoRenderArray[s],{display:l,canvas:c,enableMultiDecodeVideoWithoutSAB:u,ssrc:d,isMyself:f}=o;var r=null;if(o==e&&t)continue;let p=d;o!=e||t||(p=this.activeSpeakssrc);let g=[o];if(o==t&&e&&g.push(e),this.isActiveSsrcVideo(p)){let e=Date.now();if(this.jsMediaEngine){let e=this.jsMediaEngine.Get_Video_SSRC_Latest_Time();this.timestamp=e.currentSSRCTime,this.audioPlayTime=e.audioPlayTime}this.calPacingTime(e),e-this.timestart<this.pacingTime||(r=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(p)),this.timestart=e)}else r=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(p));if(r){let e;this.isActiveSsrcVideo(p)&&(this.videoTimestamp=r.ntptime),e=r.yuvdata instanceof h.m?r.yuvdata.yuvdata:r.yuvdata,this.croppingParams.top=r.r_y,this.croppingParams.left=r.r_x,this.croppingParams.height=r.r_h,this.croppingParams.width=r.r_w;const t=r.width>r.height&&(1===r.rotation||3===r.rotation)||r.width<r.height&&1!==r.rotation&&3!==r.rotation,s=t?r.height:r.width,o=t?r.width:r.height,{width:l,height:d}=c;if(this.currentVideoHeight==this.croppingParams.height&&this.currentVideoWidth==this.croppingParams.width||(this.Notify_APPUI?this.Notify_APPUI(i.c,{width:this.croppingParams.width,height:this.croppingParams.height}):postMessage({status:n.nb,width:this.croppingParams.width,height:this.croppingParams.height}),this.currentVideoHeight=this.croppingParams.height,this.currentVideoWidth=this.croppingParams.width),e.length==r.width*r.height*3/2&&r.r_x>=0&&r.r_y>=0&&r.r_x+r.r_w<=r.width&&r.r_y+r.r_h<=r.height){8400==this.vMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("VDGLM"):postMessage({status:n.mb,data:"VDGLW"}),this.vMonitorCount=0),this.vMonitorCount++;let t=this;g.forEach(i=>{i.display&&(t.Should_Update_Watermark(i.display,s,o,l,d)&&t.Update_Display_Watermark(i.display,s,o,l,d),u?i.display&&(i.display.setVideoMode(a.V),i.display.updateRemoteVideoTextures(r.width,r.height,t.croppingParams,e,r.rotation,r.yuv_limited),i.firstFrame=!0):(i.display.setVideoMode(a.V),i.display.drawNextOutputPictureFrame(r.width,r.height,t.croppingParams,e,r.rotation,r.yuv_limited,i)))})}else this.Log_Error("Invalid YUV data: ".concat(r.r_x," ").concat(r.r_y," ").concat(r.r_w," ").concat(r.r_h," ").concat(r.width," ").concat(r.height));r.yuvdata instanceof h.m&&r.yuvdata.recycle()}u&&g.forEach(e=>{if(u&&e.firstFrame){const{x:t,y:r,width:i,height:a}=e,s={x:t,y:r,width:i,height:a};f?e.display.drawSelfVideo(s):e.display.drawRemoteVideo(s)}})}this.renderManager.renderFor(s.t.VIDEO)}},u.prototype.Get_Decoded_Video_Frame=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e);return t?t.dequeue():null}},u.prototype.Set_SSRC_Latest_Time_Stamp=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.timestamp!==e&&"number"==typeof e&&e&&(this.timestamp=e,this.audioPlaySsrc=t,this.audioPlayTime=Date.now())},u.prototype.Get_Decoded_Video_Buffer_Length=function(e){return this.videoQueue?this.videoQueue.GetQueueLength(e):0},u.prototype.Get_SSRC_VIDEO_FPS=function(e){if(e>>=10,this.videoQueue&&this.videoQueue.ssrcInfo){var t=this.videoQueue.ssrcInfo.GetSSRCFpsInfo(e);if(t)return Math.round(t)}return 0},u.prototype.Change_Current_SSRC=function(e){this.currentactive=e,this.ClearQueue()},u.prototype.Set_Render_Array_IntervalMode=function(e,t){if(this.videoRenderArray=e,this.renderMode&&this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){const r=this.videoRenderArray[e];t?r.display||(r.enableMultiDecodeVideoWithoutSAB=t,r.display=this.Get_Display(r.canvas,r.canvas.id),r.display&&r.display.setFillMode(r.fillMode,r.fillModeForResolution)):(this.renderManager.getRendererProvider().isWebGPURendererType()?r.display=this.Get_Display(r.canvas,r.rendercanvasID):r.display=this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:r.canvas,canvasId:r.rendercanvasID}),this.webGLContextLostProtect(r.canvas,void 0,r.rendercanvasID))}},u.prototype._Create_WebGL_Canvas=function(e){let{videoRenderArrayIndex:t,canvas:r,canvasId:i}=e;const a={forceNoGL:void 0,contextOptions:{webglcontextlostCallback:this.webglcontextlostCallback.bind(this),webglcontextrestoredCallback:this.webglcontextrestoredCallback.bind(this),params:{videoRenderArrayIndex:t,canvas:r,canvasId:i}},webGLResources:void 0,initMask:!1};return this.renderManager.createWebGLVideoRenderDisplay(r,i,0,a)},u.prototype.webglcontextlostCallback=function(e,t){let{canvas:r,canvasId:i}=t;e.preventDefault()},u.prototype.webglcontextrestoredCallback=function(e,t){var r,i;let{videoRenderArrayIndex:a,canvas:s,canvasId:n}=t;var o;(!this.videoRenderArray||a>=(null===(r=this.videoRenderArray)||void 0===r?void 0:r.length))&&this.Log_Error("videoRenderArray:".concat(this.videoRenderArray,", length:").concat(null===(o=this.videoRenderArray)||void 0===o?void 0:o.length));this.renderMode&&a<(null===(i=this.videoRenderArray)||void 0===i?void 0:i.length)&&(this.videoRenderArray[a].display=this._Create_WebGL_Canvas({videoRenderArrayIndex:a,canvas:s,canvasId:n}),this.Set_Render_Array(this.videoRenderArray))},u.prototype.ClearQueue=function(){try{let e=this.videoQueue.ssrcQueueMap;for(let[t,r]of e)for(;!r.isEmpty();){let e=r.dequeue();e.yuvdata&&e.yuvdata instanceof h.m&&e.yuvdata.recycle()}}catch(e){this.Log_Error("Exception during VideoRender.ClearQueue",e)}this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},u.prototype.Set_WaterMark_Info=function(e){let{waterMarkCanvas:t,isCreateVideoWaterMark:r,videoWaterMarkName:i,watermarkOpacity:a,watermarkRepeated:s,watermarkPosition:n}=e;this.waterMarkCanvas=t||this.videorendercanvas,this.isCreateVideoWaterMark=r,this.videoWaterMarkName=i,void 0!==s&&(this.isWaterMarkRepeatedEnable=!!s),void 0!==a&&(this.waterMarkOpacity=a),void 0!==n&&(this.watermarkPosition=n)},u.prototype.Set_WaterMark_Flag=function(e){if(this.videoRenderArray.length>0)for(let t=0;t<this.videoRenderArray.length;t++){const{display:r}=this.videoRenderArray[t];r.setWatermarkFlag(e?1:0)}},u.prototype.Should_Watermark_Repeated=function(e,t){return this.isWaterMarkRepeatedEnable&&e>306&&t>202};const d=function(e,t){if(e<640&&e){const r=640/e;e=640,t=Math.round(t*r)}return{width:e,height:t}};u.prototype.Update_Display_Watermark=function(e,t,r,i,a){const s=this.Should_Watermark_Repeated(i,a);this.waterMarkCanvas||this.videorendercanvas||(this.videorendercanvas=this.isSupportOffscreenCanvas?new OffscreenCanvas(640,360):null);const n=i<512||a<288?16:this.watermarkPosition,o=this.waterMarkCanvas||this.videorendercanvas;if("function"==typeof OffscreenCanvas&&o instanceof OffscreenCanvas&&OffscreenCanvasRenderingContext2D&&!OffscreenCanvasRenderingContext2D.prototype.measureText)return;const l=d(t,r);t=l.width,r=l.height;const h=s?this.WaterMarkRGBA.Get_Repeated_WaterMarkRGBA({canvas:o,name:this.videoWaterMarkName,width:t,height:r,opacity:this.waterMarkOpacity,position:n}):this.WaterMarkRGBA.Get_WaterMarkRGBA({canvas:o,name:this.videoWaterMarkName,width:t,height:r,opacity:this.waterMarkOpacity,position:n});e.updateWatermark(t,r,h)},u.prototype.Should_Update_Watermark=function(e,t,r,i,a){if(!this.isCreateVideoWaterMark)return!1;let s=!1;const n=d(t,r);n.width===e.getWatermarkWidth()&&n.height===e.getWatermarkHeight()||(s=!0);const o=this.Should_Watermark_Repeated(i,a);e.isSetWatermark()||(s=!0),o!==e.isWatermarkRepeated()&&(s=!0,e.setWatermarkRepeated(o)),this.waterMarkOpacity&&this.waterMarkOpacity!==e.getWatermarkOpacity()&&(s=!0,e.setWatermarkOpacity(this.waterMarkOpacity));const l=t<512||r<288?16:this.watermarkPosition;return l!==e.getWatermarkPosition()&&(s=!0,e.setWatermarkPosition(l)),s},u.prototype.calCulateActiveFps=function(e){this.activeFps&&e>=this.lfTimeStamp?this.activeFps=500/(e-this.lfTimeStamp)+this.activeFps/2:this.lfTimeStamp&&(this.activeFps=1e3/(e-this.lfTimeStamp))},u.prototype.Put_Video_Data_Queue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;if(this.videoQueue){var r=this.videoQueue.GetQueue(e.ssrc);if(r||(r=this.videoQueue.AddQueue(e.ssrc)),r.enqueue(e),(this.Get_Logical_SSrc(this.currentactive)==this.Get_Logical_SSrc(e.ssrc)||this.Get_Logical_SSrc(this.audioPlaySsrc)==this.Get_Logical_SSrc(e.ssrc))&&(this.lfTimeStamp&&this.calCulateActiveFps(e.ntptime),this.lfTimeStamp=e.ntptime),this.lastActiveSSRC!=e.ssrc&&(this.lfTimeStamp=0,this.activeFps=0),this.lastActiveSSRC=e.ssrc,this.videoQueue&&this.videoQueue.ssrcInfo){var i=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(i,e.ntptime)}for(var a=this.videoQueue.GetQueueLength(e.ssrc),s=a-t;s>=0;){let t=this.Get_Decoded_Video_Frame(e.ssrc);t.yuvdata instanceof h.m&&t.yuvdata.recycle(),s--}}else e.yuvdata&&e.yuvdata instanceof h.m&&e.yuvdata.recycle()},u.prototype.Set_VideoTrackReader=function(e){this.isSupportVideoTrackReader=e},u.prototype.Clear_OffScreenCanvas=function(e){this.renderManager.clearOffscreenCanvas(e),e.contextLostHandler&&(e.removeEventListener("webglcontextlost",e.contextLostHandler),e.contextLostHandler=null),e.contextRestoredHandler&&(e.removeEventListener("webglcontextrestored",e.contextRestoredHandler),e.contextRestoredHandler=null),e.width=1,e.height=1},u.prototype.Zoom_Render=function(e){},u.prototype.Decode_Ssrc=function(e){return this.ssrcDisplayMap.has(this.Get_Logical_SSrc(e))||this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)};const f="undefined"==typeof window;function p(e){let t=Date.now(),r=m;if(t-v<30)r.Start_Request_Animation_Frame(e);else if(v=t,r.rendingFlag){r.needClear&&(r.needClear=!1);try{r.startCaptureVideo&&r.localVideoPtr&&r.Draw_LocalVideo(),r.ssrcDisplayMap.forEach((function(e,i){if(i!=r.Get_Logical_SSrc(a.a)||!r.ssrcDisplayMap.has(r.Get_Logical_SSrc(r.activeSpeakssrc)))if(i==r.Get_Logical_SSrc(a.a)&&(i=r.activeSpeakssrc),r.isActiveSsrcVideo(i))if(r.calPacingTime(t),t-r.timestart<r.pacingTime);else{r.timestart=t;let e=r.Get_Decoded_Video_Frame(r.Get_Logical_SSrc(i));e&&(r.Update_RemoteVideo_Texture(e),r.videoTimestamp=e.ntptime)}else{let e=r.Get_Decoded_Video_Frame(r.Get_Logical_SSrc(i));e&&r.Update_RemoteVideo_Texture(e)}})),r.ssrcDisplayMap.forEach((function(e,t){let i=r.isSelfVideo(t);e.forEach(e=>{var t;let s=e.display;null!=s&&null!==(t=s.isAvaiable)&&void 0!==t&&t.call(s)||setTimeout(()=>{var e;null==s||null===(e=s.restoreContext)||void 0===e||e.call(s)},5),e.haddata&&(r.coordinate.x=e.x,r.coordinate.y=e.y,r.coordinate.width=e.width,r.coordinate.height=e.height,s&&s.getVideoMode()!=a.W&&(i&&-1!==[a.ab,a.N].indexOf(s.getVideoMode())?s.drawSelfVideo(r.coordinate,!1,r.ismirror):i?s.drawRemoteVideo(r.coordinate,r.ismirror):s.drawRemoteVideo(r.coordinate)))})})),r.renderManager.renderFor(s.t.VIDEO)}catch(e){r.Log_Error("Exception while rendering video",e)}r.Start_Request_Animation_Frame(e)}else r.rAFID&&r.Stop_Request_Animation_Frame()}function g(e){return!!e&&(m=e,!0)}var m;u.prototype.Check_Request_Animation=function(){if(f&&this.rendingFlag&&this.prevRequestAnimationTimestap){performance.now()-this.prevRequestAnimationTimestap>5e3&&!this.rAFIDBack&&(postMessage({status:n.H,data:"WCL_M,RCIF"}),this.rAFID&&(cancelAnimationFrame(this.rAFID),this.rAFID=0),this.rAFIDBack=setInterval(p.bind(null,!0),30))}},u.prototype.Start_Request_Animation_Frame=function(e,t){if(!e&&this.rAFIDBack&&(console.log("Request_Animation_start"),this.Stop_Request_Animation_Frame_Backup()),!this.rAFIDBack)return t||(this.retryRequestAnimationStep=2),this.prevRequestAnimationTimestap=performance.now(),this.rAFID=requestAnimationFrame(p),this.rAFID},u.prototype.Stop_Request_Animation_Frame_Backup=function(){this.rAFIDBack&&(clearInterval(this.rAFIDBack),this.rAFIDBack=null)},u.prototype.Stop_Request_Animation_Frame=function(){this.rAFID&&cancelAnimationFrame(this.rAFID),this.rAFID=0,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.Stop_Request_Animation_Frame_Backup()},u.prototype.Log_Error=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.globalTracingLogger?this.globalTracingLogger.error(e,t):Object(h.u)(e,t)},u.prototype.calPacingTime=function(e){if(this.pacingTime=30,this.activeFps>=1&&this.activeFps<=40&&(this.pacingTime=1e3/this.activeFps),this.timestamp&&this.videoTimestamp){let t=this.timestamp+e-this.audioPlayTime,r=this.videoTimestamp+this.pacingTime-t,i=this.currentactive?this.currentactive:this.audioPlaySsrc,a=this.videoQueue.GetQueueLength(this.Get_Logical_SSrc(i));r>65&&r<1e4&&a>=1&&(this.pacingTime=1.5*this.pacingTime),r<-65&&(this.pacingTime=1*this.pacingTime/2)}else this.timestamp||(this.pacingTime>150?this.pacingTime=1*this.pacingTime/2:this.pacingTime=this.pacingTime-10)},u.prototype.getRenderManager=function(){return this.renderManager},u.prototype.cleanup=function(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.renderManager.cleanup(e,t,r)},u.prototype.setActiveSpeakerSsrc=function(e){this.activeSpeakssrc=e},u.prototype.getActiveSpeakerSsrc=function(e){return this.activeSpeakssrc},u.prototype.isActiveSeakerSsrc=function(e){return this.activeSpeakssrc&&this.activeSpeakssrc>>10==e>>10},u.prototype.isActiveSsrcVideo=function(e){let t=e>>10;return t==this.currentactive>>10||t==this.audioPlaySsrc>>10},u.prototype.clearDraw=function(e){e&&(this.clearColor[0]=255*e.R,this.clearColor[1]=255*e.G,this.clearColor[2]=255*e.B,this.clearColor[3]=255*e.A),this.needClear=!0},u.prototype.isSelfVideo=function(e){return this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)||this.isActiveSeakerSsrc(this.selfvideossrc)&&e>>10==a.a>>10};var v=0;t.a=u},function(e,t,r){"use strict";r(12);var i=r(7),a=r.n(i);const s=e=>btoa(String.fromCharCode(...new Uint8Array(e)));class n{constructor(e){a()(this,"process",async()=>{if(this.processList.length){const e=this.processList.splice(0,30),t=await this.encryptData(this.mergeBuffer(e));this.writeLog(s(t)),this.writeLog(this.EOL)}requestAnimationFrame(this.process)}),this.textEncoder=new TextEncoder,this.textDecoder=new TextDecoder,this.EOL=this.textEncoder.encode("\n"),this.processList=[],this.writeLog=e,this.key=null,this.initEncryptPromise=this.initEncrypt()}addLogData(e,t){if(!e||!t)return;const r=this.textEncoder.encode(e);this.processList.push(r),this.processList.push(t),this.processList.push(this.EOL)}async initEncrypt(){this.key=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),this.iv=crypto.getRandomValues(new Uint8Array(12));const e=new Uint8Array(await crypto.subtle.exportKey("raw",this.key)),t=new Uint8Array([0]);this.writeLog("v"),this.writeLog(this.EOL),this.writeLog(s(t.buffer)),this.writeLog(this.EOL);const r=[e,this.iv];this.writeLog("h"),this.writeLog(this.EOL),this.writeLog(s(this.mergeBuffer(r).buffer)),this.writeLog(this.EOL),this.startProcess()}mergeBuffer(e){const t=e.reduce((e,t)=>e+t.length,0),r=new Uint8Array(t);let i=0;for(const t of e)r.set(t,i),i+=t.length;return r}async encryptData(e){await this.initEncryptPromise;return await crypto.subtle.encrypt({name:"AES-GCM",iv:this.iv},this.key,e)}startProcess(){requestAnimationFrame(this.process)}}var o=r(3);r.d(t,"a",(function(){return c}));class l{constructor(e){this.port=null,this.cache=[],this.stopCache=!1,e&&(this.logProcesser=new n(this.writeLog.bind(this)))}readyForLog(){}sendLog(e){}writeLog(e){this.readyForLog()?(this.stopCache||(this.cache.forEach(e=>this.sendLog(e)),this.clearCache()),this.sendLog(e)):this.stopCache||this.cache.push(e)}clearCache(){this.stopCache=!0,this.cache=[]}getTime(){const e=new Date;return e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()+":"+e.getMilliseconds()}getLogData(e,t,r){if(t){var i=new Uint8Array(r?t+1:t),a=Object(o.d)().subarray(e+0,e+t);return i.set(a,0,t),r&&(i[t]=10),i}return e.data}writeWasmLog(e,t){const r=this.getTime(),i=this.getLogData(e,t);this.logProcesser?this.logProcesser.addLogData(r,i):(this.writeLog(r),this.writeLog(i),this.writeLog("\n"))}}class h extends l{constructor(){super(!0),this.port=null,this.ready=!1}init(){let e=0;const t=r=>{"local_log_port"===r.data.command?this.port||(this.port=r.data.data):"local_log_ready"===r.data.command&&(this.ready=!0,self.removeEventListener("message",t),clearTimeout(e),this.stopCache||(this.cache.forEach(e=>this.sendLog(e)),this.clearCache()))};self.addEventListener("message",t),e=setTimeout(()=>{self.removeEventListener("message",t),this.clearCache()},6e4)}readyForLog(){return!!this.port&&this.ready}sendLog(e){this.port.postMessage(e)}}function c(){let e=!1;try{e=!1}catch(e){}return e?new h:null}},function(e,t,r){"use strict";t.a=class{_drawWatermarkWithShadow(e){let{ctx:t,textPos:r,opacity:i,name:a}=e;t.fillStyle="rgba(0, 0, 0, ".concat(i,")"),t.fillText(a,r.x,r.y),t.fillStyle="rgba(255, 255, 255, ".concat(i,")"),t.fillText(a,r.x+1,r.y+1)}_getTransformInfo(e){let t,{canvas:r,position:i}=e;if(1===i)t={x:r.width/2,y:0,rateRadio:0,maxWidth:r.width};else if(2===i)t={x:r.width/2,y:r.height,rateRadio:0,maxWidth:r.width};else if(4===i)t={x:0,y:r.height/2,rateRadio:Math.PI/2,maxWidth:r.height};else if(8===i)t={x:r.width,y:r.height/2,rateRadio:-Math.PI/2,maxWidth:r.height};else{const e=-21*Math.PI/180;t={x:r.width/2,y:r.height/2,rateRadio:e,maxWidth:Math.min(r.width/Math.cos(e),-r.height/Math.sin(e))}}return t.maxWidth>100&&(t.maxWidth-=50),t}_calcTextPos(e){let{position:t,ctx:r,name:i,textWidth:a}=e;const s=this._getPaddingWidth({ctx:r,position:t,name:i});return 1===t?{x:-a.width/2,y:s}:2===t||4===t||8===t?{x:-a.width/2,y:-s}:{x:-a.width/2,y:r.measureText(i[0]).width/2}}_getPaddingWidth(e){let{ctx:t,position:r,name:i}=e;return[1,2,4,8].includes(r)?32:t.measureText(i[0]).width}_setBaseLine(e){let{ctx:t,position:r}=e;t.textBaseline=1===r?"top":2===r||4===r||8===r?"bottom":"middle"}Get_WaterMarkRGBA(e){let{canvas:t,name:r,width:i,height:a,opacity:s=.15,position:n,convertToDataUrl:o}=e;if(!r||!i||!a)return;s=s||.15;i*=1,a*=1,t.width=i,t.height=a;let l=this._getTransformInfo({canvas:t,position:n});var h=t.getContext("2d");let c;if(h.clearRect(0,0,t.width,t.height),h.translate(l.x,l.y),h.rotate(l.rateRadio),this._setBaseLine({ctx:h,position:n}),h.lineWidth=1,h.imageSmoothingEnabled=!0,1==r.length){const e=l.maxWidth/r.length;h.font=e+"px 'Segoe UI'",c=h.measureText(r)}else{let e=16;for(h.font=e+"px 'Segoe UI'",c=h.measureText(r);c.width<l.maxWidth-2*this._getPaddingWidth({ctx:h,position:n,name:r});)e+=1,h.font=e+"px 'Segoe UI'",c=h.measureText(r);if(c.width>l.maxWidth-2*this._getPaddingWidth({ctx:h,position:n,name:r}))if(e>16)e-=1,h.font=e+"px 'Segoe UI'",c=h.measureText(r);else{const e=r;for(;r.length>5&&c.width>l.maxWidth-2*this._getPaddingWidth({ctx:h,position:n,name:r+"..."});)r=r.slice(0,r.length-1),c=h.measureText(r+"...");e!==r&&(r+="...")}}const u=this._calcTextPos({position:n,ctx:h,name:r,textWidth:c});var d;if(this._drawWatermarkWithShadow({ctx:h,name:r,opacity:s,textPos:u}),o)d=t.toDataURL();else{var f=h.getImageData(0,0,h.canvas.width,h.canvas.height);d=new Uint8Array(f.data.buffer)}return h.rotate(-l.rateRadio),h.translate(-l.x,-l.y),d}Get_Repeated_WaterMarkRGBA(e){let{canvas:t,name:r,width:i,height:a,opacity:s=.15,position:n,convertToDataUrl:o}=e;if(!r||!i||!a)return;s=s||.15;i*=1,a*=1,t.width=i,t.height=a;const l=t.getContext("2d");l.clearRect(0,0,t.width,t.height),l.translate(i/2,a/2),l.rotate(-21*Math.PI/180),l.imageSmoothingEnabled=!0;l.font="".concat(32,"px 'Segoe UI'"),l.textBaseline="top";const h=l.measureText(r),c=.37*h.width;let u,d=0,f=-a;do{let e=d%2==0?c-i:-i;do{l.fillStyle="rgba(0, 0, 0, ".concat(s,")"),l.fillText(r,e,f),l.fillStyle="rgba(255, 255, 255, ".concat(s,")"),l.fillText(r,e+1,f+1),e+=h.width+c}while(e<i);f+=32+c,d++}while(f<a);if(o)u=t.toDataURL();else{const e=l.getImageData(0,0,l.canvas.width,l.canvas.height);u=new Uint8Array(e.data.buffer)}return l.rotate(21*Math.PI/180),l.translate(-i/2,-a/2),u}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var i=r(14);var a=function(e){let t=e||{};this._report_interval=t.interval||3e4,this._customer_callback=t.report_call,this._group_interval=t.group_interval||1e3,this._tag=t.tag||"WCL_M,V",this.last_capture_time=0,this._init_report_interval=t._report_interval<1e4?t._report_interval:1e4,this.threshold=200,this._enabled=!1,this.capture_fps=0,this.capture_fps_history=[],this.capture_total_fps=0,this.capture_timeout_report=new i.b({interval:this._report_interval,tag:this._tag+"CAPTUREDEL",reportcallback:this._capture_timeout_report.bind(this)}),this.close_frames=0,this.close_frames_history=[],this.close_total_frames=0,this.capture_ticket_count=0,this.ref_counts=0,this.unref_counts=0,this._interval_id=0,this._timeout_id=0,this._last_update_time=0};a.prototype._capture_timeout_report=function(e,t,r,i){if(this._customer_callback){let a="".concat(t,",").concat(r,",").concat(i);this._customer_callback(e,a)}},a.prototype._report=function(){if(!this._customer_callback)return;let e=(new Date).getTime(),t="".concat(this.capture_fps_history.length,"-").concat(this.capture_fps_history.join("|")),r="".concat(this.close_frames_history.length,"-").concat(this.close_frames_history.join("|")),i="".concat(e,"-").concat(this.capture_ticket_count,"-").concat(this.capture_total_fps,"-").concat(this.ref_counts,"-").concat(t),a="".concat(e,"-").concat(this.close_total_frames,"-").concat(this.unref_counts,"-").concat(r);this._customer_callback(this._tag+"CAPTURE",i),this._customer_callback(this._tag+"FCLOSE",a)},a.prototype._timeout_report=function(){this._timeout_id=0,this._report()},a.prototype._group=function(){this.capture_fps_history.push(this.capture_fps),this.close_frames_history.push(this.close_frames),this.capture_fps=0,this.close_frames=0;let e=performance.now();e>=this._last_update_time+this._init_report_interval&&(this._report(),this.capture_fps_history=[],this.close_frames_history=[],this._last_update_time=e,this._init_report_interval<this._report_interval&&(this._init_report_interval+=5e3,this._init_report_interval>this._report_interval&&(this._init_report_interval=this._report_interval)))},a.prototype.closeSample=function(){this.close_frames++,this.close_total_frames++},a.prototype.setCloseTotalFrames=function(e){this.close_total_frames=e},a.prototype.captureTicket=function(){this._enabled&&this.capture_ticket_count++},a.prototype.captureSample=function(){if(!this._enabled)return;this.capture_fps++,this.capture_total_fps++;let e=performance.now();if(this.last_capture_time){let t=e-this.last_capture_time;t>this.threshold&&this.capture_timeout_report.timeoutReport(t,e)}this.last_capture_time=e},a.prototype.ref=function(){this.ref_counts++},a.prototype.unref=function(){this.unref_counts++},a.prototype.start=function(){this._enabled||(0!=this._last_update_time&&(clearTimeout(this._last_update_time),this._last_update_time=0,this._report()),this.capture_fps=0,this.capture_fps_history=[],this.capture_total_fps=0,this.close_frames=0,this.close_frames_history=[],this.close_total_frames=0,this.capture_ticket_count=0,this._last_update_time=performance.now(),this._interval_id=setInterval(this._group.bind(this),this._group_interval),this._enabled=!0)},a.prototype.stop=function(){this._enabled&&(this._enabled=!1,this._interval_id&&clearInterval(this._interval_id),this._interval_id=0,(this.close_frames>0||this.capture_fps>0||this.capture_fps_history.length>0||this.close_frames_history>0)&&(this._timeout_id=setTimeout(this._timeout_report.bind(this),3e3)))}},function(e,t){e.exports=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";var i=r(0),a=r.n(i),s=r(1),n=r.n(s),o=r(3),l=r(2);function h(e,t){u(e,t),t.add(e)}function c(e,t,r){u(e,t),t.set(e,r)}function u(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function d(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var f=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,w=new WeakMap,T=new WeakMap,x=new WeakMap,R=new WeakMap,E=new WeakMap,S=new WeakMap,M=new WeakMap,C=new WeakMap,A=new WeakMap,P=new WeakMap,k=new WeakMap,O=new WeakMap,L=new WeakMap,I=new WeakMap,U=new WeakMap,D=new WeakMap,B=new WeakMap,W=new WeakSet,G=new WeakSet,V=new WeakSet,F=new WeakSet,N=new WeakSet,j=new WeakSet,H=new WeakSet,q=new WeakSet,X=new WeakSet,Y=new WeakSet,z=new WeakSet,K=new WeakSet,Q=new WeakSet,J=new WeakSet,Z=new WeakSet,$=new WeakSet,ee=new WeakSet,te=new WeakSet,re=new WeakSet,ie=new WeakSet;function ae(e){e&&e.forEach(e=>{e.markRenderingStatePending()});const t=d(this,Z,be).call(this,e);if(a()(this,y)&&a()(this,_)&&a()(this,x))if(a()(this,f)&&0!=a()(this,f).width&&0!=a()(this,f).height&&a()(this,_)&&a()(this,_).getCurrentTexture()&&0!=a()(this,_).getCurrentTexture().width&&0!=a()(this,_).getCurrentTexture().height)try{if(!a()(this,S)){const e=a()(this,B).byteLength,t=e;n()(this,S,a()(this,x).acquireBuffer(t,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,e,!0,!1)),new Float32Array(a()(this,S).getMappedRange()).set(a()(this,B)),a()(this,S).unmap()}const e=d(this,H,ce).call(this);for(const[r,i]of t)d(this,ee,ye).call(this,r,i,e);const r=d(this,J,ve).call(this,a()(this,_).getCurrentTexture().createView()),i=e.beginRenderPass(r);i.setVertexBuffer(0,a()(this,S));for(const[e,r]of t)if(r&&0!=r.length)for(const e of r){e.unlock();if(e.getTextureLayerType()==l.v.UNKNOWN)continue;const t=e.getTextureType();let r=e.getUVCoords();if(t!==l.x.CLEAR_COLOR&&!r)continue;const s=a()(this,f).width,n=a()(this,f).height;let o=e.getViewport();if(!o||Number.isNaN(o.x)||Number.isNaN(o.y)||Number.isNaN(o.w)||Number.isNaN(o.h)||o.x<0||o.y<0)continue;if(o.x+o.w>s){let e=o.x+o.w-s;if(!(e>0&&e<=l.i))continue;o.w-=e,o.w<=0&&(o.w=1)}if(o.y+o.h>n){let e=o.y+o.h-n;if(!(e>0&&e<=l.i))continue;o.h-=e,o.h<=0&&(o.h=1)}const h=d(this,$,_e).call(this,e);if(!h)continue;if(h.pipelineType!==l.l.CLEAR_COLOR){let t=e.getUVCoordsBuffer();if(!t){const i=r.byteLength;t=a()(this,x).acquireBuffer(i,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST,r.byteLength,!1,!1),e.setUVCoordsBuffer(t)}a()(this,y).queue.writeBuffer(t,0,r,0,r.length),i.setVertexBuffer(1,t)}i.setViewport(o.x,o.y,o.w,o.h,o.minDepth,o.maxDepth);const c=h.pipeline;i.setPipeline(c);const u=a()(this,y).createBindGroup({layout:c.getBindGroupLayout(0),entries:h.entries});i.setBindGroup(0,u),i.draw(6,1,0,0)}i.end(),d(this,q,ue).call(this)}catch(e){Object(o.u)("[WebGUPRenderer] renderNoMsaa() error:".concat(e.message))}finally{a()(this,b).recycleInUsedGPUBuffers(t)}else a()(this,b).recycleInUsedGPUBuffers(t);else a()(this,b).recycleInUsedGPUBuffers(t)}function se(e){if(!a()(this,y)||!a()(this,_))return;const t=a()(this,y).createBuffer({label:"VertexBuffer",size:a()(this,B).byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,mappedAtCreation:!0});new Float32Array(t.getMappedRange()).set(a()(this,B)),t.unmap();const r=d(this,H,ce).call(this),i=d(this,Z,be).call(this,e);for(const[e,t]of i)d(this,ee,ye).call(this,e,t,r);const s=d(this,ie,xe).call(this,a()(this,f)),n=d(this,Q,me).call(this,0,s.createView(),a()(this,_).getCurrentTexture().createView()),o=r.beginRenderPass(n);o.setVertexBuffer(0,t);for(const[e,t]of i)if(t&&0!=t.length)for(const e of t){e.unlock();if(e.getTextureLayerType()==l.v.UNKNOWN)continue;let t=e.getUVCoords();if(!t)continue;let r=e.getUVCoordsBuffer();if(!r){const i=t.byteLength;r=a()(this,x).acquireBuffer(i,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST,t.byteLength,!1,!0),e.setUVCoordsBuffer(r)}a()(this,y).queue.writeBuffer(r,0,t,0,t.length),o.setVertexBuffer(1,r);const i=a()(this,f).width,s=a()(this,f).height;let n=e.getViewport();if(!n||Number.isNaN(n.x)||Number.isNaN(n.y)||Number.isNaN(n.w)||Number.isNaN(n.h)||n.x<0||n.y<0||n.x+n.w>i||n.y+n.h>s)continue;const h=d(this,$,_e).call(this,e,!0);if(!h)continue;o.setViewport(n.x,n.y,n.w,n.h,n.minDepth,n.maxDepth);const c=h.pipeline;o.setPipeline(c);const u=a()(this,y).createBindGroup({layout:c.getBindGroupLayout(0),entries:h.entries});o.setBindGroup(0,u),o.draw(6,1,0,0)}o.end(),d(this,q,ue).call(this),e.forEach(e=>{e.markRenderingStatePending()})}function ne(e){if(!Array.isArray(e))return;let t=[];for(let r=0;r<e.length;++r){let i=e[r];t.push(i.x),t.push(i.y)}a()(this,B).set(t,0)}function oe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const i=e.getTextureBufferGroup();if(!a()(this,y))return console.warn("[evalYuvTextureGroup] GPUDevice is not ready!"),i&&i.buffer&&i.buffer.unmap(),null;if(!t)return console.warn("[evalYuvTextureGroup] command encoder is invalid!"),i&&i.buffer&&i.buffer.unmap(),null;if(!i)return r||null;"unmapped"!=i.buffer.mapState&&i.buffer.unmap();let s=null,n=null,o=null;const l=e.getWidth(),h=e.getHeight(),c=null!=r&&(l!=r.yPlaneTex.width||h!=r.yPlaneTex.height);let u=!0;r&&(c?(a()(this,b).destroyTextureGroup(e),u=!0):(s=r.yPlaneTex,n=r.uPlaneTex,o=r.vPlaneTex,u=!1));let d=!1,f="r8unorm";if(i&&i.bufferConfig&&"nv12"==i.bufferConfig.colorFormat&&(f="rg8unorm",d=!0),u){const t=e.getIndex(),r=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,i=a()(this,E).assembleTextureConfig(l,h,r,"r8unorm",1),c=a()(this,E).assembleTextureConfig(l/2,h/2,r,f,1);s=a()(this,E).acquireTexture(i),s&&(s.label="RD(".concat(t,")-YPlaneTexture")),d?(n=a()(this,E).acquireTexture(c),n&&(n.label="RD(".concat(t,")-UVPlaneTexture"))):(n=a()(this,E).acquireTexture(c),n&&(n.label="RD(".concat(t,")-UPlaneTexture")),o=a()(this,E).acquireTexture(c),o&&(o.label="RD(".concat(t,")-VPlaneTexture")))}t.copyBufferToTexture({buffer:i.buffer,offset:i.yPlaneBuffer.offset,bytesPerRow:i.yPlaneBuffer.bytesPerRow,rowsPerImage:i.yPlaneBuffer.rowsPerImage},{texture:s},[l,h,1]),t.copyBufferToTexture({buffer:i.buffer,offset:i.uPlaneBuffer.offset,bytesPerRow:i.uPlaneBuffer.bytesPerRow,rowsPerImage:i.uPlaneBuffer.rowsPerImage},{texture:n},[l/2,h/2,1]),i.vPlaneBuffer.offset>0&&!d&&t.copyBufferToTexture({buffer:i.buffer,offset:i.vPlaneBuffer.offset,bytesPerRow:i.vPlaneBuffer.bytesPerRow,rowsPerImage:i.vPlaneBuffer.rowsPerImage},{texture:o},[l/2,h/2,1]);let p={};return p.yPlaneTex=s,p.uPlaneTex=n,p.vPlaneTex=o,p}function le(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const i=e.getTextureBufferGroup();if(!a()(this,y))return console.warn("[evalRgbaTexture] GPUDevice is not ready!"),i&&i.buffer&&i.buffer.unmap(),null;if(!t)return console.warn("[evalRgbaTexture] command encoder is invalid!"),i&&i.buffer&&i.buffer.unmap(),null;if(!i)return r||null;"unmapped"!=i.buffer.mapState&&i.buffer.unmap();const s=e.getIndex(),n=e.getWidth(),o=e.getHeight(),l=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let h=null;const c=null!=r&&(n!=r.width||o!=r.height);let u=!0;if(r&&(c?(a()(this,b).destroyTextureGroup(e),u=!0):(h=r,u=!1)),u){const e=a()(this,E).assembleTextureConfig(n,o,l,"rgba8unorm",1);h=a()(this,E).acquireTexture(e),h&&(h.label="RD(".concat(s,")-rgbaTexture"))}return t.copyBufferToTexture({buffer:i.buffer,offset:0,bytesPerRow:i.bytesPerRow,rowsPerImage:i.rowsPerImage},{texture:h},[n,o,1]),h}function he(e,t){return Math.ceil(e/t)*t}function ce(){return a()(this,y)?(a()(this,T)||n()(this,T,a()(this,y).createCommandEncoder()),a()(this,T)):(Object(o.u)("GPUDevice is not ready! No available command encoder."),null)}function ue(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;a()(this,T)&&e?a()(this,y).queue.submit([a()(this,T).finish(),e.finish()]):a()(this,T)?a()(this,y).queue.submit([a()(this,T).finish()]):e&&a()(this,y).queue.submit([e.finish()]),n()(this,T,null)}function de(e,t){if(!a()(this,y))return null;if(!a()(this,I)){let r=a()(this,y).createBindGroupLayout({label:"CursorTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]});if(!r)return null;const i=a()(this,y).createPipelineLayout({label:"CursorTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[r]}),s={label:"CursorTexRenderPipeline(".concat(e,")"),layout:i,vertex:{module:a()(this,y).createShaderModule({code:l.e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:l.e}),entryPoint:"f_main",targets:[{format:a()(this,w),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(s.multisample={count:4}),n()(this,I,a()(this,y).createRenderPipeline(s))}return a()(this,I)}function fe(e,t){if(!a()(this,y))return null;if(!a()(this,L)){let r=a()(this,y).createBindGroupLayout({label:"WatermarkTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}}]});if(!r)return null;const i=a()(this,y).createPipelineLayout({label:"WatermarkTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[r]}),s={label:"WatermarkTexRenderPipeline(".concat(e,")"),layout:i,vertex:{module:a()(this,y).createShaderModule({code:l.B}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:l.B}),entryPoint:"f_main",targets:[{format:a()(this,w),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(s.multisample={count:4}),n()(this,L,a()(this,y).createRenderPipeline(s))}return a()(this,L)}function pe(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!a()(this,y)||!e)return null;if(!a()(this,P)){const r=a()(this,y).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:6,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),i={label:"YuvRenderPipeline",layout:a()(this,y).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[r]}),vertex:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:a()(this,w)}]},primitive:{topology:"triangle-list"}};t&&(i.multisample={count:4}),n()(this,P,a()(this,y).createRenderPipeline(i))}return a()(this,P)}function ge(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!a()(this,y)||!e)return null;if(!a()(this,k)){const r=a()(this,y).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:5,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),i={label:"YuvRenderPipeline",layout:a()(this,y).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[r]}),vertex:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:a()(this,w)}]},primitive:{topology:"triangle-list"}};t&&(i.multisample={count:4}),n()(this,k,a()(this,y).createRenderPipeline(i))}return a()(this,k)}function me(e,t,r){return{label:"renderPass - ".concat(e),colorAttachments:[{view:t,resolveTarget:r,loadOp:"clear",storeOp:"discard"}]}}function ve(e){return e&&(e.label="canvas-texture-view"),{label:"RenderPassNoMsaa",colorAttachments:[{view:e,loadOp:"clear",storeOp:"store"}]}}function be(e){let t=new Map;for(let r=0;r<e.length;++r){const i=e[r].getTextureLayersMap();for(let e=l.w.VS_BASE;e<l.w.END;++e)if(i.has(e)){const r=i.get(e);if(r){let i=t.get(e);i||(i=[]),i.push(r),t.set(e,i)}}}return t}function _e(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=null,i=null,s=null,n=null;const o=e.getZIndex(),h=e.getTextureType(),c=e.getColorFormat();if(o==l.w.VS_BASE){if(h==l.x.EXTERNAL_TEX){n=l.l.VIDEO_FRAME,r=this.acquireVideoFrameRenderPipeline(l.y,t),i=this.acquireVideoFrameSampler();const o=e.getPendingVideoFrame();if(!o||0==o.codedWidth||0==o.codedHeight||!o.format)return e.setPendingVideoFrame(null),null;const h=e.getUniformBuffer();if(!h)return null;s=[{binding:0,resource:i},{binding:1,resource:a()(this,y).importExternalTexture({source:o})},{binding:2,resource:{buffer:h}}]}else if(h==l.x.CLEAR_COLOR){n=l.l.CLEAR_COLOR,r=this.acquireClearColorRenderPipeline(l.c);const t=e.getClearColorUniformBuffer();if(!t)return null;s=[{binding:0,resource:{buffer:t}}]}else if(h==l.x.GPU_TEX_YUV){"i420"==c?(n=l.l.YUV_I420,r=d(this,z,pe).call(this,l.z,t)):"nv12"==c&&(n=l.l.YUV_NV12,r=d(this,K,ge).call(this,l.A,t)),i=this.acquireYuvTexturesSamplers();const a=e.getUniformBuffer();if(!a)return null;const o=e.getTextureGroup();o&&("i420"==c?s=[{binding:0,resource:i[0]},{binding:1,resource:i[1]},{binding:2,resource:o.yPlaneTex.createView()},{binding:3,resource:o.uPlaneTex.createView()},{binding:4,resource:o.vPlaneTex.createView()},{binding:5,resource:{buffer:a}},{binding:6,resource:{buffer:a}}]:"nv12"==c&&(s=[{binding:0,resource:i[0]},{binding:1,resource:i[1]},{binding:2,resource:o.yPlaneTex.createView()},{binding:3,resource:o.uPlaneTex.createView()},{binding:4,resource:{buffer:a}},{binding:5,resource:{buffer:a}}]))}}else if(o==l.w.WATERMARK||o==l.w.MASK){n=l.l.RGBA_WATERMARK,r=d(this,Y,fe).call(this,o,t),i=this.acquireBlendTextureSampler();const a=e.getTextureGroup();a&&(s=[{binding:0,resource:i},{binding:1,resource:a.createView()}])}else if(o==l.w.CURSOR){n=l.l.RGBA_CURSOR,r=d(this,X,de).call(this,o,t),i=this.acquireBlendTextureSampler();const a=e.getUniformBuffer();if(!a)return null;const h=e.getTextureGroup();h&&(s=[{binding:0,resource:i},{binding:1,resource:h.createView()},{binding:2,resource:{buffer:a}}])}if(n===l.l.CLEAR_COLOR){if(!r||!s)return null}else if(!r||!i||!s||null==n)return null;const u={pipelineType:n,pipeline:r,entries:s};return u}function ye(e,t,r){for(const i of t){const t=i.getTextureType();t!=l.x.EXTERNAL_TEX&&t!=l.x.CLEAR_COLOR&&(e==l.w.VS_BASE?d(this,te,we).call(this,i,r):e!=l.w.CURSOR&&e!=l.w.WATERMARK&&e!=l.w.MASK||d(this,re,Te).call(this,i,r))}}function we(e,t){let r=e.getTextureGroup();r?e.isNew()&&(r=d(this,F,oe).call(this,e,t,r),e.setIsNew(!1)):(r=d(this,F,oe).call(this,e,t,null),e.setIsNew(!1)),r&&e.setTextureGroup(r)}function Te(e,t){let r=e.getTextureGroup();r?e.isNew()&&(r=d(this,N,le).call(this,e,t,r),e.setIsNew(!1)):(r=d(this,N,le).call(this,e,t,null),e.setIsNew(!1)),r&&e.setTextureGroup(r)}function xe(e){if(!e||!a()(this,y))return a()(this,D)?a()(this,D):null;if(a()(this,D)){if(a()(this,D).width!=e.width||a()(this,D).height!=e.height){const t=a()(this,E).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,a()(this,w),4);n()(this,D,a()(this,E).acquireTexture(t))}}else{const t=a()(this,E).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,a()(this,w),4);n()(this,D,a()(this,E).acquireTexture(t))}return a()(this,D)}var Re=class{constructor(e,t){if(h(this,ie),h(this,re),h(this,te),h(this,ee),h(this,$),h(this,Z),h(this,J),h(this,Q),h(this,K),h(this,z),h(this,Y),h(this,X),h(this,q),h(this,H),h(this,j),h(this,N),h(this,F),h(this,V),h(this,G),h(this,W),c(this,f,{writable:!0,value:null}),c(this,p,{writable:!0,value:0}),c(this,g,{writable:!0,value:0}),c(this,m,{writable:!0,value:!1}),c(this,v,{writable:!0,value:!1}),c(this,b,{writable:!0,value:null}),c(this,_,{writable:!0,value:null}),c(this,y,{writable:!0,value:null}),c(this,w,{writable:!0,value:null}),c(this,T,{writable:!0,value:null}),c(this,x,{writable:!0,value:null}),c(this,R,{writable:!0,value:null}),c(this,E,{writable:!0,value:null}),c(this,S,{writable:!0,value:null}),c(this,M,{writable:!0,value:null}),c(this,C,{writable:!0,value:null}),c(this,A,{writable:!0,value:null}),c(this,P,{writable:!0,value:null}),c(this,k,{writable:!0,value:null}),c(this,O,{writable:!0,value:null}),c(this,L,{writable:!0,value:null}),c(this,I,{writable:!0,value:null}),c(this,U,{writable:!0,value:null}),c(this,D,{writable:!0,value:null}),c(this,B,{writable:!0,value:new Float32Array(12)}),!t)throw new Error("[WebGPURenderer] resMgr is an invalid param! ".concat(t));n()(this,f,e),n()(this,b,t),this.initialize(e)}switchMsaa(e){n()(this,v,e)}isMsaaEnabled(){return a()(this,v)}setCanvas(e){e&&n()(this,f,e)}setDevice(e){e&&n()(this,y,e)}setRenderArgs(e,t){n()(this,p,e||0),n()(this,g,a()(this,p)?3:t?4:6),n()(this,m,t||!1)}setTextureIndex(e){n()(this,p,e||0)}initialize(e){a()(this,y)||(n()(this,y,a()(this,b).acquireGPUDevice()),a()(this,y))?(a()(this,w)||n()(this,w,a()(this,b).acquireCanvasFormat()),a()(this,x)||n()(this,x,a()(this,b).acquireGPUBufferMgr()),a()(this,R)||n()(this,R,a()(this,b).acquireGPUBufferPool()),a()(this,E)||n()(this,E,a()(this,b).acquireGPUTextureMgr()),this.configureGPUContext(e),d(this,V,ne).call(this,l.b)):Object(o.u)("[WebGPURenderer] initialize() device is not ready!")}isGPUDeviceReady(){return null!=a()(this,y)}render(e){a()(this,v)?d(this,G,se).call(this,e):d(this,W,ae).call(this,e)}updateVertexCoords(e){d(this,V,ne).call(this,e)}createRGBATexture(e,t,r,i,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;if(t<0)return Object(o.u)("[createRGBATexture] ".concat(t," is an invalid index!")),null;if(!a()(this,x))return console.warn("[createRGBATexture] buffer manager is not ready!"),null;if(!a()(this,y))return console.warn("[createRGBATexture] GPUDevice is not ready!"),null;if(null==s||void 0===s)return console.warn("[createRGBATexture] rgbaData is invalid!"),null;if(!e)return console.warn("[createRGBATexture] command encoder is invalid!"),null;const l=d(this,j,he).call(this,Uint32Array.BYTES_PER_ELEMENT*r,256),h=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC,c=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let u=null;const f=null!=n&&(r!=n.width||i!=n.height);let p=!0;if(n&&(f?(a()(this,E).recycleTexture(n),p=!0):(u=n,p=!1)),p){const e=a()(this,E).assembleTextureConfig(r,i,c,"rgba8unorm",1);u=a()(this,E).acquireTexture(e),u&&(u.label="RD(".concat(t,")-rgbaTexture"))}const g=a()(this,x).acquireBuffer("".concat(t,"_Y"),h,l*i,!0,!1),m=new Uint8Array(g.getMappedRange()),v=r*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<i;++e)m.set(s.subarray(e*v,(e+1)*v),e*l);return g.unmap(),e.copyBufferToTexture({buffer:g,offset:0,bytesPerRow:l,rowsPerImage:i},{texture:u},[r,i,1]),u}writeToYuvTexturesBufferGroup(e,t){if(!(a()(this,x)&&e&&t&&t.buffer&&t.bufferConfig&&"mapped"==t.buffer.mapState))return null;let r=e.yPlane,i=e.cbPlane,s=e.crPlane;const n=d(this,j,he).call(this,Uint8Array.BYTES_PER_ELEMENT*r.width,256);let o=Uint8Array.BYTES_PER_ELEMENT;"nv12"==t.bufferConfig.colorFormat&&(o=Uint16Array.BYTES_PER_ELEMENT);const l=d(this,j,he).call(this,o*i.width,256),h=n*r.height;let c=0,u=n*r.height+l*i.height;s&&s.buffer&&(u+=l*s.height,c=0+h+l*i.height);let f=t.buffer,p=t.bufferArray;p||(p=f.getMappedRange(0,u),t.bufferArray=p);const g=new Uint8Array(p),m=r.width*Uint8Array.BYTES_PER_ELEMENT;if(0+r.height*n>=g.length)return console.error("[WebGPURenderer] write yPlane is out of range! yPlaneOffset=".concat(0,", yPlane.height=").concat(r.height,", yPlaneBytesPerRow=").concat(n,", mappedArray.len=").concat(g.length)),null;for(let e=0;e<r.height;++e)g.set(r.buffer.subarray(e*m,(e+1)*m),0+e*n);let v=m/2;if(0==c&&(v=i.width*Uint16Array.BYTES_PER_ELEMENT),h+i.height*l>g.length)return null;for(let e=0;e<i.height;++e)g.set(i.buffer.subarray(e*v,(e+1)*v),h+e*l);if(c>0){if(c+s.height*l>g.length)return null;for(let e=0;e<s.height;++e)g.set(s.buffer.subarray(e*v,(e+1)*v),c+e*l)}return t.buffer=f,t.yPlaneBuffer={bytesPerRow:n,rowsPerImage:r.height,offset:0},t.uPlaneBuffer={bytesPerRow:l,rowsPerImage:i.height,offset:h},t.vPlaneBuffer={bytesPerRow:l,rowsPerImage:s.height,offset:c},t}writeToRgbaTextureBuffer(e,t,r,i,s){if(!(a()(this,x)&&i&&s&&s.buffer))return null;const n=d(this,j,he).call(this,Uint32Array.BYTES_PER_ELEMENT*t,256),o=s.buffer;let l=s.bufferArray;l||(l=o.getMappedRange(),s.bufferArray=l);const h=new Uint8Array(l),c=t*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<r;++e)h.set(i.subarray(e*c,(e+1)*c),e*n);return s.buffer=o,s.bytesPerRow=n,s.rowsPerImage=r,s}produceVideoFrame(e,t){return new VideoFrame(e,t)}writeUniformBuffer(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!a()(this,y))return Object(o.u)("writeUniformBuffer() GPUDevice is not ready yet."),null;if(!t||0==t.length)return null;let i=r;return i||(i=a()(this,y).createBuffer({label:e,size:t.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})),a()(this,y).queue.writeBuffer(i,0,t,0,t.length),i}acquireBlendTextureSampler(){return a()(this,y)?(a()(this,U)||n()(this,U,a()(this,y).createSampler({})),a()(this,U)):null}configureGPUContext(e){a()(this,_)||(n()(this,_,e.getContext("webgpu")),a()(this,_)?a()(this,_).configure({device:a()(this,y),format:a()(this,w),alphaMode:"premultiplied"}):Object(o.u)("configureGPUContext() webgpuContext is invalid! canvas=".concat(e)))}unconfigureGPUContext(){a()(this,_)&&(a()(this,_).unconfigure(),n()(this,_,null))}acquireVideoFrameRenderPipeline(e,t){if(!a()(this,y)||!e)return null;if(!a()(this,M)){const r=a()(this,y).createBindGroupLayout({label:"VideoFrameBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,externalTexture:{}},{binding:2,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),i={label:"VideoFrameRenderPipeline",layout:a()(this,y).createPipelineLayout({label:"VideoFramePipelineLayout",bindGroupLayouts:[r]}),vertex:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:a()(this,w)}]},primitive:{topology:"triangle-list"}};t&&(i.multisample={count:4}),n()(this,M,a()(this,y).createRenderPipeline(i))}return a()(this,M)}acquireClearColorRenderPipeline(e){if(!a()(this,y)||!e)return null;if(!a()(this,C)){const t=a()(this,y).createBindGroupLayout({label:"ClearColorBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),r={label:"ClearColorRenderPipeline",layout:a()(this,y).createPipelineLayout({label:"ClearColorPipelineLayout",bindGroupLayouts:[t]}),vertex:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:e}),entryPoint:"f_main",targets:[{format:a()(this,w)}]},primitive:{topology:"triangle-list"}};n()(this,C,a()(this,y).createRenderPipeline(r))}return a()(this,C)}acquireVideoFrameSampler(){return a()(this,y)?(a()(this,A)||n()(this,A,a()(this,y).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"})),a()(this,A)):null}acquireYuvTexturesSamplers(){if(!a()(this,y))return null;if(!a()(this,O)){n()(this,O,[]);const e=a()(this,y).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"}),t=a()(this,y).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"});a()(this,O).push(e),a()(this,O).push(t)}return a()(this,O)}clearAttachedCanvas(){if(!a()(this,y)||!a()(this,_)||!a()(this,S))return;if(!a()(this,f)||0==a()(this,f).width||0==a()(this,f).height)return;const e=a()(this,y).createCommandEncoder(),t=e.beginRenderPass({colorAttachments:[{view:a()(this,_).getCurrentTexture().createView(),clearValue:{r:0,g:0,b:0,a:1},loadOp:"clear",storeOp:"store"}]}),r=a()(this,y).createRenderPipeline({layout:"auto",vertex:{module:a()(this,y).createShaderModule({code:l.d}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:a()(this,y).createShaderModule({code:l.d}),entryPoint:"f_main",targets:[{format:a()(this,w)}]},primitive:{topology:"triangle-list"}});t.setVertexBuffer(0,a()(this,S)),t.setPipeline(r),t.draw(6),t.end(),a()(this,y).queue.submit([e.finish()])}clear(){console.log("WebGPURender.clear")}cleanup(){this.unconfigureGPUContext(),n()(this,f,null),n()(this,w,null),n()(this,T,null),n()(this,S,null),n()(this,M,null),n()(this,C,null),n()(this,A,null),n()(this,P,null),n()(this,k,null),n()(this,O,null),n()(this,L,null),n()(this,I,null),n()(this,U,null),n()(this,D,null),a()(this,x)&&n()(this,x,null),a()(this,y)&&n()(this,y,null)}};function Ee(e,t){Me(e,t),t.add(e)}function Se(e,t,r){Me(e,t),t.set(e,r)}function Me(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ce(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Ae=new WeakMap,Pe=new WeakMap,ke=new WeakMap,Oe=new WeakMap,Le=new WeakSet,Ie=new WeakSet,Ue=new WeakSet,De=new WeakSet,Be=new WeakSet;function We(){return!0}function Ge(){if(a()(this,ke)){let e={};return e.architecture=a()(this,ke).architecture,e.vendor=a()(this,ke).vendor,e}return null}async function Ve(){if(!navigator.gpu)return n()(this,Ae,l.C.NOT_SUPPORTED),!1;const e=await navigator.gpu.requestAdapter();if(!e)return n()(this,Ae,l.C.CANNOT_REQ_ADAPTER),!1;return await e.requestDevice()?("function"==typeof e.requestAdapterInfo?(n()(this,ke,await e.requestAdapterInfo()),a()(this,ke)&&console.log("adapter info: ".concat(a()(this,ke).architecture,", ").concat(a()(this,ke).vendor))):"info"in e&&n()(this,ke,e.info),n()(this,Ae,l.C.AVAILABLE),!0):(n()(this,Ae,l.C.CANNOT_REQ_DEVICE),!1)}function Fe(e){if(!e)return!1;const t=e.vendor;return-1!==l.g.indexOf(t)}function Ne(e,t,r){return class{static produce(e,t,r){let i=null;return e===l.j.WEBGPU&&(i=new Re(t,r)),i}}.produce(e,t,r)}var je=class{constructor(){Ee(this,Be),Ee(this,De),Ee(this,Ue),Ee(this,Ie),Ee(this,Le),Se(this,Ae,{writable:!0,value:l.C.AVAILABLE}),Se(this,Pe,{writable:!0,value:l.j.WEBGL}),Se(this,ke,{writable:!0,value:null}),Se(this,Oe,{writable:!0,value:new Map})}async evaluate(e){n()(this,Pe,l.j.WEBGL);if(!Ce(this,Le,We).call(this))return a()(this,Pe);if(!e.allowedOnTargetPlatforms)return a()(this,Pe);if(!e.allowedOnTargetBrowsers)return a()(this,Pe);if(!await Ce(this,Ue,Ve).call(this))return a()(this,Pe);const t=Ce(this,Ie,Ge).call(this);if(!Ce(this,De,Fe).call(this,t))return a()(this,Pe);let r=new OffscreenCanvas(1,1);return r.getContext("webgpu")?(r=null,n()(this,Pe,l.j.WEBGPU),a()(this,Pe)):(r=null,a()(this,Pe))}acquireRenderer(e,t){let r=null;return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&a()(this,Oe).clear(),a()(this,Oe).has(e)&&(r=a()(this,Oe).get(e),r&&(e&&(r.setCanvas(e),r.initialize(e)),t&&r.setDevice(t.acquireGPUDevice()))),null==r&&(r=Ce(this,Be,Ne).call(this,a()(this,Pe),e,t),r&&a()(this,Oe).set(e,r)),r}rendererReinitialize(){if(a()(this,Oe))for(const[e,t]of a()(this,Oe))t&&t.initialize(e)}rendererUnconfigureGPUContext(){if(a()(this,Oe))for(const[e,t]of a()(this,Oe))t&&t.unconfigureGPUContext()}getRendererType(){return a()(this,Pe)}setRendererType(e){n()(this,Pe,e)}isWebGPURendererType(){return a()(this,Pe)===l.j.WEBGPU}isWebGLRendererType(){return a()(this,Pe)===l.j.WEBGL}isWebGL2RendererType(){return a()(this,Pe)===l.j.WEBGL_2}cleanup(){for(const[e,t]of a()(this,Oe))t&&t.cleanup();a()(this,Oe).clear()}};function He(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function qe(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Xe=new WeakSet,Ye=new WeakSet;function ze(e){e.forEach(e=>{e.consumePendingGPUEvents()})}function Ke(e){if(!e||0==e.length)return!0;return-1==e.findIndex(e=>{if(!e)return!1;return!!e.getTextureLayerByZIndex(l.w.VS_BASE)&&e.isRenderingStateReady()})}var Qe=class{constructor(){He(this,Ye),He(this,Xe)}render(e,t){return e?e.isGPUDeviceReady()?t&&0!=t.length?(qe(this,Xe,ze).call(this,t),void(qe(this,Ye,Ke).call(this,t)||e.render(t))):(console.warn("[RendererController] render displays are not available!"),void Object(o.o)("WGPU RendererController_render() displays are not available!")):(console.log("[RendererController] GPU device is not ready!"),void Object(o.o)("WGPU RendererController_render() GPU device is not ready!")):(console.warn("[RendererController] renderer is not attached!"),void Object(o.o)("WGPU RendererController_render() renderer is not attached!"))}},Je=r(20),Ze=r(21),$e=r(7),et=r.n($e),tt=r(4);function rt(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var it=new WeakMap,at=new WeakMap,st=new WeakMap,nt=new WeakMap,ot=new WeakMap,lt=new WeakMap,ht=new WeakMap,ct=new WeakMap,ut=new WeakMap,dt=new WeakMap,ft=new WeakMap,pt=new WeakMap,gt=new WeakMap,mt=new WeakMap,vt=new WeakMap,bt=new WeakMap,_t=new WeakMap,yt=new WeakMap;var wt=class{constructor(e,t){rt(this,it,{writable:!0,value:0}),rt(this,at,{writable:!0,value:-1}),rt(this,st,{writable:!0,value:0}),rt(this,nt,{writable:!0,value:0}),rt(this,ot,{writable:!0,value:-1}),rt(this,lt,{writable:!0,value:null}),rt(this,ht,{writable:!0,value:-1}),rt(this,ct,{writable:!0,value:null}),rt(this,ut,{writable:!0,value:null}),rt(this,dt,{writable:!0,value:null}),rt(this,ft,{writable:!0,value:!1}),rt(this,pt,{writable:!0,value:null}),rt(this,gt,{writable:!0,value:null}),rt(this,mt,{writable:!0,value:null}),rt(this,vt,{writable:!0,value:null}),rt(this,bt,{writable:!0,value:null}),rt(this,_t,{writable:!0,value:!1}),rt(this,yt,{writable:!0,value:""}),n()(this,it,e),n()(this,at,t)}getIndex(){return a()(this,it)}lock(){n()(this,ft,!0)}unlock(){n()(this,ft,!1)}isLocked(){return a()(this,ft)}getZIndex(){return a()(this,at)}setWidth(e){n()(this,st,e)}setHeight(e){n()(this,nt,e)}getWidth(){return a()(this,st)}getHeight(){return a()(this,nt)}getRawData(){return a()(this,lt)}setRawData(e){n()(this,lt,e)}setIsNew(e){n()(this,_t,e)}isNew(){return a()(this,_t)}setColorFormat(e){n()(this,yt,e)}getColorFormat(){return a()(this,yt)}setPendingVideoFrame(e){a()(this,pt)&&(a()(this,pt).close(),n()(this,pt,null)),n()(this,pt,e)}clearPendingVideoFrame(){a()(this,pt)&&(a()(this,pt).close(),n()(this,pt,null))}setTextureLayerType(e){n()(this,ot,e)}getTextureLayerType(){return a()(this,ot)}setTextureType(e){n()(this,ht,e)}getTextureType(){return a()(this,ht)}getPendingVideoFrame(){return a()(this,pt)}getUVCoords(){return a()(this,ut)}setUVCoords(e){n()(this,ut,e)}getUVCoordsBuffer(){return a()(this,vt)}setUVCoordsBuffer(e){n()(this,vt,e)}evalViewport(e,t,r,i,s){a()(this,dt)||n()(this,dt,{}),a()(this,dt).x=Math.floor(e),a()(this,dt).w=Math.floor(r),a()(this,dt).h=Math.floor(i),a()(this,ot)==l.v.BASE_LAYER?a()(this,dt).y=Math.floor(s-(t+i)):a()(this,dt).y=Math.floor(t),a()(this,dt).x<0&&(a()(this,dt).x=0),a()(this,dt).y<0&&(a()(this,dt).y=0),a()(this,dt).minDepth=0,a()(this,dt).maxDepth=1}setViewport(e){n()(this,dt,e)}getViewport(){return a()(this,dt)}getTextureGroup(){return a()(this,ct)}setTextureGroup(e){n()(this,ct,e)}setUniformBuffer(e){n()(this,gt,e)}getUniformBuffer(){return a()(this,gt)}setClearColorUniformBuffer(e){n()(this,mt,e)}getClearColorUniformBuffer(){return a()(this,mt)}setTextureBufferGroup(e){n()(this,bt,e)}getTextureBufferGroup(){return a()(this,bt)}destroyTextureBufferGroup(){a()(this,bt)&&n()(this,bt,null)}recycle(e){this.destroyTextureBufferGroup(),e&&e.destroyTextureGroup(this),a()(this,pt)&&(a()(this,pt).close(),n()(this,pt,null)),a()(this,gt)&&(a()(this,gt).destroy(),n()(this,gt,null)),a()(this,mt)&&(a()(this,mt).destroy(),n()(this,mt,null)),n()(this,it,-1),n()(this,at,-1),n()(this,ot,l.v.UNKNOWN),n()(this,lt,null),n()(this,ht,l.x.UNKNOWN),n()(this,ut,null),n()(this,dt,null),n()(this,ft,!1),n()(this,_t,!1),n()(this,yt,"")}},Tt=r(9);function xt(e,t){Et(e,t),t.add(e)}function Rt(e,t,r){Et(e,t),t.set(e,r)}function Et(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function St(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Mt=new WeakMap,Ct=new WeakMap,At=new WeakMap,Pt=new WeakMap,kt=new WeakMap,Ot=new WeakMap,Lt=new WeakMap,It=new WeakMap,Ut=new WeakMap,Dt=new WeakMap,Bt=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,Vt=new WeakMap,Ft=new WeakMap,Nt=new WeakMap,jt=new WeakMap,Ht=new WeakMap,qt=new WeakMap,Xt=new WeakMap,Yt=new WeakMap,zt=new WeakMap,Kt=new WeakMap,Qt=new WeakMap,Jt=new WeakMap,Zt=new WeakMap,$t=new WeakMap,er=new WeakMap,tr=new WeakMap,rr=new WeakMap,ir=new WeakMap,ar=new WeakMap,sr=new WeakMap,nr=new WeakMap,or=new WeakMap,lr=new WeakMap,hr=new WeakMap,cr=new WeakMap,ur=new WeakMap,dr=new WeakMap,fr=new WeakSet,pr=new WeakSet,gr=new WeakSet,mr=new WeakSet,vr=new WeakSet,br=new WeakSet,_r=new WeakSet,yr=new WeakSet,wr=new WeakSet,Tr=new WeakSet,xr=new WeakSet,Rr=new WeakSet,Er=new WeakSet,Sr=new WeakSet,Mr=new WeakSet,Cr=new WeakSet,Ar=new WeakSet,Pr=new WeakSet,kr=new WeakSet,Or=new WeakSet,Lr=new WeakSet,Ir=new WeakSet,Ur=new WeakSet,Dr=new WeakSet,Br=new WeakSet,Wr=new WeakSet,Gr=new WeakSet,Vr=new WeakSet,Fr=new WeakSet,Nr=new WeakSet;function jr(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(St(this,Rr,ei).call(this),!a()(this,Vt)||!a()(this,Ft)||!a()(this,Vt).isGPUDeviceReady())return void(r instanceof VideoFrame&&r.close());const s=l.w.VS_BASE,n=St(this,Sr,ri).call(this,s),h=n.isLocked();if(h){const a=n.getPendingVideoFrame();!a||a.codedWidth==e&&a.codedHeight==t?r instanceof VideoFrame&&r.close():r instanceof VideoFrame?n.setPendingVideoFrame(r):(i&&St(this,gr,qr).call(this,n,e,t,r),Object(o.u)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!"))}else{if(r instanceof VideoFrame){n.getPendingVideoFrame()!=r&&n.setPendingVideoFrame(r)}else i&&St(this,gr,qr).call(this,n,e,t,r),Object(o.u)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!");n.setTextureLayerType(l.v.BASE_LAYER),n.setTextureType(l.x.EXTERNAL_TEX),n.lock()}this.markRenderingStateReady()}function Hr(e,t,r,i,s,n){St(this,Rr,ei).call(this);const o=l.w.VS_BASE,h=St(this,Sr,ri).call(this,o);if(h.setTextureLayerType(l.v.BASE_LAYER),h.setTextureType(l.x.GPU_TEX_YUV),h.clearPendingVideoFrame(),h.isLocked()){const e=h.getWidth(),i=h.getHeight();e==t&&i==r||(h.setWidth(t),h.setHeight(r),h.setIsNew(!0))}else h.setWidth(t),h.setHeight(r),h.setIsNew(!0),h.lock();const c=St(this,Dr,di).call(this,i,t,r,n),u=a()(this,Vt).writeToYuvTexturesBufferGroup(c,s);h.setTextureBufferGroup(u)}function qr(e,t,r,i){const s=St(this,Wr,pi).call(this,t,r);s.label="RgbaTexBuffer(".concat(e.getIndex(),")-").concat(s.size);let n=e.getTextureBufferGroup();if(n=St(this,Gr,gi).call(this,e,n,s),!n||!n.buffer)return console.warn("[updateRgbaBaseTexLayer()] texLayer(".concat(e.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();St(this,br,zr).call(this,a()(this,Mt),t,r,i,n),this.markRenderingStateReady()}function Xr(e,t,r,i,s){const n=l.w.CURSOR,o=St(this,Sr,ri).call(this,n);if(o.setTextureLayerType(l.v.BLEND_LAYER),o.setTextureType(l.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),i=o.getHeight();e==t&&i==r||(o.setWidth(t),o.setHeight(r),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(r),o.setIsNew(!0),o.lock();const h=a()(this,Vt).writeToRgbaTextureBuffer(e,t,r,i,s);o.setTextureBufferGroup(h)}function Yr(e,t,r,i,s){const n=l.w.WATERMARK,o=St(this,Sr,ri).call(this,n);if(o.setTextureLayerType(l.v.BLEND_LAYER),o.setTextureType(l.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),i=o.getHeight();e==t&&i==r||(o.setWidth(t),o.setHeight(r),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(r),o.setIsNew(!0),o.lock();const h=a()(this,Vt).writeToRgbaTextureBuffer(e,t,r,i,s);o.setTextureBufferGroup(h)}function zr(e,t,r,i,s){const n=l.w.VS_BASE,o=St(this,Sr,ri).call(this,n);if(o.setTextureLayerType(l.v.BASE_LAYER),o.setTextureType(l.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),i=o.getHeight();e==t&&i==r||(o.setWidth(t),o.setHeight(r),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(r),o.setIsNew(!0),o.lock();const h=a()(this,Vt).writeToRgbaTextureBuffer(e,t,r,i,s);o.setTextureBufferGroup(h)}function Kr(e,t,r){if(!St(this,Fr,vi).call(this,e))return;if(!a()(this,Ft))return void console.log("drawVideoFrameBaseTextureLayer() canvas is invalid? canvas=".concat(a()(this,Ft)));const i=l.w.VS_BASE,s=St(this,Sr,ri).call(this,i);let n=s.getUVCoords(),o=St(this,wr,Jr).call(this,a()(this,Pt),a()(this,kt),a()(this,At),a()(this,Ut),r,e.width,e.height);n||(n=new Float32Array(12)),n.set(o,0),s.setUVCoords(n);const h=a()(this,At).width>a()(this,At).height,c=a()(this,Ft).width>e.width,u=a()(this,Ft).height>e.height;let d=c?e.width:a()(this,Ft).width,f=u?e.height:a()(this,Ft).height;if(h){const r=Math.abs(t.left)*d,i=Math.abs(t.top)*f,n=e.x+(e.width-r)/2;let o=0;o=e.y>=0?e.y+(e.height-i)/2:0,s.evalViewport(n,o,r,i,a()(this,Ft).height)}else{let t=e.height*a()(this,At).width/a()(this,At).height;t>e.width&&(t=e.width);let r=a()(this,At).height/a()(this,At).width*t;const i=e.x+e.width/2-t/2;let n=0;if(e.y>0)n=e.y+(e.height-r)/2;else if(0===e.y){n=e.height>r?(e.height-r)/2:0}else n=0;s.evalViewport(i,n,t,r,a()(this,Ft).height)}const p=St(this,Cr,ai).call(this);p&&p.buffer&&s.setUniformBuffer(p.buffer)}function Qr(e,t,r){const i=l.w.VS_BASE,s=St(this,Sr,ri).call(this,i);let n=s.getUVCoords(),o=St(this,wr,Jr).call(this,a()(this,Pt),a()(this,kt),a()(this,At),a()(this,Ut),r,e.width,e.height);n||(n=new Float32Array(12)),n.set(o,0),s.setUVCoords(n);const h=a()(this,At).width>a()(this,At).height,c=a()(this,Ft).width>e.width,u=a()(this,Ft).height>e.height;let d=c?e.width:a()(this,Ft).width,f=u?e.height:a()(this,Ft).height;if(h){const r=Math.abs(t.left)*d,i=Math.abs(t.top)*f,n=e.x+(e.width-r)/2;let o=0;o=e.y>=0?e.y+(e.height-i)/2:0,s.evalViewport(n,o,r,i,a()(this,Ft).height)}else{let t=e.height*a()(this,At).width/a()(this,At).height;t>e.width&&(t=e.width);let r=a()(this,At).height/a()(this,At).width*t;const i=e.x+e.width/2-t/2;let n=0;if(e.y>0)n=e.y+(e.height-r)/2;else if(0===e.y){n=e.height>r?(e.height-r)/2:0}else n=0;s.evalViewport(i,n,t,r,a()(this,Ft).height)}let p=null;p=s.getTextureType()==l.x.EXTERNAL_TEX?St(this,Cr,ai).call(this):St(this,Ar,si).call(this,a()(this,Ut)),p&&p.buffer&&s.setUniformBuffer(p.buffer)}function Jr(e,t,r,i,a,s,n){const o=this.isUseFillMode({w:r.width,h:r.height,rotation:i}),l={width:s,height:n},h={width:e,height:t};return Object(Tt.c)(o,l,h,r,i,a)}function Zr(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=e.width,o=e.height;s&&(n=s.width,o=s.height);let h,c,u,d,f=i==l.s||i==l.r?r:t,p=i==l.s||i==l.r?t:r,g=f/p*o,m=p/f*n;g>n?(h=0,u=1,c=(o-m)/2/o,d=1-c):(c=0,d=1,h=(n-g)/2/n,u=1-h),h=2*h-1,u=2*u-1,c=1-2*c,d=1-2*d;let v=[{x:u,y:c},{x:u,y:d},{x:h,y:d},{x:u,y:c},{x:h,y:c},{x:h,y:d}];a()(this,Vt)&&a()(this,Vt).updateVertexCoords(v)}function $r(e,t,r,i,a){var s,n,o,h;if(this.isUseFillMode({w:r,h:i,rotation:a}))s=0,n=0,o=1,h=1;else{var c=a==l.s||a==l.r?i:r,u=a==l.s||a==l.r?r:i,d=c/u*t;d>e?(s=0,o=1,h=1-(n=(t-u/c*e)/2/t)):(n=0,h=1,o=1-(s=(e-d)/2/e))}return{top:n=1-2*n,left:s=2*s-1,right:o=2*o-1,bottom:h=1-2*h}}function ei(){a()(this,Vt)||Object(o.u)("[WebGPURenderDisplay] renderer is not attached!")}function ti(e){if(e<0)throw new Error("[hasZIndexTexLayer] ".concat(e," is an invalid parameter!"));return a()(this,ur).has(e)}function ri(e){let t=null;return St(this,Er,ti).call(this,e)?t=a()(this,ur).get(e):(t=new wt(a()(this,Mt),e),a()(this,ur).set(e,t)),t}function ii(e,t,r){a()(this,Ft)&&(n()(this,rr,e),n()(this,nr,e&&r===tt.N?1:0),n()(this,or,t),e||n()(this,ir,r))}function ai(){const e={rotation:a()(this,Ut)};let t=null,r=a()(this,cr).get(l.w.VS_BASE);if(r){let i=r.buffer,s=r.uniform;if(s)if("yuvMode"in s)i&&i.destroy(),r=null;else if("rotation"in s){if(s.rotation!=e.rotation){const r=St(this,Or,li).call(this,e);t=a()(this,Vt).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),r,i)}}else i&&i.destroy(),r=null}if(!r){const r=St(this,Or,li).call(this,e);t=a()(this,Vt).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),r)}return t?(r||(r={}),r.uniform=e,r.buffer=t,a()(this,cr).set(l.w.VS_BASE,r),r):null}function si(e){if(-1==a()(this,ar))return null;const t={yuvMode:tt.V,colorRange:a()(this,ar),rotation:e};let r=null,i=a()(this,cr).get(l.w.VS_BASE);if(i){const e=i.uniform;if(r=i.buffer,e.yuvMode!=t.yuvMode||e.colorRange!=t.colorRange||e.rotation!=t.rotation){const e=St(this,Lr,hi).call(this,t);r=a()(this,Vt).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),e,r)}}else{i={};const e=St(this,Lr,hi).call(this,t);r=a()(this,Vt).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),e)}return r?(i.uniform=t,i.buffer=r,a()(this,cr).set(l.w.VS_BASE,i),i):null}function ni(){if(!a()(this,hr))return null;const e={cursorFlag:a()(this,or),cursorInfo:a()(this,hr)};let t=null,r=a()(this,cr).get(l.w.CURSOR);if(r){const i=r.uniform;if(t=r.buffer,i.cursorFlag!=e.cursorFlag||i.cursorInfo!=e.cursorInfo){const r=St(this,Ir,ci).call(this,e);t=a()(this,Vt).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),r,t)}}else{r={};const i=St(this,Ir,ci).call(this,e);t=a()(this,Vt).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(a()(this,Mt),")"),i)}return t?(r.uniform=e,r.buffer=t,a()(this,cr).set(l.w.CURSOR,r),r):null}function oi(e,t){return Math.ceil(e/t)*t}function li(e){const t=St(this,kr,oi).call(this,1*Float32Array.BYTES_PER_ELEMENT,16),r=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return r[0]=e.rotation,r}function hi(e){const t=St(this,kr,oi).call(this,3*Float32Array.BYTES_PER_ELEMENT,16),r=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return r[0]=e.yuvMode,r[1]=e.colorRange,r[2]=e.rotation,r}function ci(e){const t=St(this,kr,oi).call(this,5*Float32Array.BYTES_PER_ELEMENT,16),r=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return r[0]=e.cursorFlag,r[1]=e.cursorInfo.x,r[2]=e.cursorInfo.y,r[3]=e.cursorInfo.w,r[4]=e.cursorInfo.h,r}function ui(e){if(!e||0==e.length)return null;const t=St(this,kr,oi).call(this,4*Float32Array.BYTES_PER_ELEMENT,16),r=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function di(e,t,r,i){let a=t*r,s=e.subarray(0,a),n=0,o=0;i==tt.V?(o=t/2*r/2,n=o):i==tt.Z&&(o=t*r/2,n=0);let l=e.subarray(a,a+o);return{yPlane:{buffer:s,width:t,height:r},crPlane:{buffer:0!=n?e.subarray(a+o,a+o+n):null,width:t/2,height:r/2},cbPlane:{buffer:l,width:t/2,height:r/2}}}function fi(e,t,r){let i="",a=0,s=0,n=0;r==tt.V?(a=e/2*t/2,s=a,i="i420",n=Uint8Array.BYTES_PER_ELEMENT):r==tt.Z&&(a=e*t/2,s=0,i="nv12",n=Uint16Array.BYTES_PER_ELEMENT);const o=St(this,kr,oi).call(this,Uint8Array.BYTES_PER_ELEMENT*e,256),l=St(this,kr,oi).call(this,n*e/2,256);let h=o*t+l*t/2;s>0&&(h+=l*t/2);return{colorFormat:i,size:h,yPlane:{width:o,height:t},uvPlane:{width:l,height:t/2}}}function pi(e,t){const r=St(this,kr,oi).call(this,Uint32Array.BYTES_PER_ELEMENT*e,256);return{colorFormat:"rgba",width:r,height:t,size:r*t}}function gi(e,t,r){if(t)if(t.buffer)if(r.size>t.buffer.size)a()(this,tr).recycleTextureBufferGroup(e),t.buffer=a()(this,tr).requestTextureBuffer(r),t.bufferConfig=r;else{"mapped"==t.buffer.mapState?t.bufferArray&&t.bufferArray.byteLength<r.size&&(a()(this,tr).recycleTextureBufferGroup(e),t.buffer=a()(this,tr).requestTextureBuffer(r),t.bufferConfig=r):(a()(this,tr).recycleTextureBufferGroup(e),t.buffer=a()(this,tr).requestTextureBuffer(r),t.bufferConfig=r)}else t.buffer=a()(this,tr).requestTextureBuffer(r),t.bufferConfig=r;else(t={}).buffer=a()(this,tr).requestTextureBuffer(r),t.bufferConfig=r;return t}function mi(){const e=[];for(let t=0;t<l.a.length;++t){let r=l.a[t];e.push(r.u),e.push(r.v)}return e}function vi(e){return e&&0!=e.width&&0!=e.height}function bi(){if(a()(this,tr))for(const[e,t]of a()(this,ur))t&&(a()(this,tr).recycleTextureBufferGroup(t,!1),a()(this,tr).destroyTextureGroup(t,!0));else Object(o.u)("clearTexLayerResources() GPUResManager is not attached!")}var _i=class{constructor(e,t){xt(this,Nr),xt(this,Fr),xt(this,Vr),xt(this,Gr),xt(this,Wr),xt(this,Br),xt(this,Dr),xt(this,Ur),xt(this,Ir),xt(this,Lr),xt(this,Or),xt(this,kr),xt(this,Pr),xt(this,Ar),xt(this,Cr),xt(this,Mr),xt(this,Sr),xt(this,Er),xt(this,Rr),xt(this,xr),xt(this,Tr),xt(this,wr),xt(this,yr),xt(this,_r),xt(this,br),xt(this,vr),xt(this,mr),xt(this,gr),xt(this,pr),xt(this,fr),Rt(this,Mt,{writable:!0,value:0}),Rt(this,Ct,{writable:!0,value:0}),Rt(this,At,{writable:!0,value:{}}),Rt(this,Pt,{writable:!0,value:0}),Rt(this,kt,{writable:!0,value:0}),Rt(this,Ot,{writable:!0,value:0}),Rt(this,Lt,{writable:!0,value:0}),Rt(this,It,{writable:!0,value:-1}),Rt(this,Ut,{writable:!0,value:l.p}),Rt(this,Dt,{writable:!0,value:tt.W}),Rt(this,Bt,{writable:!0,value:0}),Rt(this,Wt,{writable:!0,value:0}),Rt(this,Gt,{writable:!0,value:!1}),Rt(this,Vt,{writable:!0,value:null}),Rt(this,Ft,{writable:!0,value:null}),Rt(this,Nt,{writable:!0,value:!1}),Rt(this,jt,{writable:!0,value:0}),Rt(this,Ht,{writable:!0,value:!1}),Rt(this,qt,{writable:!0,value:0}),Rt(this,Xt,{writable:!0,value:0}),Rt(this,Yt,{writable:!0,value:0}),Rt(this,zt,{writable:!0,value:0}),Rt(this,Kt,{writable:!0,value:l.k.IDLE}),Rt(this,Qt,{writable:!0,value:0}),Rt(this,Jt,{writable:!0,value:0}),Rt(this,Zt,{writable:!0,value:0}),Rt(this,$t,{writable:!0,value:!1}),Rt(this,er,{writable:!0,value:0}),Rt(this,tr,{writable:!0,value:null}),Rt(this,rr,{writable:!0,value:0}),Rt(this,ir,{writable:!0,value:tt.W}),Rt(this,ar,{writable:!0,value:-1}),Rt(this,sr,{writable:!0,value:0}),Rt(this,nr,{writable:!0,value:0}),Rt(this,or,{writable:!0,value:0}),Rt(this,lr,{writable:!0,value:0}),Rt(this,hr,{writable:!0,value:null}),Rt(this,cr,{writable:!0,value:new Map}),Rt(this,ur,{writable:!0,value:new Map}),Rt(this,dr,{writable:!0,value:{top:0,left:0,bottom:0,right:0}}),et()(this,"reuse",!1),n()(this,Mt,e),n()(this,tr,t),n()(this,Ct,e||0),a()(this,At).top=0,a()(this,At).left=0,a()(this,At).width=0,a()(this,At).height=0,n()(this,Pt,0),n()(this,kt,0),n()(this,Ot,0),n()(this,Lt,0),n()(this,Dt,tt.W),n()(this,Bt,0),n()(this,Wt,0),this.markRenderingStateIdle()}addRenderer(e){n()(this,Vt,e)}removeRenderer(){n()(this,Vt,null)}setGPUResMgr(e){n()(this,tr,e)}removeGPUResMgr(){n()(this,tr,null)}attachCanvas(e){n()(this,Ft,e)}getAttachedCanvas(){return a()(this,Ft)}detachCanvas(){n()(this,Ft,null)}bindSsrc(e){n()(this,er,e)}unbindSsrc(){n()(this,er,0)}drawSelfVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!St(this,Fr,vi).call(this,e))return;St(this,Rr,ei).call(this),St(this,Mr,ii).call(this,1,a()(this,$t),a()(this,Dt));let i=null;i=t?St(this,xr,$r).call(this,e.width,e.height,e.width,e.height,l.p):St(this,xr,$r).call(this,e.width,e.height,a()(this,At).width,a()(this,At).height,a()(this,Ut)),St(this,_r,Kr).call(this,e,i,r)}drawRemoteVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!a()(this,Ft))return;if(!St(this,Fr,vi).call(this,e))return;St(this,Rr,ei).call(this);const r=this.isRgbaMode(a()(this,Dt))?1:0;St(this,Mr,ii).call(this,r,a()(this,$t),a()(this,Dt));const i=St(this,xr,$r).call(this,e.width,e.height,a()(this,At).width,a()(this,At).height,a()(this,Ut));St(this,yr,Qr).call(this,e,i,t)}drawCursor(e,t,r,i,s){if(!a()(this,Qt)||e&&(i<0||s<0))return;const o=l.w.CURSOR,h=St(this,Sr,ri).call(this,o),c=St(this,Sr,ri).call(this,l.w.VS_BASE);if(h.setUVCoords(c.getUVCoords()),h.evalViewport(t,r,i,s,a()(this,Ft).height),e&&a()(this,$t)){const e={x:t/a()(this,At).width,y:r/a()(this,At).height,w:i/a()(this,At).width,h:s/a()(this,At).height};n()(this,hr,e)}else{const e={x:0,y:0,w:0,h:0};n()(this,hr,e)}const u=St(this,Pr,ni).call(this);u&&u.buffer&&h.setUniformBuffer(u.buffer)}setMultiView(e){n()(this,Nt,e)}setFillMode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;n()(this,Bt,e),n()(this,Wt,t)}getFillMode(){return a()(this,Bt)}setColorRange(e){n()(this,ar,e)}getFillModeForResolution(){return a()(this,Wt)}getTextureIndex(){return a()(this,Ct)}isUseFillMode(e){let{w:t,h:r,rotation:i}=e;if(!a()(this,Bt))return!1;if(!a()(this,Wt))return!0;if(!t||!r)return!1;const s=i===l.s||i===l.s?r/t:t/r;return(Array.isArray(a()(this,Wt))?a()(this,Wt):[a()(this,Wt)]).some(e=>Math.abs(s-e)<.01)}setVideoMode(e){n()(this,Dt,e)}getVideoMode(){return a()(this,Dt)}setWatermarkFlag(e){n()(this,jt,e),e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))}setWatermarkRepeated(e){n()(this,Ht,e)}isWatermarkRepeated(){return!!a()(this,Ht)}setWatermarkOpacity(e){n()(this,qt,e||.15)}getWatermarkOpacity(){return a()(this,qt)}setWatermarkPosition(e){n()(this,Xt,e||16)}getWatermarkPosition(){return a()(this,Xt)}isSetWatermark(){return a()(this,jt)}isRgbaMode(e){return-1!==[tt.ab,tt.N].indexOf(e)}getTextureWidth(){return a()(this,Pt)}getTextureHeight(){return a()(this,kt)}getCroppingParams(){return a()(this,At)}recoverTextures(){}updateWatermark(e,t,r){const i=l.w.WATERMARK,s=St(this,Sr,ri).call(this,i);if(!a()(this,Ft)||!a()(this,Vt))return St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!r||r.length!=e*t*4)return a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();if(Object(Tt.g)(a()(this,tr),e,t))return a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();if(n()(this,Yt,e),n()(this,zt,t),n()(this,jt,1),n()(this,sr,1),!St(this,Er,ti).call(this,l.w.VS_BASE)){console.log("[updateWatermark] base layer is not ready, set data to the texture layer for creating texture later."),a()(this,tr).recycleTextureBufferGroup(s),this.markRenderingStatePending();const i={index:a()(this,Mt),width:e,height:t,data:r};return void s.setRawData(i)}const h=St(this,Sr,ri).call(this,l.w.VS_BASE).getViewport();if(h)try{const i=St(this,Wr,pi).call(this,e,t);i.label="WatermarkTexBuffer(".concat(s.getIndex(),")-").concat(i.size);let n=s.getTextureBufferGroup();if(n=St(this,Gr,gi).call(this,s,n,i),!n||!n.buffer)return console.warn("[updateWatermark()] texLayer(".concat(s.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();St(this,vr,Yr).call(this,a()(this,Mt),e,t,r,n),h&&s.setViewport(h);let o=s.getUVCoords(),l=St(this,Vr,mi).call(this);o||(o=new Float32Array(12)),o.set(l,0),s.setUVCoords(o),s.setRawData(null),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateWatermark() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateWatermark() error:".concat(e.message)),a()(this,tr).recycleTextureBufferGroup(s),this.markRenderingStatePending()}else{console.log("[updateWatermark] base layer's viewport is not ready, set data to the texture layer for creating texture later."),a()(this,tr).recycleTextureBufferGroup(s),this.markRenderingStatePending();const i={index:a()(this,Mt),width:e,height:t,data:r};s.setRawData(i)}}updateCursor(e,t,r){const i=l.w.CURSOR,s=St(this,Sr,ri).call(this,i);if(!a()(this,Ft)||!a()(this,Vt))return St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!r||r.length!=e*t*4)return a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();n()(this,Jt,e),n()(this,Zt,t),n()(this,$t,1);try{const i=St(this,Wr,pi).call(this,e,t);i.label="CursorTexBuffer(".concat(s.getIndex(),")-").concat(i.size);let n=s.getTextureBufferGroup();if(n=St(this,Gr,gi).call(this,s,n,i),!n||!n.buffer)return void console.warn("[updateCursor()] texLayer(".concat(s.getIndex(),") cannot apply a GPU buffer!"));if("mapped"!=n.buffer.mapState)return void console.error("updateCursor() why buffer state is not mapped!");St(this,mr,Xr).call(this,a()(this,Mt),e,t,r,n),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateCursor() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateCursor() error:".concat(e.message)),a()(this,tr).recycleTextureBufferGroup(s),this.markRenderingStatePending()}}updateSelfVideoTextures(e,t,r,i){let s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],h=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;St(this,Rr,ei).call(this);const c=St(this,Sr,ri).call(this,l.w.VS_BASE);if(!a()(this,Ft)||!a()(this,Vt))return r&&r instanceof VideoFrame&&r.close(),St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!r||r.length%4!=0)return r&&r instanceof VideoFrame&&r.close(),void this.markRenderingStatePending();if(1!=e||1!=t){if(n()(this,Pt,e),n()(this,kt,t),n()(this,Ut,h),Object.assign(a()(this,At),i),!s)return r&&r instanceof VideoFrame&&r.close(),void this.markRenderingStatePending();try{St(this,fr,jr).call(this,e,t,r),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateSelfVideoTextures() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateSelfVideoTextures() error:".concat(e.message)),this.markRenderingStatePending(),r instanceof VideoFrame&&r.close();St(this,Sr,ri).call(this,l.w.VS_BASE).setPendingVideoFrame(null)}}else{c.setPendingVideoFrame(null),St(this,Nr,bi).call(this),r&&r instanceof VideoFrame&&r.close();const e=St(this,Ur,ui).call(this,r);if(e)if(a()(this,Vt)){let t=c.getClearColorUniformBuffer();t=a()(this,Vt).writeUniformBuffer("ClearColorUniformBuffer",e,t),c.setClearColorUniformBuffer(t),c.setTextureType(l.x.CLEAR_COLOR)}else console.warn("updateSelfVideoTextures() renderer is not attached!");else Object(o.u)("updateSelfVideoTextures() cannot create the uniform buffer array.");this.markRenderingStateReady()}}updateRemoteVideoTexturesImageBitmap(e,t,r,i,s){let h=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const c=St(this,Sr,ri).call(this,l.w.VS_BASE);if(!a()(this,Vt)||!a()(this,Ft))return r&&r instanceof VideoFrame&&r.close(),St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!r)return r&&r instanceof VideoFrame&&r.close(),void this.markRenderingStatePending();if(n()(this,Pt,e),n()(this,kt,t),Number.isNaN(s)||n()(this,Ut,s),Object.assign(a()(this,At),i),!h)return r&&r instanceof VideoFrame&&r.close(),void this.markRenderingStatePending();try{St(this,fr,jr).call(this,e,t,r),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),this.markRenderingStatePending(),r instanceof VideoFrame&&r.close(),c.setPendingVideoFrame(null)}}updateRemoteVideoTextures(e,t,r,i,s){let h=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=arguments.length>6?arguments[6]:void 0;const u=l.w.VS_BASE,d=St(this,Sr,ri).call(this,u);if(!a()(this,Ft)||!a()(this,Vt))return St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(!St(this,Fr,vi).call(this,c))return a()(this,tr).recycleTextureBufferGroup(d),void this.markRenderingStatePending();St(this,Rr,ei).call(this);const f=this.isRgbaMode(a()(this,Dt));if(e<=0||t<=0||!i||!i.length||i.length!=e*t*3/2&&!f||r&&(r.top<0||r.left<0||r.left+r.width>e||r.top+r.height>t))return a()(this,tr).recycleTextureBufferGroup(d),void this.markRenderingStatePending();if(f)try{St(this,fr,jr).call(this,e,t,i,!0);let o=h?0:1;n()(this,ar,o),n()(this,Ut,s),Object.assign(a()(this,At),r),n()(this,Pt,e),n()(this,kt,t),n()(this,Ot,a()(this,Ft).width),n()(this,Lt,a()(this,Ft).height)}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),d.setPendingVideoFrame(null),this.markRenderingStatePending()}finally{a()(this,tr).recycleTextureBufferGroup(d)}else try{const o=St(this,Br,fi).call(this,e,t,a()(this,Dt));o.label="YuvVideoTexBuffer(".concat(d.getIndex(),")-").concat(o.size),d.setColorFormat(o.colorFormat);let l=d.getTextureBufferGroup();if(l=St(this,Gr,gi).call(this,d,l,o),!l||!l.buffer)return console.warn("[updateRemoteVideoTextures()] texLayer(".concat(d.getIndex(),") cannot apply a GPUBuffer!")),void this.markRenderingStatePending();let c=h?0:1;n()(this,ar,c),n()(this,Ut,s),Object.assign(a()(this,At),r),n()(this,Pt,e),n()(this,kt,t),n()(this,Ot,a()(this,Ft).width),n()(this,Lt,a()(this,Ft).height),St(this,pr,Hr).call(this,a()(this,Mt),e,t,i,l,a()(this,Dt)),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message," cs:").concat(e.stack)),Object(o.o)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),a()(this,tr).recycleTextureBufferGroup(d),this.markRenderingStatePending()}}drawNextOutputPictureFrame(e,t,r,i,s){let h=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,u=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];const d=l.w.VS_BASE,f=St(this,Sr,ri).call(this,d);if(!a()(this,Ft)||!a()(this,Vt))return St(this,Nr,bi).call(this),void this.markRenderingStatePending();if(Object(Tt.g)(a()(this,tr),e,t))return a()(this,tr).recycleTextureBufferGroup(f),void this.markRenderingStatePending();s=s||l.p;let p=(r=r||{top:0,left:0,width:e,height:t}).width!=a()(this,At).width||r.height!=a()(this,At).height,g=r.top!=a()(this,At).top||r.left!=a()(this,At).left,m=a()(this,Ft).width!=a()(this,Ot)||a()(this,Ft).height!=a()(this,Lt),v=e!=a()(this,Pt)||t!=a()(this,kt),b=s!=a()(this,It);if((p||m||b)&&St(this,Tr,Zr).call(this,a()(this,Ft),r.width,r.height,s,c),c){const e=Object(Tt.d)(r,s),t=Object(Tt.a)(c,e);f.evalViewport(t.x,t.y,t.width,t.height,a()(this,Ft).height)}else f.evalViewport(0,0,a()(this,Ft).width,a()(this,Ft).height,a()(this,Ft).height);if(p||g||v||b||!f.getUVCoords()){let i=Object(Tt.b)({width:e,height:t},r,a()(this,Ft),s),n=f.getUVCoords();n||(n=new Float32Array(12)),n.set(i),f.setUVCoords(n)}let _=h?0:1;_!=a()(this,ar)&&n()(this,ar,_),n()(this,rr,0),n()(this,ir,tt.V),Object.assign(a()(this,At),r),n()(this,Pt,e),n()(this,kt,t),n()(this,It,s),n()(this,Ot,a()(this,Ft).width),n()(this,Lt,a()(this,Ft).height),f.setColorFormat("i420");try{const r=St(this,Br,fi).call(this,e,t,tt.V);if(r.label="YuvShareTexBuffer(".concat(f.getIndex(),")-").concat(r.size),u){let s=f.getTextureBufferGroup();if(s=St(this,Gr,gi).call(this,f,s,r),!s||!s.buffer)return console.warn("[drawNextOutputPictureFrame()] texLayer(".concat(f.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();St(this,pr,Hr).call(this,a()(this,Mt),e,t,i,s,tt.V);const n=St(this,Ar,si).call(this,a()(this,It));n&&n.buffer&&f.setUniformBuffer(n.buffer)}a()(this,$t)?n()(this,or,1):n()(this,or,0),n()(this,Qt,1),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] drawNextOutputPictureFrame() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_drawNextOutputPictureFrame() error:".concat(e.message)),a()(this,tr).recycleTextureBufferGroup(f),this.markRenderingStatePending()}}clearCanvas(e){a()(this,Vt)&&a()(this,Vt).clearAttachedCanvas()}updateSelfMaskImage(e,t,r){const i=l.w.MASK,s=St(this,Sr,ri).call(this,i);if(!a()(this,Ft))return a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();if(e<=0||t<=0||!r||r.length!=e*t*4)return a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();if(!St(this,Er,ti).call(this,l.w.VS_BASE))return console.log("[updateSelfMaskImage] base layer is not ready."),a()(this,tr).recycleTextureBufferGroup(s),void this.markRenderingStatePending();try{const i=St(this,Wr,pi).call(this,e,t);let n=s.getTextureBufferGroup();if(n=St(this,Gr,gi).call(this,s,n,i),!n||!n.buffer)return console.warn("[updateSelfMaskImage()] texLayer(".concat(s.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();if(n.buffer.label="SelfMaskImageTexBuffer(".concat(s.getIndex(),")-").concat(i.size),s.setTextureLayerType(l.v.BLEND_LAYER),s.setTextureType(l.x.GPU_TEX_RGBA),s.isLocked()){const r=s.getWidth(),i=s.getHeight();r==e&&i==t||(s.setWidth(e),s.setHeight(t),s.setIsNew(!0))}else s.setWidth(e),s.setHeight(t),s.setIsNew(!0),s.lock();const o=a()(this,Vt).writeToRgbaTextureBuffer(a()(this,Mt),e,t,r,n);s.setTextureBufferGroup(o);const h=St(this,Sr,ri).call(this,l.w.VS_BASE),c=h.getViewport();c&&s.setViewport(c),s.setUVCoords(h.getUVCoords()),this.isSetWatermark()&&a()(this,Yt)&&a()(this,zt),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateSelfMaskImage() error:".concat(e.message)),Object(o.o)("WGPU WebGPURenderDisplay_updateSelfMaskImage() error:".concat(e.message)),a()(this,tr).recycleTextureBufferGroup(s),this.markRenderingStatePending()}}readPixelsSyncRequest(e,t,r,i){}isAvaiable(){return!0}markRenderingStateReady(){n()(this,Kt,l.k.READY)}markRenderingStateRendering(){n()(this,Kt,l.k.RENDERING)}markRenderingStatePending(){n()(this,Kt,l.k.PENDING)}markRenderingStateIdle(){n()(this,Kt,l.k.IDLE)}isRenderingStateReady(){return a()(this,Kt)===l.k.READY}isInTargetRenderingState(e){return a()(this,Kt)===e}getWatermarkWidth(){return a()(this,Yt)}getWatermarkHeight(){return a()(this,zt)}getIndex(){return a()(this,Mt)}getRenderingState(){return a()(this,Kt)}recycle(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];for(const[t,r]of a()(this,ur))r&&(a()(this,tr).recycleTextureBufferGroup(r,e),r.recycle(a()(this,tr)));n()(this,dr,{top:0,left:0,bottom:0,right:0}),this.markRenderingStateIdle(),a()(this,ur).clear(),a()(this,cr).clear(),this.unbindSsrc()}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.recycle(e),this.removeRenderer(),this.detachCanvas(),this.removeGPUResMgr()}clear(){console.log("WebGPURenderDisplay.clear"),this.clearCanvas(),n()(this,Qt,0),n()(this,$t,0),this.recycle()}clearDisplay(){console.log("WebGPURenderDisplay.clearDisplay"),this.clearCanvas()}getTextureLayersMap(){return a()(this,ur)}getTextureLayerByZIndex(e){return St(this,Sr,ri).call(this,e)}getUsedBuffersCount(){let e=0;for(const[t,r]of a()(this,ur))r&&r.getTextureBufferGroup()&&r.getTextureBufferGroup().buffer&&e++;return e}consumePendingGPUEvents(){if(a()(this,jt)){const e=St(this,Sr,ri).call(this,l.w.WATERMARK).getRawData();e&&this.updateWatermark(a()(this,Yt),a()(this,zt),e.data)}}resizeCanvasTo(e,t){a()(this,Ft)&&(a()(this,Ft).width=e,a()(this,Ft).height=t)}};function yi(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var wi=new WeakMap,Ti=new WeakMap,xi=new WeakMap,Ri=new WeakMap,Ei=new WeakMap;var Si=class{constructor(e,t,r){yi(this,wi,{writable:!0,value:0}),yi(this,Ti,{writable:!0,value:null}),yi(this,xi,{writable:!0,value:null}),yi(this,Ri,{writable:!0,value:l.t.AVAILABLE}),yi(this,Ei,{writable:!0,value:null}),n()(this,wi,e),n()(this,Ri,t),n()(this,Ei,r),n()(this,Ti,[]),n()(this,xi,[])}initPool(e){if(e>a()(this,wi))throw new Error("initSize=".concat(e," is larger than maxSize=").concat(a()(this,wi),", invalid!"));if(e<0)throw new Error("initSize=".concat(e," is smaller than 0, invalid!"));for(let t=0;t<e;t++){const e=new _i(t,a()(this,Ei));a()(this,Ti).push(e)}}expandPool(e){if(a()(this,Ti).length>=a()(this,wi))return;let t=0;if(a()(this,Ti).length+e>=a()(this,wi)&&(t=a()(this,wi)-a()(this,Ti).length),t>0){const e=a()(this,Ti).length;for(let r=0;r<t;r++){const t=new _i(r+e,a()(this,Ei));a()(this,Ti).push(t)}}}pop(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&this.isPoolEmpty()&&this.expandPool(4);const e=a()(this,Ti).pop();return e&&(e.markRenderingStatePending(),a()(this,xi).push(e)),e}recycle(e){if(a()(this,Ti).length<a()(this,wi)){e.recycle(),a()(this,Ti).push(e);const t=a()(this,xi).indexOf(e);-1!=t&&a()(this,xi).splice(t,1)}}clear(){if(a()(this,Ti)){for(const e of a()(this,Ti))e&&e.clear();a()(this,Ti).length=0}}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];a()(this,Ti).forEach(t=>{t.cleanup(e)}),a()(this,xi).forEach(t=>{t.cleanup(e)}),n()(this,Ti,[]),n()(this,xi,[])}isPoolEmpty(){return 0==a()(this,Ti).length}getInUseRenderDisplays(){return a()(this,xi)}getAllRenderDisplays(){return a()(this,Ti)}isServeForVideoRendering(){return a()(this,Ri)===l.t.VIDEO}isServeForShareRendering(){return a()(this,Ri)===l.t.SHARE}isServingForNow(e){return a()(this,Ri)===e}};function Mi(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var Ci=new WeakMap,Ai=new WeakMap,Pi=new WeakMap,ki=new WeakMap,Oi=new WeakMap;class Li{getVideoRenderDisplay(e,t,r,i){throw new Error("getVideoRenderDisplay() should be implemented by subclass.")}getSharingRenderDisplay(e,t,r){throw new Error("getSharingRenderDisplay() should be implemented by subclass.")}createVideoRenderDisplay(e,t,r){throw new Error("createVideoRenderDisplay() should be implemented by subclass.")}}var Ii=new WeakMap,Ui=new WeakMap;class Di extends Li{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),Mi(this,Ii,{writable:!0,value:new Map}),Mi(this,Ui,{writable:!0,value:!1}),n()(this,Ui,e)}setCanvasAlphaChannelEnability(e){n()(this,Ui,e)}createVideoRenderDisplay(e,t,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=null,n=null,o=null,l=!1;return i&&(s=i.forceNoGL,n=i.contextOptions,o=i.webGLResources,l=i.initMask),new Je.a(e,t,r,s,n,o,l,a()(this,Ui))}getVideoRenderDisplay(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=a()(this,Ii).get(e);if(!n){let i=[];n=[i,[]],a()(this,Ii).set(e,n);let o=new Je.a(e,t,0,void 0,void 0,void 0,void 0,a()(this,Ui));o.setMultiView(!0),s&&s.set(e,o);let l=1;for(;l<=r;l++){const r=new Je.a(e,t,l,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,a()(this,Ui));r.setMultiView(!0),i.push(r)}}let o,l=a()(this,Ii).get(e),h=l[0],c=l[1];if(l&&h[0]&&(o=h.pop(),c.push(o)),!o){const e=l?"".concat(l.length):"undefined",t=h?"".concat(h.length):"undefined";i("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,r){return new Je.a(e,t,0,void 0,r.contextOptions,void 0,void 0,a()(this,Ui))}recycleRenderDisplay(e,t,r){t.setWatermarkFlag(0),t.setVideoMode(tt.W),t.clear(r);let i=a()(this,Ii).get(e);if(i){let e=i[0],r=i[1];r&&r.some((function(e,i){if(e===t)return r.splice(i,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,r,i,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=a()(this,Ii).get(r);(!o||o.length<2)&&s("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let l=n.get(t);if(l){l.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:l.shaderProgram,contextgl:l.contextGL,vBuffer:l.vertexPosBuffer,tBuffer:l.texturePosBuffer,waterMarkTextureRef:l.waterMarkTextureRef,repeatedWaterMarkTextureRef:l.repeatedWaterMarkTextureRef})});return r!==t&&(a()(this,Ii).delete(r),a()(this,Ii).set(t,o),n&&(n.delete(r),n.set(t,l))),null}}getRenderDisplayMap(){return a()(this,Ii)}cleanup(e,t){var r;null==t||null===(r=t.cleanup)||void 0===r||r.call(t,null);for(const[e,t]of a()(this,Ii)){const e=t[0],r=t[1];for(const t of e)t.cleanup();for(const e of r)e.cleanup()}n()(this,Ii,new Map)}cleanupByCanvas(e){if(a()(this,Ii).get(e)){let t=a()(this,Ii).get(e);if(t){let r=t[0],i=t[1];i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),r=[],i=[],a()(this,Ii).delete(e)}}}}var Bi=new WeakMap,Wi=new WeakMap;class Gi extends Li{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),Mi(this,Bi,{writable:!0,value:new Map}),Mi(this,Wi,{writable:!0,value:!1}),n()(this,Wi,e)}setCanvasAlphaChannelEnability(e){n()(this,Wi,e)}createVideoRenderDisplay(e,t,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=null,n=null,o=null,l=!1;return i&&(s=i.forceNoGL,n=i.contextOptions,o=i.webGLResources,l=i.initMask),new Ze.a(e,t,r,s,n,o,l,a()(this,Wi))}getVideoRenderDisplay(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,n=a()(this,Bi).get(e);if(!n){let i=[];n=[i,[]],a()(this,Bi).set(e,n);let o=new Ze.a(e,t,0,void 0,void 0,void 0,void 0,a()(this,Wi));o.setMultiView(!0),s&&s.set(e,o);let l=1;for(;l<=r;l++){const r=new Ze.a(e,t,l,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,void 0,a()(this,Wi));r.setMultiView(!0),i.push(r)}}let o,l=a()(this,Bi).get(e),h=l[0],c=l[1];if(l&&h[0]&&(o=h.pop(),c.push(o)),!o){const e=l?"".concat(l.length):"undefined",t=h?"".concat(h.length):"undefined";i("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,r){return new Ze.a(e,t,0,void 0,r.contextOptions,void 0,void 0,a()(this,Wi))}recycleRenderDisplay(e,t,r){t.setWatermarkFlag(0),t.setVideoMode(tt.W),t.clear(r);let i=a()(this,Bi).get(e);if(i){let e=i[0],r=i[1];r&&r.some((function(e,i){if(e===t)return r.splice(i,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,r,i,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=a()(this,Bi).get(r);(!o||o.length<2)&&s("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let l=n.get(t);if(l){l.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:l.shaderProgram,contextgl:l.contextGL,vBuffer:l.vertexPosBuffer,tBuffer:l.texturePosBuffer,waterMarkTextureRef:l.waterMarkTextureRef,repeatedWaterMarkTextureRef:l.repeatedWaterMarkTextureRef})});return r!==t&&(a()(this,Bi).delete(r),a()(this,Bi).set(t,o),n&&(n.delete(r),n.set(t,l))),null}}getRenderDisplayMap(){return a()(this,Bi)}cleanup(e,t){var r;null==t||null===(r=t.cleanup)||void 0===r||r.call(t);for(const[e,t]of a()(this,Bi)){const e=t[0],r=t[1];for(const t of e)t.cleanup();for(const e of r)e.cleanup()}n()(this,Bi,new Map)}cleanupByCanvas(e){if(a()(this,Bi).get(e)){let t=a()(this,Bi).get(e);if(t){let r=t[0],i=t[1];i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),r=[],i=[],a()(this,Bi).delete(e)}}}}var Vi=new WeakMap,Fi=new WeakMap,Ni=new WeakMap;class ji extends Li{constructor(){super(),Mi(this,Vi,{writable:!0,value:new Map}),Mi(this,Fi,{writable:!0,value:new Map}),Mi(this,Ni,{writable:!0,value:null})}setGPUResourceMgr(e){n()(this,Ni,e)}getVideoRenderDisplay(e,t,r,i){let s=a()(this,Vi).get(e);s||(s=new Si(r,l.t.VIDEO,a()(this,Ni)),s.initPool(r),a()(this,Vi).set(e,s));let n=s.pop();return n?(n.setMultiView(!0),n):null}getSharingRenderDisplay(e,t,r){r&&r.clearCache&&a()(this,Fi).clear();let i=a()(this,Fi).get(e);return i||(i=new Si(1,l.t.SHARE,a()(this,Ni)),i.initPool(1),a()(this,Fi).set(e,i)),i.pop()}createVideoRenderDisplay(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=new _i(r,a()(this,Ni));return s.addRenderer(i),s.attachCanvas(e),s}getInUseCanvasRenderDisplayList(e){let t=[],r=null;if(e==l.t.VIDEO?r=a()(this,Vi):e==l.t.SHARE&&(r=a()(this,Fi)),r)for(const[e,i]of r){let r={};r.canvas=e,r.renderDisplays=i.getInUseRenderDisplays(),r.renderDisplays.length>0&&t.push(r)}return t}recycleRenderDisplay(e,t){if(e){const t=e.getAttachedCanvas();if(t){let r=a()(this,Vi).get(t);r&&(e.setWatermarkFlag(0),e.setVideoMode(tt.W),r.recycle(e));let i=a()(this,Fi).get(t);i&&(e.setWatermarkFlag(0),e.setVideoMode(tt.W),i.recycle(e))}}}cleanup(e){var t;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];null==e||null===(t=e.cleanup)||void 0===t||t.call(e,r);for(const[e,t]of a()(this,Vi))t.cleanup(r);for(const[e,t]of a()(this,Fi))t.cleanup(r)}cleanupByCanvas(e){let t=a()(this,Vi).get(e);t&&(t.cleanup(),a()(this,Vi).delete(e));let r=a()(this,Fi).get(e);r&&(r.cleanup(),a()(this,Fi).delete(e))}collectInUseRenderDisplays(e){return this.getInUseCanvasRenderDisplayList(e)}collectInUseRenderDisplaysByCanvas(e,t){let r=null;if(e)if(t==l.t.VIDEO){r=a()(this,Vi).get(e).getInUseRenderDisplays()}else if(t==l.t.SHARE){r=a()(this,Fi).get(e).getInUseRenderDisplays()}return r}getRenderDisplayMap(e){let t=null;return e==l.t.VIDEO?t=a()(this,Vi):e==l.t.SHARE&&(t=a()(this,Fi)),t}}var Hi=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Mi(this,Ci,{writable:!0,value:null}),Mi(this,Ai,{writable:!0,value:null}),Mi(this,Pi,{writable:!0,value:null}),Mi(this,ki,{writable:!0,value:null}),Mi(this,Oi,{writable:!0,value:!1}),n()(this,Oi,e)}setGPUResourceMgr(e){n()(this,ki,e)}isEnableCanvasAlphaChannel(){return a()(this,Oi)}setCanvasAlphaChannelEnability(e){n()(this,Oi,e),a()(this,Ci)&&a()(this,Ci).setCanvasAlphaChannelEnability(e),a()(this,Ai)&&a()(this,Ai).setCanvasAlphaChannelEnability(e)}getWebGLRenderDisplayMgr(){return a()(this,Ci)||n()(this,Ci,new Di(a()(this,Oi))),a()(this,Ci)}getWebGL2RenderDisplayMgr(){return a()(this,Ai)||n()(this,Ai,new Gi(a()(this,Oi))),a()(this,Ai)}getWebGPURenderDisplayMgr(){return a()(this,Pi)||(n()(this,Pi,new ji),a()(this,Pi).setGPUResourceMgr(a()(this,ki))),a()(this,Pi)}getVideoRenderDisplay(e,t,r,i,s){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,h=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,c=null;return e===l.j.WEBGL?(a()(this,Ci)||n()(this,Ci,new Di(a()(this,Oi))),c=a()(this,Ci).getVideoRenderDisplay(t,r,i,s,h)):e===l.j.WEBGL_2?(a()(this,Ai)||n()(this,Ai,new Gi(a()(this,Oi))),c=a()(this,Ai).getVideoRenderDisplay(t,r,i,s,h)):e===l.j.WEBGPU&&(a()(this,Pi)||(n()(this,Pi,new ji),a()(this,Pi).setGPUResourceMgr(a()(this,ki))),c=a()(this,Pi).getVideoRenderDisplay(t,r,i,s),c&&(c.addRenderer(o),c.attachCanvas(t),c.setGPUResMgr(a()(this,ki)))),c}getSharingRenderDisplay(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=null;return e===l.j.WEBGL?(a()(this,Ci)||n()(this,Ci,new Di(a()(this,Oi))),o=a()(this,Ci).getSharingRenderDisplay(t,r,s)):e===l.j.WEBGL_2?(a()(this,Ai)||n()(this,Ai,new Gi(a()(this,Oi))),o=a()(this,Ai).getSharingRenderDisplay(t,r,s)):e===l.j.WEBGPU&&(a()(this,Pi)||(n()(this,Pi,new ji),a()(this,Pi).setGPUResourceMgr(a()(this,ki))),o=a()(this,Pi).getSharingRenderDisplay(t,r,s),o&&(o.addRenderer(i),o.attachCanvas(t),o.setGPUResMgr(a()(this,ki)))),o}createVideoRenderDisplay(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,h=null;return e==l.j.WEBGL?(a()(this,Ci)||n()(this,Ci,new Di(a()(this,Oi))),h=a()(this,Ci).createVideoRenderDisplay(t,r,i,s,o)):e==l.j.WEBGL_2?(a()(this,Ai)||n()(this,Ai,new Gi(a()(this,Oi))),h=a()(this,Ai).createVideoRenderDisplay(t,r,i,s,o)):e==l.j.WEBGPU&&(a()(this,Pi)||(n()(this,Pi,new ji),a()(this,Pi).setGPUResourceMgr(a()(this,ki))),h=a()(this,Pi).createVideoRenderDisplay(t,r,i,s,o),h.addRenderer(s),h.attachCanvas(t),h.setGPUResMgr(a()(this,ki))),h}recycleRenderDisplay(e,t,r,i){let s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e===l.j.WEBGPU?a()(this,Pi)&&a()(this,Pi).recycleRenderDisplay(r,i,s):e===l.j.WEBGL?a()(this,Ci)&&a()(this,Ci).recycleRenderDisplay(t,r,s):e===l.j.WEBGL_2&&a()(this,Ai)&&a()(this,Ai).recycleRenderDisplay(t,r,s)}collectInUseRenderDisplays(e,t){let r=null;return e===l.j.WEBGPU&&a()(this,Pi)&&(r=a()(this,Pi).collectInUseRenderDisplays(t)),r}collectInUseRenderDisplaysByCanvas(e,t,r){let i=null;return e===l.j.WEBGPU&&a()(this,Pi)&&(i=a()(this,Pi).collectInUseRenderDisplaysByCanvas(t,r)),i}getRenderDisplayMap(e,t){if(e===l.j.WEBGL){if(a()(this,Ci))return a()(this,Ci).getRenderDisplayMap()}else if(e===l.j.WEBGPU){if(a()(this,Pi))return a()(this,Pi).getRenderDisplayMap(t)}else if(e===l.j.WEBGL_2&&a()(this,Ai))return a()(this,Ai).getRenderDisplayMap(t);return null}onRestoredFromContextLost(e,t,r,i,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return a()(this,Ci)?a()(this,Ci).onRestoredFromContextLost(e,t,r,i,s,n):a()(this,Ai)?a()(this,Ai).onRestoredFromContextLost(e,t,r,i,s,n):null}cleanup(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];null!==a()(this,Ci)&&a()(this,Ci).cleanup(e,t),a()(this,Ai)&&a()(this,Ai).cleanup(e,t),null!==a()(this,Pi)&&a()(this,Pi).cleanup(t,r)}cleanupByCanvas(e){null!==a()(this,Ci)&&a()(this,Ci).cleanupByCanvas(e),null!==a()(this,Ai)&&a()(this,Ai).cleanupByCanvas(e),null!==a()(this,Pi)&&a()(this,Pi).cleanupByCanvas(e)}};function qi(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var Xi=new WeakMap,Yi=new WeakMap,zi=new WeakMap,Ki=new WeakMap,Qi=new WeakMap,Ji=new WeakMap,Zi=new WeakMap;var $i=class{constructor(e){qi(this,Xi,{writable:!0,value:l.f.VERTEX_BUFFER}),qi(this,Yi,{writable:!0,value:{}}),qi(this,zi,{writable:!0,value:null}),qi(this,Ki,{writable:!0,value:0}),qi(this,Qi,{writable:!0,value:0}),qi(this,Ji,{writable:!0,value:[]}),qi(this,Zi,{writable:!0,value:new Map}),n()(this,zi,e)}acquireBuffer(e,t,r){let i,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!(arguments.length>4&&void 0!==arguments[4])||arguments[4]?a()(this,Zi).has(e)?i=a()(this,Zi).get(e):a()(this,Ji).length>0?(i=a()(this,Ji).pop(),a()(this,Zi).set(e,i)):(i=a()(this,zi).createBuffer({size:r,usage:t,mappedAtCreation:s}),a()(this,Zi).set(e,i)):i=a()(this,zi).createBuffer({size:r,usage:t,mappedAtCreation:s}),i}releaseBuffer(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(a()(this,Zi).has(e)){const t=a()(this,Zi).get(e);r?a()(this,Ji).push(t):t.destroy(),a()(this,Zi).delete(e)}else r||-1!=a()(this,Ji).indexOf(t)&&(a()(this,Ji)[index]=a()(this,Ji)[a()(this,Ji).length-1],a()(this,Ji).pop(),t.destroy())}getNumUsedBuffers(){return a()(this,Ki)}getNumFreeBuffers(){return a()(this,Qi)}cleanup(){a()(this,Ji).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),a()(this,Zi).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),a()(this,Ji).length=0,a()(this,Zi).clear(),n()(this,Ki,0),n()(this,Qi,0)}release(e){e==l.n.OVERUSE&&(a()(this,Ji).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),a()(this,Ji).length=0,n()(this,Qi,0))}getResourceType(){return a()(this,Xi)}collectResourceInfo(){let e=0,t=0,r="";for(const[i,s]of a()(this,Zi))e++,t+=s.size,r+="[GPUBufferMgr] entry{key:".concat(i,", buffer:{label:").concat(s.label," size:").concat(s.size,"}}\n");for(const r of a()(this,Ji))e++,t+=r.size;return r+="[GPUBufferMgr] freeBuffers{size:".concat(a()(this,Ji).length,"}\n"),r+="[GPUBufferMgr] total: count:".concat(e," usedBytes:").concat(t,"\n"),a()(this,Yi).type=a()(this,Xi),a()(this,Yi).count=e,a()(this,Yi).usedBytes=t,a()(this,Yi).output=r,a()(this,Yi)}onOccupancyLevelEvaluated(e){console.log("[GPUBufferManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(o.o)("WGPU GPUBufferManager_onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}};function ea(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var ta=new WeakMap,ra=new WeakMap,ia=new WeakMap;var aa=class{constructor(){ea(this,ta,{writable:!0,value:l.f.TEXTURE}),ea(this,ra,{writable:!0,value:[]}),ea(this,ia,{writable:!0,value:[]})}acquire(e){let t=null;const r=a()(this,ra).findIndex(t=>t&&t.width==e.w&&t.height==e.h&&t.format==e.format&&t.usage==e.usage);return r>-1&&(t=a()(this,ra).splice(r,1)[0]),t&&a()(this,ia).push(t),t}recycle(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=a()(this,ia).indexOf(e);-1!=r&&a()(this,ia).splice(r,1),t?e.destroy():(a()(this,ra).push(e),e.label="")}pushToAvailablePool(e){e&&a()(this,ra).push(e)}pushToInUsePool(e){e&&a()(this,ia).push(e)}release(e){if(e==l.n.OVERUSE&&a()(this,ra).length>0){for(const e of a()(this,ra))e.destroy();a()(this,ra).length=0}}cleanup(){for(const e of a()(this,ra))e.destroy();for(const e of a()(this,ia))e.destroy();a()(this,ra).length=0,a()(this,ia).length=0}getAvailablePool(){return a()(this,ra)}getInUsedPool(){return a()(this,ia)}getResourceType(){return a()(this,ta)}};function sa(e,t){oa(e,t),t.add(e)}function na(e,t,r){oa(e,t),t.set(e,r)}function oa(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function la(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var ha=new WeakMap,ca=new WeakMap,ua=new WeakMap,da=new WeakMap,fa=new WeakSet,pa=new WeakSet,ga=new WeakSet,ma=new WeakSet,va=new WeakSet;function ba(e){let t=a()(this,ua).get(e.level),r=null;return t?(r=t.acquire(e),r||(r=la(this,ga,ya).call(this,e),r?t.pushToInUsePool(r):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e))))):(r=la(this,ga,ya).call(this,e),r?(t=new aa,t.pushToInUsePool(r),a()(this,ua).set(e.level,t)):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e)))),r}function _a(e){const t=e.zOrder;let r=a()(this,da).get(t);return r?(e.w>r.width||e.h>r.height)&&(r.destroy(),r=la(this,ga,ya).call(this,e),a()(this,da).set(t,r)):(r=la(this,ga,ya).call(this,e),a()(this,da).set(t,r)),r}function ya(e){if(!a()(this,ha))return null;if(0==e.w||0==e.h)return null;const t={size:{width:e.w,height:e.h},format:e.format,usage:e.usage};return e.sampleCount>0&&(t.sampleCount=e.sampleCount),a()(this,ha).createTexture(t)}function wa(e){let t=l.u[l.u.length-1];for(let r=0;r<l.u.length;++r)if(e<=l.u[r]){t=l.u[r];break}return t}function Ta(e){return e&&e.zOrder&&e.zOrder==TEX_LAYER_Z_IDX.WATERMARK}var xa=class{constructor(e){sa(this,va),sa(this,ma),sa(this,ga),sa(this,pa),sa(this,fa),na(this,ha,{writable:!0,value:null}),na(this,ca,{writable:!0,value:{}}),na(this,ua,{writable:!0,value:new Map}),na(this,da,{writable:!0,value:new Map}),n()(this,ha,e)}assembleTextureConfig(e,t,r,i,a){return{w:e,h:t,usage:r,format:i,sampleCount:a,level:la(this,ma,wa).call(this,t)}}isSameTextureConfig(e,t){return!(!e||!t)&&(e.w==t.w&&e.h==t.h&&e.usage==t.usage&&e.format==t.format&&e.sampleCount==t.sampleCount)}evalTexConfig(e){if(!e)throw new Error("hasSameTextureConfig() invalid input!");const t=a()(this,ua).keys();let r=e;for(const i of t)if(this.isSameTextureConfig(i,e)){r=i;break}return r}needNewTexturesMapEntry(e,t){return!!t&&(!e||(e.w!=t.w||e.h!=t.h||e.usage!=t.usage||e.format!=t.format||e.sampleCount!=t.sampleCount))}acquireTexture(e){if(!e||e.w<=0||e.h<=0)return console.error("[GPUTextureMgr] acquireTexture() texConfig is invalid"),null;let t=null;return t=la(this,va,Ta).call(this,e)?la(this,pa,_a).call(this,e):la(this,fa,ba).call(this,e),t}recycleTexture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const r=this.assembleTextureConfig(e.width,e.height,e.usage,e.format,e.sampleCount);let i=a()(this,ua).get(r.level);if(i)i.recycle(e,t);else if(console.warn("recycleTexture(".concat(e.label,") texture is not found in the map!, destroy:").concat(t)),t)e.destroy();else{const t=new aa;t.pushToAvailablePool(e),a()(this,ua).set(r.level,t)}}cleanup(){for(const[e,t]of a()(this,ua))t&&t.cleanup();a()(this,ua).clear()}collectResourceInfo(){let e=0,t=0,r="";for(const[i,s]of a()(this,ua))if(s){const a=s.getAvailablePool();for(const r of a)e++,"r8unorm"==r.format?t+=r.width*r.height:"rgba8unorm"==r.format&&(t+=r.width*r.height*Uint32Array.BYTES_PER_ELEMENT);const n=s.getInUsedPool();for(const r of n)e++,"r8unorm"==r.format?t+=r.width*r.height:"rgba8unorm"==r.format&&(t+=r.width*r.height*Uint32Array.BYTES_PER_ELEMENT);(a.length>0||n.length>0)&&(r+="[GPUTexturePool] level:".concat(i," pool:{ava_count:").concat(a.length," in_used_count:").concat(n.length,"}\n"))}return r+="[GPUTexturePool] total: count:".concat(e," usedBytes:").concat(t,"\n"),a()(this,ca).type=l.f.TEXTURE,a()(this,ca).count=e,a()(this,ca).usedBytes=t,a()(this,ca).output=r,a()(this,ca)}onOccupancyLevelEvaluated(e){if(console.log("[GPUTextureManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(o.o)("WGPU GPUTextureManager_onOccupancyLevelEvaluated() level:".concat(e)),e==l.n.OVERUSE)for(const[t,r]of a()(this,ua))r&&r.release(e)}};function Ra(e,t){Sa(e,t),t.add(e)}function Ea(e,t,r){Sa(e,t),t.set(e,r)}function Sa(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ma(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Ca=new WeakMap,Aa=new WeakMap,Pa=new WeakMap,ka=new WeakMap,Oa=new WeakSet,La=new WeakSet;function Ia(e,t,r){if(a()(this,Pa).set(e,t),r){let e=Array.from(a()(this,Pa).entries());e.sort((e,t)=>e[0]-t[0]),a()(this,Pa).clear(),e.forEach(e=>{let[t,r]=e;a()(this,Pa).set(t,r)})}}function Ua(e,t){if(!e||0==e.length)return null;let r=0,i=0,a=null;for(const s of e)"mapped"==s.mapState?(r+=1,a||s.size>=t&&(a=s)):i+=1;if(r>0&&0==i||r>=2&&0!=i){if(a){const t=e.indexOf(a);-1!=t&&e.splice(t,1)}return a}return null}var Da=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Ra(this,La),Ra(this,Oa),Ea(this,Ca,{writable:!0,value:l.f.TEXTURE_BUFFER}),Ea(this,Aa,{writable:!0,value:0}),Ea(this,Pa,{writable:!0,value:new Map}),Ea(this,ka,{writable:!0,value:0}),n()(this,Aa,e),n()(this,ka,t)}isUpToThreshold(e,t){if(e!=a()(this,Aa)||t<=0)return!1;if(0==a()(this,ka))return!1;const r=a()(this,Pa).get(t);return!!r&&r.length>=a()(this,ka)}push(e,t,r){if(e!=a()(this,Aa)||!r||t<=0)return!1;let i=null,s=!1;if(a()(this,Pa).has(t)){if(i=a()(this,Pa).get(t),i||(i=[],s=!0),!(i.length<a()(this,ka)))return!1;i.push(r)}else i=[],i.push(r),s=!0;return s&&Ma(this,Oa,Ia).call(this,t,i,s),!0}acquire(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;let r=e.level,i=e.bytesPerRow,s=e.size;if(r!=a()(this,Aa)||i<=0)return console.error("[GPUBufferPoolEntry] acquire() level(".concat(r,") or bpr=").concat(i," is invalid!")),null;let n=null,o=!1;if(a()(this,Pa).has(i)){let e=a()(this,Pa).get(i);if(e){const t=e.findIndex(e=>"mapped"==e.mapState&&e.size>=s);t>-1?n=e.splice(t,1)[0]:o=!0}else o=!0}else o=!0;if(o&&!n&&!t){let t=2,o=!1;r>=l.m[l.h]&&(o=!0);for(const[r,l]of a()(this,Pa))if((t>0||o)&&r>i){if(n=Ma(this,La,Ua).call(this,l,s),n){e.bytesPerRow=r;break}t--}}return n}recycle(e,t,r){if(e!=a()(this,Aa)||t<=0||!r)return!1;let i=!1;if(a()(this,Pa).has(t)){let e=!1,s=a()(this,Pa).get(t);s||(s=[],e=!0),s.push(r),e&&Ma(this,Oa,Ia).call(this,t,s,e),i=!0}else i=this.push(e,t,r);return i}release(e){if(e==l.n.OVERUSE){for(const[e,t]of a()(this,Pa))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}a()(this,Pa).clear()}}cleanup(){for(const[e,t]of a()(this,Pa))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}a()(this,Pa).clear()}getPool(){return a()(this,Pa)}hasBytesPerRowAsKey(e){return a()(this,Pa).has(e)}getResourceType(){return a()(this,Ca)}getPoolThreshold(){return a()(this,ka)}canLendBufferCrossLevel(e,t){let r=!0;if(a()(this,Pa).has(t)){const i=a()(this,Pa).get(t);if(i){let t=0,a=0;for(const e of i)"mapped"==e.mapState?t+=1:a+=1;if(e>=l.m[l.h])r=t>0;else{const e=t>=2&&0!=a;r=t>0&&0==a||e}}}else r=!1;return r}};function Ba(e,t){Ga(e,t),t.add(e)}function Wa(e,t,r){Ga(e,t),t.set(e,r)}function Ga(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Va(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var Fa=new WeakMap,Na=new WeakMap,ja=new WeakMap,Ha=new WeakMap,qa=new WeakMap,Xa=new WeakMap,Ya=new WeakSet,za=new WeakSet,Ka=new WeakSet,Qa=new WeakSet,Ja=new WeakSet,Za=new WeakSet,$a=new WeakSet;function es(e){if(!e)return;const t=e.colorFormat;if("rgba"==t){const t=Va(this,za,ts).call(this,e.height);t>0&&t<l.m[l.h]&&(e.size=e.width*t,e.height=t),e.level=t,e.bytesPerRow=e.width}else if("i420"==t){const t=Va(this,za,ts).call(this,e.yPlane.height);t>0&&t<l.m[l.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}else if("nv12"==t){const t=Va(this,za,ts).call(this,e.yPlane.height);t>0&&t<l.m[l.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t/2,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}}function ts(e){if(e<=0)return 0;let t=l.m[l.h];for(let r=0;r<l.m.length;++r)if(e<=l.m[r]){t=l.m[r];break}return t}function rs(e){const t=l.m.indexOf(e);return t>-1&&t+1<=l.m.length-1?l.m[t+1]:e}function is(e){if(!e)return 0;let t=0;const r=e.colorFormat;if("rgba"==r?t=e.height:"i420"!=r&&"nv12"!=r||(t=e.yPlane.height),0==t)return 0;let i=0;return i=t<=l.m[2]?90:t>l.m[2]&&t<=l.m[5]?60:15,i}function as(e){return e.mapAsync(GPUMapMode.WRITE,0,e.size)}function ss(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(a()(this,qa).set(e,t),r){let e=Array.from(a()(this,qa).entries());e.sort((e,t)=>e[0]-t[0]),a()(this,qa).clear(),e.forEach(e=>{let[t,r]=e;a()(this,qa).set(t,r)})}}function ns(e){if(!e)return null;let t=e.level,r=e.bytesPerRow;e.size;const i=Va(this,Ka,rs).call(this,t);if(i<=t)return null;if(!a()(this,qa).has(i))return null;const s=a()(this,qa).get(i);if(!s)return null;if(!s.hasBytesPerRowAsKey(r))return null;if(!s.canLendBufferCrossLevel(t,r))return null;const n={};Object.assign(n,e),n.level=i;const o=s.acquire(n,!0);return o&&(e.level=i,e.bytesPerRow=n.bytesPerRow),o}var os=class{constructor(e){Ba(this,$a),Ba(this,Za),Ba(this,Ja),Ba(this,Qa),Ba(this,Ka),Ba(this,za),Ba(this,Ya),Wa(this,Fa,{writable:!0,value:l.f.TEXTURE_BUFFER}),Wa(this,Na,{writable:!0,value:{}}),Wa(this,ja,{writable:!0,value:null}),Wa(this,Ha,{writable:!0,value:[]}),Wa(this,qa,{writable:!0,value:new Map}),Wa(this,Xa,{writable:!0,value:0}),n()(this,ja,e)}acquire(e){if(!e)throw new Error("acquire() bufferConfig is invalid!");Va(this,Ya,es).call(this,e);let t=null,r=null;if(0==a()(this,qa).size){if(a()(this,ja)){const i=a()(this,ja).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});let s=!1;if(!r){const t=Va(this,Qa,is).call(this,e);r=new Da(e.level,t),s=!0}i&&(n()(this,Xa,a()(this,Xa)+1),t=i,t.label="".concat(e.label,"-").concat(a()(this,Xa))),Va(this,Za,ss).call(this,e.level,r,s)}}else if(a()(this,qa).has(e.level)){r=a()(this,qa).get(e.level);let i=!1;if(!r){const t=Va(this,Qa,is).call(this,e);r=new Da(e.level,t),i=!0}if(t=r.acquire(e),t)t.label="".concat(e.label,"-").concat(a()(this,Xa));else if(t=Va(this,$a,ns).call(this,e),!t)if(r.isUpToThreshold(e.level,e.bytesPerRow))console.log("[GPUBufferPool]acquire() next level cant help and pool is up to threshold! Only to wait for a while...");else{const r=a()(this,ja).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});r&&(n()(this,Xa,a()(this,Xa)+1),t=r,t.label="".concat(e.label,"-").concat(a()(this,Xa)))}i&&Va(this,Za,ss).call(this,e.level,r,i)}else{let i=!1;if(t=Va(this,$a,ns).call(this,e),t)t.label="".concat(e.label,"-").concat(a()(this,Xa));else{const s=a()(this,ja).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});if(!r){const t=Va(this,Qa,is).call(this,e);r=new Da(e.level,t),i=!0}s&&(n()(this,Xa,a()(this,Xa)+1),t=s,t.label="".concat(e.label,"-").concat(a()(this,Xa)))}i&&Va(this,Za,ss).call(this,e.level,r,i)}return t&&a()(this,Ha).push(t),t}recycle(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return;const i=a()(this,Ha).indexOf(e);if(-1!=i?a()(this,Ha).splice(i,1):(console.error("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(r)),Object(o.o)("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(r))),t)if(r){"unmapped"!=e.mapState&&e.unmap(),"unmapped"==e.mapState&&Va(this,Ja,as).call(this,e).then(()=>{}).catch(t=>{console.warn("mapAsyncBuffer() error:".concat(t)),e.destroy(),e=null});let r=a()(this,qa).get(t.level);r&&r.recycle(t.level,t.bytesPerRow,e),e.label=""}else e.destroy(),e=null;else e.destroy()}recycleInUsedGPUBuffers(e,t){for(const[r,i]of e)for(const e of i)if(e){const r=e.getTextureBufferGroup();r&&r.buffer&&(r.bufferArray&&(r.bufferArray=null),this.recycle(r.buffer,r.bufferConfig)),e.destroyTextureBufferGroup(t)}}recycleTextureBufferGroup(e,t){if(e&&t){const r=t.acquireGPUBufferPool();if(r){const i=e.getTextureBufferGroup();i&&i.buffer&&(i.bufferArray&&(i.bufferArray=null),r.recycle(i.buffer,i.bufferConfig),e.destroyTextureBufferGroup(t))}}}cleanup(){for(const e of a()(this,Ha))"unmapped"!=e.mapState&&e.unmap(),e.destroy();a()(this,Ha).length=0;for(const[e,t]of a()(this,qa))t&&t.cleanup();a()(this,qa).clear()}release(e){if(e==l.n.OVERUSE){for(const[t,r]of a()(this,qa))r&&r.release(e);a()(this,qa).clear()}}getResourceType(){return a()(this,Fa)}collectResourceInfo(){let e=0,t=0,r="";for(const[i,s]of a()(this,qa))if(s){const a=s.getPool();for(const[n,o]of a){e+=o.length;let a=0,l=0;for(const e of o)t+=e.size,"mapped"==e.mapState?a+=1:l+=1;r+="[GPUBufferPool] level:".concat(i," bpr:").concat(n," threshold:").concat(s.getPoolThreshold()," pool:{len:").concat(o.length," ava_count:").concat(a," pending_count:").concat(l,"}\n")}}let i=0;for(const r of a()(this,Ha))e+=1,t+=r.size,i+=1;return r+="[GPUBufferPool] in_used_count:".concat(i,"\n"),r+="[GPUBufferPool] total: count:".concat(e," usedBytes:").concat(t,"\n"),a()(this,Na).type=a()(this,Fa),a()(this,Na).count=e,a()(this,Na).usedBytes=t,a()(this,Na).output=r,a()(this,Na)}onOccupancyLevelEvaluated(e){Object(o.o)("WGPU GPUBufferPool_onOccupancyLevelEvaluated() level:".concat(e)),console.log("[GPUBufferPool] onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}getInUsedPoolCount(){return a()(this,Ha).length}};function ls(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var hs=new WeakMap,cs=new WeakMap;var us=class{constructor(e){ls(this,hs,{writable:!0,value:null}),ls(this,cs,{writable:!0,value:null}),n()(this,hs,e),e&&n()(this,cs,e.features)}getAdapterFeatures(){return a()(this,cs)}getAdapterLimits(){return a()(this,hs)?a()(this,hs).limits:null}queryMaxTextureDimension2D(){const e=this.getAdapterLimits();return e?e.maxTextureDimension2D:0}queryMaxBufferSize(){const e=this.getAdapterLimits();return e?e.maxBufferSize:0}queryAdapterFeature(e){return!(!a()(this,cs)||!e)&&a()(this,cs).has(e)}isTimestampQuerySupported(){return this.queryAdapterFeature("timestamp-query")}getGPUAdapter(){return a()(this,hs)}cleanup(){n()(this,hs,null),n()(this,cs,null)}};function ds(e,t){ps(e,t),t.add(e)}function fs(e,t,r){ps(e,t),t.set(e,r)}function ps(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function gs(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var ms=new WeakMap,vs=new WeakMap,bs=new WeakMap,_s=new WeakMap,ys=new WeakSet,ws=new WeakSet,Ts=new WeakSet;function xs(){let e=l.n.LOW;const t="---WatchDog(".concat(a()(this,_s),") starts analyzing---\n");console.log("".concat(t));for(const t of a()(this,vs)){const r=t.collectResourceInfo();console.log("".concat(r.output));const i=gs(this,ws,Rs).call(this,r);t.onOccupancyLevelEvaluated(i),i>e&&(e=i)}const r=gs(this,Ts,Es).call(this,e);r!=a()(this,ms)&&(clearInterval(a()(this,bs)),n()(this,bs,null),n()(this,ms,r),this.monitor())}function Rs(e){let t=l.n.LOW;return e.type==l.f.TEXTURE?t=e.usedBytes<=31457280?l.n.LOW:e.usedBytes<=94371840?l.n.MEDIUM:e.usedBytes<=157286400?l.n.HIGH:l.n.OVERUSE:e.type==l.f.VERTEX_BUFFER?t=e.usedBytes<=5242880?l.n.LOW:e.usedBytes<=10485760?l.n.MEDIUM:e.usedBytes<=15728640?l.n.HIGH:l.n.OVERUSE:e.type==l.f.TEXTURE_BUFFER&&(t=e.usedBytes<=52428800?l.n.LOW:e.usedBytes<=104857600?l.n.MEDIUM:e.usedBytes<=209715200?l.n.HIGH:l.n.OVERUSE),t}function Es(e){let t=0;switch(e){case l.n.LOW:t=l.o.LOW;break;case l.n.MEDIUM:t=l.o.MEDIUM;break;case l.n.HIGH:t=l.o.HIGH;break;case l.n.OVERUSE:t=l.o.OVERUSE;break;default:t=l.o.MEDIUM}return t}var Ss=class{constructor(e){ds(this,Ts),ds(this,ws),ds(this,ys),fs(this,ms,{writable:!0,value:l.o.HIGH}),fs(this,vs,{writable:!0,value:[]}),fs(this,bs,{writable:!0,value:null}),fs(this,_s,{writable:!0,value:""}),n()(this,_s,e)}addObservable(e){a()(this,vs).push(e)}removeObservable(e){const t=a()(this,vs).indexOf(e);-1!=t&&a()(this,vs).splice(t,1)}removeAllObservables(){a()(this,vs).length=0}monitor(){a()(this,bs)||n()(this,bs,setInterval(()=>{gs(this,ys,xs).call(this)},a()(this,ms)))}cleanup(){this.removeAllObservables(),clearInterval(a()(this,bs)),n()(this,bs,null),n()(this,ms,0)}};function Ms(e,t,r){Cs(e,t),t.set(e,r)}function Cs(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}var As=new WeakMap,Ps=new WeakMap,ks=new WeakMap,Os=new WeakMap,Ls=new WeakMap,Is=new WeakMap,Us=new WeakMap,Ds=new WeakMap,Bs=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,Vs=new WeakSet;function Fs(e){return void 0!==e&&"yPlaneTex"in e}var Ns=class{constructor(){var e,t;Cs(e=this,t=Vs),t.add(e),Ms(this,As,{writable:!0,value:null}),Ms(this,Ps,{writable:!0,value:null}),Ms(this,ks,{writable:!0,value:null}),Ms(this,Os,{writable:!0,value:null}),Ms(this,Ls,{writable:!0,value:null}),Ms(this,Is,{writable:!0,value:null}),Ms(this,Us,{writable:!0,value:null}),Ms(this,Ds,{writable:!0,value:null}),Ms(this,Bs,{writable:!0,value:null}),Ms(this,Ws,{writable:!0,value:null}),Ms(this,Gs,{writable:!0,value:""})}addRendererProviderModule(e){n()(this,Ws,e)}setLabel(e){n()(this,Gs,e)}async initialize(){if(navigator.gpu){if(!a()(this,As)&&(n()(this,As,await navigator.gpu.requestAdapter()),!a()(this,As)))return console.error("[WebGPUResManager] initialize() Couldn't request WebGPU adapter."),Object(o.u)("WebGPU device was lost: ".concat(info.message," reason=").concat(info.reason)),void Object(o.p)("WebGPUDeviceLost");a()(this,ks)||(n()(this,ks,await a()(this,As).requestDevice()),a()(this,ks).lost.then(async e=>{"destroyed"!=e.reason&&(console.error("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(o.u)("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(o.p)("WebGPUDeviceLost")),a()(this,Ws)&&a()(this,Ws).rendererUnconfigureGPUContext(),this.cleanup(),"destroyed"!=e.reason&&(n()(this,ks,null),await this.initialize(),a()(this,Ws)&&a()(this,Ws).rendererReinitialize())})),a()(this,Ps)||("function"==typeof a()(this,As).requestAdapterInfo?n()(this,Ps,await a()(this,As).requestAdapterInfo()):"info"in a()(this,As)&&n()(this,Ps,a()(this,As).info)),a()(this,Os)||n()(this,Os,navigator.gpu.getPreferredCanvasFormat()),a()(this,Ls)||n()(this,Ls,new $i(a()(this,ks))),a()(this,Is)||n()(this,Is,new xa(a()(this,ks))),a()(this,Us)||n()(this,Us,new os(a()(this,ks))),a()(this,Ds)||n()(this,Ds,new us(a()(this,As))),a()(this,Bs)||(n()(this,Bs,new Ss(a()(this,Gs))),a()(this,Bs).addObservable(a()(this,Ls)),a()(this,Bs).addObservable(a()(this,Is)),a()(this,Bs).addObservable(a()(this,Us)),a()(this,Bs).monitor())}else console.error("[WebGPUResManager] initialize() WebGPU is not supported!")}acquireGPUDevice(){return a()(this,ks)}acquireCanvasFormat(){return a()(this,Os)}acquireGPUAdapterInfo(){return a()(this,Ps)}destroyGPUDevice(){a()(this,ks)&&(a()(this,ks).destroy(),n()(this,ks,null))}acquireGPUBufferMgr(){return a()(this,Ls)}acquireGPUTextureMgr(){return a()(this,Is)}acquireGPUBufferPool(){return a()(this,Us)}acquireGPUFeaturesHelper(){return a()(this,Ds)}cleanup(){a()(this,Ls)&&(a()(this,Ls).cleanup(),n()(this,Ls,null)),a()(this,Is)&&(a()(this,Is).cleanup(),n()(this,Is,null)),a()(this,Us)&&(a()(this,Us).cleanup(),n()(this,Us,null)),a()(this,Ds)&&(a()(this,Ds).cleanup(),n()(this,Ds,null)),a()(this,Bs)&&(a()(this,Bs).cleanup(),n()(this,Bs,null)),n()(this,Ws,null),this.destroyGPUDevice()}recycleTextureBufferGroup(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e&&a()(this,Us)){const r=e.getTextureBufferGroup();r&&r.buffer&&(r.bufferArray&&(r.bufferArray=null),a()(this,Us).recycle(r.buffer,r.bufferConfig,t),e.destroyTextureBufferGroup(this))}}recycleInUsedGPUBuffers(e){for(const[t,r]of e)for(const e of r)if(e){const t=e.getTextureBufferGroup();t&&t.buffer&&(t.bufferArray&&(t.bufferArray=null),a()(this,Us).recycle(t.buffer,t.bufferConfig)),e.destroyTextureBufferGroup(this)}}requestTextureBuffer(e){if(!a()(this,Us))return null;if(Object(Tt.f)(this,e.size))return Object(o.u)("requestTextureBuffer() a buffer size that exceeds the max size of GPUBuffer is required.(size:".concat(e.size,")")),null;const t=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC;return e.usage=t,a()(this,Us).acquire(e)}destroyTextureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const r=e.getTextureGroup();if(!r)return;if(!a()(this,Is))return void Object(o.u)("destroyTextureGroup() mGPUTextureMgr is undefined!");const i=e.getTextureType();r&&(i==l.x.GPU_TEX_YUV||i!=l.x.GPU_TEX_RGBA&&function(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}(this,Vs,Fs).call(this,r)?(a()(this,Is).recycleTexture(r.yPlaneTex,t),a()(this,Is).recycleTexture(r.uPlaneTex,t),r.vPlaneTex&&a()(this,Is).recycleTexture(r.vPlaneTex,t)):a()(this,Is).recycleTexture(r,t),e.setTextureGroup(null))}};function js(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}var Hs=new WeakMap,qs=new WeakMap,Xs=new WeakMap,Ys=new WeakMap,zs=new WeakMap;t.a=class{constructor(e){js(this,Hs,{writable:!0,value:""}),js(this,qs,{writable:!0,value:new je}),js(this,Xs,{writable:!0,value:new Hi}),js(this,Ys,{writable:!0,value:new Qe}),js(this,zs,{writable:!0,value:new Ns}),n()(this,Hs,e),a()(this,zs).addRendererProviderModule(a()(this,qs)),a()(this,zs).setLabel(a()(this,Hs)),a()(this,Xs).setGPUResourceMgr(a()(this,zs))}isEnableCanvasAlphaChannel(){return a()(this,Xs).isEnableCanvasAlphaChannel()}setCanvasAlphaChannelEnability(e){a()(this,Xs).setCanvasAlphaChannelEnability(e)}async evalRendererType(e){const t=await a()(this,qs).evaluate(e);console.log("[RenderManager] rendererType is ".concat(t))}getVideoRenderDisplay(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const n=a()(this,qs).getRendererType(),o=a()(this,qs).acquireRenderer(e,a()(this,zs));return a()(this,Xs).getVideoRenderDisplay(n,e,t,r,i,o,s)}createWebGLVideoRenderDisplay(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return a()(this,qs).isWebGL2RendererType()?a()(this,Xs).getWebGL2RenderDisplayMgr().createVideoRenderDisplay(e,t,r,null,i):a()(this,qs).isWebGLRendererType()?a()(this,Xs).getWebGLRenderDisplayMgr().createVideoRenderDisplay(e,t,r,null,i):null}createVideoRenderDisplay(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const s=a()(this,qs).getRendererType(),n=a()(this,qs).acquireRenderer(e,a()(this,zs));return a()(this,Xs).createVideoRenderDisplay(s,e,t,r,n,i)}getSharingRenderDisplay(e,t,r){const i=a()(this,qs).getRendererType(),s=a()(this,qs).acquireRenderer(e,a()(this,zs),!0);return r||(r={}),r.clearCache=!0,a()(this,Xs).getSharingRenderDisplay(i,e,t,s,r)}recycleRenderDisplay(e,t,r){const i=a()(this,qs).getRendererType();a()(this,Xs).recycleRenderDisplay(i,e,t,a()(this,zs),r)}renderFor(e){if(a()(this,qs).isWebGPURendererType()){const t=a()(this,qs).getRendererType(),r=a()(this,Xs).collectInUseRenderDisplays(t,e);r&&r.forEach(e=>{const t=a()(this,qs).acquireRenderer(e.canvas,a()(this,zs));a()(this,Ys).render(t,e.renderDisplays)})}}renderWith(e){if(a()(this,qs).isWebGPURendererType()){const t=e.getAttachedCanvas();if(t){const r=a()(this,qs).acquireRenderer(t,a()(this,zs)),i=[];i.push(e),a()(this,Ys).render(r,i)}}}getRenderDisplayMap(e){const t=a()(this,qs).getRendererType();return a()(this,Xs).getRenderDisplayMap(t,e)}onRestoredFromContextLost(e,t,r,i,s){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return a()(this,qs).isWebGLRendererType()||a()(this,qs).isWebGL2RendererType()?a()(this,Xs).onRestoredFromContextLost(e,t,r,i,s,n):null}destroyUnusedVideoFrame(e){"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&a()(this,qs).isWebGPURendererType()&&e.close()}getRendererProvider(){return a()(this,qs)}getRenderDisplayManager(){return a()(this,Xs)}getWebGPUResMgr(){return a()(this,zs)}cleanup(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];a()(this,qs)&&a()(this,qs).cleanup(),a()(this,Xs)&&a()(this,Xs).cleanup(e,t,a()(this,zs),r),r||a()(this,zs)&&a()(this,zs).cleanup()}clearOffscreenCanvas(e){a()(this,Xs)&&a()(this,Xs).cleanupByCanvas(e)}}},function(e,t,r){var i=r(25).default,a=r(36);e.exports=function(e){var t=a(e,"string");return"symbol"===i(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var i=r(25).default;e.exports=function(e,t){if("object"!==i(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!==i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";var i,a,s;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoProcessorCmd=t.VideoProcessorEvent=t.VideoProcessorWorkerEvent=void 0,function(e){e.ADD_VIDEO_PORT="add_video_port",e.ADD_SHADOW_PORT="add_shadow_port",e.ADD_VIDEO_PROCESSOR="add_video_processor",e.PROCESSOR_READY="processor_ready",e.PROCESSOR_ERROR="processor_error"}(i||(t.VideoProcessorWorkerEvent=i={})),function(e){e.INIT_PROCESSOR="init_processor",e.UNINIT_PROCESSOR="uninit_processor",e.INIT_OUTPUT_CANVAS="init_output_canvas",e.OUTPUT_WRITABLE_STREAM="output_writable_stream",e.INPUT_READABLE_STREAM="input_readable_stream",e.FRAME_DATA="frame_data",e.START_REQUEST_FRAME="start_request_frame",e.STOP_REQUEST_FRAME="stop_request_frame",e.REQUEST_FRAME="request_frame",e.FRAME_CALLBACK="frame_callback",e.RESOLUTION_CHANGE="RESOLUTION_CHANGE",e.PROCESSOR_WORKER_ERROR="PROCESSOR_WORKER_ERROR"}(a||(t.VideoProcessorEvent=a={})),s||(t.VideoProcessorCmd=s={})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediaStreamVideoProcessorAgent=t.ShadowVideoFrameProcessor=t.VideoFrameVideoProcessorAgent=void 0;const i=r(37),a=r(44),s=r(45);class n{constructor(e,t,r=!1,a=!1){this.processorName=e,this.port=t,this.isIOSDevice=r,this.VideoFrameNeeded=a,this.frameCallback=null,this.callback=null,this.onMessage=e=>{var t,r;e.data.cmd===i.VideoProcessorEvent.FRAME_CALLBACK?null===(t=this.frameCallback)||void 0===t||t.call(this,e.data.frame):null===(r=this.callback)||void 0===r||r.call(this,e.data.cmd,e.data.data)},this.port.start(),this.port.addEventListener("message",this.onMessage);const s=this.getOutPutCanvas();s?this.port.postMessage({cmd:i.VideoProcessorEvent.INIT_OUTPUT_CANVAS,canvas:s,processorName:e},[s]):this.port.postMessage({cmd:i.VideoProcessorEvent.INIT_OUTPUT_CANVAS,processorName:e})}init(){this.port.postMessage({cmd:i.VideoProcessorEvent.INIT_PROCESSOR,processorName:this.processorName})}addCallback(e){this.callback=e}removeCallback(){this.callback=null}uninit(){this.port.postMessage({cmd:i.VideoProcessorEvent.UNINIT_PROCESSOR,processorName:this.processorName}),this.port.removeEventListener("message",this.onMessage)}getOutPutCanvas(){return null}getStream(){throw new Error("Method not implemented.")}setStream(e){throw new Error("Method not implemented.")}removeStream(){}onFrame(e){throw new Error("Method not implemented.")}addFrameCallback(e){throw new Error("Method not implemented.")}removeFrameCallback(){}}class o extends n{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){this.port.postMessage({cmd:i.VideoProcessorEvent.FRAME_DATA,frame:e,processorName:this.processorName})}addFrameCallback(e){this.frameCallback=e}removeFrameCallback(){this.frameCallback=null}}t.VideoFrameVideoProcessorAgent=o;t.ShadowVideoFrameProcessor=class extends o{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){}};t.MediaStreamVideoProcessorAgent=class extends n{constructor(e,t,r,i){super(e,t,r,i),this.processorName=e,this.port=t,this.isIOSDevice=r,this.VideoFrameNeeded=i,this.initGenerator()}initGenerator(){this.originGenerator||(this.originGenerator="function"==typeof MediaStreamTrackProcessor?new a.TrackProcessorInputStream(this.port,this.processorName,this.VideoFrameNeeded):new a.CanvasCaptureInputStream(this.port,this.processorName,this.isIOSDevice,this.VideoFrameNeeded)),this.targetGenerator||(this.targetGenerator="function"==typeof MediaStreamTrackGenerator?new s.TrackGeneratorOutputStream(this.port,this.processorName):new s.CanvasCaptureOutputStream(this.port,this.processorName))}uninit(){var e,t,r,i;null===(t=null===(e=this.originGenerator)||void 0===e?void 0:e.destroy)||void 0===t||t.call(e),null===(i=null===(r=this.targetGenerator)||void 0===r?void 0:r.destroy)||void 0===i||i.call(r),super.uninit()}getOutPutCanvas(){var e,t;return this.initGenerator(),null===(t=(e=this.targetGenerator).getOutputCanvas)||void 0===t?void 0:t.call(e)}getStream(){return this.targetGenerator.getStream()}setStream(e){this.originGenerator.setStream(e)}removeStream(){this.originGenerator.removeStream()}addFrameCallback(e){this.frameCallback=e}}},,function(e,t){e.exports=function(e,t){return t.get?t.get.call(e):t.value},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.r(t),r.d(t,"JsMediaSDK_Log",(function(){return R})),r.d(t,"Channel_Agent",(function(){return zt})),r.d(t,"Open_Video_WebSocket_Connect",(function(){return tr})),r.d(t,"SubScribeUpdateVideo",(function(){return lr})),r.d(t,"video_websocket_on_open",(function(){return hr})),r.d(t,"videoencode_create_helpthread",(function(){return yr})),r.d(t,"Exit_Thread",(function(){return wr})),r.d(t,"videocodec_create_helpthread",(function(){return Tr})),r.d(t,"Before_Create_Thread",(function(){return xr})),r.d(t,"vbLoadingTimer",(function(){return Rr})),r.d(t,"IsSupportMultiThread",(function(){return Jr})),r.d(t,"hardcodecpunumber",(function(){return Zr})),r.d(t,"IsSupportMultiThreadForWebcodec",(function(){return $r})),r.d(t,"getGraphicName",(function(){return ei})),r.d(t,"getVendorName",(function(){return ti})),r.d(t,"LimitWebCodecsEncoderTo360_js",(function(){return ri})),r.d(t,"LimitWebCodecsDecoderTo360_js",(function(){return ii})),r.d(t,"UserAgentIsTesla_js",(function(){return ai})),r.d(t,"GetCscThreadNum",(function(){return si})),r.d(t,"GetEncThreadNum",(function(){return ni})),r.d(t,"video_websocket_on_close",(function(){return ui})),r.d(t,"video_websocket_on_error",(function(){return di})),r.d(t,"change_capture_resolution",(function(){return fi})),r.d(t,"js_info_from_wcl",(function(){return pi})),r.d(t,"media_data_transport_type_monitor",(function(){return mi})),r.d(t,"js_info_from_wcl_video_data",(function(){return vi})),r.d(t,"processed_capture_data_callback",(function(){return bi})),r.d(t,"js_info_from_wcl_thread",(function(){return wi})),r.d(t,"frame_callback",(function(){return xi})),r.d(t,"decode_callback",(function(){return Ei})),r.d(t,"send_data",(function(){return Si})),r.d(t,"APP_Troubleshoting_Info",(function(){return Mi})),r.d(t,"LOG_OUT",(function(){return Ci})),r.d(t,"wcl_trace_log",(function(){return Ai})),r.d(t,"Utf8ArrayToStr",(function(){return Pi})),r.d(t,"SAVE_IV",(function(){return ki})),r.d(t,"getWasmMemory",(function(){return Oi})),r.d(t,"freeWasmMemory",(function(){return Li})),r.d(t,"Put_Decoded_Video_Buffer",(function(){return Di})),r.d(t,"video_process_capture",(function(){return Qi})),r.d(t,"VideoEncodeInit",(function(){return Zi})),r.d(t,"Set_Mask_Bg_Image",(function(){return ba})),r.d(t,"GetEncoderState_js",(function(){return ya})),r.d(t,"InitVideoEncoder_js",(function(){return wa})),r.d(t,"VideoEncoderConfigure_js",(function(){return Ta})),r.d(t,"VideoEncoder_js",(function(){return xa})),r.d(t,"CloseVideoEncoder_js",(function(){return Ra})),r.d(t,"setCurrentThreadSsrc_js",(function(){return Ea})),r.d(t,"Update_Mask_Texture",(function(){return Pa})),r.d(t,"Crop_Mask_Bg_16V9",(function(){return ka})),r.d(t,"Get_Mix_Context_Data_And_Draw",(function(){return La})),r.d(t,"GetLogLevel_js",(function(){return Va})),r.d(t,"Get_Mix_Display_Data_And_Draw",(function(){return Fa})),r.d(t,"prepareModelFile",(function(){return Xa})),r.d(t,"prepareJSFile",(function(){return za})),r.d(t,"Get_Mixed_VB_Data_and_Draw",(function(){return ls})),r.d(t,"responseVideoQosData",(function(){return us})),r.d(t,"qos_monitor",(function(){return ds})),r.d(t,"network_quality_callback",(function(){return fs})),r.d(t,"MCMMonitor_Video_LOG",(function(){return gs})),r.d(t,"WebCodecsEncoderFail_js",(function(){return vs})),r.d(t,"BigLog_js",(function(){return Rs})),r.d(t,"Update_Video_Hd_Info",(function(){return Es})),r.d(t,"checkWebCodecWhitelist_js",(function(){return Bs})),r.d(t,"UserWebCodecController_js",(function(){return Ws}));var i=r(3),a=r(4),s=r(5),n=r(29),o=r(12),l=r(17),h=r(15),c=r(32),u=r(14),d=r(30),f=r(34),p=r(19),g=r(8),m=r(11),v=r(27),b=r(13),_=r(23),y=r(6),w=r(26),T=r(38),x=r(24);function R(e){console.log(e)}self.wasmSuccessEvent=s.sb,self.wasmFailEvent=s.rb,self.downloadAndInstantiateWebAssembly=i.q,self.addEventListener("unhandledrejection",e=>{Object(i.u)("Unhandled rejection in video worker: ".concat(JSON.stringify(e.reason)),e.reason instanceof Error?e.reason:null)}),self.addEventListener("error",e=>{Object(i.u)("Unhandled exception in video worker",e)});var E=new m.a;const S=new f.a("video");var M,C,A,P,k,O,L,I,U,D,B,W,G,V,F,N,j,H,q,X,Y,z=!1,K=!0;let Q;var J,Z,$,ee,te,re,ie,ae,se,ne,oe,le,he,ce,ue,de,fe,pe=!1,ge=0,me=0,ve=!1,be=!1,_e=!1,ye=!1,we=new v.a(s.lb,!0),Te=!1,xe=!1,Re=!1;self.onWasmModuleReady=()=>{M=Module.cwrap("_Video_Init","number",["number","number","string","string","number","number","number","boolean","boolean","boolean","number","boolean","boolean","boolean"]),C=Module.cwrap("_Video_UnInit","number",["number"]),Module.cwrap("_Video_Decode","number",["number","array","number"]),A=Module.cwrap("_Video_Encode","number",["number","number","number","number","number","number","number","boolean","number","number","boolean"]),P=Module.cwrap("_Video_Encode_YUV","number",["number","number","number","number","number","number","number","number","number","number","number","number","number","boolean","number","number","boolean"]),k=Module.cwrap("_Video_Try_Analysis","number",["number","array","number"]),O=Module.cwrap("_Video_Websocket_Speed","number",["number","number","number"]),L=Module.cwrap("_Video_Start_Encode","number",["number","number","number","number","number"]),I=Module.cwrap("_Video_Stop_Encode","number",["number"]),U=Module.cwrap("_Video_Update_Format","number",["number","number","number","number","number"]),D=Module.cwrap("_rotate_video","number",["number","number"]),Module.cwrap("_Video_VirtualBackground_Special_Action","number",["number","number","number","number","number","number","number"]),Q=Module.cwrap("_Request_Video_Qos_Data","number",["number"]),B=Module.cwrap("_Video_Set_Data_Encryption","number",["number","number"]),W=Module.cwrap("_Add_Video_Cooker_info","number",["number","number","number","number"]),G=Module.cwrap("_Remove_Video_Cooker_Info","number",["number","number"]),V=Module.cwrap("_Get_Video_Meat_Weight","number",["number","number"]),F=Module.cwrap("_Set_Max_Receiving_Channel_Num","number",["number","number"]),N=Module.cwrap("_update_sync_time","number",["number","number","number"]),j=Module.cwrap("_release_video_receiving_channel","number",["number","number"]),H=Module.cwrap("_change_hw_status","number",["number","boolean"]),q=Module.cwrap("_Change_Connect_Type","number",["number","number"]),X=Module.cwrap("_Smooth_Send_For_Qos","number",["number"]),Y=Module.cwrap("_request_nack_t_periodically_for_qos","number",["number"]),J=Module.cwrap("_update_video_uplink_bandwidth_limitation_by_server","number",["number","number"]),Z=Module.cwrap("_create_vb_thread","number",[]),$=Module.cwrap("_create_vb_no_sab_thread","number",[]),ee=Module.cwrap("_signal_vb_thread_bg","number",["number","number","number","number"]),te=Module.cwrap("_signal_vb_thread_blur","number",["number","number"]),re=Module.cwrap("_signal_vb_thread_video_yuv","number",["number","number","number","number","number","number","number","number","number","number","number","number","number","number","number","number"]),ie=Module.cwrap("_signal_vb_thread_video_rgba","number",["number","number","number","number","number","number","number","number"]),ae=Module.cwrap("_update_video_cropping_mode","number",["number","number"]),se=Module.cwrap("_Video_Try_Analysis","number",["number","number","number"]),oe=Module.cwrap("_collect_video_monitor_info","number",["number","boolean"]),le=Module.cwrap("_signal_vb_thread_close","number",[]),de=Module.cwrap("_Create_HW_Encode","number",[]),Module._malloc=function(){let e=Module.asm.malloc.apply(null,arguments);if(!e&&!ve){ve=!0,Object(i.o)("MEMERR:VIDEO-".concat(rt,"-").concat(wasmMemory.buffer.byteLength,"-").concat(arguments[0]));let e=new Error("memry malloc error VIDEO-".concat(rt,"-").concat(wasmMemory.buffer.byteLength,"-").concat(arguments[0]));Object(i.u)("memry malloc error",e)}return e},"undefined"!=typeof _malloc&&(_malloc=Module._malloc)};var Ee,Se,Me,Ce,Ae,Pe,ke,Oe,Le,Ie,Ue,De,Be,We,Ge=null,Ve=0,Fe=null,Ne=null,je=null,He=0,qe=0,Xe=0,Ye=!1,ze=!1,Ke=!1,Qe=!1,Je=null,Ze=0,$e=0,et=0,tt=Object(d.a)(),rt=!1,it=!1,at=!1,st=!1,nt=null,ot=null,lt=!1,ht=!1,ct=null,ut=null,dt=null,ft=null,pt=null,gt=0,mt=new Map,vt=null,bt=new Map,_t=null,yt=[],wt=!1,Tt=!1,xt="",Rt=!1,Et={ssrc:null,firstflag:!1},St=1,Mt=0,Ct=0,At=!1,Pt=0,kt=!1,Ot=!1,Lt=!1,It=!1,Ut=!1,Dt=!1,Bt=new Map,Wt=navigator.hardwareConcurrency?navigator.hardwareConcurrency:4,Gt=a.S,Vt=0,Ft={rgba_x:0,rgba_y:0,rgba_stride:0},Nt=!1,jt=!1;self.isPreviewMode=!1;var Ht=!1,qt={qosIntervalId:0,renderFlag:!1,monitorPanelFlag:!1,messageIndex:0,panelpollingInterval:0},Xt=!0;let Yt;function zt(){function e(e){let t=null,r=a.db,s=null,n=e.onmessage,o=e.onopen,l=e.onclose;e.onmessage=r=>{t=(new Date).getTime(),n.call(e,r)},e.onopen=i=>{t=(new Date).getTime(),function(){if(s)return;s=setInterval(()=>{var i;(new Date).getTime()-t>=1e3*r&&(clearInterval(s),s=null,null===(i=e.socket)||void 0===i||i.close())},1e3)}(),o.call(e,i,e)},e.onclose=t=>{try{clearInterval(s)}catch(e){Object(i.u)("WebSocket closed",e)}l.call(e,t,e)}}this.socket=null,this.onopen=null,this.onmessage=null,this.onerror=null,this.onclose=null,this.websocketaddress=null,this.startwebsocketreconnecttime=null,this.reconnect=null,this.connectIndex=0,this.activeclosewebsocket=!1,this.init=function(t,r,i,a,s){this.websocketaddress=t,this.onopen=r,this.onmessage=i,this.onerror=a,this.onclose=s,e(this)},this.connect=function(e,t,r,a,n){var o=this;Object(i.o)("SB"),o.init(e,t,r,a,n),o.reconnect=function(){if(o.isReconnectNow||o.isTimerExist)return;o.isReconnectNow=!0,o.isTimerExist=!0;let e=0;o.startwebsocketreconnecttime&&((new Date).getTime()/1e3-o.startwebsocketreconnecttime<3?e=5:o.connectIndex=0);let t=Math.max(Math.min(Math.pow(2,o.connectIndex)-1,31),e);o.connectIndex+=1,setTimeout(()=>{o.activeclosewebsocket||(o.isTimerExist=!1,o.startwebsocketreconnecttime=null,o.socket=new WebSocket(this.websocketaddress),o.socket.binaryType="arraybuffer",o.socket.onopen=function(e){o.isReconnectNow=!1,Object(i.o)("SE"),o.startwebsocketreconnecttime=(new Date).getTime()/1e3,o.onopen(e)},o.socket.onmessage=function(e){o.onmessage(e)},o.socket.onerror=function(e){Object(i.o)("SERR");let t=e.target;t&&t!=o.socket?t.close():o.socket.close()},o.socket.onclose=function(e){Object(i.o)("SCLOSE"),o.isReconnectNow=!1;let t=e.target;t&&t!=o.socket||(o.onclose(e),o.activeclosewebsocket||(o.connectIndex<10?o.reconnect():(postMessage({status:s.tb}),Object(i.u)("NetWork is Bad, Don't to reconnect the serer!"))))})},1e3*t)},o.reconnect()},this.send=function(e){var t;if(je){var r=(new Date).getTime()/1e3;if((t=r-je)>10){var a=He-this.socket.bufferedAmount;0==this.socket.bufferedAmount?(Xe=Xe?.8*Xe+16e4:8e5,!it&&Ge&&O(Ge,Xe,0)):(qe=8*a/(1*t),Xe=Xe?.8*Xe+.2*qe:8e5,!it&&Ge&&O(Ge,Xe,0)),He-=a,je=r}}else He=0,je=(new Date).getTime()/1e3,!it&&Ge&&O(Ge,8e5,0);He+=e.length;try{this.socket.readyState==WebSocket.OPEN&&this.socket.send(e)}catch(t){Object(i.u)("Error sending to WebSocket type ".concat(e[0]),t)}},this.close=function(){try{var e;this.activeclosewebsocket=!0,null===(e=this.socket)||void 0===e||e.close(),this.socket=null}catch(e){Object(i.u)("WebSocket force closed",e)}}}function Kt(e,t,r,i){Qt(e,"".concat(t,",").concat(r,",").concat(i))}function Qt(e,t){postMessage({status:s.H,data:"".concat(e,":").concat(t)})}var Jt=new u.b({tag:"WCL_M,VMERR",interval:1e4,reportcallback:Kt}),Zt=new u.b({tag:"WCL_M,DISCARD",interval:15e3,reportcallback:Kt}),$t=new c.a({report_call:Qt});const er=new class{constructor(){this.intervalTimer=null}start(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;this.stop(),this.intervalTimer=setInterval(e,t)}stop(){this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}};function tr(e,t,r,a,s,n){if(Object(i.o)("WSURL:".concat(isPreviewMode&&!n,":").concat(e)),isPreviewMode&&!n)return null;var o=new zt;return o.connect(e,t,r,a,s),o}let rr=null;async function ir(e,t){isPreviewMode&&!t||(rr=new i.l(e),await rr.connect())}function ar(){let e=it||at;if(Ge&&e!=st){let t=e?1:0,r=it?1:0,a=at?1:0;Object(i.o)("VQOS-S-"+t+"-"+r+"-"+a),q(Ge,e?0:2)}st=e}function sr(e){let{url:t}=e.params;at=!0,Ne=e,t.includes("mode=2")&&_s==e.id&&ar(),postMessage({status:s.r})}function nr(e){let{url:t}=e.params;Ne=null,at=!1,t.includes("mode=2")&&ar(),postMessage({status:s.q})}function or(){var e;if(Vr==a.cb.IPHONE&&!rt&&!Ht&&(null===(e=Fe)||void 0===e||null===(e=e.socket)||void 0===e?void 0:e.readyState)==WebSocket.OPEN){Ht=!0;let e=new Uint8Array(8);e[0]=139,Object(i.y)(Fe,e)}}function lr(e){we.setSubForMe(e)}function hr(e,t){or(),postMessage({status:s.ub})}var cr,ur,dr,fr=!1,pr=!1,gr={};gr.threadCreatedFlag=!1,gr.threadPoolBufferMGR=new Map,gr.needReloaddHelpThread=!1,gr.SSrcWaitForThread=[],gr.initParseThread=!1,gr.unusedworkerarray=[],gr.countThread=3,gr.totalNumbofParseThread=3,gr.newworker=0,gr.totalthread=0,gr.preusedcount=0,gr.realusedcount=0,gr.zombiethreadssrc=0,gr.videodecodethreadnumb=1,gr.isSupportMultiThread=!1,gr.isSupportVideoTrackReader=!1,gr.isSupportOffscreenCanvas=!1,gr.isVideoCodecHelpThreadWorker=null,gr.offScreenCanvasHandle={donotrenderoffscreencanvas:null,donotrenderoffscreencanvasctx:null},gr.isEnableVideoDecodeHardWareThread=!1;var mr=1,vr=1280,br=!1,_r={isTeslaMode:!1};function yr(){Fr.nextWorker=Fr.threadarray.shift()}function wr(e){if(!(e=e>>10<<10))return;gr.threadPoolBufferMGR.get(e)&&gr.threadPoolBufferMGR.delete(e)}function Tr(){}function xr(e){e=e>>10<<10;let t=gr.threadPoolBufferMGR.get(e);return t?t.threadState!=a.J||0==gr.unusedworkerarray.length?-1:0:-1}const Rr=(()=>{let e=null,t=null;return{inited:!1,start(){this.inited=!0,this.clear(),e=setTimeout(()=>{Ha||postMessage({status:"VBPredictAbout3s"})},3e3),t=setTimeout(()=>{Ha||postMessage({status:"VBPredictAbout10s",isVBPredictIn5s:!0})},1e4)},clear(){clearTimeout(e),clearTimeout(t),e=null,t=null}}})();const Er=()=>"undefined"!=typeof PThread,Sr=function(e,t){e.onmessage=r=>{if(!be){var a=r.data,n=a.cmd;if(e.pthread_ptr&&(PThread.currentProxiedOperationCallerThread=e.pthread_ptr),a.targetThread&&a.targetThread!=_pthread_self()){var o=PThread.pthreads[a.targetThread];return o?o.postMessage(a,a.transferList):Object(i.u)('Internal error! Worker sent a message "'+n+'" to target pthread '+a.targetThread+", but that thread no longer exists!"),void(Er&&(PThread.currentProxiedOperationCallerThread=void 0))}if("processProxyingQueue"===n)executeNotifiedProxyingQueue(a.queue);else if("spawnThread"===n)spawnThread(a);else if("cleanupThread"===n)cleanupThread(a.thread);else if("killThread"===n)killThread(a.thread);else if("cancelThread"===n)cancelThread(a.thread);else if("loaded"===n)e.loaded=!0,t&&t(e),e.runPthread&&e.runPthread();else if("size"==n)Module.decode_callback&&Module.decode_callback(r.data.ssrc,r.data.size);else if("decoded"==n)Module.put_data&&Module.put_data(r.data);else if("js_info_from_wcl"==n)Module.js_info_from_wcl_thread&&Module.js_info_from_wcl_thread(r.data);else if("wcl_trace_log"==n)Module.wcl_trace_log&&Module.wcl_trace_log(r.data);else if("js_info_from_wcl_video_data"===n){let e=r.data.ssrc,t=r.data.data,i=r.data.is_sent_by_data;Module.js_info_from_wcl_video_data(e,t,0,void 0,void 0,i,!0)}else if("change_capture_resolution"==n)Module.change_capture_resolution&&Module.change_capture_resolution(r.data.type);else if("APP_Troubleshoting_Info"==n)Module.APP_Troubleshoting_Info&&Module.APP_Troubleshoting_Info(r.data.data,r.data.len);else if("SAVE_IV"==n){let e=r.data.ptr,t=r.data.len;Module.SAVE_IV(e,t)}else if("processed_capture_data_callback"==n){let e=r.data.ssrc,t=r.data.data,i=r.data.len_of_data,a=r.data.format_width,s=r.data.format_height,n=r.data.valid_x,o=r.data.valid_y,l=r.data.valid_width,h=r.data.valid_height,c=r.data.yuv_limited;Module.processed_capture_data_callback(e,t,i,a,s,n,o,l,h,c)}else if("modelReady"===n)Na=performance.now(),Rr.start();else if("vbInitializeFailed"===n)postMessage({status:"vbInitializeFailed"});else if("addMonitorLog"===n)Object(i.o)(a.log);else if("vbPredictDone"===n)Ha=!0,ja=performance.now()-Na,Fr.nextWorker=Fr.vbThreadWorker,Fr.nextWorker.postMessage({cmd:"vb"}),Z(),Fr.vbThreadCreatedFlag=!0,Fr.nextWorker=null,postMessage({status:"VBPredictDone",predictCostTime:ja}),Ji&&(Ut||Qa({data:ia}));else if("VideoEncodeInit"===r.data.cmd){let e=r.data.id,t=r.data.context;Module.codecMRG.initEncodeWebCodec(e,t)}else if("VideoEncodeConfigure"===r.data.cmd){let e=r.data.Width,t=r.data.Height,i=r.data.id,a=r.data.Bitrate,s=r.data.Framerate;Module.codecMRG.configEncodeWebCodec(i,a,s,e,t)}else if("VideoEncode"===r.data.cmd){let e=r.data.videoFrameId,t=r.data.dataLength,i=r.data.id,a=r.data.NewIDR,s=r.data.rawData;Module.codecMRG.encodeVideoFrame(i,e,a,s,t)}else if("decoded_webcodec"===r.data.cmd){const{id:e,data:t,frameIndex:i,ssrc:a}=r.data||{};Module.codecMRG.put_data({id:e,ssrc:a,data:t,frameIndex:i})}else if("decoded_webcodec_render"===r.data.cmd){const{id:e,ssrc:t,iFrameNum:i,rotation:a,rendering_x:s,rendering_y:n,rendering_width:o,rendering_height:l,format_width:h,format_height:c}=r.data||{};Module.codecMRG.render({id:e,iFrameNum:i,ssrc:t,rotation:a,x:s,y:n,vwidth:o,vheight:l,format_width:h,format_height:c})}else if("reclaimed"===r.data.cmd){let e=r.data.data;Module.codecMRG.set_videowebcodecencodestate(e)}else if("print"===n)out("Thread "+a.threadId+": "+a.text);else if("printErr"===n)err("Thread "+a.threadId+": "+a.text);else if("alert"===n)alert("Thread "+a.threadId+": "+a.text);else if("setimmediate"===a.target)e.postMessage(a);else if("callHandler"===n)Module[a.handler](...a.args);else if("tCrashed"==r.data.cmd){let e="WCL_M,"+r.data.data.toString();postMessage({status:s.H,data:e})}else if("MCM_VIDEO_LOG"==r.data.cmd){let e=r.data;Module.MCMMonitor_Video_LOG(e.data)}else"video_un_ref"==r.data.cmd?$t.unref():"THWEC"==r.data.cmd?postMessage({status:s.x,type:0}):"WCEF"==r.data.cmd?vs(r.data.code,r.data.data):"TFJSWLF"==r.data.cmd?(!1,Object(i.o)("TFJSWLF")):"globalTracingError"===r.data.cmd?Object(i.u)("Error from pthread worker: ".concat(r.data.data),r.data.error):"GlobalTracingDT"===r.data.cmd?Object(i.t)("message from pthread worker: ".concat(r.data.data)):"WCDF"==r.data.cmd?(Object(i.u)("E:H webcodec decode failed ".concat(r.data.data)),Vs(!1,r.data.data),Object(i.o)("WCDF:".concat(r.data.data))):"vb-fin"==r.data.cmd||(r.data.cmd==s.yb?postMessage(r.data):"webcodecperformance"==r.data.cmd?postMessage({status:s.Ab,data:r.data}):n&&err("worker sent an unknown command "+n));Er()&&(PThread.currentProxiedOperationCallerThread=void 0)}};var r=[];for(var a of["onExit","onAbort","print","printErr"])Module.hasOwnProperty(a)&&r.push(a);Er()?e.postMessage({cmd:"load",urlOrBlob:Module.mainScriptUrlOrBlob||_scriptDir,wasmMemory:wasmMemory,wasmModule:self.wasmModuleToShare,handlers:r,isTeslaMode:!!_r.isTeslaMode,is360penablehwenc:!!Dr,is360penablehwdec:!!Br,isAndroid:!0}):e.postMessage({cmd:"load",isSingleThreadVBWorker:e.isSingleThreadVBWorker})};function Mr(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];PThread.loadWasmModuleToWorker=Sr,e?(PThread.getNewWorker=function(){return Fr.nextWorker},PThread.returnWorkerToPool=function(e){var t=e.pthread_ptr;delete PThread.pthreads[t],e.pthread_ptr=0,__emscripten_thread_free_data(t),Fr.threadarray.push(e),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(e),1)}):(PThread.getNewWorker=function(){let e;return gr.newworker?(e=gr.newworker,gr.newworker=0):e=gr.unusedworkerarray.shift(),e?gr.realusedcount++:Object(i.u)("get video decode worker thread is null"),e},PThread.returnWorkerToPool=function(e){if(e!=gr.isVideoCodecHelpThreadWorker){var t=e.pthread_ptr;delete PThread.pthreads[t],e.pthread_ptr=0,__emscripten_thread_free_data(t),gr.realusedcount--,setTimeout(()=>{Ir(e,!1)},0),PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(e),1)}else Object(i.u)("video decode codec help thread worker was released")})}function Cr(e){return e?e>>10<<10:-1}function Ar(e){let{canvas:t,oldCanvas:r,newDisplayMap:i}=e;for(let e=0;e<yt.length;e++)if(yt[e].canvas===r||yt[e].canvas===t){r!==t&&(yt[e].canvas=t);const a=yt[e].display.getFillMode();yt[e].display=i?i.get(yt[e].display.getTextureIndex()):this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:t,canvasId:yt[e].rendercanvasID}),a&&yt[e].display&&yt[e].display.setFillMode(a,yt[e].display.getFillModeForResolution())}}function Pr(e){gr.threadPoolBufferMGR.set(gr.zombiethreadssrc,{pduBuffer:new m.a,threadState:a.L,threadnumb:1,workerArray:[]});let t=gr.threadPoolBufferMGR.get(gr.zombiethreadssrc);e&&(t.threadState=a.K)}function kr(e,t,r,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(t){if(r.threadState===a.L||104==t[0])s?se(e,s,t.length):i(e,t,t.length);else if(r.threadState===a.K){let e=new Uint8Array(t);r.pduBuffer.enqueue(e)}else if(r.threadState===a.J){let a=r.pduBuffer.dequeue();for(;a;)i(e,a,a.length),a=r.pduBuffer.dequeue();s?se(e,s,t.length):i(e,t,t.length)}}else{let t=r.pduBuffer.dequeue();for(;t;)i(e,t,t.length),t=r.pduBuffer.dequeue()}}function Or(e,t){e.threadState=a.K,gr.SSrcWaitForThread.push(t),e.isCreateWorkers=!0;let r=e.threadnumb;for(let e=0;e<r;e++)gr.preusedcount<gr.totalthread?Ir(null,!1):gr.totalthread<mr&&(PThread.allocateUnusedWorker(),PThread.loadWasmModuleToWorker(PThread.unusedWorkers[gr.totalthread],Ir),gr.preusedcount++,gr.totalthread=gr.totalthread+1)}function Lr(e,t){if(e&&!e.msc&&gr.isVideoCodecHelpThreadWorker){let r=new MessageChannel;e.msc=!0,e.postMessage({cmd:"vdmsc1"},[r.port1]),t.postMessage({cmd:"vdmsc2"},[r.port2])}}function Ir(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(gr.SSrcWaitForThread.length&&gr.SSrcWaitForThread[0]===gr.zombiethreadssrc&&!gr.isVideoCodecHelpThreadWorker){let t=gr.threadPoolBufferMGR.get(gr.zombiethreadssrc);return t.threadnumb=t.threadnumb-1,e&&e.postMessage({cmd:"webcodec",decHAOption:bs}),gr.isVideoCodecHelpThreadWorker=e,gr.newworker=e,void de()}Lr(e,gr.isVideoCodecHelpThreadWorker),e&&-1==gr.unusedworkerarray.indexOf(e)&&gr.unusedworkerarray.push(e);let r=!1;for(;gr.SSrcWaitForThread.length;){let e=gr.SSrcWaitForThread[0];if(!(e===gr.zombiethreadssrc||_t.Decode_Ssrc(e)||Et.ssrc&&e==Et.ssrc>>10<<10)){gr.SSrcWaitForThread.shift(),gr.threadPoolBufferMGR.delete(e);continue}let i=gr.threadPoolBufferMGR.get(e);i&&(i.threadnumb=i.threadnumb-1,t||gr.preusedcount++,r=!0,i.threadnumb||(gr.SSrcWaitForThread.shift(),i.threadState=a.J,Ge?kr(Ge,null,i,k):console.error("<<< ExecutePdu video handle is null")));break}!r&&t&&gr.preusedcount--}function Ur(e,t,r){let i,n,o,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(!be&&ks()&&(rt||++me%2400==0&&postMessage({status:s.H,data:"WCL_M,RTCPVN"+me}),(16==e[0]||142==e[0])&&e.length>5&&xe!=e[4]&&(xe=!!e[4]),t&&r&&e)){if(pr&&103==e[0]&&e.length>15){if(n=e[7]<<24|e[6]<<16|e[5]<<8|e[4],!(_t.Decode_Ssrc(n)||Et.ssrc&&Cr(n)==Cr(Et.ssrc)))return;if(n=n>>10<<10,i=gr.threadPoolBufferMGR.get(n),mi(),i)o=gr.threadPoolBufferMGR.get(n);else{if(o={},o.isCreateWorkers=!1,o.threadState=a.L,o.pduBuffer=new m.a,!gr.initParseThread){let e=gr.threadPoolBufferMGR.get(gr.zombiethreadssrc);e.threadnumb=gr.totalNumbofParseThread,Mr(!1),Or(e,gr.zombiethreadssrc),gr.initParseThread=!0}o.threadnumb=1,o.workerArray=[],gr.threadPoolBufferMGR.set(n>>10<<10,o),Ri.set(n>>10<<10,2),Or(o,n)}}else n=gr.zombiethreadssrc,o=gr.threadPoolBufferMGR.get(n);kr(t,e,o,r,l)}}var Dr=!1,Br=!1,Wr=!1,Gr=!0,Vr=a.cb.DESKTOP,Fr={},Nr=!1;Fr.encodeThreadCreatedFlag=!1,Fr.codecThreadCreatedFlag=!1,Fr.threadPoolBufferMGR=new Map,Fr.waitingThread=[],Fr.vbThreadWorker=null,Fr.vbReadySetSpecialActionTrue=!1,Fr.threadState=a.L,Fr.isEnableVideoEncodeHardWareThread=!1,Fr.isSupportVirtualBackground=!1,Fr.enableVBWasmBackend=!1,Fr.videoencodethreadnumb=1,Fr.videoencodethreadmaxnumb=1,Fr.nextWorker=null,Fr.loadedThreadCount=0,Fr.vbThreadCreatedFlag=!1,Fr.Signal_Encode_Thread={status:a.L,handle:null,initwebcodecflag:!1,latestflag:!1},Fr.threadarray=[];class jr{constructor(e){this.workerJsUrl=e,this.worker=null,this.videoRenderObj=null,this.currentUserSsrc=0,this.vbDataQueueCounter=0}setCurrentUserSsrc(e){this.currentUserSsrc=e}generateVideoRenderObj(){this.videoRenderObj||(this.videoRenderObj=new n.a({Notify_APPUI:null,isSupportOffscreenCanvas:!0,jsMediaEngine:null,videodecodethreadnumb:1,renderManager:S}),this.videoRenderObj.setMirrorMyVideoOption(kt),ps&&this.videoRenderObj.Change_Current_SSRC(ps),Gi&&this.videoRenderObj.Set_LocalVideo_Buffer(Gi),Wi&&this.videoRenderObj.Set_LocalVideo_Ptr(Wi))}setMirrorMyVideoOption(e){this.videoRenderObj&&this.videoRenderObj.setMirrorMyVideoOption(e)}replace_Canvas(e,t){this.videoRenderObj&&this.videoRenderObj.Replace_Canvas(e,t)}render(e){let{width:t,height:r,croppingParams:s,ptr:n,mode:o}=e;if(this.videoRenderObj){const e=o&&o!==a.N?t*r*3/2:t*r*4,l="number"==typeof n?Object(i.g)().subarray(n,n+e):n;this.videoRenderObj.Update_SelfVideo_Texture(t,r,l,Cr(this.currentUserSsrc),o,s)}}createVBThread(e){this.workerJsUrl&&(this.worker=new Worker(this.workerJsUrl),this.worker.addEventListener("message",e=>{e.data.status===s.E?this.postMessage({command:"DOWNLOAD_WASM_FROM_MAIN_THREAD_OK",data:self.wasmModuleToShare}):e.data.status===s.sb?this.postMessage({cmd:"loadWasmSuccess"}):"vb-fin"==e.data.cmd&&this.updateVBDataQueueCounter(!1)}),this.worker.addEventListener("error",e=>{Object(i.u)("Error from VB thread",e)}),this.worker.isSingleThreadVBWorker=!0,Sr(this.worker,e),this.generateVideoRenderObj())}hasSubWorker(){return!!this.worker}postMessage(e){if(this.worker){if("vbYuv"===e.cmd||"vbRgba"===e.cmd){if(!this.canTransferVBData(!0))return;this.updateVBDataQueueCounter(!0)}this.worker.postMessage(e)}}updateVBDataQueueCounter(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.vbDataQueueCounter++:this.vbDataQueueCounter>0&&this.vbDataQueueCounter--}canTransferVBData(e){return this.hasSubWorker()&&(!e||this.vbDataQueueCounter<=2)}}let Hr=null;class qr{constructor(){this.initWasmSuccess=!1,this.tfjsUrl=null,this.modelArtifacts={},this.model=null,this.initTfSuccess=!1,this.IOhandle={load:()=>this.modelArtifacts,save:()=>{}},this.afnModel,this.afnModelArtifacts={},this.afnIOHandle={load:()=>this.afnModelArtifacts,save:()=>{}},this.baseModel,this.baseModelArtifacts={},this.baseIOHandle={load:()=>this.baseModelArtifacts,save:()=>{}},this.dualModelOKCount=0,this.tfLoad=!1,this.tfInitPromise=null,this.enableVBWasmBackend=0,self.addEventListener("message",this.handleMessageFromEncodeWorker.bind(this)),self.execute=this.execute.bind(this),self.execute_afn=this.execute_afn.bind(this),self.execute_base=this.execute_base.bind(this)}initTf(e){this.tfLoad||(importScripts(e),this.tfLoad=!0,this.tfInitPromise=tf.setBackend("webgl").then(e=>{if(!e)return Promise.reject("init tf fail 1")}).catch(()=>{if(!this.enableVBWasmBackend)return postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 2");const t=e.substr(0,e.lastIndexOf("/")+1);return importScripts(t+"tf-backend-wasm.min.js"),tf.wasm.setWasmPaths(t),tf.setBackend("wasm").then(e=>{if(!e)return postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 3")},()=>(postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 4")))}))}handleMessageFromEncodeWorker(e){switch(e.data.cmd){case"load":break;case"loadWasmSuccess":this.initWasmSuccess=!0,this.checkVBThreadReady();break;case"vbObj0":{this.tfjsUrl=e.data.tfjsUrl;let t=e.data.modelJSON;if(this.modelArtifacts.modelTopology=t.modelTopology,this.modelArtifacts.format=t.format,this.modelArtifacts.generatedBy=t.generatedBy,this.modelArtifacts.convertedBy=t.convertedBy,t.weightsManifest)for(let e=0;e<t.weightsManifest.length;e++)this.modelArtifacts.weightSpecs=t.weightsManifest[e].weights;t.trainingConfig&&(this.modelArtifacts.trainingConfig=t.trainingConfig),t.userDefinedMetadata&&(this.modelArtifacts.userDefinedMetadata=t.userDefinedMetadata),this.modelArtifacts.weightData=e.data.weightData,this.initTf(this.tfjsUrl),this.tfInitPromise.then(()=>{postMessage({cmd:"addMonitorLog",log:"TFBE-"+tf.getBackend()}),tf.loadGraphModel(this.IOhandle).then(e=>{this.model=e,postMessage({cmd:"modelReady"});var t=new Float32Array(110592),r=tf.tensor4d(t,[1,144,256,3],"float32");this.model.predict(r),this.initTfSuccess=!0,this.checkVBThreadReady()})});break}case"vbObj1":this.tfjsUrl=e.data.tfjsUrl;var t=e.data.modelJSON;if(this.afnModelArtifacts.modelTopology=t.modelTopology,this.afnModelArtifacts.format=t.format,this.afnModelArtifacts.generatedBy=t.generatedBy,this.afnModelArtifacts.convertedBy=t.convertedBy,t.weightsManifest)for(var r=0;r<t.weightsManifest.length;r++)this.afnModelArtifacts.weightSpecs=t.weightsManifest[r].weights;t.trainingConfig&&(this.afnModelArtifacts.trainingConfig=t.trainingConfig),t.userDefinedMetadata&&(this.afnModelArtifacts.userDefinedMetadata=t.userDefinedMetadata),this.afnModelArtifacts.weightData=e.data.weightData,this.initTf(this.tfjsUrl),this.tfInitPromise.then(()=>{postMessage({cmd:"addMonitorLog",log:"TFBE-"+tf.getBackend()}),tf.loadGraphModel(this.afnIOHandle).then(e=>{this.afnModel=e,0==this.dualModelOKCount&&postMessage({cmd:"modelReady"});var t=new Float32Array(110592),r=new Float32Array(110592),i=new Float32Array(36864),a=tf.tensor4d(t,[1,144,256,3],"float32"),s=tf.tensor4d(r,[1,144,256,3],"float32"),n=tf.tensor4d(i,[1,144,256,1],"float32");this.afnModel.predict([a,s,n]),this.dualModelOKCount++,2==this.dualModelOKCount&&(this.initTfSuccess=!0,this.checkVBThreadReady())})});break;case"vbObj2":this.tfjsUrl=e.data.tfjsUrl;t=e.data.modelJSON;if(this.baseModelArtifacts.modelTopology=t.modelTopology,this.baseModelArtifacts.format=t.format,this.baseModelArtifacts.generatedBy=t.generatedBy,this.baseModelArtifacts.convertedBy=t.convertedBy,t.weightsManifest)for(r=0;r<t.weightsManifest.length;r++)this.baseModelArtifacts.weightSpecs=t.weightsManifest[r].weights;t.trainingConfig&&(this.baseModelArtifacts.trainingConfig=t.trainingConfig),t.userDefinedMetadata&&(this.baseModelArtifacts.userDefinedMetadata=t.userDefinedMetadata),this.baseModelArtifacts.weightData=e.data.weightData,this.initTf(this.tfjsUrl),this.tfInitPromise.then(()=>{tf.loadGraphModel(this.baseIOHandle).then(e=>{this.baseModel=e,0==this.dualModelOKCount&&postMessage({cmd:"modelReady"});var t=new Float32Array(110592),r=tf.tensor4d(t,[1,144,256,3],"float32");this.baseModel.predict(r),this.dualModelOKCount++,2==this.dualModelOKCount&&(this.initTfSuccess=!0,this.checkVBThreadReady())})});break;case"vbBg":if(e.data.data){const{length:t,width:r,height:i}=e.data;Ka.sendBg(e.data.data,t,r,i)}break;case"vbBlur":Ka.sendBlur();break;case"vbYuv":if(e.data.data){const{length:t,width:r,height:i,yDataLength:a,uDataLength:s,vDataLength:n,yStride:o,uStride:l,vStride:h,xOffset:c,yOffset:u,dataFormat:d}=e.data,f=Oi(e.data.data);Ka.sendYuvData(f,t,r,i,a,s,n,o,l,h,c,u,d)}break;case"vbRgba":if(e.data.data){const{length:t,width:r,height:i,rgbaStride:a,xOffset:s,yOffset:n,dataFormat:o}=e.data,l=Oi(e.data.data);Ka.sendRgbaData(l,t,r,i,a,s,n,o)}break;case"vbFlag":this.enableVBWasmBackend=e.data.enableVBWasmBackend;break;default:console.warn("unknown message in single thread vb worker:",e.data.cmd)}}checkVBThreadReady(){this.initWasmSuccess&&this.initTfSuccess&&(postMessage({cmd:"vbPredictDone"}),$())}execute(e,t,r,a){if(this.model)try{const a=new Float32Array(Object(i.g)().buffer,e,t),s=tf.tensor4d(a,[1,144,256,3],"float32"),n=this.model.predict(s),o=Float32Array.from(n.as1D(36864).arraySync());return Object(i.c)().set(o,r>>2),s.dispose(),n.dispose(),0}catch(r){return Object(i.u)("Error in SingleThreadVBWorker.execute: ".concat(e,", ").concat(t,", ").concat(input_data),r),-1}}execute_base(e,t,r,a){if(this.baseModel){try{tf.tidy(()=>{var i,s,n=new Float32Array(wasmMemory.buffer,e,t),o=tf.tensor4d(n,[1,144,256,3],"float32"),l=this.baseModel.predict(o);1==l[0].size?(i=Float32Array.from(l[0].as1D(36864).arraySync()),s=Float32Array.from(l[1].as1D(1).arraySync())):(i=Float32Array.from(l[1].as1D(36864).arraySync()),s=Float32Array.from(l[0].as1D(1).arraySync()));let h=new Float32Array(wasmMemory.buffer);h.set(s,r>>2),h.set(i,a>>2)})}catch(r){return Object(i.u)("Error in SingleThreadVBWorker.execute: ".concat(r,", ").concat(e,", ").concat(t,", ").concat(input_data)),-1}return 0}}execute_afn(e,t,r,a,s){if(this.afnModel){try{tf.tidy(()=>{var n=new Float32Array(Object(i.g)().buffer,e,a),o=new Float32Array(Object(i.g)().buffer,t,a),l=new Float32Array(Object(i.g)().buffer,r,a/3),h=tf.tensor4d(n,[1,144,256,3],"float32"),c=tf.tensor4d(o,[1,144,256,3],"float32"),u=tf.tensor4d(l,[1,144,256,1],"float32"),d=this.afnModel.predict([h,c,u]);const f=Float32Array.from(d.as1D(36864).arraySync());Object(i.c)().set(f,s>>2)})}catch(e){return Object(i.u)("Error in SingleThreadVBWorker.execute: ".concat(e,", ").concat(input_buffer,", ").concat(a,", ").concat(input_data)),-1}return 0}}}let Xr=null;function Yr(e,t,r){let i=Fr.threadPoolBufferMGR.get(e);if(i)i.threadState==a.J&&(postMessage({status:s.qb}),Ha&&postMessage({status:"VBPredictDone",predictCostTime:0}));else{Fr.threadPoolBufferMGR.set(e,{threadState:a.L,workerArray:[],threadnumb:t});var n=Fr.threadPoolBufferMGR.get(e);if(n.threadState==a.L){n.threadState=a.K,Fr.waitingThread.push(e);for(let e=0;e<t;e++)if(Er()){PThread.allocateUnusedWorker();let e=PThread.unusedWorkers.pop();PThread.loadWasmModuleToWorker(e,e=>{e.postMessage({cmd:"vbFlag",enableVBWasmBackend:r}),Qr(e)})}else Hr&&Hr.createVBThread(e=>{e.postMessage({cmd:"vbFlag",enableVBWasmBackend:r}),Qr(e)})}}}!function(){if(!Er()){const e=t=>{"load"===t.data.cmd&&t.data.isSingleThreadVBWorker&&(Xr=new qr,postMessage({cmd:"loaded"}),self.removeEventListener("message",e))};self.addEventListener("message",e)}}();const zr=(Kr=null,async e=>{Kr||(Kr=new Promise((e,t)=>{if(!fr)return void e(!0);Fr.threadState=a.K;let r=Fr.videoencodethreadnumb;Fr.Signal_Encode_Thread.status=a.K,r+=a.c;for(var s=0;s<r;s++){PThread.allocateUnusedWorker();let t=PThread.unusedWorkers.pop();PThread.loadWasmModuleToWorker(t,(function(t){Fr.loadedThreadCount++,1==Fr.loadedThreadCount?Fr.threadarray.push(t):Fr.isEnableVideoEncodeHardWareThread&&2==Fr.loadedThreadCount?(Fr.Signal_Encode_Thread.status=a.J,Fr.Signal_Encode_Thread.handle=t,__Create_HW_Encode&&(Fr.nextWorker=t,t.postMessage({cmd:"webcodec"}),__Create_HW_Encode(),Fr.nextWorker=null),Ge&&H(Ge,Fr.Signal_Encode_Thread.latestflag)):Fr.threadarray.push(t),Fr.loadedThreadCount==r&&(Object(i.o)("ECWS"),Fr.threadState=a.J,e(!0))}))}})),await Kr,Zi(e)});var Kr;function Qr(e){let t=Fr.waitingThread[0];if(void 0!==t){let r=Fr.threadPoolBufferMGR.get(t);r&&(r.threadnumb=r.threadnumb-1,r.workerArray.push(e),r.threadnumb||(Fr.waitingThread.shift(),r.threadState=a.J,"VB"==t&&(postMessage({status:s.qb}),Fr.vbThreadWorker=e,Ya(0),Ya(1),Ya(2))))}}function Jr(){return fr?1:0}function Zr(){return navigator.hardwareConcurrency||1}function $r(){return gr.videodecodethreadnumb>1&&gr.isEnableVideoDecodeHardWareThread?1:0}function ei(){return he}function ti(){return ce}function ri(){return!!Dr}function ii(){return!!Br}function ai(){return!!_r.isTeslaMode}function si(){return 1}function ni(){return 8}function oi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;var r;(r=e instanceof Uint8Array?e:new Uint8Array(e)).length<4||0==r[0]||(Ge?Ur(r,Ge,k,t):console.log("video handle is not ready!",r[0]))}function li(e){ci({data:e.buffer})}const hi=(()=>{let e;return{updateKey:t=>{if(t&&(e=t),Ge&&e){let t=new Uint8Array(44);t[0]=102,t[4]=2,t[8]=32,t.set(e,12,e.length),k(Ge,t,t.length)}}}})();function ci(e){var t=new Uint8Array(e.data);t.length<4||102==t[0]||(0!=t[0]?(16!=t[0]&&142!=t[0]||(Je=t),Ur(t,Ge,k)):Fe.send(t))}function ui(e,t){postMessage({status:s.p}),R("video_websocket_on_close")}function di(e){}function fi(e){if(e==a.Q&&Wr&&1280!==Ze){if(postMessage({status:s.jb,width:1280,height:720}),Vr==a.cb.IPHONE){let e=a.R;er.start(Qi,1e3/e)}else if(Vr==a.cb.ANDROID){let e=a.e;er.start(Qi,1e3/e)}$t.start()}else e==a.P&&postMessage({status:s.jb,width:640,height:360})}function pi(e,t,r){let a=Object(i.d)().subarray(t+0,t+r),s=new Uint8Array(r);s.set(a,0,r),Object(i.y)(Fe,s)}var gi=0;function mi(){at&&1!==gi?(gi=1,postMessage({status:s.y,type:gi})):it&&!at&&2!==gi?(gi=2,postMessage({status:s.y,type:gi})):it||at||3===gi||(gi=3,postMessage({status:s.y,type:gi}))}function vi(e,t,r,a,s,n,o){if(isPreviewMode)return;let l,h=null;var c;return o||(l=Object(i.d)().subarray(t+0,t+r)),o?c=t:(h=new Uint8Array(4),h[0]=a,h[1]=s),103==a&&we.setRtpPackets(),at&&Ne?(mi(),h&&((c=new Uint8Array(r+4))[0]=a,c[1]=s,c.set(l,4,r)),void Ne.send(c)):n&&it?(mi(),void(h?Fs.sendVideo(h,l):Fs.send(c))):void(!Fe||n&&st||(mi(),o?c=t:h&&((c=new Uint8Array(r+4))[0]=a,c[1]=s,c.set(l,4,r)),ye?setTimeout(()=>{Fe.send(c)},0):Fe.send(c)))}function bi(e,t,r,s,n,o,l,c,u,d){if(!t)return;if(Xr){const a=Object(i.g)().subarray(t,t+r);let h=new Uint8Array(r);return h.set(a,0,r),postMessage({cmd:"processed_capture_data_callback",ssrc:e,data:h,len_of_data:r,format_width:s,format_height:n,valid_x:o,valid_y:l,valid_width:c,valid_height:u,yuv_limited:d}),h=null,void(t&&Module._free(t))}const f="number"==typeof t;if(!lt&&!pa&&!It)return void(f&&(t&&Module._free(t),pt&&Atomics.store(pt,0,0)));if(Ze!=c||$e!=u)return f&&t&&Module._free(t),void Zt.timeoutReport(0,0);if(!Dt)return void(f&&t&&Module._free(t));let p;if(f){qi=Atomics.load(ft,0),Hi=Atomics.load(ft,1),ji=dt+4+(a.T+4+8+2)*Hi+4+8,p=Object(i.g)().subarray(t+0,t+r),Object(i.g)().subarray(ji,ji+r).set(p,0,r),pt[2+(a.T+4+8+2)*Hi/2]=s,pt[2+((a.T+4+8+2)*Hi+2)/2]=n,pt[2+((a.T+4+8+2)*Hi+4)/2]=l,pt[2+((a.T+4+8+2)*Hi+6)/2]=o,pt[2+((a.T+4+8+2)*Hi+8)/2]=c,pt[2+((a.T+4+8+2)*Hi+10)/2]=u,pt[2+((a.T+4+8+2)*Hi+12)/2]=1}else if(lt){p=t,ji=Oi(p);let e={width:s,height:n,croppingParams:{top:l,left:o,width:c,height:u},ptr:t,data:0,mode:1,yuv:a.V,ssrc:Be,rotation:Ct,cmd:"SVIEW"};var g;if(Xt)e.data=p,e.ptr=0,null===(g=ur)||void 0===g||g.postMessage(e);else Hr.render(e)}let m=s*n,v=s*n/4,b=s*n/4,_=s,y=s/2,w=s/2,T=o,x=l;2!=St&&(St=2,rs());let R=Vi();if(R||ue&&self.VideoFrame||br){let e=new VideoFrame(p,{format:"I420",timestamp:1e3*performance.now(),duration:0,codedWidth:s,codedHeight:n,visibleRect:{left:o,top:l,width:c,height:u}});ue&&postMessage({status:h.d,frame:e}),R&&($t.captureSample(),Fi(e),$t.closeSample()),br&&Xi(e),e.close()}if(P(Ge,ji,m,ji+m,v,ji+m+v,b,_,y,w,T,x,St,R,0,Ni++,Te),f&&(Atomics.store(ft,1,(Hi+1)%a.U),ft[2]=1),It&&Ue){ls(s,n,p,{top:l,left:o,width:c,height:u},1,Mt)}f?t&&Module._free(t):(p=null,Li(ji))}let _i=null;const yi=[a.w,a.x,a.X];function wi(e){let t=e.data;it&&-1!==yi.indexOf(t[0])&&Fs.send(t),Object(i.y)(Fe,t)}const Ti=function(){let e=!1;return(t,r,i)=>{!e&&t&&r&&i&&(e=!0,postMessage({status:"FIRST_VIDEO_FRAME"}))}}();function xi(e,t,r,a,n,o,h,c,u,d,f,p){try{var g=Object(i.g)().subarray(e+0,e+t),m=Object(i.d)().subarray(r,r+8),v=new Uint8Array(8);v.set(m,0,8);var b=0;for(let e=0;e<8;e++)b+=v[e]*Math.pow(256,e);var _=a>>10<<10,y=n,w=o;if(Ti(_,Ze=y,$e=w),Ii&&Object(i.x)({ssrc:a,r_w:u,r_h:d,rotation:f},Ui),Ss(a)&&!Et.firstflag&&(postMessage({status:"NewActiveSpeakerFirstframeCallback",ssrc:Et.ssrc}),Et.firstflag=!0),Tt){if(!wt)return;if(K){let e=new Uint8Array(g.length);e.set(g,0,g.length);let t={cmd:"decoded",yuvdataptr:0,yuvdata:e,yuvlength:g.length,data:e,ntptime:b,ssrc:_,width:y,height:w,r_y:c,r_x:h,r_h:d,r_w:u,rotation:f,yuv_limited:p,enableMultiDecodeVideoWithoutSAB:K};return void _t.Put_Video_Data_Queue(t)}_i||(_i=new i.k(10,32e5));let e=new i.m(_i);if(e.storeSync(g)){let t={yuvdata:e,ntptime:b,ssrc:_,width:y,height:w,r_x:h,r_y:c,r_w:u,r_h:d,rotation:f,yuv_limited:p};_t&&_t.Put_Video_Data_Queue(t,8)}}else if(self.videoDecodeFrameBackSABRingBuffer){let e=new l.c;e.setOBJ({data:g,video_timestamp:b,video_ssrc:_,video_width:y,video_height:w,rendering_x:h,rendering_y:c,rendering_w:u,rendering_h:d,rotation:f,yuv_limited:p}),self.videoDecodeFrameBackSABRingBuffer.enqueue(e.obj2buffer()),postMessage({status:s.Eb})}else{var T=new Uint8Array(t);T.set(g,0,t),postMessage({status:0,data:T,video_timestamp:b,video_ssrc:_,video_width:y,video_height:w,rendering_x:h,rendering_y:c,rendering_w:u,rendering_h:d,rotation:f,yuv_limited:p},[T.buffer])}}catch(e){Jt.timeoutReport(0,0)}}var Ri=new Map;function Ei(e,t){Ri.set(e>>10<<10,t);let r=Array.from(Ri.values()),i=Math.max.apply(null,r);et!==i&&(et=i,postMessage({status:s.D,ssrc:e,size:et}))}function Si(e,t){var r=new Uint8Array(t),a=Object(i.d)().subarray(e+0,e+t);r.set(a,0,t),Object(i.y)(Fe,r)}function Mi(e,t){var r=new Uint8Array(t),a=Object(i.d)().subarray(e+0,e+t);r.set(a,0,t),postMessage({status:s.b,data:Pi(r)})}function Ci(e,t){tt&&tt.writeWasmLog(e,t)}new m.a;function Ai(e,t){tt&&tt.writeWasmLog(e,t)}function Pi(e){var t,r,i,a,s,n;for(t="",i=e.length,r=0;r<i;)switch((a=e[r++])>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=String.fromCharCode(a);break;case 12:case 13:s=e[r++],t+=String.fromCharCode((31&a)<<6|63&s);break;case 14:s=e[r++],n=e[r++],t+=String.fromCharCode((15&a)<<12|(63&s)<<6|(63&n)<<0)}return t}function ki(e,t){We||(We=setInterval((function(){Ge&&V(Ge)}),6e4));let r=new Uint8Array(t),a=Object(i.d)().subarray(e+0,e+t);r.set(a,0,t),r,postMessage({status:s.a,data:r})}function Oi(e){if(!e)return 0;let t=Module._malloc(e.length);return Object(i.g)().subarray(t,t+e.length).set(e,0,e.length),t}function Li(e){e&&Module._free(e)}let Ii=!1,Ui=!0;function Di(e){if(!wt)return Module._free(e.yuvdataptr),void(e.yuvdataptr=null);if(_t){Ti(e.ssrc,e.width,e.height),Ii&&Object(i.x)(e,Ui),Ss(e.ssrc)&&!Et.firstflag&&(postMessage({status:"NewActiveSpeakerFirstframeCallback",ssrc:Et.ssrc}),Et.firstflag=!0),_t.Update_RemoteVideo_Texture(e)}}var Bi,Wi=null,Gi=null;function Vi(){return Ze>=vr&&Fr.Signal_Encode_Thread.status==a.J}function Fi(e){Fr.Signal_Encode_Thread.handle&&(Fr.Signal_Encode_Thread.handle.postMessage({cmd:"videoframe",data:e}),$t.ref())}var Ni=0;let ji,Hi,qi;function Xi(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];null===(t=ur)||void 0===t||t.postMessage({cmd:"SVIEW",rotation:Ct,mode:1,data:e,fromVideoTag:r})}async function Yi(e){!function(e){dt||(gr.isSupportMultiThread?(gt=4+a.T*a.U+12*a.U+2*a.U,dt=Module._malloc(gt),ft=Object(i.g)().subarray(dt,dt+gt),pt=Object(i.e)().subarray(dt/2,(dt+gt)/2),Atomics.store(pt,0,0),(ze||Ke||Qe)&&self.VideoFrame&&e.frame instanceof VideoFrame?br=!0:postMessage({status:s.xb,data:dt,wasmMemory:wasmMemory})):(gt=a.T,dt=Module._malloc(gt)))}(e);let t,r,n,o,l,h,c=null,u=null,d=null,f=null,p=0,g=0,m=0,v=0,b=0,_=0,y=0,w=0,T=0,x=0,R=0,E=0;if(function(){let e=Vi(),t=Nr&&xe&&br&&!Ut&&!Dt&&!pa&&!It&&e&&Fr.Signal_Encode_Thread.latestflag;if(t!=Te){let r="WCL_M,UEP | abOption:".concat(Nr," | dualCall:").concat(xe," | mask:").concat(Ut," | vb:").concat(Dt," | setting:").concat(pa||It," | webcodec:").concat(e&&Fr.Signal_Encode_Thread.latestflag," | video:").concat(br," | optCopyFrame:").concat(t);postMessage({status:s.H,data:r}),Object(i.t)(r),Te=t}}(),Dt){let e=a.T;t=Module._malloc(e),Wt<8&&Gt>a.e&&(Gt=a.e,er.start(Qi,1e3/Gt))}else gr.isSupportMultiThread?(qi=Atomics.load(ft,0),Hi=Atomics.load(ft,1),ji=dt+4+(a.T+4+8+2)*Hi+4+8,r=0):ji=dt,t=ji;if(!br||Dt||Ut||Xi(e.frame,Ke),e.frame&&e.format&&(2==e.format||4==e.format)){if(h=e.frame,w=h.visibleRect?h.visibleRect.width:h.cropWidth,T=h.visibleRect?h.visibleRect.height:h.cropHeight,x=h.visibleRect?h.visibleRect.left:h.cropLeft,R=h.visibleRect?h.visibleRect.top:h.cropTop,w!==Ze||T!==$e)return"close"in h?h.close():h.destroy(),void $t.closeSample();"copyTo"in h?(g=w,p=T,m=g/2,v=g/2,b=w*T,_=w*T/4,y=w*T/4,E=w*T*3/2,r=E,x=0,R=0):(n=h.planes[0],b=n.length,o=h.planes[1],_=o.length,l=h.planes[2],y=l.length,g=h.planes[0].stride,p=h.planes[0].rows,m=h.planes[1].stride,v=h.planes[2].stride,E=b+_+y,r=E);let a={top:R,left:x,width:w,height:T};if(Ut&&_e){let t,r=is(a.width);if(At)t=La(h,a,ji,r),$t.captureSample();else{if(4==e.format){let e=w*T*5/2;ta&&f&&f.length==e||(ta&&Module._free(ta),ta=Module._malloc(e))}else ga&&ga.length==E||(ga=new Uint8Array(E));if("copyTo"in h){if(4==e.format){let e=w*T*5/2;f=Object(i.g)().subarray(ta,ta+e),await h.copyTo(f),ga=new Uint8Array(f.buffer,ta,E)}else await h.copyTo(ga);t=Fa(g,p,ga,ji,a,2,r)}else c=ga.subarray(0,0+b),u=ga.subarray(b,b+_),d=ga.subarray(b+_,b+_+y),n.readInto(c),o.readInto(u),l.readInto(d),t=Fa(g,p,ga,ji,a,2,r);$t.captureSample()}if(Dt||1==St||(St=1,rs()),lt){let e=Vi();e&&Fi(t),A(Ge,ji,ha,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,St,e,0,Ni++,Te)}br&&t&&Xi(t),t&&(t.close(),$t.closeSample()),Gr=!0,g=Ze,p=$e,w=Ze,T=$e,x=0,R=0}else{if("copyTo"in h){if(!Te)if(2==e.format)c=Object(i.g)().subarray(t,t+E),await h.copyTo(c);else{let e=w*T*5/2;c=Object(i.g)().subarray(t,t+e),await h.copyTo(c)}}else c=Object(i.g)().subarray(t,t+b),u=Object(i.g)().subarray(t+b,t+b+_),d=Object(i.g)().subarray(t+b+_,t+b+_+y),n.readInto(c),o.readInto(u),l.readInto(d);if(Dt||2==St||(St=2,rs()),as(h,a,g,p,St,t,E),!Ut&&Dt)Ka.sendYuvData(t,0,Ze,$e,b,_,_,g,m,m,x,R,2);else{let e=Vi();e&&Fi(h),P(Ge,t,b,t+b,_,t+b+_,y,g,m,v,x,R,St,e,0,Ni++,Te)}Gr=!0}}else if(e.frame&&e.format&&3==e.format){if(h=e.frame,w=h.visibleRect?h.visibleRect.width:h.cropWidth,T=h.visibleRect?h.visibleRect.height:h.cropHeight,x=h.visibleRect?h.visibleRect.left:h.cropLeft,R=h.visibleRect?h.visibleRect.top:h.cropTop,w!==Ze||T!==$e)return"close"in h?h.close():h.destroy(),void $t.closeSample();"copyTo"in h?(g=w,p=T,m=g,b=w*T,_=w*T/2,E=w*T*3/2,r=E,x=0,R=0):(n=h.planes[0],b=n.length,o=h.planes[1],_=o.length,g=h.planes[0].stride,p=h.planes[0].rows,m=h.planes[1].stride,E=b+_,r=E);let a={top:R,left:x,width:w,height:T};if(Ut&&_e){let e,t=is(a.width);if(At?(e=La(h,a,ji,t),$t.captureSample()):(ga&&ga.length==E||(ga=new Uint8Array(E)),"copyTo"in h?(h.copyTo(ga),e=Fa(g,p,ga,ji,a,3,t)):(c=ga.subarray(0,0+b),u=ga.subarray(b,b+_),n.readInto(c),o.readInto(u),e=Fa(g,p,ga,ji,a,3,t)),$t.captureSample()),Dt||1==St||(St=1,rs()),lt){let t=Vi();t&&Fi(e),A(Ge,ji,ha,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,St,t,0,Ni++,Te)}br&&e&&Xi(e),e&&(e.close(),$t.closeSample()),Gr=!0,g=Ze,p=$e,w=Ze,T=$e,x=0,R=0}else{if("copyTo"in h?Te||(c=Object(i.g)().subarray(t,t+E),await h.copyTo(c)):(c=Object(i.g)().subarray(t,t+b),u=Object(i.g)().subarray(t+b,t+b+_),n.readInto(c),o.readInto(u)),Dt||3==St||(St=3,rs()),as(h,a,g,p,3,t,E),!Ut&&Dt)Ka.sendYuvData(t,0,Ze,$e,b,_,_,g,m,m,x,R,3);else{let e=Vi();e&&Fi(h),P(Ge,t,b,t+b,_,t+b,_,g,m,m,x,R,St,e,0,Ni++,Te)}Gr=!0}}else if(e.frame&&e.format&&(5==e.format||1==e.format)){if(h=e.frame,w=h.visibleRect?h.visibleRect.width:h.cropWidth,T=h.visibleRect?h.visibleRect.height:h.cropHeight,x=h.visibleRect?h.visibleRect.left:h.cropLeft,R=h.visibleRect?h.visibleRect.top:h.cropTop,w!==Ze||T!==$e)return"close"in h?h.close():h.destroy(),void $t.closeSample();"copyTo"in h&&(E=w*T*4,r=E,g=w,p=T,x=0,R=0);let a=5==e.format?4:1,s={top:R,left:x,width:w,height:T};if(Ut){let e,r=is(s.width);if(At?(e=La(h,s,t,r),$t.captureSample()):(ga&&ga.length==E||(ga=new Uint8Array(E)),"copyTo"in h&&(await h.copyTo(ga),e=Fa(g,p,ga,t,s,a,r)),$t.captureSample()),Dt||1==St||(St=1,rs()),lt){let r=Vi();r&&Fi(e),A(Ge,t,E,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,St,r,0,Ni++,Te)}br&&e&&Xi(e),e&&(e.close(),$t.closeSample()),Gr=!0,g=Ze,p=$e,w=Ze,T=$e,x=0,R=0}else{if("copyTo"in h&&!Te){const e=Object(i.g)().subarray(t,t+E);await h.copyTo(e)}if(Dt||St==a||(St=a,rs()),as(h,s,g,p,a,t,E),!Ut&&Dt)Ka.sendRgbaData(t,E,Ze,$e,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,a);else{let e=Vi();e&&Fi(h),A(Ge,t,E,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,St,e,0,Ni++,Te)}Gr=!0}}else{Dt||1==St||(St=1,rs()),Za&&(Fr.isEnableVideoEncodeHardWareThread&&(Fr.Signal_Encode_Thread.latestflag=!1,H(Ge,!1)),Za=!1),g=Ze,p=$e,w=Ze,T=$e,x=0,R=0;let a=Object(i.g)().subarray(t,t+e.length);r=e.length,ha=e.length,a.set(e,0,r),Dt?Ka.sendRgbaData(t,ha,g,p,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,1):Ge&&A(Ge,t,ha,4*Ft.rgba_stride,Ft.rgba_x,Ft.rgba_y,1,!1,0,Ni++,Te)}if(!Dt){if(gr.isSupportMultiThread)pt[2+(a.T+4+8+2)*Hi/2]=g,pt[2+((a.T+4+8+2)*Hi+2)/2]=p,pt[2+((a.T+4+8+2)*Hi+4)/2]=R,pt[2+((a.T+4+8+2)*Hi+6)/2]=x,pt[2+((a.T+4+8+2)*Hi+8)/2]=w,pt[2+((a.T+4+8+2)*Hi+10)/2]=T,pt[2+((a.T+4+8+2)*Hi+12)/2]=St-1|Mt<<8,Atomics.store(ft,1,(Hi+1)%a.U),ft[2]=St-1;else if(Hr){let r={width:g,height:p,croppingParams:{top:R,left:x,width:w,height:T},ptr:t,mode:St-1,ssrc:Be,cmd:"SVIEW",data:null,rotation:Ct};var S;if(1!=St||h?(r.data=h,r.mode=1):r.data=e,Xt)null===(S=ur)||void 0===S||S.postMessage(r);else r.mode=St-1,Hr.render(r)}if(It&&Ue){let e={top:R,left:x,width:w,height:T};ls(g,p,new Uint8Array(Object(i.g)().subarray(ji,ji+r)),e,St-1,Mt)}}h&&("close"in h?h.close():h.destroy(),$t.closeSample())}let zi=0;function Ki(e){let{done:t,value:r,processed:a}=e;if(Gr=!0,t)return void(r&&r.close());if(x.ProcessorManager.hasProcessor()&&!a&&!Dt)return x.ProcessorManager.onFrame(r),void r.close();$t.captureSample();let n,o=r;if("undefined"==o||null==o||null==o.format||"undefined"==o.format)return Object(i.u)("video frame reader read null frame"),void("close"in o&&o.close());if(o.format&&"I420"==o.format)n={frame:o,format:2};else if(o.format&&"NV12"==o.format)n={frame:o,format:3};else if(o.format&&"I420A"==o.format)n={frame:o,format:4};else if("BGRA"==(null==o?void 0:o.format))n={frame:o,format:5};else if("RGBA"==(null==o?void 0:o.format))n={frame:o,format:1};else if(o.format)return Object(i.u)("Frame format ".concat(o.format," is not supported")),Lt||(Lt=!0,postMessage({status:s.ib,format:o.format})),void("close"in o?o.close():o.destroy());let l=o.visibleRect?o.visibleRect.width:o.cropWidth,h=o.visibleRect?o.visibleRect.height:o.cropHeight;"BGRA"==o.format||"I420A"===o.format||n.format;Ze===l&&$e===h||(Ze=l,$e=h,Ft.rgba_stride=l,Ft.rgba_x=0,Ft.rgba_y=0,rs(),postMessage({status:s.t,width:Ze,height:$e})),3e3==Pt&&(postMessage({status:s.kb}),Pt=0),Pt++,Yi(n)}function Qi(){let e=performance.now();if(!(e-zi<20)){for(zi=e,++ge%1440==0&&postMessage({status:s.H,data:"WCL_M,VCTN"+ge}),$t.captureTicket();E.getLength()>2;){let e=E.dequeue();e&&e.frame?("close"in e.frame?e.frame.close():e.frame.destroy(),$t.closeSample()):ke||Pe||Oe||!ze&&e&&postMessage({data:e},[e.buffer])}if(fr&&(Fr.isSupportVirtualBackground&&ia&&!Ut&&!Fr.vbThreadCreatedFlag||Fr.threadState==a.L)){let e=E.dequeue();e&&e.frame?("close"in e.frame?e.frame.close():e.frame.destroy(),$t.closeSample()):!ze&&e?postMessage({status:s.ob,data:e},[e.buffer]):postMessage({status:s.ob})}else{if(!Re&&Oe&&Le&&Gr)Gr=!1,Le.read().then(Ki).catch(()=>{Gr=!0});else{var t=E.dequeue();t&&($t.captureSample(),Yi(t))}0!=mt.size||Ce||ke||Oe||Pe||Re||(!ze&&t&&t.length?postMessage({status:s.ob,data:t},[t.buffer]):postMessage({status:s.ob}))}}}var Ji=!1;function Zi(e){if(!Ge||Ve!=e.ssid&&e.ssid){if(Ge&&(C(Ge),Ge=null),Ge=M(e.ssid,e.mtu_size,Ee,Se,0,0,Fr.videoencodethreadmaxnumb,Fr.isEnableVideoEncodeHardWareThread,rt,!0,Vt,!1,Nt,jt),Za=Fr.isEnableVideoEncodeHardWareThread,!Ge)return void postMessage({status:s.pb});if(Ve=e.ssid,hi.updateKey(),Ge&&q(Ge,it||at?0:2),V(Ge),De){let e=Module._malloc(De.length);Object(i.g)().subarray(e,e+De.length).set(De,0,De.length),W(Ge,Be,e,De.length),Module._free(e)}Je&&k(Ge,Je,Je.length),B(Ge,Ye?1:0),Ze=e.width,$e=e.height,Ft.rgba_stride=e.width,Ji=!0,L(Ge,e.width,e.height,e.fps,St),ts(),it?O(Ge,16e5,1):O(Ge,2e6,0),lt=!0,nt&&(clearInterval(nt),nt=null),nt=setInterval(()=>{X(Ge)},10)}we.startCheck(),lt=!0,Oe||postMessage({status:s.ob}),Wt<4&&Gt>a.o?Gt=a.o:Vr!=a.cb.IPHONE&&Vr!=a.cb.ANDROID||(Gt=a.S),er.start(Qi,1e3/Gt),$t.start()}var $i,ea,ta,ra=null,ia=null,aa=null,sa=null,na={vcanvas:null,mcanvas:null},oa=null,la=null,ha=0,ca=0,ua=0,da=0,fa={dx:0,dy:0,dWidth:0,dHeight:0},pa=!1,ga=null,ma=new Uint8Array(4),va={sx:0,sy:0,sw:0,sh:0};function ba(e){"BgImage"==e.imagename?ia=e.data:"MaskImage"==e.imagename&&(ra=e.data,fa=Object.assign(fa,e.maskCoordinate),Ze=Ze||e.width,$e=$e||e.height,Ft.rgba_stride=Ze),Pa(fa,Ze,$e)}class _a{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.id=e,this.decodeInputIndex=1,this.context=null,this.decodeOutputIndex=0,this.videoFrameBuffer=[]}destory(){this.videoFrameBuffer.forEach(e=>e.videoFrame.close()),this.videoFrameBuffer=[]}getFrameIdData(e){let t=0;return this.videoFrameBuffer.some((r,i)=>{if(r.frameIndex<e)r.videoFrame.close();else if(r.frameIndex===e)return t=r.videoFrame,this.videoFrameBuffer.splice(0,i+1),!0;return!1}),t}putFrameIdData(e,t){this.videoFrameBuffer.push({videoFrame:e,frameIndex:t})}deleteOneFrame(){if(this.videoFrameBuffer.length){let e=this.videoFrameBuffer.shift();if(e)return e.videoFrame.close(),1}return 0}getVideoFrameNumbers(){return this.videoFrameBuffer.length}}function ya(){return Aa.get_videowebcodecencodestate()}function wa(e,t){return Fr.Signal_Encode_Thread.handle&&(Aa.set_videowebcodecencodestate(1),Fr.Signal_Encode_Thread.handle.postMessage({cmd:"VideoEncodeInit",id:e,context:t})),0}function Ta(e,t,r,i,a,s){Fr.Signal_Encode_Thread.handle&&Fr.Signal_Encode_Thread.handle.postMessage({cmd:"VideoEncodeConfigure",id:e,Bitrate:t,Framerate:r,Width:i,Height:a,buffer:s})}function xa(e,t,r,i,a,s){Fr.Signal_Encode_Thread.handle&&Fr.Signal_Encode_Thread.handle.postMessage({cmd:"VideoEncode",id:e,videoFrameId:t,NewIDR:r,rawData:i,dataLength:a,timeout:s})}function Ra(){Fr.Signal_Encode_Thread.handle&&Fr.Signal_Encode_Thread.handle.postMessage({cmd:"CloseVideoEncode"})}function Ea(e){Yt=e}var Sa,Ma,Ca,Aa=new class{constructor(){this.decodeCodecHandles=new Map,this.ssrcToMap=new Map,this.totalVideoFrameNumbers=0,this.activeIds=[],this.usingVideoFrameList=[],this.videowebcodecencodestate=1}_checkUnusefulId(e,t){if(this.ssrcToMap.has(e)){if(this.ssrcToMap.get(e)!==t){const r=this.decodeCodecHandles.get(t);r&&(r.destory(),this._deleteActiveId(t)),this.ssrcToMap.delete(e)}}this.ssrcToMap.has(e)||this.ssrcToMap.set(e,t)}_getTotalVideoFrameNumbers(){let e=0;for(let t of this.decodeCodecHandles.keys()){let r=this.decodeCodecHandles.get(t);r&&(e+=r.getVideoFrameNumbers())}return e}_setActiveIds(e){this._deleteActiveId(e),this.activeIds.unshift(e),this.activeIds.length>9&&this.activeIds.splice(9,this.activeIds.length-9)}_deleteActiveId(e){this.activeIds.some((t,r)=>{if(t===e)return this.activeIds.splice(r,1),!0})}render(e){let{id:t,iFrameNum:r,ssrc:a,rotation:s,x:n,y:o,vwidth:l,vheight:h,format_width:c,format_height:u}=e;a=Cr(a),t=a,this._checkUnusefulId(a,t);const d=this.decodeCodecHandles.get(a);if(!d)return;this._setActiveIds(t);let f=d.getFrameIdData(r);if(f){if(this.totalVideoFrameNumbers=this._getTotalVideoFrameNumbers(),_t){const{displayWidth:e,displayHeight:t}=f;Ti(a,e,t),Ii&&Object(i.x)({ssrc:a,r_w:e,r_h:t,rotation:s},Ui),Ss(a)&&!Et.firstflag&&(postMessage({status:"NewActiveSpeakerFirstframeCallback",ssrc:Et.ssrc}),Et.firstflag=!0);let r=c==f.codedWidth?{x:n,y:o,width:l,height:h}:null;_t.Update_RemoteVideo_Texture(f,!0,a,s,r)}(S.getRendererProvider().isWebGLRendererType()||S.getRendererProvider().isWebGL2RendererType())&&f.close()}}closeFrame(e){try{const t=this.usingVideoFrameList.indexOf(e);-1!==t&&this.usingVideoFrameList.splice(t,1),e.close&&e.close()}catch(e){Object(i.u)("Error when closing a video frame",e)}}_checkMaxVideoFrameNumbers(e){if(this.totalVideoFrameNumbers>9-this.usingVideoFrameList.length)for(let e=this.activeIds.length-1;e>=0;e--){const t=this.activeIds[e],r=this.decodeCodecHandles.get(t);if(r||this._deleteActiveId(),r.getVideoFrameNumbers()>1){r.deleteOneFrame(),this.totalVideoFrameNumbers=this._getTotalVideoFrameNumbers();break}}if(this.totalVideoFrameNumbers>9-this.usingVideoFrameList.length){const t=this.decodeCodecHandles.get(e);t&&(t.deleteOneFrame(),this.totalVideoFrameNumbers=this._getTotalVideoFrameNumbers())}}put_data(e){let{id:t,ssrc:r,data:i,frameIndex:a}=e;if(r=Cr(r),!_t.Decode_Ssrc(r)&&Cr(null==Et?void 0:Et.ssrc)!==r)return void i.close();let s=this.decodeCodecHandles.get(r);s?t!=s.id&&(s.destory(),s.id=t):(s=new _a(t),this.decodeCodecHandles.set(r,s)),s.putFrameIdData(i,a),this.totalVideoFrameNumbers++,this._checkMaxVideoFrameNumbers(r)}clearAll(){for(let e of this.decodeCodecHandles.keys()){const t=this.decodeCodecHandles.get(e);t&&t.destory()}this.decodeCodecHandles.clear(),this.ssrcToMap.clear(),this.activeIds=[]}clear(e){const t=this.decodeCodecHandles.get(e);t&&(t.destory(),this.decodeCodecHandles.delete(e));const r=this.ssrcToMap.get(e);r&&(this.ssrcToMap.delete(e),this._deleteActiveId(r))}set_videowebcodecencodestate(e){this.videowebcodecencodestate=e}get_videowebcodecencodestate(){return this.videowebcodecencodestate}};function Pa(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;try{"object"==typeof t&&t.ideal&&(t=t.ideal),"object"==typeof r&&r.ideal&&(r=r.ideal),aa&&sa||(aa=new OffscreenCanvas(t,r),sa=Object(i.s)(aa)),aa.width==t&&aa.height==r||(aa.width=t,aa.height=r)}catch(e){Object(i.u)("Update_Mask_Texture, width=$".concat(JSON.stringify(t),", height=").concat(JSON.stringify(r),". "),e),t=aa.width,r=aa.height}if(sa.clearRect(0,0,t,r),$i=null,ra&&ia&&"blur"!==ia){if(e.dWidth>0&&e.dHeight>0&&ua>0&&da>0&&t>0&&r>0){let i=e.dx/(ua/t),a=e.dy/(da/r),s=e.dWidth/(ua/t),n=e.dHeight/(da/r);sa.drawImage(ra,i,a,s,n)}let i,s,n,o;if(sa.globalCompositeOperation="source-out",ka(),i=va.sx,s=va.sy,n=va.sw,o=va.sh,sa.drawImage(ia,i,s,n,o,0,0,t,r),a){let e=sa.getImageData(0,0,t,r);$i=new Uint8Array(e.data.buffer),a.updateSelfMaskImage(t,r,$i)}}else a&&($i=ma,a.updateSelfMaskImage(1,1,$i))}function ka(){let e,t,r,i=0,a=ia.width,s=ia.height;16/9*s>=a?(r=a,i=a/(16/9),e=0,t=(s-i)/2):(r=s*(16/9),i=s,e=(a-r)/2,t=0),va.sx=e,va.sy=t,va.sw=r,va.sh=i}function Oa(e,t,r){if(!Bt.get(ea)||!Bt.get(ea).canvas)return;let i=t||e.width,a=r||e.height;Bt.get(ea).display||(Bt.get(ea).display=Bt.get(ea).canvas.getContext("2d"));const s=ca?Object(n.b)(i,a,void 0,void 0,Bt.get(ea).canvas.width/Bt.get(ea).canvas.height):Ja?Object(n.b)(i,a):null;kt?(Ot||(Bt.get(ea).display.scale(-1,1),Ot=!0),Bt.get(ea).display.clearRect(0-Bt.get(ea).canvas.width,0,Bt.get(ea).canvas.width,Bt.get(ea).canvas.height),Bt.get(ea).display.drawImage(e,...s?[s.left,s.top,s.width,s.height]:[],0-Bt.get(ea).canvas.width,0,Bt.get(ea).canvas.width,Bt.get(ea).canvas.height)):(Ot&&(Bt.get(ea).display.setTransform(1,0,0,1,0,0),Ot=!1),Bt.get(ea).display.clearRect(0,0,Bt.get(ea).canvas.width,Bt.get(ea).canvas.height),Bt.get(ea).display.drawImage(e,...s?[s.left,s.top,s.width,s.height]:[],0,0,Bt.get(ea).canvas.width,Bt.get(ea).canvas.height))}function La(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=t.width,n=t.height;if(_e&&(na.mcanvas&&oa||(na.mcanvas=new OffscreenCanvas(s,n),oa=Object(i.s)(na.mcanvas)),na.mcanvas.width==s&&na.mcanvas.height==n||(na.mcanvas.width=s,na.mcanvas.height=n),oa.clearRect(0,0,s,n),oa.drawImage(e,0,0,s,n),aa?oa.drawImage(aa,0,0,s,n):Pa(fa,s,n)),Bt.get(ea)&&Bt.get(ea).canvas&&(_e?Oa(na.mcanvas):Oa(e,s,n)),_e){let e=oa.getImageData(0,0,s,n),t=new Uint8Array(e.data.buffer);if(Object(i.g)().subarray(r,r+t.length).set(t,0,t.length),ha=t.length,a){return new VideoFrame(na.mcanvas,{timestamp:1e3*performance.now()})}return null}}function Ia(){}function Ua(){var e,t;if(la){if(!1===(null===(e=(t=la).isAvaiable)||void 0===e?void 0:e.call(t))){var r,i;null===(r=(i=la).restoreContext)||void 0===r||r.call(i)}}else{const e={forceNoGL:void 0,contextOptions:{webglcontextlostCallback:Ia,webglcontextrestoredCallback:Da},webGLResources:void 0,initMask:!0};la=S.createWebGLVideoRenderDisplay(na.vcanvas,"MixMask",0,e)}}function Da(){la=null,Ua()}function Ba(e,t){let{canvas:r,rendercanvasID:a}=t;Object(i.v)(a)}function Wa(e,t){var r,i;if(Bt.get(t).display){if(!1===(null===(r=(i=Bt.get(t).display).isAvaiable)||void 0===r?void 0:r.call(i))){var a,s;null===(a=(s=Bt.get(t).display).restoreContext)||void 0===a||a.call(s)}}else{const r={forceNoGL:void 0,contextOptions:{webglcontextlostCallback:Ba,webglcontextrestoredCallback:Ga,params:{canvas:e,rendercanvasID:t}},webGLResources:void 0,initMask:!1};Bt.get(t).display=S.createVideoRenderDisplay(e,t,0,r)}Bt.get(t).display.setFillMode(ca)}function Ga(e,t){let{canvas:r,rendercanvasID:a}=t;Object(i.w)(a)}function Va(){return 1}function Fa(e,t,r,a,s,n){let o,l=arguments.length>6&&void 0!==arguments[6]&&arguments[6],h=s.width,c=s.height;if(_e){var u;if(na.vcanvas||(na.vcanvas=new OffscreenCanvas(h,c)),null===(u=la)||void 0===u||!u.isAvaiable())return void Ua();na.vcanvas.width==h&&na.vcanvas.height==c||(na.vcanvas.width=h,na.vcanvas.height=c),la.setVideoMode(n-1),$i?la.updateSelfMaskImage(h,c,$i):Pa(fa,h,c,la);let i={x:0,y:0,width:h,height:c};la.updateRemoteVideoTextures(e,t,s,r,0,!0,i,!1),la.drawRemoteVideo(i),o=la.readPixelsSyncRequest(0,0,h,c)}else o=r;let d=Bt.get(ea)?Bt.get(ea).canvas:null;if(d){Wa(d,ea);let i=d?Bt.get(ea).display:null,a={left:0,top:0,width:h,height:c},l={x:0,y:0,width:d.width,height:d.height};_e?(i.setVideoMode(0),i.updateSelfVideoTextures(h,c,o,a),i.drawSelfVideo(l,!1,kt)):(i.setVideoMode(n-1),i.updateRemoteVideoTextures(e,t,s,r,0,!0,l,!1),i.drawRemoteVideo(l,kt)),S.renderWith(i)}if(_e){Object(i.g)().subarray(a,a+o.length).set(o,0,o.length),ha=o.length}if(!l)return null;if(_e){return new VideoFrame(o,{format:"RGBA",timestamp:1e3*performance.now(),codedWidth:h,codedHeight:c})}}var Na,ja,Ha=!1,qa=(new Object,[{dataReady:!1,configReady:!1,modelArtifacts:new Object,modelJSON:null},{dataReady:!1,configReady:!1,modelArtifacts:new Object,modelJSON:null},{dataReady:!1,configReady:!1,modelArtifacts:new Object,modelJSON:null}]);async function Xa(e,t){if(!qa[t].dataReady||!qa[t].configReady){if(qa[t].dataReady=!0,qa[t].modelJSON=JSON.parse(e.json),qa[t].modelArtifacts.modelTopology=qa[t].modelJSON.modelTopology,qa[t].modelArtifacts.format=qa[t].modelJSON.format,qa[t].modelArtifacts.generatedBy=qa[t].modelJSON.generatedBy,qa[t].modelArtifacts.convertedBy=qa[t].modelJSON.convertedBy,null!=qa[t].modelJSON.weightsManifest)for(const e of qa[t].modelJSON.weightsManifest)qa[t].modelArtifacts.weightSpecs=e.weights;null!=qa[t].modelJSON.trainingConfig&&(qa[t].modelArtifacts.trainingConfig=qa[t].modelJSON.trainingConfig),null!=qa[t].modelJSON.userDefinedMetadata&&(qa[t].modelArtifacts.userDefinedMetadata=qa[t].modelJSON.userDefinedMetadata),qa[t].configReady=!0,qa[t].modelArtifacts.weightData=e.bin,Ma&&Ya(t)}}function Ya(e){qa[e].dataReady&&qa[e].configReady&&Ma&&Fr&&!Fr.vbThreadCreatedFlag&&Fr.vbThreadWorker&&(Fr.vbThreadWorker.postMessage({cmd:"vbObj"+e,tfjsUrl:Ca,modelJSON:qa[e].modelJSON,weightData:qa[e].modelArtifacts.weightData}),qa[e].modelArtifacts.weightData=null,qa[e].modelJSON=null)}async function za(e){Ma||(Ma=!0,Ca=e,Ya(0),Ya(1),Ya(2))}const Ka={sendBg:function(e,t,r,i){let a=new Uint8Array(e);if(Er()||Xr){let e=Oi(a);ee(e,t,r,i)}else Hr&&Hr.canTransferVBData()?Hr.postMessage({cmd:"vbBg",data:a,length:t,width:r,height:i}):a=null},sendBlur:function(){Er()||Xr?te(0,0):Hr&&Hr.canTransferVBData()&&Hr.postMessage({cmd:"vbBlur"})},sendYuvData:function(e,t,r,a,s,n,o,l,h,c,u,d,f){const p=3===f?s+n:s+n+o,g=e+s,m=3===f?g:g+n;if(Er()||Xr)return re(e,t,r,a,e,s,g,n,m,o,l,h,c,u,d,f),void(Xr&&postMessage({cmd:"vb-fin"}));if(Hr&&Hr.canTransferVBData(!0)){let g=Object(i.g)().subarray(e,e+p),m=new Uint8Array(p);m.set(g,0,p),Hr.postMessage({cmd:"vbYuv",data:m,length:t,width:r,height:a,yDataLength:s,uDataLength:n,vDataLength:o,yStride:l,uStride:h,vStride:c,xOffset:u,yOffset:d,dataFormat:f}),m=null}Li(e)},sendRgbaData:function(e,t,r,a,s,n,o,l){if(Er()||Xr)return ie(e,t,r,a,s,n,o,l),void(Xr&&postMessage({cmd:"vb-fin"}));if(Hr&&Hr.canTransferVBData(!0)){let h=Object(i.g)().subarray(e,e+t),c=new Uint8Array(t);c.set(h,0,t),Hr.postMessage({cmd:"vbRgba",data:c,length:t,width:r,height:a,rgbaStride:s,xOffset:n,yOffset:o,dataFormat:l})}Li(e)}};function Qa(e){if(e.data){if("blur"==(ia=e.data))Ka.sendBlur();else{let e,t,r,i,a,s;ka(),e=va.sx,t=va.sy,r=va.sw,i=va.sh,r>1280?(a=1280,s=720):(a=r,s=i),Sa||(Sa=new OffscreenCanvas(a,s)),Sa.width=a,Sa.height=s;let n=Sa.getContext("2d");n.drawImage(ia,e,t,r,i,0,0,Sa.width,Sa.height);let o=n.getImageData(0,0,Sa.width,Sa.height);Ka.sendBg(o.data,o.data.length,Sa.width,Sa.height)}Dt=!0}else ia=null,Dt=!1}let Ja=!1;var Za=!1,$a=!0,es=!1;function ts(){if(!Ge)return;let e=Dr||ai(),t=Ze,r=$e,a=Object(i.b)(t,r),s=Object(i.h)(a,t,r,$a&&e&&ht,$a&&ht);Ja&&(3==a||es||(es=!0,Object(i.t)("disable original ratio ".concat(t," x ").concat(r))),s=s&&3==a,a=3),ae(Ge,a),Fr.isEnableVideoEncodeHardWareThread&&(Za=s,Fr.Signal_Encode_Thread.latestflag=s,H(Ge,s))}function rs(){Ge&&(U(Ge,Ze,$e,Gt,St),D(Ge,Mt),ts())}function is(e){return br||e>=vr&&Fr.Signal_Encode_Thread.status==a.J}function as(e,t,r,a,s,n,o){if(Ut)if(At)La(e,t,0,!1);else{Fa(r,a,Object(i.g)().subarray(n,n+o),0,t,s,!1)}}function ss(e,t){let{canvas:r,rendercanvasID:a}=t;Object(i.v)(a)}function ns(e,t){var r,i;if(Bt.get(t).display){if(!1===(null===(r=(i=Bt.get(t).display).isAvaiable)||void 0===r?void 0:r.call(i))){var a,s;null===(a=(s=Bt.get(t).display).restoreContext)||void 0===a||a.call(s)}}else{const r={forceNoGL:void 0,contextOptions:{preserveDrawingBuffer:!1,webglcontextlostCallback:ss,webglcontextrestoredCallback:os,params:{canvas:e,rendercanvasID:t}},webGLResources:void 0,initMask:!1};Bt.get(t).display=S.createVideoRenderDisplay(e,t,0,r)}Bt.get(t).display.setFillMode(ca)}function os(e,t){let{canvas:r,rendercanvasID:a}=t;Object(i.w)(a)}function ls(e,t,r,s,o){var l,h;let c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;var u;if(!Bt.get(Ue)||!Bt.get(Ue).canvas)return void Object(i.u)("Get_Mixed_VB_Data_and_Draw error, id:".concat(Ue,", canvas=").concat(null===(u=Bt.get(Ue))||void 0===u?void 0:u.canvas));if(ns(Bt.get(Ue).canvas,Ue),null===(l=Bt.get(Ue).display)||void 0===l||null===(h=l.isAvaiable)||void 0===h||!h.call(l))return;let d={x:0,y:0,width:Bt.get(Ue).canvas.width,height:Bt.get(Ue).canvas.height};Bt.get(Ue).display.setVideoMode(o);const f=Ja?Object(n.b)(s.width,s.height):null,p=Bt.get(Ue).display;o===a.ab?p.updateSelfVideoTextures(e,t,r,s,!0,c):p.updateRemoteVideoTextures(e,t,f||s,r,c,!0,d,!1),p.drawRemoteVideo(d,kt),S.renderWith(p)}function hs(){if(E)for(;E.getLength()>0;){let e=E.dequeue();e.frame&&("close"in e.frame?e.frame.close():e.frame.destroy())}E=new m.a}function cs(){if(Bt.size>4){let e=Array.from(Bt.keys());Object(i.u)("settingRenderCanvas set more than 4 canvas, size=".concat(Bt.size,", ids:").concat(e.join()))}}function us(e,t,r,i,s,n,o,l,c){if(qt.monitorPanelFlag){const a={width:e,height:t,fps:r,rtt:i,jitter:s,avg_loss:n,max_loss:o,bandwidth:l,rate:c};postMessage({status:h.j,data:a})}rt||!qt.renderFlag||qt.messageIndex++%a.Y==0||qt.monitorPanelFlag}function ds(){const e=()=>{Ge&&Q(Ge)};if(qt.qosIntervalId&&clearInterval(qt.qosIntervalId),qt.monitorPanelFlag||qt.renderFlag){if(qt.monitorPanelFlag)return void(qt.qosIntervalId=setInterval(e,qt.panelpollingInterval||a.y));if(qt.renderFlag)return void(qt.qosIntervalId=setInterval(e,a.Y*a.y))}}function fs(e,t,r){postMessage({status:s.O,isUplink:0===e,networkLevel:t,bwLevel:r})}var ps;function gs(e,t){var r=Object(i.g)().subarray(e+0,e+t);postMessage({status:s.H,data:Pi(r)})}function ms(e){switch(K&&(e.status=0),e.status){case 0:wt&&_t&&_t.Set_SSRC_Latest_Time_Stamp(e.data);break;case 1:if(Ge){let t=Module._malloc(e.data.length);Object(i.g)().subarray(t,t+e.data.length).set(e.data),N(Ge,t,e.data.length),Module._free(t);let r=new Uint32Array(e.data.buffer),a=null;for(let t=0;t<e.data.length/16;t++){if(512&r[4*t]){a=r.subarray(4*t,4*t+4);break}}if(!a)return;if(gr.isSupportOffscreenCanvas&&dr){let e=232.8*a[1]/1e9+1e3*a[2];dr.postMessage(e)}}break;case 2:wt&&_t&&e.data&&_t.Set_SSRC_Latest_Time_Stamp(e.data,e.ssrc),gr.isSupportOffscreenCanvas&&dr&&e.sdata&&dr.postMessage(e.sdata)}}function vs(e,t){Object(i.u)("E:H webcodec encode failed code ".concat(t," ").concat(e)),Vs(!0,e),Object(i.o)("WCEF-code=".concat(t,"|id=").concat(e))}var bs,_s=0;function ys(e){if(!Bi){Bi=!0;let t=e.Start_Draw.bind(e);vt=K||gr.videodecodethreadnumb>1?t(a.B):t(a.C,30),wt=!0}}function ws(e){if(Bi){Bi=!1,e.Stop_Draw.bind(e)(),vt=null,e.ClearQueue(),e.Set_WaterMark_Info({waterMarkCanvas:!1,isCreateVideoWaterMark:Rt,videoWaterMarkName:xt}),wt=!1}}function Ts(e){Object(i.o)("WGLFSTOPRAF"),e&&(e.videoRenderWGLFSTOP=!0,ws(e))}function xs(e){Object(i.o)("WGLRESTORE"),e&&e.videoRenderWGLFSTOP&&(ys(e),e.videoRenderWGLFSTOP=!1)}function Rs(){return!1}function Es(e){}function Ss(e){return Et.ssrc&&Cr(Et.ssrc)==Cr(e)}function Ms(e){if(e=e>>10<<10,_t&&e&&!_t.Decode_Ssrc(e)){let t=gr.threadPoolBufferMGR.get(e);if((null==t?void 0:t.threadState)==a.J)j(Ge,e),gr.preusedcount--;else if((null==t?void 0:t.threadState)==a.K){let t=gr.SSrcWaitForThread.findIndex(t=>t>>10==e>>10);t>=0&&gr.SSrcWaitForThread.splice(t,1)}wr(e),Aa&&(Aa.clear(e),Ri.delete(e))}}function Cs(e,t,r){if(!e)return;e.clearUseridRender(t,r),e.GiveBack_Display(t,0==yt.length),e.Set_Render_Array(yt);let i=t[0].ssrc;Et.ssrc>>10!=i>>10&&a.a!=i&&Ms(i),Et.ssrc&&Et.ssrc>>10==i>>10&&!e.Decode_Ssrc(a.a)&&Ms(i),a.a!=i||e.Decode_Ssrc(i)||(Ms(Et.ssrc),i=Et.ssrc,Et.ssrc=0),pe=!!yt.length,0==yt.length&&(Aa&&Aa.clearAll(),ws(e)),qt.renderFlag&&!rt&&(1==yt.length&&yt[0].ssrc>>10==Be>>10||0==yt.length)&&(qt.renderFlag=!1,ds())}function As(e,t){let r=bt.get(t);if(e&&r&&null!=yt&&yt.length){let r=e.clearColor.map(e=>e/255);for(let a=0;a<yt.length;)if(yt[a].rendercanvasID==t){let t=yt.splice(a,1);try{Cs(e,t,r)}catch(e){Object(i.u)("StopUserVideo has error: ",e)}}else a++}e&&r&&e.Clear_OffScreenCanvas(r.canvas),r&&bt.delete(t)}self.addEventListener("message",(async function(e){var t=e.data;let r=e.data;switch(t.command){case"start_processor":x.ProcessorManager.addFrameCallback(r.name,e=>{Ki({done:!1,value:e,processed:!0})}),x.ProcessorManager.startProcessor(r.name,new T.VideoFrameVideoProcessorAgent(r.name,fe));break;case"stop_processor":x.ProcessorManager.stopProcessor(r.name);break;case"processor_message_port":fe=t.data;break;case g.q:try{if(Object(i.o)("STARTMEDIA:".concat(function(e){let t=e.confId,r=e.isPreviewMode?1:0;return r|=ks()?2:0,"".concat(t,":").concat(r)}(r))),isPreviewMode&&!r.isPreviewMode&&(Ge&&C(Ge),Ge=null,Rr.inited&&(Rr.clear(),Rr.start()),Ut=!1),isPreviewMode=!!r.isPreviewMode,r.MaskFlag&&(_e=!0),function(e){let t=e;_s=t._id,he=e.graphicalname,ce=e.vendorname,rt=t.sendvideo,Vt=t.uplimit?t.uplimit:0,Vr=e.platformType,ze=!!t.isChromeOrEdge,Ke=!!t.isArmSafari,Qe=!!t.isFirefox,Me=t.mtu_size,ye=!!t.isSafari,Ee=t.meetingnumb+"",Se=t.meetingid,K=!!t.enableMultiDecodeVideoWithoutSAB,z=e.isWebCodecDecoderOnWhitelist,K?(!rt&&t.isSupportMultiThread&&t.isEnableVideoDecodeHardWareThread?(gr.videodecodethreadnumb=a.p,K=!1):gr.videodecodethreadnumb=1,t.IsRenderInWorker||(Xt=!1)):(Xt=!1,gr.videodecodethreadnumb=t.videodecodethreadnumb),gr.isSupportMultiThread=t.isSupportMultiThread,gr.isSupportVideoTrackReader=t.isSupportVideoTrackReader,gr.isSupportOffscreenCanvas=t.isSupportOffscreenCanvas,Nt=!!e.enableAudioBridge,_r.isTeslaMode=e.isTeslaMode,Be=t.confId,jt=Vr==a.cb.IPHONE||Vr==a.cb.ANDROID,rt?(Dr=e.is360penablehwenc,Wr=e.enable720p,Nr=!!e.enableOptCopyFrame,vr=Dr?640:1280,gr.videodecodethreadnumb=1,Fr.isSupportVirtualBackground=t.isSupportVirtualBackground,Fr.enableVBWasmBackend=t.enableVBWasmBackend,Fr.videoencodethreadmaxnumb=e.videoencodethreadnumb,ht=e.initWebCodecFlag,Fr.Signal_Encode_Thread.initwebcodecflag=ht,Fr.Signal_Encode_Thread.latestflag=ht,Fr.isEnableVideoEncodeHardWareThread=e.isSupportWebCodecEnocde,Fr.videoencodethreadnumb=e.isSupportWebCodecEnocde?2:1):(pr=gr.videodecodethreadnumb>1&&t.isSupportMultiThread,Br=e.is360penablehwdec,ht=!!(t.isenablehw&&gr.videodecodethreadnumb>1),gr.isEnableVideoDecodeHardWareThread=t.isEnableVideoDecodeHardWareThread,gr.isEnableVideoDecodeHardWareThread||(gr.totalNumbofParseThread=3,ht=!1),mr=gr.videodecodethreadnumb>1?gr.videodecodethreadnumb+3:1,e.isPreviewMode||or()),S.setCanvasAlphaChannelEnability(e.isEnableCanvasAlphaChannel),p.a.setIsEnableCanvasCtxOptionsOpt(e.isEnableCanvasCtxOptionsOpt)}(r),Ds||(tt&&tt.init({workerType:rt?o.b.VIDEO_ENCODE:o.b.VIDEO_DECODE}),Module.wcl_trace_log=Ai,Module.codecMRG=Aa,Module.MCMMonitor_Video_LOG=gs,Module.put_data=Di,Module.js_info_from_wcl_thread=wi,Module.decode_callback=Ei,Module.js_info_from_wcl_video_data=vi,Module.change_capture_resolution=fi,Module.APP_Troubleshoting_Info=Mi,Module.SAVE_IV=ki,Module.processed_capture_data_callback=bi,Ds=!0),Us||(rt?(Pr(!1),Fr.videoencodethreadmaxnumb>1&&(Mr(!0),fr="function"==typeof Worker)):gr.videodecodethreadnumb>1&&gr.isSupportMultiThread?Pr(!0):Pr(!1),Us=!0),isPreviewMode){!function(e){postMessage({status:s.vb}),rt&&Fr.isSupportVirtualBackground?rt&&Fr.isSupportVirtualBackground&&Yr("VB",1,Fr.enableVBWasmBackend):postMessage({status:s.qb}),Ls(e),Is(e)}(r);break}ks()||(Ps=!1,Object(i.o)("RSTHOLD")),ne||(ne=setInterval(()=>{ks()&&pe&&Ge&&oe(Ge,!!rt)},1e3)),Is(r),Ls(r),rt?Fr.isSupportVirtualBackground?Fr.isSupportVirtualBackground&&Yr("VB",1,Fr.enableVBWasmBackend):postMessage({status:s.qb}):(bs=r.decHAOption,Object(i.o)("decHAOption:".concat(bs)),Os())}catch(e){postMessage({status:s.pb}),Object(i.u)("Error in startMedia",e)}break;case g.i:Fe&&(Fe.close(),Fe=null),Fe=tr(t.websocket_ip_address,hr,ci,di,ui,!0);break;case g.c:Fe&&(Fe.close(),Fe=null);break;case g.j:{rr&&(rr.forceClose(),rr=null);let e=1;t.webtransportURL.includes("mode=2")&&(e=0),ir({url:t.webtransportURL,label:"video",id:t._id,onmessage:li,onopen:sr,onclose:nr,groupSize:e},!0);break}case g.d:rr&&(rr.forceClose(),rr=null);break;case"failover":Fe&&Fe.close(),Fe=tr(t.websocket_ip_address,hr,ci,di,ui);break;case g.b:be=!0,rt&&le(),function(){try{let e=Fs;Fs=null,it=!1,Ns={},null==e||e.close()}catch(e){console.error("<<<< CloseDataTransport ",e)}}(),Fe&&(Fe.close(),Fe=null),We&&(clearInterval(We),We=null),nt&&(clearInterval(nt),nt=null),we.stopCheck(),ot&&(clearInterval(ot),ot=null),Ge&&(I(Ge),C(Ge)),close(),function(){try{const e=!1;_t&&yt.length?yt.forEach(t=>{_t.cleanup(t.canvas,t.display,e)}):S.cleanup(null,null,e)}catch(e){console.error("Video cleanup:",e)}}();break;case"encodeVideoFrame":E.enqueue(t.data),Ft.rgba_stride==t.stride&&Ft.rgba_x==t.x&&Ft.rgba_y==t.y||(Ft.rgba_stride=t.stride,Ft.rgba_x=t.x,Ft.rgba_y=t.y),0!=Mt&&(Mt=Ct=0,rs());break;case"startVideoEncode":if(Object(i.o)("startVideoEncode:".concat(!!rt)),void 0!==t.disableOriginalRatio&&(Ja=!!t.disableOriginalRatio),!rt)return void(_t&&(_t.Set_Capture_Video_Flag(!0),_t.Set_LocalVideo_SSRC(t.ssid),_t.Set_Cropping_Mode(!!Ja)));Hr&&Hr.setCurrentUserSsrc(t.ssid),pe=!0,Gr=!0,Pe=!!t.isSupportImageCapture,ke=!!t.isSupportVideoTrackReader,Oe=!!t.isSupportMediaStreamTrackProcessor,At=!!t.isSupport2DCanvasDrawFrame,Gt=t.fps||Gt,zr(t);break;case"releaseStream":try{Le&&Le.releaseLock&&Le.releaseLock(),Ie&&Ie.cancel&&Ie.cancel(),Ie=null,Le=null}catch(e){}break;case"frameStream":t.data&&(Ie=t.data,Le=Ie.getReader());break;case"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK":if("js"==t.type){za(t.data);break}Xa(t.data,t.index);break;case"updateVideoPara":Ge&&(hs(),Ze=t.width,$e=t.height,Ft.rgba_stride=t.width,Ft.rgba_x=0,Ft.rgba_y=0,rs());break;case"stopVideoEncode":if(Object(i.o)("stopVideoEncode:".concat(!!rt)),rt)pe=!1,lt=!1,pa||(la&&la.clearDisplay(),oa&&oa.clearRect(0,0,na.mcanvas.width,na.mcanvas.height)),It||(Bt.get(Ue)&&Bt.get(Ue).display&&Bt.get(Ue).display.clearDisplay(),Ue=null),pa||It||(clearInterval(We),We=null,er.stop(),$t.stop(),nt&&(clearInterval(nt),nt=null),we.stopCheck(),pt&&Atomics.store(pt,0,0),hs());else if(_t)return void _t.Set_Capture_Video_Flag(!1);break;case"ENCRYPT":Ge&&(Ye=t.encrypt,B(Ge,Ye?1:0));break;case"SOCKET_RECONNECT":self.IS_DISABLE_SOCKET_RECONNECT=!0===r.disable;break;case g.l:oi(t.data);break;case g.r:it=t.data.isDataChannelOpen,ar();break;case"OfflineCanvas":t.canvasname&&t.canvas.getContext("2d")&&mt.set(t.canvasname,t.canvas.getContext("2d"));break;case"mirrorMyVideo":kt=t.isMirrorMyVideo,!rt&&t.isSupportOffscreenCanvas?_t&&_t.setMirrorMyVideoOption(kt):Hr&&Hr.setMirrorMyVideoOption(kt);break;case"imagebitmap":if(postMessage({status:s.ob}),t.data){if(isPreviewMode){if(!t.data.width||!t.data.height)return;Ze=t.data.width,$e=t.data.height,Ft.rgba_stride=t.data.width}if(gr.offScreenCanvasHandle.donotrenderoffscreencanvas||(gr.offScreenCanvasHandle.donotrenderoffscreencanvas=new OffscreenCanvas(640,360),gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx=gr.offScreenCanvasHandle.donotrenderoffscreencanvas.getContext("2d")),gr.offScreenCanvasHandle.donotrenderoffscreencanvas){gr.offScreenCanvasHandle.donotrenderoffscreencanvas.width==Ze&&gr.offScreenCanvasHandle.donotrenderoffscreencanvas.height==$e||(gr.offScreenCanvasHandle.donotrenderoffscreencanvas.width=Ze,gr.offScreenCanvasHandle.donotrenderoffscreencanvas.height=$e),gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx.clearRect(0,0,Ze,$e),gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx.drawImage(t.data,0,0,Ze,$e),aa?gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx.drawImage(aa,0,0,Ze,$e):Pa(fa,Ze,$e,null),Bt.get(ea)&&Bt.get(ea).canvas&&Oa(gr.offScreenCanvasHandle.donotrenderoffscreencanvas);let e=gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx.getImageData(0,0,Ze,$e);t.data.close();let r=new Uint8Array(e.data);E.enqueue(r)}}break;case"ImageBitmapFromVideoFrame":if(Ce||(Ce=new OffscreenCanvas(640,360),Ae=gr.offScreenCanvasHandle.donotrenderoffscreencanvas.getContext("2d")),t.data&&t.data.width&&t.data.height){isPreviewMode&&(Ze=t.data.width,$e=t.data.height,Ft.rgba_stride=t.data.width),Ce.width==Ze&&Ce.height==$e||(Ce.width=Ze,Ce.height=$e),Ae.clearRect(0,0,Ze,$e),Ae.drawImage(t.data,0,0,Ze,$e),aa?Ae.drawImage(aa,0,0,Ze,$e):Pa(fa,Ze,$e,null),Bt.get(ea)&&Bt.get(ea).canvas&&Oa(Ae);let e=Ae.getImageData(0,0,Ze,$e);t.data.close();let r=new Uint8Array(e.data);E.enqueue(r)}break;case"yuvVideoFrame":{let e=t.data;if(x.ProcessorManager.hasProcessor()&&!Dt)return x.ProcessorManager.onFrame(e),void e.close();let r=t.rotation||0;if(e.format&&"I420"==e.format)E.enqueue({frame:e,format:2,rotation:r});else if(e.format&&"NV12"==e.format)E.enqueue({frame:e,format:3,rotation:r});else if(e.format&&"I420A"==e.format)E.enqueue({frame:e,format:4,rotation:r});else if(e.format&&"BGRA"==e.format)E.enqueue({frame:e,format:5,rotation:r});else if(e.format&&"RGBA"==e.format)E.enqueue({frame:e,format:1,rotation:r});else if(e.format)return Object(i.u)("Frame format ".concat(e.format," is not supported")),Lt||(Lt=!0,postMessage({status:s.ib,format:e.format})),void("close"in e?e.close():e.destroy());let a=e.visibleRect?e.visibleRect.width:e.cropWidth,n=e.visibleRect?e.visibleRect.height:e.cropHeight;if(Ze===a&&$e===n&&r==Ct||(Ze=a,$e=n,Ft.rgba_stride=a,Ft.rgba_x=0,Ft.rgba_y=0,Mt=Ct=r,rs()),E.getLength()>1){let e=E.dequeue();e&&e.frame&&("close"in e.frame?e.frame.close():e.frame.destroy(),$t.closeSample())}else setTimeout(()=>{let e=E.dequeue();e&&($t.captureSample(),Yi(e))},0)}break;case"VideoPlayStatus":wt=t.data.isVideoPlayWork;break;case"startvideointerval":Pe=!!t.isSupportImageCapture,ke=!!t.isSupportVideoTrackReader,Oe=!!t.isSupportMediaStreamTrackProcessor,At=!!t.isSupport2DCanvasDrawFrame,It=!!t.isVBSettingOn,pa=!!t.isMaskSettingOn,Gr=!0,Gt=t.fps||Gt,zr(t);break;case"StartVBSetting":It=!0,pa=!1,Ut=!1,hs(),t.isSwitch&&pt&&Atomics.store(pt,0,0),Wt<4&&Gt>a.o&&(Gt=a.o),er.start(Qi,1e3/Gt),$t.start();break;case"VBOfflineCanvas":if(t.canvas){let e=Bt.get(t.rendercanvasID);e&&S.cleanup(e.canvas,e.display);let r=null;(S.getRendererProvider().isWebGLRendererType()||S.getRendererProvider().isWebGL2RendererType())&&(r={forceNoGL:void 0,contextOptions:{preserveDrawingBuffer:!1,webglcontextlostCallback:ss,webglcontextrestoredCallback:os,params:{canvas:t.canvas,rendercanvasID:t.rendercanvasID}},webGLResources:void 0,initMask:!1});const i=S.createVideoRenderDisplay(t.canvas,t.rendercanvasID,0,r);Bt.set(t.rendercanvasID,{canvas:t.canvas,id:t.rendercanvasID,display:i}),cs()}Ue=t.rendercanvasID;break;case"MaskOfflineCanvas":if(t.canvas){let e=Bt.get(t.rendercanvasID);e&&S.cleanup(e.canvas,e.display),Bt.set(t.rendercanvasID,{canvas:t.canvas,id:t.rendercanvasID,display:null}),cs()}ea=t.rendercanvasID,ua=Bt.get(t.rendercanvasID).canvas.width,da=Bt.get(t.rendercanvasID).canvas.height;break;case"vbbgimagebitmap":Qa(t);break;case"addExtVbReceiver":ue=!0;break;case"removeExtVbReceiver":ue=!1;break;case"finishVBSetting":pt&&Atomics.store(pt,0,0),Bt.get(Ue)&&Bt.get(Ue).display&&Bt.get(Ue).display.clearDisplay(),Ue=null,It=!1,lt||pa||(clearInterval(We),We=null,nt&&(clearInterval(nt),nt=null),la&&la.clearDisplay(),oa&&oa.clearRect(0,0,na.mcanvas.width,na.mcanvas.height),self.resizeCanvas&&self.resizeCanvas());break;case"WORKER_BOLB_URL":t.blobUrl&&!Er()&&(Hr=new jr(t.blobUrl));break;case"StartMaskSetting":pa=!0,It=!1,Dt=!1,Ut=!!t.enabled,ca=t.fillMode?1:0,Bt.get(ea)&&Bt.get(ea).display&&Bt.get(ea).display.setFillMode&&Bt.get(ea).display.setFillMode(ca),t.isSwitch&&(Pa(fa,Ze,$e),pt&&Atomics.store(pt,0,0));break;case"update_mask_canvas_size":Bt.get(t.rendercanvasID)&&Bt.get(t.rendercanvasID).canvas&&t.rendercanvasID===ea&&(Bt.get(t.rendercanvasID).canvas.width=t.width,Bt.get(t.rendercanvasID).canvas.height=t.height);break;case"maskandbgimagebitmap":pa=!0,ba(t);break;case"finishMaskSetting":pt&&Atomics.store(pt,0,0),Bt.get(ea)&&Bt.get(ea).display&&Bt.get(ea).canvas&&(At?(Bt.get(ea).display.setTransform(1,0,0,1,0,0),Bt.get(ea).display.clearRect(0,0,Bt.get(ea).canvas.width,Bt.get(ea).canvas.height)):Bt.get(ea).display.clearDisplay()),ea=null,pa=!1,Ot=!1,ia||(Ut=!1),lt||It||(la&&la.clearDisplay(),oa&&oa.clearRect(0,0,na.mcanvas.width,na.mcanvas.height),er.stop(),$t.stop(),hs());break;case"healthCheck":if(t.type===a.j.VIDEO)switch(t.op){case a.i.PAUSE:er.stop(),$t.stop(),we.setPaused(!0);break;case a.i.RESUME:er.start(Qi,1e3/Gt),$t.start(),we.setPaused(!1);break;case a.i.STOP:er.stop(),$t.stop(),we.stopCheck()}break;case"renderOfflineCanvas":{const e=rt?Hr.videoRenderObj:_t;if(t.canvas)bt.get(t.rendercanvasID)&&As(e,t.rendercanvasID),bt.set(t.rendercanvasID,{canvas:t.canvas});else{let e=bt.get(t.rendercanvasID);e&&(t.canvas=e.canvas)}var n;if(wt=!0,Tt=!0,xt=t.waterMarkText,Rt=t.isCreateVideoWaterMark,e.Set_WaterMark_Info({waterMarkCanvas:!1,isCreateVideoWaterMark:Rt,videoWaterMarkName:xt,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,watermarkPosition:t.watermarkPosition}),ys(e),Object(i.o)("OFFRENDER:".concat(t.ssrc)),t.ssrc!=a.a||Et.ssrc||(Et.ssrc=null===(n=_t)||void 0===n?void 0:n.getActiveSpeakerSsrc()),yt.length)for(let e=0;e<yt.length;e++)if(yt[e].ssrc==t.ssrc&&yt[e].zone==t.zone)return;(K||gr.videodecodethreadnumb>1)&&(t.display=e.Get_Display(t.canvas,t.rendercanvasID,t.ssrc,Ar),t.display&&t.display.setFillMode(t.fillMode,t.fillModeForResolution)),yt.push(t),pe=!0,yt.length>0&&e.Set_Render_Array(yt),qt.renderFlag||rt||1==yt.length&&e.Get_Capture_Video_Flag()||(qt.renderFlag=!0,ds())}break;case"removeExpiredCanvas":bt.get(t.rendercanvasID)&&_t&&As(_t,t.rendercanvasID);break;case"newActiveSpeakerSsrc":{var h,c;let e=null===(h=t.data)||void 0===h?void 0:h.ssrc;if(!e||Et.ssrc==e)break;Ms(Et.ssrc),Et.ssrc=e,Et.firstflag=!1,wt=!0,null===(c=_t)||void 0===c||c.setActiveSpeakerSsrc(e)}break;case"cancelNewActiveSpeakerSsrcBefreCallback":Ms(t.ssrc),Et.ssrc==t.ssrc&&(Et.ssrc=null,Et.firstflag=!1),0==yt.length&&(wt=!1);break;case"CHANGE_CURRENT_ACTIVE_SSRC":ps=t.ssrc,_t&&_t.Change_Current_SSRC(t.ssrc);break;case"stopVideoRender":{if(t.MFlag)return void(pe=!1);Rt=!1,xt="";const e=rt?Hr.videoRenderObj:_t;let r=bt.get(t.canvas);if(yt.length&&r)for(let r=0;r<yt.length;r++)yt[r].ssrc==t.ssrc&&yt[r].zone==t.zone&&Cs(e,yt.splice(r,1),t.RGBA)}break;case"removeVideoPlay":if(vt){let e=rt?Hr.videoRenderObj:_t;e&&ws(e),vt=null,wt=!1}break;case"decodeVideoPortWithAudio":t.port.onmessage=function(e){ms(e.data)};break;case"audioDecodeTime":ms(t);break;case g.o:{let e=r.data.userNodeList;e&&e.forEach(e=>{let t=parseInt(e.userid);if(e.bremove)return void(Ge&&G(Ge,t));let r=e.sn;if(16!=r.length&&32!=r.length)return;let i=Oi(r);if(Ge){let e=!1;rt&&Be!=t||(e=!0),e&&W(Ge,t,i,r.length)}rt&&Be==t&&(De=r),Li(i)});break}case"VIDEO_ENCODE_SAB":{let e=r.data.interval,t=Vr==a.cb.DESKTOP?10:20;if(gr.isSupportMultiThread){const r=8+1500*(a.bb+1);if(null==ct){if(null==(ct=Module._malloc(r)))return void console.log("malloc failed");Atomics.store(Object(i.f)().subarray(ct/4,ct/4+r),0,0),Atomics.store(Object(i.f)().subarray(ct/4,ct/4+r),1,0)}Ns.sender={sab:wasmMemory,length:r,offset:ct,useCopy:!1,useOneElement:!1,interval:e?t:0}}else{let i=r.data.data.buffer,a=0,s=r.data.data.length;Ns.sender={sab:i,length:s,offset:a,useCopy:!1,useOneElement:!1,interval:e?t:0}}Object(b.b)(Fs,Ns.sender,null);break}case g.m:qt.monitorPanelFlag=r.data.enable,qt.panelpollingInterval=r.data.pollingInterval,ds();break;case"VIDEO_DECODE_SAB_FROM_DATACHANNEL":{let e=Vr==a.cb.DESKTOP?10:20;if(gr.isSupportMultiThread){const t=8+1500*(a.bb+1);if(null==ut){if(null==(ut=Module._malloc(t)))return void console.log("malloc failed");Atomics.store(Object(i.f)().subarray(ut/4,ut/4+t),0,0),Atomics.store(Object(i.f)().subarray(ut/4,ut/4+t),1,0)}Ns.reciver={sab:wasmMemory,offset:ut,length:t,interval:e,useCopy:!1,useOneElement:!1}}else{let t=r.data.buffer,i=r.data.offset,a=r.data.length;Ns.reciver={sab:t,offset:i,length:a,interval:e,useCopy:!1,useOneElement:!1}}Object(b.b)(Fs,null,Ns.reciver);break}case"VIDEO_DECODE_FRAME_BACK_SAB":{let e=r.data.buffer,t=r.data.bytesPerEle;self.videoDecodeFrameBackSABRingBuffer=new l.b(e,t);break}case"decodeVideoPort":cr&&cr.close(),(cr=e.ports[0]).onmessage=function(e){if("SVIEW"!=e.data.cmd);else if(e.data.mode&&!e.data.yuv){var t,r;null!==(t=e.data)&&void 0!==t&&t.data&&(null===(r=_t)||void 0===r||r.Update_LocalVideo(e.data.data,e.data.rotation,!!e.data.fromVideoTag),(S.getRendererProvider().isWebGLRendererType()||S.getRendererProvider().isWebGL2RendererType())&&e.data.data.close())}else{let t=e.data;_t.Update_SelfVideo_Texture(t.width,t.height,t.data,t.ssrc,t.mode,t.croppingParams)}};break;case"encodeVideoPort":ur&&(ur.close(),ur=null),ur=e.ports[0];break;case"vsport":dr&&(dr.close(),dr=null),dr=e.ports[0];break;case"videopreview":_t&&_t.Draw_Send_Video_Img(r.data,640,360,Be);break;case"update_canvas_size":{let e=bt.get(r.rendercanvasID);e&&(e.canvas.width=r.width,e.canvas.height=r.height)}break;case"encodedimagebitmapwasmptr":Wi=r.data,Gi=r.wasmMemory,_t&&(_t.Set_LocalVideo_Buffer(Gi),_t.Set_LocalVideo_Ptr(Wi));break;case"zoomrender":if(yt.length){let e=bt.get(t.canvas);for(let r=0;e&&r<yt.length;r++)if(yt[r].ssrc==t.ssrc&&yt[r].zone==t.zone){var u=[yt[r]];let e={};const i=S.getRendererProvider().isWebGLRendererType(),a=S.getRendererProvider().isWebGL2RendererType();(i||a)&&(e.x=yt[r].x,e.y=yt[r].y,e.width=yt[r].width,e.height=yt[r].height),yt[r].x=t.x,yt[r].y=t.y,yt[r].width=t.width,yt[r].height=t.height,_t&&(_t.clearUseridRender(u,t.RGBA,e),_t.Zoom_Render(yt[r]));break}}break;case"hwstatus":Ge&&(rt&&Fr.isEnableVideoEncodeHardWareThread||gr.videodecodethreadnumb>1&&gr.isEnableVideoDecodeHardWareThread)&&ht!=t.enable&&(ht=t.enable,rt&&Fr.Signal_Encode_Thread.status==a.J?(Fr.Signal_Encode_Thread.latestflag=ht,H(Ge,ht)):rt||H(Ge,ht));break;case"videohd":Wr=t.videohd;break;case"SWITCH_WATER_MARK_FLAG":_t&&(Rt=r.isCreateVideoWaterMark,xt=r.videoWaterMarkName||"",Rt||_t.Set_WaterMark_Flag(!1),_t.Set_WaterMark_Info({waterMarkCanvas:!1,isCreateVideoWaterMark:Rt,videoWaterMarkName:xt,watermarkOpacity:r.watermarkOpacity,watermarkRepeated:r.watermarkRepeated,watermarkPosition:r.watermarkPosition}));break;case"startsharingencode":Vt/=2,Ge&&J(Ge,Vt);break;case"stopsharingencode":Vt*=2,Ge&&J(Ge,Vt);break;case"WEBGL_LOST_REPLACE_CANVAS":{const{canvas:e,canvasId:t}=r.data||{};if(e)t&&t===ea?(Bt.set(ea,{canvas:e,id:ea,display:null}),ea=t,ua=Bt.get(ea).canvas.width,da=Bt.get(ea).canvas.height):rt?Hr&&(Hr.replace_Canvas(e,t),bt.get(t)&&bt.set(t,{canvas:e})):yt.length>0&&(_t.Replace_Canvas(e,t),bt.get(t)&&bt.set(t,{canvas:e}));else if(rt){if(gr.offScreenCanvasHandle.donotrenderoffscreencanvas){const{width:e,height:t}=gr.offScreenCanvasHandle.donotrenderoffscreencanvas;gr.offScreenCanvasHandle.donotrenderoffscreencanvas=new OffscreenCanvas(e,t),gr.offScreenCanvasHandle.donotrenderoffscreencanvasctx=gr.offScreenCanvasHandle.donotrenderoffscreencanvas.getContext("2d")}if(Ce){const{width:e,height:t}=Ce;Ce=new OffscreenCanvas(e,t),Ae=gr.offScreenCanvasHandle.donotrenderoffscreencanvas.getContext("2d")}if(na.mcanvas&&oa){const{width:e,height:t}=na.mcanvas;na.mcanvas=new OffscreenCanvas(e,t),oa=na.mcanvas.getContext("2d")}if(aa){const{width:e,height:t}=aa;aa=new OffscreenCanvas(e,t),sa=aa.getContext("2d"),Pa(fa,Ze,$e)}if(Sa){const{width:e,height:t}=Sa;Sa=new OffscreenCanvas(e,t)}Bt.get(ea)&&Bt.get(ea).canvas&&Object(i.v)(ea,!0)}break}case"ENABLE_VIDEO_OBSERVER":Ii=!!r.data,Ui=!!r.enablefps;break;case"MAIN_KK":hi.updateKey(r.data.KK);break;case"RenderInMain":pe=!0;break;case g.e:{let e=r.data||{},t=!!e.hold;Object(i.o)("HOLD:".concat(t,":").concat(e.userid,":").concat(e.reinit)),t?function(e){if(Ps)return;if(Be&&e.userid&&e.userid>>10!=Be>>10)return void Object(i.o)("HOLDINVALID");if(Ps=!0,!Ge)return;if(rt?(pe=!1,lt=!1,pa||(la&&la.clearDisplay(),oa&&oa.clearRect(0,0,na.mcanvas.width,na.mcanvas.height)),It||(Bt.get(Ue)&&Bt.get(Ue).display&&Bt.get(Ue).display.clearDisplay(),Ue=null),pa||It||(clearInterval(We),We=null,er.stop(),$t.stop(),nt&&(clearInterval(nt),nt=null),pt&&Atomics.store(pt,0,0),hs())):_t&&_t.Set_Capture_Video_Flag(!1),rt){const e=Hr.videoRenderObj;if(e){let t=e.clearColor.map(e=>e/255);for(;yt.length;){let r=yt.shift();Cs(e,[r],t)}}}else bt.forEach((e,t)=>{As(_t,t)});De=null,nt&&(clearInterval(nt),nt=null),ot&&(clearInterval(ot),ot=null),Je=null;let t=Ge;Ge=null,t&&C(t)}(e):(d=e,Ps&&(Ps=!1,null!=d&&d.reinit&&(Be=d.userid,Je=null,rt?Fr.isSupportVirtualBackground?Yr("VB",1,Fr.enableVBWasmBackend):postMessage({status:s.qb}):Os())));break}case g.g:!function(e){let t=e.content_type,r=e.cmd,a=e.type;"PDU"==t&&(r=Object(i.a)(r),2==a&&ci({data:r}))}(r.data);break;case g.k:Re=r.flag}var d}));var Ps=!1;function ks(){return!Ps}function Os(){ks()&&(Ge&&Ve==Be||(Ge&&(C(Ge),Ge=null),Ge=M(Be,Me,Ee,Se,0,0,gr.videodecodethreadnumb,ht,rt,!0,Vt,!1,!1),Ve=Be),Ge?(hi.updateKey(),ot&&(clearInterval(ot),ot=null),ot=setInterval(()=>{Ge&&Y(Ge)},50),q(Ge,it||at?0:2),gr.videodecodethreadnumb>1&&F(Ge,gr.videodecodethreadnumb),postMessage({status:s.qb})):postMessage({status:s.pb}))}function Ls(e){let t=e;if(e.webtransportURL&&!rr){let r=1;e.webtransportURL.includes("mode=2")&&(r=0),ir({url:e.webtransportURL,label:"video",id:t._id,onmessage:li,onopen:sr,onclose:nr,groupSize:r})}Object(i.j)(Fe,t.websocket_ip_address)&&(Fe&&(Fe.close(),Fe=null,Object(i.u)("video websocket cid changed")),Fe=tr(t.websocket_ip_address,hr,ci,di,ui),t.websocket_ip_address),function(){if(Fs)return;(Fs=Object(_.d)(rt?y.e.VIDEO_ENCODE:y.e.VIDEO_DECODE)).onmessage=oi,Fs.onopen=()=>{it=!0,ar()},Fs.onclose=()=>{it=!1,ar()},(Ns.sender||Ns.reciver)&&Object(b.b)(Fs,Ns.sender,Ns.reciver)}()}function Is(e){S.getRendererProvider().setRendererType(e.rendererType),S.getRendererProvider().isWebGPURendererType()&&S.getWebGPUResMgr().initialize(),rt||(gr.isSupportOffscreenCanvas&&(_t||((_t=new n.a({Notify_APPUI:null,isSupportOffscreenCanvas:!0,jsMediaEngine:null,videodecodethreadnumb:K?a.p:gr.videodecodethreadnumb,onStopDrawCallback:Ts,onReStoreCallback:xs,renderManager:S})).setMirrorMyVideoOption(kt),ps&&_t.Change_Current_SSRC(ps),Gi&&_t.Set_LocalVideo_Buffer(Gi),Wi&&_t.Set_LocalVideo_Ptr(Wi),null!=Et&&Et.ssrc&&_t.setActiveSpeakerSsrc(Et.ssrc))),_t&&_t.Set_VideoTrackReader(gr.isSupportVideoTrackReader))}var Us=!1;var Ds=!1;function Bs(){if(!$r())return-1;if(ai())return 0;if("function"!=typeof OffscreenCanvas)return-1;var e=ei(),t=ti();return e&&t&&z?0:-1}function Ws(){return!0}let Gs=0;function Vs(e,t){let r=e?Fr.Signal_Encode_Thread.handle:gr.isVideoCodecHelpThreadWorker;if(r&&r.postMessage({cmd:"webcodecfailed",encode:e,id:t}),e)return $a=!1,Fr.Signal_Encode_Thread.latestflag=!1,void(Ge&&H(Ge,!1));Gs++,Gs>=4&&($a=!1,Ge&&H(Ge,!1))}var Fs=null,Ns={};Object(_.b)(Qt),Object(w.a)(self)},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureInputStream=t.TrackProcessorInputStream=void 0;const i=r(37);t.TrackProcessorInputStream=class{constructor(e,t,r){this.port=e,this.name=t,this.VideoFrameNeeded=r}setStream(e){const t=e.getVideoTracks()[0],r=t.getSettings(),{frameRate:a=24}=r;this.trackProcessor=new MediaStreamTrackProcessor({track:t});const s=this.trackProcessor.readable;this.port.postMessage({cmd:i.VideoProcessorEvent.INPUT_READABLE_STREAM,frameRate:Math.min(a,24),readableStream:s,processorName:this.name},[s]),this.port.postMessage({cmd:i.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:a,processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:i.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}};t.CanvasCaptureInputStream=class{constructor(e,t,r=!1,a=!1){this.port=e,this.name=t,this.isIOSDevice=r,this.VideoFrameNeeded=a,this.onMessage=e=>{if(e.data.cmd===i.VideoProcessorEvent.REQUEST_FRAME&&this.captureVideoEleLoaded){let e=this.captureVideoEle.videoWidth,t=this.captureVideoEle.videoHeight;if(e<=0||t<=0)return;this.isIOSDevice&&(this.captureCanvasEle.width=e,this.captureCanvasEle.height=t,this.captureCanvasEleCtx.drawImage(this.captureVideoEle,0,0,e,t));const r=new VideoFrame(this.isIOSDevice?this.captureCanvasEle:this.captureVideoEle,{timestamp:1e3*performance.now()});this.port.postMessage({cmd:i.VideoProcessorEvent.FRAME_DATA,frame:r,processorName:this.name}),r.close()}},this.port.addEventListener("message",this.onMessage)}createCaptureVideoElement(e){this.captureVideoEle=document.querySelector("#video-processor-video"),this.captureVideoEle||(this.captureVideoEle=document.createElement("video"),this.captureVideoEle.autoplay=!0,this.captureVideoEle.playsInline=!0,this.captureVideoEle.id="video-processor-video",this.captureVideoEle.style.position="fixed",this.captureVideoEle.style.width="1px",this.captureVideoEle.style.height="1px",this.captureVideoEle.style.bottom="0px",this.captureVideoEle.style.right="0px",this.captureVideoEle.muted=!0,document.body.appendChild(this.captureVideoEle)),this.isIOSDevice&&!this.captureCanvasEle&&(this.captureCanvasEle=document.createElement("canvas"),this.captureCanvasEleCtx=this.captureCanvasEle.getContext("2d")),this.captureVideoEle.srcObject=e,this.captureVideoEle.addEventListener("loadedmetadata",()=>{this.captureVideoEleLoaded=!0}),this.captureVideoEle.play()}setStream(e){const t=e.getVideoTracks()[0].getSettings(),{frameRate:r=24}=t;this.createCaptureVideoElement(e),this.port.postMessage({cmd:i.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:Math.min(r,24),processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:i.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}destroy(){this.port.removeEventListener("message",this.onMessage)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureOutputStream=t.TrackGeneratorOutputStream=void 0;const i=r(37);t.TrackGeneratorOutputStream=class{constructor(e,t){this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"});const r=this.trackGenerator.writable;e.postMessage({cmd:i.VideoProcessorEvent.OUTPUT_WRITABLE_STREAM,writableStream:r,processorName:t},[r]),this.stream=new MediaStream([this.trackGenerator])}getStream(){return this.stream}};t.CanvasCaptureOutputStream=class{constructor(e,t){this.canvas=document.createElement("canvas"),this.canvas.width=1,this.canvas.height=1,this.offScreenCanvas=this.canvas.transferControlToOffscreen(),this.stream=this.canvas.captureStream(24)}getOutputCanvas(){return this.offScreenCanvas}getStream(){return this.stream}}},,,,,,,,,,function(e,t,r){"use strict";r.r(t);var i=r(42);Object.keys(i).forEach(e=>self[e]=i[e])}]);
|
|
2
|
-
//# sourceMappingURL=https://d1cdksi819e9z7.cloudfront.net/sourcemap/video_m.min.js-
|
|
2
|
+
//# sourceMappingURL=https://d1cdksi819e9z7.cloudfront.net/sourcemap/video_m.min.js-e8033f4192aec793754b.map
|
|
3
3
|
self.__wasmCodeDataEndFlag = 1;var Module=typeof Module!=="undefined"?Module:{};
|
|
4
4
|
Module["locateFile"] = function(filename){
|
|
5
5
|
if (filename.endsWith("wasm")) {
|
|
@@ -8,7 +8,7 @@ if (filename.endsWith("wasm")) {
|
|
|
8
8
|
let data = `class webcodecDecodeWorkerMessageChannel{static handleVDMSCMessage(e){let t=e.data;switch(t.cmd){case"init":{let e=t.id,o=t.context;WebcodecDecoders[e]||(WebcodecDecoders[e]=new WebcodecDecoder(e)),WebcodecDecoders[e].init(o)}break;case"configure":{let e=t.id,o=t.buffer,a=t.extraDataLen,d=t.Width,i=t.Height,r=t.ssrc,c=new Uint8Array(a),n=GROWABLE_HEAP_U8().subarray(o,o+a);return c.set(n),_free(o),WebcodecDecoders[e].configure(c,d,i,r),"configured"==WebcodecDecoders[e].videoDecoder.state?0:-1}case"decode":{let e=t.id,o=t.buffer,a=t.vclBufferSize,d=t.NewIDR,i=(t.vclNalCount,GROWABLE_HEAP_U8().subarray(o,o+a)),r=new Uint8Array(a);r.set(i),WebcodecDecoders[e].decode(r,d)}}}constructor(){this.decodeMSCManager=[]}addMSC(e){this.decodeMSCManager.push(e),e.onmessage=webcodecDecodeWorkerMessageChannel.handleVDMSCMessage}}const FRAME_ENC_SUCCEED=0,FRAME_ENC_OVERTIME=1,FRAME_ENC_FAILED=2,FRAME_DEC_SUCCEED=0,FRAME_DEC_OVERTIME=1,FRAME_DEC_FAILED=2,MONITOR_TIMEOUT_MS=3e4,MAX_TIMEOUT_MS=40,TIMEOUT_UP_STEP=20,SLOW_START_TIMEOUT=100,MAX_CACHE_SIZE=20,WEBCODEC_ERROR=3;function globalTracingError(e,t){postMessage({cmd:"globalTracingError",data:e,error:t})}function globalTraingReport(e,t){postMessage({cmd:"GlobalTracingDT",data:e,error:t})}function printError(e){postMessage({cmd:"printError",data:e})}class WebCodecPerformanceStatus{constructor({encode:e,id:t}){this.inputIndex=0,this.outputIndex=0,this.timeoutIndex=0,this.records=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.timeout_id=-1,this.enabled=!1,this.startTs=0,this.isFailed=!1,this.sumDelay=0,this.maxDelay=0,this.minDelay=1e6,this.encode=e,this.id=t||0}_report(){let e=performance.now();this.enabled=!1;let t=Math.round(e-this.startTs),o=1e3*this.inputIndex/t,a=1e3*this.outputIndex/t,d=this.sumDelay/(this.outputIndex||1),i=this.timeoutIndex/(this.inputIndex||1);postMessage({cmd:"webcodecperformance",id:this.id,encode:this.encode,avgDelay:d,inputIndex:this.inputIndex,inavgFps:o,outputIndex:this.outputIndex,outavgFps:a,failed:this.isFailed,ratio:i,elapsed:t})}start(){-1==this.timeout_id&&(this.enabled=!0,this.startTs=performance.now(),this.timeout_id=setTimeout((()=>{this._report()}),3e4))}stop(e){this.isFailed=e,-1!=this.timeout_id&&clearTimeout(this.timeout_id),this._report()}inputInc(){this.inputIndex++,this.enabled&&(this.records[this.inputIndex%20]=performance.now())}outputInc(){if(this.outputIndex++,!this.enabled)return;let e=performance.now()-this.records[this.outputIndex%20];this.sumDelay+=e}}var Module={},initializedJS=!1,pendingNotifiedProxyingQueues=[],enableVBWasmBackend=0,codecMRG=new CodecMRG;Module.codecMRG=codecMRG;var multiThreadFlag,model,tfjsUrl,prob,mask,firstpayload,afnModel,frame=null,modelArtifacts={},IOhandle={};IOhandle.load=function(){return modelArtifacts},IOhandle.save=function(){};var baseModel,afnModelArtifacts={},afnIOHandle={},baseModelArtifacts={},baseIOHandle={};let tfInitPromise,webcodecDecodeFlag=!1,webcodecEncodeFlag=!1;afnIOHandle.load=function(){return afnModelArtifacts},afnIOHandle.save=function(){},baseIOHandle.load=function(){return baseModelArtifacts},baseIOHandle.save=function(){};var decHAOption,dualModelOKCount=0,tfLoad=!1;let webcodecDecodeWorkerMSC,decodeThreadSSRC,wasmDecodeWorkerMSC=null;function initTf(e){tfLoad||(importScripts(e),tfLoad=!0,tfInitPromise=tf.setBackend("webgl").then((e=>{if(!e)return Promise.reject("init tf fail 1")})).catch((()=>{if(!enableVBWasmBackend)return postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 2");const t=e.substr(0,e.lastIndexOf("/")+1);return importScripts(t+"tf-backend-wasm.min.js"),tf.wasm.setWasmPaths(t),tf.setBackend("wasm").then((e=>{if(!e)return postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 3")}),(()=>(postMessage({cmd:"vbInitializeFailed"}),Promise.reject("init tf fail 4"))))})))}function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var chunk,err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var o=new WebAssembly.Instance(Module.wasmModule,e);return t(o),Module.wasmModule=null,o.exports},self.addEventListener("unhandledrejection",(function(e){let t="";const o=e?.reason;(o instanceof Error||o instanceof ErrorEvent)&&(t+=" Message: "+o?.message+" Stack: "+(o?.error?.stack??o?.stack)),globalTracingError("Unhandled Rejection: "+JSON.stringify(e?.reason??e)+t)})),self.addEventListener("error",(e=>{globalTracingError("Message: "+e?.message+" Stack:"+e?.error?.stack)})),self.onmessage=e=>{try{if("load"===e.data.cmd){Module.wasmModule=e.data.wasmModule;for(const t of e.data.handlers)Module[t]=function(){postMessage({cmd:"callHandler",handler:t,args:[...arguments]})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,Module.isTeslaMode=e.data.isTeslaMode,Module.is360penablehwenc=!!e.data.is360penablehwenc,Module.is360penablehwdec=!!e.data.is360penablehwdec,Module.isAndroid=e.data.isAndroid,"string"==typeof e.data.urlOrBlob)importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}}else if("run"===e.data.cmd){Module.__performance_now_clock_drift=performance.now()-e.data.time,Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(pendingNotifiedProxyingQueues.forEach((e=>{Module.executeNotifiedProxyingQueue(e)})),pendingNotifiedProxyingQueues=[],initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(e){if("unwind"!=e){if(!(e instanceof Module.ExitStatus))throw e;Module.keepRuntimeAlive()||Module.__emscripten_thread_exit(e.status)}}}else if("cancel"===e.data.cmd)Module._pthread_self()&&Module.__emscripten_thread_exit(-1);else if("setimmediate"===e.data.target);else if("processProxyingQueue"===e.data.cmd)initializedJS?Module.executeNotifiedProxyingQueue(e.data.queue):pendingNotifiedProxyingQueues.push(e.data.queue);else if("videoframe"===e.data.cmd)frame&&(frame.close(),postMessage({cmd:"video_un_ref"})),frame=e.data.data;else if("vdmsc1"===e.data.cmd)wasmDecodeWorkerMSC=e.ports[0];else if("vdmsc2"===e.data.cmd)webcodecDecodeWorkerMSC||(webcodecDecodeWorkerMSC=new webcodecDecodeWorkerMessageChannel),webcodecDecodeWorkerMSC.addMSC(e.ports[0]);else if("VideoEncodeConfigure"===e.data.cmd){var o=e.data.Width,a=e.data.Height,d=e.data.id,i=e.data.Bitrate,r=e.data.Framerate,c=e.data.buffer;Module.codecMRG.configEncodeWebCodec(d,i,r,o,a,c)}else if("VideoEncodeInit"===e.data.cmd){d=e.data.id;var n=e.data.context;Module.codecMRG.initEncodeWebCodec(d,n)}else if("VideoEncode"===e.data.cmd){var s=e.data.videoFrameId,l=e.data.dataLength,u=(d=e.data.id,e.data.NewIDR),f=e.data.rawData,h=e.data.timeout;Module.codecMRG.encodeVideoFrame(d,s,u,f,l,h)}else if("CloseVideoEncode"===e.data.cmd)Module.codecMRG.closeVideoEncode();else if("multiThreadFlag"===e.data.cmd)multiThreadFlag=e.data.multiThreadFlag;else if("vbObj0"===e.data.cmd){tfjsUrl=e.data.tfjsUrl;var m=e.data.modelJSON;if(modelArtifacts.modelTopology=m.modelTopology,modelArtifacts.format=m.format,modelArtifacts.generatedBy=m.generatedBy,modelArtifacts.convertedBy=m.convertedBy,m.weightsManifest)for(var p=0;p<m.weightsManifest.length;p++)modelArtifacts.weightSpecs=m.weightsManifest[p].weights;m.trainingConfig&&(modelArtifacts.trainingConfig=m.trainingConfig),m.userDefinedMetadata&&(modelArtifacts.userDefinedMetadata=m.userDefinedMetadata),modelArtifacts.weightData=e.data.weightData,initTf(tfjsUrl),tfInitPromise.then((()=>{postMessage({cmd:"addMonitorLog",log:"TFBE-"+tf.getBackend()}),tf.loadGraphModel(IOhandle).then((function(e){model=e,postMessage({cmd:"modelReady"});var t=new Float32Array(110592),o=tf.tensor4d(t,[1,144,256,3],"float32");model.predict(o),postMessage({cmd:"vbPredictDone"})}))}))}else if("vbObj1"===e.data.cmd){tfjsUrl=e.data.tfjsUrl;m=e.data.modelJSON;if(afnModelArtifacts.modelTopology=m.modelTopology,afnModelArtifacts.format=m.format,afnModelArtifacts.generatedBy=m.generatedBy,afnModelArtifacts.convertedBy=m.convertedBy,m.weightsManifest)for(p=0;p<m.weightsManifest.length;p++)afnModelArtifacts.weightSpecs=m.weightsManifest[p].weights;m.trainingConfig&&(afnModelArtifacts.trainingConfig=m.trainingConfig),m.userDefinedMetadata&&(afnModelArtifacts.userDefinedMetadata=m.userDefinedMetadata),afnModelArtifacts.weightData=e.data.weightData,initTf(tfjsUrl),tfInitPromise.then((()=>{postMessage({cmd:"addMonitorLog",log:"TFBE-"+tf.getBackend()}),tf.loadGraphModel(afnIOHandle).then((function(e){afnModel=e,0==dualModelOKCount&&postMessage({cmd:"modelReady"});var t=new Float32Array(110592),o=new Float32Array(110592),a=new Float32Array(36864),d=tf.tensor4d(t,[1,144,256,3],"float32"),i=tf.tensor4d(o,[1,144,256,3],"float32"),r=tf.tensor4d(a,[1,144,256,1],"float32");afnModel.predict([d,i,r]),2==++dualModelOKCount&&postMessage({cmd:"vbPredictDone"})}))}))}else if("vbObj2"===e.data.cmd){tfjsUrl=e.data.tfjsUrl;m=e.data.modelJSON;if(baseModelArtifacts.modelTopology=m.modelTopology,baseModelArtifacts.format=m.format,baseModelArtifacts.generatedBy=m.generatedBy,baseModelArtifacts.convertedBy=m.convertedBy,m.weightsManifest)for(p=0;p<m.weightsManifest.length;p++)baseModelArtifacts.weightSpecs=m.weightsManifest[p].weights;m.trainingConfig&&(baseModelArtifacts.trainingConfig=m.trainingConfig),m.userDefinedMetadata&&(baseModelArtifacts.userDefinedMetadata=m.userDefinedMetadata),baseModelArtifacts.weightData=e.data.weightData,initTf(tfjsUrl),tfInitPromise.then((()=>{tf.loadGraphModel(baseIOHandle).then((function(e){baseModel=e,0==dualModelOKCount&&postMessage({cmd:"modelReady"});var t=new Float32Array(110592),o=tf.tensor4d(t,[1,144,256,3],"float32");baseModel.predict(o),2==++dualModelOKCount&&postMessage({cmd:"vbPredictDone"})}))}))}else if("vbFlag"==e.data.cmd)enableVBWasmBackend=e.data.enableVBWasmBackend;else if("vb"==e.data.cmd)multiThreadFlag=!1;else if("webcodec"==e.data.cmd)noExitRuntime=!0,decHAOption=e.data.decHAOption;else if("webcodecfailed"==e.data.cmd){let t=e.data.encode,o=e.data.id;t?codecMRG?.webcodecFailed(o):WebcodecDecoders[o].failed()}else err("worker.js received unknown command "+e.data.cmd),err(e.data)}catch(e){throw postMessage({cmd:"tCrashed",data:e.toString()}),Module.__emscripten_thread_crashed,e}};var WebcodecDecoders=[];function WebcodecDecoder(e){this.id=e,this.videoDecoder=null,this.context=null,this.decodeOutputIndex=0,this.videoFrameBuffer=[],this.ssrc=0,this.continuoustimeout=0,this.timeoutcount=0,this.timeout=MAX_TIMEOUT_MS,this.webcodecStatus=new WebCodecPerformanceStatus({encode:!1,id:e}),this.paintFrameToCanvas=function(e){this.webcodecStatus.outputInc(),this.timeout_id?(this.continuoustimeout=0,postMessage({cmd:"decoded_webcodec",data:e,id:this.id,frameIndex:this.decodeOutputIndex,ssrc:this.ssrc},[e]),Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_SUCCEED,this.decodeOutputIndex),this.closeTimeout(),this.decodeOutputIndex++):e.close()},this.onDecoderError=function(e){globalTracingError("onDecoderError",e),Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_FAILED,0),this.closeTimeout()}}function InitVideoDecoder_js(e,t){return wasmDecodeWorkerMSC?(wasmDecodeWorkerMSC.postMessage({cmd:"init",id:e,context:t}),0):-1}function VideoDecoderConfigure_js(e,t,o,a,d){if(wasmDecodeWorkerMSC){let r=_malloc(o);if(!r)return-1;var i=GROWABLE_HEAP_U8().subarray(t,t+o);return writeArrayToMemory(i,r),wasmDecodeWorkerMSC.postMessage({cmd:"configure",id:e,buffer:r,extraDataLen:o,Width:a,Height:d,ssrc:decodeThreadSSRC}),0}return-1}function VideoDecoder_js(e,t,o,a,d){return wasmDecodeWorkerMSC?(wasmDecodeWorkerMSC.postMessage({cmd:"decode",id:e,buffer:t,vclBufferSize:o,NewIDR:a,vclNalCount:d}),0):-1}function GetEncThreadNum(){return 1}function GetCscThreadNum(){return 1}function js_info_from_wcl(e,t,o){var a=new Uint8Array(o),d=GROWABLE_HEAP_I8().subarray(t+0,t+o);a.set(d,0,o),postMessage({cmd:"js_info_from_wcl",data:a},[a.buffer])}function decode_callback(e,t){postMessage({cmd:"size",ssrc:e,size:t})}function frame_callback(e,t,o,a,d,i,r,c,n,s,l,u){var f=a;f=f>>10<<10,postMessage({cmd:"decoded",status:0,yuvdataptr:e,yuvdata:e,yuvlength:t,ntptime:0,ssrc:f,width:d,height:i,r_x:r,r_y:c,r_w:n,r_h:s,rotation:l,yuv_limited:u})}function frame_callback_webcodec(e,t,o,a,d,i,r,c,n,s,l,u){postMessage({cmd:"decoded_webcodec_render",status:0,id:e,iFrameNum:t,timestamp:o,ssrc:a,format_width:d,format_height:i,rendering_x:r,rendering_y:c,rendering_width:n,rendering_height:s,rotation:l,yuv_limited:u})}WebcodecDecoder.prototype.failed=function(){this.webcodecStatus.stop(!0),this.closeTimeout()},WebcodecDecoder.prototype.init=function(e){this.videoDecoder=new VideoDecoder({output:this.paintFrameToCanvas.bind(this),error:this.onDecoderError.bind(this)}),this.videoDecoder||globalTracingError("error creating VideoDecoder"),this.context=e,this.webcodecStatus.start()},WebcodecDecoder.prototype.configure=function(e,t,o,a){try{this.ssrc=a;let d={codec:"avc1.640028",description:e,codedWidth:t,codedHeight:o,optimizeForLatency:!0,hardwareAcceleration:decHAOption||"prefer-hardware"};this.videoDecoder.configure(d),this.closeTimeout()}catch(e){globalTracingError("Error configuring VideoDecoder",e),this.context&&Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_FAILED,0)}},WebcodecDecoder.prototype.decode=function(e,t){try{1==t?(chunk=new EncodedVideoChunk({type:"key",timestamp:0,duration:0,data:e}),firstpayload=0):chunk=new EncodedVideoChunk({type:"delta",timestamp:0,duration:0,data:e}),webcodecDecodeFlag||(webcodecDecodeFlag=!0,globalTraingReport("webcodec decode start")),this.videoDecoder.decode(chunk),this.webcodecStatus.inputInc(),this.checkTimoutRatio(),this.closeTimeout(),this.startTimeout()}catch(e){globalTracingError("Error decoding in WebcodecDecoder",e),this.context&&Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_FAILED,0)}return 0},WebcodecDecoder.prototype.getTimeout=function(){this.continuoustimeout>1?this.webcodecStatus.inputIndex<5?this.timeout=100:this.timeout+=20:this.timeout=MAX_TIMEOUT_MS},WebcodecDecoder.prototype.startTimeout=function(){UserWebCodecController_js()&&(this.getTimeout(),this.timeout_id=setTimeout((()=>{this.timeout_id=0,this.continuoustimeout++,this.webcodecStatus.timeoutIndex++,Module._OnVideoFrameOutputCallback(this.context,1,0),this.checkAvailability()}),this.timeout))},WebcodecDecoder.prototype.closeTimeout=function(){this.timeout_id&&(clearTimeout(this.timeout_id),this.timeout_id=0)},WebcodecDecoder.prototype.checkTimoutRatio=function(){if(this.webcodecStatus.inputIndex%50)return;let e=this.webcodecStatus.timeoutIndex-this.timeoutcount;this.timeoutcount=this.webcodecStatus.timeoutIndex,e>=15&&(globalTracingError("webcodec decode timed out ratio: "+Math.round(100*e/50)),this.closeTimeout(),Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_FAILED,0))},WebcodecDecoder.prototype.checkAvailability=function(){this.webcodecStatus.inputIndex-this.webcodecStatus.outputIndex>=20&&setTimeout((()=>{this.webcodecStatus.inputIndex-this.webcodecStatus.outputIndex>=20&&(globalTracingError("webcodec decode failed exceeded maximum cache frame"),this.closeTimeout(),Module._OnVideoFrameOutputCallback(this.context,FRAME_DEC_FAILED,0))}),1e3)};var encodereclaim=0;function WebcodecEncoder(e){this.id=e,this.handle=null,this.context=null,this.bsBuffer=null,this.timeoutid=-1,this.encodereclaimcount=0,this.webcodecStatus=new WebCodecPerformanceStatus({encode:!0,id:e})}function CodecMRG(){this.decodeCodecHandles=new Map,this.encodeCodecHandles=new Map}function UserAgentIsTesla_js(){return Module.isTeslaMode}function LimitWebCodecsEncoderTo360_js(){return Module.is360penablehwenc}function LimitWebCodecsDecoderTo360_js(){return Module.is360penablehwdec}function js_info_from_wcl_video_data(e,t,o,a,d,i){var r=new Uint8Array(o+4),c=GROWABLE_HEAP_I8().subarray(t+0,t+o);r[0]=a,r[1]=d,r.set(c,4,o),postMessage({cmd:"js_info_from_wcl_video_data",ssrc:e,data:r,is_sent_by_data:i},[r.buffer])}function processed_capture_data_callback(e,t,o,a,d,i,r,c,n,s){postMessage({cmd:"processed_capture_data_callback",ssrc:e,data:t,len_of_data:o,format_width:a,format_height:d,valid_x:i,valid_y:r,valid_width:c,valid_height:n,yuv_limited:s})}function SAVE_IV(e,t){postMessage({cmd:"SAVE_IV",ptr:e,len:t})}function change_capture_resolution(e){postMessage({cmd:"change_capture_resolution",type:e})}function APP_Troubleshoting_Info(e,t){postMessage({cmd:"APP_Troubleshoting_Info",data:e,len:t})}function IsSupportMultiThread(){return multiThreadFlag?1:0}function hardcodecpunumber(){return navigator.hardwareConcurrency||1}function setCurrentThreadSsrc_js(e){decodeThreadSSRC=e}function execute(e,t,o,a){if(model)try{var d=new Float32Array(GROWABLE_HEAP_U8().buffer,e,t),i=tf.tensor4d(d,[1,144,256,3],"float32"),r=model.predict(i),c=Float32Array.from(r.as1D(36864).arraySync());return GROWABLE_HEAP_F32().set(c,o>>2),i.dispose(),r.dispose(),0}catch(e){return globalTracingError("Multi Thread VB error",e),-1}}function execute_base(e,t,o,a){return tf.tidy((()=>{var d=new Float32Array(wasmMemory.buffer,e,t),i=tf.tensor4d(d,[1,144,256,3],"float32"),r=baseModel.predict(i);1==r[1].size?(mask=Float32Array.from(r[0].as1D(36864).arraySync()),prob=Float32Array.from(r[1].as1D(1).arraySync())):(mask=Float32Array.from(r[1].as1D(36864).arraySync()),prob=Float32Array.from(r[0].as1D(1).arraySync()));let c=new Float32Array(wasmMemory.buffer);c.set(mask,o>>2),c.set(prob,a>>2)})),0}function execute_afn(e,t,o,a,d){return tf.tidy((()=>{var i=new Float32Array(GROWABLE_HEAP_U8().buffer,e,a),r=new Float32Array(GROWABLE_HEAP_U8().buffer,t,a),c=new Float32Array(GROWABLE_HEAP_U8().buffer,o,a/3),n=tf.tensor4d(i,[1,144,256,3],"float32"),s=tf.tensor4d(r,[1,144,256,3],"float32"),l=tf.tensor4d(c,[1,144,256,1],"float32"),u=afnModel.predict([n,s,l]);mask=Float32Array.from(u.as1D(36864).arraySync()),GROWABLE_HEAP_F32().set(mask,d>>2)})),0}function MCMMonitor_Video_LOG(e,t){var o=new Uint8Array(t),a=GROWABLE_HEAP_I8().subarray(e+0,e+t);o.set(a),postMessage({cmd:"MCM_VIDEO_LOG",data:o},[o.buffer])}function wcl_trace_log(e,t){var o=new Uint8Array(t),a=GROWABLE_HEAP_I8().subarray(e+0,e+t);o.set(a,0,t),postMessage({cmd:"wcl_trace_log",data:o},[o.buffer])}function WebCodecsEncoderFail_js(e,t){postMessage({cmd:"WCEF",data:e,code:t})}function WebCodecsDecoderFail_js(e){postMessage({cmd:"WCDF",data:e})}function UserWebCodecController_js(){return Module.isAndroid}WebcodecEncoder.prototype.EncodedVideoChunkOutputCallback=function(e){if(this.webcodecStatus.outputInc(),this.webcodecStatus.inputIndex==this.webcodecStatus.outputIndex&&-1!=this.timeoutid){this._stopTimeout();var t=e.byteLength,o=GROWABLE_HEAP_U8().subarray(this.bsBuffer,this.bsBuffer+t);e.copyTo(o),Module._OnEncodedVideoChunkOutputCallback(this.context,0,t)}},WebcodecEncoder.prototype.onEncoderError=function(e){let t=e&&-1!==e.toString().indexOf("reclaimed")&&++this.encodereclaimcount<2;t?(postMessage({cmd:"reclaimed",data:0}),encodereclaim=1):postMessage({cmd:"reclaimed",data:-1}),frame&&(frame.close(),frame=null),t?globalTracingError("VideoEncoder reclaimed"):(WebCodecsEncoderFail_js(this.id,3),globalTracingError("VideoEncoder error",e),Module._OnEncodedVideoChunkOutputCallback(this.context,2,0),codecMRG.closeVideoEncode())},WebcodecEncoder.prototype.init=function(e,t){this.id=e,this.context=t,this.handle=new VideoEncoder({output:this.EncodedVideoChunkOutputCallback.bind(this),error:this.onEncoderError.bind(this)}),this.webcodecStatus.start()},WebcodecEncoder.prototype.configure=function(e,t,o,a,d){try{if(encodereclaim&&(this.handle=new VideoEncoder({output:this.EncodedVideoChunkOutputCallback.bind(this),error:this.onEncoderError.bind(this)}),encodereclaim=0),this.handle){var i={codec:"avc1.640028",bitrate:e,width:o,height:a,avc:{format:"annexb"},framerate:t,hardwareAcceleration:"no-preference",latencyMode:"realtime",bitrateMode:"constant",scalabilityMode:"L1T2"};this.handle.configure(i),this.bsBuffer=d}}catch(e){this.onEncoderError(e)}},WebcodecEncoder.prototype.encode=function(e,t,o,a,d){if(this._startTimeout(t,d),this.handle){var i={keyFrame:!1};1==t&&(i.keyFrame=!0),webcodecEncodeFlag||(webcodecEncodeFlag=!0,globalTraingReport("webcodec encode start")),this.webcodecStatus.inputIndex%200==0&&postMessage({cmd:"THWEC"}),this.webcodecStatus.inputInc(),this.handle.encode(frame,i),frame.close(),frame=null,postMessage({cmd:"video_un_ref"})}},WebcodecEncoder.prototype._stopTimeout=function(){-1!=this.timeoutid&&(clearTimeout(this.timeoutid),this.timeoutid=-1)},WebcodecEncoder.prototype._startTimeout=function(e,t){this._stopTimeout(),this.timeoutid=setTimeout((()=>{this.timeoutid=-1,this.context&&Module._OnEncodedVideoChunkOutputCallback(this.context,1,0),this.webcodecStatus.timeoutIndex++}),t)},WebcodecEncoder.prototype.close=function(){"closed"!=this.handle.state&&(this.handle.close(),this.handle=null),codecMRG.clear_encodestate()},WebcodecEncoder.prototype.failed=function(){this.webcodecStatus.stop(!0)},CodecMRG.prototype.initEncodeWebCodec=function(e,t){var o=this.encodeCodecHandles.get(e);o||(o=new WebcodecEncoder(e),this.encodeCodecHandles.set(e,o)),o.init(e,t)},CodecMRG.prototype.configEncodeWebCodec=function(e,t,o,a,d,i){var r=this.encodeCodecHandles.get(e);r&&r.configure(t,o,a,d,i)},CodecMRG.prototype.encodeVideoFrame=function(e,t,o,a,d,i){var r=this.encodeCodecHandles.get(e);r&&r.encode(t,o,a,d,i)},CodecMRG.prototype.webcodecFailed=function(e){var t=this.encodeCodecHandles.get(e);t&&t.failed()},CodecMRG.prototype.closeVideoEncode=function(){var e=this.encodeCodecHandles.get(0);e&&e.close()},CodecMRG.prototype.clear_encodestate=function(){this.encodeCodecHandles&&this.encodeCodecHandles.clear()};`
|
|
9
9
|
return URL.createObjectURL(new Blob([data],{type:"application/javascript", label:"sharing.thread"}))
|
|
10
10
|
}
|
|
11
|
-
Module["mainScriptUrlOrBlob"] = String.raw`function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var _scriptDir=typeof document!="undefined"&&document.currentScript?document.currentScript.src:undefined;if(ENVIRONMENT_IS_WORKER){_scriptDir=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2097152e3/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="video.mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;registerTLSInit(Module["asm"]["_emscripten_tls_init"]);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){removeRunDependency("wasm-instantiate")}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={365788:$0=>{console.log("Video Version: ",$0)},365825:($0,$1,$2)=>{js_info_from_wcl($0,$1,$2)},365859:$0=>{change_capture_resolution($0)},365894:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{processed_capture_data_callback($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},365971:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},366041:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback_webcodec($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},366120:($0,$1)=>{decode_callback($0,$1)},366149:($0,$1,$2)=>{js_info_from_wcl($0,$1,$2)},366183:($0,$1,$2,$3)=>{Video_Controller_Encode_Data2($0,$1,$2,$3)},366231:($0,$1)=>{SAVE_IV($0,$1)},366249:($0,$1,$2,$3)=>{Video_Controller_Encode_Data($0,$1,$2,$3)},366296:($0,$1,$2,$3,$4,$5)=>{js_info_from_wcl_video_data($0,$1,$2,$3,$4,$5)},366353:$0=>{Exit_Thread($0)},366371:$0=>{return Before_Create_Thread($0)},366408:$0=>{return Before_Create_Thread($0)},366445:($0,$1)=>{APP_Troubleshoting_Info($0,$1)},366479:($0,$1,$2)=>{network_quality_callback($0,$1,$2)},366519:($0,$1)=>{MCMMonitor_Video_LOG($0,$1)},366549:$0=>{SubScribeUpdateVideo($0)},366577:()=>{return Date.now()/1e3},366604:()=>{return Date.now()%1e3},366631:($0,$1)=>{send_data($0,$1)},366654:$0=>{SubScribeUpdateVideo($0)},366682:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{responseVideoQosData($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},366743:($0,$1)=>{SAVE_IV($0,$1)},366761:()=>{return Date.now()},366784:($0,$1)=>{Update_Required_Bandwidth($0,$1)},366820:$0=>{Update_Video_Hd_Info($0)},366850:$0=>{console.log("Sharing Version: ",$0)},366889:($0,$1,$2,$3)=>{Send_Multi_Data($0,$1,$2,$3)},366923:($0,$1,$2)=>{SAVE_IV($0,$1,$2)},366945:($0,$1,$2)=>{Send_Data($0,$1,$2)},366969:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},366997:($0,$1,$2)=>{Send_Data($0,$1,$2)},367021:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},367049:($0,$1,$2)=>{Send_Data($0,$1,$2)},367073:($0,$1,$2)=>{APP_Troubleshoting_Info($0,$1,$2)},367111:($0,$1,$2,$3)=>{decode_callback($0,$1,$2,$3)},367148:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},367179:($0,$1,$2)=>{Send_Data($0,$1,$2)},367206:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},367236:($0,$1,$2)=>{Send_Data($0,$1,$2)},367263:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)=>{frame_callback_video_mode($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)},367354:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback_mouse_video_mode($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},367441:($0,$1)=>{MCMMonitor_Sharing_LOG($0,$1)},367473:($0,$1,$2,$3,$4,$5,$6)=>{Send_Out_Qos($0,$1,$2,$3,$4,$5,$6)},367518:$0=>{SubScribeUpdateSharing($0)},367548:($0,$1)=>{Send_Data($0,$1)},367571:$0=>{Update_WebSokcet_Speed($0)},367603:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{responseSharingQosData($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},367666:($0,$1)=>{SAVE_IV($0,$1)},367684:$0=>{console.error("tjDecompressHeader3 error %d ",$0)},367737:$0=>{console.error("tjDecompress2 error %d ",$0)},367784:($0,$1,$2,$3)=>{Sharing_Decode_Channel_Change($0,$1,$2,$3)},367831:($0,$1)=>{Update_Required_Bandwidth($0,$1)},367867:($0,$1,$2)=>{Send_Wb_Rtp_Packet($0,$1,$2)},367898:($0,$1)=>{Recieve_Wb_Packet($0,$1)},367925:$0=>{release_video_receiving_channle($0)},367965:()=>{videocodec_create_helpthread()},367999:()=>{console.error("_do_sharing_controller_decode: start")},368055:()=>{console.error("_do_sharing_controller_decode: waiting msg ")},368118:$0=>{console.error("_do_sharing_controller_decode: ",$0)},368173:($0,$1,$2)=>{console.error("_do_sharing_controller_decode: Try_Analysis ",$0,$1,$2)},368248:()=>{console.error("_do_sharing_controller_decode: main session _Set_Sharing_Encryption_Key_Directly ")},368349:()=>{console.error("_do_sharing_controller_decode: _Set_Sharing_Encryption_Key_Directly ")},368437:()=>{console.error("SHARING_DECODE_NETWORK_INFO WCLSharing is null")},368503:()=>{console.error("SHARING_DECODE_REQUEST_CHECK_ONE_TYPE WCLSharing is null")},368579:($0,$1)=>{console.error("SHARING_DECODE_MEDIA_DATA WCLSharing is null",$0,$1)},368652:($0,$1)=>{console.error("SHARING_DECODE_MEDIA_DATA type unknwon",$0,$1)},368719:($0,$1)=>{wcl_sharing_inited($0,$1)},368748:($0,$1,$2,$3,$4)=>{video_data_from_qos($0,$1,$2,$3,$4)},368793:($0,$1,$2,$3,$4,$5)=>{video_as_data_from_qos($0,$1,$2,$3,$4,$5)},368845:($0,$1)=>{wcl_trace_log($0,$1)},368869:($0,$1,$2)=>{network_quality_callback($0,$1,$2)},368909:($0,$1)=>{COMMIT_PRINT($0,$1)},368931:()=>{videoencode_create_helpthread()},368966:($0,$1)=>{LOG_OUT($0,$1)},368987:($0,$1)=>{wcl_trace_log($0,$1)}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function killThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];worker.terminate();__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0}function cancelThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker)}function spawnThread(threadParams){var worker=PThread.getNewWorker();if(!worker){return 6}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"pthread_ptr":threadParams.pthread_ptr};worker.runPthread=()=>{msg.time=performance.now();worker.postMessage(msg,threadParams.transferList);delete worker.runPthread};if(worker.loaded){worker.runPthread()}return 0}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===GROWABLE_HEAP_I8().buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}GROWABLE_HEAP_I8().set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count+1});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:(path,mode,dev)=>{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:(parent,name,input,output)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:(stream,buffer,offset,length,pos)=>{for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:obj=>{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,GROWABLE_HEAP_I8(),ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+8>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+16>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+56>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+72>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+88>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+92>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+104>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}else{}}_proc_exit(status)}var _exit=exitJS;function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker()}else{PThread.initMainThread()}},initMainThread:function(){},initWorker:function(){noExitRuntime=false},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads:function(){for(var worker of Object.values(PThread.pthreads)){PThread.returnWorkerToPool(worker)}for(var worker of PThread.unusedWorkers){worker.terminate()}PThread.unusedWorkers=[]},returnWorkerToPool:function(worker){var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},receiveObjectTransfer:function(data){},threadInitTLS:function(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread_ptr)PThread.currentProxiedOperationCallerThread=worker.pthread_ptr;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processProxyingQueue"){executeNotifiedProxyingQueue(d["queue"])}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread()}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d["handler"]](...d["args"])}else if(cmd){err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.hasOwnProperty(handler)){handlers.push(handler)}}worker.postMessage({"cmd":"load","handlers":handlers,"urlOrBlob":Module["mainScriptUrlOrBlob"]||_scriptDir,"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){var pthreadMainJs=locateFile("video.mt.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};Module["PThread"]=PThread;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(function(){try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=stackAlloc(len);stringToUTF8(s,buf,len);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(GROWABLE_HEAP_I32()[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})}function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+52>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+56>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function invokeEntryPoint(ptr,arg){var result=getWasmTableEntry(ptr)(arg);if(keepRuntimeAlive()){PThread.setExitStatus(result)}else{__emscripten_thread_exit(result)}}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTLSInit(tlsInitFunc){PThread.tlsInitFunctions.push(tlsInitFunc)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function _AdapterWhiteListCheck(){return checkWebCodecWhitelist_js()}function _CloseVideoEncoder(id){CloseVideoEncoder_js(id)}function _CreateGltPlatform(){err("missing function: CreateGltPlatform");abort(-1)}function _DestroyGltPlatform(){err("missing function: DestroyGltPlatform");abort(-1)}function _EncodeVideoFrameID(type,numb){return EncodeVideoFrameID_js(type,numb)}function _GetEncoderState(id){return GetEncoderState_js(id)}function _GetLogLevel(){return GetLogLevel_js()}function _InitVideoDecoder(id,context){return InitVideoDecoder_js(id,context)}function _InitVideoEncoder(id,context){return InitVideoEncoder_js(id,context)}function _LimitWebCodecsDecoderTo360(){return LimitWebCodecsDecoderTo360_js()}function _LimitWebCodecsEncoderTo360(){return LimitWebCodecsEncoderTo360_js()}function _Set_Share_Mode(flag){return Set_Share_Mode_js(flag)}function _UserAgentIsTesla(){return UserAgentIsTesla_js()}function _VideoDecoder(id,VclNalBuffer,vclBufferSize,NewIDR,vclNalCount){return VideoDecoder_js(id,VclNalBuffer,vclBufferSize,NewIDR,vclNalCount)}function _VideoDecoderConfigure(id,extradata,extraDataLen,Width,Height){return VideoDecoderConfigure_js(id,extradata,extraDataLen,Width,Height)}function _VideoEncoderConfigure(id,Bitrate,Framerate,Width,Height,bsBuffer){return VideoEncoderConfigure_js(id,Bitrate,Framerate,Width,Height,bsBuffer)}function _WebCodecsDecoderFail(m_iID){WebCodecsDecoderFail_js(m_iID)}function _WebCodecsEncoderFail(m_iID,code){WebCodecsEncoderFail_js(m_iID,code)}function _WebCodecsVideoEncoder(id,videoFrameId,NewIDR,rawData,dataLength,timeout){return VideoEncoder_js(id,videoFrameId,NewIDR,rawData,dataLength,timeout)}function __ZN11cpt_generic6thread4joinEv(){err("missing function: _ZN11cpt_generic6thread4joinEv");abort(-1)}function __ZN11cpt_generic6threadD1Ev(){err("missing function: _ZN11cpt_generic6threadD1Ev");abort(-1)}function __ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE(){err("missing function: _ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE");abort(-1)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){GROWABLE_HEAP_U32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return GROWABLE_HEAP_U32()[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function ___emscripten_init_main_thread_js(tb){__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB);PThread.threadInitTLS()}function ___emscripten_thread_cleanup(thread){if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread})}function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){if(typeof SharedArrayBuffer=="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;var threadParams={startRoutine:startRoutine,pthread_ptr:pthread_ptr,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){GROWABLE_HEAP_I32()[readfds>>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind:function(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==138)throw e}}},connect:function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(26)},listen:function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept:function(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname:function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}},sendmsg:function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(6)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data;if(buffer instanceof SharedArrayBuffer){data=new Uint8Array(new Uint8Array(buffer.slice(offset,offset+length))).buffer}else{data=buffer.slice(offset,offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg:function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function readSockaddr(sa,salen){var family=GROWABLE_HEAP_I16()[sa>>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]=="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_connect(fd,addr,addrlen){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd,addr,addrlen);try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;GROWABLE_HEAP_I16()[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,buf);try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,buf,size);try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size<cwdLengthInBytes)return-68;stringToUTF8(cwd,buf,size);return cwdLengthInBytes}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();GROWABLE_HEAP_I32()[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,dirfd,path,mode);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,dirfd,path,flags,varargs);SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];if(bucket.offset-bucket.roffset>0){return 64|1}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];currentLength+=bucket.offset-bucket.roffset}assert(buffer instanceof ArrayBuffer||buffer instanceof SharedArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var i=0;i<pipe.buckets.length;i++){var currBucket=pipe.buckets[i];var bucketSize=currBucket.offset-currBucket.roffset;if(toRead<=bucketSize){var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);if(toRead<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);currBucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;assert(buffer instanceof ArrayBuffer||buffer instanceof SharedArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}assert(currBucket.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=GROWABLE_HEAP_I32()[pollfd>>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_default_pthread_stack_size(){return 2097152}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function executeNotifiedProxyingQueue(queue){Atomics.store(GROWABLE_HEAP_I32(),queue>>2,1);if(_pthread_self()){__emscripten_proxy_execute_task_queue(queue)}Atomics.compareExchange(GROWABLE_HEAP_I32(),queue>>2,1,0)}Module["executeNotifiedProxyingQueue"]=executeNotifiedProxyingQueue;function __emscripten_notify_task_queue(targetThreadId,currThreadId,mainThreadId,queue){if(targetThreadId==currThreadId){setTimeout(()=>executeNotifiedProxyingQueue(queue))}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processProxyingQueue","queue":queue})}else{var worker=PThread.pthreads[targetThreadId];if(!worker){return}worker.postMessage({"cmd":"processProxyingQueue","queue":queue})}return 1}function __emscripten_set_offscreencanvas_size(target,width,height){return-1}function __emscripten_throw_longjmp(){throw Infinity}function readI53FromI64(ptr){return GROWABLE_HEAP_U32()[ptr>>2]+GROWABLE_HEAP_I32()[ptr+4>>2]*4294967296}function __gmtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}var __MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var __MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];function __yday_from_date(date){var isLeapYear=__isLeapYear(date.getFullYear());var monthDaysCumulative=isLeapYear?__MONTH_DAYS_LEAP_CUMULATIVE:__MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday}function __localtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=__yday_from_date(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,GROWABLE_HEAP_I8(),ret,size);return ret}function __tzset_js(timezone,daylight,tzname){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);GROWABLE_HEAP_U32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset<winterOffset){GROWABLE_HEAP_U32()[tzname>>2]=winterNamePtr;GROWABLE_HEAP_U32()[tzname+4>>2]=summerNamePtr}else{GROWABLE_HEAP_U32()[tzname>>2]=summerNamePtr;GROWABLE_HEAP_U32()[tzname+4>>2]=winterNamePtr}}function _abort(){abort("")}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?GROWABLE_HEAP_I32()[buf]:GROWABLE_HEAP_F64()[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);if(ENVIRONMENT_IS_PTHREAD){return _emscripten_proxy_to_main_thread_js.apply(null,[-1-code,sync].concat(args))}return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_date_now(){return Date.now()}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=()=>performance.now()-Module["__performance_now_clock_drift"]}else _emscripten_get_now=()=>performance.now();function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(()=>{var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i<numCallArgs;i++){var arg=outerArgs[2+i];GROWABLE_HEAP_F64()[b+i]=arg}return _emscripten_run_in_main_runtime_thread_js(index,serializedNumCallArgs,args,sync)})}var _emscripten_receive_on_main_thread_js_callArgs=[];function _emscripten_receive_on_main_thread_js(index,numCallArgs,args){_emscripten_receive_on_main_thread_js_callArgs.length=numCallArgs;var b=args>>3;for(var i=0;i<numCallArgs;i++){_emscripten_receive_on_main_thread_js_callArgs[i]=GROWABLE_HEAP_F64()[b+i]}var isEmAsmConst=index<0;var func=!isEmAsmConst?proxiedFunctionTable[index]:ASM_CONSTS[-index-1];return func.apply(null,_emscripten_receive_on_main_thread_js_callArgs)}function getHeapMax(){return 2097152e3}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){postMessage({status:-35,cmd:-35})}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+1/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){GROWABLE_HEAP_I8()[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(18,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(19,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_U32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(20,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=GROWABLE_HEAP_U32()[iov>>2];var len=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(21,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(22,1,fd,offset_low,offset_high,whence,newOffset);try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=GROWABLE_HEAP_U32()[iov>>2];var len=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(23,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _setCurrentThreadSsrc(ssrc){setCurrentThreadSsrc_js(ssrc)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}function _zlt_tfjs_execute_afn(input_img,input_ref,input_msk,len,output_buffer){return execute_afn(input_img,input_ref,input_msk,len,output_buffer)}function _zlt_tfjs_execute_base_cls(input_buffer,len,output_buffer,output_len){return execute_base(input_buffer,len,output_buffer,output_len)}async function _zlt_tfjs_init(){}function _zoom_wcl_get_cpu_num(){return hardcodecpunumber()}function _zoom_wcl_get_csc_thread_num(){return 1}function _zoom_wcl_support_multi_thread(){return IsSupportMultiThread()}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}PThread.init();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();var proxiedFunctionTable=[null,_proc_exit,exitOnMainThread,pthreadCreateProxied,___syscall__newselect,___syscall_connect,___syscall_fcntl64,___syscall_fstat64,___syscall_getcwd,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var asmLibraryArg={"AdapterWhiteListCheck":_AdapterWhiteListCheck,"CloseVideoEncoder":_CloseVideoEncoder,"CreateGltPlatform":_CreateGltPlatform,"DestroyGltPlatform":_DestroyGltPlatform,"EncodeVideoFrameID":_EncodeVideoFrameID,"GetEncoderState":_GetEncoderState,"GetLogLevel":_GetLogLevel,"InitVideoDecoder":_InitVideoDecoder,"InitVideoEncoder":_InitVideoEncoder,"LimitWebCodecsDecoderTo360":_LimitWebCodecsDecoderTo360,"LimitWebCodecsEncoderTo360":_LimitWebCodecsEncoderTo360,"Set_Share_Mode":_Set_Share_Mode,"UserAgentIsTesla":_UserAgentIsTesla,"VideoDecoder":_VideoDecoder,"VideoDecoderConfigure":_VideoDecoderConfigure,"VideoEncoderConfigure":_VideoEncoderConfigure,"WebCodecsDecoderFail":_WebCodecsDecoderFail,"WebCodecsEncoderFail":_WebCodecsEncoderFail,"WebCodecsVideoEncoder":_WebCodecsVideoEncoder,"_ZN11cpt_generic6thread4joinEv":__ZN11cpt_generic6thread4joinEv,"_ZN11cpt_generic6threadD1Ev":__ZN11cpt_generic6threadD1Ev,"_ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE":__ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE,"__assert_fail":___assert_fail,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_throw":___cxa_throw,"__emscripten_init_main_thread_js":___emscripten_init_main_thread_js,"__emscripten_thread_cleanup":___emscripten_thread_cleanup,"__pthread_create_js":___pthread_create_js,"__syscall__newselect":___syscall__newselect,"__syscall_connect":___syscall_connect,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_getcwd":___syscall_getcwd,"__syscall_ioctl":___syscall_ioctl,"__syscall_lstat64":___syscall_lstat64,"__syscall_mkdirat":___syscall_mkdirat,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_pipe":___syscall_pipe,"__syscall_poll":___syscall_poll,"__syscall_socket":___syscall_socket,"__syscall_stat64":___syscall_stat64,"_emscripten_default_pthread_stack_size":__emscripten_default_pthread_stack_size,"_emscripten_get_now_is_monotonic":__emscripten_get_now_is_monotonic,"_emscripten_notify_task_queue":__emscripten_notify_task_queue,"_emscripten_set_offscreencanvas_size":__emscripten_set_offscreencanvas_size,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_gmtime_js":__gmtime_js,"_localtime_js":__localtime_js,"_tzset_js":__tzset_js,"abort":_abort,"emscripten_asm_const_int":_emscripten_asm_const_int,"emscripten_asm_const_int_sync_on_main_thread":_emscripten_asm_const_int_sync_on_main_thread,"emscripten_check_blocking_allowed":_emscripten_check_blocking_allowed,"emscripten_date_now":_emscripten_date_now,"emscripten_get_now":_emscripten_get_now,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_receive_on_main_thread_js":_emscripten_receive_on_main_thread_js,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_unwind_to_js_event_loop":_emscripten_unwind_to_js_event_loop,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"exit":_exit,"fd_close":_fd_close,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_viii":invoke_viii,"memory":wasmMemory,"setCurrentThreadSsrc":_setCurrentThreadSsrc,"strftime":_strftime,"strftime_l":_strftime_l,"zlt_tfjs_execute_afn":_zlt_tfjs_execute_afn,"zlt_tfjs_execute_base_cls":_zlt_tfjs_execute_base_cls,"zlt_tfjs_init":_zlt_tfjs_init,"zoom_wcl_get_cpu_num":_zoom_wcl_get_cpu_num,"zoom_wcl_get_csc_thread_num":_zoom_wcl_get_csc_thread_num,"zoom_wcl_support_multi_thread":_zoom_wcl_support_multi_thread};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var __Video_Init=Module["__Video_Init"]=function(){return(__Video_Init=Module["__Video_Init"]=Module["asm"]["_Video_Init"]).apply(null,arguments)};var __Video_UnInit=Module["__Video_UnInit"]=function(){return(__Video_UnInit=Module["__Video_UnInit"]=Module["asm"]["_Video_UnInit"]).apply(null,arguments)};var __Video_Decode=Module["__Video_Decode"]=function(){return(__Video_Decode=Module["__Video_Decode"]=Module["asm"]["_Video_Decode"]).apply(null,arguments)};var __Change_Connect_Type=Module["__Change_Connect_Type"]=function(){return(__Change_Connect_Type=Module["__Change_Connect_Type"]=Module["asm"]["_Change_Connect_Type"]).apply(null,arguments)};var __Smooth_Send_For_Qos=Module["__Smooth_Send_For_Qos"]=function(){return(__Smooth_Send_For_Qos=Module["__Smooth_Send_For_Qos"]=Module["asm"]["_Smooth_Send_For_Qos"]).apply(null,arguments)};var __Video_Try_Analysis=Module["__Video_Try_Analysis"]=function(){return(__Video_Try_Analysis=Module["__Video_Try_Analysis"]=Module["asm"]["_Video_Try_Analysis"]).apply(null,arguments)};var __signal_video_controller_encode_pdu_info=Module["__signal_video_controller_encode_pdu_info"]=function(){return(__signal_video_controller_encode_pdu_info=Module["__signal_video_controller_encode_pdu_info"]=Module["asm"]["_signal_video_controller_encode_pdu_info"]).apply(null,arguments)};var __Video_Encode=Module["__Video_Encode"]=function(){return(__Video_Encode=Module["__Video_Encode"]=Module["asm"]["_Video_Encode"]).apply(null,arguments)};var __Video_Encode_YUV=Module["__Video_Encode_YUV"]=function(){return(__Video_Encode_YUV=Module["__Video_Encode_YUV"]=Module["asm"]["_Video_Encode_YUV"]).apply(null,arguments)};var __Video_VirtualBackground_Special_Action=Module["__Video_VirtualBackground_Special_Action"]=function(){return(__Video_VirtualBackground_Special_Action=Module["__Video_VirtualBackground_Special_Action"]=Module["asm"]["_Video_VirtualBackground_Special_Action"]).apply(null,arguments)};var __Qos_Sender_Send_Data_In_Main_Thread=Module["__Qos_Sender_Send_Data_In_Main_Thread"]=function(){return(__Qos_Sender_Send_Data_In_Main_Thread=Module["__Qos_Sender_Send_Data_In_Main_Thread"]=Module["asm"]["_Qos_Sender_Send_Data_In_Main_Thread"]).apply(null,arguments)};var __Video_Websocket_Speed=Module["__Video_Websocket_Speed"]=function(){return(__Video_Websocket_Speed=Module["__Video_Websocket_Speed"]=Module["asm"]["_Video_Websocket_Speed"]).apply(null,arguments)};var __Video_Start_Encode=Module["__Video_Start_Encode"]=function(){return(__Video_Start_Encode=Module["__Video_Start_Encode"]=Module["asm"]["_Video_Start_Encode"]).apply(null,arguments)};var __signal_video_controller_enocde_start_or_stop_encode=Module["__signal_video_controller_enocde_start_or_stop_encode"]=function(){return(__signal_video_controller_enocde_start_or_stop_encode=Module["__signal_video_controller_enocde_start_or_stop_encode"]=Module["asm"]["_signal_video_controller_enocde_start_or_stop_encode"]).apply(null,arguments)};var __Video_Stop_Encode=Module["__Video_Stop_Encode"]=function(){return(__Video_Stop_Encode=Module["__Video_Stop_Encode"]=Module["asm"]["_Video_Stop_Encode"]).apply(null,arguments)};var __Request_Video_Qos_Data=Module["__Request_Video_Qos_Data"]=function(){return(__Request_Video_Qos_Data=Module["__Request_Video_Qos_Data"]=Module["asm"]["_Request_Video_Qos_Data"]).apply(null,arguments)};var __signal_video_controller_enocde_request_check_one_type=Module["__signal_video_controller_enocde_request_check_one_type"]=function(){return(__signal_video_controller_enocde_request_check_one_type=Module["__signal_video_controller_enocde_request_check_one_type"]=Module["asm"]["_signal_video_controller_enocde_request_check_one_type"]).apply(null,arguments)};var __Video_Update_Format=Module["__Video_Update_Format"]=function(){return(__Video_Update_Format=Module["__Video_Update_Format"]=Module["asm"]["_Video_Update_Format"]).apply(null,arguments)};var __Video_Set_Data_Encryption=Module["__Video_Set_Data_Encryption"]=function(){return(__Video_Set_Data_Encryption=Module["__Video_Set_Data_Encryption"]=Module["asm"]["_Video_Set_Data_Encryption"]).apply(null,arguments)};var __Add_Video_Cooker_info=Module["__Add_Video_Cooker_info"]=function(){return(__Add_Video_Cooker_info=Module["__Add_Video_Cooker_info"]=Module["asm"]["_Add_Video_Cooker_info"]).apply(null,arguments)};var __signal_video_controller_encode_cooker_info=Module["__signal_video_controller_encode_cooker_info"]=function(){return(__signal_video_controller_encode_cooker_info=Module["__signal_video_controller_encode_cooker_info"]=Module["asm"]["_signal_video_controller_encode_cooker_info"]).apply(null,arguments)};var __Remove_Video_Cooker_Info=Module["__Remove_Video_Cooker_Info"]=function(){return(__Remove_Video_Cooker_Info=Module["__Remove_Video_Cooker_Info"]=Module["asm"]["_Remove_Video_Cooker_Info"]).apply(null,arguments)};var __Get_Video_Meat_Weight=Module["__Get_Video_Meat_Weight"]=function(){return(__Get_Video_Meat_Weight=Module["__Get_Video_Meat_Weight"]=Module["asm"]["_Get_Video_Meat_Weight"]).apply(null,arguments)};var __Set_Max_Receiving_Channel_Num=Module["__Set_Max_Receiving_Channel_Num"]=function(){return(__Set_Max_Receiving_Channel_Num=Module["__Set_Max_Receiving_Channel_Num"]=Module["asm"]["_Set_Max_Receiving_Channel_Num"]).apply(null,arguments)};var __update_sync_time=Module["__update_sync_time"]=function(){return(__update_sync_time=Module["__update_sync_time"]=Module["asm"]["_update_sync_time"]).apply(null,arguments)};var __release_video_receiving_channel=Module["__release_video_receiving_channel"]=function(){return(__release_video_receiving_channel=Module["__release_video_receiving_channel"]=Module["asm"]["_release_video_receiving_channel"]).apply(null,arguments)};var __change_hw_status=Module["__change_hw_status"]=function(){return(__change_hw_status=Module["__change_hw_status"]=Module["asm"]["_change_hw_status"]).apply(null,arguments)};var __rotate_video=Module["__rotate_video"]=function(){return(__rotate_video=Module["__rotate_video"]=Module["asm"]["_rotate_video"]).apply(null,arguments)};var __update_video_uplink_bandwidth_limitation_by_server=Module["__update_video_uplink_bandwidth_limitation_by_server"]=function(){return(__update_video_uplink_bandwidth_limitation_by_server=Module["__update_video_uplink_bandwidth_limitation_by_server"]=Module["asm"]["_update_video_uplink_bandwidth_limitation_by_server"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var __create_vb_thread=Module["__create_vb_thread"]=function(){return(__create_vb_thread=Module["__create_vb_thread"]=Module["asm"]["_create_vb_thread"]).apply(null,arguments)};var __create_vb_no_sab_thread=Module["__create_vb_no_sab_thread"]=function(){return(__create_vb_no_sab_thread=Module["__create_vb_no_sab_thread"]=Module["asm"]["_create_vb_no_sab_thread"]).apply(null,arguments)};var __signal_vb_thread_blur=Module["__signal_vb_thread_blur"]=function(){return(__signal_vb_thread_blur=Module["__signal_vb_thread_blur"]=Module["asm"]["_signal_vb_thread_blur"]).apply(null,arguments)};var __signal_vb_thread_bg=Module["__signal_vb_thread_bg"]=function(){return(__signal_vb_thread_bg=Module["__signal_vb_thread_bg"]=Module["asm"]["_signal_vb_thread_bg"]).apply(null,arguments)};var __signal_vb_thread_video_yuv=Module["__signal_vb_thread_video_yuv"]=function(){return(__signal_vb_thread_video_yuv=Module["__signal_vb_thread_video_yuv"]=Module["asm"]["_signal_vb_thread_video_yuv"]).apply(null,arguments)};var __signal_vb_thread_video_rgba=Module["__signal_vb_thread_video_rgba"]=function(){return(__signal_vb_thread_video_rgba=Module["__signal_vb_thread_video_rgba"]=Module["asm"]["_signal_vb_thread_video_rgba"]).apply(null,arguments)};var __signal_vb_thread_close=Module["__signal_vb_thread_close"]=function(){return(__signal_vb_thread_close=Module["__signal_vb_thread_close"]=Module["asm"]["_signal_vb_thread_close"]).apply(null,arguments)};var __update_video_cropping_mode=Module["__update_video_cropping_mode"]=function(){return(__update_video_cropping_mode=Module["__update_video_cropping_mode"]=Module["asm"]["_update_video_cropping_mode"]).apply(null,arguments)};var __collect_video_monitor_info=Module["__collect_video_monitor_info"]=function(){return(__collect_video_monitor_info=Module["__collect_video_monitor_info"]=Module["asm"]["_collect_video_monitor_info"]).apply(null,arguments)};var __request_nack_t_periodically_for_qos=Module["__request_nack_t_periodically_for_qos"]=function(){return(__request_nack_t_periodically_for_qos=Module["__request_nack_t_periodically_for_qos"]=Module["asm"]["_request_nack_t_periodically_for_qos"]).apply(null,arguments)};var __Create_HW_Encode=Module["__Create_HW_Encode"]=function(){return(__Create_HW_Encode=Module["__Create_HW_Encode"]=Module["asm"]["_Create_HW_Encode"]).apply(null,arguments)};var __Sharing_Encode_Init=Module["__Sharing_Encode_Init"]=function(){return(__Sharing_Encode_Init=Module["__Sharing_Encode_Init"]=Module["asm"]["_Sharing_Encode_Init"]).apply(null,arguments)};var __Sharing_Encode_Try_Analysis=Module["__Sharing_Encode_Try_Analysis"]=function(){return(__Sharing_Encode_Try_Analysis=Module["__Sharing_Encode_Try_Analysis"]=Module["asm"]["_Sharing_Encode_Try_Analysis"]).apply(null,arguments)};var __signal_sharing_controller_encode_pdu_info=Module["__signal_sharing_controller_encode_pdu_info"]=function(){return(__signal_sharing_controller_encode_pdu_info=Module["__signal_sharing_controller_encode_pdu_info"]=Module["asm"]["_signal_sharing_controller_encode_pdu_info"]).apply(null,arguments)};var __Sharing_Encode_Uninit=Module["__Sharing_Encode_Uninit"]=function(){return(__Sharing_Encode_Uninit=Module["__Sharing_Encode_Uninit"]=Module["asm"]["_Sharing_Encode_Uninit"]).apply(null,arguments)};var __Sharing_Encode=Module["__Sharing_Encode"]=function(){return(__Sharing_Encode=Module["__Sharing_Encode"]=Module["asm"]["_Sharing_Encode"]).apply(null,arguments)};var __signal_sharing_controller_encode_yuv=Module["__signal_sharing_controller_encode_yuv"]=function(){return(__signal_sharing_controller_encode_yuv=Module["__signal_sharing_controller_encode_yuv"]=Module["asm"]["_signal_sharing_controller_encode_yuv"]).apply(null,arguments)};var __Sharing_Encode_Mouse_Data=Module["__Sharing_Encode_Mouse_Data"]=function(){return(__Sharing_Encode_Mouse_Data=Module["__Sharing_Encode_Mouse_Data"]=Module["asm"]["_Sharing_Encode_Mouse_Data"]).apply(null,arguments)};var __signal_sharing_controller_encode_mouse_data=Module["__signal_sharing_controller_encode_mouse_data"]=function(){return(__signal_sharing_controller_encode_mouse_data=Module["__signal_sharing_controller_encode_mouse_data"]=Module["asm"]["_signal_sharing_controller_encode_mouse_data"]).apply(null,arguments)};var __Request_Sharing_Qos_Data=Module["__Request_Sharing_Qos_Data"]=function(){return(__Request_Sharing_Qos_Data=Module["__Request_Sharing_Qos_Data"]=Module["asm"]["_Request_Sharing_Qos_Data"]).apply(null,arguments)};var __signal_sharing_controller_enocde_request_check_one_type=Module["__signal_sharing_controller_enocde_request_check_one_type"]=function(){return(__signal_sharing_controller_enocde_request_check_one_type=Module["__signal_sharing_controller_enocde_request_check_one_type"]=Module["asm"]["_signal_sharing_controller_enocde_request_check_one_type"]).apply(null,arguments)};var __signal_sharing_controller_decode_request_check_one_type=Module["__signal_sharing_controller_decode_request_check_one_type"]=function(){return(__signal_sharing_controller_decode_request_check_one_type=Module["__signal_sharing_controller_decode_request_check_one_type"]=Module["asm"]["_signal_sharing_controller_decode_request_check_one_type"]).apply(null,arguments)};var __Sharing_Set_Data_Encryption=Module["__Sharing_Set_Data_Encryption"]=function(){return(__Sharing_Set_Data_Encryption=Module["__Sharing_Set_Data_Encryption"]=Module["asm"]["_Sharing_Set_Data_Encryption"]).apply(null,arguments)};var __Sharing_Pause_Encode=Module["__Sharing_Pause_Encode"]=function(){return(__Sharing_Pause_Encode=Module["__Sharing_Pause_Encode"]=Module["asm"]["_Sharing_Pause_Encode"]).apply(null,arguments)};var __Sharing_Resume_Encode=Module["__Sharing_Resume_Encode"]=function(){return(__Sharing_Resume_Encode=Module["__Sharing_Resume_Encode"]=Module["asm"]["_Sharing_Resume_Encode"]).apply(null,arguments)};var __Sharing_Stop_Encode=Module["__Sharing_Stop_Encode"]=function(){return(__Sharing_Stop_Encode=Module["__Sharing_Stop_Encode"]=Module["asm"]["_Sharing_Stop_Encode"]).apply(null,arguments)};var __Sharing_Websocket_Speed=Module["__Sharing_Websocket_Speed"]=function(){return(__Sharing_Websocket_Speed=Module["__Sharing_Websocket_Speed"]=Module["asm"]["_Sharing_Websocket_Speed"]).apply(null,arguments)};var __Add_Sharing_Cooker_info=Module["__Add_Sharing_Cooker_info"]=function(){return(__Add_Sharing_Cooker_info=Module["__Add_Sharing_Cooker_info"]=Module["asm"]["_Add_Sharing_Cooker_info"]).apply(null,arguments)};var __Remove_Sharing_Cooker_Info=Module["__Remove_Sharing_Cooker_Info"]=function(){return(__Remove_Sharing_Cooker_Info=Module["__Remove_Sharing_Cooker_Info"]=Module["asm"]["_Remove_Sharing_Cooker_Info"]).apply(null,arguments)};var __Get_Sharing_Meat_Weight=Module["__Get_Sharing_Meat_Weight"]=function(){return(__Get_Sharing_Meat_Weight=Module["__Get_Sharing_Meat_Weight"]=Module["asm"]["_Get_Sharing_Meat_Weight"]).apply(null,arguments)};var __Set_Sharing_Encryption_Key_Directly=Module["__Set_Sharing_Encryption_Key_Directly"]=function(){return(__Set_Sharing_Encryption_Key_Directly=Module["__Set_Sharing_Encryption_Key_Directly"]=Module["asm"]["_Set_Sharing_Encryption_Key_Directly"]).apply(null,arguments)};var __Add_Roster_Info_Directly=Module["__Add_Roster_Info_Directly"]=function(){return(__Add_Roster_Info_Directly=Module["__Add_Roster_Info_Directly"]=Module["asm"]["_Add_Roster_Info_Directly"]).apply(null,arguments)};var __Add_Rev_Channel=Module["__Add_Rev_Channel"]=function(){return(__Add_Rev_Channel=Module["__Add_Rev_Channel"]=Module["asm"]["_Add_Rev_Channel"]).apply(null,arguments)};var __Remove_Rev_Channel=Module["__Remove_Rev_Channel"]=function(){return(__Remove_Rev_Channel=Module["__Remove_Rev_Channel"]=Module["asm"]["_Remove_Rev_Channel"]).apply(null,arguments)};var __update_sharing_uplink_bandwidth_limitation_by_server=Module["__update_sharing_uplink_bandwidth_limitation_by_server"]=function(){return(__update_sharing_uplink_bandwidth_limitation_by_server=Module["__update_sharing_uplink_bandwidth_limitation_by_server"]=Module["asm"]["_update_sharing_uplink_bandwidth_limitation_by_server"]).apply(null,arguments)};var __collect_sharing_monitor_info=Module["__collect_sharing_monitor_info"]=function(){return(__collect_sharing_monitor_info=Module["__collect_sharing_monitor_info"]=Module["asm"]["_collect_sharing_monitor_info"]).apply(null,arguments)};var __set_annotation_action=Module["__set_annotation_action"]=function(){return(__set_annotation_action=Module["__set_annotation_action"]=Module["asm"]["_set_annotation_action"]).apply(null,arguments)};var __request_nack_t_periodically_for_sharing_qos=Module["__request_nack_t_periodically_for_sharing_qos"]=function(){return(__request_nack_t_periodically_for_sharing_qos=Module["__request_nack_t_periodically_for_sharing_qos"]=Module["asm"]["_request_nack_t_periodically_for_sharing_qos"]).apply(null,arguments)};var __Change_Connect_Type_For_Sharing=Module["__Change_Connect_Type_For_Sharing"]=function(){return(__Change_Connect_Type_For_Sharing=Module["__Change_Connect_Type_For_Sharing"]=Module["asm"]["_Change_Connect_Type_For_Sharing"]).apply(null,arguments)};var __Jpeg_Init=Module["__Jpeg_Init"]=function(){return(__Jpeg_Init=Module["__Jpeg_Init"]=Module["asm"]["_Jpeg_Init"]).apply(null,arguments)};var __Jpeg_Uninit=Module["__Jpeg_Uninit"]=function(){return(__Jpeg_Uninit=Module["__Jpeg_Uninit"]=Module["asm"]["_Jpeg_Uninit"]).apply(null,arguments)};var __Jpeg_HeardInfo=Module["__Jpeg_HeardInfo"]=function(){return(__Jpeg_HeardInfo=Module["__Jpeg_HeardInfo"]=Module["asm"]["_Jpeg_HeardInfo"]).apply(null,arguments)};var __Jpeg_Decode=Module["__Jpeg_Decode"]=function(){return(__Jpeg_Decode=Module["__Jpeg_Decode"]=Module["asm"]["_Jpeg_Decode"]).apply(null,arguments)};var __signal_video_controller_encode_init_info=Module["__signal_video_controller_encode_init_info"]=function(){return(__signal_video_controller_encode_init_info=Module["__signal_video_controller_encode_init_info"]=Module["asm"]["_signal_video_controller_encode_init_info"]).apply(null,arguments)};var __signal_video_controller_encode_yuv=Module["__signal_video_controller_encode_yuv"]=function(){return(__signal_video_controller_encode_yuv=Module["__signal_video_controller_encode_yuv"]=Module["asm"]["_signal_video_controller_encode_yuv"]).apply(null,arguments)};var __signal_video_controller_encode_rgba=Module["__signal_video_controller_encode_rgba"]=function(){return(__signal_video_controller_encode_rgba=Module["__signal_video_controller_encode_rgba"]=Module["asm"]["_signal_video_controller_encode_rgba"]).apply(null,arguments)};var __signal_video_controller_encode_hw_info=Module["__signal_video_controller_encode_hw_info"]=function(){return(__signal_video_controller_encode_hw_info=Module["__signal_video_controller_encode_hw_info"]=Module["asm"]["_signal_video_controller_encode_hw_info"]).apply(null,arguments)};var __signal_video_controller_change_connect_type=Module["__signal_video_controller_change_connect_type"]=function(){return(__signal_video_controller_change_connect_type=Module["__signal_video_controller_change_connect_type"]=Module["asm"]["_signal_video_controller_change_connect_type"]).apply(null,arguments)};var __create_video_encode_thread=Module["__create_video_encode_thread"]=function(){return(__create_video_encode_thread=Module["__create_video_encode_thread"]=Module["asm"]["_create_video_encode_thread"]).apply(null,arguments)};var __singal_video_controller_fec_info=Module["__singal_video_controller_fec_info"]=function(){return(__singal_video_controller_fec_info=Module["__singal_video_controller_fec_info"]=Module["asm"]["_singal_video_controller_fec_info"]).apply(null,arguments)};var __singal_video_controller_bandwidth_alloc=Module["__singal_video_controller_bandwidth_alloc"]=function(){return(__singal_video_controller_bandwidth_alloc=Module["__singal_video_controller_bandwidth_alloc"]=Module["asm"]["_singal_video_controller_bandwidth_alloc"]).apply(null,arguments)};var __signal_video_share_flag=Module["__signal_video_share_flag"]=function(){return(__signal_video_share_flag=Module["__signal_video_share_flag"]=Module["asm"]["_signal_video_share_flag"]).apply(null,arguments)};var __signal_video_controller_encode_uninit=Module["__signal_video_controller_encode_uninit"]=function(){return(__signal_video_controller_encode_uninit=Module["__signal_video_controller_encode_uninit"]=Module["asm"]["_signal_video_controller_encode_uninit"]).apply(null,arguments)};var __create_video_decode_thread=Module["__create_video_decode_thread"]=function(){return(__create_video_decode_thread=Module["__create_video_decode_thread"]=Module["asm"]["_create_video_decode_thread"]).apply(null,arguments)};var __signal_video_controller_decode_init_info=Module["__signal_video_controller_decode_init_info"]=function(){return(__signal_video_controller_decode_init_info=Module["__signal_video_controller_decode_init_info"]=Module["asm"]["_signal_video_controller_decode_init_info"]).apply(null,arguments)};var __signal_video_controller_decode_close=Module["__signal_video_controller_decode_close"]=function(){return(__signal_video_controller_decode_close=Module["__signal_video_controller_decode_close"]=Module["asm"]["_signal_video_controller_decode_close"]).apply(null,arguments)};var __signal_video_controller_decode_hw_info=Module["__signal_video_controller_decode_hw_info"]=function(){return(__signal_video_controller_decode_hw_info=Module["__signal_video_controller_decode_hw_info"]=Module["asm"]["_signal_video_controller_decode_hw_info"]).apply(null,arguments)};var __signal_video_controller_decode_uninit=Module["__signal_video_controller_decode_uninit"]=function(){return(__signal_video_controller_decode_uninit=Module["__signal_video_controller_decode_uninit"]=Module["asm"]["_signal_video_controller_decode_uninit"]).apply(null,arguments)};var __proxy_videocodec_create_helpthread=Module["__proxy_videocodec_create_helpthread"]=function(){return(__proxy_videocodec_create_helpthread=Module["__proxy_videocodec_create_helpthread"]=Module["asm"]["_proxy_videocodec_create_helpthread"]).apply(null,arguments)};var __create_sharing_encode_thread=Module["__create_sharing_encode_thread"]=function(){return(__create_sharing_encode_thread=Module["__create_sharing_encode_thread"]=Module["asm"]["_create_sharing_encode_thread"]).apply(null,arguments)};var __signal_sharing_controller_encode_init_info=Module["__signal_sharing_controller_encode_init_info"]=function(){return(__signal_sharing_controller_encode_init_info=Module["__signal_sharing_controller_encode_init_info"]=Module["asm"]["_signal_sharing_controller_encode_init_info"]).apply(null,arguments)};var __signal_sharing_controller_encode_uninit=Module["__signal_sharing_controller_encode_uninit"]=function(){return(__signal_sharing_controller_encode_uninit=Module["__signal_sharing_controller_encode_uninit"]=Module["asm"]["_signal_sharing_controller_encode_uninit"]).apply(null,arguments)};var __create_sharing_decode_thread=Module["__create_sharing_decode_thread"]=function(){return(__create_sharing_decode_thread=Module["__create_sharing_decode_thread"]=Module["asm"]["_create_sharing_decode_thread"]).apply(null,arguments)};var __signal_sharing_controller_decode_init_info=Module["__signal_sharing_controller_decode_init_info"]=function(){return(__signal_sharing_controller_decode_init_info=Module["__signal_sharing_controller_decode_init_info"]=Module["asm"]["_signal_sharing_controller_decode_init_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_meeting_key=Module["__signal_sharing_controller_decode_meeting_key"]=function(){return(__signal_sharing_controller_decode_meeting_key=Module["__signal_sharing_controller_decode_meeting_key"]=Module["asm"]["_signal_sharing_controller_decode_meeting_key"]).apply(null,arguments)};var __signal_sharing_controller_decode_pdu_info=Module["__signal_sharing_controller_decode_pdu_info"]=function(){return(__signal_sharing_controller_decode_pdu_info=Module["__signal_sharing_controller_decode_pdu_info"]=Module["asm"]["_signal_sharing_controller_decode_pdu_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_meeting_cooker=Module["__signal_sharing_controller_decode_meeting_cooker"]=function(){return(__signal_sharing_controller_decode_meeting_cooker=Module["__signal_sharing_controller_decode_meeting_cooker"]=Module["asm"]["_signal_sharing_controller_decode_meeting_cooker"]).apply(null,arguments)};var __signal_sharing_controller_decode_roster_info=Module["__signal_sharing_controller_decode_roster_info"]=function(){return(__signal_sharing_controller_decode_roster_info=Module["__signal_sharing_controller_decode_roster_info"]=Module["asm"]["_signal_sharing_controller_decode_roster_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_rev_channel=Module["__signal_sharing_controller_decode_rev_channel"]=function(){return(__signal_sharing_controller_decode_rev_channel=Module["__signal_sharing_controller_decode_rev_channel"]=Module["asm"]["_signal_sharing_controller_decode_rev_channel"]).apply(null,arguments)};var __singal_sharing_controller_decode_close=Module["__singal_sharing_controller_decode_close"]=function(){return(__singal_sharing_controller_decode_close=Module["__singal_sharing_controller_decode_close"]=Module["asm"]["_singal_sharing_controller_decode_close"]).apply(null,arguments)};var __signal_sharing_controller_decode_uninit=Module["__signal_sharing_controller_decode_uninit"]=function(){return(__signal_sharing_controller_decode_uninit=Module["__signal_sharing_controller_decode_uninit"]=Module["asm"]["_signal_sharing_controller_decode_uninit"]).apply(null,arguments)};var __Qos_Init=Module["__Qos_Init"]=function(){return(__Qos_Init=Module["__Qos_Init"]=Module["asm"]["_Qos_Init"]).apply(null,arguments)};var __Qos_UnInit=Module["__Qos_UnInit"]=function(){return(__Qos_UnInit=Module["__Qos_UnInit"]=Module["asm"]["_Qos_UnInit"]).apply(null,arguments)};var __Qos_Start_Send=Module["__Qos_Start_Send"]=function(){return(__Qos_Start_Send=Module["__Qos_Start_Send"]=Module["asm"]["_Qos_Start_Send"]).apply(null,arguments)};var __Qos_Stop_Send=Module["__Qos_Stop_Send"]=function(){return(__Qos_Stop_Send=Module["__Qos_Stop_Send"]=Module["asm"]["_Qos_Stop_Send"]).apply(null,arguments)};var __Qos_Change_Connect_Type_Or_Video_Share=Module["__Qos_Change_Connect_Type_Or_Video_Share"]=function(){return(__Qos_Change_Connect_Type_Or_Video_Share=Module["__Qos_Change_Connect_Type_Or_Video_Share"]=Module["asm"]["_Qos_Change_Connect_Type_Or_Video_Share"]).apply(null,arguments)};var __Qos_Send_Data_Packet=Module["__Qos_Send_Data_Packet"]=function(){return(__Qos_Send_Data_Packet=Module["__Qos_Send_Data_Packet"]=Module["asm"]["_Qos_Send_Data_Packet"]).apply(null,arguments)};var __Qos_Send_Data_Multi_Packet=Module["__Qos_Send_Data_Multi_Packet"]=function(){return(__Qos_Send_Data_Multi_Packet=Module["__Qos_Send_Data_Multi_Packet"]=Module["asm"]["_Qos_Send_Data_Multi_Packet"]).apply(null,arguments)};var __Qos_Data_From_Rwg=Module["__Qos_Data_From_Rwg"]=function(){return(__Qos_Data_From_Rwg=Module["__Qos_Data_From_Rwg"]=Module["asm"]["_Qos_Data_From_Rwg"]).apply(null,arguments)};var __Qos_AS_Data_From_Rwg=Module["__Qos_AS_Data_From_Rwg"]=function(){return(__Qos_AS_Data_From_Rwg=Module["__Qos_AS_Data_From_Rwg"]=Module["asm"]["_Qos_AS_Data_From_Rwg"]).apply(null,arguments)};var __Qos_Smooth_Send_Periodically_For_Qos=Module["__Qos_Smooth_Send_Periodically_For_Qos"]=function(){return(__Qos_Smooth_Send_Periodically_For_Qos=Module["__Qos_Smooth_Send_Periodically_For_Qos"]=Module["asm"]["_Qos_Smooth_Send_Periodically_For_Qos"]).apply(null,arguments)};var __Qos_Request_Nack_T_Periodically_For_Qos=Module["__Qos_Request_Nack_T_Periodically_For_Qos"]=function(){return(__Qos_Request_Nack_T_Periodically_For_Qos=Module["__Qos_Request_Nack_T_Periodically_For_Qos"]=Module["asm"]["_Qos_Request_Nack_T_Periodically_For_Qos"]).apply(null,arguments)};var __Qos_Update_Required_Bandwidth=Module["__Qos_Update_Required_Bandwidth"]=function(){return(__Qos_Update_Required_Bandwidth=Module["__Qos_Update_Required_Bandwidth"]=Module["asm"]["_Qos_Update_Required_Bandwidth"]).apply(null,arguments)};var __Qos_Update_Video_Hd_Info=Module["__Qos_Update_Video_Hd_Info"]=function(){return(__Qos_Update_Video_Hd_Info=Module["__Qos_Update_Video_Hd_Info"]=Module["asm"]["_Qos_Update_Video_Hd_Info"]).apply(null,arguments)};var __Qos_Reset_As_Qos_Buffer=Module["__Qos_Reset_As_Qos_Buffer"]=function(){return(__Qos_Reset_As_Qos_Buffer=Module["__Qos_Reset_As_Qos_Buffer"]=Module["asm"]["_Qos_Reset_As_Qos_Buffer"]).apply(null,arguments)};var __Qos_Add_Recv_SSRC=Module["__Qos_Add_Recv_SSRC"]=function(){return(__Qos_Add_Recv_SSRC=Module["__Qos_Add_Recv_SSRC"]=Module["asm"]["_Qos_Add_Recv_SSRC"]).apply(null,arguments)};var __Qos_Remove_Recv_SSRC=Module["__Qos_Remove_Recv_SSRC"]=function(){return(__Qos_Remove_Recv_SSRC=Module["__Qos_Remove_Recv_SSRC"]=Module["asm"]["_Qos_Remove_Recv_SSRC"]).apply(null,arguments)};var _GIT_COMMIT_VERSION=Module["_GIT_COMMIT_VERSION"]=function(){return(_GIT_COMMIT_VERSION=Module["_GIT_COMMIT_VERSION"]=Module["asm"]["GIT_COMMIT_VERSION"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var _OnVideoFrameOutputCallback=Module["_OnVideoFrameOutputCallback"]=function(){return(_OnVideoFrameOutputCallback=Module["_OnVideoFrameOutputCallback"]=Module["asm"]["OnVideoFrameOutputCallback"]).apply(null,arguments)};var _OnEncodedVideoChunkOutputCallback=Module["_OnEncodedVideoChunkOutputCallback"]=function(){return(_OnEncodedVideoChunkOutputCallback=Module["_OnEncodedVideoChunkOutputCallback"]=Module["asm"]["OnEncodedVideoChunkOutputCallback"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pthread_self"]).apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return(_saveSetjmp=Module["_saveSetjmp"]=Module["asm"]["saveSetjmp"]).apply(null,arguments)};var __emscripten_tls_init=Module["__emscripten_tls_init"]=function(){return(__emscripten_tls_init=Module["__emscripten_tls_init"]=Module["asm"]["_emscripten_tls_init"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["_emscripten_thread_init"]).apply(null,arguments)};var __emscripten_thread_crashed=Module["__emscripten_thread_crashed"]=function(){return(__emscripten_thread_crashed=Module["__emscripten_thread_crashed"]=Module["asm"]["_emscripten_thread_crashed"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["htons"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["emscripten_main_browser_thread_id"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["emscripten_run_in_main_runtime_thread_js"]).apply(null,arguments)};var _emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=function(){return(_emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=Module["asm"]["emscripten_dispatch_to_thread_"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["ntohs"]).apply(null,arguments)};var __emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=function(){return(__emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=Module["asm"]["_emscripten_proxy_execute_task_queue"]).apply(null,arguments)};var __emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=function(){return(__emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=Module["asm"]["_emscripten_thread_free_data"]).apply(null,arguments)};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["_emscripten_thread_exit"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["emscripten_stack_set_limits"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return(___cxa_demangle=Module["___cxa_demangle"]=Module["asm"]["__cxa_demangle"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_iijiiiiiiiiiiii=Module["dynCall_iijiiiiiiiiiiii"]=function(){return(dynCall_iijiiiiiiiiiiii=Module["dynCall_iijiiiiiiiiiiii"]=Module["asm"]["dynCall_iijiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_iijiiiiiiiiii=Module["dynCall_iijiiiiiiiiii"]=function(){return(dynCall_iijiiiiiiiiii=Module["dynCall_iijiiiiiiiiii"]=Module["asm"]["dynCall_iijiiiiiiiiii"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["dynCall_iiijii"]).apply(null,arguments)};var dynCall_iiiiiiiiij=Module["dynCall_iiiiiiiiij"]=function(){return(dynCall_iiiiiiiiij=Module["dynCall_iiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiij"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["dynCall_iiij"]).apply(null,arguments)};var dynCall_iiiiiijiji=Module["dynCall_iiiiiijiji"]=function(){return(dynCall_iiiiiijiji=Module["dynCall_iiiiiijiji"]=Module["asm"]["dynCall_iiiiiijiji"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiij=Module["dynCall_iiiiiiiiiiiij"]=function(){return(dynCall_iiiiiiiiiiiij=Module["dynCall_iiiiiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiiiiij"]).apply(null,arguments)};var dynCall_viiiiiij=Module["dynCall_viiiiiij"]=function(){return(dynCall_viiiiiij=Module["dynCall_viiiiiij"]=Module["asm"]["dynCall_viiiiiij"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["dynCall_viji"]).apply(null,arguments)};var dynCall_iiiiiiji=Module["dynCall_iiiiiiji"]=function(){return(dynCall_iiiiiiji=Module["dynCall_iiiiiiji"]=Module["asm"]["dynCall_iiiiiiji"]).apply(null,arguments)};var dynCall_iiiiijiji=Module["dynCall_iiiiijiji"]=function(){return(dynCall_iiiiijiji=Module["dynCall_iiiiijiji"]=Module["asm"]["dynCall_iiiiijiji"]).apply(null,arguments)};var dynCall_iiiiiiiiiiij=Module["dynCall_iiiiiiiiiiij"]=function(){return(dynCall_iiiiiiiiiiij=Module["dynCall_iiiiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiiiij"]).apply(null,arguments)};var dynCall_iiiiiiiij=Module["dynCall_iiiiiiiij"]=function(){return(dynCall_iiiiiiiij=Module["dynCall_iiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiij"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_jiiiiii=Module["dynCall_jiiiiii"]=function(){return(dynCall_jiiiiii=Module["dynCall_jiiiiii"]=Module["asm"]["dynCall_jiiiiii"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["wasmMemory"]=wasmMemory;Module["cwrap"]=cwrap;Module["ExitStatus"]=ExitStatus;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
|
|
11
|
+
Module["mainScriptUrlOrBlob"] = String.raw`function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var _scriptDir=typeof document!="undefined"&&document.currentScript?document.currentScript.src:undefined;if(ENVIRONMENT_IS_WORKER){_scriptDir=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2097152e3/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="video.mt.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;registerTLSInit(Module["asm"]["_emscripten_tls_init"]);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){removeRunDependency("wasm-instantiate")}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={365724:$0=>{console.log("Video Version: ",$0)},365761:($0,$1,$2)=>{js_info_from_wcl($0,$1,$2)},365795:$0=>{change_capture_resolution($0)},365830:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{processed_capture_data_callback($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},365907:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},365977:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback_webcodec($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},366056:($0,$1)=>{decode_callback($0,$1)},366085:($0,$1,$2)=>{js_info_from_wcl($0,$1,$2)},366119:($0,$1,$2,$3)=>{Video_Controller_Encode_Data2($0,$1,$2,$3)},366167:($0,$1)=>{SAVE_IV($0,$1)},366185:($0,$1,$2,$3)=>{Video_Controller_Encode_Data($0,$1,$2,$3)},366232:($0,$1,$2,$3,$4,$5)=>{js_info_from_wcl_video_data($0,$1,$2,$3,$4,$5)},366289:$0=>{Exit_Thread($0)},366307:$0=>{return Before_Create_Thread($0)},366344:$0=>{return Before_Create_Thread($0)},366381:($0,$1)=>{APP_Troubleshoting_Info($0,$1)},366415:($0,$1,$2)=>{network_quality_callback($0,$1,$2)},366455:($0,$1)=>{MCMMonitor_Video_LOG($0,$1)},366485:$0=>{SubScribeUpdateVideo($0)},366513:()=>{return Date.now()/1e3},366540:()=>{return Date.now()%1e3},366567:($0,$1)=>{send_data($0,$1)},366590:$0=>{SubScribeUpdateVideo($0)},366618:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{responseVideoQosData($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},366679:($0,$1)=>{SAVE_IV($0,$1)},366697:()=>{return Date.now()},366720:($0,$1)=>{Update_Required_Bandwidth($0,$1)},366756:$0=>{Update_Video_Hd_Info($0)},366786:$0=>{console.log("Sharing Version: ",$0)},366825:($0,$1,$2,$3)=>{Send_Multi_Data($0,$1,$2,$3)},366859:($0,$1,$2)=>{SAVE_IV($0,$1,$2)},366881:($0,$1,$2)=>{Send_Data($0,$1,$2)},366905:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},366933:($0,$1,$2)=>{Send_Data($0,$1,$2)},366957:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},366985:($0,$1,$2)=>{Send_Data($0,$1,$2)},367009:($0,$1,$2)=>{APP_Troubleshoting_Info($0,$1,$2)},367047:($0,$1,$2,$3)=>{decode_callback($0,$1,$2,$3)},367084:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},367115:($0,$1,$2)=>{Send_Data($0,$1,$2)},367142:($0,$1,$2,$3)=>{Send_Data($0,$1,$2,$3)},367172:($0,$1,$2)=>{Send_Data($0,$1,$2)},367199:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)=>{frame_callback_video_mode($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)},367290:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)=>{frame_callback_mouse_video_mode($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)},367377:($0,$1)=>{MCMMonitor_Sharing_LOG($0,$1)},367409:($0,$1,$2,$3,$4,$5,$6)=>{Send_Out_Qos($0,$1,$2,$3,$4,$5,$6)},367454:$0=>{SubScribeUpdateSharing($0)},367484:($0,$1)=>{Send_Data($0,$1)},367507:$0=>{Update_WebSokcet_Speed($0)},367539:($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)=>{responseSharingQosData($0,$1,$2,$3,$4,$5,$6,$7,$8,$9)},367602:($0,$1)=>{SAVE_IV($0,$1)},367620:$0=>{console.error("tjDecompressHeader3 error %d ",$0)},367673:$0=>{console.error("tjDecompress2 error %d ",$0)},367720:($0,$1,$2,$3)=>{Sharing_Decode_Channel_Change($0,$1,$2,$3)},367767:($0,$1)=>{Update_Required_Bandwidth($0,$1)},367803:($0,$1,$2)=>{Send_Wb_Rtp_Packet($0,$1,$2)},367834:($0,$1)=>{Recieve_Wb_Packet($0,$1)},367861:$0=>{release_video_receiving_channle($0)},367901:()=>{videocodec_create_helpthread()},367935:()=>{console.error("_do_sharing_controller_decode: start")},367991:()=>{console.error("_do_sharing_controller_decode: waiting msg ")},368054:$0=>{console.error("_do_sharing_controller_decode: ",$0)},368109:($0,$1,$2)=>{console.error("_do_sharing_controller_decode: Try_Analysis ",$0,$1,$2)},368184:()=>{console.error("_do_sharing_controller_decode: main session _Set_Sharing_Encryption_Key_Directly ")},368285:()=>{console.error("_do_sharing_controller_decode: _Set_Sharing_Encryption_Key_Directly ")},368373:()=>{console.error("SHARING_DECODE_NETWORK_INFO WCLSharing is null")},368439:()=>{console.error("SHARING_DECODE_REQUEST_CHECK_ONE_TYPE WCLSharing is null")},368515:($0,$1)=>{console.error("SHARING_DECODE_MEDIA_DATA WCLSharing is null",$0,$1)},368588:($0,$1)=>{console.error("SHARING_DECODE_MEDIA_DATA type unknwon",$0,$1)},368655:($0,$1)=>{wcl_sharing_inited($0,$1)},368684:($0,$1,$2,$3,$4)=>{video_data_from_qos($0,$1,$2,$3,$4)},368729:($0,$1,$2,$3,$4,$5)=>{video_as_data_from_qos($0,$1,$2,$3,$4,$5)},368781:($0,$1)=>{wcl_trace_log($0,$1)},368805:($0,$1,$2)=>{network_quality_callback($0,$1,$2)},368845:($0,$1)=>{COMMIT_PRINT($0,$1)},368867:()=>{videoencode_create_helpthread()},368902:($0,$1)=>{LOG_OUT($0,$1)},368923:($0,$1)=>{wcl_trace_log($0,$1)}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function killThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];worker.terminate();__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0}function cancelThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker)}function spawnThread(threadParams){var worker=PThread.getNewWorker();if(!worker){return 6}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"pthread_ptr":threadParams.pthread_ptr};worker.runPthread=()=>{msg.time=performance.now();worker.postMessage(msg,threadParams.transferList);delete worker.runPthread};if(worker.loaded){worker.runPthread()}return 0}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===GROWABLE_HEAP_I8().buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray){node.contents.set(buffer.subarray(offset,offset+length),position)}else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}GROWABLE_HEAP_I8().set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};function asyncLoad(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count+1});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:(path,mode,dev)=>{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:(parent,name,input,output)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:(stream,buffer,offset,length,pos)=>{for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},forceLoadFile:obj=>{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size}stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,GROWABLE_HEAP_I8(),ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+8>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+16>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+56>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+72>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+88>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+92>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+104>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}else{}}_proc_exit(status)}var _exit=exitJS;function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker()}else{PThread.initMainThread()}},initMainThread:function(){},initWorker:function(){noExitRuntime=false},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads:function(){for(var worker of Object.values(PThread.pthreads)){PThread.returnWorkerToPool(worker)}for(var worker of PThread.unusedWorkers){worker.terminate()}PThread.unusedWorkers=[]},returnWorkerToPool:function(worker){var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},receiveObjectTransfer:function(data){},threadInitTLS:function(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread_ptr)PThread.currentProxiedOperationCallerThread=worker.pthread_ptr;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processProxyingQueue"){executeNotifiedProxyingQueue(d["queue"])}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread()}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d["handler"]](...d["args"])}else if(cmd){err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.hasOwnProperty(handler)){handlers.push(handler)}}worker.postMessage({"cmd":"load","handlers":handlers,"urlOrBlob":Module["mainScriptUrlOrBlob"]||_scriptDir,"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){var pthreadMainJs=locateFile("video.mt.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};Module["PThread"]=PThread;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(function(){try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=stackAlloc(len);stringToUTF8(s,buf,len);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(GROWABLE_HEAP_I32()[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})}function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+52>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+56>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function invokeEntryPoint(ptr,arg){var result=getWasmTableEntry(ptr)(arg);if(keepRuntimeAlive()){PThread.setExitStatus(result)}else{__emscripten_thread_exit(result)}}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTLSInit(tlsInitFunc){PThread.tlsInitFunctions.push(tlsInitFunc)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function _AdapterWhiteListCheck(){return checkWebCodecWhitelist_js()}function _CloseVideoEncoder(id){CloseVideoEncoder_js(id)}function _CreateGltPlatform(){err("missing function: CreateGltPlatform");abort(-1)}function _DestroyGltPlatform(){err("missing function: DestroyGltPlatform");abort(-1)}function _EncodeVideoFrameID(type,numb){return EncodeVideoFrameID_js(type,numb)}function _GetEncoderState(id){return GetEncoderState_js(id)}function _GetLogLevel(){return GetLogLevel_js()}function _InitVideoDecoder(id,context){return InitVideoDecoder_js(id,context)}function _InitVideoEncoder(id,context){return InitVideoEncoder_js(id,context)}function _LimitWebCodecsDecoderTo360(){return LimitWebCodecsDecoderTo360_js()}function _LimitWebCodecsEncoderTo360(){return LimitWebCodecsEncoderTo360_js()}function _Set_Share_Mode(flag){return Set_Share_Mode_js(flag)}function _UserAgentIsTesla(){return UserAgentIsTesla_js()}function _VideoDecoder(id,VclNalBuffer,vclBufferSize,NewIDR,vclNalCount){return VideoDecoder_js(id,VclNalBuffer,vclBufferSize,NewIDR,vclNalCount)}function _VideoDecoderConfigure(id,extradata,extraDataLen,Width,Height){return VideoDecoderConfigure_js(id,extradata,extraDataLen,Width,Height)}function _VideoEncoderConfigure(id,Bitrate,Framerate,Width,Height,bsBuffer){return VideoEncoderConfigure_js(id,Bitrate,Framerate,Width,Height,bsBuffer)}function _WebCodecsDecoderFail(m_iID){WebCodecsDecoderFail_js(m_iID)}function _WebCodecsEncoderFail(m_iID,code){WebCodecsEncoderFail_js(m_iID,code)}function _WebCodecsVideoEncoder(id,videoFrameId,NewIDR,rawData,dataLength,timeout){return VideoEncoder_js(id,videoFrameId,NewIDR,rawData,dataLength,timeout)}function __ZN11cpt_generic6thread4joinEv(){err("missing function: _ZN11cpt_generic6thread4joinEv");abort(-1)}function __ZN11cpt_generic6threadD1Ev(){err("missing function: _ZN11cpt_generic6threadD1Ev");abort(-1)}function __ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE(){err("missing function: _ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE");abort(-1)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){GROWABLE_HEAP_U32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return GROWABLE_HEAP_U32()[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function ___emscripten_init_main_thread_js(tb){__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB);PThread.threadInitTLS()}function ___emscripten_thread_cleanup(thread){if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread})}function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){if(typeof SharedArrayBuffer=="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;var threadParams={startRoutine:startRoutine,pthread_ptr:pthread_ptr,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){GROWABLE_HEAP_I32()[readfds>>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind:function(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==138)throw e}}},connect:function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(26)},listen:function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept:function(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname:function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}},sendmsg:function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(6)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data;if(buffer instanceof SharedArrayBuffer){data=new Uint8Array(new Uint8Array(buffer.slice(offset,offset+length))).buffer}else{data=buffer.slice(offset,offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg:function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res}}};function getSocketFromFD(fd){var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket}function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=":";if(zstart===0)str+=":"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?":":""}return str}function readSockaddr(sa,salen){var family=GROWABLE_HEAP_I16()[sa>>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]=="string"){if(words[w]==="Z"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___syscall_connect(fd,addr,addrlen){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd,addr,addrlen);try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;GROWABLE_HEAP_I16()[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,buf);try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,buf,size);try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size<cwdLengthInBytes)return-68;stringToUTF8(cwd,buf,size);return cwdLengthInBytes}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();GROWABLE_HEAP_I32()[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,dirfd,path,mode);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,dirfd,path,flags,varargs);SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];if(bucket.offset-bucket.roffset>0){return 64|1}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i<pipe.buckets.length;i++){var bucket=pipe.buckets[i];currentLength+=bucket.offset-bucket.roffset}assert(buffer instanceof ArrayBuffer||buffer instanceof SharedArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);if(length<=0){return 0}if(currentLength==0){throw new FS.ErrnoError(6)}var toRead=Math.min(currentLength,length);var totalRead=toRead;var toRemove=0;for(var i=0;i<pipe.buckets.length;i++){var currBucket=pipe.buckets[i];var bucketSize=currBucket.offset-currBucket.roffset;if(toRead<=bucketSize){var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);if(toRead<bucketSize){tmpSlice=tmpSlice.subarray(0,toRead);currBucket.roffset+=toRead}else{toRemove++}data.set(tmpSlice);break}else{var tmpSlice=currBucket.buffer.subarray(currBucket.roffset,currBucket.offset);data.set(tmpSlice);data=data.subarray(tmpSlice.byteLength);toRead-=tmpSlice.byteLength;toRemove++}}if(toRemove&&toRemove==pipe.buckets.length){toRemove--;pipe.buckets[toRemove].offset=0;pipe.buckets[toRemove].roffset=0}pipe.buckets.splice(0,toRemove);return totalRead},write:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;assert(buffer instanceof ArrayBuffer||buffer instanceof SharedArrayBuffer||ArrayBuffer.isView(buffer));var data=buffer.subarray(offset,offset+length);var dataLen=data.byteLength;if(dataLen<=0){return 0}var currBucket=null;if(pipe.buckets.length==0){currBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0};pipe.buckets.push(currBucket)}else{currBucket=pipe.buckets[pipe.buckets.length-1]}assert(currBucket.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var freeBytesInCurrBuffer=PIPEFS.BUCKET_BUFFER_SIZE-currBucket.offset;if(freeBytesInCurrBuffer>=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i<numBuckets;i++){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE));data=data.subarray(PIPEFS.BUCKET_BUFFER_SIZE,data.byteLength)}if(remElements>0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i<nfds;i++){var pollfd=fds+8*i;var fd=GROWABLE_HEAP_I32()[pollfd>>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_default_pthread_stack_size(){return 2097152}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function executeNotifiedProxyingQueue(queue){Atomics.store(GROWABLE_HEAP_I32(),queue>>2,1);if(_pthread_self()){__emscripten_proxy_execute_task_queue(queue)}Atomics.compareExchange(GROWABLE_HEAP_I32(),queue>>2,1,0)}Module["executeNotifiedProxyingQueue"]=executeNotifiedProxyingQueue;function __emscripten_notify_task_queue(targetThreadId,currThreadId,mainThreadId,queue){if(targetThreadId==currThreadId){setTimeout(()=>executeNotifiedProxyingQueue(queue))}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processProxyingQueue","queue":queue})}else{var worker=PThread.pthreads[targetThreadId];if(!worker){return}worker.postMessage({"cmd":"processProxyingQueue","queue":queue})}return 1}function __emscripten_set_offscreencanvas_size(target,width,height){return-1}function __emscripten_throw_longjmp(){throw Infinity}function readI53FromI64(ptr){return GROWABLE_HEAP_U32()[ptr>>2]+GROWABLE_HEAP_I32()[ptr+4>>2]*4294967296}function __gmtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}var __MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var __MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];function __yday_from_date(date){var isLeapYear=__isLeapYear(date.getFullYear());var monthDaysCumulative=isLeapYear?__MONTH_DAYS_LEAP_CUMULATIVE:__MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday}function __localtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=__yday_from_date(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,GROWABLE_HEAP_I8(),ret,size);return ret}function __tzset_js(timezone,daylight,tzname){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);GROWABLE_HEAP_U32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset<winterOffset){GROWABLE_HEAP_U32()[tzname>>2]=winterNamePtr;GROWABLE_HEAP_U32()[tzname+4>>2]=summerNamePtr}else{GROWABLE_HEAP_U32()[tzname>>2]=summerNamePtr;GROWABLE_HEAP_U32()[tzname+4>>2]=winterNamePtr}}function _abort(){abort("")}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?GROWABLE_HEAP_I32()[buf]:GROWABLE_HEAP_F64()[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function runMainThreadEmAsm(code,sigPtr,argbuf,sync){var args=readEmAsmArgs(sigPtr,argbuf);if(ENVIRONMENT_IS_PTHREAD){return _emscripten_proxy_to_main_thread_js.apply(null,[-1-code,sync].concat(args))}return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return runMainThreadEmAsm(code,sigPtr,argbuf,1)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_date_now(){return Date.now()}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=()=>performance.now()-Module["__performance_now_clock_drift"]}else _emscripten_get_now=()=>performance.now();function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(()=>{var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i<numCallArgs;i++){var arg=outerArgs[2+i];GROWABLE_HEAP_F64()[b+i]=arg}return _emscripten_run_in_main_runtime_thread_js(index,serializedNumCallArgs,args,sync)})}var _emscripten_receive_on_main_thread_js_callArgs=[];function _emscripten_receive_on_main_thread_js(index,numCallArgs,args){_emscripten_receive_on_main_thread_js_callArgs.length=numCallArgs;var b=args>>3;for(var i=0;i<numCallArgs;i++){_emscripten_receive_on_main_thread_js_callArgs[i]=GROWABLE_HEAP_F64()[b+i]}var isEmAsmConst=index<0;var func=!isEmAsmConst?proxiedFunctionTable[index]:ASM_CONSTS[-index-1];return func.apply(null,_emscripten_receive_on_main_thread_js_callArgs)}function getHeapMax(){return 2097152e3}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){postMessage({status:-35,cmd:-35})}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+1/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){GROWABLE_HEAP_I8()[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(18,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(19,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_U32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(20,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=GROWABLE_HEAP_U32()[iov>>2];var len=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(21,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(22,1,fd,offset_low,offset_high,whence,newOffset);try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=GROWABLE_HEAP_U32()[iov>>2];var len=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(23,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);GROWABLE_HEAP_U32()[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _setCurrentThreadSsrc(ssrc){setCurrentThreadSsrc_js(ssrc)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}function _zlt_tfjs_execute_afn(input_img,input_ref,input_msk,len,output_buffer){return execute_afn(input_img,input_ref,input_msk,len,output_buffer)}function _zlt_tfjs_execute_base_cls(input_buffer,len,output_buffer,output_len){return execute_base(input_buffer,len,output_buffer,output_len)}async function _zlt_tfjs_init(){}function _zoom_wcl_get_cpu_num(){return hardcodecpunumber()}function _zoom_wcl_get_csc_thread_num(){return 1}function _zoom_wcl_support_multi_thread(){return IsSupportMultiThread()}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}function cwrap(ident,returnType,argTypes,opts){argTypes=argTypes||[];var numericArgs=argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}PThread.init();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();var proxiedFunctionTable=[null,_proc_exit,exitOnMainThread,pthreadCreateProxied,___syscall__newselect,___syscall_connect,___syscall_fcntl64,___syscall_fstat64,___syscall_getcwd,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var asmLibraryArg={"AdapterWhiteListCheck":_AdapterWhiteListCheck,"CloseVideoEncoder":_CloseVideoEncoder,"CreateGltPlatform":_CreateGltPlatform,"DestroyGltPlatform":_DestroyGltPlatform,"EncodeVideoFrameID":_EncodeVideoFrameID,"GetEncoderState":_GetEncoderState,"GetLogLevel":_GetLogLevel,"InitVideoDecoder":_InitVideoDecoder,"InitVideoEncoder":_InitVideoEncoder,"LimitWebCodecsDecoderTo360":_LimitWebCodecsDecoderTo360,"LimitWebCodecsEncoderTo360":_LimitWebCodecsEncoderTo360,"Set_Share_Mode":_Set_Share_Mode,"UserAgentIsTesla":_UserAgentIsTesla,"VideoDecoder":_VideoDecoder,"VideoDecoderConfigure":_VideoDecoderConfigure,"VideoEncoderConfigure":_VideoEncoderConfigure,"WebCodecsDecoderFail":_WebCodecsDecoderFail,"WebCodecsEncoderFail":_WebCodecsEncoderFail,"WebCodecsVideoEncoder":_WebCodecsVideoEncoder,"_ZN11cpt_generic6thread4joinEv":__ZN11cpt_generic6thread4joinEv,"_ZN11cpt_generic6threadD1Ev":__ZN11cpt_generic6threadD1Ev,"_ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE":__ZN5Nydus16CWCLWallRenderer14CreateInstanceEPvRKNS_9NydusRectEPPNS_13IWallRendererE,"__assert_fail":___assert_fail,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_throw":___cxa_throw,"__emscripten_init_main_thread_js":___emscripten_init_main_thread_js,"__emscripten_thread_cleanup":___emscripten_thread_cleanup,"__pthread_create_js":___pthread_create_js,"__syscall__newselect":___syscall__newselect,"__syscall_connect":___syscall_connect,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_getcwd":___syscall_getcwd,"__syscall_ioctl":___syscall_ioctl,"__syscall_lstat64":___syscall_lstat64,"__syscall_mkdirat":___syscall_mkdirat,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_pipe":___syscall_pipe,"__syscall_poll":___syscall_poll,"__syscall_socket":___syscall_socket,"__syscall_stat64":___syscall_stat64,"_emscripten_default_pthread_stack_size":__emscripten_default_pthread_stack_size,"_emscripten_get_now_is_monotonic":__emscripten_get_now_is_monotonic,"_emscripten_notify_task_queue":__emscripten_notify_task_queue,"_emscripten_set_offscreencanvas_size":__emscripten_set_offscreencanvas_size,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_gmtime_js":__gmtime_js,"_localtime_js":__localtime_js,"_tzset_js":__tzset_js,"abort":_abort,"emscripten_asm_const_int":_emscripten_asm_const_int,"emscripten_asm_const_int_sync_on_main_thread":_emscripten_asm_const_int_sync_on_main_thread,"emscripten_check_blocking_allowed":_emscripten_check_blocking_allowed,"emscripten_date_now":_emscripten_date_now,"emscripten_get_now":_emscripten_get_now,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_receive_on_main_thread_js":_emscripten_receive_on_main_thread_js,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_unwind_to_js_event_loop":_emscripten_unwind_to_js_event_loop,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"exit":_exit,"fd_close":_fd_close,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_vi":invoke_vi,"invoke_viii":invoke_viii,"memory":wasmMemory,"setCurrentThreadSsrc":_setCurrentThreadSsrc,"strftime":_strftime,"strftime_l":_strftime_l,"zlt_tfjs_execute_afn":_zlt_tfjs_execute_afn,"zlt_tfjs_execute_base_cls":_zlt_tfjs_execute_base_cls,"zlt_tfjs_init":_zlt_tfjs_init,"zoom_wcl_get_cpu_num":_zoom_wcl_get_cpu_num,"zoom_wcl_get_csc_thread_num":_zoom_wcl_get_csc_thread_num,"zoom_wcl_support_multi_thread":_zoom_wcl_support_multi_thread};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var __Video_Init=Module["__Video_Init"]=function(){return(__Video_Init=Module["__Video_Init"]=Module["asm"]["_Video_Init"]).apply(null,arguments)};var __Video_UnInit=Module["__Video_UnInit"]=function(){return(__Video_UnInit=Module["__Video_UnInit"]=Module["asm"]["_Video_UnInit"]).apply(null,arguments)};var __Video_Decode=Module["__Video_Decode"]=function(){return(__Video_Decode=Module["__Video_Decode"]=Module["asm"]["_Video_Decode"]).apply(null,arguments)};var __Change_Connect_Type=Module["__Change_Connect_Type"]=function(){return(__Change_Connect_Type=Module["__Change_Connect_Type"]=Module["asm"]["_Change_Connect_Type"]).apply(null,arguments)};var __Smooth_Send_For_Qos=Module["__Smooth_Send_For_Qos"]=function(){return(__Smooth_Send_For_Qos=Module["__Smooth_Send_For_Qos"]=Module["asm"]["_Smooth_Send_For_Qos"]).apply(null,arguments)};var __Video_Try_Analysis=Module["__Video_Try_Analysis"]=function(){return(__Video_Try_Analysis=Module["__Video_Try_Analysis"]=Module["asm"]["_Video_Try_Analysis"]).apply(null,arguments)};var __signal_video_controller_encode_pdu_info=Module["__signal_video_controller_encode_pdu_info"]=function(){return(__signal_video_controller_encode_pdu_info=Module["__signal_video_controller_encode_pdu_info"]=Module["asm"]["_signal_video_controller_encode_pdu_info"]).apply(null,arguments)};var __Video_Encode=Module["__Video_Encode"]=function(){return(__Video_Encode=Module["__Video_Encode"]=Module["asm"]["_Video_Encode"]).apply(null,arguments)};var __Video_Encode_YUV=Module["__Video_Encode_YUV"]=function(){return(__Video_Encode_YUV=Module["__Video_Encode_YUV"]=Module["asm"]["_Video_Encode_YUV"]).apply(null,arguments)};var __Video_VirtualBackground_Special_Action=Module["__Video_VirtualBackground_Special_Action"]=function(){return(__Video_VirtualBackground_Special_Action=Module["__Video_VirtualBackground_Special_Action"]=Module["asm"]["_Video_VirtualBackground_Special_Action"]).apply(null,arguments)};var __Qos_Sender_Send_Data_In_Main_Thread=Module["__Qos_Sender_Send_Data_In_Main_Thread"]=function(){return(__Qos_Sender_Send_Data_In_Main_Thread=Module["__Qos_Sender_Send_Data_In_Main_Thread"]=Module["asm"]["_Qos_Sender_Send_Data_In_Main_Thread"]).apply(null,arguments)};var __Video_Websocket_Speed=Module["__Video_Websocket_Speed"]=function(){return(__Video_Websocket_Speed=Module["__Video_Websocket_Speed"]=Module["asm"]["_Video_Websocket_Speed"]).apply(null,arguments)};var __Video_Start_Encode=Module["__Video_Start_Encode"]=function(){return(__Video_Start_Encode=Module["__Video_Start_Encode"]=Module["asm"]["_Video_Start_Encode"]).apply(null,arguments)};var __signal_video_controller_enocde_start_or_stop_encode=Module["__signal_video_controller_enocde_start_or_stop_encode"]=function(){return(__signal_video_controller_enocde_start_or_stop_encode=Module["__signal_video_controller_enocde_start_or_stop_encode"]=Module["asm"]["_signal_video_controller_enocde_start_or_stop_encode"]).apply(null,arguments)};var __Video_Stop_Encode=Module["__Video_Stop_Encode"]=function(){return(__Video_Stop_Encode=Module["__Video_Stop_Encode"]=Module["asm"]["_Video_Stop_Encode"]).apply(null,arguments)};var __Request_Video_Qos_Data=Module["__Request_Video_Qos_Data"]=function(){return(__Request_Video_Qos_Data=Module["__Request_Video_Qos_Data"]=Module["asm"]["_Request_Video_Qos_Data"]).apply(null,arguments)};var __signal_video_controller_enocde_request_check_one_type=Module["__signal_video_controller_enocde_request_check_one_type"]=function(){return(__signal_video_controller_enocde_request_check_one_type=Module["__signal_video_controller_enocde_request_check_one_type"]=Module["asm"]["_signal_video_controller_enocde_request_check_one_type"]).apply(null,arguments)};var __Video_Update_Format=Module["__Video_Update_Format"]=function(){return(__Video_Update_Format=Module["__Video_Update_Format"]=Module["asm"]["_Video_Update_Format"]).apply(null,arguments)};var __Video_Set_Data_Encryption=Module["__Video_Set_Data_Encryption"]=function(){return(__Video_Set_Data_Encryption=Module["__Video_Set_Data_Encryption"]=Module["asm"]["_Video_Set_Data_Encryption"]).apply(null,arguments)};var __Add_Video_Cooker_info=Module["__Add_Video_Cooker_info"]=function(){return(__Add_Video_Cooker_info=Module["__Add_Video_Cooker_info"]=Module["asm"]["_Add_Video_Cooker_info"]).apply(null,arguments)};var __signal_video_controller_encode_cooker_info=Module["__signal_video_controller_encode_cooker_info"]=function(){return(__signal_video_controller_encode_cooker_info=Module["__signal_video_controller_encode_cooker_info"]=Module["asm"]["_signal_video_controller_encode_cooker_info"]).apply(null,arguments)};var __Remove_Video_Cooker_Info=Module["__Remove_Video_Cooker_Info"]=function(){return(__Remove_Video_Cooker_Info=Module["__Remove_Video_Cooker_Info"]=Module["asm"]["_Remove_Video_Cooker_Info"]).apply(null,arguments)};var __Get_Video_Meat_Weight=Module["__Get_Video_Meat_Weight"]=function(){return(__Get_Video_Meat_Weight=Module["__Get_Video_Meat_Weight"]=Module["asm"]["_Get_Video_Meat_Weight"]).apply(null,arguments)};var __Set_Max_Receiving_Channel_Num=Module["__Set_Max_Receiving_Channel_Num"]=function(){return(__Set_Max_Receiving_Channel_Num=Module["__Set_Max_Receiving_Channel_Num"]=Module["asm"]["_Set_Max_Receiving_Channel_Num"]).apply(null,arguments)};var __update_sync_time=Module["__update_sync_time"]=function(){return(__update_sync_time=Module["__update_sync_time"]=Module["asm"]["_update_sync_time"]).apply(null,arguments)};var __release_video_receiving_channel=Module["__release_video_receiving_channel"]=function(){return(__release_video_receiving_channel=Module["__release_video_receiving_channel"]=Module["asm"]["_release_video_receiving_channel"]).apply(null,arguments)};var __change_hw_status=Module["__change_hw_status"]=function(){return(__change_hw_status=Module["__change_hw_status"]=Module["asm"]["_change_hw_status"]).apply(null,arguments)};var __rotate_video=Module["__rotate_video"]=function(){return(__rotate_video=Module["__rotate_video"]=Module["asm"]["_rotate_video"]).apply(null,arguments)};var __update_video_uplink_bandwidth_limitation_by_server=Module["__update_video_uplink_bandwidth_limitation_by_server"]=function(){return(__update_video_uplink_bandwidth_limitation_by_server=Module["__update_video_uplink_bandwidth_limitation_by_server"]=Module["asm"]["_update_video_uplink_bandwidth_limitation_by_server"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var __create_vb_thread=Module["__create_vb_thread"]=function(){return(__create_vb_thread=Module["__create_vb_thread"]=Module["asm"]["_create_vb_thread"]).apply(null,arguments)};var __create_vb_no_sab_thread=Module["__create_vb_no_sab_thread"]=function(){return(__create_vb_no_sab_thread=Module["__create_vb_no_sab_thread"]=Module["asm"]["_create_vb_no_sab_thread"]).apply(null,arguments)};var __signal_vb_thread_blur=Module["__signal_vb_thread_blur"]=function(){return(__signal_vb_thread_blur=Module["__signal_vb_thread_blur"]=Module["asm"]["_signal_vb_thread_blur"]).apply(null,arguments)};var __signal_vb_thread_bg=Module["__signal_vb_thread_bg"]=function(){return(__signal_vb_thread_bg=Module["__signal_vb_thread_bg"]=Module["asm"]["_signal_vb_thread_bg"]).apply(null,arguments)};var __signal_vb_thread_video_yuv=Module["__signal_vb_thread_video_yuv"]=function(){return(__signal_vb_thread_video_yuv=Module["__signal_vb_thread_video_yuv"]=Module["asm"]["_signal_vb_thread_video_yuv"]).apply(null,arguments)};var __signal_vb_thread_video_rgba=Module["__signal_vb_thread_video_rgba"]=function(){return(__signal_vb_thread_video_rgba=Module["__signal_vb_thread_video_rgba"]=Module["asm"]["_signal_vb_thread_video_rgba"]).apply(null,arguments)};var __signal_vb_thread_close=Module["__signal_vb_thread_close"]=function(){return(__signal_vb_thread_close=Module["__signal_vb_thread_close"]=Module["asm"]["_signal_vb_thread_close"]).apply(null,arguments)};var __update_video_cropping_mode=Module["__update_video_cropping_mode"]=function(){return(__update_video_cropping_mode=Module["__update_video_cropping_mode"]=Module["asm"]["_update_video_cropping_mode"]).apply(null,arguments)};var __collect_video_monitor_info=Module["__collect_video_monitor_info"]=function(){return(__collect_video_monitor_info=Module["__collect_video_monitor_info"]=Module["asm"]["_collect_video_monitor_info"]).apply(null,arguments)};var __request_nack_t_periodically_for_qos=Module["__request_nack_t_periodically_for_qos"]=function(){return(__request_nack_t_periodically_for_qos=Module["__request_nack_t_periodically_for_qos"]=Module["asm"]["_request_nack_t_periodically_for_qos"]).apply(null,arguments)};var __Create_HW_Encode=Module["__Create_HW_Encode"]=function(){return(__Create_HW_Encode=Module["__Create_HW_Encode"]=Module["asm"]["_Create_HW_Encode"]).apply(null,arguments)};var __Sharing_Encode_Init=Module["__Sharing_Encode_Init"]=function(){return(__Sharing_Encode_Init=Module["__Sharing_Encode_Init"]=Module["asm"]["_Sharing_Encode_Init"]).apply(null,arguments)};var __Sharing_Encode_Try_Analysis=Module["__Sharing_Encode_Try_Analysis"]=function(){return(__Sharing_Encode_Try_Analysis=Module["__Sharing_Encode_Try_Analysis"]=Module["asm"]["_Sharing_Encode_Try_Analysis"]).apply(null,arguments)};var __signal_sharing_controller_encode_pdu_info=Module["__signal_sharing_controller_encode_pdu_info"]=function(){return(__signal_sharing_controller_encode_pdu_info=Module["__signal_sharing_controller_encode_pdu_info"]=Module["asm"]["_signal_sharing_controller_encode_pdu_info"]).apply(null,arguments)};var __Sharing_Encode_Uninit=Module["__Sharing_Encode_Uninit"]=function(){return(__Sharing_Encode_Uninit=Module["__Sharing_Encode_Uninit"]=Module["asm"]["_Sharing_Encode_Uninit"]).apply(null,arguments)};var __Sharing_Encode=Module["__Sharing_Encode"]=function(){return(__Sharing_Encode=Module["__Sharing_Encode"]=Module["asm"]["_Sharing_Encode"]).apply(null,arguments)};var __signal_sharing_controller_encode_yuv=Module["__signal_sharing_controller_encode_yuv"]=function(){return(__signal_sharing_controller_encode_yuv=Module["__signal_sharing_controller_encode_yuv"]=Module["asm"]["_signal_sharing_controller_encode_yuv"]).apply(null,arguments)};var __Sharing_Encode_Mouse_Data=Module["__Sharing_Encode_Mouse_Data"]=function(){return(__Sharing_Encode_Mouse_Data=Module["__Sharing_Encode_Mouse_Data"]=Module["asm"]["_Sharing_Encode_Mouse_Data"]).apply(null,arguments)};var __signal_sharing_controller_encode_mouse_data=Module["__signal_sharing_controller_encode_mouse_data"]=function(){return(__signal_sharing_controller_encode_mouse_data=Module["__signal_sharing_controller_encode_mouse_data"]=Module["asm"]["_signal_sharing_controller_encode_mouse_data"]).apply(null,arguments)};var __Request_Sharing_Qos_Data=Module["__Request_Sharing_Qos_Data"]=function(){return(__Request_Sharing_Qos_Data=Module["__Request_Sharing_Qos_Data"]=Module["asm"]["_Request_Sharing_Qos_Data"]).apply(null,arguments)};var __signal_sharing_controller_enocde_request_check_one_type=Module["__signal_sharing_controller_enocde_request_check_one_type"]=function(){return(__signal_sharing_controller_enocde_request_check_one_type=Module["__signal_sharing_controller_enocde_request_check_one_type"]=Module["asm"]["_signal_sharing_controller_enocde_request_check_one_type"]).apply(null,arguments)};var __signal_sharing_controller_decode_request_check_one_type=Module["__signal_sharing_controller_decode_request_check_one_type"]=function(){return(__signal_sharing_controller_decode_request_check_one_type=Module["__signal_sharing_controller_decode_request_check_one_type"]=Module["asm"]["_signal_sharing_controller_decode_request_check_one_type"]).apply(null,arguments)};var __Sharing_Set_Data_Encryption=Module["__Sharing_Set_Data_Encryption"]=function(){return(__Sharing_Set_Data_Encryption=Module["__Sharing_Set_Data_Encryption"]=Module["asm"]["_Sharing_Set_Data_Encryption"]).apply(null,arguments)};var __Sharing_Pause_Encode=Module["__Sharing_Pause_Encode"]=function(){return(__Sharing_Pause_Encode=Module["__Sharing_Pause_Encode"]=Module["asm"]["_Sharing_Pause_Encode"]).apply(null,arguments)};var __Sharing_Resume_Encode=Module["__Sharing_Resume_Encode"]=function(){return(__Sharing_Resume_Encode=Module["__Sharing_Resume_Encode"]=Module["asm"]["_Sharing_Resume_Encode"]).apply(null,arguments)};var __Sharing_Stop_Encode=Module["__Sharing_Stop_Encode"]=function(){return(__Sharing_Stop_Encode=Module["__Sharing_Stop_Encode"]=Module["asm"]["_Sharing_Stop_Encode"]).apply(null,arguments)};var __Sharing_Websocket_Speed=Module["__Sharing_Websocket_Speed"]=function(){return(__Sharing_Websocket_Speed=Module["__Sharing_Websocket_Speed"]=Module["asm"]["_Sharing_Websocket_Speed"]).apply(null,arguments)};var __Add_Sharing_Cooker_info=Module["__Add_Sharing_Cooker_info"]=function(){return(__Add_Sharing_Cooker_info=Module["__Add_Sharing_Cooker_info"]=Module["asm"]["_Add_Sharing_Cooker_info"]).apply(null,arguments)};var __Remove_Sharing_Cooker_Info=Module["__Remove_Sharing_Cooker_Info"]=function(){return(__Remove_Sharing_Cooker_Info=Module["__Remove_Sharing_Cooker_Info"]=Module["asm"]["_Remove_Sharing_Cooker_Info"]).apply(null,arguments)};var __Get_Sharing_Meat_Weight=Module["__Get_Sharing_Meat_Weight"]=function(){return(__Get_Sharing_Meat_Weight=Module["__Get_Sharing_Meat_Weight"]=Module["asm"]["_Get_Sharing_Meat_Weight"]).apply(null,arguments)};var __Set_Sharing_Encryption_Key_Directly=Module["__Set_Sharing_Encryption_Key_Directly"]=function(){return(__Set_Sharing_Encryption_Key_Directly=Module["__Set_Sharing_Encryption_Key_Directly"]=Module["asm"]["_Set_Sharing_Encryption_Key_Directly"]).apply(null,arguments)};var __Add_Roster_Info_Directly=Module["__Add_Roster_Info_Directly"]=function(){return(__Add_Roster_Info_Directly=Module["__Add_Roster_Info_Directly"]=Module["asm"]["_Add_Roster_Info_Directly"]).apply(null,arguments)};var __Add_Rev_Channel=Module["__Add_Rev_Channel"]=function(){return(__Add_Rev_Channel=Module["__Add_Rev_Channel"]=Module["asm"]["_Add_Rev_Channel"]).apply(null,arguments)};var __Remove_Rev_Channel=Module["__Remove_Rev_Channel"]=function(){return(__Remove_Rev_Channel=Module["__Remove_Rev_Channel"]=Module["asm"]["_Remove_Rev_Channel"]).apply(null,arguments)};var __update_sharing_uplink_bandwidth_limitation_by_server=Module["__update_sharing_uplink_bandwidth_limitation_by_server"]=function(){return(__update_sharing_uplink_bandwidth_limitation_by_server=Module["__update_sharing_uplink_bandwidth_limitation_by_server"]=Module["asm"]["_update_sharing_uplink_bandwidth_limitation_by_server"]).apply(null,arguments)};var __collect_sharing_monitor_info=Module["__collect_sharing_monitor_info"]=function(){return(__collect_sharing_monitor_info=Module["__collect_sharing_monitor_info"]=Module["asm"]["_collect_sharing_monitor_info"]).apply(null,arguments)};var __set_annotation_action=Module["__set_annotation_action"]=function(){return(__set_annotation_action=Module["__set_annotation_action"]=Module["asm"]["_set_annotation_action"]).apply(null,arguments)};var __request_nack_t_periodically_for_sharing_qos=Module["__request_nack_t_periodically_for_sharing_qos"]=function(){return(__request_nack_t_periodically_for_sharing_qos=Module["__request_nack_t_periodically_for_sharing_qos"]=Module["asm"]["_request_nack_t_periodically_for_sharing_qos"]).apply(null,arguments)};var __Change_Connect_Type_For_Sharing=Module["__Change_Connect_Type_For_Sharing"]=function(){return(__Change_Connect_Type_For_Sharing=Module["__Change_Connect_Type_For_Sharing"]=Module["asm"]["_Change_Connect_Type_For_Sharing"]).apply(null,arguments)};var __Jpeg_Init=Module["__Jpeg_Init"]=function(){return(__Jpeg_Init=Module["__Jpeg_Init"]=Module["asm"]["_Jpeg_Init"]).apply(null,arguments)};var __Jpeg_Uninit=Module["__Jpeg_Uninit"]=function(){return(__Jpeg_Uninit=Module["__Jpeg_Uninit"]=Module["asm"]["_Jpeg_Uninit"]).apply(null,arguments)};var __Jpeg_HeardInfo=Module["__Jpeg_HeardInfo"]=function(){return(__Jpeg_HeardInfo=Module["__Jpeg_HeardInfo"]=Module["asm"]["_Jpeg_HeardInfo"]).apply(null,arguments)};var __Jpeg_Decode=Module["__Jpeg_Decode"]=function(){return(__Jpeg_Decode=Module["__Jpeg_Decode"]=Module["asm"]["_Jpeg_Decode"]).apply(null,arguments)};var __signal_video_controller_encode_init_info=Module["__signal_video_controller_encode_init_info"]=function(){return(__signal_video_controller_encode_init_info=Module["__signal_video_controller_encode_init_info"]=Module["asm"]["_signal_video_controller_encode_init_info"]).apply(null,arguments)};var __signal_video_controller_encode_yuv=Module["__signal_video_controller_encode_yuv"]=function(){return(__signal_video_controller_encode_yuv=Module["__signal_video_controller_encode_yuv"]=Module["asm"]["_signal_video_controller_encode_yuv"]).apply(null,arguments)};var __signal_video_controller_encode_rgba=Module["__signal_video_controller_encode_rgba"]=function(){return(__signal_video_controller_encode_rgba=Module["__signal_video_controller_encode_rgba"]=Module["asm"]["_signal_video_controller_encode_rgba"]).apply(null,arguments)};var __signal_video_controller_encode_hw_info=Module["__signal_video_controller_encode_hw_info"]=function(){return(__signal_video_controller_encode_hw_info=Module["__signal_video_controller_encode_hw_info"]=Module["asm"]["_signal_video_controller_encode_hw_info"]).apply(null,arguments)};var __signal_video_controller_change_connect_type=Module["__signal_video_controller_change_connect_type"]=function(){return(__signal_video_controller_change_connect_type=Module["__signal_video_controller_change_connect_type"]=Module["asm"]["_signal_video_controller_change_connect_type"]).apply(null,arguments)};var __create_video_encode_thread=Module["__create_video_encode_thread"]=function(){return(__create_video_encode_thread=Module["__create_video_encode_thread"]=Module["asm"]["_create_video_encode_thread"]).apply(null,arguments)};var __singal_video_controller_fec_info=Module["__singal_video_controller_fec_info"]=function(){return(__singal_video_controller_fec_info=Module["__singal_video_controller_fec_info"]=Module["asm"]["_singal_video_controller_fec_info"]).apply(null,arguments)};var __singal_video_controller_bandwidth_alloc=Module["__singal_video_controller_bandwidth_alloc"]=function(){return(__singal_video_controller_bandwidth_alloc=Module["__singal_video_controller_bandwidth_alloc"]=Module["asm"]["_singal_video_controller_bandwidth_alloc"]).apply(null,arguments)};var __signal_video_share_flag=Module["__signal_video_share_flag"]=function(){return(__signal_video_share_flag=Module["__signal_video_share_flag"]=Module["asm"]["_signal_video_share_flag"]).apply(null,arguments)};var __signal_video_controller_encode_uninit=Module["__signal_video_controller_encode_uninit"]=function(){return(__signal_video_controller_encode_uninit=Module["__signal_video_controller_encode_uninit"]=Module["asm"]["_signal_video_controller_encode_uninit"]).apply(null,arguments)};var __create_video_decode_thread=Module["__create_video_decode_thread"]=function(){return(__create_video_decode_thread=Module["__create_video_decode_thread"]=Module["asm"]["_create_video_decode_thread"]).apply(null,arguments)};var __signal_video_controller_decode_init_info=Module["__signal_video_controller_decode_init_info"]=function(){return(__signal_video_controller_decode_init_info=Module["__signal_video_controller_decode_init_info"]=Module["asm"]["_signal_video_controller_decode_init_info"]).apply(null,arguments)};var __signal_video_controller_decode_close=Module["__signal_video_controller_decode_close"]=function(){return(__signal_video_controller_decode_close=Module["__signal_video_controller_decode_close"]=Module["asm"]["_signal_video_controller_decode_close"]).apply(null,arguments)};var __signal_video_controller_decode_hw_info=Module["__signal_video_controller_decode_hw_info"]=function(){return(__signal_video_controller_decode_hw_info=Module["__signal_video_controller_decode_hw_info"]=Module["asm"]["_signal_video_controller_decode_hw_info"]).apply(null,arguments)};var __signal_video_controller_decode_uninit=Module["__signal_video_controller_decode_uninit"]=function(){return(__signal_video_controller_decode_uninit=Module["__signal_video_controller_decode_uninit"]=Module["asm"]["_signal_video_controller_decode_uninit"]).apply(null,arguments)};var __proxy_videocodec_create_helpthread=Module["__proxy_videocodec_create_helpthread"]=function(){return(__proxy_videocodec_create_helpthread=Module["__proxy_videocodec_create_helpthread"]=Module["asm"]["_proxy_videocodec_create_helpthread"]).apply(null,arguments)};var __create_sharing_encode_thread=Module["__create_sharing_encode_thread"]=function(){return(__create_sharing_encode_thread=Module["__create_sharing_encode_thread"]=Module["asm"]["_create_sharing_encode_thread"]).apply(null,arguments)};var __signal_sharing_controller_encode_init_info=Module["__signal_sharing_controller_encode_init_info"]=function(){return(__signal_sharing_controller_encode_init_info=Module["__signal_sharing_controller_encode_init_info"]=Module["asm"]["_signal_sharing_controller_encode_init_info"]).apply(null,arguments)};var __signal_sharing_controller_encode_uninit=Module["__signal_sharing_controller_encode_uninit"]=function(){return(__signal_sharing_controller_encode_uninit=Module["__signal_sharing_controller_encode_uninit"]=Module["asm"]["_signal_sharing_controller_encode_uninit"]).apply(null,arguments)};var __create_sharing_decode_thread=Module["__create_sharing_decode_thread"]=function(){return(__create_sharing_decode_thread=Module["__create_sharing_decode_thread"]=Module["asm"]["_create_sharing_decode_thread"]).apply(null,arguments)};var __signal_sharing_controller_decode_init_info=Module["__signal_sharing_controller_decode_init_info"]=function(){return(__signal_sharing_controller_decode_init_info=Module["__signal_sharing_controller_decode_init_info"]=Module["asm"]["_signal_sharing_controller_decode_init_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_meeting_key=Module["__signal_sharing_controller_decode_meeting_key"]=function(){return(__signal_sharing_controller_decode_meeting_key=Module["__signal_sharing_controller_decode_meeting_key"]=Module["asm"]["_signal_sharing_controller_decode_meeting_key"]).apply(null,arguments)};var __signal_sharing_controller_decode_pdu_info=Module["__signal_sharing_controller_decode_pdu_info"]=function(){return(__signal_sharing_controller_decode_pdu_info=Module["__signal_sharing_controller_decode_pdu_info"]=Module["asm"]["_signal_sharing_controller_decode_pdu_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_meeting_cooker=Module["__signal_sharing_controller_decode_meeting_cooker"]=function(){return(__signal_sharing_controller_decode_meeting_cooker=Module["__signal_sharing_controller_decode_meeting_cooker"]=Module["asm"]["_signal_sharing_controller_decode_meeting_cooker"]).apply(null,arguments)};var __signal_sharing_controller_decode_roster_info=Module["__signal_sharing_controller_decode_roster_info"]=function(){return(__signal_sharing_controller_decode_roster_info=Module["__signal_sharing_controller_decode_roster_info"]=Module["asm"]["_signal_sharing_controller_decode_roster_info"]).apply(null,arguments)};var __signal_sharing_controller_decode_rev_channel=Module["__signal_sharing_controller_decode_rev_channel"]=function(){return(__signal_sharing_controller_decode_rev_channel=Module["__signal_sharing_controller_decode_rev_channel"]=Module["asm"]["_signal_sharing_controller_decode_rev_channel"]).apply(null,arguments)};var __singal_sharing_controller_decode_close=Module["__singal_sharing_controller_decode_close"]=function(){return(__singal_sharing_controller_decode_close=Module["__singal_sharing_controller_decode_close"]=Module["asm"]["_singal_sharing_controller_decode_close"]).apply(null,arguments)};var __signal_sharing_controller_decode_uninit=Module["__signal_sharing_controller_decode_uninit"]=function(){return(__signal_sharing_controller_decode_uninit=Module["__signal_sharing_controller_decode_uninit"]=Module["asm"]["_signal_sharing_controller_decode_uninit"]).apply(null,arguments)};var __Qos_Init=Module["__Qos_Init"]=function(){return(__Qos_Init=Module["__Qos_Init"]=Module["asm"]["_Qos_Init"]).apply(null,arguments)};var __Qos_UnInit=Module["__Qos_UnInit"]=function(){return(__Qos_UnInit=Module["__Qos_UnInit"]=Module["asm"]["_Qos_UnInit"]).apply(null,arguments)};var __Qos_Start_Send=Module["__Qos_Start_Send"]=function(){return(__Qos_Start_Send=Module["__Qos_Start_Send"]=Module["asm"]["_Qos_Start_Send"]).apply(null,arguments)};var __Qos_Stop_Send=Module["__Qos_Stop_Send"]=function(){return(__Qos_Stop_Send=Module["__Qos_Stop_Send"]=Module["asm"]["_Qos_Stop_Send"]).apply(null,arguments)};var __Qos_Change_Connect_Type_Or_Video_Share=Module["__Qos_Change_Connect_Type_Or_Video_Share"]=function(){return(__Qos_Change_Connect_Type_Or_Video_Share=Module["__Qos_Change_Connect_Type_Or_Video_Share"]=Module["asm"]["_Qos_Change_Connect_Type_Or_Video_Share"]).apply(null,arguments)};var __Qos_Send_Data_Packet=Module["__Qos_Send_Data_Packet"]=function(){return(__Qos_Send_Data_Packet=Module["__Qos_Send_Data_Packet"]=Module["asm"]["_Qos_Send_Data_Packet"]).apply(null,arguments)};var __Qos_Send_Data_Multi_Packet=Module["__Qos_Send_Data_Multi_Packet"]=function(){return(__Qos_Send_Data_Multi_Packet=Module["__Qos_Send_Data_Multi_Packet"]=Module["asm"]["_Qos_Send_Data_Multi_Packet"]).apply(null,arguments)};var __Qos_Data_From_Rwg=Module["__Qos_Data_From_Rwg"]=function(){return(__Qos_Data_From_Rwg=Module["__Qos_Data_From_Rwg"]=Module["asm"]["_Qos_Data_From_Rwg"]).apply(null,arguments)};var __Qos_AS_Data_From_Rwg=Module["__Qos_AS_Data_From_Rwg"]=function(){return(__Qos_AS_Data_From_Rwg=Module["__Qos_AS_Data_From_Rwg"]=Module["asm"]["_Qos_AS_Data_From_Rwg"]).apply(null,arguments)};var __Qos_Smooth_Send_Periodically_For_Qos=Module["__Qos_Smooth_Send_Periodically_For_Qos"]=function(){return(__Qos_Smooth_Send_Periodically_For_Qos=Module["__Qos_Smooth_Send_Periodically_For_Qos"]=Module["asm"]["_Qos_Smooth_Send_Periodically_For_Qos"]).apply(null,arguments)};var __Qos_Request_Nack_T_Periodically_For_Qos=Module["__Qos_Request_Nack_T_Periodically_For_Qos"]=function(){return(__Qos_Request_Nack_T_Periodically_For_Qos=Module["__Qos_Request_Nack_T_Periodically_For_Qos"]=Module["asm"]["_Qos_Request_Nack_T_Periodically_For_Qos"]).apply(null,arguments)};var __Qos_Update_Required_Bandwidth=Module["__Qos_Update_Required_Bandwidth"]=function(){return(__Qos_Update_Required_Bandwidth=Module["__Qos_Update_Required_Bandwidth"]=Module["asm"]["_Qos_Update_Required_Bandwidth"]).apply(null,arguments)};var __Qos_Update_Video_Hd_Info=Module["__Qos_Update_Video_Hd_Info"]=function(){return(__Qos_Update_Video_Hd_Info=Module["__Qos_Update_Video_Hd_Info"]=Module["asm"]["_Qos_Update_Video_Hd_Info"]).apply(null,arguments)};var __Qos_Reset_As_Qos_Buffer=Module["__Qos_Reset_As_Qos_Buffer"]=function(){return(__Qos_Reset_As_Qos_Buffer=Module["__Qos_Reset_As_Qos_Buffer"]=Module["asm"]["_Qos_Reset_As_Qos_Buffer"]).apply(null,arguments)};var __Qos_Add_Recv_SSRC=Module["__Qos_Add_Recv_SSRC"]=function(){return(__Qos_Add_Recv_SSRC=Module["__Qos_Add_Recv_SSRC"]=Module["asm"]["_Qos_Add_Recv_SSRC"]).apply(null,arguments)};var __Qos_Remove_Recv_SSRC=Module["__Qos_Remove_Recv_SSRC"]=function(){return(__Qos_Remove_Recv_SSRC=Module["__Qos_Remove_Recv_SSRC"]=Module["asm"]["_Qos_Remove_Recv_SSRC"]).apply(null,arguments)};var _GIT_COMMIT_VERSION=Module["_GIT_COMMIT_VERSION"]=function(){return(_GIT_COMMIT_VERSION=Module["_GIT_COMMIT_VERSION"]=Module["asm"]["GIT_COMMIT_VERSION"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var _OnVideoFrameOutputCallback=Module["_OnVideoFrameOutputCallback"]=function(){return(_OnVideoFrameOutputCallback=Module["_OnVideoFrameOutputCallback"]=Module["asm"]["OnVideoFrameOutputCallback"]).apply(null,arguments)};var _OnEncodedVideoChunkOutputCallback=Module["_OnEncodedVideoChunkOutputCallback"]=function(){return(_OnEncodedVideoChunkOutputCallback=Module["_OnEncodedVideoChunkOutputCallback"]=Module["asm"]["OnEncodedVideoChunkOutputCallback"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pthread_self"]).apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return(_saveSetjmp=Module["_saveSetjmp"]=Module["asm"]["saveSetjmp"]).apply(null,arguments)};var __emscripten_tls_init=Module["__emscripten_tls_init"]=function(){return(__emscripten_tls_init=Module["__emscripten_tls_init"]=Module["asm"]["_emscripten_tls_init"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["_emscripten_thread_init"]).apply(null,arguments)};var __emscripten_thread_crashed=Module["__emscripten_thread_crashed"]=function(){return(__emscripten_thread_crashed=Module["__emscripten_thread_crashed"]=Module["asm"]["_emscripten_thread_crashed"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["emscripten_main_thread_process_queued_calls"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["htons"]).apply(null,arguments)};var _emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=function(){return(_emscripten_main_browser_thread_id=Module["_emscripten_main_browser_thread_id"]=Module["asm"]["emscripten_main_browser_thread_id"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["emscripten_run_in_main_runtime_thread_js"]).apply(null,arguments)};var _emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=function(){return(_emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=Module["asm"]["emscripten_dispatch_to_thread_"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["ntohs"]).apply(null,arguments)};var __emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=function(){return(__emscripten_proxy_execute_task_queue=Module["__emscripten_proxy_execute_task_queue"]=Module["asm"]["_emscripten_proxy_execute_task_queue"]).apply(null,arguments)};var __emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=function(){return(__emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=Module["asm"]["_emscripten_thread_free_data"]).apply(null,arguments)};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["_emscripten_thread_exit"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["emscripten_stack_set_limits"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return(___cxa_demangle=Module["___cxa_demangle"]=Module["asm"]["__cxa_demangle"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_iijiiiiiiiiiiii=Module["dynCall_iijiiiiiiiiiiii"]=function(){return(dynCall_iijiiiiiiiiiiii=Module["dynCall_iijiiiiiiiiiiii"]=Module["asm"]["dynCall_iijiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_iijiiiiiiiiii=Module["dynCall_iijiiiiiiiiii"]=function(){return(dynCall_iijiiiiiiiiii=Module["dynCall_iijiiiiiiiiii"]=Module["asm"]["dynCall_iijiiiiiiiiii"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["dynCall_iiijii"]).apply(null,arguments)};var dynCall_iiiiiiiiij=Module["dynCall_iiiiiiiiij"]=function(){return(dynCall_iiiiiiiiij=Module["dynCall_iiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiij"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["dynCall_iiij"]).apply(null,arguments)};var dynCall_iiiiiijiji=Module["dynCall_iiiiiijiji"]=function(){return(dynCall_iiiiiijiji=Module["dynCall_iiiiiijiji"]=Module["asm"]["dynCall_iiiiiijiji"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiij=Module["dynCall_iiiiiiiiiiiij"]=function(){return(dynCall_iiiiiiiiiiiij=Module["dynCall_iiiiiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiiiiij"]).apply(null,arguments)};var dynCall_viiiiiij=Module["dynCall_viiiiiij"]=function(){return(dynCall_viiiiiij=Module["dynCall_viiiiiij"]=Module["asm"]["dynCall_viiiiiij"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["dynCall_viji"]).apply(null,arguments)};var dynCall_iiiiiiji=Module["dynCall_iiiiiiji"]=function(){return(dynCall_iiiiiiji=Module["dynCall_iiiiiiji"]=Module["asm"]["dynCall_iiiiiiji"]).apply(null,arguments)};var dynCall_iiiiijiji=Module["dynCall_iiiiijiji"]=function(){return(dynCall_iiiiijiji=Module["dynCall_iiiiijiji"]=Module["asm"]["dynCall_iiiiijiji"]).apply(null,arguments)};var dynCall_iiiiiiiiiiij=Module["dynCall_iiiiiiiiiiij"]=function(){return(dynCall_iiiiiiiiiiij=Module["dynCall_iiiiiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiiiiij"]).apply(null,arguments)};var dynCall_iiiiiiiij=Module["dynCall_iiiiiiiij"]=function(){return(dynCall_iiiiiiiij=Module["dynCall_iiiiiiiij"]=Module["asm"]["dynCall_iiiiiiiij"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_jiiiiii=Module["dynCall_jiiiiii"]=function(){return(dynCall_jiiiiii=Module["dynCall_jiiiiii"]=Module["asm"]["dynCall_jiiiiii"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["wasmMemory"]=wasmMemory;Module["cwrap"]=cwrap;Module["ExitStatus"]=ExitStatus;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
|
|
12
12
|
`
|
|
13
13
|
Module['instantiateWasm'] = function (imports, successCallback) {
|
|
14
14
|
self.downloadAndInstantiateWebAssembly(imports, successCallback);
|