pspdfkit
Version:
View and annotate PDF files in your web app. Full support for mobile and desktop. Runs in the browser using WASM.
1 lines • 213 kB
JavaScript
var __dotnet_runtime=function(e){"use strict";let t,r,n,o,s,i,a,c;const u={},l={};let _;function f(e,u){r=u.internal,n=u.marshaled_imports,t=u.module,d(e),o=e.isNode,s=e.isShell,i=e.isWeb,a=e.isWorker,c=e.isPThread,m.quit=e.quit_,m.ExitStatus=e.ExitStatus,m.requirePromise=e.requirePromise}function d(e){o=e.isNode,s=e.isShell,i=e.isWeb,a=e.isWorker,c=e.isPThread}const m={javaScriptExports:{},mono_wasm_load_runtime_done:!1,mono_wasm_bindings_is_ready:!1,maxParallelDownloads:16,config:{environmentVariables:{}},diagnosticTracing:!1},p=-1;function h(e){return null==e}const w=[[!0,"mono_wasm_register_root","number",["number","number","string"]],[!0,"mono_wasm_deregister_root",null,["number"]],[!0,"mono_wasm_string_get_data",null,["number","number","number","number"]],[!0,"mono_wasm_string_get_data_ref",null,["number","number","number","number"]],[!0,"mono_wasm_set_is_debugger_attached","void",["bool"]],[!0,"mono_wasm_send_dbg_command","bool",["number","number","number","number","number"]],[!0,"mono_wasm_send_dbg_command_with_parms","bool",["number","number","number","number","number","number","string"]],[!0,"mono_wasm_setenv",null,["string","string"]],[!0,"mono_wasm_parse_runtime_options",null,["number","number"]],[!0,"mono_wasm_strdup","number",["string"]],[!0,"mono_background_exec",null,[]],[!0,"mono_set_timeout_exec",null,[]],[!0,"mono_wasm_load_icu_data","number",["number"]],[!0,"mono_wasm_get_icudt_name","string",["string"]],[!1,"mono_wasm_add_assembly","number",["string","number","number"]],[!0,"mono_wasm_add_satellite_assembly","void",["string","string","number","number"]],[!1,"mono_wasm_load_runtime",null,["string","number"]],[!0,"mono_wasm_change_debugger_log_level","void",["number"]],[!0,"mono_wasm_get_corlib","number",[]],[!0,"mono_wasm_assembly_load","number",["string"]],[!0,"mono_wasm_find_corlib_class","number",["string","string"]],[!0,"mono_wasm_assembly_find_class","number",["number","string","string"]],[!0,"mono_wasm_runtime_run_module_cctor","void",["number"]],[!0,"mono_wasm_find_corlib_type","number",["string","string"]],[!0,"mono_wasm_assembly_find_type","number",["number","string","string"]],[!0,"mono_wasm_assembly_find_method","number",["number","string","number"]],[!0,"mono_wasm_invoke_method","number",["number","number","number","number"]],[!1,"mono_wasm_invoke_method_ref","void",["number","number","number","number","number"]],[!0,"mono_wasm_string_get_utf8","number",["number"]],[!0,"mono_wasm_string_from_utf16_ref","void",["number","number","number"]],[!0,"mono_wasm_get_obj_type","number",["number"]],[!0,"mono_wasm_array_length","number",["number"]],[!0,"mono_wasm_array_get","number",["number","number"]],[!0,"mono_wasm_array_get_ref","void",["number","number","number"]],[!1,"mono_wasm_obj_array_new","number",["number"]],[!1,"mono_wasm_obj_array_new_ref","void",["number","number"]],[!1,"mono_wasm_obj_array_set","void",["number","number","number"]],[!1,"mono_wasm_obj_array_set_ref","void",["number","number","number"]],[!0,"mono_wasm_register_bundled_satellite_assemblies","void",[]],[!1,"mono_wasm_try_unbox_primitive_and_get_type_ref","number",["number","number","number"]],[!0,"mono_wasm_box_primitive_ref","void",["number","number","number","number"]],[!0,"mono_wasm_intern_string_ref","void",["number"]],[!0,"mono_wasm_assembly_get_entry_point","number",["number"]],[!0,"mono_wasm_get_delegate_invoke_ref","number",["number"]],[!0,"mono_wasm_string_array_new_ref","void",["number","number"]],[!0,"mono_wasm_typed_array_new_ref","void",["number","number","number","number","number"]],[!0,"mono_wasm_class_get_type","number",["number"]],[!0,"mono_wasm_type_get_class","number",["number"]],[!0,"mono_wasm_get_type_name","string",["number"]],[!0,"mono_wasm_get_type_aqn","string",["number"]],[!0,"mono_wasm_event_pipe_enable","bool",["string","number","number","string","bool","number"]],[!0,"mono_wasm_event_pipe_session_start_streaming","bool",["number"]],[!0,"mono_wasm_event_pipe_session_disable","bool",["number"]],[!0,"mono_wasm_diagnostic_server_create_thread","bool",["string","number"]],[!0,"mono_wasm_diagnostic_server_thread_attach_to_runtime","void",[]],[!0,"mono_wasm_diagnostic_server_post_resume_runtime","void",[]],[!0,"mono_wasm_diagnostic_server_create_stream","number",[]],[!0,"mono_wasm_string_from_js","number",["string"]],[!1,"mono_wasm_exit","void",["number"]],[!0,"mono_wasm_getenv","number",["string"]],[!0,"mono_wasm_set_main_args","void",["number","number"]],[!1,"mono_wasm_enable_on_demand_gc","void",["number"]],[!1,"mono_profiler_init_aot","void",["number"]],[!1,"mono_wasm_exec_regression","number",["number","string"]],[!1,"mono_wasm_invoke_method_bound","number",["number","number"]],[!0,"mono_wasm_write_managed_pointer_unsafe","void",["number","number"]],[!0,"mono_wasm_copy_managed_pointer","void",["number","number"]],[!0,"mono_wasm_i52_to_f64","number",["number","number"]],[!0,"mono_wasm_u52_to_f64","number",["number","number"]],[!0,"mono_wasm_f64_to_i52","number",["number","number"]],[!0,"mono_wasm_f64_to_u52","number",["number","number"]]],g={};function y(e,t,r){const n=function(e,t,r){let n,o="number"==typeof t?t:0;n="number"==typeof r?o+r:e.length-o;const s={read:function(){if(o>=n)return null;const t=e[o];return o+=1,t}};return Object.defineProperty(s,"eof",{get:function(){return o>=n},configurable:!0,enumerable:!0}),s}(e,t,r);let o="",s=0,i=0,a=0,c=0,u=0,l=0;for(;s=n.read(),i=n.read(),a=n.read(),null!==s;)null===i&&(i=0,u+=1),null===a&&(a=0,u+=1),l=s<<16|i<<8|a<<0,c=(16777215&l)>>18,o+=b[c],c=(262143&l)>>12,o+=b[c],u<2&&(c=(4095&l)>>6,o+=b[c]),2===u?o+="==":1===u?o+="=":(c=(63&l)>>0,o+=b[c]);return o}const b=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"];const v=new Map;v.remove=function(e){const t=this.get(e);return this.delete(e),t};let E,A,k,S={},O=0,x=-1;function N(){r.mono_wasm_runtime_is_ready=m.mono_wasm_runtime_is_ready=!0,O=0,S={},x=-1,globalThis.dotnetDebugger||console.debug("mono_wasm_runtime_ready","fe00e07a-5519-4dfe-b35a-f867dbaf2e28")}function j(){}function D(e,r,n,o){const s={res_ok:e,res:{id:r,value:y(new Uint8Array(t.HEAPU8.buffer,n,o))}};v.has(r)&&console.warn(`MONO_WASM: Adding an id (${r}) that already exists in commands_received`),v.set(r,s)}function M(e){e.length>x&&(E&&t._free(E),x=Math.max(e.length,x,256),E=t._malloc(x));const r=atob(e);for(let e=0;e<r.length;e++)t.HEAPU8[E+e]=r.charCodeAt(e)}function R(e,t,r,n,o,s,i){M(n),g.mono_wasm_send_dbg_command_with_parms(e,t,r,E,o,s,i.toString());const{res_ok:a,res:c}=v.remove(e);if(!a)throw new Error("Failed on mono_wasm_invoke_method_debugger_agent_with_parms");return c}function T(e,t,r,n){M(n),g.mono_wasm_send_dbg_command(e,t,r,E,n.length);const{res_ok:o,res:s}=v.remove(e);if(!o)throw new Error("Failed on mono_wasm_send_dbg_command");return s}function I(){const{res_ok:e,res:t}=v.remove(0);if(!e)throw new Error("Failed on mono_wasm_get_dbg_command_info");return t}function $(){}function F(){g.mono_wasm_set_is_debugger_attached(!1)}function P(e){g.mono_wasm_change_debugger_log_level(e)}function C(e,t={}){if("object"!=typeof e)throw new Error(`event must be an object, but got ${JSON.stringify(e)}`);if(void 0===e.eventName)throw new Error(`event.eventName is a required parameter, in event: ${JSON.stringify(e)}`);if("object"!=typeof t)throw new Error(`args must be an object, but got ${JSON.stringify(t)}`);console.debug("mono_wasm_debug_event_raised:aef14bca-5519-4dfe-b35a-f867abc123ae",JSON.stringify(e),JSON.stringify(t))}function U(){-1==m.waitForDebugger&&(m.waitForDebugger=1),g.mono_wasm_set_is_debugger_attached(!0)}function B(e,r){A=t.UTF8ToString(e).concat(".dll"),k=r,console.assert(!0,`Adding an entrypoint breakpoint ${A} at method token ${k}`)}function z(e){if(null!=e.arguments&&!Array.isArray(e.arguments))throw new Error(`"arguments" should be an array, but was ${e.arguments}`);const t=e.objectId,r=e.details;let n={};if(t.startsWith("dotnet:cfo_res:")){if(!(t in S))throw new Error(`Unknown object id ${t}`);n=S[t]}else n=function(e,t){if(e.startsWith("dotnet:array:")){let e;if(void 0===t.items)return e=t.map((e=>e.value)),e;if(void 0===t.dimensionsDetails||1===t.dimensionsDetails.length)return e=t.items.map((e=>e.value)),e}const r={};return Object.keys(t).forEach((e=>{const n=t[e];void 0!==n.get?Object.defineProperty(r,n.name,{get:()=>T(n.get.id,n.get.commandSet,n.get.command,n.get.buffer),set:function(e){return R(n.set.id,n.set.commandSet,n.set.command,n.set.buffer,n.set.length,n.set.valtype,e),!0}}):void 0!==n.set?Object.defineProperty(r,n.name,{get:()=>n.value,set:function(e){return R(n.set.id,n.set.commandSet,n.set.command,n.set.buffer,n.set.length,n.set.valtype,e),!0}}):r[n.name]=n.value})),r}(t,r);const o=null!=e.arguments?e.arguments.map((e=>JSON.stringify(e.value))):[],s=`const fn = ${e.functionDeclaration}; return fn.apply(proxy, [${o}]);`,i=new Function("proxy",s)(n);if(void 0===i)return{type:"undefined"};if(Object(i)!==i)return"object"==typeof i&&null==i?{type:typeof i,subtype:`${i}`,value:null}:{type:typeof i,description:`${i}`,value:`${i}`};if(e.returnByValue&&null==i.subtype)return{type:"object",value:i};if(Object.getPrototypeOf(i)==Array.prototype){const e=L(i);return{type:"object",subtype:"array",className:"Array",description:`Array(${i.length})`,objectId:e}}if(void 0!==i.value||void 0!==i.subtype)return i;if(i==n)return{type:"object",className:"Object",description:"Object",objectId:t};return{type:"object",className:"Object",description:"Object",objectId:L(i)}}function W(e,t={}){return function(e,t){if(!(e in S))throw new Error(`Could not find any object with id ${e}`);const r=S[e],n=Object.getOwnPropertyDescriptors(r);t.accessorPropertiesOnly&&Object.keys(n).forEach((e=>{void 0===n[e].get&&Reflect.deleteProperty(n,e)}));const o=[];return Object.keys(n).forEach((e=>{let t;const r=n[e];t="object"==typeof r.value?Object.assign({name:e},r):void 0!==r.value?{name:e,value:Object.assign({type:typeof r.value,description:""+r.value},r)}:void 0!==r.get?{name:e,get:{className:"Function",description:`get ${e} () {}`,type:"function"}}:{name:e,value:{type:"symbol",value:"<Unknown>",description:"<Unknown>"}},o.push(t)})),{__value_as_json_string__:JSON.stringify(o)}}(`dotnet:cfo_res:${e}`,t)}function L(e){const t="dotnet:cfo_res:"+O++;return S[t]=e,t}function H(e){e in S&&delete S[e]}function V(e,n){const o=t.UTF8ToString(n);r.logging&&"function"==typeof r.logging.debugger&&r.logging.debugger(e,o)}let q=0;function J(e){const t=1===g.mono_wasm_load_icu_data(e);return t&&q++,t}function G(e){return g.mono_wasm_get_icudt_name(e)}function Y(){const e=m.config;let r=!1;if(e.globalizationMode||(e.globalizationMode="auto"),"invariant"===e.globalizationMode&&(r=!0),!r)if(q>0)m.diagnosticTracing&&console.debug("MONO_WASM: ICU data archive(s) loaded, disabling invariant mode");else{if("icu"===e.globalizationMode){const e="invariant globalization mode is inactive and no ICU data archives were loaded";throw t.printErr(`MONO_WASM: ERROR: ${e}`),new Error(e)}m.diagnosticTracing&&console.debug("MONO_WASM: ICU data archive(s) not loaded, using invariant globalization mode"),r=!0}r&&g.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT","1"),g.mono_wasm_setenv("DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY","1")}function X(e){null==e&&(e={}),"writeAt"in e||(e.writeAt="System.Runtime.InteropServices.JavaScript.JavaScriptExports::StopProfile"),"sendTo"in e||(e.sendTo="Interop/Runtime::DumpAotProfileData");const r="aot:write-at-method="+e.writeAt+",send-to-method="+e.sendTo;t.ccall("mono_wasm_load_profiler_aot",null,["string"],[r])}function Z(e){null==e&&(e={}),"writeAt"in e||(e.writeAt="WebAssembly.Runtime::StopProfile"),"sendTo"in e||(e.sendTo="WebAssembly.Runtime::DumpCoverageProfileData");const r="coverage:write-at-method="+e.writeAt+",send-to-method="+e.sendTo;t.ccall("mono_wasm_load_profiler_coverage",null,["string"],[r])}const K=new Map,Q=new Map;let ee=0;function te(e){if(K.has(e))return K.get(e);const t=g.mono_wasm_assembly_load(e);return K.set(e,t),t}function re(e,t,r){ee||(ee=g.mono_wasm_get_corlib());let n=function(e,t,r){let n=Q.get(e);n||Q.set(e,n=new Map);let o=n.get(t);return o||(o=new Map,n.set(t,o)),o.get(r)}(ee,e,t);if(void 0!==n)return n;if(n=g.mono_wasm_assembly_find_class(ee,e,t),r&&!n)throw new Error(`Failed to find corlib class ${e}.${t}`);return function(e,t,r,n){const o=Q.get(e);if(!o)throw new Error("internal error");const s=o.get(t);if(!s)throw new Error("internal error");s.set(r,n)}(ee,e,t,n),n}const ne=new Map,oe=[];function se(e){try{if(0==ne.size)return e;const t=e;for(let r=0;r<oe.length;r++){const n=e.replace(new RegExp(oe[r],"g"),((e,...t)=>{const r=t.find((e=>"object"==typeof e&&void 0!==e.replaceSection));if(void 0===r)return e;const n=r.funcNum,o=r.replaceSection,s=ne.get(Number(n));return void 0===s?e:e.replace(o,`${s} (${o})`)}));if(n!==t)return n}return t}catch(t){return console.debug(`MONO_WASM: failed to symbolicate: ${t}`),e}}function ie(e){let t=e;return t instanceof Error||(t=new Error(t)),se(t.stack)}function ae(e,n,o,s,i){const a=t.UTF8ToString(o),c=!!s,u=t.UTF8ToString(e),l=i,_=t.UTF8ToString(n),f=`[MONO] ${a}`;if(r.logging&&"function"==typeof r.logging.trace)r.logging.trace(u,_,f,c,l);else switch(_){case"critical":case"error":console.error(ie(f));break;case"warning":console.warn(f);break;case"message":default:console.log(f);break;case"info":console.info(f);break;case"debug":console.debug(f)}}let ce;function ue(e){if(!m.mono_wasm_symbols_are_ready){m.mono_wasm_symbols_are_ready=!0;try{t.FS_readFile(e,{flags:"r",encoding:"utf8"}).split(/[\r\n]/).forEach((e=>{const t=e.split(/:/);t.length<2||(t[1]=t.splice(1).join(":"),ne.set(Number(t[0]),t[1]))}))}catch(t){return void(44==t.errno||console.log(`MONO_WASM: Error loading symbol file ${e}: ${JSON.stringify(t)}`))}}}async function le(e,t){try{const r=await _e(e,t);return me(r),r}catch(e){return e instanceof m.ExitStatus?e.status:(me(1,e),1)}}async function _e(e,r){(function(e,r){const n=r.length+1,o=t._malloc(4*n);let s=0;t.setValue(o+4*s,g.mono_wasm_strdup(e),"i32"),s+=1;for(let e=0;e<r.length;++e)t.setValue(o+4*s,g.mono_wasm_strdup(r[e]),"i32"),s+=1;g.mono_wasm_set_main_args(n,o)})(e,r),-1==m.waitForDebugger&&(console.log("MONO_WASM: waiting for debugger..."),await new Promise((e=>{const t=setInterval((()=>{1==m.waitForDebugger&&(clearInterval(t),e())}),100)})));const n=fe(e);return m.javaScriptExports.call_entry_point(n,r)}function fe(e){if(!m.mono_wasm_bindings_is_ready)throw new Error("Assert failed: The runtime must be initialized.");const t=te(e);if(!t)throw new Error("Could not find assembly: "+e);let r=0;1==m.waitForDebugger&&(r=1);const n=g.mono_wasm_assembly_get_entry_point(t,r);if(!n)throw new Error("Could not find entry point for assembly: "+e);return n}function de(e){Mi(e,!1),me(1,e)}function me(e,t){if(m.config.asyncFlushOnExit&&0===e)throw(async()=>{try{await async function(){try{const e=await import("process"),t=e=>new Promise(((t,r)=>{e.on("error",(e=>r(e))),e.write("",(function(){t()}))})),r=t(e.stderr),n=t(e.stdout);await Promise.all([n,r])}catch(e){console.error(`flushing std* streams failed: ${e}`)}}()}finally{pe(e,t)}})(),m.ExitStatus?new m.ExitStatus(e):t||new Error("Stop with exit code "+e);pe(e,t)}function pe(e,n){if(m.ExitStatus&&(!n||n instanceof m.ExitStatus?n=new m.ExitStatus(e):n instanceof Error?t.printErr(r.mono_wasm_stringify_as_error_with_stack(n)):"string"==typeof n?t.printErr(n):t.printErr(JSON.stringify(n))),function(e,t){if(m.config.logExitCode)if(0!=e&&t&&(t instanceof Error?console.error(ie(t)):"string"==typeof t?console.error(t):console.error(JSON.stringify(t))),ce){const t=()=>{0==ce.bufferedAmount?console.log("WASM EXIT "+e):setTimeout(t,100)};t()}else console.log("WASM EXIT "+e)}(e,n),function(e){if(i&&m.config.appendElementOnExit){const t=document.createElement("label");t.id="tests_done",e&&(t.style.background="red"),t.innerHTML=e.toString(),document.body.appendChild(t)}}(e),0!==e||!i){if(!m.quit)throw n;m.quit(e,n)}}oe.push(/at (?<replaceSection>[^:()]+:wasm-function\[(?<funcNum>\d+)\]:0x[a-fA-F\d]+)((?![^)a-fA-F\d])|$)/),oe.push(/(?:WASM \[[\da-zA-Z]+\], (?<replaceSection>function #(?<funcNum>[\d]+) \(''\)))/),oe.push(/(?<replaceSection>[a-z]+:\/\/[^ )]*:wasm-function\[(?<funcNum>\d+)\]:0x[a-fA-F\d]+)/),oe.push(/(?<replaceSection><[^ >]+>[.:]wasm-function\[(?<funcNum>[0-9]+)\])/);const he="function"==typeof globalThis.WeakRef;function we(e){return he?new WeakRef(e):{deref:()=>e}}const ge="function"==typeof globalThis.FinalizationRegistry;let ye;const be=[],ve=[];let Ee=1;const Ae=new Map;ge&&(ye=new globalThis.FinalizationRegistry((function(e){De(null,e)})));const ke=Symbol.for("wasm js_owned_gc_handle"),Se=Symbol.for("wasm cs_owned_js_handle");function Oe(e){return 0!==e&&-1!==e?be[e]:null}function xe(e){if(e[Se])return e[Se];const t=ve.length?ve.pop():Ee++;return be[t]=e,Object.isExtensible(e)&&(e[Se]=t),t}function Ne(e){const t=be[e];if(null!=t){if(globalThis===t)return;void 0!==t[Se]&&(t[Se]=void 0),be[e]=void 0,ve.push(e)}}function je(e,t){e[ke]=t,ge&&ye.register(e,t,e);const r=we(e);Ae.set(t,r)}function De(e,t){e&&(t=e[ke],e[ke]=0,ge&&ye.unregister(e)),0!==t&&Ae.delete(t)&&m.javaScriptExports.release_js_owned_object_by_gc_handle(t)}function Me(e){const t=e[ke];if(0==t)throw new Error("Assert failed: ObjectDisposedException");return t}function Re(e){if(!e)return null;const t=Ae.get(e);return t?t.deref():null}const Te=Symbol.for("wasm promise_control");function Ie(e,t){let r=null;const n=new Promise((function(n,o){r={isDone:!1,promise:null,resolve:t=>{r.isDone||(r.isDone=!0,n(t),e&&e())},reject:e=>{r.isDone||(r.isDone=!0,o(e),t&&t())}}}));r.promise=n;const o=n;return o[Te]=r,{promise:o,promise_control:r}}function $e(e){return e[Te]}function Fe(e){if(!function(e){return void 0!==e[Te]}(e))throw new Error("Assert failed: Promise is not controllable")}const Pe=("object"==typeof Promise||"function"==typeof Promise)&&"function"==typeof Promise.resolve;function Ce(e){return Promise.resolve(e)===e||("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}function Ue(e){const{promise:t,promise_control:r}=Ie();return e().then((e=>r.resolve(e))).catch((e=>r.reject(e))),t}function Be(e){const t=Re(e);if(!t)return;const r=t.promise;if(!r)throw new Error(`Assert failed: Expected Promise for GCHandle ${e}`);Fe(r);$e(r).reject("OperationCanceledException")}const ze=[];let We,Le,He=null;const Ve="undefined"!=typeof BigInt&&"undefined"!=typeof BigInt64Array;function qe(){We||(We=t._malloc(32768),Le=We),ze.push(Le)}function Je(e,t,r){if(!Number.isSafeInteger(e))throw new Error(`Assert failed: Value is not an integer: ${e} (${typeof e})`);if(!(e>=t&&e<=r))throw new Error(`Assert failed: Overflow: value ${e} is out of ${t} ${r} range`)}function Ge(e,r){t.HEAP8.fill(0,e,r+e)}function Ye(e,r){const n=!!r;"number"==typeof r&&Je(r,0,1),t.HEAP32[e>>>2]=n?1:0}function Xe(e,r){Je(r,0,255),t.HEAPU8[e]=r}function Ze(e,r){Je(r,0,65535),t.HEAPU16[e>>>1]=r}function Ke(e,r){t.HEAPU32[e>>>2]=r}function Qe(e,r){Je(r,0,4294967295),t.HEAPU32[e>>>2]=r}function et(e,r){Je(r,-128,127),t.HEAP8[e]=r}function tt(e,r){Je(r,-32768,32767),t.HEAP16[e>>>1]=r}function rt(e,r){t.HEAP32[e>>>2]=r}function nt(e,r){Je(r,-2147483648,2147483647),t.HEAP32[e>>>2]=r}function ot(e){if(0!==e)switch(e){case 1:throw new Error("value was not an integer");case 2:throw new Error("value out of range");default:throw new Error("unknown internal error")}}function st(e,t){if(!Number.isSafeInteger(t))throw new Error(`Assert failed: Value is not a safe integer: ${t} (${typeof t})`);ot(g.mono_wasm_f64_to_i52(e,t))}function it(e,t){if(!Number.isSafeInteger(t))throw new Error(`Assert failed: Value is not a safe integer: ${t} (${typeof t})`);if(!(t>=0))throw new Error("Assert failed: Can't convert negative Number into UInt64");ot(g.mono_wasm_f64_to_u52(e,t))}function at(e,t){if(!Ve)throw new Error("Assert failed: BigInt is not supported.");if("bigint"!=typeof t)throw new Error(`Assert failed: Value is not an bigint: ${t} (${typeof t})`);if(!(t>=At&&t<=Et))throw new Error(`Assert failed: Overflow: value ${t} is out of ${At} ${Et} range`);He[e>>>3]=t}function ct(e,r){if("number"!=typeof r)throw new Error(`Assert failed: Value is not a Number: ${r} (${typeof r})`);t.HEAPF32[e>>>2]=r}function ut(e,r){if("number"!=typeof r)throw new Error(`Assert failed: Value is not a Number: ${r} (${typeof r})`);t.HEAPF64[e>>>3]=r}function lt(e){return!!t.HEAP32[e>>>2]}function _t(e){return t.HEAPU8[e]}function ft(e){return t.HEAPU16[e>>>1]}function dt(e){return t.HEAPU32[e>>>2]}function mt(e){return t.HEAP8[e]}function pt(e){return t.HEAP16[e>>>1]}function ht(e){return t.HEAP32[e>>>2]}function wt(e){const t=g.mono_wasm_i52_to_f64(e,m._i52_error_scratch_buffer);return ot(ht(m._i52_error_scratch_buffer)),t}function gt(e){const t=g.mono_wasm_u52_to_f64(e,m._i52_error_scratch_buffer);return ot(ht(m._i52_error_scratch_buffer)),t}function yt(e){if(!Ve)throw new Error("Assert failed: BigInt is not supported.");return He[e>>>3]}function bt(e){return t.HEAPF32[e>>>2]}function vt(e){return t.HEAPF64[e>>>3]}let Et,At;function kt(e){const r=t._malloc(e.length);return new Uint8Array(t.HEAPU8.buffer,r,e.length).set(e),r}const St=8192;let Ot=null,xt=null,Nt=0;const jt=[],Dt=[];function Mt(e,r){if(e<=0)throw new Error("capacity >= 1");const n=4*(e|=0),o=t._malloc(n);if(o%4!=0)throw new Error("Malloc returned an unaligned offset");return Ge(o,n),new $t(o,e,!0,r)}function Rt(e){let t;if(!e)throw new Error("address must be a location in the native heap");return Dt.length>0?(t=Dt.pop(),t._set_address(e)):t=new Pt(e),t}function Tt(e){let t;if(jt.length>0)t=jt.pop();else{const e=function(){if(h(Ot)||!xt){Ot=Mt(St,"js roots"),xt=new Int32Array(St),Nt=St;for(let e=0;e<St;e++)xt[e]=St-e-1}if(Nt<1)throw new Error("Out of scratch root space");const e=xt[Nt-1];return Nt--,e}();t=new Ft(Ot,e)}if(void 0!==e){if("number"!=typeof e)throw new Error("value must be an address in the managed heap");t.set(e)}else t.set(0);return t}function It(...e){for(let t=0;t<e.length;t++)h(e[t])||e[t].release()}class $t{constructor(e,t,r,n){const o=4*t;this.__offset=e,this.__offset32=e>>>2,this.__count=t,this.length=t,this.__handle=g.mono_wasm_register_root(e,o,n||"noname"),this.__ownsAllocation=r}_throw_index_out_of_range(){throw new Error("index out of range")}_check_in_range(e){(e>=this.__count||e<0)&&this._throw_index_out_of_range()}get_address(e){return this._check_in_range(e),this.__offset+4*e}get_address_32(e){return this._check_in_range(e),this.__offset32+e}get(e){this._check_in_range(e);const r=this.get_address_32(e);return t.HEAPU32[r]}set(e,t){const r=this.get_address(e);return g.mono_wasm_write_managed_pointer_unsafe(r,t),t}copy_value_from_address(e,t){const r=this.get_address(e);g.mono_wasm_copy_managed_pointer(r,t)}_unsafe_get(e){return t.HEAPU32[this.__offset32+e]}_unsafe_set(e,t){const r=this.__offset+e;g.mono_wasm_write_managed_pointer_unsafe(r,t)}clear(){this.__offset&&Ge(this.__offset,4*this.__count)}release(){this.__offset&&this.__ownsAllocation&&(g.mono_wasm_deregister_root(this.__offset),Ge(this.__offset,4*this.__count),t._free(this.__offset)),this.__handle=this.__offset=this.__count=this.__offset32=0}toString(){return`[root buffer @${this.get_address(0)}, size ${this.__count} ]`}}class Ft{constructor(e,t){this.__buffer=e,this.__index=t}get_address(){return this.__buffer.get_address(this.__index)}get_address_32(){return this.__buffer.get_address_32(this.__index)}get address(){return this.__buffer.get_address(this.__index)}get(){return this.__buffer._unsafe_get(this.__index)}set(e){const t=this.__buffer.get_address(this.__index);return g.mono_wasm_write_managed_pointer_unsafe(t,e),e}copy_from(e){const t=e.address,r=this.address;g.mono_wasm_copy_managed_pointer(r,t)}copy_to(e){const t=this.address,r=e.address;g.mono_wasm_copy_managed_pointer(r,t)}copy_from_address(e){const t=this.address;g.mono_wasm_copy_managed_pointer(t,e)}copy_to_address(e){const t=this.address;g.mono_wasm_copy_managed_pointer(e,t)}get value(){return this.get()}set value(e){this.set(e)}valueOf(){throw new Error("Implicit conversion of roots to pointers is no longer supported. Use .value or .address as appropriate")}clear(){this.set(0)}release(){if(!this.__buffer)throw new Error("No buffer");jt.length>128?(function(e){void 0!==e&&(Ot.set(e,0),xt[Nt]=e,Nt++)}(this.__index),this.__buffer=null,this.__index=0):(this.set(0),jt.push(this))}toString(){return`[root @${this.address}]`}}class Pt{constructor(e){this.__external_address=0,this.__external_address_32=0,this._set_address(e)}_set_address(e){this.__external_address=e,this.__external_address_32=e>>>2}get address(){return this.__external_address}get_address(){return this.__external_address}get_address_32(){return this.__external_address_32}get(){return t.HEAPU32[this.__external_address_32]}set(e){return g.mono_wasm_write_managed_pointer_unsafe(this.__external_address,e),e}copy_from(e){const t=e.address,r=this.__external_address;g.mono_wasm_copy_managed_pointer(r,t)}copy_to(e){const t=this.__external_address,r=e.address;g.mono_wasm_copy_managed_pointer(r,t)}copy_from_address(e){const t=this.__external_address;g.mono_wasm_copy_managed_pointer(t,e)}copy_to_address(e){const t=this.__external_address;g.mono_wasm_copy_managed_pointer(e,t)}get value(){return this.get()}set value(e){this.set(e)}valueOf(){throw new Error("Implicit conversion of roots to pointers is no longer supported. Use .value or .address as appropriate")}clear(){this.set(0)}release(){Dt.length<128&&Dt.push(this)}toString(){return`[external root @${this.address}]`}}const Ct=new Map,Ut=new Map,Bt=Symbol.for("wasm bound_cs_function"),zt=Symbol.for("wasm bound_js_function"),Wt=16;function Lt(e){const r=t.stackAlloc(Wt*e);if(!r||r%8!=0)throw new Error("Assert failed: Arg alignment");er(Ht(r,0),yr.None);return er(Ht(r,1),yr.None),r}function Ht(e,t){if(!e)throw new Error("Assert failed: Null args");return e+t*Wt}function Vt(e,t){if(!e)throw new Error("Assert failed: Null signatures");return e+32*t+8}function qt(e){if(!e)throw new Error("Assert failed: Null sig");return dt(e)}function Jt(e){if(!e)throw new Error("Assert failed: Null sig");return dt(e+16)}function Gt(e){if(!e)throw new Error("Assert failed: Null sig");return dt(e+20)}function Yt(e){if(!e)throw new Error("Assert failed: Null sig");return dt(e+24)}function Xt(e){if(!e)throw new Error("Assert failed: Null sig");return dt(e+28)}function Zt(e){if(!e)throw new Error("Assert failed: Null signatures");return ht(e+4)}function Kt(e){if(!e)throw new Error("Assert failed: Null signatures");return ht(e)}function Qt(e){if(!e)throw new Error("Assert failed: Null arg");return dt(e+12)}function er(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e+12,t)}function tr(e){if(!e)throw new Error("Assert failed: Null arg");return dt(e)}function rr(e,t){if(!e)throw new Error("Assert failed: Null arg");if("boolean"!=typeof t)throw new Error(`Assert failed: Value is not a Boolean: ${t} (${typeof t})`);Xe(e,t?1:0)}function nr(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e,t)}function or(e,t){if(!e)throw new Error("Assert failed: Null arg");ut(e,t.getTime())}function sr(e,t){if(!e)throw new Error("Assert failed: Null arg");ut(e,t)}function ir(e){if(!e)throw new Error("Assert failed: Null arg");return dt(e+4)}function ar(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e+4,t)}function cr(e){if(!e)throw new Error("Assert failed: Null arg");return dt(e+4)}function ur(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e+4,t)}function lr(e){if(!e)throw new Error("Assert failed: Null arg");return Rt(e)}function _r(e){if(!e)throw new Error("Assert failed: Null arg");return ht(e+8)}function fr(e,t){if(!e)throw new Error("Assert failed: Null arg");nt(e+8,t)}class dr{dispose(){De(this,0)}get isDisposed(){return 0===this[ke]}toString(){return`CsObject(gc_handle: ${this[ke]})`}}class mr extends Error{constructor(e){super(e),this.superStack=Object.getOwnPropertyDescriptor(this,"stack"),Object.defineProperty(this,"stack",{get:this.getManageStack})}getSuperStack(){return this.superStack?this.superStack.value:super.stack}getManageStack(){const e=this[ke];if(e){const t=m.javaScriptExports.get_managed_stack_trace(e);if(t)return t+"\n"+this.getSuperStack()}return this.getSuperStack()}dispose(){De(this,0)}get isDisposed(){return 0===this[ke]}}function pr(e){return e==yr.Byte?1:e==yr.Int32?4:e==yr.Int52||e==yr.Double?8:e==yr.String||e==yr.Object||e==yr.JSObject?Wt:-1}class hr{constructor(e,t,r){this._pointer=e,this._length=t,this._viewType=r}_unsafe_create_view(){const e=0==this._viewType?new Uint8Array(t.HEAPU8.buffer,this._pointer,this._length):1==this._viewType?new Int32Array(t.HEAP32.buffer,this._pointer,this._length):2==this._viewType?new Float64Array(t.HEAPF64.buffer,this._pointer,this._length):null;if(!e)throw new Error("NotImplementedException");return e}set(e,t){if(this.isDisposed)throw new Error("Assert failed: ObjectDisposedException");const r=this._unsafe_create_view();if(!e||!r||e.constructor!==r.constructor)throw new Error(`Assert failed: Expected ${r.constructor}`);r.set(e,t)}copyTo(e,t){if(this.isDisposed)throw new Error("Assert failed: ObjectDisposedException");const r=this._unsafe_create_view();if(!e||!r||e.constructor!==r.constructor)throw new Error(`Assert failed: Expected ${r.constructor}`);const n=r.subarray(t);e.set(n)}slice(e,t){if(this.isDisposed)throw new Error("Assert failed: ObjectDisposedException");return this._unsafe_create_view().slice(e,t)}get length(){if(this.isDisposed)throw new Error("Assert failed: ObjectDisposedException");return this._length}get byteLength(){if(this.isDisposed)throw new Error("Assert failed: ObjectDisposedException");return 0==this._viewType?this._length:1==this._viewType?this._length<<2:2==this._viewType?this._length<<3:0}}class wr extends hr{constructor(e,t,r){super(e,t,r),this.is_disposed=!1}dispose(){this.is_disposed=!0}get isDisposed(){return this.is_disposed}}class gr extends hr{constructor(e,t,r){super(e,t,r)}dispose(){De(this,0)}get isDisposed(){return 0===this[ke]}}var yr;!function(e){e[e.None=0]="None",e[e.Void=1]="Void",e[e.Discard=2]="Discard",e[e.Boolean=3]="Boolean",e[e.Byte=4]="Byte",e[e.Char=5]="Char",e[e.Int16=6]="Int16",e[e.Int32=7]="Int32",e[e.Int52=8]="Int52",e[e.BigInt64=9]="BigInt64",e[e.Double=10]="Double",e[e.Single=11]="Single",e[e.IntPtr=12]="IntPtr",e[e.JSObject=13]="JSObject",e[e.Object=14]="Object",e[e.String=15]="String",e[e.Exception=16]="Exception",e[e.DateTime=17]="DateTime",e[e.DateTimeOffset=18]="DateTimeOffset",e[e.Nullable=19]="Nullable",e[e.Task=20]="Task",e[e.Array=21]="Array",e[e.ArraySegment=22]="ArraySegment",e[e.Span=23]="Span",e[e.Action=24]="Action",e[e.Function=25]="Function",e[e.JSException=26]="JSException"}(yr||(yr={}));const br=new Map,vr=new Map;let Er=0,Ar=null,kr=0;const Sr=new class{init_fields(){this.mono_wasm_string_decoder_buffer||(this.mono_text_decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):null,this.mono_wasm_string_root=Tt(),this.mono_wasm_string_decoder_buffer=t._malloc(12))}copy(e){if(this.init_fields(),0===e)return null;this.mono_wasm_string_root.value=e;const t=this.copy_root(this.mono_wasm_string_root);return this.mono_wasm_string_root.value=0,t}copy_root(e){if(this.init_fields(),0===e.value)return null;const t=this.mono_wasm_string_decoder_buffer+0,r=this.mono_wasm_string_decoder_buffer+4,n=this.mono_wasm_string_decoder_buffer+8;let o;g.mono_wasm_string_get_data_ref(e.address,t,r,n);const s=ht(r),i=dt(t),a=ht(n);if(a&&(o=br.get(e.value)),void 0===o&&(s&&i?(o=this.decode(i,i+s),a&&br.set(e.value,o)):o=Or),void 0===o)throw new Error(`internal error when decoding string at location ${e.value}`);return o}decode(e,r){let n="";if(this.mono_text_decoder){const o="undefined"!=typeof SharedArrayBuffer&&t.HEAPU8.buffer instanceof SharedArrayBuffer?t.HEAPU8.slice(e,r):t.HEAPU8.subarray(e,r);n=this.mono_text_decoder.decode(o)}else for(let o=0;o<r-e;o+=2){const r=t.getValue(e+o,"i16");n+=String.fromCharCode(r)}return n}},Or="";function xr(e){return Sr.copy(e)}function Nr(e){return Sr.copy_root(e)}function jr(e){if(0===e.length)return Or;const t=function(e){const t=Tt();try{return Dr(e,t),t.value}finally{t.release()}}(e),r=br.get(t);if(h(r))throw new Error("internal error: interned_string_table did not contain string after js_string_to_mono_string_interned");return r}function Dr(e,t){let r;if("symbol"==typeof e?(r=e.description,"string"!=typeof r&&(r=Symbol.keyFor(e)),"string"!=typeof r&&(r="<unknown Symbol>")):"string"==typeof e&&(r=e),"string"!=typeof r)throw new Error(`Argument to js_string_to_mono_string_interned must be a string but was ${e}`);if(0===r.length&&Er)return void t.set(Er);const n=vr.get(r);n?t.set(n):(Rr(r,t),function(e,t,r){if(!t.value)throw new Error("null pointer passed to _store_string_in_intern_table");kr>=8192&&(Ar=null),Ar||(Ar=Mt(8192,"interned strings"),kr=0);const n=Ar,o=kr++;if(r&&(g.mono_wasm_intern_string_ref(t.address),!t.value))throw new Error("mono_wasm_intern_string_ref produced a null pointer");vr.set(e,t.value),br.set(t.value,e),0!==e.length||Er||(Er=t.value),n.copy_value_from_address(o,t.address)}(r,t,!0))}function Mr(e,t){if(t.clear(),null!==e)if("symbol"==typeof e)Dr(e,t);else{if("string"!=typeof e)throw new Error("Expected string argument, got "+typeof e);if(0===e.length)Dr(e,t);else{if(e.length<=256){const r=vr.get(e);if(r)return void t.set(r)}Rr(e,t)}}}function Rr(e,r){const n=t._malloc(2*(e.length+1)),o=n>>>1|0;for(let r=0;r<e.length;r++)t.HEAP16[o+r]=e.charCodeAt(r);t.HEAP16[o+e.length]=0,g.mono_wasm_string_from_utf16_ref(n,e.length,r.address),t._free(n)}function Tr(e){const t=Tt();try{return Mr(e,t),t.value}finally{t.release()}}function Ir(e,t,r,n,o,s){let i="",a="",c="";const u="converter"+t;let l="null",_="null",f="null",d="null",m=qt(e);if(m===yr.None||m===yr.Void)return{converters:i,call_body:c,marshaler_type:m};const p=Jt(e);if(p!==yr.None){const e=Ut.get(p);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${p} at ${t}`);m!=yr.Nullable?(d="converter"+t+"_res",i+=", "+d,a+=" "+yr[p],s[d]=e):m=p}const h=Gt(e);if(h!==yr.None){const e=Ct.get(h);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${h} at ${t}`);l="converter"+t+"_arg1",i+=", "+l,a+=" "+yr[h],s[l]=e}const w=Yt(e);if(w!==yr.None){const e=Ct.get(w);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${w} at ${t}`);_="converter"+t+"_arg2",i+=", "+_,a+=" "+yr[w],s[_]=e}const g=Xt(e);if(g!==yr.None){const e=Ct.get(g);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${g} at ${t}`);f="converter"+t+"_arg3",i+=", "+f,a+=" "+yr[g],s[f]=e}const y=Ut.get(m),b=yr[m];if(!y||"function"!=typeof y)throw new Error(`Assert failed: Unknow converter for type ${b} (${m}) at ${t} `);return i+=", "+u,a+=" "+b,s[u]=y,c=m==yr.Task?` ${u}(args + ${r}, ${o}, signature + ${n}, ${d}); // ${a} \n`:m==yr.Action||m==yr.Function?` ${u}(args + ${r}, ${o}, signature + ${n}, ${d}, ${l}, ${_}, ${_}); // ${a} \n`:` ${u}(args + ${r}, ${o}, signature + ${n}); // ${a} \n`,{converters:i,call_body:c,marshaler_type:m}}function $r(e,t){null==t?er(e,yr.None):(er(e,yr.Boolean),rr(e,t))}function Fr(e,t){null==t?er(e,yr.None):(er(e,yr.Byte),function(e,t){if(!e)throw new Error("Assert failed: Null arg");Xe(e,t)}(e,t))}function Pr(e,t){null==t?er(e,yr.None):(er(e,yr.Char),function(e,t){if(!e)throw new Error("Assert failed: Null arg");Ze(e,t)}(e,t))}function Cr(e,t){null==t?er(e,yr.None):(er(e,yr.Int16),function(e,t){if(!e)throw new Error("Assert failed: Null arg");tt(e,t)}(e,t))}function Ur(e,t){null==t?er(e,yr.None):(er(e,yr.Int32),function(e,t){if(!e)throw new Error("Assert failed: Null arg");nt(e,t)}(e,t))}function Br(e,t){null==t?er(e,yr.None):(er(e,yr.Int52),function(e,t){if(!e)throw new Error("Assert failed: Null arg");if(!Number.isSafeInteger(t))throw new Error(`Assert failed: Value is not an integer: ${t} (${typeof t})`);ut(e,t)}(e,t))}function zr(e,t){null==t?er(e,yr.None):(er(e,yr.BigInt64),function(e,t){if(!e)throw new Error("Assert failed: Null arg");at(e,t)}(e,t))}function Wr(e,t){null==t?er(e,yr.None):(er(e,yr.Double),sr(e,t))}function Lr(e,t){null==t?er(e,yr.None):(er(e,yr.Single),function(e,t){if(!e)throw new Error("Assert failed: Null arg");ct(e,t)}(e,t))}function Hr(e,t){null==t?er(e,yr.None):(er(e,yr.IntPtr),nr(e,t))}function Vr(e,t){if(null==t)er(e,yr.None);else{if(!(t instanceof Date))throw new Error("Assert failed: Value is not a Date");er(e,yr.DateTime),or(e,t)}}function qr(e,t){if(null==t)er(e,yr.None);else{if(!(t instanceof Date))throw new Error("Assert failed: Value is not a Date");er(e,yr.DateTimeOffset),or(e,t)}}function Jr(e,t){if(null==t)er(e,yr.None);else{if(er(e,yr.String),"string"!=typeof t)throw new Error("Assert failed: Value is not a String");Gr(e,t)}}function Gr(e,t){const r=lr(e);try{Mr(t,r)}finally{r.release()}}function Yr(e){er(e,yr.None)}function Xr(e,t,r,n,o,s,i){if(null==t)return void er(e,yr.None);if(!(t&&t instanceof Function))throw new Error("Assert failed: Value is not a Function");const a=e=>{const r=Ht(e,0),a=Ht(e,1),c=Ht(e,2),u=Ht(e,3),l=Ht(e,4);try{let e,r,_;o&&(e=o(c)),s&&(r=s(u)),i&&(_=i(l));const f=t(e,r,_);n&&n(a,f)}catch(e){Qr(r,e)}};a[zt]=!0;ar(e,xe(a)),er(e,yr.Function)}class Zr{constructor(e){this.promise=e}dispose(){De(this,0)}get isDisposed(){return 0===this[ke]}}function Kr(e,t,r,n){if(null==t)return void er(e,yr.None);if(!Ce(t))throw new Error("Assert failed: Value is not a Promise");const o=m.javaScriptExports.create_task_callback();ur(e,o),er(e,yr.Task);const s=new Zr(t);je(s,o),t.then((e=>{m.javaScriptExports.complete_task(o,null,e,n||tn),De(s,o)})).catch((e=>{m.javaScriptExports.complete_task(o,e,null,void 0),De(s,o)}))}function Qr(e,t){if(null==t)er(e,yr.None);else if(t instanceof mr){er(e,yr.Exception);ur(e,Me(t))}else{if("object"!=typeof t&&"string"!=typeof t)throw new Error("Assert failed: Value is not an Error "+typeof t);er(e,yr.JSException);Gr(e,t.toString());const r=t[Se];if(r)ar(e,r);else{ar(e,xe(t))}}}function en(e,t){if(null==t)er(e,yr.None);else{if(void 0!==t[ke])throw new Error("Assert failed: JSObject proxy of ManagedObject proxy is not supported");if("function"!=typeof t&&"object"!=typeof t)throw new Error(`Assert failed: JSObject proxy of ${typeof t} is not supported`);er(e,yr.JSObject);ar(e,xe(t))}}function tn(e,t){if(null==t)er(e,yr.None);else{const r=t[ke],n=typeof t;if(void 0===r)if("string"===n||"symbol"===n)er(e,yr.String),Gr(e,t);else if("number"===n)er(e,yr.Double),sr(e,t);else{if("bigint"===n)throw new Error("NotImplementedException: bigint");if("boolean"===n)er(e,yr.Boolean),rr(e,t);else if(t instanceof Date)er(e,yr.DateTime),or(e,t);else if(t instanceof Error)Qr(e,t);else if(t instanceof Uint8Array)nn(e,t,yr.Byte);else if(t instanceof Float64Array)nn(e,t,yr.Double);else if(t instanceof Int32Array)nn(e,t,yr.Int32);else if(Array.isArray(t))nn(e,t,yr.Object);else{if(t instanceof Int16Array||t instanceof Int8Array||t instanceof Uint8ClampedArray||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Float32Array)throw new Error("NotImplementedException: TypedArray");if(Ce(t))Kr(e,t);else{if(t instanceof wr)throw new Error("NotImplementedException: Span");if("object"!=n)throw new Error(`JSObject proxy is not supported for ${n} ${t}`);{const r=xe(t);er(e,yr.JSObject),ar(e,r)}}}}else{if(Me(t),t instanceof gr)throw new Error("NotImplementedException: ArraySegment");if(t instanceof mr)er(e,yr.Exception),ur(e,r);else{if(!(t instanceof dr))throw new Error("NotImplementedException "+n);er(e,yr.Object),ur(e,r)}}}}function rn(e,t,r){if(!r)throw new Error("Assert failed: Expected valid sig parameter");nn(e,t,Gt(r))}function nn(e,r,n){if(null==r)er(e,yr.None);else{const o=pr(n);if(-1==o)throw new Error(`Assert failed: Element type ${yr[n]} not supported`);const s=r.length,i=o*s,a=t._malloc(i);if(n==yr.String){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Ge(a,i),g.mono_wasm_register_root(a,i,"marshal_array_to_cs");for(let e=0;e<s;e++){Jr(Ht(a,e),r[e])}}else if(n==yr.Object){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Ge(a,i),g.mono_wasm_register_root(a,i,"marshal_array_to_cs");for(let e=0;e<s;e++){tn(Ht(a,e),r[e])}}else if(n==yr.JSObject){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Ge(a,i);for(let e=0;e<s;e++){en(Ht(a,e),r[e])}}else if(n==yr.Byte){if(!(Array.isArray(r)||r instanceof Uint8Array))throw new Error("Assert failed: Value is not an Array or Uint8Array");t.HEAPU8.subarray(a,a+s).set(r)}else if(n==yr.Int32){if(!(Array.isArray(r)||r instanceof Int32Array))throw new Error("Assert failed: Value is not an Array or Int32Array");t.HEAP32.subarray(a>>2,(a>>2)+s).set(r)}else{if(n!=yr.Double)throw new Error("not implemented");if(!(Array.isArray(r)||r instanceof Float64Array))throw new Error("Assert failed: Value is not an Array or Float64Array");t.HEAPF64.subarray(a>>3,(a>>3)+s).set(r)}nr(e,a),er(e,yr.Array),function(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e+4,t)}(e,n),fr(e,r.length)}}function on(e,t,r){if(!r)throw new Error("Assert failed: Expected valid sig parameter");if(t.isDisposed)throw new Error("Assert failed: ObjectDisposedException");an(r,t._viewType),er(e,yr.Span),nr(e,t._pointer),fr(e,t.length)}function sn(e,t,r){if(!r)throw new Error("Assert failed: Expected valid sig parameter");const n=Me(t);if(!n)throw new Error("Assert failed: Only roundtrip of ArraySegment instance created by C#");an(r,t._viewType),er(e,yr.ArraySegment),nr(e,t._pointer),fr(e,t.length),ur(e,n)}function an(e,t){const r=Gt(e);if(r==yr.Byte){if(0!=t)throw new Error("Assert failed: Expected MemoryViewType.Byte")}else if(r==yr.Int32){if(1!=t)throw new Error("Assert failed: Expected MemoryViewType.Int32")}else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);if(2!=t)throw new Error("Assert failed: Expected MemoryViewType.Double")}}function cn(e,t,r,n,o,s){let i="",a="",c="";const u="converter"+t;let l="null",_="null",f="null",d="null",m=qt(e);if(m===yr.None||m===yr.Void)return{converters:i,call_body:c,marshaler_type:m};const p=Jt(e);if(p!==yr.None){const e=Ct.get(p);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${p} at ${t}`);m!=yr.Nullable?(d="converter"+t+"_res",i+=", "+d,a+=" "+yr[p],s[d]=e):m=p}const h=Gt(e);if(h!==yr.None){const e=Ut.get(h);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${h} at ${t}`);l="converter"+t+"_arg1",i+=", "+l,a+=" "+yr[h],s[l]=e}const w=Yt(e);if(w!==yr.None){const e=Ut.get(w);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${w} at ${t}`);_="converter"+t+"_arg2",i+=", "+_,a+=" "+yr[w],s[_]=e}const g=Xt(e);if(g!==yr.None){const e=Ut.get(g);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${g} at ${t}`);f="converter"+t+"_arg3",i+=", "+f,a+=" "+yr[g],s[f]=e}const y=Ct.get(m);if(!y||"function"!=typeof y)throw new Error(`Assert failed: Unknow converter for type ${m} at ${t} `);return i+=", "+u,a+=" "+yr[m],s[u]=y,c=m==yr.Task?` const ${o} = ${u}(args + ${r}, signature + ${n}, ${d}); // ${a} \n`:m==yr.Action||m==yr.Function?` const ${o} = ${u}(args + ${r}, signature + ${n}, ${d}, ${l}, ${_}, ${f}); // ${a} \n`:` const ${o} = ${u}(args + ${r}, signature + ${n}); // ${a} \n`,{converters:i,call_body:c,marshaler_type:m}}function un(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return!!_t(e)}(e)}function ln(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return _t(e)}(e)}function _n(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return ft(e)}(e)}function fn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return pt(e)}(e)}function dn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return ht(e)}(e)}function mn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return vt(e)}(e)}function pn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return yt(e)}(e)}function hn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return bt(e)}(e)}function wn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return vt(e)}(e)}function gn(e){return Qt(e)==yr.None?null:tr(e)}function yn(){return null}function bn(e){return Qt(e)===yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");const t=vt(e);return new Date(t)}(e)}function vn(e,t,r,n,o,s){if(Qt(e)===yr.None)return null;const i=cr(e);let a=Re(i);return null!=a||(a=(e,t,a)=>m.javaScriptExports.call_delegate(i,e,t,a,r,n,o,s),je(a,i)),a}function En(e,t,r){const n=Qt(e);if(n===yr.None)return null;if(n!==yr.Task){if(r||(r=Ct.get(n)),!r)throw new Error(`Assert failed: Unknow sub_converter for type ${yr[n]} `);const t=r(e);return new Promise((e=>e(t)))}const o=ir(e);if(0==o)return new Promise((e=>e(void 0)));const s=Oe(o);if(!s)throw new Error(`Assert failed: ERR28: promise not found for js_handle: ${o} `);Fe(s);const i=$e(s),a=i.resolve;return i.resolve=e=>{const t=Qt(e);if(t===yr.None)return void a(null);if(r||(r=Ct.get(t)),!r)throw new Error(`Assert failed: Unknow sub_converter for type ${yr[t]}`);const n=r(e);a(n)},s}function An(e){const t=Ht(e,0),r=Ht(e,1),n=Ht(e,2),o=Ht(e,3),s=Qt(t),i=Qt(o),a=ir(n);if(0===a){const{promise:e,promise_control:n}=Ie();if(ar(r,xe(e)),s!==yr.None){const e=Sn(t);n.reject(e)}else if(i!==yr.Task){const e=Ct.get(i);if(!e)throw new Error(`Assert failed: Unknow sub_converter for type ${yr[i]} `);const t=e(o);n.resolve(t)}}else{const e=Oe(a);if(!e)throw new Error(`Assert failed: ERR25: promise not found for js_handle: ${a} `);Fe(e);const r=$e(e);if(s!==yr.None){const e=Sn(t);r.reject(e)}else i!==yr.Task&&r.resolve(o)}er(r,yr.Task),er(t,yr.None)}function kn(e){if(Qt(e)==yr.None)return null;const t=lr(e);try{return Nr(t)}finally{t.release()}}function Sn(e){const t=Qt(e);if(t==yr.None)return null;if(t==yr.JSException){return Oe(ir(e))}const r=cr(e);let n=Re(r);if(null==n){const t=kn(e);n=new mr(t),je(n,r)}return n}function On(e){if(Qt(e)==yr.None)return null;return Oe(ir(e))}function xn(e){const t=Qt(e);if(t==yr.None)return null;if(t==yr.JSObject){return Oe(ir(e))}if(t==yr.Array){return jn(e,function(e){if(!e)throw new Error("Assert failed: Null arg");return dt(e+4)}(e))}if(t==yr.Object){const t=cr(e);if(0===t)return null;let r=Re(t);return r||(r=new dr,je(r,t)),r}const r=Ct.get(t);if(!r)throw new Error(`Assert failed: Unknow converter for type ${yr[t]}`);return r(e)}function Nn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");return jn(e,Gt(t))}function jn(e,r){if(Qt(e)==yr.None)return null;if(-1==pr(r))throw new Error(`Assert failed: Element type ${yr[r]} not supported`);const n=tr(e),o=_r(e);let s=null;if(r==yr.String){s=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);s[e]=kn(t)}g.mono_wasm_deregister_root(n)}else if(r==yr.Object){s=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);s[e]=xn(t)}g.mono_wasm_deregister_root(n)}else if(r==yr.JSObject){s=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);s[e]=On(t)}}else if(r==yr.Byte){s=t.HEAPU8.subarray(n,n+o).slice()}else if(r==yr.Int32){s=t.HEAP32.subarray(n>>2,(n>>2)+o).slice()}else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);s=t.HEAPF64.subarray(n>>3,(n>>3)+o).slice()}return t._free(n),s}function Dn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");const r=Gt(t),n=tr(e),o=_r(e);let s=null;if(r==yr.Byte)s=new wr(n,o,0);else if(r==yr.Int32)s=new wr(n,o,1);else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);s=new wr(n,o,2)}return s}function Mn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");const r=Gt(t),n=tr(e),o=_r(e);let s=null;if(r==yr.Byte)s=new gr(n,o,0);else if(r==yr.Int32)s=new gr(n,o,1);else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);s=new gr(n,o,2)}return je(s,cr(e)),s}let Rn,Tn;const In={};const $n=Symbol.for("wasm type");const Fn=Ie(),Pn=Ie();let Cn=0,Un=0,Bn=0,zn=0;const Wn=[],Ln=Object.create(null);let Hn,Vn=0;const qn={"js-module-threads":!0},Jn={dotnetwasm:!0},Gn={"js-module-threads":!0,dotnetwasm:!0};async function Yn(){m.diagnosticTracing&&console.debug("MONO_WASM: mono_download_assets"),m.maxParallelDownloads=m.config.maxParallelDownloads||m.maxParallelDownloads;try{const e=[];for(const t of m.config.assets){const r=t;if(Gn[r.behavior]||zn++,!qn[r.behavior]){const t=Jn[r.behavior];if(Bn++,r.pendingDownload){r.pendingDownloadInternal=r.pendingDownload;const n=async()=>{const e=await r.pendingDownloadInternal.response;return t||(r.buffer=await e.arrayBuffer()),++Cn,{asset:r,buffer:r.buffer}};e.push(n())}else{const n=async()=>(r.buffer=await Xn(r,!t),{asset:r,buffer:r.buffer});e.push(n())}}}Pn.promise_control.resolve();const r=[];for(const t of e)r.push((async()=>{const e=await t,r=e.asset;if(e.buffer){if(!Gn[r.behavior]){const t=r.pendingDownloadInternal.url,n=new Uint8Array(r.buffer);r.pendingDownloadInternal=null,r.pendingDownload=null,r.buffer=null,e.buffer=null,await ki.promise,eo(r,t,n)}}else{if(Jn[r.behavior])Jn[r.behavior]&&++Cn;else{if(!r.isOptional)throw new Error("Assert failed: Expected asset to have the downloaded buffer");qn[r.behavior]||Bn--,Gn[r.behavior]||zn--}}})());Promise.all(r).then((()=>{Fn.promise_control.resolve()})).catch((e=>{t.printErr("MONO_WASM: Error in mono_download_assets: "+e),Mi(e,!0)}))}catch(e