Spaces:
Running
Running
Download webgpu_bridge/llama_webgpu_core.js from leehack/flutter-laya-tetris: direct link, hf CLI and curl.
- Browser
- Download file 121 kB
-
https://huggingface.co/spaces/leehack/flutter-laya-tetris/resolve/main/webgpu_bridge/llama_webgpu_core.js
- Command line
-
hf download hf://spaces/leehack/flutter-laya-tetris/webgpu_bridge/llama_webgpu_core.js
-
curl -L -o llama_webgpu_core.js https://huggingface.co/spaces/leehack/flutter-laya-tetris/resolve/main/webgpu_bridge/llama_webgpu_core.js
121 kB
| async function createLlamaWebGpuCoreModule(moduleArg={}){var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&globalThis.name=="em-pthread";var programArgs=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super();this.excPtr=excPtr}}function growMemViews(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}}var startWorker;if(ENVIRONMENT_IS_PTHREAD){var initializedJS=false;self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e.data;var cmd=msgData.cmd;if(cmd==1){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);startWorker=()=>{postMessage({cmd:3});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};for(const handler of msgData.handlers){if(!Module[handler]||Module[handler].proxy){Module[handler]=(...args)=>{postMessage({cmd:9,handler,args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData.wasmMemory;updateMemoryViews();wasmModule=msgData.wasmModule;createWasm();run();startWorker()}else if(cmd==2){establishStackSpace(msgData.pthread_ptr);__emscripten_thread_init(msgData.pthread_ptr,0,0,1,0,0);PThread.threadInitTLS();__emscripten_thread_mailbox_await(msgData.pthread_ptr);if(!initializedJS){initializedJS=true}try{invokeEntryPoint(msgData.start_routine,msgData.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(cmd==4){if(initializedJS){checkMailbox()}}else if(cmd){err(`worker: received unknown command ${cmd}`);err(msgData)}}catch(ex){if(runtimeInitialized)__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}var runtimeInitialized=false;function getMemoryBuffer(){return wasmMemory.buffer}function updateMemoryViews(){if(HEAP8?.buffer?.growable)return;var b=getMemoryBuffer();HEAP8=new Int8Array(b);HEAPU8=new Uint8Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b)}function initMemory(){if(ENVIRONMENT_IS_PTHREAD){return}{var INITIAL_MEMORY=16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536,shared:true})}updateMemoryViews()}function preRun(){var preRun=Module["preRun"];if(preRun){if(typeof preRun=="function")preRun=[preRun];onPreRuns.push(...preRun)}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;wasmExports["ob"]()}function postRun(){var postRun=Module["postRun"];if(postRun){if(typeof postRun=="function")postRun=[postRun];onPostRuns.push(...postRun)}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("llama_webgpu_core.wasm")}return new URL("llama_webgpu_core.wasm",import.meta.url).href}function getBinarySync(file){if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){assignWasmImports();var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmExports=applySignatureConversions(wasmExports);registerTLSInit(wasmExports["dd"]);assignWasmExports(wasmExports);wasmModule=module;return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();var instantiateWasm=Module["instantiateWasm"];if(instantiateWasm){return new Promise(resolve=>{instantiateWasm(info,(inst,mod)=>resolve(receiveInstance(inst,mod)))})}if(ENVIRONMENT_IS_PTHREAD){var instance=new WebAssembly.Instance(wasmModule,getWasmImports());return receiveInstance(instance,wasmModule)}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP8;var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{}};var cleanupThread=pthread_ptr=>{var worker=PThread.pthreads[pthread_ptr];PThread.returnWorkerToPool(worker)};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var dependenciesPromise=null;var resolveRunDependencies=async()=>dependenciesPromise;var runDependencies=0;var dependenciesPromiseResolve=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(!runDependencies){dependenciesPromiseResolve()}};var addRunDependency=id=>{if(!runDependencies){dependenciesPromise=new Promise(resolve=>dependenciesPromiseResolve=resolve)}runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var spawnThread=threadParams=>{var worker=PThread.getNewWorker();if(!worker){return 6}PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={cmd:2,start_routine:threadParams.startRoutine,arg:threadParams.arg,pthread_ptr:threadParams.pthread_ptr};worker.postMessage(msg,threadParams.transferList);return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var HEAPF64;var HEAP64;var proxyToMainThread=(funcIndex,emAsmAddr,proxyMode,...callArgs)=>{var bufSize=8*callArgs.length*2;var sp=stackSave();var args=stackAlloc(bufSize);var b=args>>>3;for(var arg of callArgs){if(typeof arg=="bigint"){(growMemViews(),HEAP64)[b++>>>0]=1n;(growMemViews(),HEAP64)[b++>>>0]=arg}else{(growMemViews(),HEAP64)[b++>>>0]=0n;(growMemViews(),HEAPF64)[b++>>>0]=arg}}var rtn=__emscripten_run_js_on_main_thread(funcIndex,emAsmAddr,bufSize,args,proxyMode);stackRestore(sp);return rtn};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(0,0,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))}function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}_proc_exit(status)};var _exit=exitJS;var waitAsyncPolyfilled=!Atomics.waitAsync||globalThis.navigator?.userAgent&&Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2])<91;var HEAP32;var PThread={unusedWorkers:[],tlsInitFunctions:[],pthreads:{},init(){if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThread()}},initMainThread(){var pthreadPoolSize=4;while(pthreadPoolSize--){PThread.allocateUnusedWorker()}addOnPreRun(async()=>{var pthreadPoolReady=PThread.loadWasmModuleToAllWorkers();addRunDependency("loading-workers");await pthreadPoolReady;removeRunDependency("loading-workers")})},terminateAllThreads:()=>{for(var worker of Object.values(PThread.pthreads)){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.pthreads={}},clearMailboxAwait:pthread_ptr=>{if(!waitAsyncPolyfilled){Atomics.notify((growMemViews(),HEAP32),pthread_ptr>>>2)}},terminateRuntime:()=>{PThread.terminateAllThreads();var pthread_ptr=_pthread_self();___set_thread_state(0,0,0,1);PThread.clearMailboxAwait(pthread_ptr)},returnWorkerToPool:worker=>{var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);worker.pthread_ptr=0;PThread.clearMailboxAwait(pthread_ptr);__emscripten_thread_free_data(pthread_ptr)},threadInitTLS(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e.data;var cmd=d.cmd;if(d.targetThread&&d.targetThread!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];targetWorker?.postMessage(d);return}if(d==="setimmediate"||d==="_si"){worker.postMessage(d);return}switch(cmd){case 4:checkMailbox();break;case 5:spawnThread(d);break;case 6:callUserCallback(()=>cleanupThread(d.thread));break;case 3:onFinishedLoading(worker);break;case 9:Module[d.handler](...d.args);break;default:if(cmd)err(`worker sent an unknown command ${cmd}`)}};worker.onerror=e=>{var message="worker sent an error!";err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.postMessage({cmd:1,handlers,wasmMemory,wasmModule})}),async loadWasmModuleToAllWorkers(){if(ENVIRONMENT_IS_PTHREAD){return}let pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));return pthreadPoolReady},allocateUnusedWorker(){var worker;worker=new Worker(new URL("llama_webgpu_core.js",import.meta.url),{type:"module",name:"em-pthread"});PThread.unusedWorkers.push(worker);return worker},getNewWorker(){if(PThread.unusedWorkers.length==0){var newWorker=PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(newWorker)}return PThread.unusedWorkers.pop()}};var onPostRuns=[];var dynCalls={};var HEAPU32;function establishStackSpace(pthread_ptr){var stackHigh=(growMemViews(),HEAPU32)[pthread_ptr+48>>>2>>>0];var stackSize=(growMemViews(),HEAPU32)[pthread_ptr+52>>>2>>>0];var stackLow=stackHigh-stackSize;_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh)}var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;noExitRuntime=0;var result=(a1=>dynCall_ii(ptr,a1))(arg);function finish(result){if(keepRuntimeAlive()){EXITSTATUS=result;return}__emscripten_thread_exit(result)}finish(result)};var noExitRuntime=true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var wasmMemory;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);var ___call_sighandler=function(fp,sig){fp>>>=0;return(a1=>dynCall_vi(fp,a1))(sig)};var exceptionCaught=[];var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=null;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=null};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){(growMemViews(),HEAPU32)[this.ptr+4>>>2>>>0]=type}get_type(){return(growMemViews(),HEAPU32)[this.ptr+4>>>2>>>0]}set_destructor(destructor){(growMemViews(),HEAPU32)[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return(growMemViews(),HEAPU32)[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;(growMemViews(),HEAP8)[this.ptr+12>>>0]=caught}get_caught(){return(growMemViews(),HEAP8)[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;(growMemViews(),HEAP8)[this.ptr+13>>>0]=rethrown}get_rethrown(){return(growMemViews(),HEAP8)[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){(growMemViews(),HEAPU32)[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return(growMemViews(),HEAPU32)[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast?.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(!caughtType||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}function ___cxa_find_matching_catch_4(arg0,arg1){arg0>>>=0;arg1>>>=0;return findMatchingCatch([arg0,arg1])}var __Unwind_RaiseException=ex=>{throw ex};var ___cxa_rethrow=()=>{if(!exceptionCaught.length){abort("no exception to throw")}var info=exceptionCaught.at(-1);var ptr=info.excPtr;info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++;___cxa_increment_exception_refcount(ptr);ptr=exceptionLast=new CppException(ptr);__Unwind_RaiseException(ptr)};function ___cxa_rethrow_primary_exception(ptr){ptr>>>=0;if(!ptr)return;var info=new ExceptionInfo(ptr);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++;___cxa_increment_exception_refcount(ptr);ptr=exceptionLast=new CppException(ptr);__Unwind_RaiseException(ptr)}function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);ptr=exceptionLast=new CppException(ptr);uncaughtExceptionCount++;__Unwind_RaiseException(ptr)}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}var _emscripten_has_threading_support=()=>!!globalThis.SharedArrayBuffer;function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){pthread_ptr>>>=0;attr>>>=0;startRoutine>>>=0;arg>>>=0;if(!_emscripten_has_threading_support()){return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(!transferList.length||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;var threadParams={startRoutine,pthread_ptr,arg,transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd=5;postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}var __Unwind_Resume=ex=>{throw ex};function ___resumeException(ptr){ptr>>>=0;ptr=exceptionLast??=new CppException(ptr);__Unwind_Resume(ptr)}var __abort_js=()=>abort("");function __emscripten_init_main_thread_js(tb){tb>>>=0;var can_block=!ENVIRONMENT_IS_WEB;try{Atomics.wait((growMemViews(),HEAP32),0,0,0);can_block=true}catch(e){}__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,can_block,1048576,false);PThread.threadInitTLS()}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var maybeExit=()=>{if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD){if(_pthread_self())__emscripten_thread_exit(EXITSTATUS);return}_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};function __emscripten_thread_mailbox_await(pthread_ptr){pthread_ptr>>>=0;if(!waitAsyncPolyfilled){var wait=Atomics.waitAsync((growMemViews(),HEAP32),pthread_ptr>>>2,pthread_ptr);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+112;Atomics.store((growMemViews(),HEAP32),waitingAsync>>>2,1)}}var checkMailbox=()=>{var pthread_ptr=_pthread_self();if(!pthread_ptr)return;callUserCallback(()=>{__emscripten_thread_mailbox_await(pthread_ptr);__emscripten_check_mailbox()})};function __emscripten_notify_mailbox_postmessage(targetThread,currThreadId){targetThread>>>=0;currThreadId>>>=0;if(targetThread==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread,cmd:4})}else{var worker=PThread.pthreads[targetThread];if(!worker){return}worker.postMessage({cmd:4})}}var proxiedJSCallArgs=[];function __emscripten_receive_on_main_thread_js(funcIndex,emAsmAddr,callingThread,bufSize,args,ctx,ctxArgs){emAsmAddr>>>=0;callingThread>>>=0;args>>>=0;ctx>>>=0;ctxArgs>>>=0;proxiedJSCallArgs.length=0;var b=args>>>3;var end=args+bufSize>>>3;while(b<end){var arg;if((growMemViews(),HEAP64)[b++>>>0]){arg=(growMemViews(),HEAP64)[b++>>>0]}else{arg=(growMemViews(),HEAPF64)[b++>>>0]}proxiedJSCallArgs.push(arg)}var func=proxiedFunctionTable[funcIndex];PThread.currentProxiedOperationCallerThread=callingThread;var rtn=func(...proxiedJSCallArgs);PThread.currentProxiedOperationCallerThread=0;if(ctx){rtn.then(rtn=>__emscripten_run_js_on_main_thread_done(ctx,ctxArgs,rtn));return}return rtn}var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __emscripten_thread_cleanup(thread){thread>>>=0;if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:6,thread})}function __emscripten_thread_set_strongref(thread){thread>>>=0}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var HEAPU8;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,(growMemViews(),HEAPU8),outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);(growMemViews(),HEAPU32)[timezone>>>2>>>0]=stdTimezoneOffset*60;(growMemViews(),HEAP32)[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};function __wasmfs_copy_preloaded_file_data(index,buffer){buffer>>>=0;return(growMemViews(),HEAPU8).set(wasmFSPreloadedFiles[index].fileData,buffer>>>0)}var wasmFS$backends={};var wasmFS$JSMemoryRanges={};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer?heapOrArray.subarray(idx,endPtr):heapOrArray.slice(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString((growMemViews(),HEAPU8),ptr,maxBytesToRead,ignoreNul):""};async function __wasmfs_create_fetch_backend_js(backend){backend>>>=0;async function getFileRange(file,offset,len){var url="";var fileUrl_p=__wasmfs_fetch_get_file_url(file);var fileUrl=UTF8ToString(fileUrl_p);var isAbs=fileUrl.indexOf("://")!==-1;if(isAbs){url=fileUrl}else{try{var u=new URL(fileUrl,self.location.origin);url=u.toString()}catch(_e){throw{status:404}}}var chunkSize=__wasmfs_fetch_get_chunk_size(file);offset??=0;len??=chunkSize;if(!(file in wasmFS$JSMemoryRanges)){var fileInfo=await fetch(url,{method:"HEAD",headers:{Range:"bytes=0-"}});if(fileInfo.ok&&fileInfo.headers.has("Content-Length")&&fileInfo.headers.get("Accept-Ranges")=="bytes"&&parseInt(fileInfo.headers.get("Content-Length"),10)>chunkSize*2){var size=parseInt(fileInfo.headers.get("Content-Length"),10);wasmFS$JSMemoryRanges[file]={size,chunks:[],chunkSize};len=Math.min(len,size-offset)}else{var wholeFileReq=await fetch(url);if(!wholeFileReq.ok){throw wholeFileReq}var wholeFileData=new Uint8Array(await wholeFileReq.arrayBuffer());wasmFS$JSMemoryRanges[file]={size:wholeFileData.byteLength,chunks:[wholeFileData],chunkSize:wholeFileData.byteLength};return}}var firstChunk=offset/chunkSize|0;var lastChunk=(offset+len-1)/chunkSize|0;var allPresent=true;var i;for(i=firstChunk;i<=lastChunk;i++){if(!wasmFS$JSMemoryRanges[file].chunks[i]){allPresent=false;break}}if(allPresent){return}var start=firstChunk*chunkSize;var end=(lastChunk+1)*chunkSize;var response=await fetch(url,{headers:{Range:`bytes=${start}-${end-1}`}});if(!response.ok){throw response}var bytes=new Uint8Array(await response["arrayBuffer"]());for(i=firstChunk;i<=lastChunk;i++){wasmFS$JSMemoryRanges[file].chunks[i]=bytes.slice(i*chunkSize-start,(i+1)*chunkSize-start)}}wasmFS$backends[backend]={allocFile:async file=>{},freeFile:async file=>{wasmFS$JSMemoryRanges[file]=undefined},write:async(file,buffer,length,offset)=>{console.error("TODO: file writing in fetch backend? read-only for now")},read:async(file,buffer,length,offset)=>{if(offset<0||length<=0){return 0}try{await getFileRange(file,offset||0,length)}catch(failedResponse){return failedResponse.status===404?-44:-8}var fileInfo=wasmFS$JSMemoryRanges[file];length=Math.min(length,fileInfo.size-offset);if(length<=0){return 0}var chunks=fileInfo.chunks;var chunkSize=fileInfo.chunkSize;var firstChunk=offset/chunkSize|0;var lastChunk=(offset+length-1)/chunkSize|0;var readLength=0;for(var i=firstChunk;i<=lastChunk;i++){var chunk=chunks[i];var start=Math.max(i*chunkSize,offset);var chunkStart=i*chunkSize;var end=Math.min(chunkStart+chunkSize,offset+length);(growMemViews(),HEAPU8).set(chunk.subarray(start-chunkStart,end-chunkStart),buffer+(start-offset)>>>0);readLength=end-offset}return readLength},getSize:async file=>{try{await getFileRange(file,0,0)}catch(failedResponse){return 0}return wasmFS$JSMemoryRanges[file].size}}}var wasmFSPreloadedDirs=[];var __wasmfs_get_num_preloaded_dirs=()=>wasmFSPreloadedDirs.length;var wasmFSPreloadedFiles=[];var wasmFSPreloadingFlushed=false;var __wasmfs_get_num_preloaded_files=()=>{wasmFSPreloadingFlushed=true;return wasmFSPreloadedFiles.length};function __wasmfs_get_preloaded_child_path(index,childNameBuffer){childNameBuffer>>>=0;var s=wasmFSPreloadedDirs[index].childName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,childNameBuffer,len)}var __wasmfs_get_preloaded_file_mode=index=>wasmFSPreloadedFiles[index].mode;function __wasmfs_get_preloaded_file_size(index){return wasmFSPreloadedFiles[index].fileData.length}function __wasmfs_get_preloaded_parent_path(index,parentPathBuffer){parentPathBuffer>>>=0;var s=wasmFSPreloadedDirs[index].parentPath;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,parentPathBuffer,len)}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __wasmfs_get_preloaded_path_name(index,fileNameBuffer){fileNameBuffer>>>=0;var s=wasmFSPreloadedFiles[index].pathName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,fileNameBuffer,len)}function __wasmfs_jsimpl_alloc_file(backend,file){backend>>>=0;file>>>=0;return wasmFS$backends[backend].allocFile(file)}async function __wasmfs_jsimpl_async_alloc_file(ctx,backend,file){ctx>>>=0;backend>>>=0;file>>>=0;await wasmFS$backends[backend].allocFile(file);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_free_file(ctx,backend,file){ctx>>>=0;backend>>>=0;file>>>=0;await wasmFS$backends[backend].freeFile(file);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_get_size(ctx,backend,file,size_p){ctx>>>=0;backend>>>=0;file>>>=0;size_p>>>=0;var size=await wasmFS$backends[backend].getSize(file);(growMemViews(),HEAP64)[size_p>>>3>>>0]=BigInt(size);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_read(ctx,backend,file,buffer,length,offset,result_p){ctx>>>=0;backend>>>=0;file>>>=0;buffer>>>=0;length>>>=0;offset=bigintToI53Checked(offset);result_p>>>=0;var result=await wasmFS$backends[backend].read(file,buffer,length,offset);(growMemViews(),HEAPU32)[result_p>>>2>>>0]=result;_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_write(ctx,backend,file,buffer,length,offset,result_p){ctx>>>=0;backend>>>=0;file>>>=0;buffer>>>=0;length>>>=0;offset=bigintToI53Checked(offset);result_p>>>=0;var result=await wasmFS$backends[backend].write(file,buffer,length,offset);(growMemViews(),HEAPU32)[result_p>>>2>>>0]=result;_emscripten_proxy_finish(ctx)}function __wasmfs_jsimpl_free_file(backend,file){backend>>>=0;file>>>=0;return wasmFS$backends[backend].freeFile(file)}function __wasmfs_jsimpl_get_size(backend,file){backend>>>=0;file>>>=0;return wasmFS$backends[backend].getSize(file)}function __wasmfs_jsimpl_read(backend,file,buffer,length,offset){backend>>>=0;file>>>=0;buffer>>>=0;length>>>=0;offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].read){return-28}return wasmFS$backends[backend].read(file,buffer,length,offset)}function __wasmfs_jsimpl_set_size(backend,file,size){backend>>>=0;file>>>=0;size=bigintToI53Checked(size);return wasmFS$backends[backend].setSize(file,size)}function __wasmfs_jsimpl_write(backend,file,buffer,length,offset){backend>>>=0;file>>>=0;buffer>>>=0;length>>>=0;offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].write){return-28}return wasmFS$backends[backend].write(file,buffer,length,offset)}var FS_stdin_getChar_buffer=[];var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var __wasmfs_stdin_get_char=()=>{var c=FS_stdin_getChar();if(typeof c==="number"){return c}return-1};var __wasmfs_thread_utils_heartbeat=function(queue){queue>>>=0;var intervalID=setInterval(()=>{if(ABORT){clearInterval(intervalID)}else{_emscripten_proxy_execute_queue(queue)}},50)};var _emscripten_get_now=()=>performance.timeOrigin+performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);(growMemViews(),HEAP64)[ptime>>>3>>>0]=BigInt(nsec);return 0}var _emscripten_check_blocking_allowed=()=>{};function _emscripten_err(str){str>>>=0;return err(UTF8ToString(str))}var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}var _emscripten_has_asyncify=()=>1;var _emscripten_num_logical_cores=()=>navigator["hardwareConcurrency"];function _emscripten_out(str){str>>>=0;return out(UTF8ToString(str))}var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=(growMemViews(),HEAPU8).length;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var writeI53ToI64=(ptr,num)=>{(growMemViews(),HEAPU32)[ptr>>>2>>>0]=num;var lower=(growMemViews(),HEAPU32)[ptr>>>2>>>0];(growMemViews(),HEAPU32)[ptr+4>>>2>>>0]=(num-lower)/4294967296};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var readI53FromI64=ptr=>(growMemViews(),HEAPU32)[ptr>>>2>>>0]+(growMemViews(),HEAP32)[ptr+4>>>2>>>0]*4294967296;var HEAPF32;var WebGPU={Internals:{jsObjects:[],jsObjectInsert:(ptr,jsObject)=>{ptr>>>=0;WebGPU.Internals.jsObjects[ptr]=jsObject},bufferOnUnmaps:[],futures:[],futureInsert:(futureId,promise)=>{WebGPU.Internals.futures[futureId]=new Promise(resolve=>promise.finally(()=>resolve(futureId)))}},getJsObject:ptr=>{if(!ptr)return undefined;ptr>>>=0;return WebGPU.Internals.jsObjects[ptr]},importJsAdapter:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateAdapter(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroup:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroup(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroupLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroupLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBuffer:(buffer,parentPtr=0)=>{assert(buffer.mapState==="unmapped");var bufferPtr=_emwgpuImportBuffer(parentPtr);WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);return bufferPtr},importJsCommandBuffer:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandBuffer(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsCommandEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsDevice:(device,parentPtr=0)=>{var queuePtr=_emwgpuCreateQueue(parentPtr);var devicePtr=_emwgpuCreateDevice(parentPtr,queuePtr);WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);return devicePtr},importJsExternalTexture:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateExternalTexture(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsPipelineLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreatePipelineLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQuerySet:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQuerySet(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQueue:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQueue(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundle:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundle(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundleEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundleEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSampler:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSampler(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsShaderModule:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateShaderModule(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSurface:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSurface(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTexture:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTexture(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTextureView:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTextureView(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},errorCallback:(callback,type,message,userdata)=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(message);((a1,a2,a3)=>dynCall_viii(callback,a1,a2,a3))(type,messagePtr,userdata);stackRestore(sp)},iterateExtensions:(root,handlers)=>{for(var ptr=(growMemViews(),HEAPU32)[root>>>2>>>0];ptr;ptr=(growMemViews(),HEAPU32)[ptr>>>2>>>0]){var sType=(growMemViews(),HEAP32)[ptr+4>>>2>>>0];var handler=handlers[sType](ptr)}},setStringView:(ptr,data,length)=>{(growMemViews(),HEAPU32)[ptr>>>2>>>0]=data;(growMemViews(),HEAPU32)[ptr+4>>>2>>>0]=length},makeStringFromStringView:stringViewPtr=>{var ptr=(growMemViews(),HEAPU32)[stringViewPtr>>>2>>>0];var length=(growMemViews(),HEAPU32)[stringViewPtr+4>>>2>>>0];return UTF8ToString(ptr,length)},makeStringFromOptionalStringView:stringViewPtr=>{var ptr=(growMemViews(),HEAPU32)[stringViewPtr>>>2>>>0];var length=(growMemViews(),HEAPU32)[stringViewPtr+4>>>2>>>0];if(!ptr){if(length===0){return""}return undefined}return UTF8ToString(ptr,length)},makeColor:ptr=>({r:(growMemViews(),HEAPF64)[ptr>>>3>>>0],g:(growMemViews(),HEAPF64)[ptr+8>>>3>>>0],b:(growMemViews(),HEAPF64)[ptr+16>>>3>>>0],a:(growMemViews(),HEAPF64)[ptr+24>>>3>>>0]}),makeExtent3D:ptr=>({width:(growMemViews(),HEAPU32)[ptr>>>2>>>0],height:(growMemViews(),HEAPU32)[ptr+4>>>2>>>0],depthOrArrayLayers:(growMemViews(),HEAPU32)[ptr+8>>>2>>>0]}),makeOrigin3D:ptr=>({x:(growMemViews(),HEAPU32)[ptr>>>2>>>0],y:(growMemViews(),HEAPU32)[ptr+4>>>2>>>0],z:(growMemViews(),HEAPU32)[ptr+8>>>2>>>0]}),makeTexelCopyTextureInfo:ptr=>({texture:WebGPU.getJsObject((growMemViews(),HEAPU32)[ptr>>>2>>>0]),mipLevel:(growMemViews(),HEAPU32)[ptr+4>>>2>>>0],origin:WebGPU.makeOrigin3D(ptr+8),aspect:WebGPU.TextureAspect[(growMemViews(),HEAP32)[ptr+20>>>2>>>0]]}),makeTexelCopyBufferLayout:ptr=>{var bytesPerRow=(growMemViews(),HEAPU32)[ptr+8>>>2>>>0];var rowsPerImage=(growMemViews(),HEAPU32)[ptr+12>>>2>>>0];return{offset:readI53FromI64(ptr),bytesPerRow:bytesPerRow===4294967295?undefined:bytesPerRow,rowsPerImage:rowsPerImage===4294967295?undefined:rowsPerImage}},makeTexelCopyBufferInfo:ptr=>{var layoutPtr=ptr+0;var bufferCopyView=WebGPU.makeTexelCopyBufferLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.getJsObject((growMemViews(),HEAPU32)[ptr+16>>>2>>>0]);return bufferCopyView},makePassTimestampWrites:ptr=>{if(ptr===0)return undefined;return{querySet:WebGPU.getJsObject((growMemViews(),HEAPU32)[ptr+4>>>2>>>0]),beginningOfPassWriteIndex:(growMemViews(),HEAPU32)[ptr+8>>>2>>>0],endOfPassWriteIndex:(growMemViews(),HEAPU32)[ptr+12>>>2>>>0]}},makePipelineConstants:(constantCount,constantsPtr)=>{if(!constantCount)return;var constants={};for(var i=0;i<constantCount;++i){var entryPtr=constantsPtr+24*i;var key=WebGPU.makeStringFromStringView(entryPtr+4);constants[key]=(growMemViews(),HEAPF64)[entryPtr+16>>>3>>>0]}return constants},makePipelineLayout:layoutPtr=>{if(!layoutPtr)return"auto";return WebGPU.getJsObject(layoutPtr)},makeComputeState:ptr=>{if(!ptr)return undefined;var desc={module:WebGPU.getJsObject((growMemViews(),HEAPU32)[ptr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[ptr+16>>>2>>>0],(growMemViews(),HEAPU32)[ptr+20>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(ptr+8)};return desc},makeComputePipelineDesc:descriptor=>{var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.makePipelineLayout((growMemViews(),HEAPU32)[descriptor+12>>>2>>>0]),compute:WebGPU.makeComputeState(descriptor+16)};return desc},makeRenderPipelineDesc:descriptor=>{function makePrimitiveState(psPtr){if(!psPtr)return undefined;return{topology:WebGPU.PrimitiveTopology[(growMemViews(),HEAP32)[psPtr+4>>>2>>>0]],stripIndexFormat:WebGPU.IndexFormat[(growMemViews(),HEAP32)[psPtr+8>>>2>>>0]],frontFace:WebGPU.FrontFace[(growMemViews(),HEAP32)[psPtr+12>>>2>>>0]],cullMode:WebGPU.CullMode[(growMemViews(),HEAP32)[psPtr+16>>>2>>>0]],unclippedDepth:!!(growMemViews(),HEAPU32)[psPtr+20>>>2>>>0]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{operation:WebGPU.BlendOperation[(growMemViews(),HEAP32)[bdPtr>>>2>>>0]],srcFactor:WebGPU.BlendFactor[(growMemViews(),HEAP32)[bdPtr+4>>>2>>>0]],dstFactor:WebGPU.BlendFactor[(growMemViews(),HEAP32)[bdPtr+8>>>2>>>0]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{alpha:makeBlendComponent(bsPtr+12),color:makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var format=WebGPU.TextureFormat[(growMemViews(),HEAP32)[csPtr+4>>>2>>>0]];return format?{format,blend:makeBlendState((growMemViews(),HEAPU32)[csPtr+8>>>2>>>0]),writeMask:(growMemViews(),HEAPU32)[csPtr+16>>>2>>>0]}:undefined}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i<count;++i){states.push(makeColorState(csArrayPtr+24*i))}return states}function makeStencilStateFace(ssfPtr){return{compare:WebGPU.CompareFunction[(growMemViews(),HEAP32)[ssfPtr>>>2>>>0]],failOp:WebGPU.StencilOperation[(growMemViews(),HEAP32)[ssfPtr+4>>>2>>>0]],depthFailOp:WebGPU.StencilOperation[(growMemViews(),HEAP32)[ssfPtr+8>>>2>>>0]],passOp:WebGPU.StencilOperation[(growMemViews(),HEAP32)[ssfPtr+12>>>2>>>0]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{format:WebGPU.TextureFormat[(growMemViews(),HEAP32)[dssPtr+4>>>2>>>0]],depthWriteEnabled:!!(growMemViews(),HEAPU32)[dssPtr+8>>>2>>>0],depthCompare:WebGPU.CompareFunction[(growMemViews(),HEAP32)[dssPtr+12>>>2>>>0]],stencilFront:makeStencilStateFace(dssPtr+16),stencilBack:makeStencilStateFace(dssPtr+32),stencilReadMask:(growMemViews(),HEAPU32)[dssPtr+48>>>2>>>0],stencilWriteMask:(growMemViews(),HEAPU32)[dssPtr+52>>>2>>>0],depthBias:(growMemViews(),HEAP32)[dssPtr+56>>>2>>>0],depthBiasSlopeScale:(growMemViews(),HEAPF32)[dssPtr+60>>>2>>>0],depthBiasClamp:(growMemViews(),HEAPF32)[dssPtr+64>>>2>>>0]}}function makeVertexAttribute(vaPtr){return{format:WebGPU.VertexFormat[(growMemViews(),HEAP32)[vaPtr+4>>>2>>>0]],offset:readI53FromI64(vaPtr+8),shaderLocation:(growMemViews(),HEAPU32)[vaPtr+16>>>2>>>0]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i<count;++i){vas.push(makeVertexAttribute(vaArrayPtr+i*24))}return vas}function makeVertexBuffer(vbPtr){if(!vbPtr)return undefined;var stepMode=WebGPU.VertexStepMode[(growMemViews(),HEAP32)[vbPtr+4>>>2>>>0]];var attributeCount=(growMemViews(),HEAPU32)[vbPtr+16>>>2>>>0];if(!stepMode&&!attributeCount){return null}return{arrayStride:readI53FromI64(vbPtr+8),stepMode,attributes:makeVertexAttributes(attributeCount,(growMemViews(),HEAPU32)[vbPtr+20>>>2>>>0])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i<count;++i){vbs.push(makeVertexBuffer(vbArrayPtr+i*24))}return vbs}function makeVertexState(viPtr){if(!viPtr)return undefined;var desc={module:WebGPU.getJsObject((growMemViews(),HEAPU32)[viPtr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[viPtr+16>>>2>>>0],(growMemViews(),HEAPU32)[viPtr+20>>>2>>>0]),buffers:makeVertexBuffers((growMemViews(),HEAPU32)[viPtr+24>>>2>>>0],(growMemViews(),HEAPU32)[viPtr+28>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(viPtr+8)};return desc}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{count:(growMemViews(),HEAPU32)[msPtr+4>>>2>>>0],mask:(growMemViews(),HEAPU32)[msPtr+8>>>2>>>0],alphaToCoverageEnabled:!!(growMemViews(),HEAPU32)[msPtr+12>>>2>>>0]}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;var desc={module:WebGPU.getJsObject((growMemViews(),HEAPU32)[fsPtr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[fsPtr+16>>>2>>>0],(growMemViews(),HEAPU32)[fsPtr+20>>>2>>>0]),targets:makeColorStates((growMemViews(),HEAPU32)[fsPtr+24>>>2>>>0],(growMemViews(),HEAPU32)[fsPtr+28>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(fsPtr+8)};return desc}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.makePipelineLayout((growMemViews(),HEAPU32)[descriptor+12>>>2>>>0]),vertex:makeVertexState(descriptor+16),primitive:makePrimitiveState(descriptor+48),depthStencil:makeDepthStencilState((growMemViews(),HEAPU32)[descriptor+72>>>2>>>0]),multisample:makeMultisampleState(descriptor+76),fragment:makeFragmentState((growMemViews(),HEAPU32)[descriptor+92>>>2>>>0])};return desc},fillLimitStruct:(limits,limitsOutPtr)=>{var nextInChainPtr=(growMemViews(),HEAPU32)[limitsOutPtr>>>2>>>0];function setLimitValueU32(name,basePtr,limitOffset,fallbackValue=0){var limitValue=limits[name]??fallbackValue;(growMemViews(),HEAPU32)[basePtr+limitOffset>>>2>>>0]=limitValue}function setLimitValueU64(name,basePtr,limitOffset,fallbackValue=0){var limitValue=limits[name]??fallbackValue;writeI53ToI64(basePtr+limitOffset,limitValue)}setLimitValueU32("maxTextureDimension1D",limitsOutPtr,4);setLimitValueU32("maxTextureDimension2D",limitsOutPtr,8);setLimitValueU32("maxTextureDimension3D",limitsOutPtr,12);setLimitValueU32("maxTextureArrayLayers",limitsOutPtr,16);setLimitValueU32("maxBindGroups",limitsOutPtr,20);setLimitValueU32("maxBindGroupsPlusVertexBuffers",limitsOutPtr,24);setLimitValueU32("maxBindingsPerBindGroup",limitsOutPtr,28);setLimitValueU32("maxDynamicUniformBuffersPerPipelineLayout",limitsOutPtr,32);setLimitValueU32("maxDynamicStorageBuffersPerPipelineLayout",limitsOutPtr,36);setLimitValueU32("maxSampledTexturesPerShaderStage",limitsOutPtr,40);setLimitValueU32("maxSamplersPerShaderStage",limitsOutPtr,44);setLimitValueU32("maxStorageBuffersPerShaderStage",limitsOutPtr,48);setLimitValueU32("maxStorageTexturesPerShaderStage",limitsOutPtr,52);setLimitValueU32("maxUniformBuffersPerShaderStage",limitsOutPtr,56);setLimitValueU32("minUniformBufferOffsetAlignment",limitsOutPtr,80);setLimitValueU32("minStorageBufferOffsetAlignment",limitsOutPtr,84);setLimitValueU64("maxUniformBufferBindingSize",limitsOutPtr,64);setLimitValueU64("maxStorageBufferBindingSize",limitsOutPtr,72);setLimitValueU32("maxVertexBuffers",limitsOutPtr,88);setLimitValueU64("maxBufferSize",limitsOutPtr,96);setLimitValueU32("maxVertexAttributes",limitsOutPtr,104);setLimitValueU32("maxVertexBufferArrayStride",limitsOutPtr,108);setLimitValueU32("maxInterStageShaderVariables",limitsOutPtr,112);setLimitValueU32("maxColorAttachments",limitsOutPtr,116);setLimitValueU32("maxColorAttachmentBytesPerSample",limitsOutPtr,120);setLimitValueU32("maxComputeWorkgroupStorageSize",limitsOutPtr,124);setLimitValueU32("maxComputeInvocationsPerWorkgroup",limitsOutPtr,128);setLimitValueU32("maxComputeWorkgroupSizeX",limitsOutPtr,132);setLimitValueU32("maxComputeWorkgroupSizeY",limitsOutPtr,136);setLimitValueU32("maxComputeWorkgroupSizeZ",limitsOutPtr,140);setLimitValueU32("maxComputeWorkgroupsPerDimension",limitsOutPtr,144);setLimitValueU32("maxImmediateSize",limitsOutPtr,148);if(nextInChainPtr!==0){var sType=(growMemViews(),HEAP32)[nextInChainPtr+4>>>2>>>0];var compatibilityModeLimitsPtr=nextInChainPtr;setLimitValueU32("maxStorageBuffersInVertexStage",compatibilityModeLimitsPtr,8,limits.maxStorageBuffersPerShaderStage);setLimitValueU32("maxStorageBuffersInFragmentStage",compatibilityModeLimitsPtr,16,limits.maxStorageBuffersPerShaderStage);setLimitValueU32("maxStorageTexturesInVertexStage",compatibilityModeLimitsPtr,12,limits.maxStorageTexturesPerShaderStage);setLimitValueU32("maxStorageTexturesInFragmentStage",compatibilityModeLimitsPtr,20,limits.maxStorageTexturesPerShaderStage)}},fillAdapterInfoStruct:(info,infoStruct)=>{(growMemViews(),HEAPU32)[infoStruct+52>>>2>>>0]=info.subgroupMinSize;(growMemViews(),HEAPU32)[infoStruct+56>>>2>>>0]=info.subgroupMaxSize;var strs=info.vendor+info.architecture+info.device+info.description;var strPtr=stringToNewUTF8(strs);var vendorLen=lengthBytesUTF8(info.vendor);WebGPU.setStringView(infoStruct+4,strPtr,vendorLen);strPtr+=vendorLen;var architectureLen=lengthBytesUTF8(info.architecture);WebGPU.setStringView(infoStruct+12,strPtr,architectureLen);strPtr+=architectureLen;var deviceLen=lengthBytesUTF8(info.device);WebGPU.setStringView(infoStruct+20,strPtr,deviceLen);strPtr+=deviceLen;var descriptionLen=lengthBytesUTF8(info.description);WebGPU.setStringView(infoStruct+28,strPtr,descriptionLen);strPtr+=descriptionLen;(growMemViews(),HEAP32)[infoStruct+36>>>2>>>0]=2;var adapterType=info.isFallbackAdapter?3:4;(growMemViews(),HEAP32)[infoStruct+40>>>2>>>0]=adapterType;(growMemViews(),HEAPU32)[infoStruct+44>>>2>>>0]=0;(growMemViews(),HEAPU32)[infoStruct+48>>>2>>>0]=0},AddressMode:[,"clamp-to-edge","repeat","mirror-repeat"],BlendFactor:[,"zero","one","src","one-minus-src","src-alpha","one-minus-src-alpha","dst","one-minus-dst","dst-alpha","one-minus-dst-alpha","src-alpha-saturated","constant","one-minus-constant","src1","one-minus-src1","src1-alpha","one-minus-src1-alpha"],BlendOperation:[,"add","subtract","reverse-subtract","min","max"],BufferBindingType:[,,"uniform","storage","read-only-storage"],BufferMapState:[,"unmapped","pending","mapped"],CompareFunction:[,"never","less","equal","less-equal","greater","not-equal","greater-equal","always"],CompilationInfoRequestStatus:[,"success","callback-cancelled"],ComponentSwizzle:[,"0","1","r","g","b","a"],CompositeAlphaMode:[,"opaque","premultiplied","unpremultiplied","inherit"],CullMode:[,"none","front","back"],ErrorFilter:[,"validation","out-of-memory","internal"],FeatureLevel:[,"compatibility","core"],FeatureName:{1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect"},FilterMode:[,"nearest","linear"],FrontFace:[,"ccw","cw"],IndexFormat:[,"uint16","uint32"],InstanceFeatureName:[,"timed-wait-any","shader-source-spirv","multiple-devices-per-adapter"],LoadOp:[,"load","clear"],MipmapFilterMode:[,"nearest","linear"],OptionalBool:["false","true"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb","display-p3"],PrimitiveTopology:[,"point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:[,"occlusion","timestamp"],SamplerBindingType:[,,"filtering","non-filtering","comparison"],Status:[,"success","error"],StencilOperation:[,"keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,,"write-only","read-only","read-write"],StoreOp:[,"store","discard"],SurfaceGetCurrentTextureStatus:[,"success-optimal","success-suboptimal","timeout","outdated","lost","error"],TextureAspect:[,"all","stencil-only","depth-only"],TextureDimension:[,"1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],TextureSampleType:[,,"float","unfilterable-float","depth","sint","uint"],TextureViewDimension:[,"1d","2d","2d-array","cube","cube-array","3d"],ToneMappingMode:[,"standard","extended"],VertexFormat:[,"uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],VertexStepMode:[,"vertex","instance"],WGSLLanguageFeatureName:[,"readonly_and_readwrite_storage_textures","packed_4x8_integer_dot_product","unrestricted_pointer_parameters","pointer_composite_access","uniform_buffer_standard_layout","subgroup_id","texture_and_sampler_let","subgroup_uniformity","texture_formats_tier1","linear_indexing"]};var emwgpuStringToInt_DeviceLostReason={undefined:1,unknown:1,destroyed:2};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};function _emwgpuAdapterRequestDevice(adapterPtr,futureId,deviceLostFutureId,devicePtr,queuePtr,descriptor){adapterPtr>>>=0;futureId=bigintToI53Checked(futureId);deviceLostFutureId=bigintToI53Checked(deviceLostFutureId);devicePtr>>>=0;queuePtr>>>=0;descriptor>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);var desc={};if(descriptor){var requiredFeatureCount=(growMemViews(),HEAPU32)[descriptor+12>>>2>>>0];if(requiredFeatureCount){var requiredFeaturesPtr=(growMemViews(),HEAPU32)[descriptor+16>>>2>>>0];desc["requiredFeatures"]=Array.from((growMemViews(),HEAPU32).subarray(requiredFeaturesPtr>>>2>>>0,requiredFeaturesPtr+requiredFeatureCount*4>>>2>>>0),feature=>WebGPU.FeatureName[feature])}var limitsPtr=(growMemViews(),HEAPU32)[descriptor+20>>>2>>>0];if(limitsPtr){var nextInChainPtr=(growMemViews(),HEAPU32)[limitsPtr>>>2>>>0];var requiredLimits={};function setLimitU32IfDefined(name,basePtr,limitOffset,ignoreIfZero=false){var ptr=basePtr+limitOffset;var value=(growMemViews(),HEAPU32)[ptr>>>2>>>0];if(value!=4294967295&&(!ignoreIfZero||value!=0)){requiredLimits[name]=value}}function setLimitU64IfDefined(name,basePtr,limitOffset){var ptr=basePtr+limitOffset;var limitPart1=(growMemViews(),HEAPU32)[ptr>>>2>>>0];var limitPart2=(growMemViews(),HEAPU32)[ptr+4>>>2>>>0];if(limitPart1!=4294967295||limitPart2!=4294967295){requiredLimits[name]=readI53FromI64(ptr)}}setLimitU32IfDefined("maxTextureDimension1D",limitsPtr,4);setLimitU32IfDefined("maxTextureDimension2D",limitsPtr,8);setLimitU32IfDefined("maxTextureDimension3D",limitsPtr,12);setLimitU32IfDefined("maxTextureArrayLayers",limitsPtr,16);setLimitU32IfDefined("maxBindGroups",limitsPtr,20);setLimitU32IfDefined("maxBindGroupsPlusVertexBuffers",limitsPtr,24);setLimitU32IfDefined("maxBindingsPerBindGroup",limitsPtr,28);setLimitU32IfDefined("maxDynamicUniformBuffersPerPipelineLayout",limitsPtr,32);setLimitU32IfDefined("maxDynamicStorageBuffersPerPipelineLayout",limitsPtr,36);setLimitU32IfDefined("maxSampledTexturesPerShaderStage",limitsPtr,40);setLimitU32IfDefined("maxSamplersPerShaderStage",limitsPtr,44);setLimitU32IfDefined("maxStorageBuffersPerShaderStage",limitsPtr,48);setLimitU32IfDefined("maxStorageTexturesPerShaderStage",limitsPtr,52);setLimitU32IfDefined("maxUniformBuffersPerShaderStage",limitsPtr,56);setLimitU32IfDefined("minUniformBufferOffsetAlignment",limitsPtr,80);setLimitU32IfDefined("minStorageBufferOffsetAlignment",limitsPtr,84);setLimitU64IfDefined("maxUniformBufferBindingSize",limitsPtr,64);setLimitU64IfDefined("maxStorageBufferBindingSize",limitsPtr,72);setLimitU32IfDefined("maxVertexBuffers",limitsPtr,88);setLimitU64IfDefined("maxBufferSize",limitsPtr,96);setLimitU32IfDefined("maxVertexAttributes",limitsPtr,104);setLimitU32IfDefined("maxVertexBufferArrayStride",limitsPtr,108);setLimitU32IfDefined("maxInterStageShaderVariables",limitsPtr,112);setLimitU32IfDefined("maxColorAttachments",limitsPtr,116);setLimitU32IfDefined("maxColorAttachmentBytesPerSample",limitsPtr,120);setLimitU32IfDefined("maxComputeWorkgroupStorageSize",limitsPtr,124);setLimitU32IfDefined("maxComputeInvocationsPerWorkgroup",limitsPtr,128);setLimitU32IfDefined("maxComputeWorkgroupSizeX",limitsPtr,132);setLimitU32IfDefined("maxComputeWorkgroupSizeY",limitsPtr,136);setLimitU32IfDefined("maxComputeWorkgroupSizeZ",limitsPtr,140);setLimitU32IfDefined("maxComputeWorkgroupsPerDimension",limitsPtr,144);setLimitU32IfDefined("maxImmediateSize",limitsPtr,148,true);if(nextInChainPtr!==0){var sType=(growMemViews(),HEAP32)[nextInChainPtr+4>>>2>>>0];var compatibilityModeLimitsPtr=nextInChainPtr;if("maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype){setLimitU32IfDefined("maxStorageBuffersInVertexStage",compatibilityModeLimitsPtr,8);setLimitU32IfDefined("maxStorageTexturesInVertexStage",compatibilityModeLimitsPtr,12);setLimitU32IfDefined("maxStorageBuffersInFragmentStage",compatibilityModeLimitsPtr,16);setLimitU32IfDefined("maxStorageTexturesInFragmentStage",compatibilityModeLimitsPtr,20)}}desc["requiredLimits"]=requiredLimits}var defaultQueuePtr=(growMemViews(),HEAPU32)[descriptor+24>>>2>>>0];if(defaultQueuePtr){var defaultQueueDesc={label:WebGPU.makeStringFromOptionalStringView(defaultQueuePtr+4)};desc["defaultQueue"]=defaultQueueDesc}desc["label"]=WebGPU.makeStringFromOptionalStringView(descriptor+4)}runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,adapter.requestDevice(desc).then(device=>{runtimeKeepalivePop();callUserCallback(()=>{WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);WebGPU.Internals.futureInsert(deviceLostFutureId,device.lost.then(info=>{callUserCallback(()=>{device.onuncapturederror=ev=>{};var sp=stackSave();var messagePtr=stringToUTF8OnStack(info.message);_emwgpuOnDeviceLostCompleted(deviceLostFutureId,emwgpuStringToInt_DeviceLostReason[info.reason],messagePtr);stackRestore(sp)})}));device.onuncapturederror=ev=>{var type=5;if(ev.error instanceof GPUValidationError)type=2;else if(ev.error instanceof GPUOutOfMemoryError)type=3;else if(ev.error instanceof GPUInternalError)type=4;var sp=stackSave();var messagePtr=stringToUTF8OnStack(ev.error.message);_emwgpuOnUncapturedError(devicePtr,type,messagePtr);stackRestore(sp)};_emwgpuOnRequestDeviceCompleted(futureId,1,devicePtr,0)})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestDeviceCompleted(futureId,3,devicePtr,messagePtr);if(deviceLostFutureId){_emwgpuOnDeviceLostCompleted(deviceLostFutureId,4,messagePtr)}stackRestore(sp)})}))}function _emwgpuBufferDestroy(bufferPtr){bufferPtr>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(onUnmap){for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]}buffer.destroy()}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};function _emwgpuBufferGetConstMappedRange(bufferPtr,offset,size){bufferPtr>>>=0;offset>>>=0;size>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);if(size==4294967295)size=undefined;var mapped;try{mapped=buffer.getMappedRange(offset,size)}catch(ex){return 0}var data=_memalign(16,mapped.byteLength);(growMemViews(),HEAPU8).set(new Uint8Array(mapped),data>>>0);WebGPU.Internals.bufferOnUnmaps[bufferPtr].push(()=>_free(data));return data}var _emwgpuBufferMapAsync=function(bufferPtr,futureId,mode,offset,size){bufferPtr>>>=0;futureId=bigintToI53Checked(futureId);mode=bigintToI53Checked(mode);offset>>>=0;size>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[];if(size==4294967295)size=undefined;runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,buffer.mapAsync(mode,offset,size).then(()=>{runtimeKeepalivePop();callUserCallback(()=>{_emwgpuOnMapAsyncCompleted(futureId,1,0)})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);var status=ex.name==="AbortError"?4:ex.name==="OperationError"?3:0;_emwgpuOnMapAsyncCompleted(futureId,status,messagePtr);delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]})}))};function _emwgpuBufferUnmap(bufferPtr){bufferPtr>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(!onUnmap){return}for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr];buffer.unmap()}function _emwgpuDelete(ptr){ptr>>>=0;delete WebGPU.Internals.jsObjects[ptr]}function _emwgpuDeviceCreateBuffer(devicePtr,descriptor,bufferPtr){devicePtr>>>=0;descriptor>>>=0;bufferPtr>>>=0;var mappedAtCreation=!!(growMemViews(),HEAPU32)[descriptor+32>>>2>>>0];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),usage:(growMemViews(),HEAPU32)[descriptor+16>>>2>>>0],size:readI53FromI64(descriptor+24),mappedAtCreation};var device=WebGPU.getJsObject(devicePtr);var buffer;try{buffer=device.createBuffer(desc)}catch(ex){return false}WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);if(mappedAtCreation){WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[]}return true}function _emwgpuDeviceCreateShaderModule(devicePtr,descriptor,shaderModulePtr){devicePtr>>>=0;descriptor>>>=0;shaderModulePtr>>>=0;var nextInChainPtr=(growMemViews(),HEAPU32)[descriptor>>>2>>>0];var sType=(growMemViews(),HEAP32)[nextInChainPtr+4>>>2>>>0];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),code:""};switch(sType){case 2:{desc["code"]=WebGPU.makeStringFromStringView(nextInChainPtr+8);break}}var device=WebGPU.getJsObject(devicePtr);WebGPU.Internals.jsObjectInsert(shaderModulePtr,device.createShaderModule(desc))}var _emwgpuDeviceDestroy=devicePtr=>{const device=WebGPU.getJsObject(devicePtr);device.onuncapturederror=null;device.destroy()};function _emwgpuInstanceRequestAdapter(instancePtr,futureId,options,adapterPtr){instancePtr>>>=0;futureId=bigintToI53Checked(futureId);options>>>=0;adapterPtr>>>=0;var opts;if(options){opts={featureLevel:WebGPU.FeatureLevel[(growMemViews(),HEAP32)[options+4>>>2>>>0]],powerPreference:WebGPU.PowerPreference[(growMemViews(),HEAP32)[options+8>>>2>>>0]],forceFallbackAdapter:!!(growMemViews(),HEAPU32)[options+12>>>2>>>0]};var nextInChainPtr=(growMemViews(),HEAPU32)[options>>>2>>>0];if(nextInChainPtr!==0){var sType=(growMemViews(),HEAP32)[nextInChainPtr+4>>>2>>>0];var webxrOptions=nextInChainPtr;opts.xrCompatible=!!(growMemViews(),HEAPU32)[webxrOptions+8>>>2>>>0]}}if(!("gpu"in navigator)){var sp=stackSave();var messagePtr=stringToUTF8OnStack("WebGPU not available on this browser (navigator.gpu is not available)");_emwgpuOnRequestAdapterCompleted(futureId,3,adapterPtr,messagePtr);stackRestore(sp);return}runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,navigator.gpu.requestAdapter(opts).then(adapter=>{runtimeKeepalivePop();callUserCallback(()=>{if(adapter){WebGPU.Internals.jsObjectInsert(adapterPtr,adapter);_emwgpuOnRequestAdapterCompleted(futureId,1,adapterPtr,0)}else{var sp=stackSave();var messagePtr=stringToUTF8OnStack("WebGPU not available on this browser (requestAdapter returned null)");_emwgpuOnRequestAdapterCompleted(futureId,3,adapterPtr,messagePtr);stackRestore(sp)}})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestAdapterCompleted(futureId,4,adapterPtr,messagePtr);stackRestore(sp)})}))}var _emwgpuQueueOnSubmittedWorkDone=function(queuePtr,futureId){queuePtr>>>=0;futureId=bigintToI53Checked(futureId);var queue=WebGPU.getJsObject(queuePtr);runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,queue.onSubmittedWorkDone().then(()=>{runtimeKeepalivePop();callUserCallback(()=>{_emwgpuOnWorkDoneCompleted(futureId,1)})}))};var _emwgpuWaitAny=function(futurePtr,futureCount,timeoutMSPtr){futurePtr>>>=0;futureCount>>>=0;timeoutMSPtr>>>=0;return Asyncify.handleAsync(async()=>{var promises=[];if(timeoutMSPtr){var timeoutMS=(growMemViews(),HEAP32)[timeoutMSPtr>>>2>>>0];promises.length=futureCount+1;promises[futureCount]=new Promise(resolve=>setTimeout(resolve,timeoutMS,0))}else{promises.length=futureCount}for(var i=0;i<futureCount;++i){var futureId=readI53FromI64(futurePtr+i*8);if(!(futureId in WebGPU.Internals.futures)){return futureId}promises[i]=WebGPU.Internals.futures[futureId]}const firstResolvedFuture=await Promise.race(promises);delete WebGPU.Internals.futures[firstResolvedFuture];return firstResolvedFuture})};_emwgpuWaitAny.isAsync=true;var ENV={};var getExecutableName=()=>thisProgram;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,__environ,environ_buf);__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;(growMemViews(),HEAPU32)[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,penviron_count,penviron_buf_size);penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();(growMemViews(),HEAPU32)[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}(growMemViews(),HEAPU32)[penviron_buf_size>>>2>>>0]=bufSize;return 0}function _llvm_eh_typeid_for(type){type>>>=0;return type}var initRandomFill=()=>view=>(view.set(crypto.getRandomValues(new Uint8Array(view.byteLength))),0);var randomFill=view=>(randomFill=initRandomFill())(view);function _random_get(buffer,size){buffer>>>=0;size>>>=0;return randomFill((growMemViews(),HEAPU8).subarray(buffer>>>0,buffer+size>>>0))}function _wgpuAdapterGetInfo(adapterPtr,info){adapterPtr>>>=0;info>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);WebGPU.fillAdapterInfoStruct(adapter.info,info);return 1}function _wgpuAdapterGetLimits(adapterPtr,limitsOutPtr){adapterPtr>>>=0;limitsOutPtr>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);WebGPU.fillLimitStruct(adapter.limits,limitsOutPtr);return 1}function _wgpuAdapterHasFeature(adapterPtr,featureEnumValue){adapterPtr>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}var _wgpuBufferGetSize=function(bufferPtr){bufferPtr>>>=0;var ret=(()=>{var buffer=WebGPU.getJsObject(bufferPtr);return buffer.size})();return BigInt(ret)};function _wgpuCommandEncoderBeginComputePass(encoderPtr,descriptor){encoderPtr>>>=0;descriptor>>>=0;var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),timestampWrites:WebGPU.makePassTimestampWrites((growMemViews(),HEAPU32)[descriptor+12>>>2>>>0])}}var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateComputePassEncoder(0);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.beginComputePass(desc));return ptr}function _wgpuCommandEncoderCopyBufferToBuffer(encoderPtr,srcPtr,srcOffset,dstPtr,dstOffset,size){encoderPtr>>>=0;srcPtr>>>=0;srcOffset=bigintToI53Checked(srcOffset);dstPtr>>>=0;dstOffset=bigintToI53Checked(dstOffset);size=bigintToI53Checked(size);var commandEncoder=WebGPU.getJsObject(encoderPtr);var src=WebGPU.getJsObject(srcPtr);var dst=WebGPU.getJsObject(dstPtr);commandEncoder.copyBufferToBuffer(src,srcOffset,dst,dstOffset,size)}function _wgpuCommandEncoderFinish(encoderPtr,descriptor){encoderPtr>>>=0;descriptor>>>=0;var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateCommandBuffer(0);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.finish());return ptr}function _wgpuComputePassEncoderDispatchWorkgroups(passPtr,x,y,z){passPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);pass.dispatchWorkgroups(x,y,z)}function _wgpuComputePassEncoderEnd(passPtr){passPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);pass.end()}function _wgpuComputePassEncoderSetBindGroup(passPtr,groupIndex,groupPtr,dynamicOffsetCount,dynamicOffsetsPtr){passPtr>>>=0;groupPtr>>>=0;dynamicOffsetCount>>>=0;dynamicOffsetsPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);var group=WebGPU.getJsObject(groupPtr);if(dynamicOffsetCount==0){pass.setBindGroup(groupIndex,group)}else{pass.setBindGroup(groupIndex,group,(growMemViews(),HEAPU32),dynamicOffsetsPtr>>>2,dynamicOffsetCount)}}function _wgpuComputePassEncoderSetPipeline(passPtr,pipelinePtr){passPtr>>>=0;pipelinePtr>>>=0;var pass=WebGPU.getJsObject(passPtr);var pipeline=WebGPU.getJsObject(pipelinePtr);pass.setPipeline(pipeline)}function _wgpuComputePipelineGetBindGroupLayout(pipelinePtr,groupIndex){pipelinePtr>>>=0;var pipeline=WebGPU.getJsObject(pipelinePtr);var ptr=_emwgpuCreateBindGroupLayout(0);WebGPU.Internals.jsObjectInsert(ptr,pipeline.getBindGroupLayout(groupIndex));return ptr}var _wgpuDeviceCreateBindGroup=function(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;function makeEntry(entryPtr){var bufferPtr=(growMemViews(),HEAPU32)[entryPtr+8>>>2>>>0];var samplerPtr=(growMemViews(),HEAPU32)[entryPtr+32>>>2>>>0];var textureViewPtr=(growMemViews(),HEAPU32)[entryPtr+36>>>2>>>0];var externalTexturePtr=0;WebGPU.iterateExtensions(entryPtr,{14:ptr=>{externalTexturePtr=(growMemViews(),HEAPU32)[ptr+8>>>2>>>0]}});var resource;if(bufferPtr){var size=readI53FromI64(entryPtr+24);if(size==-1)size=undefined;resource={buffer:WebGPU.getJsObject(bufferPtr),offset:readI53FromI64(entryPtr+16),size}}else{resource=WebGPU.getJsObject(samplerPtr||textureViewPtr||externalTexturePtr)}return{binding:(growMemViews(),HEAPU32)[entryPtr+4>>>2>>>0],resource}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i<count;++i){entries.push(makeEntry(entriesPtrs+40*i))}return entries}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.getJsObject((growMemViews(),HEAPU32)[descriptor+12>>>2>>>0]),entries:makeEntries((growMemViews(),HEAPU32)[descriptor+16>>>2>>>0],(growMemViews(),HEAPU32)[descriptor+20>>>2>>>0])};var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateBindGroup(0);WebGPU.Internals.jsObjectInsert(ptr,device.createBindGroup(desc));return ptr};function _wgpuDeviceCreateCommandEncoder(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4)}}var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateCommandEncoder(0);WebGPU.Internals.jsObjectInsert(ptr,device.createCommandEncoder(desc));return ptr}function _wgpuDeviceCreateComputePipeline(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;var desc=WebGPU.makeComputePipelineDesc(descriptor);var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateComputePipeline(0);WebGPU.Internals.jsObjectInsert(ptr,device.createComputePipeline(desc));return ptr}function _wgpuInstanceHasWGSLLanguageFeature(instance,featureEnumValue){instance>>>=0;if(!("wgslLanguageFeatures"in navigator.gpu)){return false}return navigator.gpu.wgslLanguageFeatures.has(WebGPU.WGSLLanguageFeatureName[featureEnumValue])}var _wgpuQueueSubmit=function(queuePtr,commandCount,commands){queuePtr>>>=0;commandCount>>>=0;commands>>>=0;var queue=WebGPU.getJsObject(queuePtr);var cmds=Array.from((growMemViews(),HEAP32).subarray(commands>>>2>>>0,commands+commandCount*4>>>2>>>0),id=>WebGPU.getJsObject(id));queue.submit(cmds)};function _wgpuQueueWriteBuffer(queuePtr,bufferPtr,bufferOffset,data,size){queuePtr>>>=0;bufferPtr>>>=0;bufferOffset=bigintToI53Checked(bufferOffset);data>>>=0;size>>>=0;var queue=WebGPU.getJsObject(queuePtr);var buffer=WebGPU.getJsObject(bufferPtr);var subarray=(growMemViews(),HEAPU8).subarray(data>>>0,data+size>>>0);queue.writeBuffer(buffer,bufferOffset,subarray,0,size)}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var readI53FromU64=ptr=>(growMemViews(),HEAPU32)[ptr>>>2>>>0]+(growMemViews(),HEAPU32)[ptr+4>>>2>>>0]*4294967296;var FS_mknod=(path,mode,dev)=>FS.handleError(withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);return __wasmfs_mknod(pathBuffer,mode,dev)}));var FS_create=(path,mode=438)=>{mode&=4095;mode|=32768;return FS_mknod(path,mode,0)};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_writeFile=(path,data)=>{var sp=stackSave();var pathBuffer=stringToUTF8OnStack(path);data=FS_fileDataToTypedArray(data);var len=data.length;var dataBuffer=_malloc(len);(growMemViews(),HEAPU8).set(data,dataBuffer>>>0);var ret=__wasmfs_write_file(pathBuffer,dataBuffer,len);_free(dataBuffer);stackRestore(sp);return ret};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{var pathName=name?parent+"/"+name:parent;var mode=FS_getMode(canRead,canWrite);if(!wasmFSPreloadingFlushed){wasmFSPreloadedFiles.push({pathName,fileData,mode})}else{FS_create(pathName,mode);FS_writeFile(pathName,fileData)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS_modeStringToFlags=str=>{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_mkdir=(path,mode=511)=>FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_mkdir(buffer,mode)}));var FS_mkdirTree=(path,mode)=>{var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS_mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}};var FS_unlink=path=>withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_unlink(buffer)});var wasmFSDevices={};var wasmFSDeviceStreams={};var FS={ErrnoError:class extends Error{name="ErrnoError";message="FS error";constructor(code){super();this.errno=code}},handleError(returnValue){if(returnValue<0){throw new FS.ErrnoError(-returnValue)}return returnValue},createDataFile(parent,name,fileData,canRead,canWrite,canOwn){FS_createDataFile(parent,name,fileData,canRead,canWrite,canOwn)},createPath(parent,path,canRead,canWrite){var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);if(!wasmFSPreloadingFlushed){wasmFSPreloadedDirs.push({parentPath:parent,childName:part})}else{try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}}parent=current}return current},createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){return FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)},async preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish){return FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)},readFile(path,opts={}){opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var buf,length;withStackSave(()=>{var bufPtr=stackAlloc(4);var sizePtr=stackAlloc(4);FS.handleError(-__wasmfs_read_file(stringToUTF8OnStack(path),bufPtr,sizePtr));buf=(growMemViews(),HEAPU32)[bufPtr>>>2>>>0];length=readI53FromI64(sizePtr)});return opts.encoding==="utf8"?UTF8ToString(buf,length):(growMemViews(),HEAPU8).slice(buf,buf+length)},cwd:()=>UTF8ToString(__wasmfs_get_cwd()),analyzePath(path){var exists=!!FS.findObject(path);return{exists,object:{contents:exists?FS.readFile(path):null}}},mkdir:(path,mode)=>FS_mkdir(path,mode),mkdirTree:(path,mode)=>FS_mkdirTree(path,mode),rmdir:path=>FS.handleError(withStackSave(()=>__wasmfs_rmdir(stringToUTF8OnStack(path)))),open:(path,flags,mode=438)=>withStackSave(()=>{flags=FS_modeStringToFlags(flags);var buffer=stringToUTF8OnStack(path);var fd=FS.handleError(__wasmfs_open(buffer,flags,mode));return{fd}}),create:(path,mode)=>FS_create(path,mode),close:stream=>FS.handleError(-__wasmfs_close(stream.fd)),unlink:path=>FS_unlink(path),chdir:path=>withStackSave(()=>__wasmfs_chdir(stringToUTF8OnStack(path))),read(stream,buffer,offset,length,position){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);var bytesRead;if(seeking){bytesRead=__wasmfs_pread(stream.fd,dataBuffer,length,BigInt(position))}else{bytesRead=__wasmfs_read(stream.fd,dataBuffer,length)}if(bytesRead>0){buffer.set((growMemViews(),HEAPU8).subarray(dataBuffer>>>0,dataBuffer+bytesRead>>>0),offset)}_free(dataBuffer);return FS.handleError(bytesRead)},write(stream,buffer,offset,length,position,canOwn){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);for(var i=0;i<length;i++){(growMemViews(),HEAP8)[dataBuffer+i>>>0]=buffer[offset+i]}var bytesRead;if(seeking){bytesRead=__wasmfs_pwrite(stream.fd,dataBuffer,length,BigInt(position))}else{bytesRead=__wasmfs_write(stream.fd,dataBuffer,length)}_free(dataBuffer);return FS.handleError(bytesRead)},writeFile:(path,data)=>FS_writeFile(path,data),mmap:(stream,length,offset,prot,flags)=>{var buf=FS.handleError(__wasmfs_mmap(length,prot,flags,stream.fd,BigInt(offset)));return{ptr:buf,allocated:true}},msync:(stream,bufferPtr,offset,length,mmapFlags)=>FS.handleError(__wasmfs_msync(bufferPtr,length,mmapFlags)),munmap:(addr,length)=>FS.handleError(__wasmfs_munmap(addr,length)),symlink:(target,linkpath)=>withStackSave(()=>__wasmfs_symlink(stringToUTF8OnStack(target),stringToUTF8OnStack(linkpath))),readlink(path){return withStackSave(()=>{var bufPtr=stackAlloc(4);FS.handleError(__wasmfs_readlink(stringToUTF8OnStack(path),bufPtr));var readBuffer=(growMemViews(),HEAPU32)[bufPtr>>>2>>>0];return UTF8ToString(readBuffer)})},statBufToObject(statBuf){return{dev:(growMemViews(),HEAPU32)[statBuf>>>2>>>0],mode:(growMemViews(),HEAPU32)[statBuf+4>>>2>>>0],nlink:(growMemViews(),HEAPU32)[statBuf+8>>>2>>>0],uid:(growMemViews(),HEAPU32)[statBuf+12>>>2>>>0],gid:(growMemViews(),HEAPU32)[statBuf+16>>>2>>>0],rdev:(growMemViews(),HEAPU32)[statBuf+20>>>2>>>0],size:readI53FromI64(statBuf+24),blksize:(growMemViews(),HEAP32)[statBuf+32>>>2>>>0],blocks:(growMemViews(),HEAP32)[statBuf+36>>>2>>>0],atime:readI53FromI64(statBuf+40),mtime:readI53FromI64(statBuf+56),ctime:readI53FromI64(statBuf+72),ino:readI53FromU64(statBuf+88)}},stat(path){return withStackSave(()=>{var statBuf=stackAlloc(96);FS.handleError(__wasmfs_stat(stringToUTF8OnStack(path),statBuf));return FS.statBufToObject(statBuf)})},lstat(path){return withStackSave(()=>{var statBuf=stackAlloc(96);FS.handleError(__wasmfs_lstat(stringToUTF8OnStack(path),statBuf));return FS.statBufToObject(statBuf)})},chmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chmod(buffer,mode)}))},lchmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_lchmod(buffer,mode)}))},fchmod(fd,mode){return FS.handleError(__wasmfs_fchmod(fd,mode))},utime:(path,atime,mtime)=>FS.handleError(withStackSave(()=>__wasmfs_utime(stringToUTF8OnStack(path),atime,mtime))),truncate(path,len){return FS.handleError(withStackSave(()=>__wasmfs_truncate(stringToUTF8OnStack(path),BigInt(len))))},ftruncate(fd,len){return FS.handleError(__wasmfs_ftruncate(fd,BigInt(len)))},findObject(path){var result=withStackSave(()=>__wasmfs_identify(stringToUTF8OnStack(path)));if(result==44){return null}return{isFolder:result==31,isDevice:false}},readdir:path=>withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);var entries=[];var state=__wasmfs_readdir_start(pathBuffer);if(!state){throw new Error("No such directory")}var entry;while(entry=__wasmfs_readdir_get(state)){entries.push(UTF8ToString(entry))}__wasmfs_readdir_finish(state);return entries}),mount:(type,opts,mountpoint)=>{var backendPointer=type.createBackend(opts);return FS.handleError(withStackSave(()=>__wasmfs_mount(stringToUTF8OnStack(mountpoint),backendPointer)))},unmount:mountpoint=>FS.handleError(withStackSave(()=>_wasmfs_unmount(stringToUTF8OnStack(mountpoint)))),mknod:(path,mode,dev)=>FS_mknod(path,mode,dev),makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){var backendPointer=_wasmfs_create_jsimpl_backend();var definedOps={userRead:ops.read,userWrite:ops.write,allocFile:file=>{wasmFSDeviceStreams[file]={}},freeFile:file=>{wasmFSDeviceStreams[file]=undefined},getSize:file=>{},setSize:(file,size)=>0,read:(file,buffer,length,offset)=>{var bufferArray=(growMemViews(),HEAP8).subarray(buffer>>>0,buffer+length>>>0);try{var bytesRead=definedOps.userRead(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}(growMemViews(),HEAP8).set(bufferArray,buffer>>>0);return bytesRead},write:(file,buffer,length,offset)=>{var bufferArray=(growMemViews(),HEAP8).subarray(buffer>>>0,buffer+length>>>0);try{var bytesWritten=definedOps.userWrite(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}(growMemViews(),HEAP8).set(bufferArray,buffer>>>0);return bytesWritten}};wasmFS$backends[backendPointer]=definedOps;wasmFSDevices[dev]=backendPointer},createDevice(parent,name,input,output){if(typeof parent!="string"){throw new Error("Only string paths are accepted")}var path=PATH.join2(parent,name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&!bytesRead){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}return i}});return FS.mkdev(path,mode,dev)},mkdev(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}var deviceBackend=wasmFSDevices[dev];if(!deviceBackend){throw new Error("Invalid device ID.")}return FS.handleError(withStackSave(()=>_wasmfs_create_file(stringToUTF8OnStack(path),mode,deviceBackend)))},rename(oldPath,newPath){return FS.handleError(withStackSave(()=>{var oldPathBuffer=stringToUTF8OnStack(oldPath);var newPathBuffer=stringToUTF8OnStack(newPath);return __wasmfs_rename(oldPathBuffer,newPathBuffer)}))},llseek(stream,offset,whence){return FS.handleError(__wasmfs_llseek(stream.fd,BigInt(offset),whence))}};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&!Asyncify.exportCallStack.length){Asyncify.state=Asyncify.State.Normal;runtimeKeepalivePush();runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){(growMemViews(),HEAPU32)[ptr>>>2>>>0]=stack;(growMemViews(),HEAPU32)[ptr+4>>>2>>>0]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);(growMemViews(),HEAP32)[ptr+8>>>2>>>0]=rewindId},getDataRewindFunc(ptr){var id=(growMemViews(),HEAP32)[ptr+8>>>2>>>0];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);runtimeKeepalivePop();return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{(growMemViews(),HEAP8).set(array,buffer>>>0)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(!stack)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var previousAsync=Asyncify.currData;var ret=func(...cArgs);function onDone(ret){runtimeKeepalivePop();if(stack)stackRestore(stack);return convertReturnValue(ret)}var asyncMode=opts?.async;runtimeKeepalivePush();if(Asyncify.currData!=previousAsync){return Asyncify.whenDone().then(onDone)}ret=onDone(ret);if(asyncMode)return Promise.resolve(ret);return ret};var FS_createPath=FS.createPath;PThread.init();{initMemory();if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["arguments"])programArgs=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var preInit=Module["preInit"];if(preInit){if(typeof preInit=="function")Module["preInit"]=preInit=[preInit];while(preInit.length>0){preInit.shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["ccall"]=ccall;Module["UTF8ToString"]=UTF8ToString;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;var proxiedFunctionTable=[_proc_exit,exitOnMainThread,pthreadCreateProxied,_environ_get,_environ_sizes_get];var _llamadart_webgpu_probe,_llamadart_webgpu_supports_pthreads,_llamadart_webgpu_pthread_pool_size,_llamadart_webgpu_backends_json,_llamadart_webgpu_last_error,_llamadart_webgpu_set_log_level,_llamadart_webgpu_load_model,_llamadart_webgpu_free_model,_llamadart_webgpu_load_model_from_url,_wasmfs_create_file,_llamadart_webgpu_mmproj_load,_llamadart_webgpu_mmproj_free,_llamadart_webgpu_mmproj_supports_vision,_llamadart_webgpu_mmproj_supports_audio,_llamadart_webgpu_media_clear_pending,_llamadart_webgpu_media_add_file,_llamadart_webgpu_media_add_encoded,_llamadart_webgpu_media_add_rgb,_llamadart_webgpu_media_add_audio_f32,_llamadart_webgpu_tokenize_to_json,_llamadart_webgpu_last_tokens_json,_llamadart_webgpu_state_save_file,_llamadart_webgpu_state_load_file,_llamadart_webgpu_detokenize_from_json,_llamadart_webgpu_last_detokenized,_llamadart_webgpu_embed_to_json,_llamadart_webgpu_last_embedding_json,_llamadart_webgpu_score_next_token_to_json,_llamadart_webgpu_last_next_token_scores_json,_llamadart_webgpu_generate,_llamadart_webgpu_begin_generation,_llamadart_webgpu_completion_capabilities_json,_llamadart_webgpu_next_token,_llamadart_webgpu_last_piece,_llamadart_webgpu_end_generation,_llamadart_webgpu_request_cancel,_llamadart_webgpu_last_output,_llamadart_webgpu_last_generation_usage_json,_llamadart_webgpu_get_context_size,_llamadart_webgpu_model_meta_json,_llamadart_webgpu_set_next_speculative,_llamadart_webgpu_draft_model_load,_llamadart_webgpu_draft_model_free,_llamadart_webgpu_draft_model_info_json,_llamadart_webgpu_heap_headroom_bytes,_llamadart_webgpu_tts_api_version,_llamadart_webgpu_tts_info_json,_llamadart_webgpu_tts_start,_llamadart_webgpu_tts_step,_llamadart_webgpu_tts_progress_json,_llamadart_webgpu_tts_write_pcm,_llamadart_webgpu_tts_reset,_llamadart_webgpu_decision_api_version,_llamadart_webgpu_decision_capabilities_json,_llamadart_webgpu_decision_load,_llamadart_webgpu_decision_head_info_json,_llamadart_webgpu_decision_run,_llamadart_webgpu_decision_free,_llamadart_webgpu_lora_api_version,_llamadart_webgpu_lora_load,_llamadart_webgpu_lora_set,_llamadart_webgpu_lora_remove,_llamadart_webgpu_lora_clear,_llamadart_webgpu_shutdown,_main,_malloc,_free,_emwgpuCreateBindGroup,_emwgpuCreateBindGroupLayout,_emwgpuCreateCommandBuffer,_emwgpuCreateCommandEncoder,_emwgpuCreateComputePassEncoder,_emwgpuCreateComputePipeline,_emwgpuCreateExternalTexture,_emwgpuCreatePipelineLayout,_emwgpuCreateQuerySet,_emwgpuCreateRenderBundle,_emwgpuCreateRenderBundleEncoder,_emwgpuCreateRenderPassEncoder,_emwgpuCreateRenderPipeline,_emwgpuCreateSampler,_emwgpuCreateSurface,_emwgpuCreateTexture,_emwgpuCreateTextureView,_emwgpuCreateAdapter,_emwgpuImportBuffer,_emwgpuCreateDevice,_emwgpuCreateQueue,_emwgpuCreateShaderModule,_emwgpuOnDeviceLostCompleted,_emwgpuOnMapAsyncCompleted,_emwgpuOnRequestAdapterCompleted,_emwgpuOnRequestDeviceCompleted,_emwgpuOnWorkDoneCompleted,_emwgpuOnUncapturedError,__emscripten_tls_init,_pthread_self,__emscripten_thread_init,___set_thread_state,__emscripten_thread_crashed,_emscripten_proxy_execute_queue,_emscripten_proxy_finish,__emscripten_run_js_on_main_thread_done,__emscripten_run_js_on_main_thread,__emscripten_thread_free_data,__emscripten_thread_exit,__emscripten_check_mailbox,_memalign,_setThrew,__emscripten_tempret_set,_emscripten_stack_set_limits,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,__wasmfs_fetch_get_file_url,__wasmfs_fetch_get_chunk_size,__wasmfs_read_file,__wasmfs_write_file,__wasmfs_mkdir,__wasmfs_rmdir,__wasmfs_open,__wasmfs_mknod,__wasmfs_unlink,__wasmfs_chdir,__wasmfs_symlink,__wasmfs_readlink,__wasmfs_write,__wasmfs_pwrite,__wasmfs_chmod,__wasmfs_fchmod,__wasmfs_lchmod,__wasmfs_llseek,__wasmfs_rename,__wasmfs_read,__wasmfs_pread,__wasmfs_truncate,__wasmfs_ftruncate,__wasmfs_close,__wasmfs_mmap,__wasmfs_msync,__wasmfs_munmap,__wasmfs_utime,__wasmfs_stat,__wasmfs_lstat,__wasmfs_mount,__wasmfs_identify,__wasmfs_readdir_start,__wasmfs_readdir_get,__wasmfs_readdir_finish,__wasmfs_get_cwd,_wasmfs_create_jsimpl_backend,_wasmfs_unmount,dynCall_viii,dynCall_ii,dynCall_vi,dynCall_vii,dynCall_iii,dynCall_iiii,dynCall_v,dynCall_ifi,dynCall_viiii,dynCall_viiiii,dynCall_iiiii,dynCall_viiiiiiiiii,dynCall_viiiiiiiiiii,dynCall_dii,dynCall_iiji,dynCall_iiiiii,dynCall_viiiiii,dynCall_iiiji,dynCall_iij,dynCall_iiiiiii,dynCall_iiiiiiiii,dynCall_jii,dynCall_viij,dynCall_viiiiiiii,dynCall_i,dynCall_jiii,dynCall_iiiij,dynCall_ji,dynCall_viijii,dynCall_viijijj,dynCall_jijiii,dynCall_viifffi,dynCall_iiiiiiiiii,dynCall_viiiiiii,dynCall_viji,dynCall_jiji,dynCall_iidiiiii,dynCall_iiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiij,dynCall_iiiiid,dynCall_iiiiijj,dynCall_iiiiiijj,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,__indirect_function_table,wasmTable;function assignWasmExports(wasmExports){_llamadart_webgpu_probe=Module["_llamadart_webgpu_probe"]=wasmExports["pb"];_llamadart_webgpu_supports_pthreads=Module["_llamadart_webgpu_supports_pthreads"]=wasmExports["qb"];_llamadart_webgpu_pthread_pool_size=Module["_llamadart_webgpu_pthread_pool_size"]=wasmExports["rb"];_llamadart_webgpu_backends_json=Module["_llamadart_webgpu_backends_json"]=wasmExports["sb"];_llamadart_webgpu_last_error=Module["_llamadart_webgpu_last_error"]=wasmExports["tb"];_llamadart_webgpu_set_log_level=Module["_llamadart_webgpu_set_log_level"]=wasmExports["ub"];_llamadart_webgpu_load_model=Module["_llamadart_webgpu_load_model"]=wasmExports["vb"];_llamadart_webgpu_free_model=Module["_llamadart_webgpu_free_model"]=wasmExports["wb"];_llamadart_webgpu_load_model_from_url=Module["_llamadart_webgpu_load_model_from_url"]=wasmExports["xb"];_wasmfs_create_file=wasmExports["yb"];_llamadart_webgpu_mmproj_load=Module["_llamadart_webgpu_mmproj_load"]=wasmExports["zb"];_llamadart_webgpu_mmproj_free=Module["_llamadart_webgpu_mmproj_free"]=wasmExports["Ab"];_llamadart_webgpu_mmproj_supports_vision=Module["_llamadart_webgpu_mmproj_supports_vision"]=wasmExports["Bb"];_llamadart_webgpu_mmproj_supports_audio=Module["_llamadart_webgpu_mmproj_supports_audio"]=wasmExports["Cb"];_llamadart_webgpu_media_clear_pending=Module["_llamadart_webgpu_media_clear_pending"]=wasmExports["Db"];_llamadart_webgpu_media_add_file=Module["_llamadart_webgpu_media_add_file"]=wasmExports["Eb"];_llamadart_webgpu_media_add_encoded=Module["_llamadart_webgpu_media_add_encoded"]=wasmExports["Fb"];_llamadart_webgpu_media_add_rgb=Module["_llamadart_webgpu_media_add_rgb"]=wasmExports["Gb"];_llamadart_webgpu_media_add_audio_f32=Module["_llamadart_webgpu_media_add_audio_f32"]=wasmExports["Hb"];_llamadart_webgpu_tokenize_to_json=Module["_llamadart_webgpu_tokenize_to_json"]=wasmExports["Ib"];_llamadart_webgpu_last_tokens_json=Module["_llamadart_webgpu_last_tokens_json"]=wasmExports["Jb"];_llamadart_webgpu_state_save_file=Module["_llamadart_webgpu_state_save_file"]=wasmExports["Kb"];_llamadart_webgpu_state_load_file=Module["_llamadart_webgpu_state_load_file"]=wasmExports["Lb"];_llamadart_webgpu_detokenize_from_json=Module["_llamadart_webgpu_detokenize_from_json"]=wasmExports["Mb"];_llamadart_webgpu_last_detokenized=Module["_llamadart_webgpu_last_detokenized"]=wasmExports["Nb"];_llamadart_webgpu_embed_to_json=Module["_llamadart_webgpu_embed_to_json"]=wasmExports["Ob"];_llamadart_webgpu_last_embedding_json=Module["_llamadart_webgpu_last_embedding_json"]=wasmExports["Pb"];_llamadart_webgpu_score_next_token_to_json=Module["_llamadart_webgpu_score_next_token_to_json"]=wasmExports["Qb"];_llamadart_webgpu_last_next_token_scores_json=Module["_llamadart_webgpu_last_next_token_scores_json"]=wasmExports["Rb"];_llamadart_webgpu_generate=Module["_llamadart_webgpu_generate"]=wasmExports["Sb"];_llamadart_webgpu_begin_generation=Module["_llamadart_webgpu_begin_generation"]=wasmExports["Tb"];_llamadart_webgpu_completion_capabilities_json=Module["_llamadart_webgpu_completion_capabilities_json"]=wasmExports["Ub"];_llamadart_webgpu_next_token=Module["_llamadart_webgpu_next_token"]=wasmExports["Vb"];_llamadart_webgpu_last_piece=Module["_llamadart_webgpu_last_piece"]=wasmExports["Wb"];_llamadart_webgpu_end_generation=Module["_llamadart_webgpu_end_generation"]=wasmExports["Xb"];_llamadart_webgpu_request_cancel=Module["_llamadart_webgpu_request_cancel"]=wasmExports["Yb"];_llamadart_webgpu_last_output=Module["_llamadart_webgpu_last_output"]=wasmExports["Zb"];_llamadart_webgpu_last_generation_usage_json=Module["_llamadart_webgpu_last_generation_usage_json"]=wasmExports["_b"];_llamadart_webgpu_get_context_size=Module["_llamadart_webgpu_get_context_size"]=wasmExports["$b"];_llamadart_webgpu_model_meta_json=Module["_llamadart_webgpu_model_meta_json"]=wasmExports["ac"];_llamadart_webgpu_set_next_speculative=Module["_llamadart_webgpu_set_next_speculative"]=wasmExports["bc"];_llamadart_webgpu_draft_model_load=Module["_llamadart_webgpu_draft_model_load"]=wasmExports["cc"];_llamadart_webgpu_draft_model_free=Module["_llamadart_webgpu_draft_model_free"]=wasmExports["dc"];_llamadart_webgpu_draft_model_info_json=Module["_llamadart_webgpu_draft_model_info_json"]=wasmExports["ec"];_llamadart_webgpu_heap_headroom_bytes=Module["_llamadart_webgpu_heap_headroom_bytes"]=wasmExports["fc"];_llamadart_webgpu_tts_api_version=Module["_llamadart_webgpu_tts_api_version"]=wasmExports["gc"];_llamadart_webgpu_tts_info_json=Module["_llamadart_webgpu_tts_info_json"]=wasmExports["hc"];_llamadart_webgpu_tts_start=Module["_llamadart_webgpu_tts_start"]=wasmExports["ic"];_llamadart_webgpu_tts_step=Module["_llamadart_webgpu_tts_step"]=wasmExports["jc"];_llamadart_webgpu_tts_progress_json=Module["_llamadart_webgpu_tts_progress_json"]=wasmExports["kc"];_llamadart_webgpu_tts_write_pcm=Module["_llamadart_webgpu_tts_write_pcm"]=wasmExports["lc"];_llamadart_webgpu_tts_reset=Module["_llamadart_webgpu_tts_reset"]=wasmExports["mc"];_llamadart_webgpu_decision_api_version=Module["_llamadart_webgpu_decision_api_version"]=wasmExports["nc"];_llamadart_webgpu_decision_capabilities_json=Module["_llamadart_webgpu_decision_capabilities_json"]=wasmExports["oc"];_llamadart_webgpu_decision_load=Module["_llamadart_webgpu_decision_load"]=wasmExports["pc"];_llamadart_webgpu_decision_head_info_json=Module["_llamadart_webgpu_decision_head_info_json"]=wasmExports["qc"];_llamadart_webgpu_decision_run=Module["_llamadart_webgpu_decision_run"]=wasmExports["rc"];_llamadart_webgpu_decision_free=Module["_llamadart_webgpu_decision_free"]=wasmExports["sc"];_llamadart_webgpu_lora_api_version=Module["_llamadart_webgpu_lora_api_version"]=wasmExports["tc"];_llamadart_webgpu_lora_load=Module["_llamadart_webgpu_lora_load"]=wasmExports["uc"];_llamadart_webgpu_lora_set=Module["_llamadart_webgpu_lora_set"]=wasmExports["vc"];_llamadart_webgpu_lora_remove=Module["_llamadart_webgpu_lora_remove"]=wasmExports["wc"];_llamadart_webgpu_lora_clear=Module["_llamadart_webgpu_lora_clear"]=wasmExports["xc"];_llamadart_webgpu_shutdown=Module["_llamadart_webgpu_shutdown"]=wasmExports["yc"];_main=Module["_main"]=wasmExports["Ac"];_malloc=wasmExports["Bc"];_free=wasmExports["Cc"];_emwgpuCreateBindGroup=wasmExports["Dc"];_emwgpuCreateBindGroupLayout=wasmExports["Ec"];_emwgpuCreateCommandBuffer=wasmExports["Fc"];_emwgpuCreateCommandEncoder=wasmExports["Gc"];_emwgpuCreateComputePassEncoder=wasmExports["Hc"];_emwgpuCreateComputePipeline=wasmExports["Ic"];_emwgpuCreateExternalTexture=wasmExports["Jc"];_emwgpuCreatePipelineLayout=wasmExports["Kc"];_emwgpuCreateQuerySet=wasmExports["Lc"];_emwgpuCreateRenderBundle=wasmExports["Mc"];_emwgpuCreateRenderBundleEncoder=wasmExports["Nc"];_emwgpuCreateRenderPassEncoder=wasmExports["Oc"];_emwgpuCreateRenderPipeline=wasmExports["Pc"];_emwgpuCreateSampler=wasmExports["Qc"];_emwgpuCreateSurface=wasmExports["Rc"];_emwgpuCreateTexture=wasmExports["Sc"];_emwgpuCreateTextureView=wasmExports["Tc"];_emwgpuCreateAdapter=wasmExports["Uc"];_emwgpuImportBuffer=wasmExports["Vc"];_emwgpuCreateDevice=wasmExports["Wc"];_emwgpuCreateQueue=wasmExports["Xc"];_emwgpuCreateShaderModule=wasmExports["Yc"];_emwgpuOnDeviceLostCompleted=wasmExports["Zc"];_emwgpuOnMapAsyncCompleted=wasmExports["_c"];_emwgpuOnRequestAdapterCompleted=wasmExports["$c"];_emwgpuOnRequestDeviceCompleted=wasmExports["ad"];_emwgpuOnWorkDoneCompleted=wasmExports["bd"];_emwgpuOnUncapturedError=wasmExports["cd"];__emscripten_tls_init=wasmExports["dd"];_pthread_self=wasmExports["ed"];__emscripten_thread_init=wasmExports["fd"];___set_thread_state=wasmExports["gd"];__emscripten_thread_crashed=wasmExports["hd"];_emscripten_proxy_execute_queue=wasmExports["id"];_emscripten_proxy_finish=wasmExports["jd"];__emscripten_run_js_on_main_thread_done=wasmExports["kd"];__emscripten_run_js_on_main_thread=wasmExports["ld"];__emscripten_thread_free_data=wasmExports["md"];__emscripten_thread_exit=wasmExports["nd"];__emscripten_check_mailbox=wasmExports["od"];_memalign=wasmExports["pd"];_setThrew=wasmExports["qd"];__emscripten_tempret_set=wasmExports["rd"];_emscripten_stack_set_limits=wasmExports["sd"];__emscripten_stack_restore=wasmExports["td"];__emscripten_stack_alloc=wasmExports["ud"];_emscripten_stack_get_current=wasmExports["vd"];___cxa_decrement_exception_refcount=wasmExports["wd"];___cxa_increment_exception_refcount=wasmExports["xd"];___cxa_can_catch=wasmExports["yd"];___cxa_get_exception_ptr=wasmExports["zd"];__wasmfs_fetch_get_file_url=wasmExports["Ad"];__wasmfs_fetch_get_chunk_size=wasmExports["Bd"];__wasmfs_read_file=wasmExports["Cd"];__wasmfs_write_file=wasmExports["Dd"];__wasmfs_mkdir=wasmExports["Ed"];__wasmfs_rmdir=wasmExports["Fd"];__wasmfs_open=wasmExports["Gd"];__wasmfs_mknod=wasmExports["Hd"];__wasmfs_unlink=wasmExports["Id"];__wasmfs_chdir=wasmExports["Jd"];__wasmfs_symlink=wasmExports["Kd"];__wasmfs_readlink=wasmExports["Ld"];__wasmfs_write=wasmExports["Md"];__wasmfs_pwrite=wasmExports["Nd"];__wasmfs_chmod=wasmExports["Od"];__wasmfs_fchmod=wasmExports["Pd"];__wasmfs_lchmod=wasmExports["Qd"];__wasmfs_llseek=wasmExports["Rd"];__wasmfs_rename=wasmExports["Sd"];__wasmfs_read=wasmExports["Td"];__wasmfs_pread=wasmExports["Ud"];__wasmfs_truncate=wasmExports["Vd"];__wasmfs_ftruncate=wasmExports["Wd"];__wasmfs_close=wasmExports["Xd"];__wasmfs_mmap=wasmExports["Yd"];__wasmfs_msync=wasmExports["Zd"];__wasmfs_munmap=wasmExports["_d"];__wasmfs_utime=wasmExports["$d"];__wasmfs_stat=wasmExports["ae"];__wasmfs_lstat=wasmExports["be"];__wasmfs_mount=wasmExports["ce"];__wasmfs_identify=wasmExports["de"];__wasmfs_readdir_start=wasmExports["ee"];__wasmfs_readdir_get=wasmExports["fe"];__wasmfs_readdir_finish=wasmExports["ge"];__wasmfs_get_cwd=wasmExports["he"];_wasmfs_create_jsimpl_backend=wasmExports["ie"];_wasmfs_unmount=wasmExports["je"];dynCall_viii=dynCalls["viii"]=wasmExports["ke"];dynCall_ii=dynCalls["ii"]=wasmExports["le"];dynCall_vi=dynCalls["vi"]=wasmExports["me"];dynCall_vii=dynCalls["vii"]=wasmExports["ne"];dynCall_iii=dynCalls["iii"]=wasmExports["oe"];dynCall_iiii=dynCalls["iiii"]=wasmExports["pe"];dynCall_v=dynCalls["v"]=wasmExports["qe"];dynCall_ifi=dynCalls["ifi"]=wasmExports["re"];dynCall_viiii=dynCalls["viiii"]=wasmExports["se"];dynCall_viiiii=dynCalls["viiiii"]=wasmExports["te"];dynCall_iiiii=dynCalls["iiiii"]=wasmExports["ue"];dynCall_viiiiiiiiii=dynCalls["viiiiiiiiii"]=wasmExports["ve"];dynCall_viiiiiiiiiii=dynCalls["viiiiiiiiiii"]=wasmExports["we"];dynCall_dii=dynCalls["dii"]=wasmExports["xe"];dynCall_iiji=dynCalls["iiji"]=wasmExports["ye"];dynCall_iiiiii=dynCalls["iiiiii"]=wasmExports["ze"];dynCall_viiiiii=dynCalls["viiiiii"]=wasmExports["Ae"];dynCall_iiiji=dynCalls["iiiji"]=wasmExports["Be"];dynCall_iij=dynCalls["iij"]=wasmExports["Ce"];dynCall_iiiiiii=dynCalls["iiiiiii"]=wasmExports["De"];dynCall_iiiiiiiii=dynCalls["iiiiiiiii"]=wasmExports["Ee"];dynCall_jii=dynCalls["jii"]=wasmExports["Fe"];dynCall_viij=dynCalls["viij"]=wasmExports["Ge"];dynCall_viiiiiiii=dynCalls["viiiiiiii"]=wasmExports["He"];dynCall_i=dynCalls["i"]=wasmExports["Ie"];dynCall_jiii=dynCalls["jiii"]=wasmExports["Je"];dynCall_iiiij=dynCalls["iiiij"]=wasmExports["Ke"];dynCall_ji=dynCalls["ji"]=wasmExports["Le"];dynCall_viijii=dynCalls["viijii"]=wasmExports["Me"];dynCall_viijijj=dynCalls["viijijj"]=wasmExports["Ne"];dynCall_jijiii=dynCalls["jijiii"]=wasmExports["Oe"];dynCall_viifffi=dynCalls["viifffi"]=wasmExports["Pe"];dynCall_iiiiiiiiii=dynCalls["iiiiiiiiii"]=wasmExports["Qe"];dynCall_viiiiiii=dynCalls["viiiiiii"]=wasmExports["Re"];dynCall_viji=dynCalls["viji"]=wasmExports["Se"];dynCall_jiji=dynCalls["jiji"]=wasmExports["Te"];dynCall_iidiiiii=dynCalls["iidiiiii"]=wasmExports["Ue"];dynCall_iiiiiiii=dynCalls["iiiiiiii"]=wasmExports["Ve"];dynCall_iiiiiiiiiiiii=dynCalls["iiiiiiiiiiiii"]=wasmExports["We"];dynCall_fiii=dynCalls["fiii"]=wasmExports["Xe"];dynCall_diii=dynCalls["diii"]=wasmExports["Ye"];dynCall_iiiiiiiiiiii=dynCalls["iiiiiiiiiiii"]=wasmExports["Ze"];dynCall_viiiiiiiiiiiiiii=dynCalls["viiiiiiiiiiiiiii"]=wasmExports["_e"];dynCall_iiiiij=dynCalls["iiiiij"]=wasmExports["$e"];dynCall_iiiiid=dynCalls["iiiiid"]=wasmExports["af"];dynCall_iiiiijj=dynCalls["iiiiijj"]=wasmExports["bf"];dynCall_iiiiiijj=dynCalls["iiiiiijj"]=wasmExports["cf"];_asyncify_start_unwind=wasmExports["df"];_asyncify_stop_unwind=wasmExports["ef"];_asyncify_start_rewind=wasmExports["ff"];_asyncify_stop_rewind=wasmExports["gf"];__indirect_function_table=wasmTable=wasmExports["zc"]}var wasmImports;function assignWasmImports(){wasmImports={Z:___call_sighandler,r:___cxa_begin_catch,u:___cxa_end_catch,b:___cxa_find_matching_catch_2,m:___cxa_find_matching_catch_3,z:___cxa_find_matching_catch_4,G:___cxa_rethrow,ba:___cxa_rethrow_primary_exception,h:___cxa_throw,ca:___cxa_uncaught_exceptions,ha:___pthread_create_js,f:___resumeException,pa:__abort_js,ka:__emscripten_init_main_thread_js,ea:__emscripten_notify_mailbox_postmessage,O:__emscripten_receive_on_main_thread_js,$:__emscripten_runtime_keepalive_clear,M:__emscripten_thread_cleanup,ja:__emscripten_thread_mailbox_await,na:__emscripten_thread_set_strongref,ia:__tzset_js,ib:__wasmfs_copy_preloaded_file_data,lb:__wasmfs_create_fetch_backend_js,eb:__wasmfs_get_num_preloaded_dirs,fb:__wasmfs_get_num_preloaded_files,cb:__wasmfs_get_preloaded_child_path,ab:__wasmfs_get_preloaded_file_mode,jb:__wasmfs_get_preloaded_file_size,db:__wasmfs_get_preloaded_parent_path,bb:__wasmfs_get_preloaded_path_name,$a:__wasmfs_jsimpl_alloc_file,Y:__wasmfs_jsimpl_async_alloc_file,mb:__wasmfs_jsimpl_async_free_file,X:__wasmfs_jsimpl_async_get_size,W:__wasmfs_jsimpl_async_read,nb:__wasmfs_jsimpl_async_write,U:__wasmfs_jsimpl_free_file,_a:__wasmfs_jsimpl_get_size,Za:__wasmfs_jsimpl_read,Xa:__wasmfs_jsimpl_set_size,Ya:__wasmfs_jsimpl_write,hb:__wasmfs_stdin_get_char,kb:__wasmfs_thread_utils_heartbeat,oa:_clock_time_get,N:_emscripten_check_blocking_allowed,s:_emscripten_date_now,A:_emscripten_err,Q:_emscripten_exit_with_live_runtime,V:_emscripten_get_heap_max,P:_emscripten_get_now,va:_emscripten_has_asyncify,fa:_emscripten_num_logical_cores,gb:_emscripten_out,da:_emscripten_resize_heap,ga:_emscripten_unwind_to_js_event_loop,ua:_emwgpuAdapterRequestDevice,Ba:_emwgpuBufferDestroy,Aa:_emwgpuBufferGetConstMappedRange,za:_emwgpuBufferMapAsync,ya:_emwgpuBufferUnmap,q:_emwgpuDelete,ta:_emwgpuDeviceCreateBuffer,sa:_emwgpuDeviceCreateShaderModule,xa:_emwgpuDeviceDestroy,ra:_emwgpuInstanceRequestAdapter,qa:_emwgpuQueueOnSubmittedWorkDone,wa:_emwgpuWaitAny,la:_environ_get,ma:_environ_sizes_get,Wa:_exit,J:invoke_diii,K:invoke_fiii,t:invoke_i,d:invoke_ii,e:invoke_iii,i:invoke_iiii,n:invoke_iiiii,y:invoke_iiiiii,p:invoke_iiiiiii,L:invoke_iiiiiiii,R:invoke_iiiiiiiii,S:invoke_iiiiiiiiii,C:invoke_iiiiiiiiiiii,F:invoke_iiiij,H:invoke_ji,Ca:invoke_jii,T:invoke_jiii,Ka:invoke_jijiii,l:invoke_v,c:invoke_vi,j:invoke_vii,k:invoke_viii,g:invoke_viiii,D:invoke_viiiii,o:invoke_viiiiii,v:invoke_viiiiiii,x:invoke_viiiiiiiiii,B:invoke_viiiiiiiiiiiiiii,E:invoke_viijii,Na:invoke_viijijj,w:_llvm_eh_typeid_for,a:wasmMemory,_:_proc_exit,aa:_random_get,Ta:_wgpuAdapterGetInfo,Ua:_wgpuAdapterGetLimits,Va:_wgpuAdapterHasFeature,Qa:_wgpuBufferGetSize,Ha:_wgpuCommandEncoderBeginComputePass,Oa:_wgpuCommandEncoderCopyBufferToBuffer,Ma:_wgpuCommandEncoderFinish,Ea:_wgpuComputePassEncoderDispatchWorkgroups,Da:_wgpuComputePassEncoderEnd,Fa:_wgpuComputePassEncoderSetBindGroup,Ga:_wgpuComputePassEncoderSetPipeline,Ja:_wgpuComputePipelineGetBindGroupLayout,Ia:_wgpuDeviceCreateBindGroup,Pa:_wgpuDeviceCreateCommandEncoder,Ra:_wgpuDeviceCreateComputePipeline,Sa:_wgpuInstanceHasWGSLLanguageFeature,La:_wgpuQueueSubmit,I:_wgpuQueueWriteBuffer}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_iiiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_viijijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jijiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_viijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_pp____=f=>(a0,a1,a2,a3,a4)=>f(a0,a1,a2,a3,a4)>>>0;wasmExports["Bc"]=makeWrapper_pp(wasmExports["Bc"]);wasmExports["dd"]=makeWrapper_p(wasmExports["dd"]);wasmExports["ed"]=makeWrapper_p(wasmExports["ed"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["pd"]=makeWrapper_ppp(wasmExports["pd"]);wasmExports["ud"]=makeWrapper_pp(wasmExports["ud"]);wasmExports["vd"]=makeWrapper_p(wasmExports["vd"]);wasmExports["zd"]=makeWrapper_pp(wasmExports["zd"]);wasmExports["Ad"]=makeWrapper_pp(wasmExports["Ad"]);wasmExports["Yd"]=makeWrapper_pp____(wasmExports["Yd"]);wasmExports["ee"]=makeWrapper_pp(wasmExports["ee"]);wasmExports["fe"]=makeWrapper_pp(wasmExports["fe"]);wasmExports["he"]=makeWrapper_p(wasmExports["he"]);wasmExports["ie"]=makeWrapper_p(wasmExports["ie"]);wasmExports["wasmfs_create_memory_backend"]=makeWrapper_p(wasmExports["wasmfs_create_memory_backend"]);return wasmExports}function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}async function run(){if(ENVIRONMENT_IS_PTHREAD){initRuntime();return}preRun();if(runDependencies){await resolveRunDependencies()}var setStatus=Module["setStatus"];if(setStatus){setStatus("Running...");await new Promise(resolve=>setTimeout(resolve,1));setTimeout(setStatus,1,"")}if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}var wasmExports;if(!ENVIRONMENT_IS_PTHREAD){wasmExports=await createWasm();await run()}{const catchingCcall=ccall;const abortOnUncaughtCppException=error=>{if(typeof CppException==="function"&&error instanceof CppException){abort()}throw error};Module["ccall"]=(...args)=>{let result;try{result=catchingCcall(...args)}catch(error){abortOnUncaughtCppException(error)}return result instanceof Promise?result.catch(abortOnUncaughtCppException):result}} | |
| ;return Module}export default createLlamaWebGpuCoreModule;var isPthread=globalThis.name=="em-pthread";isPthread&&createLlamaWebGpuCoreModule(); | |