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 • 245 kB
JavaScript
var __dotnet_runtime=function(e){"use strict";let t,r,n,o,i,a,s,c;const _={},u={};let l;function f(e,_){r=_.internal,n=_.marshaled_imports,t=_.module,m(e),o=e.isNode,i=e.isShell,a=e.isWeb,s=e.isWorker,c=e.isPThread,d.quit=e.quit_,d.ExitStatus=e.ExitStatus,d.requirePromise=e.requirePromise}function m(e){o=e.isNode,i=e.isShell,a=e.isWeb,s=e.isWorker,c=e.isPThread}const d={javaScriptExports:{},mono_wasm_load_runtime_done:!1,mono_wasm_bindings_is_ready:!1,maxParallelDownloads:16,config:{environmentVariables:{}},diagnosticTracing:!1},h=-1;function p(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 i={read:function(){if(o>=n)return null;const t=e[o];return o+=1,t}};return Object.defineProperty(i,"eof",{get:function(){return o>=n},configurable:!0,enumerable:!0}),i}(e,t,r);let o="",i=0,a=0,s=0,c=0,_=0,u=0;for(;i=n.read(),a=n.read(),s=n.read(),null!==i;)null===a&&(a=0,_+=1),null===s&&(s=0,_+=1),u=i<<16|a<<8|s<<0,c=(16777215&u)>>18,o+=b[c],c=(262143&u)>>12,o+=b[c],_<2&&(c=(4095&u)>>6,o+=b[c]),2===_?o+="==":1===_?o+="=":(c=(63&u)>>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,S,A,k={},N=0,O=-1;function x(){r.mono_wasm_runtime_is_ready=d.mono_wasm_runtime_is_ready=!0,N=0,k={},O=-1,globalThis.dotnetDebugger||console.debug("mono_wasm_runtime_ready","fe00e07a-5519-4dfe-b35a-f867dbaf2e28")}function j(){}function T(e,r,n,o){const i={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,i)}function D(e){e.length>O&&(E&&t._free(E),O=Math.max(e.length,O,256),E=t._malloc(O));const r=atob(e);for(let e=0;e<r.length;e++)t.HEAPU8[E+e]=r.charCodeAt(e)}function M(e,t,r,n,o,i,a){D(n),g.mono_wasm_send_dbg_command_with_parms(e,t,r,E,o,i,a.toString());const{res_ok:s,res:c}=v.remove(e);if(!s)throw new Error("Failed on mono_wasm_invoke_method_debugger_agent_with_parms");return c}function R(e,t,r,n){D(n),g.mono_wasm_send_dbg_command(e,t,r,E,n.length);const{res_ok:o,res:i}=v.remove(e);if(!o)throw new Error("Failed on mono_wasm_send_dbg_command");return i}function P(){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 C(){}function I(){g.mono_wasm_set_is_debugger_attached(!1)}function F(e){g.mono_wasm_change_debugger_log_level(e)}function $(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==d.waitForDebugger&&(d.waitForDebugger=1),g.mono_wasm_set_is_debugger_attached(!0)}function B(e,r){S=t.UTF8ToString(e).concat(".dll"),A=r,console.assert(!0,`Adding an entrypoint breakpoint ${S} at method token ${A}`)}function W(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 k))throw new Error(`Unknown object id ${t}`);n=k[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:()=>R(n.get.id,n.get.commandSet,n.get.command,n.get.buffer),set:function(e){return M(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 M(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))):[],i=`const fn = ${e.functionDeclaration}; return fn.apply(proxy, [${o}]);`,a=new Function("proxy",i)(n);if(void 0===a)return{type:"undefined"};if(Object(a)!==a)return"object"==typeof a&&null==a?{type:typeof a,subtype:`${a}`,value:null}:{type:typeof a,description:`${a}`,value:`${a}`};if(e.returnByValue&&null==a.subtype)return{type:"object",value:a};if(Object.getPrototypeOf(a)==Array.prototype){const e=L(a);return{type:"object",subtype:"array",className:"Array",description:`Array(${a.length})`,objectId:e}}if(void 0!==a.value||void 0!==a.subtype)return a;if(a==n)return{type:"object",className:"Object",description:"Object",objectId:t};return{type:"object",className:"Object",description:"Object",objectId:L(a)}}function z(e,t={}){return function(e,t){if(!(e in k))throw new Error(`Could not find any object with id ${e}`);const r=k[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:"+N++;return k[t]=e,t}function H(e){e in k&&delete k[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 G(e){const t=1===g.mono_wasm_load_icu_data(e);return t&&q++,t}function J(e){return g.mono_wasm_get_icudt_name(e)}function Y(){const e=d.config;let r=!1;if(e.globalizationMode||(e.globalizationMode="auto"),"invariant"===e.globalizationMode&&(r=!0),!r)if(q>0)d.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)}d.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 i=o.get(t);if(!i)throw new Error("internal error");i.set(r,n)}(ee,e,t,n),n}const ne=new Map,oe=[];function ie(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,i=ne.get(Number(n));return void 0===i?e:e.replace(o,`${i} (${o})`)}));if(n!==t)return n}return t}catch(t){return console.debug(`MONO_WASM: failed to symbolicate: ${t}`),e}}function ae(e){let t=e;return t instanceof Error||(t=new Error(t)),ie(t.stack)}function se(e,n,o,i,a){const s=t.UTF8ToString(o),c=!!i,_=t.UTF8ToString(e),u=a,l=t.UTF8ToString(n),f=`[MONO] ${s}`;if(r.logging&&"function"==typeof r.logging.trace)r.logging.trace(_,l,f,c,u);else switch(l){case"critical":case"error":console.error(ae(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 _e(e){if(!d.mono_wasm_symbols_are_ready){d.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 ue(e,t){try{const r=await le(e,t);return de(r),r}catch(e){return e instanceof d.ExitStatus?e.status:(de(1,e),1)}}async function le(e,r){(function(e,r){const n=r.length+1,o=t._malloc(4*n);let i=0;t.setValue(o+4*i,g.mono_wasm_strdup(e),"i32"),i+=1;for(let e=0;e<r.length;++e)t.setValue(o+4*i,g.mono_wasm_strdup(r[e]),"i32"),i+=1;g.mono_wasm_set_main_args(n,o)})(e,r),-1==d.waitForDebugger&&(console.log("MONO_WASM: waiting for debugger..."),await new Promise((e=>{const t=setInterval((()=>{1==d.waitForDebugger&&(clearInterval(t),e())}),100)})));const n=fe(e);return d.javaScriptExports.call_entry_point(n,r)}function fe(e){if(!d.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==d.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 me(e){Da(e,!1),de(1,e)}function de(e,t){if(d.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{he(e,t)}})(),d.ExitStatus?new d.ExitStatus(e):t||new Error("Stop with exit code "+e);he(e,t)}function he(e,n){if(d.ExitStatus&&(!n||n instanceof d.ExitStatus?n=new d.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(d.config.logExitCode)if(0!=e&&t&&(t instanceof Error?console.error(ae(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(a&&d.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||!a){if(!d.quit)throw n;d.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 pe="function"==typeof globalThis.WeakRef;function we(e){return pe?new WeakRef(e):{deref:()=>e}}const ge="function"==typeof globalThis.FinalizationRegistry;let ye;const be=[],ve=[];let Ee=1;const Se=new Map;ge&&(ye=new globalThis.FinalizationRegistry((function(e){Te(null,e)})));const Ae=Symbol.for("wasm js_owned_gc_handle"),ke=Symbol.for("wasm cs_owned_js_handle");function Ne(e){return 0!==e&&-1!==e?be[e]:null}function Oe(e){if(e[ke])return e[ke];const t=ve.length?ve.pop():Ee++;return be[t]=e,Object.isExtensible(e)&&(e[ke]=t),t}function xe(e){const t=be[e];if(null!=t){if(globalThis===t)return;void 0!==t[ke]&&(t[ke]=void 0),be[e]=void 0,ve.push(e)}}function je(e,t){e[Ae]=t,ge&&ye.register(e,t,e);const r=we(e);Se.set(t,r)}function Te(e,t){e&&(t=e[Ae],e[Ae]=0,ge&&ye.unregister(e)),0!==t&&Se.delete(t)&&d.javaScriptExports.release_js_owned_object_by_gc_handle(t)}function De(e){const t=e[Ae];if(0==t)throw new Error("Assert failed: ObjectDisposedException");return t}function Me(e){if(!e)return null;const t=Se.get(e);return t?t.deref():null}const Re=Symbol.for("wasm promise_control");function Pe(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[Re]=r,{promise:o,promise_control:r}}function Ce(e){return e[Re]}function Ie(e){if(!function(e){return void 0!==e[Re]}(e))throw new Error("Assert failed: Promise is not controllable")}const Fe=("object"==typeof Promise||"function"==typeof Promise)&&"function"==typeof Promise.resolve;function $e(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}=Pe();return e().then((e=>r.resolve(e))).catch((e=>r.reject(e))),t}function Be(e){const t=Me(e);if(!t)return;const r=t.promise;if(!r)throw new Error(`Assert failed: Expected Promise for GCHandle ${e}`);Ie(r);Ce(r).reject("OperationCanceledException")}const We=[];let ze,Le,He=null;const Ve="undefined"!=typeof BigInt&&"undefined"!=typeof BigInt64Array;function qe(){ze||(ze=t._malloc(32768),Le=ze),We.push(Le)}function Ge(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 Je(e,r){t.HEAP8.fill(0,e,r+e)}function Ye(e,r){const n=!!r;"number"==typeof r&&Ge(r,0,1),t.HEAP32[e>>>2]=n?1:0}function Xe(e,r){Ge(r,0,255),t.HEAPU8[e]=r}function Ze(e,r){Ge(r,0,65535),t.HEAPU16[e>>>1]=r}function Ke(e,r){t.HEAPU32[e>>>2]=r}function Qe(e,r){Ge(r,0,4294967295),t.HEAPU32[e>>>2]=r}function et(e,r){Ge(r,-128,127),t.HEAP8[e]=r}function tt(e,r){Ge(r,-32768,32767),t.HEAP16[e>>>1]=r}function rt(e,r){t.HEAP32[e>>>2]=r}function nt(e,r){Ge(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 it(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 at(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 st(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>=St&&t<=Et))throw new Error(`Assert failed: Overflow: value ${t} is out of ${St} ${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 _t(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 ut(e){return!!t.HEAP32[e>>>2]}function lt(e){return t.HEAPU8[e]}function ft(e){return t.HEAPU16[e>>>1]}function mt(e){return t.HEAPU32[e>>>2]}function dt(e){return t.HEAP8[e]}function ht(e){return t.HEAP16[e>>>1]}function pt(e){return t.HEAP32[e>>>2]}function wt(e){const t=g.mono_wasm_i52_to_f64(e,d._i52_error_scratch_buffer);return ot(pt(d._i52_error_scratch_buffer)),t}function gt(e){const t=g.mono_wasm_u52_to_f64(e,d._i52_error_scratch_buffer);return ot(pt(d._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,St;function At(e){const r=t._malloc(e.length);return new Uint8Array(t.HEAPU8.buffer,r,e.length).set(e),r}const kt=8192;let Nt=null,Ot=null,xt=0;const jt=[],Tt=[];function Dt(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 Je(o,n),new Ct(o,e,!0,r)}function Mt(e){let t;if(!e)throw new Error("address must be a location in the native heap");return Tt.length>0?(t=Tt.pop(),t._set_address(e)):t=new Ft(e),t}function Rt(e){let t;if(jt.length>0)t=jt.pop();else{const e=function(){if(p(Nt)||!Ot){Nt=Dt(kt,"js roots"),Ot=new Int32Array(kt),xt=kt;for(let e=0;e<kt;e++)Ot[e]=kt-e-1}if(xt<1)throw new Error("Out of scratch root space");const e=Ot[xt-1];return xt--,e}();t=new It(Nt,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 Pt(...e){for(let t=0;t<e.length;t++)p(e[t])||e[t].release()}class Ct{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&&Je(this.__offset,4*this.__count)}release(){this.__offset&&this.__ownsAllocation&&(g.mono_wasm_deregister_root(this.__offset),Je(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 It{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&&(Nt.set(e,0),Ot[xt]=e,xt++)}(this.__index),this.__buffer=null,this.__index=0):(this.set(0),jt.push(this))}toString(){return`[root @${this.address}]`}}class Ft{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(){Tt.length<128&&Tt.push(this)}toString(){return`[external root @${this.address}]`}}const $t=new Map,Ut=new Map,Bt=Symbol.for("wasm bound_cs_function"),Wt=Symbol.for("wasm bound_js_function"),zt=16;function Lt(e){const r=t.stackAlloc(zt*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*zt}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 mt(e)}function Gt(e){if(!e)throw new Error("Assert failed: Null sig");return mt(e+16)}function Jt(e){if(!e)throw new Error("Assert failed: Null sig");return mt(e+20)}function Yt(e){if(!e)throw new Error("Assert failed: Null sig");return mt(e+24)}function Xt(e){if(!e)throw new Error("Assert failed: Null sig");return mt(e+28)}function Zt(e){if(!e)throw new Error("Assert failed: Null signatures");return pt(e+4)}function Kt(e){if(!e)throw new Error("Assert failed: Null signatures");return pt(e)}function Qt(e){if(!e)throw new Error("Assert failed: Null arg");return mt(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 mt(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");_t(e,t.getTime())}function ir(e,t){if(!e)throw new Error("Assert failed: Null arg");_t(e,t)}function ar(e){if(!e)throw new Error("Assert failed: Null arg");return mt(e+4)}function sr(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 mt(e+4)}function _r(e,t){if(!e)throw new Error("Assert failed: Null arg");Qe(e+4,t)}function ur(e){if(!e)throw new Error("Assert failed: Null arg");return Mt(e)}function lr(e){if(!e)throw new Error("Assert failed: Null arg");return pt(e+8)}function fr(e,t){if(!e)throw new Error("Assert failed: Null arg");nt(e+8,t)}class mr{dispose(){Te(this,0)}get isDisposed(){return 0===this[Ae]}toString(){return`CsObject(gc_handle: ${this[Ae]})`}}class dr 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[Ae];if(e){const t=d.javaScriptExports.get_managed_stack_trace(e);if(t)return t+"\n"+this.getSuperStack()}return this.getSuperStack()}dispose(){Te(this,0)}get isDisposed(){return 0===this[Ae]}}function hr(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?zt:-1}class pr{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 pr{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 pr{constructor(e,t,r){super(e,t,r)}dispose(){Te(this,0)}get isDisposed(){return 0===this[Ae]}}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,Sr=null,Ar=0;const kr=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=Rt(),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 i=pt(r),a=mt(t),s=pt(n);if(s&&(o=br.get(e.value)),void 0===o&&(i&&a?(o=this.decode(a,a+i),s&&br.set(e.value,o)):o=Nr),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}},Nr="";function Or(e){return kr.copy(e)}function xr(e){return kr.copy_root(e)}function jr(e){if(0===e.length)return Nr;const t=function(e){const t=Rt();try{return Tr(e,t),t.value}finally{t.release()}}(e),r=br.get(t);if(p(r))throw new Error("internal error: interned_string_table did not contain string after js_string_to_mono_string_interned");return r}function Tr(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):(Mr(r,t),function(e,t,r){if(!t.value)throw new Error("null pointer passed to _store_string_in_intern_table");Ar>=8192&&(Sr=null),Sr||(Sr=Dt(8192,"interned strings"),Ar=0);const n=Sr,o=Ar++;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 Dr(e,t){if(t.clear(),null!==e)if("symbol"==typeof e)Tr(e,t);else{if("string"!=typeof e)throw new Error("Expected string argument, got "+typeof e);if(0===e.length)Tr(e,t);else{if(e.length<=256){const r=vr.get(e);if(r)return void t.set(r)}Mr(e,t)}}}function Mr(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 Rr(e){const t=Rt();try{return Dr(e,t),t.value}finally{t.release()}}function Pr(e,t,r,n,o,i){let a="",s="",c="";const _="converter"+t;let u="null",l="null",f="null",m="null",d=qt(e);if(d===yr.None||d===yr.Void)return{converters:a,call_body:c,marshaler_type:d};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}`);d!=yr.Nullable?(m="converter"+t+"_res",a+=", "+m,s+=" "+yr[h],i[m]=e):d=h}const p=Jt(e);if(p!==yr.None){const e=$t.get(p);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${p} at ${t}`);u="converter"+t+"_arg1",a+=", "+u,s+=" "+yr[p],i[u]=e}const w=Yt(e);if(w!==yr.None){const e=$t.get(w);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${w} at ${t}`);l="converter"+t+"_arg2",a+=", "+l,s+=" "+yr[w],i[l]=e}const g=Xt(e);if(g!==yr.None){const e=$t.get(g);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${g} at ${t}`);f="converter"+t+"_arg3",a+=", "+f,s+=" "+yr[g],i[f]=e}const y=Ut.get(d),b=yr[d];if(!y||"function"!=typeof y)throw new Error(`Assert failed: Unknow converter for type ${b} (${d}) at ${t} `);return a+=", "+_,s+=" "+b,i[_]=y,c=d==yr.Task?` ${_}(args + ${r}, ${o}, signature + ${n}, ${m}); // ${s} \n`:d==yr.Action||d==yr.Function?` ${_}(args + ${r}, ${o}, signature + ${n}, ${m}, ${u}, ${l}, ${l}); // ${s} \n`:` ${_}(args + ${r}, ${o}, signature + ${n}); // ${s} \n`,{converters:a,call_body:c,marshaler_type:d}}function Cr(e,t){null==t?er(e,yr.None):(er(e,yr.Boolean),rr(e,t))}function Ir(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 Fr(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 $r(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})`);_t(e,t)}(e,t))}function Wr(e,t){null==t?er(e,yr.None):(er(e,yr.BigInt64),function(e,t){if(!e)throw new Error("Assert failed: Null arg");st(e,t)}(e,t))}function zr(e,t){null==t?er(e,yr.None):(er(e,yr.Double),ir(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 Gr(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");Jr(e,t)}}function Jr(e,t){const r=ur(e);try{Dr(t,r)}finally{r.release()}}function Yr(e){er(e,yr.None)}function Xr(e,t,r,n,o,i,a){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 s=e=>{const r=Ht(e,0),s=Ht(e,1),c=Ht(e,2),_=Ht(e,3),u=Ht(e,4);try{let e,r,l;o&&(e=o(c)),i&&(r=i(_)),a&&(l=a(u));const f=t(e,r,l);n&&n(s,f)}catch(e){Qr(r,e)}};s[Wt]=!0;sr(e,Oe(s)),er(e,yr.Function)}class Zr{constructor(e){this.promise=e}dispose(){Te(this,0)}get isDisposed(){return 0===this[Ae]}}function Kr(e,t,r,n){if(null==t)return void er(e,yr.None);if(!$e(t))throw new Error("Assert failed: Value is not a Promise");const o=d.javaScriptExports.create_task_callback();_r(e,o),er(e,yr.Task);const i=new Zr(t);je(i,o),t.then((e=>{d.javaScriptExports.complete_task(o,null,e,n||tn),Te(i,o)})).catch((e=>{d.javaScriptExports.complete_task(o,e,null,void 0),Te(i,o)}))}function Qr(e,t){if(null==t)er(e,yr.None);else if(t instanceof dr){er(e,yr.Exception);_r(e,De(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);Jr(e,t.toString());const r=t[ke];if(r)sr(e,r);else{sr(e,Oe(t))}}}function en(e,t){if(null==t)er(e,yr.None);else{if(void 0!==t[Ae])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);sr(e,Oe(t))}}function tn(e,t){if(null==t)er(e,yr.None);else{const r=t[Ae],n=typeof t;if(void 0===r)if("string"===n||"symbol"===n)er(e,yr.String),Jr(e,t);else if("number"===n)er(e,yr.Double),ir(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($e(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=Oe(t);er(e,yr.JSObject),sr(e,r)}}}}else{if(De(t),t instanceof gr)throw new Error("NotImplementedException: ArraySegment");if(t instanceof dr)er(e,yr.Exception),_r(e,r);else{if(!(t instanceof mr))throw new Error("NotImplementedException "+n);er(e,yr.Object),_r(e,r)}}}}function rn(e,t,r){if(!r)throw new Error("Assert failed: Expected valid sig parameter");nn(e,t,Jt(r))}function nn(e,r,n){if(null==r)er(e,yr.None);else{const o=hr(n);if(-1==o)throw new Error(`Assert failed: Element type ${yr[n]} not supported`);const i=r.length,a=o*i,s=t._malloc(a);if(n==yr.String){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Je(s,a),g.mono_wasm_register_root(s,a,"marshal_array_to_cs");for(let e=0;e<i;e++){Gr(Ht(s,e),r[e])}}else if(n==yr.Object){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Je(s,a),g.mono_wasm_register_root(s,a,"marshal_array_to_cs");for(let e=0;e<i;e++){tn(Ht(s,e),r[e])}}else if(n==yr.JSObject){if(!Array.isArray(r))throw new Error("Assert failed: Value is not an Array");Je(s,a);for(let e=0;e<i;e++){en(Ht(s,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(s,s+i).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(s>>2,(s>>2)+i).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(s>>3,(s>>3)+i).set(r)}nr(e,s),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");sn(r,t._viewType),er(e,yr.Span),nr(e,t._pointer),fr(e,t.length)}function an(e,t,r){if(!r)throw new Error("Assert failed: Expected valid sig parameter");const n=De(t);if(!n)throw new Error("Assert failed: Only roundtrip of ArraySegment instance created by C#");sn(r,t._viewType),er(e,yr.ArraySegment),nr(e,t._pointer),fr(e,t.length),_r(e,n)}function sn(e,t){const r=Jt(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,i){let a="",s="",c="";const _="converter"+t;let u="null",l="null",f="null",m="null",d=qt(e);if(d===yr.None||d===yr.Void)return{converters:a,call_body:c,marshaler_type:d};const h=Gt(e);if(h!==yr.None){const e=$t.get(h);if(!e||"function"!=typeof e)throw new Error(`Assert failed: Unknow converter for type ${h} at ${t}`);d!=yr.Nullable?(m="converter"+t+"_res",a+=", "+m,s+=" "+yr[h],i[m]=e):d=h}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}`);u="converter"+t+"_arg1",a+=", "+u,s+=" "+yr[p],i[u]=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}`);l="converter"+t+"_arg2",a+=", "+l,s+=" "+yr[w],i[l]=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",a+=", "+f,s+=" "+yr[g],i[f]=e}const y=$t.get(d);if(!y||"function"!=typeof y)throw new Error(`Assert failed: Unknow converter for type ${d} at ${t} `);return a+=", "+_,s+=" "+yr[d],i[_]=y,c=d==yr.Task?` const ${o} = ${_}(args + ${r}, signature + ${n}, ${m}); // ${s} \n`:d==yr.Action||d==yr.Function?` const ${o} = ${_}(args + ${r}, signature + ${n}, ${m}, ${u}, ${l}, ${f}); // ${s} \n`:` const ${o} = ${_}(args + ${r}, signature + ${n}); // ${s} \n`,{converters:a,call_body:c,marshaler_type:d}}function _n(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return!!lt(e)}(e)}function un(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return lt(e)}(e)}function ln(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 ht(e)}(e)}function mn(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 vt(e)}(e)}function hn(e){return Qt(e)==yr.None?null:function(e){if(!e)throw new Error("Assert failed: Null arg");return yt(e)}(e)}function pn(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,i){if(Qt(e)===yr.None)return null;const a=cr(e);let s=Me(a);return null!=s||(s=(e,t,s)=>d.javaScriptExports.call_delegate(a,e,t,s,r,n,o,i),je(s,a)),s}function En(e,t,r){const n=Qt(e);if(n===yr.None)return null;if(n!==yr.Task){if(r||(r=$t.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=ar(e);if(0==o)return new Promise((e=>e(void 0)));const i=Ne(o);if(!i)throw new Error(`Assert failed: ERR28: promise not found for js_handle: ${o} `);Ie(i);const a=Ce(i),s=a.resolve;return a.resolve=e=>{const t=Qt(e);if(t===yr.None)return void s(null);if(r||(r=$t.get(t)),!r)throw new Error(`Assert failed: Unknow sub_converter for type ${yr[t]}`);const n=r(e);s(n)},i}function Sn(e){const t=Ht(e,0),r=Ht(e,1),n=Ht(e,2),o=Ht(e,3),i=Qt(t),a=Qt(o),s=ar(n);if(0===s){const{promise:e,promise_control:n}=Pe();if(sr(r,Oe(e)),i!==yr.None){const e=kn(t);n.reject(e)}else if(a!==yr.Task){const e=$t.get(a);if(!e)throw new Error(`Assert failed: Unknow sub_converter for type ${yr[a]} `);const t=e(o);n.resolve(t)}}else{const e=Ne(s);if(!e)throw new Error(`Assert failed: ERR25: promise not found for js_handle: ${s} `);Ie(e);const r=Ce(e);if(i!==yr.None){const e=kn(t);r.reject(e)}else a!==yr.Task&&r.resolve(o)}er(r,yr.Task),er(t,yr.None)}function An(e){if(Qt(e)==yr.None)return null;const t=ur(e);try{return xr(t)}finally{t.release()}}function kn(e){const t=Qt(e);if(t==yr.None)return null;if(t==yr.JSException){return Ne(ar(e))}const r=cr(e);let n=Me(r);if(null==n){const t=An(e);n=new dr(t),je(n,r)}return n}function Nn(e){if(Qt(e)==yr.None)return null;return Ne(ar(e))}function On(e){const t=Qt(e);if(t==yr.None)return null;if(t==yr.JSObject){return Ne(ar(e))}if(t==yr.Array){return jn(e,function(e){if(!e)throw new Error("Assert failed: Null arg");return mt(e+4)}(e))}if(t==yr.Object){const t=cr(e);if(0===t)return null;let r=Me(t);return r||(r=new mr,je(r,t)),r}const r=$t.get(t);if(!r)throw new Error(`Assert failed: Unknow converter for type ${yr[t]}`);return r(e)}function xn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");return jn(e,Jt(t))}function jn(e,r){if(Qt(e)==yr.None)return null;if(-1==hr(r))throw new Error(`Assert failed: Element type ${yr[r]} not supported`);const n=tr(e),o=lr(e);let i=null;if(r==yr.String){i=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);i[e]=An(t)}g.mono_wasm_deregister_root(n)}else if(r==yr.Object){i=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);i[e]=On(t)}g.mono_wasm_deregister_root(n)}else if(r==yr.JSObject){i=new Array(o);for(let e=0;e<o;e++){const t=Ht(n,e);i[e]=Nn(t)}}else if(r==yr.Byte){i=t.HEAPU8.subarray(n,n+o).slice()}else if(r==yr.Int32){i=t.HEAP32.subarray(n>>2,(n>>2)+o).slice()}else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);i=t.HEAPF64.subarray(n>>3,(n>>3)+o).slice()}return t._free(n),i}function Tn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");const r=Jt(t),n=tr(e),o=lr(e);let i=null;if(r==yr.Byte)i=new wr(n,o,0);else if(r==yr.Int32)i=new wr(n,o,1);else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);i=new wr(n,o,2)}return i}function Dn(e,t){if(!t)throw new Error("Assert failed: Expected valid sig parameter");const r=Jt(t),n=tr(e),o=lr(e);let i=null;if(r==yr.Byte)i=new gr(n,o,0);else if(r==yr.Int32)i=new gr(n,o,1);else{if(r!=yr.Double)throw new Error(`NotImplementedException ${yr[r]} `);i=new gr(n,o,2)}return je(i,cr(e)),i}let Mn,Rn;const Pn={};const Cn=Symbol.for("wasm type");const In=Pe(),Fn=Pe();let $n=0,Un=0,Bn=0,Wn=0;const zn=[],Ln=Object.create(null);let Hn,Vn=0;const qn={"js-module-threads":!0},Gn={dotnetwasm:!0},Jn={"js-module-threads":!0,dotnetwasm:!0};async function Yn(){d.diagnosticTracing&&console.debug("MONO_WASM: mono_download_assets"),d.maxParallelDownloads=d.config.maxParallelDownloads||d.maxParallelDownloads;try{const e=[];for(const t of d.config.assets){const r=t;if(Jn[r.behavior]||Wn++,!qn[r.behavior]){const t=Gn[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()),++$n,{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())}}}Fn.promise_control.resolve();const r=[];for(const t of e)r.push((async()=>{const e=await t,r=e.asset;if(e.buffer){if(!Jn[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 Aa.promise,eo(r,t,n)}}else{if(Gn[r.behavior])Gn[r.behavior]&&++$n;else{if(!r.isOptional)throw new Error("Assert failed: Expected asset to have the downloaded buffer");qn[r.behavior]||Bn--,Jn[r.behavior]||Wn--}}})());Promise.all(r).then((()=>{In.promise_control.resolve()})).catch((e=>{t.printErr("MONO_WASM: Error in mono_download_assets: "+e),Da(e,!0)}))}catch(e